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

--- Log opened Wed Nov 11 00:12:35 2009
00:12 -!- uriel [n=uriel@li43-28.members.linode.com] has joined #go-nuts
00:12 -!- Irssi: #go-nuts: Total of 50 nicks [0 ops, 0 halfops, 3 voices, 47
normal]
00:12 -!- Irssi: Join to #go-nuts was synced in 0 secs
00:12 -!- nec [i=4ebc86f5@gateway/web/freenode/x-egsczqrytthyltpr] has joined
#go-nuts
00:12 -!- arke [n=f2@bespin.org] has joined #go-nuts
00:12 < monteslu> vim plugin?  I'm looking for the eclipse plugin and
debugger :)
00:12 < daganev> when you compare it to javascript, you make people think
its a RIA language
00:12 < kingfishr> iant, bingo thanks
00:12 <+iant> Suhail: sure, we're aiming for both, we'll see
00:12 <+agl> monteslu: misc/vim/go.vim
00:12 < Suhail> iant: i guess I am assuming too that development in Go is
not as fast =\
00:13 <+iant> monteslu: no eclipse yet
00:13 < jcgregorio> agl: thanks, let me know if there's patches or tests you
want me to run, since the error seems to not appear consistently across all 9.04s
00:13 < monteslu> daganev, when you compare syntax?
00:13 -!- mpl [n=mpl@ks34955.kimsufi.com] has joined #go-nuts
00:13 < Suhail> iant: props on being the only language that potentially
looks like it solves unicode issues
00:14 -!- crink [n=crink@unaffiliated/crink] has joined #go-nuts
00:14 -!- m0nkfish [n=am@78-86-153-252.zone2.bethere.co.uk] has joined #go-nuts
00:14 < crink> hi
00:14 <+iant> Suhail: thx, two of the creators of Go invented UTF-8
00:14 < monteslu> I like that its syntax is somewhat javascripty, feels
natural when serializing to json
00:14 -!- Jerub [n=gideon@unaffiliated/jerub] has joined #go-nuts
00:14 < nec> is there a workaround for issue #2?
(http://code.google.com/p/go/issues/detail?id=2)
00:14 -!- Kniht [n=kniht@c-68-58-17-177.hsd1.in.comcast.net] has joined #go-nuts
00:14 <+iant> nec: comment out the test, I guess
00:14 -!- sjungling [n=sjunglin@sjc.CSUChico.EDU] has joined #go-nuts
00:14 -!- dsal [n=Adium@adsl-69-230-8-158.dsl.pltn13.pacbell.net] has joined
#go-nuts
00:14 <+iant> at the point of failure, the compiler and libraries have been
built
00:15 -!- sstangl [n=sean@BERLIN.RES.CMU.EDU] has joined #go-nuts
00:15 -!- manveru [n=manveru@b08s28ur.corenetworks.net] has joined #go-nuts
00:15 <+agl> jcgregorio: thanks.  We're a little swamped at the moment and
probably won't fix it in the next couple of hours
00:15 < Suhail> tsk tsk no git repo!?
00:15 -!- devewm [n=eric@96.36.85.2] has joined #go-nuts
00:15 -!- scgtrp [n=scgtrp@76.22.244.255] has joined #go-nuts
00:16 -!- scgtrp [n=scgtrp@76.22.244.255] has left #go-nuts ["Unmeow."]
00:16 <+iant> Suhail: code.google.com was very convenient and it uses hg,
not git; that wasn't our call, really
00:16 <+agl> Suhail: We use hg:
http://code.google.com/p/support/wiki/DVCSAnalysis
00:16 < jcgregorio> agl: ha, I didn't mean right now, but I'm following the
bug
00:16 < manveru> anybody made a pkgbuild for archlinux yet?
00:16 < jfernandez> git version kthnxplz
00:16 -!- paulsmith [n=paul@c-69-251-254-163.hsd1.md.comcast.net] has quit
["leaving"]
00:16 < sstangl> Suhail: you can use git as a frontend to hg.
00:17 < jfernandez> o rly?
00:17 < dsal> Are there known compilation issues?
00:17 < ag90> About the test commenting part.  Which file do I have to edit.
00:17 -!- jbartus [n=jbartus@smokey.stfudonny.com] has left #go-nuts []
00:18 < Suhail> iant: Go starting to make rounds at goog--I really want to
hear something that's impressive that is made in Go I guess
00:18 < vhold> Wow, I wasn't expecting so many packages in the package
documentation section..  nice..
00:18 -!- sjungling [n=sjunglin@sjc.CSUChico.EDU] has left #go-nuts []
00:18 <+iant> ag90: src/pkg/net/net_test.go
00:19 < ag90> Got it.  Thanks
00:19 <+iant> Suhail: it's still experimental, nothing special we can share
00:20 <+agl> jcgregorio: can you paste your /etc/resolv.conf?  Is there
anything special about your DNS setup?
00:20 < Suhail> yeah i hear ya, things take time =)
00:20 < ag90> iant: I just grepped.  It's actually
pkg/net/dialgoogle_test.go.
00:20 <+iant> ag90: whoops, sorry about that
00:21 <+agl> iant: I'm going to disable the test and see if I can push a new
release tag.
00:21 -!- thiaguetz_ [n=thiaguet@189.96.212.96] has joined #go-nuts
00:21 <+iant> agl: good thinking
00:21 -!- sr [n=sr@vangberg.name] has joined #go-nuts
00:22 < jcgregorio> agl: http://pastebin.com/d1eab0eb0
00:22 < Kniht> should I have checked out go into $GOROOT?  (or should I set
GOROOT to where I checked it out instead of ~/go?)
00:22 < MarkBao> would it be a good idea to refer to things Go-related as
golang?
00:22 <+iant> Kniht: set GOROOT to wherever you checked it out
00:23 -!- crink [n=crink@unaffiliated/crink] has left #go-nuts []
00:23 < thiaguetz_> anyone having max os 10.5 issues on installation?
00:23 < jcgregorio> agl: no, nothing special about my DNS setup
00:23 < Kniht> thanks, I think I saw GOROOT=~/go and thought of some sort of
user package repository
00:23 < dsal> thiaguetz: I did it wrong initially.  It's going for me now.
00:23 < kuroneko> is the 6[glca] architecture basically ken's plan9/inferno
compiler?
00:23 -!- Gnuget [n=gnuget@unaffiliated/gnuget] has joined #go-nuts
00:23 <+iant> kuroneko: that is what it is based on, yes
00:24 -!- opensourcenut [n=osn@unaffiliated/opensourcenut/x-000001] has joined
#go-nuts
00:24 < vhold> 6g's default behavior on things that seem like warnings is
interesting..  declaring and not using a variable is fatal
00:24 < vhold> Google's hard line attitude towards wasted variables!
00:24 < sstangl> hm, I wonder why rpike chose names that conflict with the
plan9 C compiler.
00:24 < kuroneko> iant: does it still ignore ABIs?  :P
00:24 <+iant> kuroneko: yes
00:24 <+iant> sstangl: they're the same names
00:25 < kuroneko> *sigh*
00:25 < sstangl> iant: I noticed.  is anyone working on a plan9 port?
00:25 <+iant> kuroneko: gccgo follows ABIs
00:25 <+iant> sstangl: good question, I don't know
00:25 -!- resistor_school [n=resistor@cucaracha.cs.washington.edu] has quit []
00:26 -!- Irssi: #go-nuts: Total of 61 nicks [0 ops, 0 halfops, 3 voices, 58
normal]
00:27 < thiaguetz_> dsal: what you did to work?
00:27 <+agl> jcgregorio: ok thanks.
00:27 < dsal> thiaguetz: Read the instructions better.  :/ You have to set
all the environment variables properly.
00:28 <+iant> biab
00:28 < thiaguetz_> dsal: i already did that.  i have some quietgcc issues
now
00:28 -!- iant [n=iant@nat/google/x-fgakoyzffrdceupe] has quit ["Leaving."]
00:28 -!- cgoncalves [n=carlos@cr-217-129-234-233.netvisao.pt] has joined #go-nuts
00:28 < dsal> thiaguetz: Ah, I didn't have that.  What OS/compiler/issues?
00:28 -!- Jarin [n=Jarin@ip68-101-195-234.sd.sd.cox.net] has joined #go-nuts
00:29 <+agl> jcgregorio: ag90: other folks with the net unittests issue.
The workaround is to add net to the NOTEST list in src/pkg/Makefile
00:29 < ag90> Oh ok.  Thanks
00:29 < thiaguetz_> dsal: darwin/386 - make.bash: line 20:
/Users/thiago/bin/quietgcc: No such file or directory
00:29 <+agl> thiaguetz_: you need $GOBIN in your path.
00:29 < vhold> Hmm..  what's the fastest way to read lines (newline
delimited, for example) into strings in Go ?
00:29 < jcgregorio> agl: thanks!
00:29 -!- bear [n=bear@c-71-230-97-250.hsd1.pa.comcast.net] has joined #go-nuts
00:29 <+agl> vhold: you can cast a []byte to a string
00:30 -!- thiaguetz [n=thiaguet@c9533ae7.virtua.com.br] has quit [Read error: 110
(Connection timed out)]
00:30 <+agl> vhold: with bufio you can wrap the os.File such that it
supports ReadString also
00:31 < vhold> That's what I'm testing now.
00:31 -!- jakedahn [n=jakedahn@unaffiliated/jakedahn] has joined #go-nuts
00:31 -!- jonathan___ [n=jonathan@ip68-102-8-238.ks.ok.cox.net] has quit []
00:31 <+rsc9> sstangl: no one is working on a plan 9 port, but i'd love to
see one
00:31 -!- m0nkfish [n=am@78-86-153-252.zone2.bethere.co.uk] has quit [Read error:
60 (Operation timed out)]
00:31 < thiaguetz_> agl: what value i can put on GOBIN ?
00:31 -!- thiaguetz_ is now known as thiaguetz
00:32 -!- shinh [n=i@w133104.ppp.asahi-net.or.jp] has joined #go-nuts
00:32 < vhold> Getting about 1.21MB/sec with a simple ReadString('\n') and
fmt.Printf(s1) version of "cat"..which is surprisingly slow
00:32 -!- jlbelmonte [n=jlbelmon@95.61.0.135] has joined #go-nuts
00:32 -!- joeyadams [n=joey@208.96.182.115] has joined #go-nuts
00:32 < opensourcenut> sstangl: You use plan9?  thats awesome!
00:32 < vhold> file is completely in cache..  wc -l is reading the same
thing in 250MB/sec, possibly faster
00:33 < thiaguetz> agl: what value i can put on GOBIN
00:33 -!- stelt [n=chatzill@ip565b0469.direct-adsl.nl] has joined #go-nuts
00:33 -!- nickgibbon [n=nring@210.8.201.244] has joined #go-nuts
00:33 -!- robpike [n=r@nat/google/x-mxznglsppdvejwwi] has joined #go-nuts
00:33 <+agl> thiaguetz: any writable directory which is in your path
00:33 < joeyadams> I tried compiling go by running the ./all.bash, but I get
a lot of these, ultimately leading to a failed build: "Makefile:5:
/home/joey/src/go/src/Make.: No such file or directory"
00:34 -!- timepilot [n=timepilo@c-24-91-16-174.hsd1.ma.comcast.net] has joined
#go-nuts
00:34 < dsal> joeyadams: You need to set GOARCH:
http://golang.org/doc/install.html#tmp_17
00:34 <+agl> joeyadams: you have a bad value for GOARCH
00:35 <+agl> vhold: party that's a result of all the UTF-8 processing that
you don't see and partly that 6g generates good code, but not great code.
00:35 < thiaguetz> agl: ohhhhhhhhh i got it!  i was reading how all.bash
works
00:35 < joeyadams> ah, thanks
00:35 <+agl> vhold: also, fmt isn't great.
00:35 < thiaguetz> agl: now i got it!  thanks man!
00:35 <+agl> thiaguetz: no problem
00:36 -!- nddrylliog_afk is now known as nddrylliog
00:36 * joeyadams wonders if Go will be in GSoC2010
00:36 < kuroneko> looks like I'm rewriting k[acl] afterall.
00:37 -!- lambo4jos [n=chatzill@c-76-126-250-10.hsd1.ca.comcast.net] has joined
#go-nuts
00:37 -!- gri [n=gri@nat/google/x-renyzpagqpzjwksv] has joined #go-nuts
00:37 <+rsc9> vhold: essentially none of the library code has been worked on
for speed yet.
00:37 -!- iant [n=iant@67.218.102.118] has joined #go-nuts
00:38 -!- mode/#go-nuts [+v iant] by ChanServ
00:38 <+agl> joeyadams: I don't know if we have any plans in that direction,
but it's not a bad idea.
00:38 -!- ssb [n=ssb@213.167.39.150] has joined #go-nuts
00:38 -!- mwarning [n=mwarning@78.94.226.217] has joined #go-nuts
00:38 < mwarning> hello o/
00:38 < joeyadams> Is arm a big-endian platform?
00:39 < vhold> agl: is the utf8 aspect only being introduced by bufio?  Or
is that happening down at the byte level before stringification ?
00:39 <+agl> joeyadams: typically yes
00:39 < sstangl> opensourcenut: it's true :)
00:39 < kaib> joeyadams: bi-directional but 5g is little endian.
00:39 < sstangl> opensourcenut: I'm writing a driver for it now, actually.
00:39 -!- thiaguetz [n=thiaguet@189.96.212.96] has quit ["[]'s"]
00:39 < joeyadams> So go hasn't been tested on big endian, then?
00:39 <+iant> vhold: the source code is UTF-8
00:39 < opensourcenut> sstangl: Plan9 is quite a difficult operating system
to learn.
00:39 < sstangl> rsc9: I will look into porting Go to plan9 after I have
some more free time to become familiar with the language.
00:40 < kuroneko> opensourcenut: dunno about that - it's different - if you
go in thinkings it's unix, you just make it harder for yourself.
00:40 < sstangl> opensourcenut: there aren't enough resources available, and
most people in my experience are afraid to ask questions.
00:40 < kaib> joeyadams: negative, all the work has been on little endian
configurations.
00:40 -!- comatose_kid [n=anonymou@c-24-6-139-254.hsd1.ca.comcast.net] has joined
#go-nuts
00:40 < sstangl> opensourcenut: but if you like asking questions, #plan9 is
friendly :)
00:40 < opensourcenut> sstangl: is it?
00:40 <+agl> vhold: certainly it's not happening at the byte level, I
suspect it's happening somewhere in there, but I would have check the sources to
be sure.
00:40 < sstangl> opensourcenut: yes, very.
00:40 < opensourcenut> sstangl: would you use plan9 on a server ?
00:40 -!- oxtail [n=oxtail@94-194-56-42.zone8.bethere.co.uk] has joined #go-nuts
00:40 < opensourcenut> *production, I mean
00:41 < kaib> joeyadams: at some point part of 5l was in big-endian but we
switched to little endian.
00:41 < sstangl> opensourcenut: I would not trust it to be secure enough to
run facing the world.
00:41 < sstangl> for internal things, it can be nice.
00:41 < opensourcenut> sstangl: but it has such interesting security
features
00:41 < opensourcenut> sstangl: the namespaces and such
00:41 < sstangl> opensourcenut: it's basically a special version of
Kerberos.
00:42 < joeyadams> I got this compiling go: --- FAIL: net.TestDialError
00:42 < joeyadams> Does that mean a testcase failed?
00:42 <+iant> joeyadams: yes
00:42 <+iant> that test has failed for others as well, we're looking into it
00:42 < joeyadams> Is there a way to skip it?
00:42 < joeyadams> (and do the other tests)?
00:42 -!- Isaiah [n=Isaiah@kohana/developer/isaiah] has joined #go-nuts
00:42 <+agl> joeyadams: edit src/pkg/Makefile and add net to the NOTEST list
00:42 -!- travisbrady [n=tbrady@67-207-96-194.static.wiline.com] has joined
#go-nuts
00:43 <+agl> joeyadams: also, you can star
http://code.google.com/p/go/issues/detail?id=2
00:43 < opensourcenut> agl: I'm curious, have you ever heard of the D
programing language?
00:43 <+agl> opensourcenut: yes
00:43 < opensourcenut> agl: What do you think of it?
00:43 < uriel> sstangl: #plan9 is friendly?  since when?  ;P
00:44 < Gnuget> hi i get this error
00:44 < Gnuget> make: quietgcc: Command not found
00:44 < Gnuget> =X
00:44 < Gnuget> when i are try to compile go :(
00:44 <+agl> Gnuget: you need $GOBIN in your path.
00:44 -!- mncaudill [n=nolan@67-207-138-6.slicehost.net] has joined #go-nuts
00:44 < dsal> Gnuget: http://code.google.com/p/go/issues/detail?id=3
00:44 < sstangl> uriel: shhh
00:44 <+iant> opensourcenut: D has different goals from Go
00:44 -!- cablehead [n=Adium@nat/slide/x-skrmzrsixmrjyxxq] has joined #go-nuts
00:45 < comatose_kid> Anyone know of a 'go-mode' for emacs?
00:45 -!- cthielen [n=cthielen@history-19.ucdavis.edu] has left #go-nuts []
00:45 < dsal> comatose_kid: It comes in the source tree: misc/emacs
00:45 < comatose_kid> sweet.  thanks
00:45 -!- ktistai [n=ktistai@unaffiliated/ktistai] has joined #go-nuts
00:45 -!- cobbal [n=cobbal@c-67-166-104-2.hsd1.ut.comcast.net] has joined #go-nuts
00:45 < opensourcenut> iant: Yeah like D doesn't have as good threading,
stuff liek that you mean?
00:46 <+iant> opensourcenut: D looks to me like a cleaned up C++; Go is an
attempt to build a new language from scratch
00:46 <+iant> D has lots of features that are not in Go
00:46 <+iant> I have not done any real D programming, though
00:46 -!- brianmacdonald [n=brianmac@32.161.77.70] has quit [Read error: 104
(Connection reset by peer)]
00:47 -!- b14ck [n=comradeb@72.37.252.50] has quit ["Leaving"]
00:47 < Gnuget> awesome thx ag90 :)
00:47 < Gnuget> agl, *
00:47 < Gnuget> dsal, *
00:47 < MarkBao> lol.
00:47 < opensourcenut> iant: Go looks really interesting and cool.
00:48 < opensourcenut> iant: But the syntax is different
00:48 <+iant> opensourcenut: yep
00:48 -!- kill-9 [n=kill-9@cpe-65-24-145-70.columbus.res.rr.com] has joined
#go-nuts
00:48 < Gnuget> x)
00:48 < jfernandez> compiling~!
00:49 < vhold> agl: I was able to get 250+ MB/sec switching to basic
Read/Write ..  so it's definitely bufio
00:49 -!- telemachus [n=telemach@user-0cev9bh.cable.mindspring.com] has joined
#go-nuts
00:49 -!- danderson [n=dave@atlas.natulte.net] has joined #go-nuts
00:50 < telemachus> has anyone had problems building on osx?
00:50 -!- mode/#go-nuts [+v gri] by ChanServ
00:50 < dsal> telemachus: I did.  Works fine after following the directions
better.
00:50 < ktistai> opensourcenut, The syntax is strange.
00:50 -!- mode/#go-nuts [+v robpike] by ChanServ
00:50 -!- JustinHoMi [n=JustinHo@cpe-024-211-196-059.nc.res.rr.com] has joined
#go-nuts
00:50 < dsymonds> osx works fine for me
00:50 < telemachus> hmm, dsal
00:50 -!- dchest [n=dchest@81.5.81.249] has joined #go-nuts
00:50 < bear> just tried on osx - and it failed - what "better" directions
should I follow other than what is in the "Installing Go" piece?
00:50 < MarkBao> what do you need to know, bear
00:50 < jfernandez> is there a textmate bundle for go?  :)
00:50 < ktistai> Well, I haven't seen many grand programs in Go, so oh well
00:50 < dsymonds> what's missing from those directions?
00:51 < telemachus> maybe that's it, but I'm getting test failures during
the dns library I think
00:51 < dsal> bear: Don't know without knowing how it failed.
00:51 < MarkBao> jfernandez: one would have to write one ;)
00:51 < telemachus> redoing ./all.bash now...
00:51 <+agl> bear: no better directions, but we'll help if we can.
00:51 <+agl> jfernandez: no TextMate support yet I believe, but it would be
welcome.
00:51 < telemachus> FAIL: net.TestDialError
00:52 <+iant> telemachus: http://code.google.com/p/go/issues/detail?id=2
00:52 < kuroneko> I might do a textmate bundle when I get home and have
hands on my mac
00:52 -!- ikke [n=1kk3@unaffiliated/ikkebr] has joined #go-nuts
00:52 < bear> that's just it - no errors that I can see - other than it
starting to say "No rule to make target....." stop
00:53 < telemachus> iant: thanks
00:53 -!- jlbelmonte [n=jlbelmon@95.61.0.135] has quit ["Leaving"]
00:53 -!- franksalim [n=frank@adsl-76-221-202-115.dsl.pltn13.sbcglobal.net] has
joined #go-nuts
00:53 <+iant> bear: review the directions, make sure the environment
variables, make sure GOBIN is on PATH
00:53 < opensourcenut> Programming a kernel in Go, how feasible is that?
00:53 -!- CSMan [n=csman@unaffiliated/csman] has left #go-nuts []
00:53 <+agl> bear: use pastebin.com and paste the output of `set | grep
'^GO'`
00:53 < bear> the instructions don't mention setting GOBIN
00:53 < dsal> http://golang.org/doc/install.html#tmp_17
00:54 <+agl> opensourcenut: kernels typically aren't garbage collected,
although it's not impossible
00:54 <+agl> opensourcenut: and you can drop to assembly when needed, so not
impossible.
00:54 < ktistai> agl: This language, `go'; has a vast set of libraries?
what about interfacing with low level constructs/kernel land?
00:54 < opensourcenut> agl: Go has the ability to use assembly?
00:54 < opensourcenut> cool
00:54 < bear> but that line implies that if you have $HOME/bin (which I do)
that it's not required
00:54 <+iant> ktistai: there is a syscalls interface
00:54 <+agl> ktistai: http://golang.org/pkg/syscall/
00:54 -!- jfernandez [n=jfernand@173-8-125-206-Minnesota.hfc.comcastbusiness.net]
has left #go-nuts []
00:54 < dsal> bear: Did you set GOARCH?
00:54 <+agl> opensourcenut: you can compile C and ASM into Go packages with
6c and 6a
00:55 <+agl> opensourcenut: see src/pkg/big for an example of a package with
assembly functions
00:55 <+iant> bear: in that case make sure that $HOME/bin is on PATH, but
first check that the other environment variables are right
00:55 < dchest> agl: any example with compiled-in C?
00:56 -!- ag90 [n=ag90@bas3-unionville55-1279752520.dsl.bell.ca] has quit []
00:56 < opensourcenut> agl: Go would definitely be interesting to write a
kernel in.
00:56 -!- snnw [n=snnw@dhcp-095-096-105-101.chello.nl] has joined #go-nuts
00:56 < bear> oh sweet mother of all that is FSM - how hard is it to
autodetect ARCH - it's been done for what - the last 10 years?
00:56 < ktistai> Could anyone name 1 reason why one would learn Go
00:56 < ktistai> Just one :)
00:56 <+agl> dchest: the runtime package has C code
00:56 < MarkBao> bear: umm, that's the target architecture
00:56 < MarkBao> ARCH is
00:56 < telemachus> test/bench/meteor-contest...  that should be worth
looking at
00:56 < telemachus> iant: You're a prince, thanks
00:56 < dsymonds> bear: you are always cross-compiling with go
00:56 < dchest> agl: thanks!
00:56 < danderson> ktistai: because it's there, and may contain interesting
insights?
00:56 < MarkBao> bear: not necessarily the arch that your computer is on
00:57 < dsymonds> bear: that's why GOARCH needs to be set
00:57 < manveru> ktistai: for fun :)
00:57 < telemachus> off to write hello go...
00:57 -!- oxtail [n=oxtail@94-194-56-42.zone8.bethere.co.uk] has quit [Read error:
60 (Operation timed out)]
00:57 < danderson> same reason as to learn anything in my book: because it's
there, and I don't know it yet.
00:57 < Gnuget> mmm
00:57 < bear> dsymonds, so the make has a bootstrap compiler build step?
00:57 -!- snnw [n=snnw@dhcp-095-096-105-101.chello.nl] has left #go-nuts []
00:57 < Gnuget> i set the GOBIN now i get this messages
00:57 < Gnuget> http://paste.ideaslabs.com/show/v1C7387PON
00:57 < ktistai> danderson, such as?
00:57 < danderson> ktistai: the homepage has the elevator pitch
00:57 -!- erock-json [n=erick@static-71-249-175-83.nycmny.east.verizon.net] has
joined #go-nuts
00:57 < kaib> bear: my GOARCH=arm and i'm usually on a 64 bit intel machine.
00:57 < opensourcenut> Is there a overlay for Go?
00:58 <+iant> overlay?
00:58 < MarkBao> kaib: hmm, you develop for ARM?  how is it?
00:58 < opensourcenut> or a ebuild for gentoo
00:58 < ktistai> what provisions does it provide that other languages do not
00:58 < ktistai> why would I want to move from C, or Python, to Go?
00:58 <+iant> opensourcenut: no ebuild yet
00:58 < opensourcenut> dang
00:58 < bear> GOARCH=darwin then for a native osx build?
00:58 <+iant> ktistai: if you are interested, see the FAQ
00:58 < dsymonds> bear: yep
00:58 <+iant> ktistai: if it doesn't answer, I'm not sure we can
00:58 < dsymonds> bear: oh, sorry, no
00:58 < kaib> MarkBao: in what sense?
00:58 < dsymonds> bear: GOARCH=amd64 GOOS=darwin
00:58 <+iant> bear: GOOS=darwin
00:58 < bear> yea, just caught that myself
00:58 < ktistai> opensourcenut, make one!
00:58 < MarkBao> kaib: speed, awesomeness level
00:59 < bear> ARCH vs OS
00:59 < bear> man it's been too long since i've done compiler bootstrap
stuff
00:59 * bear flexes old muscles
00:59 -!- mcbeetemps [n=mcbee@69.255.216.30] has joined #go-nuts
00:59 -!- mcbeetemps [n=mcbee@69.255.216.30] has left #go-nuts []
00:59 < kaib> MarkBao: 5g, the arm compiler, is buggy and incomplete.  then
again i'm biased because it's mostly my work ..  :-)
00:59 -!- timepilot [n=timepilo@c-24-91-16-174.hsd1.ma.comcast.net] has quit
["WeeChat 0.3.0"]
00:59 < MarkBao> kaib: oh.  haha :)
00:59 <+agl> Gnuget: it would seem that the important lines are missing from
the top of that paste.
01:00 -!- laprice [n=larry@fremont.zoneverte.org] has joined #go-nuts
01:00 -!- dazz [n=dazz@84.7.102.253] has joined #go-nuts
01:00 < kaib> MarkBao: 5g passes most of the basic compiler test suite.
i've been running it on some android hardware and the main thing it's lacking is
soft float support.
01:00 * stelt is thinking how this maps on Occam's PAR, PRIPAR, SEQ, ALT and
PRIALT
01:00 < Gnuget> agl, oks, i'm going to paste the entire message
01:00 < MarkBao> kaib: argh, floats.
01:00 -!- erock-json [n=erick@static-71-249-175-83.nycmny.east.verizon.net] has
quit [Client Quit]
01:00 < MarkBao> good luck.
01:01 < telemachus> silly question, but is there a go.vim file around?
01:01 < kaib> MarkBao: it's mostly a solved problem in other languages so we
are probably ok.
01:01 < MarkBao> yeah.
01:01 <+iant> telemachus: see misc/vim
01:01 < kaib> MarkBao: if you do just integer math you'll work out of the
box.
01:01 < ktistai> iant: Do you have any code you've written in Go, that you
can show off :)
01:01 < dsal> telemachus: dhcp-103:~/prog/eprojects/go-lang 528% find .
-name go.vim —> ./misc/vim/go.vim
01:01 < dazz> hi there, got a strange problem about quietgcc not found in
installing go.  Got hints ?
01:01 < MarkBao> kaib: good to know!
01:01 < telemachus> iant: that's two drinks I owe you
01:01 < vhold> Go comes with quite a bit of sample code in the form of
tests, benchmarks and libraries
01:01 <+iant> ktistai: there is plenty of Go in the library, more than
100,000 lines I think
01:02 < MarkBao> I'm currently considering building a small mobile device on
Go
01:02 < kaib> MarkBao: 5g and the arm runtime support go-routines, closures
and split stacks, which took a while to get right.
01:02 -!- Havex [n=Havex@d137-186-173-13.abhsia.telus.net] has joined #go-nuts
01:02 <+iant> dazz: put your GOBIN directory on PATH
01:02 <+agl> dazz: you need $GOBIN in your path.
01:02 < MarkBao> so of course, either general x86 procs or the Cortex
01:02 -!- krewenki [n=Adium@blk-222-176-108.eastlink.ca] has joined #go-nuts
01:02 < bear> hmm, expected that net.test generates a failure?
01:02 < kaib> MarkBao: yep, i have some embedded side projects as well (at
home)
01:02 -!- ajbouh [n=adamb@c-71-233-151-63.hsd1.ma.comcast.net] has joined #go-nuts
01:02 <+iant> bear: http://code.google.com/p/go/issues/detail?id=2
01:02 < kaib> MarkBao: i'm actually working on getting something running on
a AT91SAM7 board.
01:03 < dsymonds> iant: 159820 lines of Go in total
01:03 < bear> ah - bug list already - k, let me review it
01:03 -!- nuggien [n=dnguyen@nat.electric-cloud.com] has joined #go-nuts
01:03 < dsymonds> iant: (find $GOROOT -name '*.go' | xargs wc -l)
01:03 < Gnuget> agl, http://paste.ideaslabs.com/show/4DymyoPgsJ
01:03 <+iant> dsymonds: thx
01:03 -!- krewenki [n=Adium@blk-222-176-108.eastlink.ca] has left #go-nuts []
01:04 < MarkBao> kaib: keep in touch and let me how that goes.  I really
want to build it on x86 (testing is easy, deployment is more 'stable' in the sense
that you're 90% sure it'll work vs 60%) but ARM is a fast and cheap platform that
a lot of embedded seems to be using nowadays
01:04 -!- erock-json [n=erick@static-71-249-175-83.nycmny.east.verizon.net] has
joined #go-nuts
01:04 < dazz> iant: thanks ! Thought it was /usr/bin by default...
Misunderstood the point i think !!!  gr8, i'll check now
01:04 < MarkBao> and considering that Moto Droid, iPhone 3GS, and Palm Pre
are all on Cortex A8...
01:04 -!- nroot [n=chatzill@c-76-100-175-187.hsd1.md.comcast.net] has joined
#go-nuts
01:04 -!- comatose_kid [n=anonymou@c-24-6-139-254.hsd1.ca.comcast.net] has quit []
01:05 <+agl> Gnuget: looks like either GOARCH or GOOS is wrong.
01:05 < kuroneko> are there any notes on the implementation magic?
01:05 < Gnuget> the 8g binary is already there but when i do something like:
8g hello.go
01:05 < Gnuget> hello.go:3: fatal error: can't find import: fmt
01:05 <+agl> Gnuget: I think GOOS is set to 386.  It should be "linux" or
"darwin" (the latter is for OS X)
01:05 <+agl> Gnuget: wrong GOROOT probably
01:05 < Gnuget> aahhhhh
01:05 < Gnuget> oks
01:06 < telemachus> are there any particular advantages/disadvantages to 8g
and co versys gogcc?
01:06 <+iant> telemachus: 8g is much faster, gccgo is more familiar for some
01:06 -!- erock-json [n=erick@static-71-249-175-83.nycmny.east.verizon.net] has
quit [Client Quit]
01:06 <+agl> kuroneko: there's no too much in the internals yet.  The
techtalk is probably the closest thing (link on the left of golang.org)
01:06 < telemachus> iant: cool, thanks (you had me at "much faster")
01:06 -!- ejrock [n=chatzill@static-71-249-175-83.nycmny.east.verizon.net] has
joined #go-nuts
01:06 < Gnuget> ahahahah yes you are right agl , now works fine :)
01:06 <+agl> telemachus: 8g is probably faster at compiling.  gccgo probably
generates better code.
01:07 < bear> wow - seems like such a step backwards to create a new
language with { } and pointers
01:07 < dchest> nice: "Ogle is the beginning of a debugger for Go." :)
01:07 < opensourcenut> even though I exported GOROOT, it still says its not
set,whats up with this?
01:07 < Gnuget> thanks :)
01:07 <+agl> bear: pointers are like other pointers: no arithmetic.
01:07 < sstangl> opensourcenut: "export GOROOT=foo"?
01:07 -!- ejrock [n=chatzill@static-71-249-175-83.nycmny.east.verizon.net] has
left #go-nuts []
01:07 < opensourcenut> yeah
01:07 <+rsc9> opensourcenut: env | grep '^GO'
01:07 < sstangl> opensourcenut: is it set?
01:07 <+agl> bear: pointers are *not* like other pointers: no arithmetic.
01:07 < opensourcenut> and then I can echo $GOROOT
01:07 < telemachus> agl: hmm, better how (optimized for ?)
01:08 < dazz> iant: Thanks, it made the trick !
01:08 <+iant> telemachus: gccgo generates more highly optimized code which
runs faster
01:08 < bear> agl - yea, saw that in the FAQ - but with the type system they
have, why the need to use *foo in function declarations
01:08 <+agl> telemachus: GCC's codegen is a lot more advanced/complex
01:08 -!- brianmacdonald [n=brianmac@32.161.77.70] has joined #go-nuts
01:08 < opensourcenut> yeah its definitely set
01:08 < telemachus> gotcha...
01:08 -!- abbyz [n=abhishek@unaffiliated/abbyz] has joined #go-nuts
01:08 <+agl> bear: *foo doesn't copy the variable
01:08 <+rsc9> opensourcenut: ls -l $GOROOT/include/u.h
01:08 <+iant> bear: this isn't Java, values are values
01:08 <+agl> bear: also, you can write through a pointer and modify the
value pointed at.
01:08 < bear> iant - sure - i'm a python coder by nature
01:09 <+agl> bear: typically you don't need the latter because Go has
multiple return values, but passing a large structure by reference can be a win.
01:09 -!- popey [n=alan@ubuntu/member/pdpc.gold.popey] has joined #go-nuts
01:09 < bear> agl - yea, I get that also - guess it's just the syntax that
is giving me the hives
01:09 < sstangl> is anyone working on vim highlighting for Go?
01:09 < stelt> anybody has go translations of Occam constructs
(PAR,PRIPAR,SEQ,ALT,PRIALT) ?
01:09 <+rsc9> sstangl: see $GOROOT/misc
01:10 <+rsc9> bear: try hg pull -u and see if that fixes your dns problem
01:10 < telemachus> sstangl: misc/vim/go.vim
01:10 -!- wiretapped [n=leif@pony.noisebridge.net] has joined #go-nuts
01:10 <+agl> sstangl: misc/vim/go.vim
01:10 < bear> agl - guess i'm asking the wrong question (cause i'm focusing
on the syntax ;) - wondering why not make by-reference the default and avoid the
'*'
01:10 < sstangl> thanks :)
01:10 < bear> rsc9 - doing that now
01:10 -!- OlafurW [n=waage@157-157-216-127.static.simnet.is] has joined #go-nuts
01:10 < Gnuget> OMG another error :|
01:10 < Gnuget> http://paste.ideaslabs.com/show/UXm5SRswkf
01:10 <+iant> bear: when would you pass by value, then?
01:10 <+iant> Gnuget: http://code.google.com/p/go/issues/detail?id=2
01:10 < dazz> i've got a 0x2b77240c0640 unknown pc.  I set my GOOS to linux
and GOARCH to amd64.  I'm on a Core2 Duo with an Ubuntu.  Is this setting right ?
01:11 -!- ESphynx [i=ESphynx@216-66-133-241.dsl.look.ca] has joined #go-nuts
01:11 < OlafurW> ubuntu 9.10 - when running ./all.bash i get this -
/usr/include/gnu/stubs.h:9:27: error: gnu/stubs-64.h: No such file or directory
01:11 < bear> iant - you wouldn't - you mark it in the interface as static
01:11 <+agl> Issue 2 (broken net unittests) is fixed on trunk:
http://code.google.com/p/go/source/detail?r=de1a91a5a801523463076be25469b85d1b8b6645
01:11 -!- dcahill [n=chatzill@79.97.231.149] has joined #go-nuts
01:11 <+iant> OlafurW: sounds like missing 64-bit development headers
01:11 <+agl> Gnuget: that's the issue you have, btw
01:12 <+agl> OlafurW: can you use pastebin.com and paste the full log?
01:12 <+iant> dazz: when do you get that error?
01:12 <+agl> dazz: can you use pastebin.com and paste the full log?
01:12 -!- jzee [n=xchinjo@61.47.26.156] has joined #go-nuts
01:12 < OlafurW> agl: i will in a sec, gonna try one thing 1st
01:12 <+iant> agl: wouldn't you rather just guess?
01:13 < bear> rsc9, same test failure point
01:13 < dazz> iant: ‍net·*pollServer·Run+0x9e
/home/dazz/dev/go/src/pkg/net/fd.go:237
01:13 < dazz> net·*pollServer·Run(0x240c0640, 0x2b77)
01:13 < dazz> goexit /home/dazz/dev/go/src/pkg/runtime/proc.c:134
01:13 < telemachus> agl: thanks for that
01:13 < dazz> in goroutine 3
01:13 < Kniht> while running ./all.bash: http://codepad.org/SfA5STXH, no
idea what's happening here except that a test is failing, what should I do to
continue installing?
01:13 -!- olegfink [n=olegfink@95.55.92.132] has joined #go-nuts
01:14 <+iant> dazz: that sounds like it might be
http://code.google.com/p/go/issues/detail?id=2
01:14 <+rsc9> kniht: fixed; hg pull -u and run again.  or just use the tree
as is.  it's installed before the tests start
01:14 <+agl> Kniht: that issue has been fixed on the trunk
01:14 <+agl> Kniht: also, you can add net to the NOTEST list in
src/pkg/Makefile
01:15 < Kniht> looks like I should've read the channel right before too..
thanks, pulling and updating now
01:15 -!- cobbal [n=cobbal@c-67-166-104-2.hsd1.ut.comcast.net] has quit []
01:15 <+agl> dazz: we need more context than that if you don't mind using a
paste bin.
01:15 < dazz> i was just typing that was in the "net" test section.  Sounds
right.  i checkiant:
01:15 < bear> rsc9 - did a clean.bash and a fresh all.bash - same
net.TestDialError as before
01:16 <+rsc9> bear: hg log -q -l 1?
01:16 < dazz> agl: thanks, i check iant's thoughts and ome back with a
pastebin if that doesn't work
01:16 < bear> osx leopard
01:16 < bear> 3960:de1a91a5a801
01:16 < Gnuget> hahaha awesome now is working well :) thx agl and iant :D
01:16 < Gnuget> aya --- cd ../test
01:16 < Gnuget> 0 known bugs; 0 unexpected bugs
01:16 < Gnuget>
01:16 < Gnuget> :D
01:17 <+robpike> go!
01:17 < OlafurW> to fetch from trunk, do I hg clone -r release to hg clone
-r trunk ?
01:17 <+rsc9> no, you just drop the -r release
01:17 <+agl> OlafurW: I think you can just omit the -r release
01:17 < OlafurW> ok
01:18 <+rsc9> if you've already cloned you can just "hg pull -u"
01:18 -!- mrd` [n=matthew@shinobi.dempsky.org] has joined #go-nuts
01:18 -!- danielrf [n=cgibreak@pool-96-248-174-38.chi01.dsl-w.verizon.net] has
joined #go-nuts
01:19 <+agl> bear: you might have a different issue then.  Did you have a
pastebin URL (the traffic is so high I can't remember)
01:19 -!- mkanat [n=mkanat@c-67-188-1-39.hsd1.ca.comcast.net] has joined #go-nuts
01:19 < Gnuget> " 8g hello.go
01:19 < Gnuget> hello.go:3: fatal error: can't find import: fmt
01:19 < Gnuget> "
01:19 < Gnuget> :O
01:19 -!- Chealion [n=Chealion@mail.joemedia.tv] has joined #go-nuts
01:19 < bear> agl - no, I skipped that part - let me do a clean and make and
paste fresh
01:20 < opensourcenut> while building go I get errors
01:20 <+agl> Gnuget: probably a bad $GOROOT
01:20 < dazz> --- cd ../test
01:20 <+iant> Gnuget: typically means that GOROOT is not right
01:20 < sstangl> opensourcenut: same
01:20 < dazz> 0 known bugs; 0 unexpected bugs
01:20 < dazz> iant, agl: thanx, you rock guys
01:20 < opensourcenut> Makefile:5: /home/osn/golang/src/Make.: No such file
or directory
01:20 < opensourcenut> make: *** No rule to make target
`/home/osn/golang/src/Make.'.  Stop.
01:20 < sstangl> I'm gotting the error: no tests matching Test([^a-z].*)?
in _test/archive/tar.a
01:20 -!- nddrylliog [n=nddrylli@83.219.114.177] has quit [Read error: 104
(Connection reset by peer)]
01:21 <+agl> Gnuget: you should have $GOROOT/pkg/$GOOS_$GOARCH/fmt.a
01:21 < dsal> opensourcenut: http://golang.org/doc/install.html#tmp_17
01:21 < joeyadams> Did the LookupHost bug just get fixed?
01:21 < bear> sounds like that install page needs to repeat the environment
var setting part in the build part ;)
01:21 <+iant> joeyadams: we think so
01:21 <+agl> opensourcenut: you need $GOARCH
01:21 <+iant> sstangl: I haven't see that one
01:21 -!- schrdoingers_CT [n=IV@74-128-123-101.dhcp.insightbb.com] has joined
#go-nuts
01:21 <+agl> joeyadams: yes
01:21 < Gnuget> ayay1 its true :D
01:21 < Gnuget> all works fine
01:21 < opensourcenut> ah I see
01:21 < joeyadams> I guess I should test it
01:22 < ESphynx> hey joeyadams :P
01:22 <+agl> sstangl: can you use a paste bin and paste more context?
01:22 < bear> agl - how much of this do you want?
01:22 -!- franksalim [n=frank@adsl-76-221-202-115.dsl.pltn13.sbcglobal.net] has
left #go-nuts ["Ex-Chat"]
01:22 <+agl> bear: as much as is reasonable.
01:22 < opensourcenut> no freebsd support?
01:22 -!- ESphynx [i=ESphynx@216-66-133-241.dsl.look.ca] has left #go-nuts []
01:22 <+iant> opensourcenut: not yet
01:22 < ktistai> To set the $GOBIN $GOROOT $GOARCH environment variables,
I'd enter "GOROOT=$HOME/go" in .bashrc "GOARCH=linux/amd64" and
"GOBIN=$HOME/go/bin" ?
01:22 <+rsc9> opensourcenut: go right ahead
01:23 <+rsc9> ;-)
01:23 < opensourcenut> haah
01:23 < Kniht> rsc9: after that, got: http://codepad.org/p6uP6zbi (I'm just
adding net to NOTEST for now, but don't know where to report that except here)
01:23 < manveru> i'm getting http://pastie.org/private/fsyuh6djag2mkpgcorv2g
after build
01:23 < Gnuget> thanks guy,
01:23 -!- Gnuget [n=gnuget@unaffiliated/gnuget] has left #go-nuts ["Saliendo"]
01:23 <+iant> manveru: that should be fixed, do an hg pull -u
01:23 -!- dsal [n=Adium@adsl-69-230-8-158.dsl.pltn13.pacbell.net] has left
#go-nuts []
01:23 < manveru> might be because OpenDNS intercepts lookup failures?
01:23 < kuroneko> I'm fudging in http_proxy support into net.http since some
of us are trapped behind restrictive firewalls 9 hours a day >_>
01:23 <+agl> ktistai: GOARCH=amd64 GOOS=linux
01:23 < OlafurW> agl: 0 known bugs; 0 unexpected bugs.  Thank you
01:23 <+rsc9> knight: that's interestint
01:24 -!- gcarrier [n=gcarrier@archlinux/trusteduser/GCarrier] has joined #go-nuts
01:24 <+rsc9> ktistai: then export GOARCH GOOS GOROOT GOBIN
01:24 < gcarrier> hi!
01:24 < telemachus> agl: even after hg pull -u I get the same build error
01:24 < joeyadams> The net test passed on my system, afaict
01:24 < telemachus> just fyi
01:24 <+agl> rsc9: you might want to look at
http://pastie.org/private/fsyuh6djag2mkpgcorv2g
01:24 <+iant> rsc9: must be using a server which answers all DNS queries
01:24 <+rsc9> agl, iant: yes, i think so
01:25 < Kniht> rsc9: I didn't clean after hg pull -u, just ran ./all.bash
again, if that's significant
01:25 < sstangl> agl: http://fpaste.org/KQBu/ line 497
01:25 <+rsc9> kniht: no it's okay
01:25 < telemachus> I did clean; didn't do it
01:25 < joeyadams> When did go go open source?
01:25 < bear> agl - http://pastebin.com/d4b4a28e8
01:25 <+iant> joeyadams: 2 1/2 hours ago
01:25 < manveru> Kniht: having same issue, you using opendns too?
01:25 < Kniht> manveru: yes
01:25 < joeyadams> really, or are you kidding?
01:25 -!- nroot [n=chatzill@c-76-100-175-187.hsd1.md.comcast.net] has quit [Read
error: 113 (No route to host)]
01:26 < Kniht> that would seem to explain it
01:26 <+iant> joeyadams: really
01:26 <+agl> joeyadams: Go went open source today at 3pm PST
01:26 -!- SiegeLord [n=siege@pool-71-124-166-56.bstnma.east.verizon.net] has
joined #go-nuts
01:26 < joeyadams> lemme guess.  By tomorrow, go will have web application
support, an IDE with a powerful class browser, and have an entire OS written in
it?  :D
01:26 < ktistai> One more question, the: mercurial
https://go.googlecode.com/hg/ download is how big?
01:26 <+agl> sstangl: crumbs, not sure about that one.
01:26 * ktistai 's on dialup
01:27 < OlafurW> joeyadams: tonight
01:27 <+rsc9> agl: working on it
01:27 < gcarrier> on all.bash: make.bash: line 20:
/Users/gcarrier/go/bin/quietgcc: No such file or directory
01:27 <+agl> joeyadams: at the moment we're spending all our time on IRC, so
probably not :)
01:27 < gcarrier> anyone?  :)
01:27 < joeyadams> OlafurW> lol
01:27 -!- jsgotangco [n=JSG@ubuntu/member/jsgotangco] has joined #go-nuts
01:27 <+agl> gcarrier: you need $GOBIN in your path.
01:28 -!- nuggien [n=dnguyen@nat.electric-cloud.com] has quit ["Leaving."]
01:28 <+robpike> i did a clean.bash and a du -h and see about 10MB under the
src tree.  including the hg repository it's about 38M
01:28 <+rsc9> ktistai: around 16M
01:28 <+agl> sstangl: you can add archive/tar to the NOTEST list in
src/pkg/Makefile.  I've no idea why that's failing the way that it is.
01:28 < sstangl> agl: it would be useful to modify the bash scripts to
complain verbosely if the environment does not contain those variables
01:28 <+robpike> that's on disk, though; hg will make it smaller
01:28 < ktistai> rsc9, ah.
01:28 < ktistai> :/
01:28 <+agl> sstangl: probably, yes.
01:29 -!- sfuentes [n=sfuentes@cpe-98-154-70-216.socal.res.rr.com] has joined
#go-nuts
01:29 <+rsc9> that is, 16M downloaded into .hg (and maybe that is compressed
on the net), + 29M more when checked out
01:29 < OlafurW> Hello World in 567.8KB
01:29 < OlafurW> hot damn, so this is like D
01:29 -!- Super-Dot [n=Super-Do@adsl-76-236-70-213.dsl.pltn13.sbcglobal.net] has
joined #go-nuts
01:29 < opensourcenut> dialgoogle?
01:29 < gcarrier> $ echo $PATH $GOBIN
01:29 < gcarrier>
/Users/gcarrier/go/bin:/Users/gcarrier/usr/bin:/Applications/android-sdk-mac_x86-1.6_r1/tools/:/Applications/android-sdk-mac_x86-1.6_r1/tools/:/Users/gcarrier/bin:/opt/local/bin:/opt/local/sbin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/texbin:/usr/X11/bin
/Users/gcarrier/go/bin
01:29 <+robpike> it's not small: there is a significant runtime linked in.
6g/8g binaries are always statically linked even though they have a dynamic ELF or
Mach-O header
01:29 <+agl> OlafurW: that includes symbols
01:30 <+robpike> use size for a better measure
01:30 * mkanat would actually love to implement a web framework in Go if he had
unlimited extra time.  :-)
01:30 < opensourcenut> Why is it dialing google?
01:30 <+agl> gcarrier: paths are separated with ':'.  Note the space near
the end.
01:30 < sstangl> agl: how is the team accepting patches, over the mailing
list?
01:30 -!- felipe [n=felipe@my.nada.kth.se] has joined #go-nuts
01:30 < kuroneko> robpike: hola - I think I owe you (and any other golang
people) a beverage of your choices when you're next down Sydney way.  :)
01:30 < gcarrier> agl: that's normal.  read my command.
01:30 -!- Go-Nuts [n=atkailas@71-33-216-84.hlrn.qwest.net] has joined #go-nuts
01:31 <+rsc9> gcarrier: export $GOBIN?  maybe it still installed into
$HOME/bin
01:31 < OlafurW> agl: ya I know that when I start developing an app, it will
not go much over 500KB to begin with
01:31 <+agl> sstangl: http://golang.org/doc/contribute.html
01:31 < OlafurW> same with D
01:31 -!- ponce [n=ponce@paradisia.net] has joined #go-nuts
01:31 < opensourcenut> robpike: a significant runtime meaning it would be
difficult to do a kernel in go?
01:31 < OlafurW> robpike: what do you mean use size for a better measure?
01:31 < bear> rsc9 - just replied to your poke - sorry for the lag
01:31 <+agl> gcarrier: yes sorry, I see.
01:31 < gcarrier> rsc9: trust me i do export it
01:32 <+robpike> i mean that the size command will give you a text size that
will be a better indicator of the true size of the program.  for hello world, it's
all runtime stuff like reflection
01:32 < sstangl> agl: each test is failing, apparently.
01:32 < Go-Nuts> I had a question, I'm getting a "quietgcc" doesn't exist
error, on Snow Leopard, how do I fix it?
01:32 <+agl> gcarrier: if you try to run 'quitegcc' from the command line,
does it work?
01:32 < sstangl> agl: with the same error, alphabetically.
01:32 < Jerub> sigh.  the installation instructions advise you to install hg
using setuptools instead of apt-get/yum/etc.
01:32 < mrd`> I didn't happen to see any mention on golang.org about what
happens if new() or make() fail to allocate memory.
01:32 -!- rares_ [n=rares@c-69-143-38-77.hsd1.va.comcast.net] has joined #go-nuts
01:32 < bear> go-nuts - you need xcode installed
01:32 < OlafurW> robpike: ya, it's fine since it offers a lot of neat stuff
01:32 < Go-Nuts> I have xcode installed.  with the iPhone SDK
01:32 <+agl> Go-Nuts: $GOBIN needs to be in your PATH
01:33 < gcarrier> agl: i have nothing in GOBIN
01:33 < Go-Nuts> GOBIN defaults to $HOME/bin right?
01:33 < sstangl> Go-Nuts: yes
01:33 <+rsc9> jerub: you can use whatever tool you like, obviously.
01:33 <+agl> gcarrier: quietgcc is created at the top of src/make.bash
01:33 < gcarrier> agl: well it's not :)
01:33 <+rsc9> jerub: easy_install happens to be likely to work on both linux
and os x and downloads a recent mercurial.
01:34 -!- ktistai [n=ktistai@unaffiliated/ktistai] has left #go-nuts ["Leaving"]
01:34 < gcarrier> ok, GOBIN must exist...
01:34 <+agl> gcarrier: you could just paste those commands into a terminal.
It should work the same and you might notice something.
01:34 <+rsc9> gcarrier: does mkdir $GOBIN fix your problem?
01:34 < gcarrier> it would be idiot-proof to if [ -d ] install -d
01:34 < gcarrier> it would be idiot-proof to if [ ! -d ] install -d sorry
01:34 <+rsc9> gcarrier: we'll put a test for existence of $GOBIN into the
script, thanks.
01:34 < Go-Nuts> yeah, I made the bin directory and it fixed
01:34 <+agl> gcarrier: yes, we need to add a bunch of more helpful warnings
to the scripts it seems.
01:34 -!- gri [n=gri@nat/google/x-renyzpagqpzjwksv] has quit []
01:35 -!- Eridius [n=kevin@growl/Eridius] has joined #go-nuts
01:35 < gcarrier> rsc9: agl: members of the main team?
01:35 -!- Lixivial [n=Lixi@71-10-86-62.dhcp.roch.mn.charter.com] has joined
#go-nuts
01:35 < bear> ahh - the feeling of day 0 support
01:35 < Go-Nuts> should've guessed that was the issue, but figured it would
be created (like go was when using mercurial)
01:35 < OlafurW> well gl guys
01:35 -!- OlafurW [n=waage@157-157-216-127.static.simnet.is] has left #go-nuts []
01:35 <+agl> gcarrier: voiced people are Go team
01:35 < Go-Nuts> Thanks!
01:35 -!- kaib [n=kaib@nat/google/x-bwuwlfcwugtzzouf] has quit []
01:35 -!- gri [n=gri@nat/google/x-itsdqpdbgzirzjtl] has joined #go-nuts
01:36 -!- mode/#go-nuts [+v gri] by ChanServ
01:36 < opensourcenut> I'm getting a error --- FAIL: net.TestDialGoogle
01:36 < telemachus> opensourcenut:
http://code.google.com/p/go/issues/detail?id=2
01:36 <+agl> opensourcenut: are you using OpenDNS?
01:36 < sstangl> agl: I'm going to try submitting the bash change, just to
get accustomed to the procedure.
01:36 <+robpike> opensourcenut: are you on snow leoparrd?
01:36 < opensourcenut> agl: No
01:36 < gcarrier> agl: any history doc?  :)
01:36 < telemachus> (should be in the topic for the channel)
01:36 <+agl> sstangl: sounds great
01:36 < opensourcenut> agl: I have a local dnscache
01:36 <+rsc9> agl: you have a code review
01:36 < telemachus> agl: for what it's worth, no OpenDNS here either
01:36 < opensourcenut> agl: dnscache from djb's tindydns
01:36 -!- jadamcze [n=jadamcze@ppp59-167-70-67.lns20.hba1.internode.on.net] has
joined #go-nuts
01:36 < bear> seems like a dns cache/proxy issue
01:36 <+rsc9> opensourcenut: full text please?
01:37 < Jerub> testing on fedora/386 i have a problem building go, last few
lines of ./all.bash are here: http://paste2.org/p/509568
01:37 < opensourcenut> rsc9: from where to where?
01:37 <+agl> rsc9: LGTM
01:37 <+agl> Jerub: you're the second person reporting that.  I'm afraid
I've no idea what could cause it.
01:37 <+rsc9> from when it cd'ed into net to run the test to the end
01:37 <+agl> Jerub: however, everything is already built and installed at
that point.
01:38 <+rsc9> jerub: please file an issue on
code.google.com/p/go/issues/list
01:38 < joeyadams> Does go use header files, or do the .o files contain the
declaration symbols for files?
01:38 <+rsc9> joeyadams: go has no header files.  the objects contain all
the information needed and are read during the import
01:38 <+agl> joeyadams: there are no header files as such
01:39 < Jerub> before i do, what should archive/tar/_test/archive/tar.a look
like?  what's the type of that file?
01:39 <+agl> joeyadams: also, there's no need to transitively walk the
object files.
01:39 -!- xoebus [n=xoebus@vortis.xen.tardis.ed.ac.uk] has joined #go-nuts
01:39 < Eridius> hrm, what a surprise, go compiled/tested much faster on my
Mac Pro than on my MacBook Pro
01:39 -!- dazz [n=dazz@84.7.102.253] has left #go-nuts []
01:39 < opensourcenut> rsc9: http://pastebin.ca/1665788
01:39 < Jerub> oooh, it's an ar archive.
01:39 <+agl> Jerub: it should exist and be a binary archive file.
01:39 < telemachus> rsc9: http://pastie.textmate.org/693039
01:40 <+agl> Jerub: it might be useful to attach it to the bug
01:40 <+agl> opensourcenut: ah, no IPv6 support.
01:40 <+rsc9> telemachus: hg pull -u and all.bash again
01:40 < Jerub> filing bug now.
01:40 < joeyadams> Has anyone made a Kate syntax file for Go?
01:40 < opensourcenut> the ipv4 packets got out, according to my firewall's
logs
01:40 <+rsc9> jerub: please include the output of "sh -x gotest"
01:40 <+rsc9> thanks
01:40 < telemachus> rsc9: I did hg pull -u before this round, no updates
01:40 <+agl> joeyadams: no, but it would be welcome..
01:41 < opensourcenut> agl: I'm not using ipv6
01:41 < telemachus> rsc9: whoops, one update
01:41 < telemachus> my bad (just entered?)
01:41 <+rsc9> opensourcenut: we're on it
01:41 < telemachus> also not using ipv6 here (shut off)
01:41 < joeyadams> Have other editors had a Go syntax made?
01:41 <+agl> telemachus: the change I think you want is
http://code.google.com/p/go/source/detail?r=433497578ae199eeb91d410a4654bed4b8732f88
01:41 < opensourcenut> So I have to be on ipv6 to use it?
01:41 <+iant> joeyadams: see misc; we have vi and emacs
01:41 <+agl> joeyadams: misc/vim and misc/emacs
01:41 <+iant> opensourcenut: no....
01:42 < Eridius> what, no TextMatE?
01:42 <+agl> opensourcenut: if you hg pull -u it should be fxied by
http://code.google.com/p/go/source/detail?r=433497578ae199eeb91d410a4654bed4b8732f88
01:42 <+iant> Eridius: not yet
01:42 < Eridius> pfft
01:42 <+agl> Eridius: we welcome syntax files.
01:42 < telemachus> rsc9: trying again...
01:42 < gcarrier> http.TestClient and http.TestRedirect fail!?
01:42 < Eridius> agl: I have to actually learn the language first :p
01:42 <+agl> gcarrier: Snow Leopard?
01:42 < gcarrier> agl: yup
01:42 <+rsc9> gcarrier: output?
01:43 <+agl> gcarrier: it's been reported that disabling the firewall fixes
that
01:43 <+robpike> http.TestClient and http.TestRedirect fail for me on snow
leopard but work if you disable the firewall
01:43 < gcarrier> lol, that's strange!?
01:43 <+agl> gcarrier: if so, we would be interested to know why :)
01:43 < gcarrier> agl: let me have a look
01:43 < opensourcenut> what causes this?
01:43 <+rsc9> os x firewall assumes all dns requests go through the system
libraries, and ours don't
01:43 <+rsc9> we use udp directly which the firewall does not allow.  maybe
it thinks we are some scary p2p app
01:44 < gcarrier> ok, the firewall does open a window to ask for permission
01:44 < gcarrier> but it closes extremely fast
01:44 <+agl> rsc9: there's probably a Mach-port to talk to the local DNS
cache.
01:44 < Go-Nuts> Yeah I saw that and was wondering what happened.  was
typing at the time so thought that's what did it
01:44 <+robpike> i've seen that window flash.  any idea how to deal with it?
01:44 <+rsc9> even if you grant permission i think it doesn't work.  i don't
remember.
01:44 < gcarrier> i had time to allow one, not the other, and now one of the
2 tests run ok
01:45 < harryv> you rendered go!  un-googleable :/
01:45 < kuroneko> there should probably be a thing up somewhere that says
that the tests assume internet connectivity.
01:45 <+rsc9> agl: i know, but i've been ducking the implementation of true
mach rpc
01:45 < harryv>
http://74.125.77.132/search?q=cache:Zbob0_QryVkJ:www.doc.ic.ac.uk/~klc/gowp.html+go+programming+language+agent-based&cd=4&hl=en&ct=clnk&client=safari
01:45 < telemachus> rsc9:, agl: the last patch fixed the dns test for me
01:45 < telemachus> thanks
01:45 -!- pmlarocque [n=pmlarocq@modemcable249.8-81-70.mc.videotron.ca] has joined
#go-nuts
01:46 < opensourcenut> I'm curious why it has to connect
01:46 <+iant> opensourcenut: it's testing that the network code works
01:46 <+rsc9> opensourcenut: it has to announce on a port to listen for the
dns response, and the firewall doesn't want to let packets come in.
01:46 <+iant> (if that is what you are asking)
01:46 -!- Chealion [n=Chealion@mail.joemedia.tv] has quit ["Thank You and Good
Night."]
01:46 -!- rares_ [n=rares@c-69-143-38-77.hsd1.va.comcast.net] has quit
["Leaving..."]
01:47 < gcarrier> agl:
http://photo.noxneo.net/images/1257904054Screenshot2009-11-11at2.47.11AM.jpeg
01:47 < Eridius> oh great, go-mode.el doesn't work right
01:47 -!- brianmacdonald [n=brianmac@32.161.77.70] has quit [Read error: 104
(Connection reset by peer)]
01:47 <+rsc9> opensourcenut: hg pull -u should fix your ipv6 bug
01:47 < Eridius> I'm getting a lisp error when trying to edit an empty .go
file
01:47 < gcarrier> agl: it's trying to allow incoming connections??
01:47 <+rsc9> gcarrier: yep, that's the one.
01:47 -!- antarus [n=antarus@gentoo/developer/antarus] has joined #go-nuts
01:47 -!- brianmacdonald [n=brianmac@c-98-208-175-116.hsd1.fl.comcast.net] has
joined #go-nuts
01:47 < gcarrier> in the logs: 11/11/09 2:47:24 AMFirewall[61]6.out is
listening from ::ffff:0.0.0.0:54226 proto=6
01:47 -!- soul9 [n=none@unaffiliated/johnnybuoy] has joined #go-nuts
01:47 < Jerub> I've filed issue 7, which describes the crash i saw, and
attaches the tar.a file
01:47 <+rsc9> gcarrier: if by listen for a dns response you mean allow
incoming connections, then yes (and apple does mean that)
01:48 -!- Jarin [n=Jarin@ip68-101-195-234.sd.sd.cox.net] has quit ["Leaving."]
01:48 < gcarrier> (from Console.app, search "firewall" in "All messages")
01:48 < opensourcenut> rsc9 Ah so it has to bind to a port to listen for the
DNS response?
01:48 <+rsc9> yes
01:48 < opensourcenut> rsc9: Thats a bit strange don't you thin?
01:48 < gcarrier> rsc9: you implement the DNS handling internally?
01:49 < gcarrier> wow i see you deal with SRV records.  nice.
01:49 <+agl> gcarrier: yes, we serialise our own DNS packets
01:49 <+agl> Jerub: thanks!
01:49 < gcarrier> agl: so the question might be: why does this request
window closes immediately?  :)
01:49 < gcarrier> agl: can go programs be gdb'ed?
01:49 -!- ian1 [n=iant@67.218.102.118] has joined #go-nuts
01:50 <+rsc9> gcarrier: yes but with no symbols, which might not be useful
01:50 < Jerub> agl: if you need me to test anything, i'm always available,
just ping me on irc.
01:50 < Go-Nuts> maybe gotest quits and that makes the firewall allow/deny
thing close?
01:50 -!- mode/#go-nuts [+v ian1] by ChanServ
01:50 * Eridius is rather surprised go-mode.el fails on empty buffers.  Didn't the
author every try to create a new .go file by typing `emacs hello.go`?
01:50 < gcarrier> rsc9: for sure :P
01:50 < gcarrier> Go-Nuts: probably.  why does it closes that fast?
01:50 < gcarrier> is there a <1s timeout?
01:50 -!- raysl [n=anonymou@d24-141-147-73.home.cgocable.net] has joined #go-nuts
01:50 < wcn> In Java, there is a convention that the output of toString()
should not be relied upon.  In Go, since one can use strings, but not structs as
keys to maps, is it ok to use the String() method to generate keys, or is there a
convention to create a specific GetKey() method?
01:51 <+rsc9> wcn: there is no convention
01:51 <+rsc9> pointers can be keys in maps, though, so if you have a
canonical pointer, ...
01:51 < Jerub> agl: yikes, implementing your own dns client implementation
isn't optimal.  what about systems with /etc/nsswitch.conf ?
01:51 <+agl> Eridius: sorry.  Not sure who uses emacs here!
01:51 < wcn> rsc9: oh, I did not realize that.  Cool.
01:52 <+rsc9> jerub: if you can find out how to call the system dns without
using ffi, we'll put it in.  ;-)
01:52 <+agl> Jerub: DNS on Linux systems is a total disaster.  We don't want
to go near it.
01:52 < Eridius> agl: amusingly the error is an index was assumed to be
1-based when it's 0-based
01:52 -!- defectiv [n=clays@c-24-5-65-40.hsd1.ca.comcast.net] has joined #go-nuts
01:52 <+agl> Eridius: patches welcome
01:52 < Eridius> agl: how does one submit a patch back?
01:52 < defectiv> oy ve.  doe this mean i don't have to learn D now?
01:52 < Jerub> rsc9: what's wrong with using ffi to talk to glibc?
01:52 <+rsc9> gcarrier: no idea about the tiny timeout, i assume it's an os
x bug.
01:52 < opensourcenut> http://pastebin.ca/1665798
01:52 * Eridius is not familiar with mercurial
01:52 <+agl> Eridius: http://golang.org/doc/contribute.html
01:52 < defectiv> first question...  is Go on Git?
01:52 <+rsc9> jerub: we like to have standalone binaries
01:53 < Jerub> agl: nsswitch.conf is on many more systems than just linux...
01:53 <+rsc9> defectiv: no, mercurial
01:53 <+ian1> defectiv: no, Mercurial
01:53 <+agl> defectiv: Go uses hg
01:53 < defectiv> well, not horrible.
01:53 -!- ikke [n=1kk3@unaffiliated/ikkebr] has quit []
01:53 <+agl> opensourcenut: fixed on trunk.  hg pull -u to update.
01:53 < opensourcenut> agl: again?
01:53 < opensourcenut> I've pulled like 5 times in the last hour haha
01:53 < gcarrier> rsc9: i don't think so.  osx just waits for an answer to
bind the socket, so if you timeout and give up it's normal to stop asking for
permission
01:53 <+agl> opensourcenut: you issue has been fixed by a check in.  You can
run `hg pull -u` to sync your tree to the tip of trunk.
01:54 -!- Jarin [n=Jarin@adsl-71-136-232-63.dsl.sndg02.pacbell.net] has joined
#go-nuts
01:54 < brianmacdonald> where should I post a error in the documentation?
01:54 <+agl> opensourcenut: (oh, I thought 'again' meant 'I don't
understand')
01:54 < opensourcenut> no changes found
01:54 < Eridius> err, agl, that page gives erroneous information.  It says
to run `hg change` when you're ready to send a change out for review, but that
tells me hg: unknown command 'change'
01:54 -!- sammyf [n=sammy@unaffiliated/sammyf] has joined #go-nuts
01:54 <+agl> brianmacdonald: here if it's simple, otherwise you can file a
bug at code.google.com/p/go
01:54 <+rsc9> Eridius: you did not enable the code review extension
01:54 < Jerub> well, basically, there's no way at all to implement a DNS
resolver that matches the rest of the system without loading and calling a library
because nsswitch.conf allows you to provide loadable shared object files as
resolver plugins, which is how mdns works.
01:54 <+ian1> Eridius: you need to add the codereview plugin to your .hgrc
01:54 <+agl> Eridius: you need to install the codereview extension.
01:54 -!- mfb [n=mark@j0.ramona.indybay.org] has joined #go-nuts
01:54 < joeyadams> heh, channel membership went from ~64 to 103 since I
joined
01:54 < Eridius> rsc9: no, I just installed mercurial specifically to get go
01:55 < opensourcenut> agl: no changes found
01:55 * Eridius has zero familiarity with mercurial
01:55 <+agl> Jerub: yes, this is unfortunate.  OS X and (even) Windows are
much better in this regard.
01:55 < Eridius> ahh, I see where it tells me to add that now
01:55 < joeyadams> Reminds me of what happened in #gsoc when people were
waiting for students accepted to be announced.
01:55 < Eridius> silly me, I clicked on the "Make a change" hyperlink at the
top
01:55 <+ian1> Eridius: that's good, because Go's code review plugin is
somewhat different from standard Mercurial
01:55 < Jerub> agl: dns on osx is also weird.  there are two resolvers on
the system, and some tools use one, or the other.
01:55 <+agl> opensourcenut: wait, you might be right.  You might have a
different problem.
01:56 -!- ian1 [n=iant@67.218.102.118] has quit ["Leaving."]
01:56 -!- benno [n=benno@vl10.gw.ok-labs.com] has joined #go-nuts
01:56 <+rsc9> opensourcenut: that's a real bug, on it
01:56 * Eridius installed go on two different 10.6.2 systems and had no net issues
01:56 < benno> anyone know if the current build system supports
cross-compiling for arm?
01:56 < brianmacdonald> In
http://golang.org/doc/effective_go.html#web_server line 16 template.HtmlFormatter
01:56 < brianmacdonald> should be template.HTMLFormatter and 33
template.HtmlEscape should be HTMLEscape.  See http://golang.org/pkg/template/
01:56 < benno> it doesn't seem to, although it suggests that ARM is support?
01:56 < defectiv> anyone know off hand whot a recent core 2 duo is,
architecturally?  64-bit?
01:56 < opensourcenut> rsc9: okay what information do you need?
01:57 <+agl> Jerub: Linux distros should include a local DNS cache.  I have
a NetworkManager patch for that, but it's very hard to get patches into NW.
01:57 <+agl> benno: yes, but some things don't work yet.  (Like floats.)
01:57 < Jerub> agl: I'm not trying to say, "you're wrong" - far from it, DNS
resolution by software sucks in huge ways, and the libc resolver is indeed crap
(no way to do an async query for one)
01:57 < antarus> agl: we might have some staff to work on that later this
year
01:57 <+agl> defectiv: Core 2 is typically amd64
01:57 < benno> agl: I don't want floats on arm anyway :)
01:57 < antarus> agl: if you are bored and want to help :)
01:57 <+agl> defectiv: although one can install a 32-bit OS on it.
01:58 < benno> agl: how do I build, 'gcc' seems to be hardcoded in the
makefile (afaict?)
01:58 <+agl> antarus: work on what?
01:58 -!- mwarning [n=mwarning@78.94.226.217] has quit ["Leaving"]
01:58 < antarus> agl: new resolver libraries for linux
01:58 < joeyadams> Does go support reflection?  (e.g.  can one read
structure arguments present at run-time?)
01:58 < benno> ok, make-arm.bash
01:58 < benno> stupid me
01:58 < Eridius> what the...  `hg code-login` returned without prompting me
for anything
01:58 -!- Jarin [n=Jarin@adsl-71-136-232-63.dsl.sndg02.pacbell.net] has left
#go-nuts []
01:58 <+robpike> go supports reflection
01:58 < joeyadams> yay!
01:58 -!- micje [i=56534af1@gateway/web/freenode/x-zdvgavrqisbpgdpr] has joined
#go-nuts
01:58 < wcn> joeyadams: Yes, look at the fmt package for a good example.
01:58 <+robpike> read in the tutorial or in effective go about how printingn
works
01:58 <+agl> Jerub: I understand the problem.  It's bad that xyz.local
doesn't work in Go. But I don't think we'll be dynamically linking in .so's to get
it working.
01:59 <+agl> joeyadams: yes, see the reflect package.
01:59 < joeyadams> Does go have two compiler implementations, one in C, and
one in go?
01:59 <+agl> rsc9: LGTM
01:59 < Jerub> agl: well, provided someone understand the problem i'm happy.
01:59 <+agl> joeyadams: it includes a C compiler also
01:59 < Eridius> agl: I can't resolve codereview.prom.corp.google.com
01:59 -!- tf [n=mouse@CPE-124-188-96-237.lbcz1.ken.bigpond.net.au] has joined
#go-nuts
02:00 <+agl> Jerub: I'm just angry about the state of Linux distro's DNS
that's all :)
02:00 -!- tf is now known as flea__
02:00 < Eridius> and `hg code-login` doesn't report an error in this case
02:00 < opensourcenut> rsc9: What about that bug?
02:00 -!- thingie59 [n=foo@125-238-120-71.broadband-telecom.global-gateway.net.nz]
has joined #go-nuts
02:00 < Go-Nuts> I wonder how go would like my Hackintosh Netbook...
02:00 <+agl> Eridius: opps, where did you get that hostname?
02:00 -!- dcahill [n=chatzill@79.97.231.149] has quit [Read error: 110 (Connection
timed out)]
02:00 < joeyadams> you mean a program in go that does .c -> .o ?
02:00 <+rsc9> opensourcenut: hg pull -u and try again
02:00 < joeyadams> I was asking if there's a program in C that does .go
-> .o
02:00 -!- Planktonic [n=plankton@CPE-58-161-123-62.nsw.bigpond.net.au] has joined
#go-nuts
02:00 < Eridius> agl: I clicked the link "code review settings" under
"Configure your account settings"
02:00 < Jerub> agl: Well placed anger.
02:00 <+agl> brianmacdonald: I've sent myself an email with your fixes,
thanks :)
02:00 < Eridius> agl: first link in
http://golang.org/doc/contribute.html#tmp_106
02:00 < thingie59> Is there a page which gives an overview of what fils in
the source code implement what part of the programming language?
02:00 <+rsc9> joeyadams: there are two compiler suites: 6g is written in C
and gccgo is written in C++; neither is written in Go
02:00 < thingie59> fils -> files
02:01 -!- seanstickle [n=seanstic@c-68-33-221-168.hsd1.dc.comcast.net] has joined
#go-nuts
02:01 * Eridius is guessing that link isn't actually intended for external
contributors
02:01 < joeyadams> There's a go package in src/pkgs
02:01 <+rsc9> joeyadams:
http://golang.org/doc/go_faq.html#What_compiler_technology_is_used_to_build_the_compilers
02:01 <+agl> joeyadams: 6g does .go -> .o.  6c does .c -> .o
02:01 < flea__> hi, is there a curl package (or equiv) in the class
libraries, or if no
02:01 < Eridius> in any case, `hg code-login` still prints nothing and
returns, with no error, and my ~/.codereview_upload_cookies_localhost:1 file is
empty (also, localhost?)
02:01 -!- mkanat [n=mkanat@c-67-188-1-39.hsd1.ca.comcast.net] has quit ["Bye!"]
02:01 < Jerub> tee hee http://code.google.com/p/go/issues/detail?id=9
02:02 <+robpike> flea_: there are no classes :) but yes: see http package
02:02 < flea__> thanks robpike
02:02 <+rsc9> eridius; hg sync, sorry
02:02 -!- Planktonic [n=plankton@CPE-58-161-123-62.nsw.bigpond.net.au] has left
#go-nuts []
02:02 <+rsc9> eridius: hg pull -u, sorry sorry
02:02 < Eridius> hehe
02:02 < opensourcenut> rsc9: still building but looking good sofar
02:02 < flea__> just found this page http://golang.org/pkg/ :P
02:03 < KirkMcDonald> Jerub: http://portal.acm.org/citation.cfm?id=1127540
02:03 -!- brianmacdonald [n=brianmac@c-98-208-175-116.hsd1.fl.comcast.net] has
left #go-nuts []
02:03 < opensourcenut> rsc9: there where a lot of errors with files not
found in /tmp, is that a problem?
02:03 < Eridius> rsc9: you may want to change the link on contribute.html as
well
02:03 < defectiv> if i have a core2 duo, do i want to pick amd64??
02:03 < defectiv> meh
02:03 <+agl> defectiv: probably yes
02:03 -!- telemachus [n=telemach@user-0cev9bh.cable.mindspring.com] has quit
["Leaving..."]
02:04 < joeyadams> Would it be possible to create a compiler (or maybe a
backend for 6g) that does .go -> .c ?
02:04 * benno tries to work out how to cross-compile go binaries
02:04 -!- ajray [n=alex@wvc32563rh.rh.ncsu.edu] has joined #go-nuts
02:04 < joeyadams> Or possibly .go -> (.c .sym) or the like
02:04 -!- stelt [n=chatzill@ip565b0469.direct-adsl.nl] has quit [Read error: 60
(Operation timed out)]
02:04 < joeyadams> where .c compiles to the program, and .sym is extra
symbol information that (for whatever reason) can't go into the .c file
02:04 -!- jtauber [n=jtauber@c-24-147-232-136.hsd1.ma.comcast.net] has left
#go-nuts []
02:05 < defectiv> agl: thankya
02:05 <+agl> joeyadams: possible, yes.  But probably a lot of work.
02:05 <+rsc9> eridius: http://codereview.appspot.com/settings
02:05 -!- mpurcell [n=mpurcell@vpn.michaelpurcell.info] has joined #go-nuts
02:05 < Eridius> agl: the contribute.html docs for the `hg change` command
talk about filling in Reviewer, and it includes an example.  But it doesn't
actually tell me what I should fill in there, or if it's ok to leave it blank
02:05 < mpurcell> exciting :)
02:05 <+agl> Eridius: you can put agl as the reviewer
02:05 -!- iant [n=iant@67.218.102.118] has quit [Read error: 110 (Connection timed
out)]
02:06 < Eridius> agl: thanks
02:06 < Eridius> http://codereview.appspot.com/153052
02:06 < joeyadams> Hmm, where is the go compiler source?
02:07 -!- yan_ [n=yan@pool-71-179-96-37.bltmmd.fios.verizon.net] has joined
#go-nuts
02:07 <+agl> joeyadams: src/cmd/6g
02:07 < micje> I'm having a problem building Go
02:07 < micje> make: quietgcc: No such file or directory
02:07 < joeyadams> Isn't 6g for amd64, and 8g for 386?
02:08 < Eridius> the `hg change` command warned me "No username found, using
'kballard@<hostname>'".  Should I ignore that?  Is there some way to get
around that?
02:08 < micje> but quietgcc *is* in my path
02:08 <+agl> micje: mkdir $GOBIN also
02:08 < pmlarocque> micje mkdir $GOBIN
02:08 <+agl> joeyadams: yes
02:08 < mpurcell> uhm
02:08 < mpurcell> what is quietgcc.
02:08 < joeyadams> hmm, where do I find out what 8a, 8c, 8g, and 8l are?
02:08 <+agl> mpurcell: it's a script created at the top of src/make.bash
02:09 <+agl> joeyadams: http://golang.org/cmd/
02:09 -!- jashmenn [n=latte@12.186.229.30] has quit [Read error: 145 (Connection
timed out)]
02:09 < micje> $GOBIN exits, and contains quietgcc
02:09 < joeyadams> thanks
02:09 < mpurcell> ah
02:09 < micje> but make can't see it
02:09 <+agl> micje: then it needs to be in your $PATH
02:09 < benno> ahh 5g == arm compiler
02:09 < benno> that is...  weird
02:10 -!- nigeltao [n=nigeltao@203.39.247.241] has joined #go-nuts
02:10 < micje> make stumbles over this statement:
02:10 < micje> quietgcc -ggdb -I/Users/mdemare/go/include -O2 -fno-inline -c
/Users/mdemare/go/src/lib9/_p9dir.c
02:10 <+rsc9> micje: hg pull -u and try all.bash again
02:10 <+agl> rsc9: try: hg clpatch 153052 -> "error looking up kballard:
urllib2.HTTPError: HTTP Error 404: Not Found"
02:10 -!- Venom_X [n=pjacobs@66.54.185.131] has joined #go-nuts
02:10 < Eridius> ok, so `hg change` left my repository in a dirty state.
How do you handle making multiple patches for review?
02:11 <+agl> Eridius: if they touch different files, you can use hg change
again
02:11 -!- ajray [n=alex@wvc32563rh.rh.ncsu.edu] has left #go-nuts []
02:11 <+agl> Eridius: if you are laying changes in a single file then you
need a different branch.
02:11 -!- pmlarocque [n=pmlarocq@modemcable249.8-81-70.mc.videotron.ca] has left
#go-nuts []
02:11 * Eridius is just rather surprised to see this doesn't keep local commits
but rather leaves the tree dirty
02:11 <+agl> Eridius: hg doesn't do branches as well as Git, IMHO, but they
work.
02:11 < micje> but if I run it but I can run that statement from the CL just
fine
02:11 * Eridius is very used to the git approach, where you never do crap like
this on a dirty working tree
02:11 < micje> rsc9: didn't help
02:12 <+rsc9> agl: kballard needs to be in AUTHORS/CONTRIBUTORS; see
http://golang.org/doc/contribute.html#copyright
02:12 <+agl> micje: do you have gcc installed?  (And which platform?)
02:12 <+agl> Eridius: note rsc9's last
02:12 -!- defectiv [n=clays@c-24-5-65-40.hsd1.ca.comcast.net] has quit ["Leaving"]
02:12 < micje> agl: OSX 10.6
02:12 <+rsc9> Eridius: sorry, different model
02:12 < micje> i686-apple-darwin10-gcc-4.2.1 (GCC) 4.2.1 (Apple Inc.  build
5646)
02:13 < Eridius> rsc9: ah thanks
02:13 < mpurcell> Will Go be ABI compatible with C?
02:13 < soul9> make.bash: line 10: /home/user/dev/golang//src/Make.: No such
file or directory
02:13 <+agl> mpurcell: you can compile C code with 6c and link it in.
02:13 < soul9> :(
02:13 < mpurcell> Ah
02:13 <+agl> soul9: set GOOS and GOARCH correctly
02:13 <+rsc9> soul9: export GOARCH GOOS GOROOT
02:13 < soul9> i have, GOOS=Linux
02:13 < mpurcell> agl: so to use a C library i need to write a wrapper and
compile it in?
02:13 < micje> but it sounds more like a weird bash issue
02:13 < soul9> oh GOARCH mmm
02:13 <+robpike> mpurcell: answered in http://golang.org/doc/go_faq.html
02:13 <+agl> micje: sorry, I'm stumped with your issue then.
02:13 < mpurcell> ah thx
02:13 < Eridius> actually, that doesn't really help.  I'm assuming that hg
has no idea what my name/email is.  How do I teach it that?
02:13 < soul9> sorry and thanks
02:13 -!- mennis [n=mennis@adsl-065-012-170-146.sip.asm.bellsouth.net] has joined
#go-nuts
02:14 <+agl> soul9: no problem
02:14 < Eridius> ah, `hg help environment`
02:14 <+rsc9> micje: message me the error privately
02:14 < benno> cool, the ARM executables crash objdump :)
02:14 -!- witeness [n=ryanmerl@c-69-138-211-106.hsd1.md.comcast.net] has joined
#go-nuts
02:14 <+rsc9> eridius: edit $HOME/.hgrc to add
02:14 <+rsc9> [ui]
02:14 <+rsc9> username = Your Name <your@email>
02:14 <+rsc9> EOF
02:14 < witeness> hello all
02:14 <+rsc9> (don't type EOF)
02:15 -!- moacir [n=moacir@201-75-99-25-ma.cpe.vivax.com.br] has joined #go-nuts
02:15 < Eridius> rsc9: thanks
02:15 < flea__> my understanding of this
http://golang.org/doc/effective_go.html#concurrency is that concurrent processes
cannot share a common resource (concurrently), is that correct?
02:15 <+agl> benno: the ELF files generated often exercise rarely used parts
of tools.  Valgrind dies without patches too.
02:15 -!- resistor [n=theresis@c-98-237-248-99.hsd1.wa.comcast.net] has joined
#go-nuts
02:15 <+agl> flea__: you should read the memory model for the semantics but,
basically, yes
02:15 < benno> agl: cool :) time to dust of my own disasm then
02:15 <+rsc9> eridius: also it shouldn't matter what mercurial thinks of you
so you can carry on if you want
02:15 < opensourcenut> when compiling the example webserver I get the errors
undefined: template.HtmlFormatter, undefined: template.HtmlEscape
02:16 < benno> agl: assuming there aren't any other disasm/debuggers?
02:16 <+agl> flea__: if all else fails, mutexes are available.
02:16 <+rsc9> opensourcenut: s/Html/HTML/ sorry
02:16 < Eridius> rsc9: I just don't want warnings every time I try and do
something
02:16 < mpurcell> eh...  dial unix /etc/: connection refused", want match
for `dial unix /etc/: (permission denied|socket operation on non-socket)
02:16 < witeness> ok i have a question.  I'm trying to build go on mac os x
but i don't seem to have "quietgcc"...  what is that and how do i get it?
02:16 <+agl> opensourcenut: there's a bug in the capitalisation in the
example.
02:16 < mpurcell> That confused me
02:16 < mpurcell> :p
02:16 -!- fcuk112_ [n=franky@78-86-11-147.zone2.bethere.co.uk] has joined #go-nuts
02:16 <+agl> opensourcenut: HTML rather than Html I believe.
02:16 < mpurcell> witeness: export PATH=$PATH:$GOBIN
02:16 <+rsc9> witeness: hg pull -u and run all.bash again
02:17 <+agl> witeness: mkdir $GOBIN and make sure that GOBIN is in your path
02:17 < witeness> ok
02:17 <+agl> witeness: quietgcc is a script created at the top of
src/make.base
02:17 < Eridius> oh great, agl, ignore my patch
02:17 <+agl> witeness: make.bash rather
02:17 < Eridius> it works on empty files, but it's having issues on
non-empty files now >_<
02:17 <+agl> Eridius: ok.  You should hg change -d it then.
02:17 < benno> does .gosymtab need to be in the running image?
02:17 < mpurcell> net.TestDial error failed with the above.
02:17 * benno is trying to port to a non-linux os
02:17 <+agl> Eridius: (unless you intend to update it later)
02:17 -!- deus13 [i=boris@15.30.internet.uqam.ca] has quit [Read error: 104
(Connection reset by peer)]
02:17 < flea__> agl: thanks, so if I had some kind of container (to take a
query value and look up a return value for eg), then I would either need to *make*
a copy of it for each goroutine or access it sequentitally or break go philosophy?
02:18 < Eridius> oh heh, I just deleted it but yeah ,I was intending on
fixing the issue
02:18 <+rsc9> flea__: or use a lock
02:18 * Eridius will re-submit when he has a fix then
02:18 * flea__ looks up lock in doco
02:18 -!- deus13 [i=boris@15.30.internet.uqam.ca] has joined #go-nuts
02:18 -!- hmmb [n=hmmb@187.2.151.142] has joined #go-nuts
02:18 <+agl> flea__: if you pass by value, it will be copied.  If you pass
by reference, then you need to make sure that two goroutines aren't accessing it
concurrently.
02:18 -!- deus13 [i=boris@15.30.internet.uqam.ca] has quit [Read error: 104
(Connection reset by peer)]
02:19 -!- deus13 [i=boris@15.30.internet.uqam.ca] has joined #go-nuts
02:19 -!- doublec [n=doublec@li30-216.members.linode.com] has joined #go-nuts
02:19 < mpurcell> help: http://pastebin.com/d7f83b91c
02:19 < benno> agl: is there an equiv of a linker script?  can I choose to
link at a different virtual address?
02:19 < mpurcell> please*
02:19 -!- OxB001 [n=mathieuc@bas1-quebec03-1279635746.dsl.bell.ca] has joined
#go-nuts
02:19 -!- Venom_X [n=pjacobs@66.54.185.131] has quit []
02:19 <+agl> benno: on ARM?  You would have to ask Kai.
02:19 < wcn> If I have a few thousand goroutines (one per object, sitting on
a channel to synchronize access), how concerned should I be about the stack
consumption versus just using a lock?
02:19 < flea__> agl: and I can synchronise concurrent access to it with a go
Mutex I assume
02:20 -!- KillerX [n=anant@gentoo/developer/KillerX] has joined #go-nuts
02:20 -!- csp [n=csp@114.80.221.178] has joined #go-nuts
02:20 < flea__> er ...  non-concurrent access
02:20 <+agl> mpurcell: what platform?
02:20 <+rsc9> mpurcell: uname -a
02:20 < mpurcell> x86 Linux
02:20 < mpurcell> Linux xps 2.6.31-ARCH #1 SMP PREEMPT Fri Oct 23 11:12:58
CEST 2009 i686 Intel(R) Core(TM)2 Duo CPU T8300 @ 2.40GHz GenuineIntel GNU/Linux
02:20 <+agl> flea__: using a mutex should be considered a sign of failure :)
02:20 < opensourcenut> agl: what locking mechanisims like that are in the
language for concurrent access
02:20 <+rsc9> beno: no
02:20 <+rsc9> benno: no
02:20 < flea__> :'(
02:20 < benno> agl: yeah, on arm, I guess I can start hacking myself...
running on a single-address space operating system, so fixed address are a bad
thing (tm)
02:20 -!- drhodes [n=none@209-20-72-61.slicehost.net] has joined #go-nuts
02:20 -!- sammyf [n=sammy@unaffiliated/sammyf] has quit ["Leaving"]
02:20 <+rsc9> opensourcenut: http://golang.org/pkg/sync
02:21 <+rsc9> benno: you probably don't have floating point either
02:21 < benno> rsc9: mm, ok, I assume I can hack source code to make that
happen?
02:21 <+agl> opensourcenut: you should copy values that you wish to share.
Or pass a reference and ownership at the same time.
02:21 < flea__> ^^ what opensourcenut said
02:21 <+rsc9> benno: sure.
02:21 < benno> rsc9: don't care about floats :) I don't have a floating
point unit anyway :)
02:21 <+agl> opensourcenut: Effective Go on golang.org answers this better.
02:21 < benno> rsc9: is the .gosymtab special?
02:21 -!- RastusRufus [n=Elwood12@c-24-16-250-248.hsd1.wa.comcast.net] has joined
#go-nuts
02:21 < benno> rsc9: it seem to be loaded at a ..  .weird adress
02:21 -!- jzee [n=xchinjo@61.47.26.156] has quit [Connection timed out]
02:21 * flea__ looks up ownership passing
02:21 * opensourcenut me too flea__
02:22 -!- gavin___ [n=gavin@d24-141-19-72.home.cgocable.net] has joined #go-nuts
02:22 <+rsc9> benno: yes, it is special.  yes, it is loaded at a weird
address.  arm is still not quite finished.  you shouldn't expect to have an arm
binary running today.
02:22 <+agl> mpurcell: maybe the kernel return ERRNO value changed.  Hmm.
02:22 < mpurcell> I will try to reexecute all.bash
02:22 < benno> rsc9: ok cool, espcially on a non-linux OS I guess :)
02:22 < gavin___> so i am getting an error when I make lib9.  my $GOBIN is
set and exists
02:22 < gavin___> any other pointers?
02:22 < opensourcenut> agl: where is this ownership documented at?
02:23 <+agl> mpurcell: could you `cd src/pkg/net` and `strace -o /tmp/trace
-f gotest`?
02:23 -!- Go-Nuts [n=atkailas@71-33-216-84.hlrn.qwest.net] has quit []
02:23 -!- muthu [n=chatzill@12.156.138.2] has joined #go-nuts
02:23 <+agl> opensourcenut: ownership is in the mind of the programmer.
02:23 < mpurcell> yep, lemme just wait for it to fail
02:23 <+agl> gavin___: please use a pastebin and give all the context.
02:23 < opensourcenut> agl: Oh, you made it sound as if there was a
parameter you could pass to specify ownership
02:24 -!- deadlycheese [n=tfolger@c-75-70-207-113.hsd1.co.comcast.net] has joined
#go-nuts
02:24 <+agl> opensourcenut: no, nothing like that.  You should read
Effective Go :)
02:24 < Eridius> ok agl, http://codereview.appspot.com/153053
02:24 < flea__> I am reading it
02:24 -!- jepler [n=jepler@emc/developer/jepler] has joined #go-nuts
02:24 -!- kaib [n=kaib@216.239.45.130] has joined #go-nuts
02:24 -!- MarkBao [n=MarkBao@pool-98-110-164-56.bstnma.fios.verizon.net] has quit
[Read error: 104 (Connection reset by peer)]
02:24 < gavin___> agl: http://pastebin.com/m25538c76
02:24 < flea__> it would appear that the philosophy is geared towards
stateless machines
02:24 <+rsc9> agl: http://codereview.appspot.com/152051
02:24 <+agl> Eridius: have you done the
http://golang.org/doc/contribute.html#copyright bits?
02:25 <+agl> rsc9: LGTM
02:25 < soul9> gavin___: include $GOBIN in your path?
02:25 < Eridius> agl: not yet.  I wasn't sure if a 1-line fix to an emacs
mode really counted as contributing :p
02:25 <+agl> gavin___: mkdir $GOBIN and make sure that it's in your path
02:25 -!- pjina3 [n=pjina3@231.169.66-86.rev.gaoland.net] has joined #go-nuts
02:26 <+agl> gavin___: (sorry if you've been though that already.  I'm
loosing track of people.)
02:26 <+agl> Eridius: any patch counts :)
02:26 < Eridius> pfft
02:26 < Eridius> fine
02:26 < witeness> ok, i did what you guys said, and it says i still don't
have quietgcc.  heres my .bash_profile http://pastie.org/693073
02:26 < danderson> Eridius: the cool thing is that the ICLA can be filled
out online in about 20 seconds
02:26 < gavin___> agl: no problem.  i did that, the dir exists
02:26 <+agl> Eridius: you should send CONTRIBUTORS CLs to rsc
02:26 < danderson> well, plus a couple of minutes to read what you're
signing, obviously :)
02:26 < KillerX> gavin___: you didn't add $GOBIN to your path
02:26 < deadlycheese> sorry if this has been answered already - need help
with this error (received while making the distribution):
02:26 < deadlycheese> gopack grc _test/archive/tar.a _gotest_.6
02:26 < deadlycheese> make[2]: Leaving directory
`/usr/local/src/go/mercurial_repo/src/pkg/archive/tar'
02:26 < deadlycheese> gotest: error: no tests matching Test([^a-z].*)?  in
_test/archive/tar.a
02:26 < deadlycheese> make[1]: *** [test] Error 2
02:27 -!- aldaor [n=chatzill@201.250.108.246] has joined #go-nuts
02:27 < gavin___> KillerX: I did export GOBIN=$HOME/bin
02:27 < Eridius> agl: and I really have to put myself in AUTHORS as well?
02:27 -!- cbarrett [n=Adium@adium/cbarrett] has joined #go-nuts
02:27 < soul9> witeness: did you export path in the current session?
02:27 <+rsc9> deadlycheese: http://code.google.com/p/go/issues/detail?id=7
02:27 <+rsc9> not sure yet
02:27 <+agl> deadlycheese: several people have reported that.  It's
http://code.google.com/p/go/issues/detail?id=7
02:27 <+agl> Eridius: if it says so
02:27 < witeness> soul9: i don't understand what you mean
02:27 -!- fivebats [n=anonymou@c-76-115-189-78.hsd1.or.comcast.net] has joined
#go-nuts
02:27 < KillerX> gavin___: `which quietgcc' gives a valid path?
02:27 < deadlycheese> thanks all, much appreciated.
02:27 < witeness> ohh
02:28 < soul9> export PATH⋯
02:28 -!- Rob_Russell [n=chatzill@206-248-157-156.dsl.teksavvy.com] has joined
#go-nuts
02:28 < mrd`> How does go handle out-of-memory conditions?
02:28 <+agl> witeness: export PATH=$ isn't familiar to me, but it might be
correct.
02:28 < gavin___> KillerX: was that meant to be executed?  because i did and
nothing was outputted
02:28 -!- a389742 [n=a389742@136.152.170.253] has joined #go-nuts
02:28 < flea__> is go suitable for writing server daemons, or is it more for
pipeline processing?
02:28 < Eridius> ok http://codereview.appspot.com/153055
02:28 -!- bizarrefish [n=bizarref@abdn004.abdn.ac.uk] has joined #go-nuts
02:29 <+agl> mrd`: I've never pushed it there, I'm actually not sure.
02:29 -!- naderman [n=naderman@phpbb/developer/naderman] has joined #go-nuts
02:29 < soul9> well, just setting path doesn't seem to do it for me, i need
to export it.
02:29 < KillerX> gavin___: yep.  so that means you have a problem with your
$PATH.  Look in $GOBIN to see if quietgcc is actually there?
02:29 <+agl> flea__: very suitable for servers
02:29 < witeness> agl: one of the other people told me to do that
02:29 <+agl> witeness: probably you want a clean terminal and export
PATH=$GOBIN:$PATH
02:29 < KillerX> rsc9: I get an error for the libnet tests, already
reported?  http://pastebin.com/m666cac6f
02:29 < cbarrett> Congrats on the release, guys.  Looks like a fun systems
language.  I think some of the design choices aren't suitable for application
development, but you can't fault someone for not accomplishing what they didn't
set out to do, eh?  ;)
02:29 -!- keishi [n=keishi@h116-000-230-016.ms01.itscom.jp] has joined #go-nuts
02:29 <+agl> KillerX: fixed on trunk.  hg pull -u
02:30 < KillerX> agl: thanks!
02:30 < gavin___> KillerX: quietgcc is actually there
02:30 < Eridius> btw agl, is there any way of changing the primary email
associated with my google account to not be my @gmail.com one?  I've never figured
out how to do it, and it's getting rather irritating
02:30 < bizarrefish> hi, all
02:30 < flea__> agl: but don't servers store some kind of 'state' (like a
list of sessions) which would be shared between many concurrent processes (or
goroutines in go's case)
02:30 < mpurcell> agl: www.michaelpurcell.info/trace
02:30 < benno> rsc9: is there anyway to interface with inline assembler?
02:30 < KillerX> gavin___: ok that probably means your $PATH is wrongly set
02:30 <+agl> Eridius: you might need a new Google account for that.
02:30 -!- seanstickle [n=seanstic@c-68-33-221-168.hsd1.dc.comcast.net] has quit []
02:31 <+rsc9> benno: no, you'd have to write a .s file
02:31 < Eridius> :/
02:31 <+agl> benno: asm goes in a different file
02:31 < gavin___> KillerX:
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games
02:31 < benno> cool, inline asm is (usually) kind of evil anyway
02:31 < gavin___> KillerX: that's the value of $PATH
02:31 -!- taaz [n=dlehn@pool-71-171-26-87.nwrknj.east.verizon.net] has joined
#go-nuts
02:31 -!- ltriant [n=ltriant@lithium.mailguard.com.au] has joined #go-nuts
02:31 -!- Altercation [n=Altercat@pdpc/supporter/active/altercation] has joined
#go-nuts
02:31 < KillerX> gavin___: which is wrong, there's no $GOBIN in there
($HOME/bin by default)
02:31 < benno> I goess I can add some intrinsics (?)
02:32 < mrd`> flea__: You just architecture your server slightly
differently.
02:32 <+agl> mpurcell: thanks.  The kernel really is returning a different
ERRNO.  Fix has landed in trunk.
02:32 -!- wurtog [n=wurtog@189.104.21.44] has joined #go-nuts
02:32 < witeness> doing export PATH=$ makes all my commands not work....
02:32 < gavin___> KillerX: so how do i add $GOBIN to $PATH?  im a bit of a
*nix noob
02:32 < mpurcell> agl: so a new check out will prolly fix?  thx dood
02:32 -!- jamesr [n=jamesr@nat/google/x-qmnubzjpdhizhpge] has joined #go-nuts
02:32 < flea__> mrd`: is there an example of a daemon somewhere?
02:32 <+agl> witeness: yes, I would expect that.  You should open a new
terminal and start with a fresh environment.
02:32 < soul9> witeness: export PATH=$PATH:$GOBIN
02:32 < soul9> is the full command
02:32 < KillerX> gavin___: export PATH=$PATH:$GOBIN, provided $GOBIN is
defined
02:32 <+agl> gavin___: export PATH=$GOBIN:$PATH
02:33 < soul9> the ellipsis at the end meaning⋯
02:33 < mrd`> flea__: For go, I'm not sure; I'm at least speaking from
experience writing web servers in Erlang.
02:33 < manveru> i still have test failures on linux/amd64:
http://pastie.org/private/sxwwma6mfucqqhzrvdegw
02:33 < soul9> ⋯ that the sentence was not finished :P
02:33 <+agl> flea__: there's godoc, which serves golang.org.  Also there's a
very basic TLS server in crypto/tls
02:33 -!- chrome [i=chrome@202.60.77.116] has joined #go-nuts
02:33 < deadlycheese> rsc9: I updated Issue 7 with the results of 'sh -x
gotest'
02:33 < flea__> agl: thanks, I'll check it out
02:33 < soul9> witeness: sorry for the confusion
02:34 -!- Irssi: #go-nuts: Total of 125 nicks [0 ops, 0 halfops, 4 voices, 121
normal]
02:34 <+agl> manveru: no idea, but everything is already built and installed
by that point.
02:34 < flea__> mrd`: give me the basic filopastry ...  er ...  philospopht
02:34 < witeness> soul9: that makes everything break
02:34 < flea__> :P typing fail
02:35 < soul9> witeness: not in the same session, since your path is broken
there now
02:35 -!- wurtog [n=wurtog@189.104.21.44] has quit ["Saindo"]
02:35 -!- bobappleyard1 [n=bob@cpc4-macc1-0-0-cust170.bagu.cable.ntl.com] has
joined #go-nuts
02:35 -!- OxB001 [n=mathieuc@bas1-quebec03-1279635746.dsl.bell.ca] has quit
["brb"]
02:35 < gavin___> i was just wondering where did the original implementors
start?  where do you start such a large project?
02:35 < benno> agl: any details on what is needed by the runtime?  I guess,
that is is a case of read the fscking source?
02:35 < manveru> i think it should go 'cd ../', instead of 'cd ../test'
02:35 -!- hiromtz [n=hiromtz@h166.p027.iij4u.or.jp] has joined #go-nuts
02:35 < soul9> witeness: maybe you could try running your profile, or
running /bin/bash again
02:35 < witeness> ok well.  i still can't run ./all.bash cause i don't have
quietgcc
02:35 <+agl> benno: needed?  As in, does it use floats etc?
02:35 < mrd`> flea__: Have you written a web app with PHP?
02:35 < soul9> so your environment is recovered ;)
02:36 <+rsc9> benno: any subdirectory of src/pkg/runtime is a good place to
start
02:36 < flea__> mrd`: yes, but PHP is stateless
02:36 -!- debacle [n=chatzill@c-71-203-31-53.hsd1.fl.comcast.net] has joined
#go-nuts
02:36 < bobappleyard1> hey all, tried installing Go, make threw an error 2
while executing test
02:36 < soul9> witeness: what's your PATH?
02:36 < manveru> bobappleyard1: what's the error?
02:36 < mrd`> flea__: But you store state by sending messages to the
database.  You do the same thing in Erlang, except they're special (user-level)
processes responsible for storing different kinds of app-specific state.
02:36 <+agl> bobappleyard1: we have fixed a number of issues in the tests.
hg pull -u and try again.
02:37 < witeness> soul9: http://pastie.org/693073
02:37 < deadlycheese> bobappleyard1: probably
http://code.google.com/p/go/issues/detail?id=7
02:37 < witeness> er
02:37 < witeness> minus that last line
02:37 < witeness> i deleted that
02:37 < flea__> mrd`: yes.  the daemon I wrote in C++ stored some state
variables in std::map, which was then accessed by each processing thread
02:37 < soul9> witeness: then do export PATH=$GOBIN:$PATH
02:38 < bobappleyard1> manveru: it's with pkg/net
02:38 < bobappleyard1> manveru: throw: index out of range
02:38 < flea__> mrd`: what I am trying to understand is how that can be done
in go
02:38 < witeness> soul9: you mean in the terminal?
02:38 < soul9> (it's the stuff behind the 4 that counts ;)
02:38 < mrd`> flea__: Have one goroutine manage the map, and have others
send messages and get responses from it.
02:38 <+agl> bobappleyard1: probably already fixed.  hg pull -u
02:38 < soul9> yeah
02:38 < bobappleyard1> agl: i'll give it a go
02:38 < soul9> behind the $
02:38 < flea__> mrd`: oooh ...  yes ...  of course
02:38 < mrd`> flea__: I don't know if that's the best way, but that's how
you'd do it in Erlang, and it should work in Go.
02:38 < benno> rsc9: ok cool, seems pretty minimal newosproc, os_init, plus
a couple of locking functions...
02:39 <+rsc9> benno: yeah, it shouldn't be bad
02:39 -!- Chris [n=chris@unaffiliated/chris] has joined #go-nuts
02:39 < benno> rsc9: awesome, too easy!
02:39 < witeness> soul9: i'm really confused.  cause i do that and then
nothing works, and you guys tell me to start a fresh session.  so i do and then
i'm back to where i was to begin with
02:39 < soul9> no
02:39 < flea__> ok, and so the processing goroutines have a channel to/from
the map manager gorouting I guess
02:39 < mrd`> flea__: Yeah.
02:39 < soul9> you wrote export PATH=$
02:39 < mrd`> flea__: Analogous to how PHP processes have a connection to
your SQL database.
02:40 < soul9> I said export PATH=$GOBIN:$PATH
02:40 < mrd`> flea__: (That's the analogy I was trying to make earlier.)
02:40 < witeness> oh
02:40 < flea__> mrd`: I assume go manages concurrent access to the channel
then
02:40 < mrd`> flea__: I assume so too.
02:41 < witeness> i didn't see the gobin:$path before
02:41 -!- rog [n=rog@c-69-181-203-73.hsd1.ca.comcast.net] has joined #go-nuts
02:41 < mrd`> flea__: It'd be pretty useless if not.  :)
02:41 < bizarrefish> hi, im on fedora, and im having a problem compiling 6g.
I have downloaded the repo, and am running all.bash, but am getting errors.
http://pastie.org/693092.  help would be great.  all my env vars are set up
properly(GOBIN,GOROOT)
02:41 < soul9> i wrote it twice or three times, but no worries :)
02:41 -!- mpowers [n=Marshall@ool-4353cfd6.dyn.optonline.net] has joined #go-nuts
02:41 < flea__> mrd`: would be good if agl could confirm that, but yeah
pretty useless otherwise
02:41 <+agl> flea__: currently I think channels have a global lock, but yea.
Channels are thread safe.
02:41 < flea__> orsum
02:41 <+rsc9> channels are thread safe; the global lock will go away
eventually.
02:42 -!- mjard [n=k@70.114.138.168] has joined #go-nuts
02:42 <+agl> bizarrefish: export GOARCH=x where x is 386 or amd64
02:42 -!- ltriant [n=ltriant@lithium.mailguard.com.au] has left #go-nuts []
02:42 < witeness> ohh sorry soul9: it comes up blue for some reason, and
when you highlight me in the same line, the background is blue.  so i can't see it
02:42 < Jerub> bizarrefish: they're probably set in your env, but not
exported, do export GOBIN GOROOT GOOS GOARCH
02:42 <+rsc9> but if you are sharing something at the granularity of a map,
it's not required to use a channel.  for small things sometimes a lock is just
what you want.  channels are better for managing overall program structure than
single pieces of data
02:42 -!- vsmatck [n=smack@64-142-40-6.dsl.static.sonic.net] has joined #go-nuts
02:42 < bizarrefish> agl, ah, i sees :) i exported gobin, goroot, but not
the other two
02:42 < soul9> witeness: heh $fooyou cant see this hahaha :P
02:42 -!- hmmb [n=hmmb@187.2.151.142] has quit ["Leaving"]
02:42 < bizarrefish> im silleh :(
02:43 < bizarrefish> ty
02:43 < witeness> soul9: actually i saw all of that for some reason
>.> its just gobin:$path that comes up blue haha
02:43 < mpurcell> agl: I checked out again and got the same error.
02:43 <+robpike> anyone written any go code yet?
02:43 -!- Suhail_ [n=suhaildo@adsl-76-254-63-248.dsl.pltn13.sbcglobal.net] has
joined #go-nuts
02:43 < flea__> robpike: I'm waiting for the eclipse plugin ;)
02:43 <+agl> mpurcell: if you checked out with -r release, then you don't
get the trunk
02:43 < bobappleyard1> robpike: based on your presentation i've written a
little PEG thing
02:43 < mpurcell> agl: could it be that i should not be using hg to get the
trunk release (wrong url?)
02:44 <+agl> mpurcell: you can just omit the -r release to get the latest
versions.
02:44 < bobappleyard1> i've yet to see if it works though
02:44 < bizarrefish> hmm, i wonder what nacl/i386 is..
02:44 < mpurcell> ah, just copy-pasted the -r release by accident
02:44 < gavin___> how does GO interact with libraries
02:44 < mpurcell> thx dude
02:44 < bobappleyard1> agl: thanks your advice worked
02:44 < gavin___> like say gfx libraries
02:44 <+agl> bizarrefish: NaCl is Native Client.  That code doesn't work
yet.
02:44 < bizarrefish> ah, right.
02:44 -!- RazvanM [n=RazvanM@dazzler.isi.jhu.edu] has joined #go-nuts
02:44 <+agl> gavin___: there's an FFI for interacting with C libraries.
02:45 < bizarrefish> so there is gonna be a vm?
02:45 <+agl> gavin___: see misc/cgo/gmp/gmp.go
02:45 <+agl> bizarrefish: you could write one if you wished, but there are
no plans.
02:45 < pjina3> hi
02:45 -!- n[ate]vw [n=natevw@96-25-134-180.yak.clearwire-dns.net] has joined
#go-nuts
02:45 <+agl> bizarrefish: Go compiles to machine code.
02:45 * uriel is waiting for the Plan 9 port ;P
02:45 < bizarrefish> yeah, but "native client" sounds like a vm/bytecode
thing to me.  (im probably wrong)
02:45 < bear> rsc9, posted a super simple all.bash patch to issues that adds
some basic checks for environment vars
02:46 <+robpike> bizarrefish: http://code.google.com/p/nativeclient/
02:46 < pjina3> what is this error?  make.bash: line 20:
/home/pjina3/bin/quietgcc: No such file or directory
02:46 <+rsc9> uriel: why not get started instead?
02:46 * benno ponders the suitability of go as an OS kernel programming language
02:46 < sstangl> agl: I can't seem to get the code-login command to work;
"hg code-login" doesn't prompt me for a login; it terminates cleanly.
02:46 <+robpike> for go to work well nacl needs a couple of fixes but we
hope they'll arrive
02:46 -!- Quadrescence [n=quad@unaffiliated/quadrescence] has joined #go-nuts
02:46 < uriel> rsc9: I was just joking, I have been bussy reading docs and
watching rob's talk since the thing came out, I'm certianly going to get started
before I fall asleep ;)
02:47 <+agl> sstangl: ping rsc9 for issues like that.
02:47 <+robpike> benno: i think go would make an interesting kernel
language.  you'd have to make some decisions about garbage collection.  you could
even turn it off
02:47 < bizarrefish> oo, i see.
02:47 < sstangl> rsc9: I can't seem to get the code-login command to work;
"hg code-login" doesn't prompt me for a login; it terminates cleanly.
02:47 <+agl> pjina3: make sure that $GOBIN exists and is in your PATH
02:47 -!- ddahl [n=ddahl@adsl-99-25-119-88.dsl.pltn13.sbcglobal.net] has joined
#go-nuts
02:47 < pjina3> ok
02:47 < kaib> benno: i'm certainly going to attempt simple os/kernel hacking
on embedded hardware.
02:47 < n[ate]vw> anyone else getting a "throw: index out of range" during
build after 'cd net && make test'?
02:48 < Jerub> n[ate]vw: yes.  it's issue #2 i think.
02:48 < bobappleyard1> n[ate]vw: that's the same as the error i got, hg pull
-u sorted me
02:48 <+rsc9> sstangl: pretend it worked and keep going
02:48 -!- gnomon
[n=gnomon@CPE0022158a8221-CM000f9f776f96.cpe.net.cable.rogers.com] has joined
#go-nuts
02:48 < uriel> robpike: would go2dis make sense?  or does go runtime
completely obviate dis?
02:49 < rog> read/write-only chans are lovely
02:49 < Quadrescence> Is it possible I could get that Go guy in higher
resolution? :D
02:49 < jamesr> the gopher?
02:49 < Quadrescence> Yes
02:49 < n[ate]vw> bobappleyard1: trying now, thanks (and looking into issue
#2)
02:49 <+agl> Quadrescence: see the images in the doc directory
02:49 <+rsc9> $GOROOT/go/doc/gordon
02:49 -!- mode/#go-nuts [+o agl] by ChanServ
02:50 -!- agl changed the topic of #go-nuts to: Go: http://golang.org | Please use
a pastebin (like pastebin.com) and include all context when reporting errors
02:50 < Quadrescence> GOrdon, GOpher.  You Google people are just too
clever.
02:50 -!- mode/#go-nuts [-o agl] by agl
02:50 -!- eck [n=user@unaffiliated/eck] has joined #go-nuts
02:50 < rog> chan<-(<-chan int)
02:50 < bobappleyard1> is there any serious distinction between structures
and references to structures?
02:50 -!- bpalmer [n=user@unaffiliated/bpalmer] has joined #go-nuts
02:50 < ddahl> anyone else get 'make.bash: line 10:
/home/ddahl/code/go/src/Make.: No such file or directory' running all.bash on
ubuntu?
02:51 -!- a389742 [n=a389742@136.152.170.253] has left #go-nuts ["Leaving..."]
02:51 -!- cce891ed [n=chtr@freya.dhcp.rose-hulman.edu] has joined #go-nuts
02:51 <+rsc9> bobappleyard1: one is not a pointer, the other is
02:51 < bobappleyard1> does it matter though?
02:51 <+rsc9> ddahl: export GOARCH GOOS GOROOT
02:51 < deadlycheese> ddahl - yes, you need to set GOOS and GOARCH
02:51 < eck> is it correct that go does not have exceptions (a la python,
java, ...)?
02:51 < sstangl> rsc9: what is the procedure for listing reviewers?  The
commit is a small change to the bash scripts.
02:51 < ddahl> thanks
02:51 <+robpike> rog: hey thanks.  spent ages fussing over them
02:51 <+rsc9> sstangl: you can list me or agl.  see also
http://golang.org/doc/contribute.html#copyright
02:51 <+robpike> the go guy is named gordon and there are hi res versions
under go/doc/gordon
02:52 <+agl> bobappleyard1: in usage, there's no different.  However,
non-pointer structures are passed by value.
02:52 < sstangl> rsc9: already added.  Thanks.
02:52 -!- whakojacko [i=43ab40c6@gateway/web/freenode/x-ahknsgedeqdvjkxd] has
joined #go-nuts
02:52 <+robpike> a structure is a value.  a reference (pointer) to a
structure is a pointer.
02:52 -!- gavin___ [n=gavin@d24-141-19-72.home.cgocable.net] has quit ["Lost
terminal"]
02:52 < bobappleyard1> agl: so if i assign it to a variable it assigns the
members?
02:52 -!- MarkBao [n=MarkBao@pool-98-110-164-56.bstnma.fios.verizon.net] has
joined #go-nuts
02:52 < bobappleyard1> no identity etc?
02:52 <+robpike> if your function takes a struct it will receive a copy.  if
it takes a pointer it will share the copy
02:52 < rog> robpike: nice syntax too.  i wondered for ages how to do them
in limbo
02:52 < mpurcell> agl: new error: http://pastebin.com/m16ec0f7c
02:52 < bobappleyard1> robpike: ok thanks
02:52 < mpurcell> another failed test
02:52 < Eridius> ok agl, I've separated my emails into separate google
accounts and resubmitted my patch as 153056.
02:53 -!- ed1t [n=edited@unaffiliated/ed1t] has joined #go-nuts
02:53 < bobappleyard1> robpike: as i suspected
02:53 < gnomon> Are there public logs for this channel up anywhere yet?
02:53 <+agl> mpurcell: could you do the strace thing again?
02:53 < rog> was there any reason to leave out the : in typed var decls, or
just brevity?
02:53 < mpurcell> yep
02:53 -!- seakazam [n=jc@c-71-198-182-167.hsd1.ca.comcast.net] has joined #go-nuts
02:53 <+robpike> ken didn't want colons
02:54 -!- fqhuy [n=huy@133.64.1.254] has joined #go-nuts
02:54 < ed1t> I am trying to install it on mac but its giving me the
following error make.bash: line 20: /Users/ed1t/bin/quietgcc: No such file or
directory
02:54 <+robpike> that meant we needed var as a keyword but that cleaned up a
lot of stuff
02:54 < vsmatck> I'm getting "make: quietgcc: Command not found" on debian
lenny.
02:54 -!- philcrissman [n=philcris@c-75-72-98-108.hsd1.mn.comcast.net] has joined
#go-nuts
02:54 < fqhuy> ed1t: create ~/bin and try again
02:54 -!- nonet [n=nonet@c-69-181-203-73.hsd1.ca.comcast.net] has joined #go-nuts
02:54 < vsmatck> Maybe same problem as ed1t?
02:54 < fqhuy> vsmatck: do the same thing
02:54 < mpurcell> agl: www.michaelpurcell.info/trace
02:54 < pjina3> ok, installation done thanks agl :)
02:55 <+agl> pjina3: no prob
02:55 < vsmatck> fqhuy!  Thanks!  It's there but my path is messed up.  :)
02:55 <+agl> vsmatck: ed1t: you need $GOBIN to exist and to be in your PATH
02:55 < manveru> i can't find any information about whether functions can
take blocks/closures/lambdas/...
02:55 < fqhuy> hi everybody, I tried to compile Go under Fedora 12 and got
the error error: no tests matching Test([^a-z].*)?  in _test/archive/tar.a
02:55 <+robpike> functions are closures.  they just work.  have fun
02:55 < Jerub> fqhuy: reported bug, issue 7
02:56 <+agl> manveru: you can write a func inline and it's a closure
02:56 < flea__> any plans to add += -= *= operators?
02:56 -!- tommost [n=tommost@137.112.104.228] has joined #go-nuts
02:56 <+agl> fqhuy: known issue, no ideas yet.
02:56 < Jerub> fqhuy: i'm seeing the same problem on fedora 11.
02:56 < manveru> agl: ah, thanks
02:56 <+robpike> += etc are there
02:56 -!- codo [n=codo@ip70-185-104-229.ga.at.cox.net] has joined #go-nuts
02:56 -!- foof [n=user@FL1-119-239-38-70.osk.mesh.ad.jp] has joined #go-nuts
02:56 <+robpike> &^= too
02:56 < codo> phew.
02:56 < gnomon> Heya, foof.
02:56 < foof> hey
02:56 < fqhuy> Jerub: agl no solution ??
02:56 < rog> robpike: currently that syntax is my main obstacle when reading
go code...  particular when both var and type are single letters.  i have to think
"no, it's not C"!
02:56 -!- mode/#go-nuts [+o agl] by ChanServ
02:56 -!- freespace [i=foobar@85.203.232.72.static.reverse.ltdomains.com] has
joined #go-nuts
02:56 < manveru> wondered how to avoid the annoying for {} statements, that
might be a way to abstract iteration :)
02:56 -!- agl changed the topic of #go-nuts to: Go: http://golang.org | Bug
tracker: http://code.google.com/p/go/issues/list | Please use a pastebin (like
pastebin.com) and include all context when reporting errors
02:57 -!- mode/#go-nuts [-o agl] by agl
02:57 < flea__> robpike: can't see them here
http://golang.org/doc/go_spec.html#Operators ?
02:57 <+agl> mpurcell: looking
02:57 < mpurcell> agl: context was GOROOT of /opt/go with GOBIN /opt/go/bin
02:57 < Jerub> fqhuy: the tests occur after installation, it's actually
installed but the tests aren't running
02:57 < mpurcell> np dude
02:57 -!- brontide [n=brontide@cpe-74-70-32-224.nycap.res.rr.com] has joined
#go-nuts
02:57 -!- deadlycheese [n=tfolger@c-75-70-207-113.hsd1.co.comcast.net] has quit
[Excess Flood]
02:57 < sstangl> rsc9: is your commit nick also rsc9?
02:58 -!- deadlycheese [n=tfolger@c-75-70-207-113.hsd1.co.comcast.net] has joined
#go-nuts
02:58 -!- Suhail [n=suhaildo@adsl-99-23-191-213.dsl.pltn13.sbcglobal.net] has quit
[Connection timed out]
02:58 -!- Suhail_ is now known as Suhail
02:58 < fqhuy> Jerub: so I can use Go now without any problems ?
02:58 <+agl> fqhuy: I've lost your context I'm afraid.
02:58 < Jerub> agl: the Test can't be found bug
02:58 <+agl> sstangl: rsc9 is rsc otherwise
02:58 < Jerub> fqhuy: unknown, but you should be able to compile and run
code at least.
02:58 <+agl> Jerub: rsc9 suspects that it might be a problem with UTF8 and
grep.  He's working on it with someone.
02:59 < mpurcell> hehe, you guys must be pounding back the energy drinks
with all of these questions.
02:59 -!- kaib is now known as foo_
02:59 < bizarrefish> ok, now i'm getting a lot further, but the runtime is
failing to build.  I end up a compiler, but no "fmt" module.  here is my env:
GOBIN=/home/lee/go_bin GOARCH=amd64 GOROOT=/home/lee/GO GOOS=linux/amd64
02:59 -!- foo_ is now known as kaib
02:59 < Jerub> ...
02:59 < sstangl> rsc9: "abort: error: Connection refused" upon hg change.
02:59 < bizarrefish> i get make[1]: *** No rule to make target `rt0.6',
needed by `_obj/runtime.a'.  Stop.
02:59 <+rsc9> sstangl: hg pull -u
02:59 <+rsc9> sorry
02:59 < fqhuy> hehe, so much people are interested in new PL
02:59 < joeyadams> lol, the speaker in the Go Google Tech Talk certainly has
a way of saying code quickly in words, particularly fmt.Fprintf(os.Stdout, "%s, ",
"hello");
02:59 < codo> when it is from rob pike, it is natural fqhuy
03:00 <+rsc9> bizarrefish: pastebin a bigger error
03:00 -!- Super-Dot [n=Super-Do@adsl-76-236-70-213.dsl.pltn13.sbcglobal.net] has
left #go-nuts []
03:00 <+agl> mpurcell: are you root, or is the filesystem otherwise odd?
03:00 < mpurcell> root
03:00 -!- OxO [n=mathieuc@bas1-quebec03-1279635746.dsl.bell.ca] has joined
#go-nuts
03:00 < mpurcell> install globally
03:00 < mpurcell> in /opt
03:00 <+agl> bizarrefish: GOOS is wrong
03:00 < Jerub> okay, trivial fix i just tried didn't work.
03:00 < foof> yay, strings are immutable!  :)
03:00 < bizarrefish> agl, it is?
03:00 < mpurcell> than going to make it root:users with approp modes
03:00 -!- apetrescu [n=apetresc@129.97.98.237] has joined #go-nuts
03:00 < mpurcell> but atm just root
03:01 <+agl> bizarrefish: GOOS=linux, no '/'
03:01 <+agl> bizarrefish: although I'd be interested to know where you got
the linux/amd64 because you aren't the first person we've confused with that.
03:01 < bizarrefish> oh...i think i see where i misread.  oop.
03:01 < brontide> anyone get it to build on Centos5?  I get a "throw: index
out of range" and then lots of debugging
03:01 < bizarrefish> agl: http://golang.org/doc/install.html#tmp_41
03:01 -!- paulsmith [n=paul@c-69-251-254-163.hsd1.md.comcast.net] has joined
#go-nuts
03:01 < mpurcell> agl: The valid combinations are linux/amd64, linux/arm,
linux/386, darwin/amd64, darwin/386, and nacl/386.
03:02 <+agl> mpurcell: I think the test is failing because you're root and
can ignore DAC permissions.
03:02 < mpurcell> ^thats a quote from install page
03:02 -!- dsymonds [n=dsymonds@203.39.247.241] has quit []
03:02 < mpurcell> agl: Ah, okay, I will install as a normal user
03:02 <+agl> brontide: hg pull -u
03:02 < bizarrefish> I see how i have got confused, it's still my bad
though, i should have read it better.
03:02 -!- the1andonlycary [n=cary@adsl-99-141-67-172.dsl.chcgil.sbcglobal.net] has
joined #go-nuts
03:02 -!- ed1t [n=edited@unaffiliated/ed1t] has quit []
03:02 -!- whakojacko [i=43ab40c6@gateway/web/freenode/x-ahknsgedeqdvjkxd] has quit
["Page closed"]
03:02 < chrome> Is there any documentation on the "foreign function
interface"?
03:03 < sstangl> rsc9: great!  worked :)
03:03 -!- shawn___ [n=shawn@208-78-98-92.slicehost.net] has joined #go-nuts
03:03 <+agl> chrome: see misc/cgo/gmp/gmp.go
03:03 < chrome> agl: thanks
03:03 < pjina3> bye everybody
03:03 -!- pjina3 [n=pjina3@231.169.66-86.rev.gaoland.net] has quit ["Leaving"]
03:03 < shawn___> has there been any mention of go on app engine?
03:04 -!- shawn___ is now known as shawn
03:04 < codo> so in which language is go implemented ?
03:04 < the1andonlycary> running ./all.bash yields "$GOROOT is not set
correctly or not exported", but env shows GOROOT set correctly...  any help?
03:04 -!- dsymonds [n=dsymonds@203.39.247.241] has joined #go-nuts
03:04 < kaib> codo: mostly c
03:04 < sfuentes> i'm guessing GOOS=linux works fine under cygwin?  is this
true?
03:04 < codo> wow, wow!
03:04 -!- _Hicham_ [n=hicham@wana-170-245-12-196.wanamaroc.com] has joined
#go-nuts
03:04 < kaib> codo: the compilers, libraries all in go
03:04 < codo> I see.
03:04 -!- dougie [n=doug@h85.14.89.75.dynamic.ip.windstream.net] has joined
#go-nuts
03:04 < _Hicham_> i am having a hard time compiling go
03:04 < kaib> sfuentes: i don't think anyone has tried.
03:04 -!- eharmon [n=eharmon@c63.be] has joined #go-nuts
03:04 < codo> compiler means the AST generator et al, lookup symbol table
implemetnation etc ?
03:04 < _Hicham_> this is the error i get : gotest: error: no tests matching
Test([^a-z].*)?  in _test/archive/tar.a
03:05 -!- mode/#go-nuts [+v kaib] by ChanServ
03:05 < _Hicham_> does anyone knows how to solve that ?
03:05 < _Hicham_> nobody?
03:05 <+agl> _Hicham_: not yet, we're working on it.
03:05 <+rsc9> _Hicham_: no, nobody knows how to solve that
03:05 <+agl> _Hicham_: however, everything is built and installed at that
point
03:05 <+kaib> codo: yes, or i should qualify that answer.  the plan9 based
compiler chain is C, gccgo the gcc frontend is in c++.
03:06 <+rsc9> if you do cd $GOROOT/src/pkg/archive/tar; sh -x gotest
03:06 <+rsc9> then you will see the commands it is running
03:06 <+rsc9> (or look at $GOBIN/gotest)
03:06 <+agl> the1andonlycary: probably you need to export these variables?
03:06 <+rsc9> i think the 6nm | grep pipeline is not working.  if you can
figure out which piece isn't working, please do.  ;-)
03:06 < the1andonlycary> I have export GOROOT=$HOME/go in my ~/.bash_profile
03:07 -!- apetrescu_ [n=apetresc@129.97.98.237] has joined #go-nuts
03:07 < rog> why doesn't indexing a string yield a character?
03:07 -!- XfactorX [n=XfactorX@88.224.34.253] has joined #go-nuts
03:08 <+rsc9> because a string is utf-8, so getting a character index is
O(n)
03:08 < rog> (i.e.  a unicode code point)
03:08 -!- dsymonds [n=dsymonds@203.39.247.241] has quit [Read error: 104
(Connection reset by peer)]
03:08 -!- dsymonds_ [n=dsymonds@203.39.247.241] has joined #go-nuts
03:08 <+rsc9> (or O(i))
03:08 < rog> ok.
03:08 < vsmatck> Got it built on debian lenny.  :)
03:08 -!- dsymonds_ is now known as dsymonds
03:08 < mpurcell> almost have it built on ARCH
03:08 <+rsc9> but you can do for i, c := range str { fmt.Printf("%d %c\n",
i, c) }
03:08 < rog> so you decided not to go the all-rune way unlike limbo
03:08 < mpurcell> friend is making a PKGBUILD for it
03:08 -!- Lenneth [n=Lenneth@S010600119502636d.wp.shawcable.net] has joined
#go-nuts
03:08 < mpurcell> so it can be package managed
03:08 <+rsc9> rog: strings don't have to be utf-8 either, they just
typically are.
03:08 <+rsc9> they're not required to be
03:08 < rog> sure
03:09 < fqhuy> ya, just ran Go Helloword
03:09 <+agl> If you're waiting for me to answer or do something, I've
forgotten about it.  So ask again!
03:09 -!- ryan__ [n=ryan@ip-134-53-113-85.dhcp.muohio.edu] has joined #go-nuts
03:09 < brontide> agl: thanks, that seemed to work.  "0 known bugs; 0
unexpected bugs"
03:09 -!- TR2N [i=email@89.180.172.244] has joined #go-nuts
03:09 -!- igors [n=igors@189.71.90.150] has joined #go-nuts
03:09 <+rsc9> agl: http://codereview.appspot.com/152055
03:09 < the1andonlycary> agl: I have export GOROOT=$HOME/go in my
~/.bash_profile
03:09 < rog> is there a nice, cheap idiom for appending to a string?
03:09 -!- wurtog [n=wurtog@189.104.21.44] has joined #go-nuts
03:10 < sstangl> rsc9: that conflicts with the patch I just sent
03:10 < wurtog> hi, there is some plan to make a windows port of go ?
03:10 < sstangl> rsc9: http://codereview.appspot.com/152053
03:10 < mrd`> Hrm, I'm not convinced 'ulimit -m' does anything on OS X...
03:10 < sstangl> rsc9: I sent that to agl.
03:10 -!- NelsonLaQuet [n=nelson@smtp1.folkes.us] has joined #go-nuts
03:10 -!- srichand [n=pendyals@adsl-99-74-83-21.dsl.chcgil.sbcglobal.net] has
joined #go-nuts
03:11 < NelsonLaQuet> Has anyone put together a vim plugin for syntax
highlighting yet?
03:11 <+agl> the1andonlycary: I've forgotten your error, but do you have
GOOS and GOARCH set too?
03:11 < rog> oh.  no tuples?
03:11 <+rsc9> sstangl: i'd rather not make such a big change right now.  too
much is going on
03:11 <+agl> wurtog: no Windows plans at the moment.
03:11 < srichand> @NelsonLaQuet I just came into the room to ask that very
question :)
03:11 <+rsc9> rog: no, just parallel assignment
03:11 < NelsonLaQuet> hah
03:11 < wurtog> agl, ok.  thanks.
03:11 < the1andonlycary> agl: I have everything set
03:11 -!- wurtog [n=wurtog@189.104.21.44] has quit [Client Quit]
03:11 <+agl> NelsonLaQuet: srichand: misc/vim/go.vim
03:11 -!- XfactorX [n=XfactorX@88.224.34.253] has left #go-nuts ["Kopete 0.12.7 :
http://kopete.kde.org"]
03:11 < sstangl> rsc9: it's the same as that code, except that the code
resides in a new file in a generic function.
03:11 <+rsc9> it touches a lot more files
03:12 < sstangl> that it does
03:12 < rog> so if i want a chan<-(int, <-chan int) i'd have to
declare a structure.
03:12 < sfuentes> agl: how about cygwin support?
03:12 < NelsonLaQuet> @ agl: ?
03:12 < rog> hmm.  i've always found tuples really great.
03:12 <+rsc9> because we're doing this so hurried and therefore error-prone,
i'd like to keep things as simple as possible.
03:12 -!- travisbrady [n=tbrady@67-207-96-194.static.wiline.com] has quit []
03:12 <+agl> sfuentes: it might work.
03:12 <+rsc9> rog: sorry.  ;-)
03:12 < KirkMcDonald> rog: Use a struct?
03:12 <+agl> the1andonlycary: does echo $GOROOT work?
03:12 < mpurcell> Compiled on ARCH 2.6.31 from trunk :)
03:12 < mpurcell> expect a pkgbuild soon
03:12 < KirkMcDonald> rog: Oh, that's what you said.
03:12 < mpurcell> thx all
03:12 < the1andonlycary> agl: yes, it does
03:12 < KirkMcDonald> rog: I'm just slow.
03:12 < NelsonLaQuet> I got it to compile in an ubuntu VM just fine - but is
there a Windows port in the works?
03:12 < manveru> mpurcell: working on it
03:13 < srichand> agl: Thanks!
03:13 < mpurcell> manveru: oh good
03:13 < mpurcell> :)
03:13 <+agl> NelsonLaQuet: there's a vim syntax file in the source tree at
that location.
03:13 < NelsonLaQuet> ah
03:13 < NelsonLaQuet> thanks :)
03:13 <+agl> NelsonLaQuet: no Windows ports in the works AFAIK.
03:13 -!- adante [n=adante@59.167.212.65] has joined #go-nuts
03:13 -!- n[ate]vw [n=natevw@96-25-134-180.yak.clearwire-dns.net] has quit []
03:13 -!- apetrescu [n=apetresc@129.97.98.237] has quit [Nick collision from
services.]
03:13 -!- apetrescu_ is now known as apetrescu
03:14 -!- fqhuy [n=huy@133.64.1.254] has left #go-nuts []
03:14 -!- dchest [n=dchest@81.5.81.249] has quit []
03:14 < rog> rsc9: just a bit surprised.  it seems like they'd fit into the
model very easily
03:14 < NelsonLaQuet> That's sad.  Windows is my primary OS and I feel kinda
left out.
03:14 -!- n[ate]vw [n=natevw@96-25-134-180.yak.clearwire-dns.net] has joined
#go-nuts
03:14 < vsmatck> Would it work in Cygwin?
03:14 <+agl> the1andonlycary: then GOROOT does not point to a Go source
tree.
03:14 < NelsonLaQuet> Didn't try
03:14 -!- msw [n=msw@66.192.95.199] has joined #go-nuts
03:14 <+rsc9> rog: i really haven't felt their lack
03:14 <+rsc9> give it a shot
03:14 <+agl> vsmatck: it might work in cygwin, but I've not tried.
03:14 < the1andonlycary> agl: It does.  But I just tried adding echo $GOROOT
into the beginning of make.bash and it was blank there
03:15 < rog> i will.
03:16 < rog> no time right now though, sadly
03:16 <+agl> the1andonlycary: sounds like you know enough to figure it out.
If you have it set correctly then I'm out of ideas.
03:16 <+agl> the1andonlycary: you could just hack make.bash and set it
there.
03:16 < the1andonlycary> agl: thanks - I'm onto it
03:16 < rog> maybe i'll download it and have a play on the plane back to the
uk tomorrow
03:16 -!- offby1 [n=user@pdpc/supporter/monthlybyte/offby1] has joined #go-nuts
03:17 < offby1> like Beer Nuts, but with extra Pike/Thompson goodness.
03:17 < Kniht> the1andonlycary: did you export GOROOT or just set it?
03:17 < the1andonlycary> export
03:17 -!- bgs100 [n=ian@unaffiliated/bgs100] has joined #go-nuts
03:17 < the1andonlycary> Kniht: export
03:18 -!- aaront [n=aaront@unaffiliated/aaront] has joined #go-nuts
03:18 < joeyadams> Hmm, I wonder if gccgo can compile go for PowerPC
03:18 < kuroneko> umm, is hg code-login supposed to do nothing after
following the instructions on the submission page?
03:18 < manveru> NelsonLaQuet: tell the obj-c people :)
03:18 < mrd`> Doh, amd64 but 386, not i386 for GOARCH?  :/
03:19 <+agl> mrd`: just 386
03:19 -!- FreshMeat [n=crump@c-67-180-74-9.hsd1.ca.comcast.net] has joined
#go-nuts
03:19 < Sgeo> "# Hash tables are provided by the language.  They are called
maps.  "
03:19 < ddahl> i am wondering why those env vars are not sniffed
03:19 < Sgeo> Doesn't C++ have maps in the STL?
03:19 < manveru> but 386 runs on i686?
03:19 -!- rog [n=rog@c-69-181-203-73.hsd1.ca.comcast.net] has quit []
03:19 -!- teedex [n=teedex@204.14.155.161] has joined #go-nuts
03:19 -!- micje [i=56534af1@gateway/web/freenode/x-zdvgavrqisbpgdpr] has quit
["Page closed"]
03:19 < mrd`> agl: Yeah.  I built with amd64 on OS X, and so just assumed
i386 rather than 386.
03:19 < Kniht> Sgeo: yes
03:19 <+agl> manveru: yes
03:20 < the1andonlycary> Sgeo: C++ has maps in the STL, but they are
implemented as trees
03:20 < teedex> did anyone get go to compile on snow leopard (osx 10.2)
03:20 < the1andonlycary> Sgeo: not as hash tables
03:20 <+rsc9> snow leopard (10.6) works; 10.2 probably not
03:20 < Sgeo> Ah
03:20 <+agl> teedex: yes, it should work there.  You may wish to run hg pull
-u first.
03:20 * Sgeo is learning C++
03:20 <+rsc9> anyone having build problems: hg pull -u and try again
03:20 < teedex> agl: its been giving me make errors for some time now
03:20 <+agl> teedex: also, what Russ said.  10.2 isn't Snow Leopard :)
03:20 < Kniht> the1andonlycary: the STL also has hash_maps, and the stdlib
has unordered_maps
03:20 -!- Lenneth [n=Lenneth@S010600119502636d.wp.shawcable.net] has quit
["Leaving"]
03:20 < teedex> typo
03:20 * agl is going to get dinner
03:20 < wcn> 10.2 is PPC only, so no dice there.  ;-)
03:21 -!- me22 [n=me@modemcable033.52-81-70.mc.videotron.ca] has joined #go-nuts
03:21 < me22> hooray for CSP
03:21 -!- the1andonlycary [n=cary@adsl-99-141-67-172.dsl.chcgil.sbcglobal.net] has
left #go-nuts []
03:21 < Sgeo> Why is the syntax for types the opposite from C++?
03:21 < Sgeo> Is there a reason?
03:21 < philcrissman> was having trouble compiling on snow leopard; just did
hg pull -u, trying again...
03:22 < mpurcell> Sgeo: its not C++ :P
03:22 < uriel> Sgeo: I'm quite sure there is a reason for pretty mcuh
everything, read the language design FAQ and watch rob's presentation
03:22 < joeyadams> Does go have any database connectivity libraries?
03:23 -!- hiromtz [n=hiromtz@h166.p027.iij4u.or.jp] has quit [Read error: 110
(Connection timed out)]
03:23 < eharmon> where it is pulling the hostname from?  my build is failing
a test because somewhere on my box the FQDN is set in place of the hostname
03:24 -!- ilya [n=ilya@75.101.57.242] has quit [Connection timed out]
03:24 -!- eck` [n=user@bastion.gni.yelpcorp.com] has joined #go-nuts
03:24 -!- ryan__ [n=ryan@ip-134-53-113-85.dhcp.muohio.edu] has quit ["Leaving"]
03:24 < chrome> eharmon:
http://code.google.com/p/go/issues/detail?id=5&colspec=ID%20Type%20Status%20Owner%20Summary
03:24 -!- zoltan [n=chatzill@121.121.150.163] has joined #go-nuts
03:24 < philcrissman> yay.  doing hg pull -u solved the compile problem.  :D
03:24 -!- zoltan is now known as Guest77935
03:24 < Guest77935> hello
03:24 < Guest77935> i have a question
03:24 < eharmon> chrome: no I'm failing a different test " FAIL:
os_test.TestHostname"
03:25 < manveru> PKGBUILD for go-lang-hg:
http://aur.archlinux.org/packages.php?ID=31913
03:25 -!- Eiler [i=none@c213-100-25-200.swipnet.se] has joined #go-nuts
03:25 <+rsc9> eharmon: what is the output after the FAIL: line
03:25 < eharmon> rsc9: Hostname() = "c63.be", want "c63"
03:25 < Guest77935> im currenctly developing a software for our production
use, in D language
03:25 < manveru> atm installs simply into /opt/go-lang-hg, there may be
nicer ways but i don't know what it all needs exactly
03:26 -!- jsgotangco [n=JSG@ubuntu/member/jsgotangco] has quit [Read error: 60
(Operation timed out)]
03:26 < Guest77935> Go looks interesting, and i cant really tell where D is
heading
03:26 < Guest77935> so my question is
03:26 < brontide> website has "i, j = j, i; // Swap i and j." shoudn't that
be either prefixed with var or use the :=?
03:26 <+rsc9> eharmon: linux or darwin?
03:26 -!- jsgotangco [n=JSG@ubuntu/member/jsgotangco] has joined #go-nuts
03:26 < kuroneko> and I'm sorry the http proxy support is fugly >_>
03:26 <+kaib> Guest77935: shoot, i've done quite a bit of d development.
03:26 < eharmon> rsc9: linux
03:26 < dougie> getting same error as :http://pastebin.com/m25538c76 ...
what is correct syntax for $GOBIN in .profile on 'lenny' box?
03:26 <+rsc9> brontide: that's an assignment not a declaration
03:26 < Guest77935> hai kaib
03:26 < dsymonds> brontide: no, because i and j are already declared
03:26 <+rsc9> eharmon: cat /proc/sys/kernel/hostname; /bin/hostname
03:26 < Guest77935> im doing production quality software not just for fun
03:27 < Guest77935> so is Go's syntax going to remain stable or still
improving
03:27 -!- Metaphorically [n=chatzill@206-248-157-156.dsl.teksavvy.com] has joined
#go-nuts
03:27 < drhodes> go's interfaces look a lot like haskell's type classes, is
that safe to say?
03:27 <+kaib> Guest77935: i think it's a pretty good guess that the syntax
will stay relatively stable.
03:28 -!- wcn [n=wcn@216.239.45.130] has left #go-nuts []
03:28 < eharmon> rsc9: ah yeah, the kernel doesn't agree with /bin/hostname
(this machine hasn't been rebooted since it was setup), proc says c63.be, hostname
says c63, I assume go is looking at proc then?
03:28 < Guest77935> thx, thats all i need to hear
03:28 <+robpike> syntax unlikely to change much.  maybe a new feature or two
but syntax is stable.  libraries will grow and change, of course
03:28 < Kniht> dougie: GOBIN=$HOME/bin; export GOBIN # if that directory
exists, though you'll have to relogin to see it from ~/.profile, you can also just
set it in a shell before running ./all.bash
03:28 <+kaib> Guest77935: there might be additions (union types) but the
base syntax hasn't changed much in the last 12 months or so
03:28 <+rsc9> eharmon: os.Hostname looks at proc, and the test expects it to
match the output of /bin/hostname
03:28 -!- dschn [n=dschn@pool-70-19-224-19.bos.east.verizon.net] has joined
#go-nuts
03:28 <+kaib> what rob said.
03:28 -!- OxO [n=mathieuc@bas1-quebec03-1279635746.dsl.bell.ca] has quit
["Leaving"]
03:28 <+rsc9> eharmon: sounds like you know how to fix it: run hostname to
make it match the one in /proc
03:28 <+rsc9> ;-)
03:28 < Guest77935> good to hear :)
03:28 -!- wcn_ [n=wcn@ip68-3-237-83.ph.ph.cox.net] has joined #go-nuts
03:29 <+robpike> i guarantee we'll manage to break people's code even
without changing the syntax.  but we'll try to let you know first...  it's early
yet
03:29 -!- n[ate]vw [n=natevw@96-25-134-180.yak.clearwire-dns.net] has quit []
03:29 < eharmon> rsc9: yep, thanks, I should have figured it was something
of the sort
03:29 < mrd`> robpike: Does go have any facility for gracefully handling out
of memory conditions?  It seems to just SIGTRAP right now.
03:29 < Guest77935> nice
03:30 -!- Guest77935 [n=chatzill@121.121.150.163] has quit ["ChatZilla 0.9.85
[Firefox 3.5.5/20091102152451]"]
03:30 -!- aclements [n=aclement@c-66-31-201-199.hsd1.ma.comcast.net] has joined
#go-nuts
03:30 -!- mode/#go-nuts [+v aclements] by ChanServ
03:30 < joeyadams> bartwe> Go doesn't support Java-style generics yet.
Don't you know some stuff about that?  Just wondering.
03:31 -!- tommost [n=tommost@137.112.104.228] has left #go-nuts ["tommost: Check
your e-mail.  / cce891ed: god damn it"]
03:31 -!- dougie [n=doug@h85.14.89.75.dynamic.ip.windstream.net] has quit [Remote
closed the connection]
03:31 <+gri> Guest77935: note that there's a tool (gofmt) that pretty-prints
source code.  In the unlikely case that the syntax should change, this tool will
make it very easy to convert existing files.
03:31 <+rsc9> joeyadams: http://golang.org/doc/go_lang_faq.html#generics
03:31 < mpurcell> gri: a vim syntax highlighter is included
03:32 < thingie59> Go is only single-threaded for now, right?
03:32 < mpurcell> look under misc
03:32 <+rsc9> mpurcell: gri knows
03:32 -!- dougie [n=doug@h85.14.89.75.dynamic.ip.windstream.net] has joined
#go-nuts
03:32 <+agl> thingie59: no
03:32 < mpurcell> oh
03:32 < mpurcell> sorry, misread
03:32 < mpurcell> lol
03:32 < ote> ./test.bash: line 9: 11775 Floating point exception./hello
>>run.out
03:32 < thingie59> agl: proc.c "The default maximum number of ms is one: go
runs single-threaded."
03:32 -!- SiegeLord [n=siege@pool-71-124-166-56.bstnma.east.verizon.net] has quit
[Remote closed the connection]
03:33 < bobappleyard1> what does this mean?  "peg.go:24: m.Match·Fail() used
as value"
03:33 <+agl> thingie59: but you can change the default and make it
multi-threaded
03:33 < ote> (last line of output after running all.bash)
03:33 <+agl> ote: pastebin the source
03:33 <+agl> ote: oh
03:33 < thingie59> agl: It states that that is unsafe, due to the locking
not being completed
03:33 < srichand> Does anyone else get a segfault building it?
03:33 -!- diakopter [n=M8YCjC56@209.9.237.164] has joined #go-nuts
03:34 -!- rares_ [n=rares@c-69-143-38-77.hsd1.va.comcast.net] has joined #go-nuts
03:34 -!- wcn__ [n=wcn@216.239.45.130] has joined #go-nuts
03:34 <+rsc9> srichand: more info, pastebin, etc.
03:34 -!- yan_ [n=yan@pool-71-179-96-37.bltmmd.fios.verizon.net] has quit []
03:34 -!- zoltan [n=chatzill@121.121.150.163] has joined #go-nuts
03:34 -!- zoltan is now known as Guest4669
03:34 < abbyz> so why is that, var s = ""; needs a semi-colon when declared
inside the scope of main but not when declared at the top-level?
03:35 < srichand> @rsc9 http://pastebin.com/m6fa76522
03:35 <+agl> bobappleyard1: I would need to see the source
03:35 <+rsc9> abbyz: because all toplevel declarations/statements begin with
a keyword so the semicolon is redundant.
03:35 < Guest4669> sorry, cant any1 point me to Go with C linkage example :P
03:35 < dsymonds> abbyz: top-level declarations are allowed to drop the
semi-colon
03:35 < Guest4669> *can
03:35 <+agl> thingie59: there are certainly still bugs, yes.
03:35 -!- wcn__ is now known as wcn
03:35 < dsymonds> Guest4669: see the gmp example in the source tree
03:35 <+agl> Guest4669: misc/cgo/gmp/gmp.go
03:35 < Guest4669> thx
03:36 <+rsc9> srichand: ouch.  that's new.  please file an issue on the
issue tracker
03:36 < bobappleyard1> agl: i was being very silly nvm
03:36 < thingie59> When a goroutine sharing a thread blocks on a system
call, it implies that given multi-threading is enabled, the other goroutines are
migrated to non-blocked threads.  Am I understanding that correctly?
03:36 < abbyz> rsc9: ah, so that is why s:="" doesn't work at the top-level
either.  makes sense!
03:36 < srichand> rsc9: Oops,
03:36 < joeyadams> Sorry if I'm the million'th person who's asked this, but
does go work on Windows yet?  What's the status of it?
03:36 < srichand> will do
03:36 < dsymonds> joeyadams: no, it doesn't work on Windows (though maybe
Cygwin will work)
03:36 <+agl> joeyadams: there is no Windows support.
03:36 <+rsc9> joeyadams: no work has been done for Windows; maybe someone
will be motivated to do that.
03:37 -!- Guest4669 [n=chatzill@121.121.150.163] has quit [Client Quit]
03:37 <+rsc9> cygwin won't work out of the box; go gets too deep into the
low-level pieces and also writes its own executables.
03:37 -!- yan_ [n=yan@pool-71-179-96-37.bltmmd.fios.verizon.net] has joined
#go-nuts
03:37 < joeyadams> I wonder when go's going to be slashdotted.
03:37 -!- yan_ [n=yan@pool-71-179-96-37.bltmmd.fios.verizon.net] has quit [Client
Quit]
03:38 -!- Rob_Russell [n=chatzill@206-248-157-156.dsl.teksavvy.com] has quit [Read
error: 113 (No route to host)]
03:38 -!- eck [n=user@unaffiliated/eck] has quit [Connection timed out]
03:38 <+agl> thingie59: that's the plan
03:38 < manveru> where does go look up packages?
03:38 < manveru> it can't find fmt here
03:38 -!- me22 [n=me@modemcable033.52-81-70.mc.videotron.ca] has left #go-nuts
["Leaving"]
03:38 <+robpike> $GOROOT/pkg
03:38 < thingie59> agl: How is the stack memory allocated for a goroutine
not thread bound?
03:38 -!- codedread [i=180dd699@gateway/web/freenode/x-hfpqdkiymyzzjodq] has
joined #go-nuts
03:38 <+robpike> thingie59: it's on the heap
03:39 < abbyz> manveru: it's import "fmt" and not import fmt
03:39 -!- qwyeth [n=qwyeth@c-98-230-47-71.hsd1.fl.comcast.net] has joined #go-nuts
03:39 < manveru> abbyz: well, latter would result in a syntax error anyway
03:39 < dsymonds> manveru: post your code to a pastebin
03:39 < manveru> thanks, might not have that in
03:39 < thingie59> robpike: There's no possibility of C frames being on a
goroutines stack (including pushed return addresses)?
03:40 < manveru> the src dir isn't needed for usage of go?
03:40 <+agl> thingie59: you can compile C code with [68]c and everything
will work.
03:40 <+agl> thingie59: but we don't share the standing calling convention,
so you need the FFI otherwise.
03:40 <+robpike> manveru: no source needed
03:41 <+robpike> thingie69: gccgo is nearly there too.
03:41 -!- Isaiah [n=Isaiah@kohana/developer/isaiah] has left #go-nuts ["Leaving"]
03:42 -!- deadlycheese [n=tfolger@c-75-70-207-113.hsd1.co.comcast.net] has quit
[Excess Flood]
03:42 < chrome> robpike: anyone working on debian/ubuntu packages for go?
03:42 < bobappleyard1> http://pastebin.com/m29e58932 <-- go is telling me
that this doesn't have a return statement
03:42 -!- tokuhiro_____ [i=tokuhiro@p3065-ipbf6805marunouchi.tokyo.ocn.ne.jp] has
joined #go-nuts
03:43 -!- cheeaun [n=cheeaun@bb116-14-208-67.singnet.com.sg] has joined #go-nuts
03:43 <+agl> bobappleyard1: it's a known 6g bug.
03:43 -!- deadlycheese [n=tfolger@c-75-70-207-113.hsd1.co.comcast.net] has joined
#go-nuts
03:43 < bobappleyard1> argh
03:43 <+rsc9> chrome: no.  things are changing fast enough that we'd suggest
just using hg and being willing to rebuild.
03:43 <+agl> bobappleyard1: (you need a return after the else block)
03:43 < bobappleyard1> ok
03:43 <+rsc9> bobappleyard1: file an issue.  it's a long-standing bug and we
mean to address it.  f
03:43 < codo> so robpike this go seeks to handle the problems of pthreads ?
03:43 <+robpike> chrome: not that i know of.
03:43 <+rsc9> bobappleyard1: for now, you can mark those places with
panic("unreachable") so you can find them later, when we do fix it
03:44 -!- fynn [n=fynn@unaffiliated/fynn] has joined #go-nuts
03:44 < bobappleyard1> rsc9: do what now?
03:44 < dougie> compiled to here - http://pastebin.com/m385ed7b5 any
suggestions?  thx
03:44 <+robpike> dougie: more context please
03:45 -!- robpike [n=r@nat/google/x-mxznglsppdvejwwi] has left #go-nuts []
03:45 -!- robpike [n=r@nat/google/x-mxznglsppdvejwwi] has joined #go-nuts
03:46 -!- mode/#go-nuts [+v robpike] by ChanServ
03:46 -!- tjake [n=jake@75-44-151-7.lightspeed.smfrct.sbcglobal.net] has joined
#go-nuts
03:46 < sstangl> robpike: are there plans for a debugger in the works?
acid-like?
03:47 < cheeaun> I'm getting errors when compiling
https://gist.github.com/f0bd21b9033aa67524d0
03:47 -!- homa_rano [n=erice@LAPDANCE.MIT.EDU] has joined #go-nuts
03:47 <+robpike> sstangl: yes, a debugger is in the works.  not acid-like
exactly.
03:48 <+agl> cheeaun: it's a DNS failure.  Have you a firewall or some such
that might be stopping the lookup?
03:48 -!- justinvh [n=justinvh@quarter.xorse.com] has joined #go-nuts
03:48 < manveru> so i have GOROOT=/opt/go-lang-hg and a file at
/opt/go-lang-hg/pkg/linux_amd64/fmt.a but it tells me that it cannot find the
package fmt
03:48 -!- dsymonds [n=dsymonds@203.39.247.241] has quit []
03:48 <+robpike> cheeaun: that's a test failure.  compilations already done
03:49 <+agl> manveru: is GOOS==linux and GOARCH==amd64?
03:49 < cheeaun> agl: oh, just slow connection tho :/
03:49 -!- eck` [n=user@bastion.gni.yelpcorp.com] has quit [Read error: 60
(Operation timed out)]
03:49 < manveru> agl: does that need to be set after building even?
03:49 <+agl> cheeaun: like robpike said, you can just ignore the test
failures.  Everything is already built.
03:49 <+agl> manveru: yes
03:49 < manveru> oh
03:49 <+robpike> makefiles needs those variables to find things
03:49 -!- existsec_ [n=existsec@76-228-31-64.lightspeed.frokca.sbcglobal.net] has
joined #go-nuts
03:49 * manveru adds note
03:49 < cheeaun> agl robpike: ok thanks :)
03:49 < joeyadams> Would it be correct to say that Go was developed "by
Google"?
03:50 <+agl> joeyadams: by Googlers certainly
03:50 <+rsc9> bobappleyard1: inside the func(), after the else { ...  } you
can add panic("unreachable") to silence the warning
03:50 -!- eck` [n=user@adsl-76-199-96-175.dsl.pltn13.sbcglobal.net] has joined
#go-nuts
03:50 < joeyadams> I'm pretty sure it violates the license to say "My robust
product was made with Go, which was developed by Google" per the 3rd term of the
BSD license.
03:50 -!- eck` [n=user@adsl-76-199-96-175.dsl.pltn13.sbcglobal.net] has left
#go-nuts ["ERC Version 5.3 (IRC client for Emacs)"]
03:50 < bobappleyard1> rsc9: oh ok
03:50 -!- hiromtz [n=hiromtz@h166.p027.iij4u.or.jp] has joined #go-nuts
03:50 <+rsc9> cheeaun: http://code.google.com/p/go/issues/detail?id=5
03:50 <+agl> joeyadams: we do not give legal advice here for obvious
reasons.
03:51 -!- plux [i=plux@Psilocybe.Update.UU.SE] has joined #go-nuts
03:51 < joeyadams> They're not so obvious to me.  Do you mean because IRC
isn't a sound form of evidence in case of a legal dispute?
03:51 < joeyadams> I was just wondering.
03:51 <+rsc9> the obvious reason is that we are not lawyers
03:51 -!- igors [n=igors@189.71.90.150] has quit ["leaving..."]
03:51 < joeyadams> ah
03:52 < Jerub> To say '..  made with Go, which was developed by Ken Thompson
and Rob Pike" would be accurate.
03:52 < cheeaun> rsc9: aha, thanks!
03:52 <+robpike> made by the Go authors
03:52 < srichand> rsc9: Segfault Issue 16 fixed itself after a hg pull,
thanks :)
03:52 -!- KillerX [n=anant@gentoo/developer/KillerX] has quit ["Leaving."]
03:52 -!- cbarrett [n=Adium@adium/cbarrett] has left #go-nuts []
03:53 -!- patryk_ [n=patryk@mtw160-6.ippl.jhu.edu] has joined #go-nuts
03:53 <+rsc9> srichand: thanks
03:53 <+agl> srichand: marking as fixed.
03:53 < Jerub> wait, that's exactly the same as saying 'by google' because
they're contributors.  oh well.  :)
03:54 -!- wcn_ [n=wcn@ip68-3-237-83.ph.ph.cox.net] has quit [Read error: 110
(Connection timed out)]
03:54 < plux> just watched the go techtalk, looks interesting!
03:54 <+agl> rsc9: we have a stream of bug reports that are fixed on trunk.
Should we bump the release tag?
03:54 -!- dw [n=dw@unaffiliated/dw] has joined #go-nuts
03:54 <+rsc9> agl: yes, soon
03:54 < srichand> rsc9: What's the equivalent for "foo" and "bar"?
03:54 < plux> is there an go mode for emacs yet?
03:54 < Eridius> agl: I want to submit another patch to go-mode.el, but
153056 is still pending.  How do I create a separate changeset for another hunk in
the same file?
03:54 -!- interskh [n=interskh@CMU-295532.WV.CC.CMU.EDU] has joined #go-nuts
03:54 < Eridius> plux: misc/emacs/go-mode.el
03:54 < plux> Eridius: omg :P
03:54 <+rsc9> eridius: you can't, not easily.
03:54 < Eridius> plux: note that I have a pending fix for turning on go-mode
in an empty buffer
03:54 < plux> Eridius: funny how you just mentioned it, i'll check it out
right away
03:55 < plux> ok
03:55 -!- deus13 [i=boris@15.30.internet.uqam.ca] has quit ["Quitte"]
03:55 < plux> Eridius: are you the author of it?
03:55 <+agl> Eridius: did you get a patch landed to add yourself to the
CONTRIBUTORS etc?
03:55 < Eridius> plux: no
03:55 < Eridius> agl: yeah
03:55 < joeyadams> is go in pre-Alpha?
03:55 <+agl> Eridius: hang on 2 secs then.
03:55 < Eridius> agl: thanks
03:56 <+agl> joeyadams: Alpha and beta have little meaning around Google :)
03:56 < teedex> anyone have http test redirect fail ?
03:56 < patryk_> Hello - I'm getting "can't find import: fmt", even when
using -I with the 8g compiler (on Mac OS X)
03:56 -!- dw [n=dw@unaffiliated/dw] has left #go-nuts []
03:56 -!- Aria [n=aredride@coriolis.nbtsc.org] has joined #go-nuts
03:56 -!- sanxiyn [n=tinuviel@110.76.72.94] has joined #go-nuts
03:56 <+agl> patryk_: make sure that GOROOT, GOARCH and GOOS are set
correctly
03:57 < patryk_> agl: thanks
03:57 < teedex> " Get http://codesearch.google.com/: dial tcp
codesearch.google.com:http: lookup codesearch.google.com.  on 192.168.1.1:53: no
answer from server"
03:57 <+agl> patryk_: you should have $GOROOT/pkg/$GOOS_$GOARCH/fmt.a
03:57 < teedex> any idea why that is going to an internal / class c ip
03:58 -!- fax [n=somebody@unaffiliated/fax] has quit ["Leaving"]
03:58 <+rsc9> teedex: cat /etc/resolv.conf
03:58 <+agl> rsc9: hg clpatch 153056 failing with "error looking up
xyz@xyz.org: cannot parse result"
03:58 <+agl> teedex: it's your DNS server
03:58 <+rsc9> agl: which cl do you want me to submit?
03:58 <+agl> teedex: http://code.google.com/p/go/issues/detail?id=5
03:58 <+rsc9> i am still working out bugs
03:58 < jamesr> what datatype should you use to refer to a single UTF-8 code
point?
03:58 <+agl> rsc9: 153056 please.  I'll LGTM now.
03:59 <+agl> jamesr: int I believe
03:59 -!- PHG [n=PHG@ltsp2.csl.tjhsst.edu] has joined #go-nuts
04:00 < teedex> rsc9: yupp that was the issue ...  i wonder when i set it or
it got set
04:00 < antarus> teedex: networkmanager or dhcp on a recent distro
04:00 -!- RastusRufus [n=Elwood12@c-24-16-250-248.hsd1.wa.comcast.net] has quit
[Read error: 110 (Connection timed out)]
04:00 < antarus> er, dhcp client that is
04:00 <+robpike> jamesr: yes int
04:00 -!- cworth [n=cworth@u15218177.onlinehome-server.com] has joined #go-nuts
04:00 < sanxiyn> Watching tech talk
04:00 < sanxiyn> very impressive
04:00 < jamesr> and the language doesn't supply any way to do things like
'extract the 2nd code point out of this string'?
04:01 <+robpike> jamesr: you get int if you do for i, c := range s {}.  c
will be int
04:01 -!- jcowan [n=jcowan@cpe-74-68-154-139.nyc.res.rr.com] has joined #go-nuts
04:01 <+rsc9> jamesr: for arbitrary values of 2 that's an O(n) operation.
04:01 <+robpike> jamesr: libraries help but for...range is where it tends to
happen
04:01 -!- diatribes [n=diatribe@66.199.140.26] has joined #go-nuts
04:01 < _Hicham_> hah, I had to disable the exit status in gotest
04:02 -!- jcgregorio_ [n=chatzill@203.39.247.241] has joined #go-nuts
04:02 < _Hicham_> now, it compiles good, though the test didn't pass
04:02 < jamesr> ah, i see
04:02 < Eridius> agl: I just submitted a new patch against go-mode.el
(http://codereview.appspot.com/154044/show)
04:02 <+agl> jamesr: if you want fast, random access you should use a []int
04:02 < Sgeo>
http://www.reddit.com/r/programming/comments/a3184/go_an_experimental_language_from_google/c0fm4qy
04:03 < bobappleyard1> Sgeo: you laugh now..
04:03 < patryk_> agl: Confirmed, my environment vars not being correct was
the problem, thanks!
04:03 <+robpike> strings.Split and/or strings.Map can help you unpack a
string into []int
04:03 -!- mpurcell is now known as mpurcell|bed
04:03 <+agl> patryk_: np
04:04 <+rsc9> eridius: hg sync
04:04 < Quadrescence> Does Go have functions as first class values?
04:04 <+agl> Eridius: great, thanks.  It appears that the patch landing
process is "ask rsc9" at the moment, but I'll LGTM the patch.
04:04 <+agl> Quadrescence: yes
04:04 < Eridius> woot, thanks
04:04 < Eridius> agl: hehe
04:05 <+rsc9> eridius: again; thank you.
04:05 -!- PHG [n=PHG@ltsp2.csl.tjhsst.edu] has left #go-nuts []
04:05 < abbyz> no tail recursion though, is that right?
04:05 < Eridius> alright, now let's hope that at some point I can actually
finish reading the Go docs instead of playing around with the emacs file ;)
04:05 < dougie> Hicham : can you paste your gotest changes?
04:06 -!- bgs100 [n=ian@unaffiliated/bgs100] has quit []
04:06 -!- gri [n=gri@nat/google/x-itsdqpdbgzirzjtl] has left #go-nuts []
04:06 <+robpike> no tail recursion but it's been talked about quite a bit
04:07 < sanxiyn> Nice to see channels.  I always liked that.
04:07 < Eridius> go doesn't leverage llvm, does it?
04:07 < bobappleyard1> robpike: does that mean it's coming?  :)
04:07 <+robpike> tail recursion can make debugging harder but it's lovely
for some things
04:07 <+agl> Eridius: no LLVM yet.
04:07 <+robpike> go does not involve LLVM
04:07 < wcn> Eridius: no
04:07 < Eridius> darn
04:07 <+robpike> bobappleyard1: no promises
04:07 < bobappleyard1> ok
04:07 <+agl> Eridius: however, I want LLVM to get Klee so I might re-purpose
the gccgo frontend at some point.
04:08 < Quadrescence> I don't blame it for not using LLVM.  The API, in my
opinion, is a disaster and needs C++.
04:08 < Quadrescence> "needs" C++ *
04:08 -!- chickamade [n=chickama@123.16.71.175] has joined #go-nuts
04:08 < sanxiyn> Quadrescence: It doesn't?
04:09 < Quadrescence> sanxiyn: There's py-llvm and stuff.
04:09 < bobappleyard1> Quadrescence: i was put off llvm because of the c++
and the crazy ir
04:09 < sanxiyn> LLVM has C API and Mono did fine with using only C API.
04:09 -!- jcgregorio [n=chatzill@203.39.247.241] has quit [Read error: 60
(Operation timed out)]
04:09 < bobappleyard1> it has a c api?  damn
04:09 < sanxiyn> Sure.
04:09 < Quadrescence> sanxiyn: Maybe I'm not with the times.  But it was
terrible in C++, it being the API and whatever.
04:10 < aldaor> hi , I'm getting this error when the tests are running
http://pastebin.com/m36403a29 any ideas?
04:10 < sanxiyn> Quadrescence: Time to update your info :)
04:10 < abbyz> yeah, fact(-1) just made me do a hard reboot
04:10 <+agl> aldaor: do hg pull -u and try again.
04:10 < sanxiyn> Now we need github highlighter for Go language :)
04:11 < Quadrescence> sanxiyn: Ah, yeah, there are C bindings
04:11 < Eridius> heh
04:11 < Eridius> we need a textmate highlighter
04:11 < sanxiyn> github first!!!  =3
04:11 < Quadrescence> Can we start an emacs/<inferior editor> war now?
04:11 <+agl> Eridius: TextMate stuff got emailed to the list
04:11 <+robpike> aldaor: try an hg pull -u and see if that helps.  there
have been some fixes this afternoon
04:11 < manveru> ooh, textmate
04:12 < Eridius> agl: ah
04:12 <+rsc9> just moved the release tag, so new checkouts should stop
seeing the common bugs
04:12 <+rsc9> (and see new common bugs)
04:12 -!- patryk_ [n=patryk@mtw160-6.ippl.jhu.edu] has quit []
04:12 -!- id_sonic [n=id_sonic@222.178.152.94] has joined #go-nuts
04:12 -!- kill-9 [n=kill-9@cpe-65-24-145-70.columbus.res.rr.com] has quit []
04:13 -!- kill-9 [n=kill-9@cpe-65-24-145-70.columbus.res.rr.com] has joined
#go-nuts
04:13 -!- kill-9 [n=kill-9@cpe-65-24-145-70.columbus.res.rr.com] has quit [Client
Quit]
04:13 -!- diakopter [n=M8YCjC56@209.9.237.164] has left #go-nuts []
04:13 < Jerub> ooh, tests are running correctly now, good.
04:13 -!- rares_ [n=rares@c-69-143-38-77.hsd1.va.comcast.net] has quit
["Leaving..."]
04:14 < bobappleyard1> well smashing, all good fun
04:15 < bobappleyard1> my peg parser runs
04:15 < srichand> @aldaor I had the exact same error, a "hg pull -u" fixed
it
04:15 < bobappleyard1> see you chaps later!
04:15 -!- bobappleyard1 [n=bob@cpc4-macc1-0-0-cust170.bagu.cable.ntl.com] has left
#go-nuts []
04:15 < plux> any go books planned?
04:15 < sstangl> rsc9: whatever changed, the build error I was having with
archives in _test has been fixed.
04:16 < id_sonic> I get error when install go here is output :
http://gcode.appspot.com/7241/
04:16 -!- paulsmith [n=paul@c-69-251-254-163.hsd1.md.comcast.net] has quit [Read
error: 113 (No route to host)]
04:16 < id_sonic> onlyone can help me?
04:16 <+rsc9> sstangl: great, yep we fixed that one
04:16 <+rsc9> id_sonic: you are probably behind some kind of firewall
04:16 <+rsc9> id_sonic: if you want you can ignore the error: everything is
installed
04:17 < sanxiyn> Everything built & tested all right!  Nice.
04:17 <+agl> plux: I think the docs on the website are pretty good.  No need
for a book.
04:17 < sstangl> rsc9: http://fpaste.org/6MhT
04:18 < sanxiyn> agl: But, but...  no animals!  :(
04:18 < joeyadams> Is data passed through Go communication channels by
reference?
04:18 <+rsc9> sstangl: please file a new issue.  include the output of gcc
--version
04:18 <+agl> sstangl: hmm.  That generally means that we failed to parse the
DWARF output
04:19 <+agl> joeyadams: a chan x passes by value
04:19 <+agl> joeyadams: you can equally well have a chan *x
04:19 < aldaor> thanks agl robpike and srichand , tests are good
04:19 < joeyadams> ah, so it can pass by reference, but doesn't have to.
04:19 < plux> agl: yeah the docs are impressive really, just wondered if a
book was planned :)
04:19 < sstangl> rsc9: what's the SVN base to use in the form?  gog?
04:19 -!- qwyeth [n=qwyeth@c-98-230-47-71.hsd1.fl.comcast.net] has quit
["Ex-Chat"]
04:20 <+rsc9> sstangl: what form?
04:20 < id_sonic> rsc9: thanks.
04:20 -!- mpowers [n=Marshall@ool-4353cfd6.dyn.optonline.net] has left #go-nuts []
04:20 <+agl> sstangl: SVN?  We use hg
04:20 < sstangl> rsc9: http://codereview.appspot.com/new, after clicking
"Create Issue"
04:20 <+rsc9> sorry i mean the issue tracker in the #go-nuts topic
04:20 <+rsc9> http://code.google.com/p/go/issues/list
04:20 < sstangl> oh, ok.
04:20 < dougie> 0 known bugs; 0 unexpected bugs....  nice work folks
04:21 <+agl> sstangl: I don't see SVN on that page
04:21 <+robpike> no books planned but thanks for the nice words about the
docs
04:21 < sstangl> agl: the "SVN base" field.  Maybe we are seeing different
things due to user settings.
04:21 <+agl> sstangl: I suspect so.  I which case you can leave it blank.
04:21 -!- digijohn [n=digi@cpe-72-230-244-190.rochester.res.rr.com] has joined
#go-nuts
04:21 <+robpike> i'd rather write code than books at the moment...
04:22 -!- ggbgg [n=russ@c-24-6-33-44.hsd1.ca.comcast.net] has joined #go-nuts
04:22 -!- iant [n=iant@adsl-71-133-8-30.dsl.pltn13.pacbell.net] has joined
#go-nuts
04:22 -!- mode/#go-nuts [+v iant] by ChanServ
04:23 -!- srichand [n=pendyals@adsl-99-74-83-21.dsl.chcgil.sbcglobal.net] has left
#go-nuts []
04:23 < digijohn> Hi Rob; Go looks interesting, I think I'll have to give it
a shot when I get a chance
04:24 * sanxiyn is reminded of
http://www.eng.uwaterloo.ca/~ejones/writing/systemsresearch.html
04:24 -!- johncylee [n=john@61.57.131.211] has joined #go-nuts
04:24 < Quadrescence> robpike: I'd rather write books than code at the
moment [I'm pretty burnt out]
04:24 < uriel> robpike: I hope a book wont take as long to come out as the
Limbo book that you started writting and that we are still waiting to be released
;)
04:24 < uriel> (the go docs are indeed excellent so far, just like the plan9
man pages are fantastic, only thing I'm missing so far is the BUGS sections :))
04:25 -!- neenaoffline [i=neena@unaffiliated/neenaoffline] has joined #go-nuts
04:25 < _Hicham_> how do i add packages dirs to 6g ?
04:25 < _Hicham_> *8g
04:25 < _Hicham_> can't find import fmt
04:25 < uriel> (Inferno/Limbo docs on the other hand have always been sadly
of rather poor quality)
04:26 < mjard> _Hicham_: need to make sure your $GOROOT $GOARCH and $GOOS
are set correctly
04:26 < codedread> go takes too long to build - how long until you're
self-hosting?  :)
04:27 <+rsc9> uriel: http://golang.org/pkg/http/
04:27 < uriel> it wont take long to build if you use ken's C compilers to
build it ;)
04:27 -!- btaylor [n=btaylor@c-24-6-127-201.hsd1.ca.comcast.net] has joined
#go-nuts
04:27 -!- agl [n=agl@nat/google/x-lilyucnjczqhnpan] has quit ["Leaving"]
04:27 < uriel> rsc9: ah!  I see, cool :)
04:27 -!- Eiler [i=none@c213-100-25-200.swipnet.se] has quit [Read error: 60
(Operation timed out)]
04:27 <+rsc9> codedread: you only need to build the compilers once.
04:27 -!- cheeaun [n=cheeaun@bb116-14-208-67.singnet.com.sg] has left #go-nuts []
04:27 < codedread> rsc9: i was just joking :)
04:27 -!- defish [n=ubuntu@219.95.96.90] has joined #go-nuts
04:27 < id_sonic> _Hicham_: GOROOT=~/test/golang/ GOOS=linux GOARCH=386
GOBIN=~/test/golang/bin PATH=~/test/golang/bin:$PATH ./all.bash
04:28 <+rsc9> id_sonic: that will run everything but you need those
environment variables set to run the compiler
04:28 <+rsc9> so you won't get too far after you've built things
04:28 < _Hicham_> i ve successfully compiled go
04:28 < _Hicham_> i am talking about the hello world example
04:29 <+iant> you need the environment variables when you run 8g as well
04:29 -!- foof [n=user@FL1-119-239-38-70.osk.mesh.ad.jp] has quit [Read error: 110
(Connection timed out)]
04:29 -!- silassewell [n=silassew@c-71-237-114-144.hsd1.co.comcast.net] has joined
#go-nuts
04:29 <+robpike> yes everyone: just export those variables into your
environment
04:29 <+rsc9> _Hicham_: do you have the environment variables set?  what is
$GOARCH
04:29 -!- ajray [n=alex@wvc32563rh.rh.ncsu.edu] has joined #go-nuts
04:29 -!- jamesr [n=jamesr@nat/google/x-qmnubzjpdhizhpge] has quit []
04:29 < _Hicham_> rsc9 : ok, i will set them
04:29 < ggbgg> robpike: is it too late to get rid of all the uppercase?  :)
04:29 -!- paulbaumgart [n=paulbaum@cpe-66-75-245-65.san.res.rr.com] has joined
#go-nuts
04:29 < joeyadams> how many people were in #go-nuts this morning?
04:30 < joeyadams> When I got here, there were about 50
04:30 <+iant> joeyadams: 0 or 1, I would guess
04:30 < codedread> ggbgg, robpike: i agree, i don't like the uppercase
method names
04:30 < sanxiyn> I actually like uppercase names.
04:30 < joeyadams> was that when the channel was created?
04:30 < sanxiyn> Like C#.
04:30 < codedread> but it's just a choice
04:30 <+iant> joeyadams: agl created it yesterday
04:30 < joeyadams> at
04:30 < joeyadams> ah*
04:30 -!- danielrf [n=cgibreak@pool-96-248-174-38.chi01.dsl-w.verizon.net] has
quit ["leaving"]
04:30 <+robpike> the capitals are annoying for a while but then the
notational power they give you makes you miss them in other environments
04:31 <+robpike> no more snuffling around to find out whether a method is
private
04:31 < codedread> ah, i see
04:31 < wcn> I don't miss typing private and public at all.
04:31 <+robpike> or worse, waiting 10 minutes to have the compiler tell you
that
04:31 < wcn> shift is the new public.
04:31 -!- muthu [n=chatzill@12.156.138.2] has quit [Connection timed out]
04:31 <+robpike> nice
04:31 < Kniht> robpike: how would you compare it to python's convention of
leading _ for non-public?
04:32 < jcowan> Well, it's enforced, for one thing.
04:32 < mrd`> Ew.
04:32 < codedread> so i'm very new to this - my hello,world C program
executable is 12k, my hello,world go program is 638k
04:32 <+iant> Go is statically linked
04:32 < codedread> my C program is linking to system libraries i guess
04:32 < codedread> yeah
04:32 < jcowan> Every language is a balance between configuration and
convention.
04:32 < Kniht> jcowan: honestly a minor issue for me, I hooked up my
computer to electrically shock me when using _* names inappropriately
04:32 < plux> can go be dynamically linked?
04:33 < _Hicham_> ever after setting GOROOT,GOBIN, GOOS, I can't compile
hello.go
04:33 < uriel> plux: I hope not
04:33 <+iant> plux: not really, unless you use gccgo; gccgo generates
dynamically linked binaries
04:33 < _Hicham_> fmt always non found
04:33 < mjard> _Hicham_: what about GOARCH?
04:33 <+robpike> the packages are stored in $GOROOT/pkg/$GOOS_GOARCH/...
04:33 < mjard> _Hicham_: I only ask because I stumbled there as well, but
everything now works
04:33 < ajray> Is there a Go-flavored IDE?
04:34 <+iant> _Hicham_: what is your GOROOT?  Does $GOROOT/pkg exist?  What
is in $GOROOT/pkg?
04:34 <+iant> ajray: no
04:34 < ajray> or is everyone just using vim/emacs?
04:34 <+robpike> and the tools know that, so you must have them set to
compile
04:34 < _Hicham_> mjard : thanks, it works
04:34 <+iant> ajray: not yet, anyhow
04:34 < jcowan> ajray: Yes, it's called "emacs".
04:34 < mjard> _Hicham_: :)
04:34 < digijohn> uff, IDEs
04:34 <+robpike> no IDE.  love to have someone do one
04:34 -!- javarants2 [n=Adium@c-24-6-187-56.hsd1.ca.comcast.net] has joined
#go-nuts
04:34 <+robpike> it could be lovely written in go and running on the web
04:34 < ajray> really, all i would like is tab completion on methods
04:34 < digijohn> robpike: I would think acme would be the IDE :)
04:34 < silassewell> So I'm getting a test error on darwin: "gotest: line
141: 61190 Trace/BPT trap" (http://gist.github.com/231555).  It shows up in a
couple of pastebins, anyone know what the issue is?  (P.S.  Is there a history of
the channel setup anywhere?)
04:35 < ajray> robpike: any chance Go project will be accepting GSoCers this
summer :-)
04:35 < digijohn> I'm so dependent on acme these days, it's pathetic...
can't get a damn thing done with vi or emacs anymore
04:35 <+iant> silassewell: try doing another hg pull -u, there have been
some fixes to the net test
04:35 -!- PhantmShado [n=Phantm@cpe-74-70-29-98.nycap.res.rr.com] has joined
#go-nuts
04:35 < Metaphorically> komodo edit works fine for an ide (if you're not a
vi or emacs fan) and the c++ highlighting gets some colours on the screen
04:35 <+robpike> jeez we just launched.  next summer is far away.  but i
sure hope so
04:35 < joeyadams> My guess is that Go will waltz right thorough the
mentoring organization selection.
04:35 -!- Metaphorically is now known as Rob_Russell
04:36 < silassewell> iant: thanks, one update, testing now
04:36 -!- deadlycheese [n=tfolger@c-75-70-207-113.hsd1.co.comcast.net] has left
#go-nuts []
04:37 < btaylor> Congrats on the launch, Rob.  Looks really compelling so
far.  (This is Bret Taylor, btw).  This may have already been asked, but is there
an emacs mode?
04:37 <+iant> btaylor: misc/emacs/go-mode.el
04:37 <+robpike> hi bret!
04:37 -!- tagx [n=thomas@pool-71-178-10-152.washdc.fios.verizon.net] has joined
#go-nuts
04:37 < ajray> anyone else working on vim highlighting of go syntax?
04:37 <+iant> ajray: misc/vim/go.vim
04:37 < wcn> ajray: it's in misc, iirc.
04:37 < ajray> thanks!
04:37 < btaylor> thanks
04:38 <+robpike> misc/emacs/go_mode.el i think
04:38 -!- debacle [n=chatzill@c-71-203-31-53.hsd1.fl.comcast.net] has quit
["ChatZilla 0.9.85 [Firefox 3.5.5/20091102152451]"]
04:38 -!- Irssi: #go-nuts: Total of 158 nicks [0 ops, 0 halfops, 5 voices, 153
normal]
04:38 -!- M32311 [n=m32311@68-186-182-171.dhcp.leds.al.charter.com] has joined
#go-nuts
04:39 < M32311> Anyone have a minute for a noob question?
04:39 < mrd`> Whoa, there's already go-mode.
04:39 < ggbgg> chrome OS in go?
04:39 -!- tarpdocks [i=tarpdock@68-190-118-23.dhcp.mdsn.wi.charter.com] has joined
#go-nuts
04:39 <+iant> M32311: sure
04:39 <+iant> ggbgg: ChromeOS is not written in Go
04:39 < ajray> is there a go compiler in go?
04:39 < tarpdocks> sorry for the noob question, but what kind of
applications is Go intended to be used for?  ive heard it referred to as a
low-level language
04:39 < sanxiyn> ajray: Apparently not yet.
04:39 < M32311> iant: During build, I am getting make[1]: Leaving directory
`/home/eznet/go/src/pkg/net'
04:39 < M32311> make: *** [net.test] Error 2
04:39 <+iant> ajray: there is a parser, but not a full compiler, yet
04:39 -!- dsymonds [n=dsymonds@203.39.247.241] has joined #go-nuts
04:40 <+iant> M32311: try another hg pull -u; that test has problems on some
systems, and there have been a couple of patches
04:40 <+robpike> the language design faq has a little info about the
compiler technologies used
04:40 < ajray> iant: is the parser in the distribution?
04:40 <+robpike> yes
04:40 < M32311> iant: Thanks.  Apparently I have not researched enough then.
I really to appreciate.
04:40 <+robpike> pkg go
04:41 < sanxiyn> ajray: src/pkg/go/parser
04:41 <+iant> tarpdocks: Go is a systems language in that it compiles to
native code; we're not sure all the places that it could be useful yet
04:41 < tarpdocks> would it be appropriate for say, a device driver?
04:41 <+robpike> the web site http://golang.org is written in go.  all the
highlighting and presentation and document extraction is done from software in the
distribution
04:41 <+iant> in the kernel?  we'd have to sort out garbage-collection
issues first, so not at present
04:41 < antarus> wow that is unexpected
04:42 <+robpike> what is unexpected?
04:42 < ggbgg> $GOROOT/lib/lib9.a -- cute.
04:42 <+rsc9> silassewell: hg log -q -l 1
04:42 -!- apetrescu [n=apetresc@129.97.98.237] has quit []
04:42 < sanxiyn> robpike: curl -I http://golang.org/ says Server: Google
Frontend, but I guess that is to be expected.
04:42 < antarus> robpike: that you wrote the website in go
04:43 <+rsc9> sanxiyn: there's other google infrastructure in front, but in
the end, the pages are generated by http://golang.org/cmd/godoc/
04:43 <+robpike> there's an app engine caching thingy running in front of it
'cos that's easy.  but the real content is generated by a go program written by
robert griesemer
04:43 < antarus> robpike: ahh that answers that question ;)
04:44 -!- bengl [n=benglish@134.117.220.11] has joined #go-nuts
04:44 < silassewell> iant: it looks like that update fixed it, off to
hacking on some example code, thanks
04:45 < silassewell> rsc9: fyi - 3976:cf1b54c30bc1 (after the pull)
04:45 <+rsc9> silassewell: great, glad it's working for you
04:46 < shawn> any chance app engine will support go soon?
04:46 < mjard> heh
04:46 * sanxiyn prays Go does not follow the path D went...
04:46 * uriel would give more than an arm and a leg for being able to run Go code
on App Engine...  anyone interested, add your stars here:
http://code.google.com/p/googleappengine/issues/detail?id=2382 ;)
04:46 <+robpike> we really want to see that happen but no idea when
04:46 < ggbgg> swap upper/lowercase semantics..  file.Stdout.Write vs
file.stdout.write
04:46 < ggbgg> not even close
04:47 <+robpike> you mean File.stdout.write
04:47 -!- bengl [n=benglish@134.117.220.11] has left #go-nuts []
04:47 < ggbgg> right.
04:47 -!- drylight [n=diego@203.41.127.66] has joined #go-nuts
04:47 < shawn> of course you'd have to limit channel and select lifetimes to
30s
04:47 < jcowan> sanxiyn: What path is that?
04:47 < antarus> haha method naming is always a fun rabbit hole ;)
04:47 -!- resistor [n=theresis@c-98-237-248-99.hsd1.wa.comcast.net] has quit []
04:47 <+robpike> exports capitalized makes more sense.  it takes some
getting used to, i admit, but it works well in practice
04:48 -!- bengl [n=benglish@134.117.220.11] has joined #go-nuts
04:48 -!- shardz [i=samuel@ilo.staticfree.info] has joined #go-nuts
04:48 < drylight> hi all
04:48 -!- Capso [i=none@about/networking/128.0.0.0/Capso] has joined #go-nuts
04:48 < sanxiyn> jcowan: My main problem with D is unstablity, I guess.
04:49 < drylight> i was wondering if someone may be able to help me
installing go..  running all.bash, I am seeing the same error that Tom here is:
http://groups.google.com/group/golang-nuts/browse_thread/thread/3da4528005539746/ccc34b45c3a1b70e?lnk=gst&q=dial+tcp#ccc34b45c3a1b70e
04:49 < shardz> This is insane amount of people for a channel created
yesterday.
04:49 < ggbgg> arthritis takes getting used to as well.  )
04:49 -!- igorgue [n=igorgue@69.172.212.24] has joined #go-nuts
04:49 < fynn> sanxiyn: (are D and Go even in the same class of languages?)
04:49 < sanxiyn> fynn: They aren't?
04:49 < sanxiyn> fynn: D sure claims to be a system programming language
too.
04:49 < vsmatck> I'd think they would be.
04:49 <+iant> drylight: I'm not sure what the problem is there, but note
that the compiler and libraries have been built by that point
04:50 < fynn> sanxiyn: kinda, but D seems to have a lot more features than
Go.
04:50 -!- esser [n=marceles@unaffiliated/cobol] has joined #go-nuts
04:50 <+iant> there have been some issues with the net client, that problem
might be fixed by hg pull -u
04:50 -!- taziden [n=taziden@flexiden.org] has joined #go-nuts
04:50 < drylight> ok so it's trying some network test (i'm guessing) but
things should be good by then?
04:50 <+iant> drylight: yes
04:50 < sanxiyn> fynn: Both does away with #include, which was my #1
complaint for C/C++.
04:50 <+rsc9> drylight: see my response on that thread
04:50 -!- no_mind [n=orion@122.163.20.238] has joined #go-nuts
04:50 < drylight> iant: thanks.
04:50 < drylight> just wanted to make sure before proceeding.
04:50 < drylight> appreciate the tip
04:50 -!- taziden [n=taziden@flexiden.org] has left #go-nuts []
04:51 < fynn> sanxiyn: (if you will, D is a C++ replacement, while Go looks
more like an alternative to C)
04:51 < benno> robpike: does capitalization make sense in charset other than
latin?
04:51 < ajray> whats the name of the gerbil/hamster, and why does it look
like glenda?
04:51 -!- mikeperrow [n=mikeperr@203.39.247.241] has joined #go-nuts
04:51 < dsymonds> ajray: That's Gordon
04:51 < benno> robpike: is there a capital and lower-case 世
04:51 < dsymonds> ajray: He's a distant relative of Glenda
04:51 < sanxiyn> benno: No.
04:51 -!- Lenneth [n=Lenneth@S010600119502636d.wp.shawcable.net] has joined
#go-nuts
04:51 < drylight> anyone from google on here?  would love a Go hamster
t-shirt.  if you put one up on the store i'd order right now :)
04:51 < dsymonds> ajray: he's actually a GOpher
04:52 < NelsonLaQuet> How do you encode a []byte into a utf-8 string?
04:52 < Capso> benno: Kanji doesn't have a concept of lower and upper cases
04:52 < devewm> i'd second the tshirt idea :)
04:52 -!- neenaoffline [i=neena@unaffiliated/neenaoffline] has quit ["Leaving."]
04:52 -!- itrekkie [n=itrekkie@ip72-200-111-233.tc.ph.cox.net] has joined #go-nuts
04:52 < digijohn> drylight: isn't a bit early to be wanting swag?  Maybe
give it *two* days?
04:52 < joeyadams> hmm, why import fmt "fmt" and not just import "fmt" ?
04:52 < joeyadams> (in the hello world example)
04:52 < digijohn> I know the world's all about loving Google stuff but you
can only go so far :)
04:52 < drylight> digijohn: i know, i know.  sorry.  :)
04:52 < dsymonds> joeyadams: you *can* just import "fmt"
04:52 < digijohn> joeyadams: it's just an example
04:52 -!- AryehGregor [n=Simetric@mediawiki/simetrical] has joined #go-nuts
04:52 < harryv> joeyadams: read on, you can do that.
04:52 < fynn> sanxiyn: feel free to correct me btw, this is based on very
short exposure to Go.
04:52 < digijohn> drylight: I'm just joshing ya :)
04:52 * benno wonders if the are counted as lower or upper for purposes of
exporting from a package
04:52 -!- ryoohki [n=ryoohki@208.96.15.252] has joined #go-nuts
04:53 < Jerub> how soon until we have a go implementation in dot net?  ;)
04:53 < drylight> digijohn: nw, i know.  :)
04:53 -!- MarkBao [n=MarkBao@pool-98-110-164-56.bstnma.fios.verizon.net] has quit
["Leaving..."]
04:53 <+robpike> benno: no.  we are aware of the issue and are discussing
possibilities
04:53 < benno> the lower vs upper does have a certain simplicity compared to
python's leading undercore
04:53 < benno> robpike: ok cool!
04:53 <+iant> NelsonLaQuet: there are conversions string([]byte) and
string([]int)
04:53 < NelsonLaQuet> ...I'm trying to send in a var of type []byte that I
received from io.ReadFile and send it into a template; but it doesn't implicitly
convert.
04:54 <+robpike> given a []byte called v, just do string(v) to get a string
04:54 <+iant> NelsonLaQuet: nothing implicitly converts in Go, explicit
conversion is always required
04:54 < jcowan> NelsonLaQuet: And by nothing, they mean NOTHING.  Not even
int vs.  long.
04:54 <+robpike> the spec says unicode class Lu is upper case.  all other L?
are lower case
04:54 * benno considers elf symbol table and unicode...  that might be a bit
interesting
04:55 -!- decriptor [n=decripto@53.250.sfcn.org] has joined #go-nuts
04:55 <+iant> benno: ELF symbol table is just null terminated byte
sequences, there is no big issue there
04:55 < NelsonLaQuet> thanks iant - that worked.  I tried C-style casting -
but it seems they reversed that syntax as well.
04:55 < joeyadams> thanks (dsymonds; digijohn; harryv; )
04:55 <+iant> indeed
04:55 -!- zachwill [n=zachwill@75.142.191.160] has joined #go-nuts
04:56 < benno> iant: yeah, I guess that works, for some reason I was
thinking something other than UTF-8 encoding which would have had NULLs, but of
course is not a problem
04:56 -!- Dabbler [n=Dabbler@S0106001a7046c812.ed.shawcable.net] has joined
#go-nuts
04:56 -!- eno [n=eno@nslu2-linux/eno] has joined #go-nuts
04:57 -!- interskh [n=interskh@CMU-295532.WV.CC.CMU.EDU] has quit [Read error: 110
(Connection timed out)]
04:57 < jcowan> C-style casts are a pain for human beings to parse: you
never know how much of the following expression is in the cast, so you end up
writing (int)(whatever) anyhow.
04:57 < jcowan> So int(whatever) is actually simpler.
04:57 -!- digijohn [n=digi@cpe-72-230-244-190.rochester.res.rr.com] has left
#go-nuts ["Leaving"]
04:57 < benno> ahh · is being used as a separator
04:57 * benno is now scored about what other weird, difficult to type, characters
people will start using in API names
04:58 < Jerub> how are strings stored?  are they really unicode?  are they
utf-8?
04:58 < kuroneko> benno: beafraid when people start using stream-cyphers on
their api method names...
04:58 -!- QwertyM [n=harsh@unaffiliated/qwertym] has joined #go-nuts
04:58 <+iant> Jerub: UTF-8
04:58 -!- powdahound [n=powdahou@powdahound.com] has joined #go-nuts
04:58 < dsymonds> Jerub: strings are just bytes
04:58 < wcn> kuroneko: a stream cipher is unlikely to yield valid UTF-8.  :)
04:59 <+rsc9> benno: only (unicode) digits and letters are allowed
04:59 <+robpike> benno: that centered dot is an implementation detail and is
going away.  you never see it in go programs.
04:59 < kuroneko> wcn: do you think that matters?
04:59 < kuroneko> :)
04:59 -!- rsc9 [n=rsc@nat/google/x-dogdurrviaksapxw] has left #go-nuts []
04:59 < kuroneko> people tend to find all sorts of fun ways to violate
standards
04:59 < jcowan> String *literals* are UTF-8 as a consequence of the fact
that source files are UTF-8.
04:59 -!- drylight [n=diego@203.41.127.66] has quit []
04:59 < NelsonLaQuet> so...  is it normal that 6g refuses to compile if I
have an unreferenced variable
04:59 < NelsonLaQuet> ?*
04:59 <+iant> NelsonLaQuet: yes
05:00 < _Hicham_> how can i know the compiler's version ?
05:00 < _Hicham_> there is no -v switch for 8g
05:00 < harryv> robpike: "The problem with Android phones is we have don't
have a [floating point unit]," said Pike.  – I'm curious, how so?
05:00 < Jerub> okay, so if I have a string that contains a unicode character
like '\u1234' that is encoded in more bytes than 1, and I do mystring[0] will that
be \xe1 ? or will it be \u1234 ?
05:00 < antarus> I assume built-in localization is not planned?
05:00 <+iant> _Hicham_: that is true, I guess it may grow one at some point,
I don't know
05:00 <+robpike> harryv: that quote was in regard to the fact that the arm
port can't run the full test suite.  that's all
05:01 <+iant> Jerub: it will be \xe1; a string is a sequence of bytes; a
string literal is encoded into UTF-8; you can use range over a string to get UTF-8
characters
05:01 < Jerub> i'm reading the documentation and I don't see this clearly
defined.
05:01 < NelsonLaQuet> That's odd.  The only way that I could figure out how
to consume the first return value was to do this:
05:01 < NelsonLaQuet> bytes, errors := io.ReadFile(file);
05:01 < NelsonLaQuet> then write an empty "if errors != nil" statement to
supres the unreferenced variable error.
05:01 <+iant> antarus: that would be a library issue, we'd love to have help
with the libraries
05:01 <+iant> NelsonLaQuet: Use the blank identifier
05:02 <+iant> bytes, _ := io.ReadFile(file)
05:02 <+kaib> harryv: specifically, the android reference platform (and a
large number of the actual deployed arm cores) don't have hardware floating point
support.
05:02 <+iant> Jerub: which part is not well defined?
05:02 -!- witeness [n=ryanmerl@c-69-138-211-106.hsd1.md.comcast.net] has quit []
05:02 < NelsonLaQuet> is there any way to consume a single return value in
the same line?  Like: functionCall(multiReturnFunction()[0]) ?
05:02 < shardz> Are there any vim syntax files for Go yet?
05:02 <+robpike> Effective Go covers a lot of this material.
http://golang.org/doc/effective_go.html
05:03 <+robpike> NelsonLaQuet: not smoothly.
05:03 < abbyz> should it not be valid to use [...] as the array size in a
function parameter list?
05:03 < NelsonLaQuet> I read the *very* short section on return values and
it didn't mention any way to do what I want.
05:03 < NelsonLaQuet> shardz: yeah, it's in the repo
05:03 <+iant> NelsonLaQuet: interesting idea, but no
05:03 < Jerub> iant: the unicode/utf-8/string definition.  it's clear that
unicode string literals are in the language, but not that the data will be stored
and accessed as utf-8
05:03 <+iant> shardz: misc/vim/go.vim
05:03 <+robpike> arrays are statically sized.  ...  implies dynamic in that
context
05:03 < shardz> Excellent, thanks.
05:04 < Jerub> iant: I assume that if I have a byte sequence that contains
an invalid utf-8 sequence and I cast it as String, there aren't any possible
errors?
05:04 <+iant> a []byte will convert to exactly that sequence of bytes in a
string
05:04 < _Hicham_> for linux people, put ur environment variables in
/etc/profile.d
05:04 <+iant> they don't have to be valid UTF-8 in that case
05:04 < Jerub> okay, good.
05:04 <+iant> a []int sequence will convert to that sequence of characters,
encoded in UTF-8
05:04 < wcn> Jerub: it returns aninvalid token, but will let you iterate and
recover the rest of the data.
05:04 <+iant> I mean, string([]int)
05:05 < Jerub> wcn: not utf-8 doesn't mean invalid.
05:05 -!- deadlycheese [n=tfolger@c-75-70-207-113.hsd1.co.comcast.net] has joined
#go-nuts
05:05 < NelsonLaQuet> iant: that's too bad.  I needless hate verbosity when
it's as, or more, clear to do things inline.
05:05 < Jerub> wcn: you mean when I use range, right?
05:05 < NelsonLaQuet> I hate needless*
05:05 < ggbgg> robpike: rewritten rio in go?
05:05 < wcn> Jerub: yes.  Sorry, misread your use case.
05:06 < plux> cnbash
05:06 < plux> oops
05:06 <+iant> NelsonLaQuet: yeah, you do need to use a name for that case
05:06 < Jerub> this is an oddity.  I guess it makes sense for most programs,
but it will make some software annoying to write ;)
05:06 -!- codedread_ [i=180dd699@gateway/web/freenode/x-zdtujpxmrtshrzje] has
joined #go-nuts
05:07 -!- jsgotangco [n=JSG@ubuntu/member/jsgotangco] has quit ["Ciao"]
05:07 <+robpike> graphics packages not much yet but i have ideas
05:07 -!- Dabbler [n=Dabbler@S0106001a7046c812.ed.shawcable.net] has left #go-nuts
[]
05:07 -!- jashmenn [n=latte@adsl-99-30-185-161.dsl.sfldmi.sbcglobal.net] has
joined #go-nuts
05:08 -!- dougie [n=doug@h85.14.89.75.dynamic.ip.windstream.net] has quit [Remote
closed the connection]
05:08 < antarus> I have two other questions, will go support static binaries
and / or universal binaries?
05:08 -!- bnijk_ [n=ush@unaffiliated/octopuswitharms] has joined #go-nuts
05:08 <+iant> antarus: 8g/6g only do static binaries
05:08 < dsymonds> antarus: go's binaries are already static
05:08 < Jerub> tempting to spend time i should be spending on OSDC
implementing other text codecs.
05:08 <+iant> antarus: no current plans for universal binaries, maybe
someday
05:09 -!- codedread [i=180dd699@gateway/web/freenode/x-hfpqdkiymyzzjodq] has quit
[Ping timeout: 180 seconds]
05:09 -!- mxcl [n=mxcl@94-193-125-246.zone7.bethere.co.uk] has joined #go-nuts
05:09 < antarus> dsymonds: ahh I haven't built any yet; I guess I should
try...
05:10 < bnijk_> why are strings immutable
05:10 -!- bthomson [n=bthomson@pool-71-114-74-245.washdc.dsl-w.verizon.net] has
joined #go-nuts
05:10 < bnijk_> is that the right word
05:10 * antarus is guessing immutable strings yield better performance
05:11 < vsmatck> I may be wrong.  But I think universal binaries are outside
the scope of the programming language.
05:11 < bnijk_> there's no way that's true
05:11 < sanxiyn> Strings shall be immutable
05:11 <+iant> bnijk_: if you want a mutable string, use []byte
05:11 < ajray> in the future?
05:11 <+iant> it amounts to the same thing
05:11 < _Hicham_> so go doesn't support dynamic linking ?
05:11 < mjard> _Hicham_: the compiler doesn't
05:11 < kuroneko> non-immutable strings result in either a LOT of string
copying, or headaches when you suddenly realise you're using the same string
instance everywhere
05:11 < mjard> well, linker
05:12 < Eridius> kuroneko: well, you can do copy-on-write semantics, but
that involves its own pain
05:12 < bnijk_> well
05:12 < Aria> Or you use chortds
05:12 < Aria> er...  chords
05:12 < bnijk_> they don't result in more string copying
05:12 -!- DJCapelis [n=djc@blender/coder/DJCapelis] has joined #go-nuts
05:12 <+iant> Eridius: copy-on-write is a bad idea in a multi-threaded
program
05:12 < bnijk_> er wait
05:12 < Eridius> ah true
05:12 < bnijk_> yeah, non-immutable strings don't result in more copying
05:12 <+robpike> iant has it.  values for primitives make concurrency much
easier to get right
05:12 < antarus> vsmatck: right, but these kind fokls have written a
toolchain for the language too; my question was aimed at that really
05:12 < bnijk_> there are less cases you have to copy them in...
05:12 -!- tjake [n=jake@75-44-151-7.lightspeed.smfrct.sbcglobal.net] has quit []
05:12 -!- dw [n=dw@unaffiliated/dw] has joined #go-nuts
05:12 -!- deadlycheese [n=tfolger@c-75-70-207-113.hsd1.co.comcast.net] has left
#go-nuts []
05:12 < uriel> _Hicham_: no dynamic linking is a huge feature as far as I'm
concerned, dynamic linking is evil, evil , evil and more evil
05:13 < Jerub> ...  but evil can be so fun!
05:13 < bnijk_> or do you mean, explicit string copying on the part of the
programmer
05:13 < dw> hi there.  is there a specific part of the language spec that
mentions introspection features?  i can't find anything in the docs at all
05:13 < uriel> Jerub: it can be, but dynamic linking is no fun at all, it is
pain and missery all the way
05:13 <+iant> dw: see the docs for the reflect package
05:13 < Jerub> before go gets too big, are there any concrete plans for
package management or a software index?
05:13 < kuroneko> bnijk_: if strings are mutable, you need a distinct copy
reference vs copy contents.  immutable strings are always copy reference, but
modifications must yield a new string.
05:14 <+iant> Jerub: no concrete plans
05:14 < dw> iant, is that a magic package, or is it implemented in terms of
soem language feature?  :)
05:14 < NelsonLaQuet> iant: are you a developer on go?
05:14 <+iant> dw: it is implemented in terms of a language feature
05:14 <+iant> NelsonLaQuet: yes
05:14 < NelsonLaQuet> cool
05:14 < bnijk_> i understand kuroneko
05:14 -!- Gib [n=Adium@pat1.orbitz.net] has joined #go-nuts
05:14 <+iant> dw: or, rather, a library feature
05:14 < vsmatck> antarus: I think this would need linux kernel support also.
There is a project to add universal binaries to linux, http://icculus.org/fatelf/.
The author was pretty much rejected by the linux people.
05:14 <+iant> dw: see the unsafe package for the features in question
05:14 < kuroneko> read: are you assigning or passing the string because you
want it's value or it's storage.  :)
05:14 < bnijk_> do you mean it's easier for the programmer
05:14 < dw> iant, thanks
05:14 < bnijk_> to have redundancy more than is necessary
05:15 <+robpike> reflect has a tiny API in runtime but the reflect package
itself is written in Go
05:15 < bnijk_> hey look, it's rob pike
05:15 <+robpike> hey look, it's ian taylor
05:15 < bnijk_> guess again
05:15 <+iant> he means me....
05:15 < kuroneko> but yeah, I'm guessing.  :) and I've beat my head against
the whole idea of having mutable strings and realised that it's not a fun idea
when you're using references
05:15 < bnijk_> well i've heard of rob pike, not ian taylor...no offense
05:15 -!- jdp [n=justin@ool-435238c0.dyn.optonline.net] has joined #go-nuts
05:16 <+iant> none taken
05:16 <+robpike> ian did the gccgo front end for gcc
05:16 < kuroneko> ah
05:16 < bnijk_> that would do it then
05:16 < dsymonds> I've never heard of bnijk_
05:16 <+robpike> it was great having a second implementation around.  lots
of issues get resolved and clarified that way
05:16 < kuroneko> so when I'm curious as to why gccgo is catching on fire,
it's iant's fault?  ;)
05:16 <+iant> kuroneko: indeed
05:16 < bnijk_> well i change nicks a lot, dsymonds
05:17 < sstangl> is there a standard package for data structures?
05:17 < ajray> is 'package main' going to change (i think it was mentioned
in the talk)?
05:17 -!- tessier [n=treed@kernel-panic/sex-machines] has joined #go-nuts
05:17 <+iant> sstangl: there is container, if that is what you mean....
05:17 < Jerub> The last time I changed my nick, modulo an abbreviation, was
2000...
05:17 < dsymonds> sstangl: It's called a 'struct'
05:17 < NelsonLaQuet> the http documentation has a typo - the Request type's
fields are Url and RawUrl, not URL and RawURL.
05:17 < sstangl> dsymonds: No, I mean like an implementation of a red-black
tree.
05:17 <+iant> NelsonLaQuet: they just changed to URL, I think
05:17 < sstangl> dsymonds: with the supporting logic.
05:17 <+robpike> package main is deeply wired into the implementation now
but we're planning some changes that may eliminate its specialness
05:17 < tessier> DJCapelis: What's a guy like you doing in a place like
this?
05:17 < dsymonds> sstangl: look in the container/ directory; there's vector,
list and ring so far
05:17 < kuroneko> iant: any recommended places to start for hacking on
gccgo?
05:17 <+robpike> it'll still be the default package to start execution, of
course
05:17 < mjard> hmm
05:18 < NelsonLaQuet> odd, I was under the impression I got the latest
version...  sorry
05:18 <+iant> kuroneko: pick something you want to write
05:18 -!- id_sonic [n=id_sonic@222.178.152.94] has quit ["leaving"]
05:18 <+iant> NelsonLaQuet: no, you may be right, I'm not sure; it did just
change recently but I'm not sure what the state is exactly
05:18 -!- jiing_ [n=jiing@59-120-12-62.HINET-IP.hinet.net] has joined #go-nuts
05:18 < DJCapelis> tessier: A good question.
05:18 -!- Irssi: #go-nuts: Total of 175 nicks [0 ops, 0 halfops, 4 voices, 171
normal]
05:18 <+iant> sstangl: there is no red-black tree package yet
05:18 <+robpike> NelsonLaQuet: i believe if you pull that's all consistent.
if you still see inconsistencies please mail me (r@golang.org)
05:18 < kuroneko> iant: yeah, that's kinda why I'm switching to gccgo - need
ABI compatibility so I can pluck wrap curses >_>
05:18 < kuroneko> err, s/pluck//
05:19 < sstangl> iant: excellent, because I'm in the mood :)
05:19 < DJCapelis> tessier: Considering, I suppose.  I have classified Go as
a "thing" at this point and am interested to see if it achieves an even loftier
designation in the future.
05:19 <+iant> cool
05:19 < bnijk_> hey rob let me ask you a question
05:19 < mrd`> Wow, {.meta-left} and {.meta-right} are kinda verbose.
05:19 <+robpike> mrd: those names in the template package were externally
imposed.  i agree they're pretty bad
05:19 < dsymonds> sstangl: If you're interested in writing a red-black tree
implementation, make sure to read the 'Contribute code' doc on golang.org/ before
starting
05:19 < tessier> DJCapelis: Funny how out of all of the 175 nicks I saw when
I joined I took just a quick glance and the one I know jumped out at me.
05:19 <+robpike> but the package itself is wonderfully powerful
05:19 < kuroneko> iant: although I won't guaranty that I won't try to make
it work on strange platforms ;)
05:20 < bnijk_> robpike: do you think the linux kernel should have directory
handling like in plan 9
05:20 <+iant> that would be great, actually
05:20 < DJCapelis> tessier: humans are good at pattern recognition.  :)
05:20 < sstangl> dsymonds: I already did.
05:20 <+robpike> bnijk_: let's stay on topic
05:20 < kuroneko> mostly because I know sparc abi and behaviour better than
I know x86 >_>
05:20 < Jerub> I'm sorely tempted to implement a bunch of things, kick start
the batteries included side.  MIME parser/emitter, jsonrpc server/client, database
bindings.
05:20 < dsymonds> sstangl: cool.  Start with a design and email it to the
dev list.
05:20 < bnijk_> w/e
05:21 * sanxiyn was about to say something about --no-add-needed but indeed stay
on topic...  :(
05:22 -!- shatly [n=hartsra@tarsonis.dhcp.rose-hulman.edu] has joined #go-nuts
05:22 < shatly> hi
05:23 -!- Lenneth [n=Lenneth@S010600119502636d.wp.shawcable.net] has quit
["Leaving"]
05:23 -!- ineol [n=hal@mar75-9-88-171-191-168.fbx.proxad.net] has joined #go-nuts
05:24 -!- powdahound [n=powdahou@powdahound.com] has left #go-nuts []
05:24 <+robpike> see you tomorrow....
05:25 -!- robpike [n=r@nat/google/x-mxznglsppdvejwwi] has left #go-nuts []
05:25 -!- zachwill [n=zachwill@75.142.191.160] has left #go-nuts []
05:26 < dw> is this channel logged someplace yet?  seems like a great faq
addendum
05:27 < sanxiyn> Oh god, please no public logging
05:27 -!- andguent [n=andguent@94.23.36.211] has joined #go-nuts
05:27 -!- btaylor [n=btaylor@c-24-6-127-201.hsd1.ca.comcast.net] has quit []
05:27 < dw> sanxiyn: heaven forbid someone join a publicly advertised
channel and..  record proceedings!  (enqueue scary musci)
05:27 < Kniht> irc logs don't make good references anyway, but if you want
to edit it down into an faq I don't think anyone would mind :P
05:28 < dw> they're great when combined with full text search
05:28 < Kniht> I disagree
05:28 < bnijk_> i already like this language
05:28 < bnijk_> very elegant...
05:28 < dw> perhaps you've never discovered a solution to a problem through
a search result linking to irclog before then
05:28 < antarus> No need to argue about logs
05:28 -!- itsaboutcode [n=itsabout@119.152.26.59] has joined #go-nuts
05:28 < antarus> Its not like anyone here can prevent you logging and
posting it somewhere ;)
05:29 < bthomson> yeah i missed the earlier, log would be nice
05:29 < QwertyM> I'm having a build issue here (while running ./all.bash),
the tail of which is: http://paste.pocoo.org/show/149929/ | is there a workaround?
05:29 -!- hsandhar
[n=chatzill@CPE002436a02c89-CM000f9f777302.cpe.net.cable.rogers.com] has joined
#go-nuts
05:29 -!- mennis [n=mennis@adsl-065-012-170-146.sip.asm.bellsouth.net] has quit []
05:30 -!- hsandhar
[n=chatzill@CPE002436a02c89-CM000f9f777302.cpe.net.cable.rogers.com] has left
#go-nuts []
05:30 -!- Skel [n=JustinHo@cpe-024-211-196-059.nc.res.rr.com] has joined #go-nuts
05:30 -!- mennis [n=mennis@adsl-065-012-170-146.sip.asm.bellsouth.net] has joined
#go-nuts
05:30 -!- d03boy [n=d03boy@CPE-24-167-203-224.wi.res.rr.com] has joined #go-nuts
05:31 -!- incipientMind
[n=chatzill@CPE002436a02c89-CM000f9f777302.cpe.net.cable.rogers.com] has joined
#go-nuts
05:31 -!- NOTtheMessiah [n=NOTtheMe@n2-48-44.dhcp.drexel.edu] has joined #go-nuts
05:31 -!- keeto [n=keeto@121.54.92.149] has joined #go-nuts
05:32 -!- robink [n=robink@fatcat.creosotehill.org] has joined #go-nuts
05:32 < msw> I'm running into a compile error
05:32 < msw> http://pastebin.ca/1665967
05:32 -!- jashmenn [n=latte@adsl-99-30-185-161.dsl.sfldmi.sbcglobal.net] has quit
[Read error: 110 (Connection timed out)]
05:32 < dw> msw, did you fetch the release tag, or HEAD?
05:32 -!- anticw [n=anticw@c-76-126-87-56.hsd1.ca.comcast.net] has joined #go-nuts
05:32 < msw> dw: release
05:33 < justinvh> Could somebody point me in the right direction of what I
would want to do if I wanted to convert a double to an int?
05:33 -!- Irssi: #go-nuts: Total of 180 nicks [0 ops, 0 halfops, 3 voices, 177
normal]
05:33 <+iant> justinvh: int(double-value)
05:33 < wcn> var foo double; int(foo)
05:33 -!- jamesr [n=jamesr@c-76-102-52-10.hsd1.ca.comcast.net] has joined #go-nuts
05:33 < justinvh> Ah, simple enough.
05:33 <+iant> msw: what is building at the point of failure?
05:33 < msw> dw: at cs id 64e703cb307d
05:34 -!- NOTtheMessiah [n=NOTtheMe@n2-48-44.dhcp.drexel.edu] has quit [Client
Quit]
05:34 < msw> dw: let me paste more contexzt
05:34 -!- d03boy [n=d03boy@CPE-24-167-203-224.wi.res.rr.com] has left #go-nuts []
05:34 < dw> msw, talk to iant, not me :)
05:34 < msw> iant: let me post more context.  ;-)
05:34 < justinvh> functional casts.  I didn't expect that, but okay :)
05:34 < msw> iant: http://pastebin.ca/1665972
05:35 < msw> iant: it's during run.bash
05:35 -!- dj_ryan [n=ryan@c-67-160-202-4.hsd1.ca.comcast.net] has joined #go-nuts
05:35 < dj_ryan> this channel is so appropriately named
05:35 < bnijk_> that's what i was trying to tell them
05:35 < bnijk_> but they wouldn't listen...
05:35 -!- Sgeo [n=Sgeo@ool-18bf618a.dyn.optonline.net] has quit [Read error: 110
(Connection timed out)]
05:35 < dj_ryan> so, lets talk about GC
05:36 <+iant> msw: that is strange, I don't know what is causing that; what
system are you running on?
05:36 -!- robink [n=robink@fatcat.creosotehill.org] has left #go-nuts []
05:36 < dj_ryan> having struggled ot get a high performing database system
in Java, I have some specific thoughts
05:36 < _Hicham_> so go developers think that static linking is the solution
?
05:36 < msw> iant: oh, cool - you're working on go -- AWESOME
05:36 <+iant> msw: it may be that the gotest script is doing something wrong
somehow--it runs 8nm output through sed
05:36 <+iant> msw: thanks
05:37 < msw> iant: gcc 4.1.2, glibc 2.5 ...  (it's Foresight Linux, 32-bit)
05:37 < uriel> ok, I have come up with an idea for my first Go project, if
anyone is interested in joining in, let me know: http://repo.cat-v.org/goblin/
05:37 < Eridius> gosh!
05:37 < msw> iant: I had to patch gotest to make it test the tar module
05:37 <+iant> _Hicham_: static linking seems right for many uses, yes; gccgo
does do dynamic linking since it links with glibc
05:37 < uriel> good night!  and great job to all the google people!
05:37 < harryv> uriel: full of surprises you are :P
05:37 < NelsonLaQuet> iant: I may of made a mistake myself actually, it
turns out I did grab the release build of the project so the docs may be right...
but then again, if that's the case it's confusing to build the docs against the
head revision while most people will be grabbing the release one ;)
05:37 <+iant> dj_ryan: keep going, though e-mail may be more useful for
details at the moment
05:37 < msw> iant: http://pastebin.ca/1665975
05:38 < dj_ryan> iant: At this point in Java, I have decided, if it worked,
that the G1 garbage collector is the ideal
05:38 <+iant> uriel: looks nice
05:38 < dj_ryan> you get both compaction (not available in CMS), low pause
(not available in CMS, parallel), and high efficiency
05:38 < dj_ryan> you want something that is compacting, efficient and low
pause
05:38 < justinvh> Is there a trival way to get slice-assignment-operator
like logic?
05:39 < dj_ryan> otherwise you cannot write data-intensive database type
systems programming without suffering somewhat
05:39 <+iant> msw: ah, you have a sed which doesn't match centered-dot--that
seems quite likely
05:39 < dj_ryan> Erlang avoids this by having thousands of tiny heaps, each
process is GCed independetly
05:39 < uriel> harryv, iant: thanks, lets see how much code I can get
written once I wake up :) (just moved to a new flat, so Go is going to compete
with actually unpacking my stuff...)
05:39 < msw> the centered dot bit is...strange
05:39 <+iant> justinvh: example?
05:39 -!- dsymonds [n=dsymonds@203.39.247.241] has quit []
05:39 < dj_ryan> but I think that limits what kinds of things you can build
in Erlang
05:39 < Jerub> isn't erlang's an incremental single sweep GC?
05:40 < andguent> why golang when there's already limbo?
05:40 < msw> iant: I run grep with LANG=C
05:40 < ajray> has anyone added bash_completion stuff for the go compilers?
so (for example) 8l tab-complete *.8 files?
05:40 < msw> iant: that might be a problem
05:40 -!- auntieNeo [n=rewt@97-121-46-26.bois.qwest.net] has joined #go-nuts
05:40 <+iant> dj_ryan: Go does have pointers so compaction might be somewhat
complex
05:40 < justinvh> iant: memset equivalent
05:40 < Capso> andguent: Limbo is not for modern UNIX; Limbo also requires
Dis
05:40 < dj_ryan> iant: and java has pointers too
05:40 <+iant> msw: yes, maybe
05:40 < dj_ryan> except they call them 'references'
05:41 <+iant> justinvh: sorry, no syntax for that, have to write a loop or
call a function
05:41 < ajray> dj_ryan: i love watching the CS professors here try to
explain why references are not pointers and how java doesnt have pointers ('unlike
that ugly c')
05:41 <+iant> dj_ryan: Java can stop the world
05:41 < dj_ryan> right
05:41 -!- JordanG [n=jordan@207-180-140-97.c3-0.wth-ubr1.sbo-wth.ma.cable.rcn.com]
has joined #go-nuts
05:41 <+iant> it's harder in Go
05:41 < dj_ryan> and in return they dont need free lists, or can avoid
memory fragmentation
05:41 <+iant> we're planning on using the work from the Recycler project
05:41 <+iant> I mean, the approach, not the code
05:41 < NelsonLaQuet> dj_ryan: Java references are not pointers
05:42 < dj_ryan> what is the meaningful difference?
05:42 < kuroneko> dj_ryan: references track relocations
05:42 -!- ivan` [n=ivan@unaffiliated/ivan/x-000001] has joined #go-nuts
05:42 < dw> arithmetic is not defined for references to begin with
05:42 < dj_ryan> and go's pointers dont define arithmetic
05:42 < mrd`> Jerub: I think so; it's also process specific because each
process gets its own dedicated heap.
05:42 < NelsonLaQuet> I come from a C++ background - references are typesafe
and don't allow pointer arithmetic.
05:42 < dj_ryan> so are go's pointers pointers or references?
05:42 -!- interskh [n=interskh@c-67-163-156-103.hsd1.pa.comcast.net] has joined
#go-nuts
05:42 < antarus> I assume if you don't define what you mean by pointer this
conversation willn ot end well ;)
05:42 < uriel> iant: I got it right though that because Go has no pointer
arithmetic, it could run without an mmu, like Limbo, right?
05:42 < kuroneko> and you can't diddle a reference.  :)
05:42 -!- aaront [n=aaront@unaffiliated/aaront] has quit ["And that's all he
wrote..."]
05:42 <+iant> uriel: I suppose that is true
05:43 < msw> iant: after "unalias grep", I don't need that change to gotest
(I think), but I still can't compile the bufio tests
05:43 < codedread_> so it was said that go links statically - is that by
default?  is there a way to link a go program to libraries built in go?
05:43 < kuroneko> uriel: hey, we had pointer arithmetic before we had MMUs
05:43 < uriel> iant: because that is one of the coolest things about
Inferno, to be able to run reliably and fast on things like the Nintendo DS
05:43 <+iant> codedread_: 6g/8g link statically
05:43 < kuroneko> :P
05:43 < dj_ryan> once you remove arithmetic you cant create arbitrary
pointers, now you have 'references' in the style of java.  Aka pointers that have
more working behind the scenes (ie: for compacting GCs)
05:43 <+iant> msw: same error?
05:43 < msw> iant: yea
05:43 < uriel> kuroneko: yes, but I mean safely running multiple programs
concurrently, etc
05:43 <+iant> hmmm, not sure, take a look at gotest step by step to see what
is happening
05:43 < sanxiyn> Someone should write a Go interpreter.
05:43 < sanxiyn> :)
05:43 < antarus> is that sed not portable?
05:43 <+iant> msw: also, please file an issue if you can
05:44 <+iant> sanxiyn: see src/pkg/exp/eval
05:44 < msw> iant: ok
05:44 < sanxiyn> iant: Oh.
05:44 * antarus sighs and installs mercurial
05:44 < dw> sanxiyn: i have been considering a recdecent parser in
javascript, since the language is so straightforward
05:44 < kuroneko> uriel: define 'safely'
05:44 < NelsonLaQuet> will the http library work well under apache with CGI?
05:44 < kuroneko> it's been done successfully without memory protection
05:44 < kuroneko> look at classic macOS + AmigaOS
05:45 <+iant> NelsonLaQuet: the http library is more aimed at a standalone
server, running under CGI is simpler but I don't know that there is any direct
support for it
05:45 < NelsonLaQuet> nevermind, that's a stupid question...  I guess my
question is that are there any nice wrappers for using go as a CGI module under
apache?
05:45 < kuroneko> and it's been done with half-an-MMU (80286 protected mode
lacked the virtual addressing modes, but did have page protection)
05:45 <+iant> NelsonLaQuet: I think not yet
05:45 < sstangl> NelsonLaQuet: not yet.
05:45 < uriel> kuroneko: safely as in *securely* and without allowing
programs to crash eachother
05:45 < codedread_> iant: ok, that was how i built my helloworld app, but
would it be possible to link dynamically to libraries built using go?
05:45 < mrd`> _Hicham_: I suspect the Go compiler just uses static linking
because it's simpler, and it's based on the Plan 9 toolchain, which I don't
believe supports dynamic linking.
05:45 < sstangl> mrd`: Plan 9 doesn't, yeah.
05:45 -!- adamblan [n=adamblan@OOBLECK.RES.CMU.EDU] has joined #go-nuts
05:46 < codedread_> thinking about uriel's ambitious project and wondering
how well that will work if every utility is statically linked
05:46 <+iant> codedread_: yes, that should be possible though not really
documented yet
05:46 < ote> shapor@yzf:~/src/go/misc/cgo/stdio$ ./hello
05:46 < ote> Floating point exception
05:46 < sanxiyn> codedread_: Well it could work like busybox.
05:46 < kuroneko> codedread_: having your world statically linked is only a
problem if your system library is glibc.
05:46 <+iant> ote: hmmm, often means a division by zero somewhere
05:46 < kuroneko> ;)
05:46 < antarus> ote: yeya sapor ;)
05:46 < antarus> er heya*
05:46 < antarus> god I can't spell
05:46 < antarus> I should go home
05:46 < kuroneko> libc can actually be quite small
05:46 < codedread_> codedread_: good point
05:46 < codedread_> kuroneko - i don't follow you
05:46 -!- JustinHoMi [n=JustinHo@cpe-024-211-196-059.nc.res.rr.com] has quit [Read
error: 110 (Connection timed out)]
05:46 < codedread_> sanxiyn: good point
05:47 < kuroneko> although, it does introduce the problem that ultimately
killed ultrix
05:47 < dw> kuroneko: any libc - locale and threading support can be small..
;)
05:47 < ote> antarus: hi :)
05:47 < antarus> kuroneko: dangerous when applied to basic items though;
think programs that call themselves recursively...*shudders*
05:48 < kuroneko> antarus: not if you have segmented binaries with a strict
read-only code section
05:48 * antarus hasn't looked at a binary yet
05:48 < DJCapelis> I sure wouldn't want to use a statically linked Qt.
05:48 -!- Skel is now known as JustinHoMi
05:48 < DJCapelis> dynamic linking can come with time if need be.
05:48 < ajray> anyone else want bash completion for the go compilers and
linkerse?
05:48 < antarus> ote: rewrite named in go; I want it done by monday ;p
05:48 <+iant> indeed
05:48 -!- ceh [n=ceh@celsius.it.uu.se] has joined #go-nuts
05:49 < mrd`> ew, bind
05:49 < Jerub> antarus: what subset of its features do you want?  ;)
05:49 * ote wonders why hello world would be dividing by zero
05:49 < mjard> for fun
05:49 < sanxiyn> for lulz
05:50 < mjard> ohshit
05:50 < Capso> they misspelled God, but the basic features and ideas are
there
05:50 < dj_ryan> here's another question, will go be domantly CSP for
multiprocessing?  I'm not sure that fits all needs (imagine databases)
05:50 < NelsonLaQuet> I wrote a neat little web server thing that serves out
html templates in a folder; using the request path to locate them.  Pretty
neat....  Though am now trying to figure out how I would implement a nice
web-centric MVC framework and OR/M over this.  It's architecture is really
different then other languages...
05:51 < javarants2> there is an http server in the http library
05:51 < javarants2> i think it is the one that is serving their site
05:51 < DJCapelis> databases are not worth designing for I think...  they
always mess things up and the hacks you have to put in to support them seem to be
rarely helpful to anything else.
05:51 < NelsonLaQuet> yeah, I cheated and used that.  But I would prefer to
expose any application over fast CGI so that I can take advantage of apache's
other features and stability.
05:51 < antarus> dj_ryan: It may be that go is not a good language to write
certain kinds of applications in.
05:51 < mrd`> [absolutist argument with zero support]
05:52 < dj_ryan> antarus: uh, then wtf is it for?!
05:52 < no_mind> DJCapelis, but you still need databases..  they are
necessary evil in comp applications
05:52 < dj_ryan> if you cant write a database in a systems programming
language, what kind of systems programming language is it
05:52 < javarants2> i didn't see native support for C libraries, is that in
there somewhere?
05:52 <+iant> dj_ryan: go uses goroutines and channels, yes, it's the ideas
from CSP plus a bit more
05:52 < DJCapelis> no_mind: sure, so write them in another language?  :)
05:52 < antarus> I didn't say it wouldn't be good for databases
05:52 -!- shachaf [n=shachaf@208.69.183.87] has joined #go-nuts
05:52 < NelsonLaQuet> DJCapelis: I'm a web developer...
05:52 < DJCapelis> dj_ryan: There's clearly things that aren't very good to
writh in go.
05:52 < codedread_> i think i would really like to see dynamically linked go
programs (with the 'go' standard libraries available as shared object libraries)
05:52 < dj_ryan> so with CSP you just bottleneck for certain things
05:52 < DJCapelis> NelsonLaQuet: Use databases with go all you want.
05:52 < dj_ryan> eg: ETS tables in erlang are bottlenecks
05:52 < no_mind> DJCapelis, so we should drop go for db related apps ? that
means 90% of web apps
05:52 < mrd`> dj_ryan: Not true.
05:53 < doublec> javarants2, see misc/cgo/gmp/gmp.go
05:53 < DJCapelis> no_mind: db *related* apps?
05:53 <+iant> javarants2: we have FFI for C libraries, not well documented
yet
05:53 < DJCapelis> no, I just said the actual databases themselves.
05:53 < joeyadams> I guess go doesn't have DB packages yet?
05:53 < no_mind> DJCapelis, apps which connect to db (heavily)
05:53 -!- Robdgreat [i=rob@unaffiliated/robdgreat] has joined #go-nuts
05:53 <+iant> I think Go would be fine for writing a database
05:53 < joeyadams> Would one turn out well?
05:53 < DJCapelis> no_mind: go should be fine for those.
05:53 < dj_ryan> DJCapelis: right, writing data storage systems in go might
be interesting, since your choices are mostly Java and some C++ (sorta)
05:53 < DJCapelis> no_mind: using a database maps nicely into goroutines.
05:53 < joeyadams> Does it have good reflection support for tasks like
these?:
05:53 < joeyadams> Convert struct definition into a CREATE TABLE
05:54 < joeyadams> Serialize/unserialize from such tables
05:54 -!- mjhsieh [n=mjhsieh@unaffiliated/mjhsieh] has joined #go-nuts
05:54 < Jerub> There's a C FFI, it shuld be trivial to bind to mysql,
postgres, sqlite, etc.
05:54 < antarus> joeyadams: I suggest you check out the unsafe module
05:54 < NelsonLaQuet> I'm assuming that we can link go with C code, though,
right?  With the gogcc compiler?  In that case you could re-build the C libraries
for mysql and whatever, then build a nice OR/M over that.
05:54 < antarus> joeyadams: (which is where all the reflection is, afaik)
05:54 <+iant> Go is definitely not Erlang
05:54 < javarants2> iant: how would you compare goroutines to libdispatch +
blocks?  i have been looking at that and it solves quite a few of the annoyances
in writing concurrent C code.
05:54 < DJCapelis> NelsonLaQuet: you can, it's unsafe though, generally...
05:55 < NelsonLaQuet> true
05:55 < no_mind> where do I find db packages for go ?
05:55 < joeyadams> Hmm, I wonder manually implementing a "work queue" is
typically necessary in go
05:55 < dj_ryan> there is this strong trend in the open world for large data
scale things to be written in Java (see: hadoop, et al)
05:55 <+iant> javarants2: I don't know libdispatch+, sorry
05:55 < joeyadams> suppose you have 10 CPU-intensive jobs to execute, and a
2-core system.
05:55 -!- niterain [n=niterain@c-76-108-29-82.hsd1.fl.comcast.net] has joined
#go-nuts
05:55 <+iant> no_mind: there are no db packages yet, definitely an area
which needs improvement
05:55 < dj_ryan> having coded some of this stuff in Java, and considering
C++, I can't say its a bad choice
05:55 < ajray> if i wanted to contribute the bash completion file to
go/misc, where would i send it?
05:55 < joeyadams> Can the jobs simply be spawned, or does a more clever
mechanism need to be used to keep only 2 jobs running at a time?
05:56 < NelsonLaQuet> no_mind: go is a brand new language...  You can't
expect them to of written any managed db connectors yet :p
05:56 < sanxiyn> ajray: http://golang.org/doc/contribute.html
05:56 < dj_ryan> so my thought is if there is a systems programming
language, surely it should be useful for writing data store systems.  that is the
practical definition of a 'systems application'
05:56 -!- drvink [n=mdl@76.126.236.130] has joined #go-nuts
05:56 < joeyadams> It might be a good idea to wrap libdbi.  I dunno.
05:56 < antarus> dj_ryan: I don't think anyone is saying it is not good for
that; iant already stated he thought you could write a database with it ;)
05:56 < sanxiyn> ODBC
05:57 <+iant> joeyadams: there isn't tight control for how many OS threads
will be used
05:57 < dj_ryan> heh
05:57 < antarus> Note as well there there are many different types of
datastores
05:57 < dj_ryan> just raising crap
05:57 -!- drvink [n=mdl@76.126.236.130] has quit [Client Quit]
05:57 < no_mind> awww...  so we need to write db connectors yet :(
05:57 < dj_ryan> i used to liek the CSP, but man, the awesome coolness of
micro-locked concurrent data structures are kick ass
05:57 -!- mjhsieh [n=mjhsieh@unaffiliated/mjhsieh] has left #go-nuts []
05:57 -!- _Hicham_ [n=hicham@wana-170-245-12-196.wanamaroc.com] has quit [Remote
closed the connection]
05:57 <+iant> dj_ryan: yes but very few people can write them correctly
05:58 < joeyadams> hmm, I like how the workqueue problem can be likened to
water slides :D
05:58 < dj_ryan> iant: hence why it becomes a library and other people can
use them...
05:58 -!- csp [n=csp@114.80.221.178] has left #go-nuts []
05:58 < joeyadams> Such as ones where you climb up 50 feet and wait for the
lifeguard to decide which one you go down
05:58 <+iant> fair enough; you can write those in Go, too, but we encourage
a different approach
05:58 < dj_ryan> right, CSP
05:58 < joeyadams> the lifeguard makes the last person made it out before
you go
05:59 -!- fhs [n=fhs@pool-72-89-195-252.nycmny.east.verizon.net] has joined
#go-nuts
05:59 -!- incipientMind
[n=chatzill@CPE002436a02c89-CM000f9f777302.cpe.net.cable.rogers.com] has quit
["ChatZilla 0.9.85 [Firefox 3.5.5/20091102134505]"]
05:59 < joeyadams> Though if a person gets stuck (blocks), the model fails,
as it would be better to start another job in that case.
05:59 -!- jakedahn [n=jakedahn@unaffiliated/jakedahn] has quit []
05:59 < dw> what linker modifications are required in order to support Go?
06:00 <+iant> dw: 6g/8g come with their own linker
06:00 <+iant> dw: the gccgo frontend can use any linker, but to make
segmented stacks work in the best possible way you have to use gold
06:00 <+iant> gold handles the case of a segmented stack function calling a
function compiled without segmented stacks (e.g., libc)
06:00 < dw> aah
06:00 < joeyadams> If you do this:
06:01 < joeyadams> for i:=1; i<100; i++ {
06:01 < javarants2> iant: blocks + libdispatch are in snow leopard — brand
name Grand Central
06:01 < joeyadams> go someJob(i);
06:01 < joeyadams> }
06:01 < NelsonLaQuet> well, cool stuff iant.  Go is pretty cool.  But I'm
out.  Later
06:01 -!- NelsonLaQuet [n=nelson@smtp1.folkes.us] has left #go-nuts []
06:01 < sanxiyn> iant: gold does?  (It always did, or from which version?)
06:01 < mjard> mmmm, epoll
06:01 -!- mennis [n=mennis@adsl-065-012-170-146.sip.asm.bellsouth.net] has quit []
06:01 <+iant> sanxiyn: development version, not released
06:01 < sanxiyn> ok
06:01 < joeyadams> Will that result in 100 threads running at the same time,
or will Go's scheduler only focus on ncpu threads at a time?
06:02 -!- ajray [n=alex@wvc32563rh.rh.ncsu.edu] has left #go-nuts []
06:02 < joeyadams> I'm guessing libdispatch focuses more on the job queue
problem than Go, but I don't know.
06:02 <+iant> javarants2: goroutines are probably similar; Go has full
closures which I think are more flexible than blocks; I don't know enough of the
precise details to give a competely correct answer
06:03 <+iant> joeyadams: typically new OS threads are only created when some
goroutine blocks, so it depends upon what somejob does
06:03 -!- m-takagi [n=m-takagi@linode.m-takagi.jp] has joined #go-nuts
06:03 < antarus> yeah thats what I figured
06:03 < antarus> if SomeJob is a long running process you certainly don't
want only ncpu of them
06:05 < no_mind> you guys are tempting me to play with go
06:05 < javarants2> iant: has anyone done the computer language shootout
with Go yet?
06:05 <+iant> javarants2: see test/bench
06:05 < javarants2> iant: seemed like many of them are in there
06:05 < javarants2> ah ok
06:06 < DJCapelis> Does anyone happen to know if Go interacts well with
signals yet?  (I.E.  can you make a goroutine a signal handler?  Is it called
concurrently?)
06:06 <+iant> we haven't uploaded any of those programs or anything, but
there are timings in timings.log
06:06 < kuroneko> actually, has anybody considered targetting llvm?
06:06 < DJCapelis> kuroneko: that's in the FAQ
06:06 < antarus> kuroneko: the docs said llvm was too complicated for the
intial implementation
06:06 <+iant> DJCapelis: you can write a signal handler but I don't think it
is called in a new goroutine
06:06 < antarus> and by complicated I mean slow
06:06 -!- rsc9 [n=rsc@c-98-248-40-183.hsd1.ca.comcast.net] has joined #go-nuts
06:06 -!- mode/#go-nuts [+v rsc9] by ChanServ
06:06 -!- codemac [n=codemac@archlinux/developer/codemac] has joined #go-nuts
06:06 -!- Aria [n=aredride@coriolis.nbtsc.org] has quit ["Ta!"]
06:06 < kuroneko> heh, so I see
06:07 < javarants2> they mention llvm but say the compiler wasn't fast
enough
06:07 <+iant> My hope is that the gccgo frontend will be usable with LLVM
some day, though right now it is too tied to gcc
06:07 < javarants2> i would hope that there is a port at some point as over
time i think llvm will be better over time than static compilation.
06:07 < kuroneko> well, it looks like I'm in for my crashcourse in gcc
front-end construction this weekend
06:07 < dj_ryan> we need a JVM port!
06:07 <+iant> javarants2: well, you can already use gccgo
06:07 < no_mind> so what kind of applications you guys feel go will fit in ?
06:08 <+iant> no_mind: we think it can be used in lots of places
06:08 < sanxiyn> dj_ryan: lol
06:08 <+iant> kuroneko: look at the gccgo frontend
06:08 < kuroneko> iant: aye - that's how I'm getting said crashcourse :)
06:08 < dj_ryan> sanxiyn: :-) im just kidding (of course?)
06:08 <+iant> ah!
06:09 < dj_ryan> but i am interested in the shared-memory approaches
possible in go.  Things like shared block caches, common memory data structures,
concurrent trees, etc
06:09 -!- delza [n=delza@d66-183-63-49.bchsia.telus.net] has joined #go-nuts
06:09 < no_mind> iant, I am looking at language selection for building
business rules engine,
06:09 < joeyadams> "iant> joeyadams: typically new OS threads are only
created when some goroutine blocks, so it depends upon what somejob does" => It
sounds like the answer is that Go automatically manages CPU-intensive jobs by not
running too many at once.  Is that correct?
06:09 <+iant> dj_ryan: it's all shared memory so those can all be
implemented if they seem useful
06:09 <+iant> no_mind: not a subject I know much about myself
06:10 < no_mind> iant, ok
06:10 < wcn> no_mind: there are some interesting opportunities.
06:10 <+iant> joeyadams: pretty much
06:10 < joeyadams> e.g.  if you want to factor 100 numbers, and you have 2
cores to work with.  If you spawn 100 goroutines right off the bat, is that a good
way to do it?
06:10 < no_mind> wcn, like ?
06:10 <+iant> though it's a little more complicated than that
06:10 < wcn> you get flexible typing without hierarchies that are brittle.
06:10 < joeyadams> Or can it be likened to starting 100 threads, which is
less efficient than using a workqueue because the locality is poorer.
06:10 <+iant> goroutines are more efficient than threads in practice
06:10 -!- thingie59 [n=foo@125-238-120-71.broadband-telecom.global-gateway.net.nz]
has quit []
06:10 < dj_ryan> i should look up the syncronization primitives available
06:11 -!- bizarrefish [n=bizarref@abdn004.abdn.ac.uk] has quit [Remote closed the
connection]
06:11 < delza> Hi, trying to install on OS X and hitting "make: quietgcc:
Command not found" error, but solution on Google Groups wasn't relevant ($GOBIN
already exists and is in path)
06:11 < kuroneko> actually, some of the goroutine stuff sounds a lot like
the GCD stuff
06:11 <+iant> dj_ryan: they're pretty simple: http://golang.org/pkg/sync/
06:11 < kuroneko> superficially
06:11 < kuroneko> I'm sure there's actual significant differences
06:11 < antarus> delza: is quietgcc in $GOBIN, is it executable?
06:11 -!- jcowan [n=jcowan@cpe-74-68-154-139.nyc.res.rr.com] has left #go-nuts
["Leaving"]
06:11 -!- f0r1z [n=f0r1z@87.117.3.97] has joined #go-nuts
06:11 < antarus> delza: is it the correct architecture (use file?)
06:11 <+iant> delza: does "which quietgcc" give you $GOBIN/quietgcc?
06:12 <+iant> antarus: actually, quietgcc is a shell script
06:12 < delza> yes quietgcc is in $GOBIN, yes it is executable
06:12 < DJCapelis> iant: Aww, I have to admit I have a fondness for
semaphores.
06:12 < javarants2> delza: i had to unset GOBIN and that worked for me
06:12 <+iant> DJCapelis: you can use a channel as a semaphore
06:12 -!- xmonader [n=ahmed@82.201.198.83] has joined #go-nuts
06:12 < DJCapelis> should be easy enough to create
06:12 < mrd`> dj_ryan: Are you from Canada and/or Seattle?
06:12 < DJCapelis> iant: oh, yes, right.
06:13 <+iant> delza: not sure why make can't find it, then
06:13 < delza> hmm, "which quietgcc" doesn't come back
06:13 < antarus> delza: what happens if you run quietgcc by itself?
06:13 < javarants2> delza: i put $GOBIN in my path and then unset it
06:13 < delza> Running quietgcc by itself says "no input files"
06:13 < javarants2> delza: that is the appropriate response for it
06:13 < kuroneko> iant: also, is there any reason why gccgo can't just lift
the stack-creating method used by the system thread library when possible, rather
than trying to do anything 'special'?
06:13 <+rsc9> delza: hg pull -u and then try ./all.bash again
06:14 -!- nueces [n=nueces@200.68.91.21] has joined #go-nuts
06:14 * kuroneko hasn't looked at the specifics of the 5g goroutine stack handling
yet
06:14 -!- ypcs [i=ville@2001:1bc8:1004:0:0:2:0:a0] has joined #go-nuts
06:14 < delza> OK, pulling hg
06:14 <+iant> kuroneko: the system thread library creates stacks that are
too large--you can't run 100,000 threads on a 32-bit system, but you can run
100,000 goroutines using 8g
06:14 < dj_ryan> mrd`: maybeee
06:15 < kuroneko> iant: ah, so the issue is just it needs downscaling?
06:15 -!- nueces [n=nueces@200.68.91.21] has quit [Client Quit]
06:15 <+iant> no, it needs growable stacks, and that requires compiler and
linker support
06:15 < antarus> (downscaling helps, but only so far)
06:15 <+iant> stacks need to grow and shrink as needed
06:15 -!- dwelz [n=dwelz@cpe-76-172-95-58.socal.res.rr.com] has joined #go-nuts
06:15 -!- chickamade [n=chickama@123.16.71.175] has quit ["Leaving"]
06:16 < antarus> hrm thats an interesting idea
06:16 -!- Iulius [n=wtf@24.136.243.10] has joined #go-nuts
06:16 < kuroneko> so what you need is a position independant stack
06:16 -!- soccer [i=tactic@68.68.34.149] has quit [Read error: 60 (Operation timed
out)]
06:16 < dwelz> has anyone gotten go installed on os x 10.6?
06:16 < kuroneko> so you can move the page if you need to free up space
below it, etc
06:16 < dwelz> i'm having some issues
06:16 < sstangl> how is that implemented?  how do you prevent a stack from
overflowing and the kernel from killing your thread?
06:16 < sstangl> (assuming you have an unmapped page beneath, which may not
be the case)
06:17 <+iant> dwelz: if the issues are with net_test or http_test, it's your
firewall; you can ignore the test failures
06:17 -!- sylecn [n=sylecn@70.114.209.23] has joined #go-nuts
06:17 <+iant> kuroneko: a position independent stack sounds hard; what we
use is a discontiguous stack
06:17 -!- JLB [n=JLB@222.46.201.41] has joined #go-nuts
06:17 -!- geee [n=gord@icryed.org] has joined #go-nuts
06:17 < kuroneko> yes, my head was hurting from trying to work out how a
position independant stack would work.  >_<
06:17 <+iant> sstangl: you check at the start of each function whether you
have enough space on the current stack, and allocate a new one if necessar
06:18 < Quadrescence> iant: Was Go made because some people at Google got
pissed that C is is a pain in the ass?  (No, your views or opinions are not
representative of Google or the Go team.)
06:18 -!- geee [n=gord@icryed.org] has quit ["leaving"]
06:18 < justinvh> "Pain" is very relative.
06:18 <+iant> Quadrescence: see the language design FAQ
06:18 < Quadrescence> justinvh: Everyone knows pain when they see it.
06:18 < kuroneko> iant: right, so if the stack is going to overflow, you
allocate a new lump, of stack and update SPs appropriately?
06:18 <+kaib> kuroneko: discontiguous stacks also have the benefit that they
can be implemented on hardware that does not have a MMU
06:18 < justinvh> Quadrescence: Yeah, it's the tolerance that counts.
06:19 < dj_ryan> if C is painful, what is C++?
06:19 < kuroneko> and then unroll the discontiguous section on return?
06:19 <+iant> kuroneko: pretty much
06:19 < kuroneko> k
06:19 -!- patcito [n=pat@190.42.86.181] has quit [Remote closed the connection]
06:19 < esser> i think go is closer to a compromise between C and highly
parallel langauges like erlang
06:19 < Quadrescence> dj_ryan: It numbs you up so you don't feel the pain
but your arm ends up getting chopped off
06:19 < kuroneko> that is going to be a headache on sparc >_<
06:19 <+iant> kuroneko: you can see my patches on the split-stack branch of
gcc
06:19 -!- tumdum [n=tumdum@unaffiliated/tumdum] has joined #go-nuts
06:19 -!- jcgregorio [n=chatzill@203.39.247.241] has joined #go-nuts
06:19 <+kaib> kuroneko: how so?
06:19 < dj_ryan> Quadrescence: that is what i call a substandard outcome!
06:19 < DJCapelis> kuroneko: sparc I think will cope.
06:20 < delza> Ah, I had it in my path as "~/bin" and it needed to be
"$HOME/bin"
06:20 < delza> Thanks for the help!
06:20 -!- Sp3c1alK_ [n=specialk@jmerlin.net] has joined #go-nuts
06:20 -!- comatose_kid [n=anonymou@c-24-6-139-254.hsd1.ca.comcast.net] has joined
#go-nuts
06:20 < kuroneko> kaib: v8 requires fairly large amount of aligned space
reserved on windowing boundaries (which is usually when you grow/shrink the stack
anyway)
06:21 < DJCapelis> kuroneko: nothing explicitly really makes you use the
standardized ABI on sparc.
06:21 < kuroneko> DJCapelis: windowing does actually.
06:21 < kuroneko> well, rwins
06:21 < DJCapelis> you don't *have* to window.
06:21 <+kaib> kuroneko: what is a windowing boundary?
06:21 < kuroneko> no, but you do need to have the space there for them
06:21 < Quadrescence> iant: I wish you didn't have to avoid the question.
:<
06:22 < kuroneko> because if anything else windows (such as the OS), you're
liable to get a spill
06:22 < antarus> man I haven't done sparc asm in years ;)
06:22 < Capso> Quadrescence, I wish you weren't here.
06:22 < Quadrescence> Capso: >_<
06:22 <+iant> Quadrescence: sorry, I don't really mean to avoid the
question, I wasn't there at the start, and the FAQ is right as far as I know
06:22 < kuroneko> also, potential issue for ia64, although I seem to recall
ia64 is less dumb in that regard.
06:22 < justinvh> dj_ryan: The term C/C++ or comparison for that case is
non-existent.  It is only used in terms like "compatibility" and "community".
06:22 < DJCapelis> kuroneko: you would just go back to a C-like stack to
make calls outside of your own internal ABI
06:22 < Quadrescence> iant: Okay, thank you.
06:23 < kuroneko> DJCapelis: doesn't protect you from context switch
06:23 < DJCapelis> kuroneko: you still don't need to reserve the full space
you can just reserve space for the working set only if you don't window.
06:23 -!- eugene [n=eugene@zeniv.linux.org.uk] has joined #go-nuts
06:23 < DJCapelis> Also doesn't the OS restore register sets separately?
06:23 -!- robpike [n=r@c-76-21-1-88.hsd1.ca.comcast.net] has joined #go-nuts
06:24 -!- mode/#go-nuts [+v robpike] by ChanServ
06:24 < kuroneko> restoration is easy, it's when you're forced to spill out
06:24 < DJCapelis> *you* aren't spilling
06:24 < DJCapelis> someone else spills on their stack.
06:24 < DJCapelis> if you context-switch then you don't spill, someone else
spills.
06:24 -!- agl [n=agl@c-98-210-132-46.hsd1.ca.comcast.net] has joined #go-nuts
06:24 -!- mode/#go-nuts [+v agl] by ChanServ
06:24 < JLB> can go run on windows?  or must run within cygwin?
06:24 < kuroneko> eventually you will spill
06:25 <+rsc9> JLB: neither, for now.
06:25 < jdp> hey all
06:25 <+agl> JLB: It doesn't run on Windows nor Cygwin
06:25 < DJCapelis> kuroneko: Why?
06:25 < jdp> does go have closures?
06:25 <+rsc9> jdp: you bet!
06:25 < jdp> awesome
06:25 < no_mind> oj need some handholding/guidance initially...  how do I
start writing connector to mysql or postgres in go ?
06:25 < kuroneko> because you don't have control over spill timing in v8
06:25 < jdp> anywhere in the docs i can check it out?
06:25 -!- scriptdevil [n=scriptde@122.174.155.141] has joined #go-nuts
06:25 < DJCapelis> kuroneko: you shouldn't spill at all.
06:25 < scriptdevil> Are functions first class members?
06:25 < kuroneko> if you never roll the window, you won't.
06:25 <+agl> no_mind: you should look at misc/cgo/gmp/gmp.go
06:25 < DJCapelis> kuroneko: exactly.
06:26 <+agl> scriptdevil: yes
06:26 < no_mind> agl, what is gmp ?
06:26 <+iant> jdp: there is some stuff in the course slides on closures
06:26 < JLB> thanks.  so how it compare with erlang?  erlang has its own vm
06:26 <+iant> scriptdevil: yes, in the sense of function pointers
06:26 < kuroneko> but if you don't roll the window, you're also not supposed
to use more than 8 registers >_>
06:26 < kuroneko> one of which is your SP.
06:26 < dwelz> ok, i'm having bigger issues than I thought with
installation.  getting a trace/bpt trap error on OS X snow leopard
06:26 < antarus> no_mind: gmp is some crazy math library last time I
checked; but I imagine agl wants to you look at how they linked to C libraries
06:26 -!- woremacx [n=woremacx@unaffiliated/woremacx] has joined #go-nuts
06:26 -!- Loafers [n=loafers@ip68-225-14-205.pv.oc.cox.net] has joined #go-nuts
06:26 < kuroneko> because somebody else might own the i+l set.
06:27 <+iant> JLB: erlang is a fairly different language, more aimed at
working with distributed computers; Go is multicore on a single system; Go
compiles to machine code, doesn't use a VM
06:27 < dwelz> dyld: Library not loaded: /opt/local/lib/libintl.8.dylib
06:27 <+agl> no_mind: gmp is a bigint library, written in C
06:27 < DJCapelis> kuroneko: no, not if you abandon the calling conventions.
06:27 < kuroneko> the point is not to
06:27 < no_mind> ah ok
06:27 < DJCapelis> you should be able to use a good portion of %i, another
good portion of %l and some of %g.
06:27 < Quadrescence> agl: it's more than a bigint lib.
06:27 < kuroneko> if you abandon the calling conventions, you MUST stub to
call other code
06:27 < kuroneko> and you must stub to be called
06:27 <+iant> dwelz: I don't think we've seen that one, but I know people
have gotten it working on OS X
06:27 < DJCapelis> kuroneko: yes.
06:27 < Loafers> Go > C & C++?
06:27 < Quadrescence> I should donate my bignum code to Go, then maybe
Google will hire me.
06:28 < jdp> iant: thanks
06:28 < DJCapelis> kuroneko: Eventually you may want to make Go fit in with
the standard ABI, but in the meantime it's possible to do a quick and dirty port
with basically trampolines that works.
06:28 <+iant> Quadrescence: Go does already have bignums, and Google is
looking for people
06:28 < Quadrescence> iant: I thought it only had large integer arithmetic
06:28 < JLB> iant, thanks
06:28 < Loafers> Is Go a board game?
06:28 < DJCapelis> and since you have weird stack behavior you can have all
the stubs share a stack I think...
06:28 < Capso> Loafers, yes
06:29 <+iant> Quadrescence: there is a bignum package, it's not in the
language
06:29 < Loafers> Who wants to play Go?
06:29 < sanxiyn> Loafers: I play Go.
06:29 < DJCapelis> Has anyone written Go in Go yet?  I imagine it has to
have been done already and I just missed it in the docs?
06:29 < plux> the game?
06:29 < Quadrescence> iant: I see.  I guess "bigint" and "bignum" are
usually thrown around synonymously; what I wrote computes elementary and
transcendental functions to arbitrary precision
06:29 < sanxiyn> DJCapelis: You mean computer Go AI player?
06:29 < Loafers> Why did Google choose the name Go?
06:30 < sanxiyn> That would be an interesting exercise indeed.
06:30 < kuroneko> kaib: when I'm talking about windowing boundaries (for
lack of a better term), I'm talking about the point in which you shift the
register window on processors that support that idea
06:30 < Loafers> Seems like too many complications...
06:30 < DJCapelis> sanxiyn: or even just something that displays a go board
and allows for two players to play
06:30 -!- no_mind [n=orion@122.163.20.238] has quit [Read error: 104 (Connection
reset by peer)]
06:30 < kuroneko> ia64, sparc v8 + v9 all do it
06:30 <+iant> DJCapelis: there is not a full Go compiler in Go yet, there is
a Go parser and an experimental interpreter
06:30 < Jerub> Loafers: because goog sounded weird.
06:30 < sanxiyn> Loafers: First two letters of Google, I heard.
06:30 < Jerub> ;)
06:30 < DJCapelis> sanxiyn: but AI is always fun if need be.
06:30 < antarus> Loafers: covered in the FAQ
06:30 -!- vegai [n=vegai@archlinux/developer/vegai] has joined #go-nuts
06:30 <+robpike> google didn't choose the name go, we did
06:30 < DJCapelis> iant: no no, I'm sorry I meant the game.
06:30 -!- uman [n=brennan@unaffiliated/uman] has joined #go-nuts
06:30 <+iant> Quadrescence: ah, sounds cool
06:31 <+kaib> kuroneko: thanks, it was a foreign concept to me.  haven't
done any architecture with such a concept before.
06:31 -!- crawshaw [n=david@CPE-121-210-88-66.gxeb1.ken.bigpond.net.au] has joined
#go-nuts
06:31 < Loafers> Well at least Go the game is receiving the attention it
deserves now
06:31 < kuroneko> kaib: the idea being that you can save time on register
save/restore
06:31 <+iant> DJCapelis: whoops, sorry, yes I think that would be cool
06:31 < plux> gonna be hard to find relevant searches for Go
06:31 < DJCapelis> kaib: sparc is somewhat strange.  :)
06:31 < antarus> kaib: yea sparc is weird ;)
06:31 < Loafers> plux, my point exactly
06:31 < sanxiyn> Quadrescence: You got multiprecision library.
06:31 < antarus> best assembly language I've use though ;)
06:31 <+robpike> "go programming language" searches work pretty well
06:31 -!- epalm [n=eric@user248-110.vpn.utoronto.ca] has joined #go-nuts
06:31 < DJCapelis> antarus: it is beautiful, just annoying for compiler
writers :)
06:31 < Loafers> robpike, i'm to lazy to type that long
06:31 < Quadrescence> sanxiyn: multiple precision, arbitrary precision,
bignum, same thing
06:31 < sanxiyn> Quadrescence: Binary splitting?  :)
06:31 <+iant> it's pretty hard to search for C, too
06:31 -!- quellhorst [n=quellhor@static-70-104-26-16.dllstx.fios.verizon.net] has
joined #go-nuts
06:31 < DJCapelis> antarus: the layout into bits is very clean too.
06:31 <+robpike> code search will soon have a go language search built in
06:32 < quellhorst> holy crap there are a lot of people here
06:32 <+robpike> can we get to 200?
06:32 * antarus pokes at this logging pkg
06:32 < kuroneko> what's neat about sparc abi though is that the abi already
supports multiple arguments and returns in its calling convention
06:32 < epalm> i'm nearly at the end of http://golang.org/doc/install.html ,
when i run ./all.bash i get "make: quietgcc: Command not found"
06:32 < antarus> robpike: let me just turn on a few more irc clients...
06:32 < quellhorst> can we get it over 10 that know go?
06:32 < Quadrescence> sanxiyn: For hypergeometric expansions, sure
06:32 < mjard> I'm sure you'll hit 200
06:32 < antarus> epalm: make sure quietgcc is in your PATH
06:32 -!- JLB [n=JLB@222.46.201.41] has quit ["MegaIRC v4.05
http://ironfist.at.tut.by"]
06:32 <+robpike> epalm: make sure $GOBIN is in your path, or $HOME/bin if
you didn't set GOBIN
06:32 < scriptdevil> How long has go been in development?  It already feels
mature.  :D
06:32 <+agl> epalm: make sure that $GOBIN exists, is writable and is in your
PATH
06:32 < plux> $GOBLIN ;D
06:32 < antarus> epalm: make sure you use $HOME instead of ~ when you set
PATH
06:32 < abbyz> aha, dynamic scoping.
06:32 <+iant> scriptdevil: started whiteboard design 2 years ago
06:33 <+robpike> about two years since we started drawing on the board.  see
the language design faq at the site
06:33 < quellhorst> is there a webserver written in go yet?
06:33 < DJCapelis> robpike: I'd say you're likely to hit it soon, I think
you guys hit critical mass somepoint today, I noticed the web sort of exploding
about Go.
06:33 -!- mikeperrow [n=mikeperr@203.39.247.241] has quit []
06:33 <+robpike> golang.org is a web server written in go
06:33 <+iant> quellhorst: golang.org is running a server written in Go
06:33 -!- SomeBrainiac [n=EHOT@94.158.54.158] has joined #go-nuts
06:33 < quellhorst> iant: source?  git?
06:33 < scriptdevil> quellhorst: hg
06:33 <+agl> Quadrescence: src/cmd/godoc
06:33 <+robpike> (although there is a python app engine cache on the front
for largely irrelevant reasons)
06:33 <+agl> quellhorst: src/cmd/godoc
06:34 <+robpike> one cool thing that's not obvious about godoc
06:34 < joeyadams> I wrote a trivial program that starts goroutines:
http://cosmos.constellationmedia.com/~funsite/go/goroutines.go
06:34 <+robpike> godoc is also a command-line tool
06:34 < mjard> yeah, three links on reddits proggit
06:34 <+robpike> you can say godoc fmt Printf
06:34 -!- ninja123 [n=ninja123@122.164.237.165] has joined #go-nuts
06:34 < scriptdevil> iant: It is good that a mainstream system programming
language after ages.
06:34 < joeyadams> Problem is, on my system (Linux/386), it only uses one
core.
06:34 < ceh> Good morning.
06:34 < uman> robpike, heh, I disagree with your way of pronouncing "fmt"
06:34 -!- Hong_MinHee [n=dahlia@211.239.163.54] has joined #go-nuts
06:34 < uman> just saying "format" sounds much more natural
06:34 < quellhorst> the google video on go is too slow
06:34 <+robpike> at the shell.  what's neat about that is that the template
package means the same code is doing all the work; it's just a formatting decision
at the end
06:34 < Loafers> Cool here is Rob Pike:
http://en.wikipedia.org/wiki/Rob_Pike
06:35 < quellhorst> 50 mbps and a tiny youtube vid is hanging.
06:35 -!- xmonader [n=ahmed@82.201.198.83] has quit ["Leaving."]
06:35 < bthomson> just download it
06:35 -!- epalm [n=eric@user248-110.vpn.utoronto.ca] has quit [Client Quit]
06:35 <+robpike> set GOMAXPROCS to the number of cores you want to use
06:35 <+robpike> or call runtime.GOMAXPROCS(N)
06:35 <+agl> joeyadams: there's an env var to set the number of OS threads
to use.
06:35 < joeyadams> hmm
06:35 <+agl> joeyadams: just listen to Rob :)
06:35 -!- sylecn [n=sylecn@70.114.209.23] has left #go-nuts ["rcirc on GNU Emacs
23.1.50.1"]
06:36 < joeyadams> Did he do the Google Talk?
06:36 <+robpike> depending on what you're doing, it might slow you down
because of locking, but some of the stuff in /test/bench uses it well
06:36 < joeyadams> I already listened to that
06:36 -!- level09 [n=chatzill@80.227.125.119] has joined #go-nuts
06:36 -!- CESSMASTER [n=CESSMAST@unaffiliated/joelywoely] has joined #go-nuts
06:36 < Quadrescence> agl: Me Rob or Pike Rob?
06:36 < justinvh> So, what's the thoughts of the other programming language
Go! -- How far does the argument of "same-name" apply to "go"?
06:36 < justinvh> I would hope not very far.
06:36 <+agl> Quadrescence: the Pike variety
06:36 < uman> justinvh, stop trolling
06:36 -!- epalm [n=eric@user248-110.vpn.utoronto.ca] has joined #go-nuts
06:36 -!- jessta [n=jessta@li7-205.members.linode.com] has joined #go-nuts
06:36 < justinvh> uman: How is that trolling?
06:37 -!- jcgregorio_ [n=chatzill@203.39.247.241] has quit [Connection timed out]
06:37 < epalm> thanks antarus, robpike, agl
06:37 < Loafers> Is it okay to go nouts in this channel?
06:37 -!- jlbnet [n=jlbnet@222.46.201.41] has joined #go-nuts
06:37 < Loafers> nuts*
06:37 < DJCapelis> robpike: A dream feature would be for it to detect and do
the right thing.  Perhaps when the standard lib is installed a default value could
be generated for the machine the lib is being installed on?  Or do you forsee that
everyone will just have that variable appropriate set in their environment?
06:37 < joeyadams> robpike> Ah, thanks
06:37 -!- Sp3c1alK_ [n=specialk@jmerlin.net] has quit ["Lost terminal"]
06:37 -!- StevenTyler [n=steve@123.201.55.206] has joined #go-nuts
06:37 <+robpike> we're just used to having those vars and crosscompiling all
the time.  we should probably automate it a little more
06:38 < StevenTyler> hello!!!!
06:38 < antarus> DJCapelis: it seems like you could do that via a small
library call
06:38 < antarus> look in /proc/cpuinfo
06:38 < antarus> see how many cpus you have, set var accordingly
06:38 < epalm> oh hey, robpike, just finished watching the talk, sounds
exciting
06:38 < fynn> robpike: What is the ultimate vision for Go? where do you see
it being used?
06:38 < DJCapelis> antarus: yes, but it would be a shame to do that at the
start of every process during startup code...
06:38 < StevenTyler> looks interesting, hopefully it will become one if the
leading commercial languages
06:38 <+robpike> epalm: thanks.  try it out
06:38 -!- justinvh [n=justinvh@quarter.xorse.com] has left #go-nuts []
06:38 <+robpike> ultimate vision?  just that it catches on enough to be
useful to people
06:38 < Loafers> commercial?
06:38 < DJCapelis> antarus: one of the nice things about gcd that isn't
present here is the ability for something to inform your decisions based on
available hardware.
06:39 < DJCapelis> especially if we want to consider hotplugging cpus.
06:39 < sanxiyn> Programming languages are...  used for programming.
06:39 < Jerub> it looks useful for all those pythony things i do that just
aren't fast enough.
06:39 < fynn> robpike: I mean, used for which things specifically?  :)
06:39 < DJCapelis> (and by hotplugging I just mean offlining and online
cores dynamically, which some power management tools might want to do)
06:39 <+robpike> some of the comments on the web seem to miss the point, so
maybe the ultimate vision is that people "get" it eventually
06:39 < uman> robpike, do you know to what extent Google will begin using Go
itnernally?
06:39 -!- SomeBrainiac [n=EHOT@94.158.54.158] has quit []
06:39 -!- dwelz [n=dwelz@cpe-76-172-95-58.socal.res.rr.com] has quit [Client Quit]
06:39 < chrome> the plan9 naming convention for the toolchain is a bit twee.
06:39 -!- hugo_dc [n=hugo@189.186.44.140] has joined #go-nuts
06:39 < sanxiyn> uman: Read FAQ.
06:40 < abbyz> I should RTFM, but can I pass an anonymous function as a
parameter to a function?
06:40 -!- shakesoda [n=shakesod@c-67-183-112-91.hsd1.wa.comcast.net] has joined
#go-nuts
06:40 <+agl> abbyz: yes
06:40 <+iant> abbyz: sure
06:40 < sanxiyn> abbyz: yes
06:40 <+robpike> we're using it internally but only for experiments now.
there's a lot of work to do to make it solid enough for large-scale production,
mostly libraries and such to talk to existing infrastructure.  but we're working
on it
06:40 < epalm> seems that i'm still having trouble building
http://pastebin.com/d3bb97fdc that's the end of ./all.bash
06:40 < abbyz> agl, iant, sanxiyn: is there an example in the docs?
06:40 < hugo_dc> Hi
06:40 < sanxiyn> I heard protocol buffer code generator is coming.
06:40 < sanxiyn> Thrift?
06:40 < uman> sanxiyn, the FAQ answers a similar but different question
06:40 -!- theatrus [n=user@69.239.107.64] has joined #go-nuts
06:40 < joeyadams> Is there a function for setting GOMAXPROCS to the number
of CPUs?  E.g.  runtime.GOMAXPROCS(sysconf(_SC_NPROCESSORS_ONLN))
06:40 < uman> robpike, thanks
06:40 < antarus> epalm: do you have a firewall?  the tets require internet
access
06:41 -!- esser [n=marceles@unaffiliated/cobol] has quit []
06:41 <+iant> abbyz: I'm not sure, but I'm sure there are examples in the
library
06:41 < antarus> joeyadams: I'm attempting to hack the runtime to do that on
program start
06:41 -!- jlbnet [n=jlbnet@222.46.201.41] has quit [Client Quit]
06:41 <+robpike> joeyadams: sounds like a project for you
06:41 <+agl> epalm: that paste seems empty
06:41 < mjard> haha
06:41 -!- no_mind [n=orion@122.161.124.241] has joined #go-nuts
06:41 < hugo_dc> I got an error trying to compile Go
06:41 < hugo_dc> FAIL: net.TestDialGoogle
06:41 < joeyadams> Should Go ideally use all CPUs by default?
06:41 < epalm> agl: loads for me...
06:41 < epalm> antarus: standard ubuntu 9.04 install, i'm behind a NAT
router...
06:41 < fynn> Jerub: interesting.  what have you used it for so far?
06:42 < joeyadams> Or would it be better to just use one and require the
coder to manually specify to use all CPUs instead?
06:42 <+robpike> protocol buffer stuff is done, just need to find a good way
to release it.  not as simple as you'd think.  it's on our list
06:42 < antarus> if the net_ or http_ tests fail it might be network related
06:42 < Loafers> Why isn't Go working for me?
06:42 < antarus> because they go to the internet and try to do things
06:42 <+iant> hugo_dc, epalm: that test fails in some cases, depending on
DNS, by the time you reach the point the compiler and libraries have been built
06:42 <+agl> epalm: oh, sorry.  The line wrapped.  Try hg pull -u first
06:42 -!- crawshaw [n=david@CPE-121-210-88-66.gxeb1.ken.bigpond.net.au] has quit
[]
06:42 < antarus> iant: I'd say you could be cheap and start up a tiny
webserver to test without instead of pointing at live google services ;p
06:42 < Loafers> Why do I need a plugin to play Go?
06:42 < epalm> agl: in $GOROOT?
06:42 <+agl> epalm: yes
06:42 < antarus> er with*
06:43 -!- JKnife [n=JKnife@gr33nn1nj4.com] has joined #go-nuts
06:43 -!- mode/#go-nuts [+o agl] by ChanServ
06:43 < DJCapelis> joeyadams: it seems like the exact approach on how to
best deal with that hasn't been decided yet, though of course at the moment you're
free to do it programatically but the future seems like it'll lead to a better
solution.
06:43 -!- mode/#go-nuts [+b *!*n=loafers@ip68-225-14-205.pv.oc.cox.net] by agl
06:43 -!- Loafers was kicked from #go-nuts by agl [agl]
06:43 < chrome> well, the network tests fail on a lot of corporate networks
06:43 -!- mode/#go-nuts [-o agl] by agl
06:43 < JKnife> any windows port?
06:43 <+agl> JKnife: none yet
06:43 -!- epalm [n=eric@user248-110.vpn.utoronto.ca] has quit ["Ex-Chat"]
06:43 <+iant> JKnife: not yet
06:43 < hugo_dc> thank you iant
06:43 < JKnife> ok, i guess i could try in SFU or Cygwin
06:43 -!- tabo [n=tabot@camelot.tabo.pe] has joined #go-nuts
06:44 <+robpike> joeyadams: some programs work better when there's no memory
contention, some need it.  it's hard to automate, which is why it's not automatic
yet
06:44 < joeyadams> Right.  I think it'd make sense to have a function to set
it to default
06:44 < Capso> JKnife, also doesn't function in Cygwin, I believe
06:44 < joeyadams> e.g.  os.GoMaxProcs(...) and os.GoMaxProcs() for default
06:44 < JKnife> well damn...  *sits back and waits*
06:44 < joeyadams> though I just assumed Go supports default arguments
06:45 -!- nickgibbon [n=nring@210.8.201.244] has quit ["Leaving."]
06:45 -!- delza [n=delza@d66-183-63-49.bchsia.telus.net] has quit []
06:45 -!- epalm [n=eric@user248-110.vpn.utoronto.ca] has joined #go-nuts
06:45 < joeyadams> or maybe just runtime.GOMAXPROCS(int) and
runtime.NUM_CPUS()
06:46 -!- nickgibbon [n=nring@210.8.201.244] has joined #go-nuts
06:46 <+robpike> you don't need runtime to find the number of cpu's.  that's
computable by something in syscall, which captures the native OS interface.
06:46 < scriptdevil> http://pastebin.com/d47493464 is this a successful
build?
06:46 -!- bryce_ [n=bryce@c-76-121-192-70.hsd1.wa.comcast.net] has joined #go-nuts
06:47 < Kniht> JKnife: windows does run VMs with non-windows OS on them, and
you should always dual boot if you're interested in programming and systems, imho
:P
06:47 < chrome> where do the go.* files in misc/xcode belong?
06:47 < abbyz> woot!
06:47 -!- drusepth [n=drusepth@174.32.154.79] has joined #go-nuts
06:47 < abbyz> i CPSed my fact.
06:47 < javarants2> chrome: it tells you in the files
06:47 < joeyadams> robpike> Ah, makes sense.  Would os.GoMaxProcs(int)
and os.NumCpus() make sense?
06:47 < DJCapelis> So far this is my favorite commit:
http://code.google.com/p/go/source/diff?spec=svn4a3f6bbb5f0c6021279ccb3c23558b3c480d995f&r=4a3f6bbb5f0c6021279ccb3c23558b3c480d995f&format=side&path=/src/pkg/os/file.go
06:48 < chrome> ah hmm.
06:48 <+robpike> there is already runtime.GOMAXPROCS(int)
06:48 <+agl> scriptdevil: it's a little odd, but you can probably ignore it.
06:48 < joeyadams> I just ask because runtime.GOMAXPROCS(int) looks kinda
hackish (with the capital letters)
06:48 < scriptdevil> agl: :) Thanks
06:48 < antarus> It looks hackish because commented above it says "this
should go away when the scheduler is improved" :)
06:49 < joeyadams> and if the num cpus function doesn't need to go in
runtime because syscall exists, we'd have two similar-purpose functions in two
different modules
06:49 <+robpike> joeyadams: it's spelled like that because of the env var.
you're right it looks hackish.
06:49 < drusepth> I just read about Go on /.  and am considering looking
into it tomorrow (it's a bit late tonight), but I'm curious whether it has
documented support for sockets atm
06:49 < joeyadams> e.g.  runtime.GOMAXPROCS(os.NumCpus())
06:49 <+robpike> scriptdevil: cd $GOROOT/src/pkg; make test
06:49 <+robpike> if that succeeds you're fine
06:49 -!- eydaimon [n=eydaimon@unaffiliated/anywho] has joined #go-nuts
06:49 <+agl> drhodes: yes golang.org/pkg/net
06:49 < drusepth> gotcha
06:50 < msw> iant: I got things happy, I broke gotest
06:50 < drusepth> Thanks - will definitely check out tomorrow then :)
06:50 <+robpike> joeyadams: that seems ok to me
06:50 <+agl> oh look, we made /.
06:50 < joeyadams> Did I get the naming convention correct on that one?
06:50 <+robpike> agl: took them surprisingly long
06:50 < JKnife> Kniht: true, but i just reinstalled, and before i set up a
new VM i am gonna wait for F12 to be released...  wait..  :D i am on a CentOS VPS
:P
06:51 <+robpike> joeyadams: NumCPUs seems better
06:51 -!- sanxiyn [n=tinuviel@110.76.72.94] has left #go-nuts ["전 이만 갑니다."]
06:51 < joeyadams> I dunno.  I normally think of BumpyCaps as "each word
starts with a cap"
06:51 < drusepth> Oh, /.  article is at
http://developers.slashdot.org/story/09/11/11/0210212/Go-Googles-New-Open-Source-Programming-Language
if you didn't catch it
06:51 < drusepth> :)
06:51 < joeyadams> however, dbSomething breaks the pattern
06:51 < joeyadams> in lowercase, you say dbSomething.  In caps, DBSomething
arguably looks better than DbSomething
06:52 < antarus> joeyadams: looks like the 'sysinfo' syscall has what you
want
06:52 < antarus> but only for linux?  bah
06:52 < scriptdevil> robpike: Thanks
06:52 <+robpike> joeyadams: we're trying to keep initializations as caps, as
in HTTP and URL not Http and Url
06:52 < joeyadams> ah, okay
06:52 <+robpike> scripdevil: did it work ok?
06:53 < JKnife> drusepth: that is how i found out :)
06:53 < joeyadams> antarus> So what's better?  sysinfo or
sysconf(_SC_NPROCESSORS_ONLN) ?
06:53 -!- RazvanM [n=RazvanM@dazzler.isi.jhu.edu] has quit [Read error: 113 (No
route to host)]
06:54 -!- existsec_ [n=existsec@76-228-31-64.lightspeed.frokca.sbcglobal.net] has
quit [Remote closed the connection]
06:54 < joeyadams> Hmm, I guess a fancy testcase could be used that compares
whatever is used with /proc/cpuinfo
06:55 -!- existsec_ [n=existsec@76-228-31-64.lightspeed.frokca.sbcglobal.net] has
joined #go-nuts
06:56 < flea__> what would be the best way to emulate operator overloading?
with interfaces?
06:56 < chrome> any reason why I'd be getting this with the hello world
example: main.go:1 not a function
06:56 < chrome> line 1 is "package main"
06:57 -!- Max_Might [i=57fca21c@gateway/web/freenode/x-bynntfxsbuphvquf] has
joined #go-nuts
06:57 < chrome> oh i'm an idiot.
06:57 <+robpike> chrome: are you using a c compiler instead of a go
compiler?  e.g.  6c not 6g?
06:57 < scriptdevil> robpike: Yeah.  I got a PASS.  Thanks
06:57 <+robpike> scriptdevil: cool.  have fun
06:57 -!- hugo_dc [n=hugo@189.186.44.140] has left #go-nuts ["Saliendo"]
06:58 < scriptdevil> robpike: This channel has some of the most enthusiastic
moderators :D GO GO GO!!!
06:58 -!- drusepth [n=drusepth@174.32.154.79] has quit [Read error: 54 (Connection
reset by peer)]
06:58 -!- opensourcenut [n=osn@unaffiliated/opensourcenut/x-000001] has quit [Read
error: 110 (Connection timed out)]
06:58 < chrome> scriptdevil: tjat
06:58 < chrome> that will pass
06:58 < chrome> :P
06:58 < flea__> is it really 11PM in Mountain View?  that's what I call
dedication
06:58 < antarus> joeyadams: I'm not sure how you can call sysconf (I don't
see it in the syscall pkg)
06:58 <+robpike> it's only 10:59
06:58 <+agl> flea__: yes it is.  I, for one, will be going to sleep soon :)
06:58 < Quadrescence> flea__: All programmers stay up late and code.
06:58 < antarus> flea__: some of us are night stalkers ;)
06:59 < eydaimon> so microsoft went with an OCaml type language, and now go
seems to be another imperative language.  Interesting
06:59 < JKnife> woo building on my vps :D
06:59 < antarus> I should stop messing with go and finish my work ;)
06:59 < scriptdevil> eydaimon: Looks like functions are first class members.
06:59 < scriptdevil> eydaimon: Infact, that was my first question :D
06:59 <+robpike> flea__: operator overloading isn't there syntactically at
all.  but yes, interfaces are the best way to capture different implementations of
the same operator, as long as your operator can be expressed as a method
07:00 <+robpike> functions are true closures
07:00 -!- jamesr [n=jamesr@c-76-102-52-10.hsd1.ca.comcast.net] has quit []
07:00 < joeyadams> How do you all usually type the · symbol?
07:00 < JKnife> damn OpenVZ...
07:00 < eydaimon> scriptdevil: :)
07:00 <+kaib> joeyadams: we don't.
07:00 -!- Skel [n=JustinHo@cpe-024-211-196-059.nc.res.rr.com] has joined #go-nuts
07:00 < JKnife> can't read input: open /dev/stdin: no such file or directory
07:00 < eydaimon> odd way of doing the build stuff
07:01 <+kaib> joeyadams: why do you need it?
07:01 < antarus> JKnife: er, what OS are you trying this on?  :)
07:01 -!- existsec_ [n=existsec@76-228-31-64.lightspeed.frokca.sbcglobal.net] has
quit ["Leaving"]
07:01 -!- ddahl [n=ddahl@adsl-99-25-119-88.dsl.pltn13.sbcglobal.net] has quit
["You know its taco night!"]
07:01 <+iant> good night all, see you in the morning
07:02 < antarus> night iant
07:02 < mjard> night
07:02 -!- Associat0r [n=Associat@h163153.upc-h.chello.nl] has joined #go-nuts
07:02 < scriptdevil> iant: night :)
07:03 -!- comatose_kid [n=anonymou@c-24-6-139-254.hsd1.ca.comcast.net] has quit []
07:03 < eydaimon> I'm looking forward to fooling around with it :)
07:03 < eydaimon> what i'd like to see is some unity between languages and
building shared object libraries
07:03 <+robpike> you shouldn't need to type the center dot.  it's an
implementation detail in gc that's actually going away.
07:03 <+robpike> in go programs you just type .
07:03 -!- eday [n=eday@oddments.org] has joined #go-nuts
07:04 -!- seakazam [n=jc@c-71-198-182-167.hsd1.ca.comcast.net] has quit [Remote
closed the connection]
07:05 -!- ap0th [n=chatzill@c-24-15-198-188.hsd1.il.comcast.net] has joined
#go-nuts
07:05 < eydaimon> robpike: know if anyone has started a port for macports?
I don't see anything submitted
07:05 < eydaimon> I'll whip it together now if noone else has
07:05 < JKnife> antarus: CentOS 5 in a OpenVZ VPS
07:05 -!- ap0th [n=chatzill@c-24-15-198-188.hsd1.il.comcast.net] has quit [Read
error: 104 (Connection reset by peer)]
07:05 < mjard> that gopher is growing on me
07:05 < Eridius> eydaimon: the problem with making a Port is there would
need to be a source tarball download
07:05 < chrome> I think they want people using mercurial until go is
"stable"
07:05 <+robpike> eydaimon: not that i know of
07:06 < Eridius> eydaimon: the standard way of dealing with projects that
don't have one is to host such a tarball on the macports servers, but I don't know
if go is in a state where the source should be frozen for distribution
07:06 -!- drazed [n=drazed@S0106001cf067224f.gv.shawcable.net] has joined #go-nuts
07:06 < flea__> robpike: so if i have multiple types with a 'plus' method, I
could use an interface with a plus method
07:06 < eydaimon> Eridius: not really.  the ports system supports repos
07:06 -!- nuvm [n=nu@CPE0019b92225c9-CM00195edd2c24.cpe.net.cable.rogers.com] has
joined #go-nuts
07:06 -!- Libster [n=libster@pool-71-179-208-145.bltmmd.east.verizon.net] has
joined #go-nuts
07:06 < andguent> robpike, rsc9: is there a windows port in the work?
07:06 -!- ap0th [n=chatzill@c-24-15-198-188.hsd1.il.comcast.net] has joined
#go-nuts
07:06 < Eridius> eydaimon: ports aren't supposed to use the version control
fetch mechanisms
07:06 <+robpike> i think a tarball at a release tag makes sense but it's
probably a little early to set one up
07:06 < eydaimon> Eridius: oic what you mean
07:06 < Eridius> eydaimon: that mechanism was designed for ports in
development
07:06 < ap0th> hello, i'm having trouble with install
07:06 <+agl> andguent: no Windows port yet
07:06 < eydaimon> Eridius: it does support you tagging it yourself though
07:06 < antarus> JKnife: hrm, not sure how OpenVZ handles /dev
07:06 <+rsc9> andguent: no.  want to write one?
07:07 <+robpike> flea__: yes, but you can't call it +
07:07 < eydaimon> Eridius: it's better than not having a port at all
07:07 -!- itsaboutcode [n=itsabout@119.152.26.59] has quit [Read error: 131
(Connection reset by peer)]
07:07 < andguent> rsc9: well i still got my stuff to do on 9vx ;)
07:07 <+robpike> no windows port in the works.  love to have one
07:07 -!- ghoti_ [n=alex060@ppp121-44-137-151.lns20.syd7.internode.on.net] has
joined #go-nuts
07:07 < Eridius> eydaimon: perhaps.  The other issue is `port install` can't
set up the required env variables
07:07 < eydaimon> Eridius: have you tried ?
07:07 < antarus> How are you going to handle libraries bundled with go
versus third party libraries?
07:07 <+agl> ap0th: you're going to have to give some details
07:08 < eydaimon> Eridius: and having a go-devel port is perfectly
acceptable way to get around the repo thing
07:08 < Eridius> eydaimon: well in theory it could munge your .bash_profile
or something, but that would be extremely frowned upon and would be editing files
outside of the sandbox
07:08 < flea__> ok, so type method names cannot be reserved words or
operators
07:08 < Eridius> eydaimon: true, if you wanted to call it go-devel then
making it based on the repo would be fine, but you still have the env var issues
07:08 <+robpike> flea__: correct
07:08 < eydaimon> Eridius: I'm not convinced that the env vars is an issue
07:08 < ap0th> during "making lib9" of all.bash
07:08 <+agl> antarus: no firm plans yet, but there's a reason why import
statements take a string, no a token.
07:09 -!- epalm [n=eric@user248-110.vpn.utoronto.ca] has quit [Read error: 110
(Connection timed out)]
07:09 <+rsc9> ap0th: drop the transcript into pastebin.com and send us the
link.
07:09 < Eridius> eydaimon: unless go can operate just fine without them (and
if so, why do install instructions tell you they're required variables?), it is an
issue.  a Portfile cannot safely edit the user's .bash_profile, nor should it be
doing such a thing
07:09 -!- codedread_ [i=180dd699@gateway/web/freenode/x-zdtujpxmrtshrzje] has quit
["Page closed"]
07:09 < andguent> rsc9: but i have a look at it.  i guess...dunno how much
trouble it'll be.  one thing that comes to my mind is at least PE support, which i
have no clue about..at all
07:09 -!- Libster [n=libster@pool-71-179-208-145.bltmmd.east.verizon.net] has left
#go-nuts []
07:09 < chrome> robpike: do you recommend integrating gofmt into the
build/test cycle to automatically format the code as you work on it?
07:09 -!- epalm [n=eric@bas1-portcredit33-1176388860.dsl.bell.ca] has joined
#go-nuts
07:09 < eydaimon> Eridius: I'm not sure what you're talking about.
07:09 <+robpike> chrome: sure.  it's fast and easy.  not every keystroke but
once in a while
07:10 <+rsc9> andguent: go on windows is probably easier and more
interesting than 9vx anyway.
07:10 < Eridius> eydaimon: in order to set the env vars, the Portfile would
have to edit your .bash_profile.  Do you accept that as true?
07:10 < eydaimon> Eridius: nope
07:10 < chrome> robpike: I was considering adding it to my Makefile ;)
07:10 <+robpike> we think gofmt is a radical idea but it will take a while
for its radicalness to be appreciated
07:10 < Eridius> eydaimon: ok, what alternative would you propose?
07:10 < flea__> any plans for function overloading?  or is it just more 'go'
to define multiple types and use interfaces?
07:11 -!- mjard_ [n=k@70.114.138.168] has joined #go-nuts
07:11 < chrome> robpike: actually, its not too way out there.  A lot of
shops already insist code be run through indent with certain flags before
committing to repo.
07:11 <+robpike> flea__: if by function overloading you mean same name,
different types, no.  see the language design faq
07:11 < eydaimon> Eridius: I'm going to cut this discussion short and just
make the Portfile to prove my point instead.
07:11 * antarus appreciates anything that enforces style; even style he hates
07:11 < ghoti_> I having having trouble with exec->Run(), Has anyone
figured it out?
07:11 -!- mjard [n=k@70.114.138.168] has quit [Nick collision from services.]
07:11 -!- arty [n=arty@reactos/developer/arty] has joined #go-nuts
07:11 < andguent> rsc9: first thing that fails is obivously the p9p bits.  i
try to tackle them first when i find some time this week
07:11 -!- mjard_ is now known as mjard
07:11 < joeyadams> "kaib> joeyadams: why do you need it?" => That's
apparently how the C->Go stuff works; I dunno.
07:11 < Eridius> eydaimon: fair enough.  If you need it committed, I can do
so
07:11 -!- theatrus` [n=user@69.239.107.64] has joined #go-nuts
07:11 < flea__> robpike: I am slowly going through the site, but first I
need to finish your presentation :)
07:11 -!- coldhak [n=coldhak@99.152.25.152] has joined #go-nuts
07:11 <+robpike> chrome: right, but gofmt is more aggressive and also part
of the system.  hg requires you to run it before submitting to the depot.  all go
code is gofmtified
07:11 < chrome> robpike: how safe is gofmt -w=true ?
07:11 <+robpike> chrome: we use it all the time
07:12 < joeyadams> I'm trying to figure out how to implement NumCPUs, and I
know this isn't quite how to do it:
http://constellationmedia.com/~funsite/go/numcpus-20091111.dontpatch
07:12 < ap0th> http://pastebin.com/m520376ca
07:12 <+kaib> joeyadams: right.  like rob said it's going away, i just copy
and paste it from somewhere or type alt dot dot in acme
07:12 <+rsc9> ap0th: cool.
07:12 < eydaimon> Eridius: cool.  give me some 30 mins
07:12 -!- aldaor [n=chatzill@201.250.108.246] has quit [Remote closed the
connection]
07:12 < Eridius> joeyadams: how about using sysctl?
07:12 < Eridius> or does that not exist on all supported platforms
07:12 < chrome> robpike: now if only you could force people to comment :P
07:12 < joeyadams> Okay, we're looking at syscall, sysctl, and sysconf
07:12 <+robpike> joeyadams: it doesn't belong in runtime.
07:12 -!- Libster [n=libster@pool-71-179-208-145.bltmmd.east.verizon.net] has
joined #go-nuts
07:12 < Libster> does the go programming language have a search bar?
07:12 < antarus> joeyadams: you should write it in go, not C
07:13 < ap0th> thanks rsc9
07:13 <+robpike> you need sysctl or sysconf support in syscall and then it's
just a library call
07:13 < antarus> joeyadams: thats why I pointed you at the syscall pkg and
sysinfo ;)
07:13 -!- scriptdevil [n=scriptde@122.174.155.141] has quit ["leaving"]
07:13 -!- brontide_ [n=brontide@cpe-74-70-32-224.nycap.res.rr.com] has joined
#go-nuts
07:13 < antarus> after grepping through teh source I got the impression most
of the 'extras' were written in go and not C :)
07:13 -!- Netsplit calvino.freenode.net <-> irc.freenode.net quits: uman,
theatrus, Suhail, philcrissman, brontide, Jerub, shinh, fivebats, +agl,
tokuhiro_____, (+2 more, use /NETSPLIT to show all of them)
07:13 -!- brontide_ is now known as brontide
07:13 <+robpike> Libster: http://golang.org has a rudimentary search on the
left
07:13 -!- Rob_Russell [n=chatzill@206-248-157-156.dsl.teksavvy.com] has quit
["ChatZilla 0.9.85 [Firefox 3.5.5/20091102152451]"]
07:13 < Libster> no i meant the actual language does it have a search bar in
it
07:14 < Capso> robpike: just ban
07:14 <+robpike> C was important for bootstrapping.  its importance to the
runtime will diminish i suspect
07:14 -!- Netsplit over, joins: sstangl, Jerub
07:14 -!- rsc9 [n=rsc@c-98-248-40-183.hsd1.ca.comcast.net] has left #go-nuts []
07:14 <+robpike> Libster: sorry i don't understand
07:14 < Libster> sorry i will think of a better question to troll with
07:14 -!- jcgregorio_ [n=chatzill@203.39.247.241] has joined #go-nuts
07:14 < Libster> give me a minute
07:15 < Eridius> so who's going to implement the first Go AI in Go?
07:15 -!- Netsplit over, joins: xjih78
07:15 < andguent> robpike: just wondering.  what was the rational to write
something new instead of fixing limbo?
07:15 <+robpike> andguent: wanted to run on the bare metal
07:15 < ghoti_> http://pastebin.com/de9500dc <- Can anyone see whats is
wrong here?
07:15 <+robpike> andguent: also, the type system is totally different from
limbo's
07:16 -!- xylifyx [n=xylifyx@62.242.33.132] has joined #go-nuts
07:16 < abbyz> andguent: and also http://9fans.net/archive/2009/11/120
07:16 <+robpike> ghoti: (nice name by the way mr.fish): exec.Run
07:17 < andguent> abbyz: i kind of stopped reading 9fans.  too much noise
07:17 < ghoti_> robpike: oh, thats silly.  sorry about that, thanks
07:17 < Eridius> ok, since strings are immutable, isn't hte Echo demo in the
tutorial pretty inefficient?
07:17 < Associat0r> no op overloading?
07:17 < Associat0r> what about math stuff?
07:17 < ap0th> http://pastebin.com/m520376ca <---problem installing go on
linux
07:17 <+robpike> Eridius: yes.  if you had a long arg list a bytes.Buffer
would be better
07:17 -!- paulbaumgart [n=paulbaum@cpe-66-75-245-65.san.res.rr.com] has quit []
07:18 <+robpike> or you could use bytes.Add
07:18 -!- rsc9 [n=rsc@216.239.45.130] has joined #go-nuts
07:18 -!- mode/#go-nuts [+v rsc9] by ChanServ
07:18 -!- JustinHoMi [n=JustinHo@cpe-024-211-196-059.nc.res.rr.com] has quit [Read
error: 110 (Connection timed out)]
07:18 <+robpike> Associat0r: what about math stuff?
07:18 < antarus> Associat0r: I assume you could define routines like Add,
Multiply, Divide, etc...
07:18 < chrome> robpike: oh, multiple return values, cool.
07:18 < mjard> Libster: still thinking?
07:18 < Libster> yeah give me a minute
07:19 -!- uman [n=brennan@unaffiliated/uman] has joined #go-nuts
07:19 < Libster> do you have any suggestions?
07:19 < CESSMASTER> are there plans to integrate Go with V8?
07:19 <+robpike> chrome: that was ken's idea
07:19 < Libster> what have the previous trolls been doing
07:19 -!- Morphius [n=morphius@adsl-69-151-27-22.dsl.lbcktx.swbell.net] has joined
#go-nuts
07:19 < chrome> robpike: he gets a cookie for that one.
07:19 < chrome> (or a beer)
07:19 < Associat0r> antarus yes but that kinda clutters the code
07:19 < eydaimon> Eridius: you planning to be around in 30 mins?
07:19 -!- jcgregorio [n=chatzill@203.39.247.241] has quit [Read error: 60
(Operation timed out)]
07:19 < Morphius> I'm getting a whole bunch of "file not found" errors when
trying to run ./all.bash on Ubuntu 9.04 x86
07:19 <+robpike> something you won't appreciate until you've used it for a
while is the initialization.  compare the rpc package's setup with how you'd do it
with something like protocol buffers
07:19 -!- jcgregorio_ is now known as jcgregorio
07:20 < Eridius> eydaimon: most likely
07:20 < Morphius> I have a clean source tree from Mercurial.
07:20 < Associat0r> robpike math stuff like vectors matrices etc
07:20 < antarus> ap0th: you have no /usr/include/limits.h ?
07:20 < Morphius> Am i missing something?
07:20 -!- theatrus` is now known as theatrus
07:20 <+robpike> Associat0r: not much.  feel free to build stuff
07:20 < mjard> Libster: very few trolls this evening, you had a decent
chance
07:20 < Associat0r> robpike I mean with regards to lack of op overloading
07:20 < Libster> oh
07:20 < Eridius> Morphius: what is it claiming not to find?
07:20 < andguent> are there plans to have a 9P lib in go?  i think that
could give the 9P situation a whole new spin
07:21 <+robpike> CESSMASTER: no plans but we've talked about things like
that.  we really want go in the browser
07:21 < sstangl> andguent: someone in #plan9 already started a project for
that.
07:21 < Capso> andguent, Also covered in 9fans
07:21 <+robpike> andguent: no plans.  again, feel free....
07:21 < Morphius> Eridius: Makefile:5: /home/morphius/go/src/Make.linux/386:
No such file or directory
07:21 < CESSMASTER> robpike: will there be a search bar?
07:21 -!- al-maisan [n=al-maisa@f049150118.adsl.alicedsl.de] has joined #go-nuts
07:21 < eydaimon> Eridius: great.  macports has decided to install sqlite3
just to even fetch the source-code
07:21 < eday> is there any plans to natively support distributed goroutines
(ie, like Erlang processes)?
07:21 < Capso> CESSMASTER, is all of #not-math going to come here with that
crap?
07:21 < andguent> robpike: all right.  sorry for bothering.
07:21 < Eridius> Morphius: I take it your $GOOS is set to "linux"?
07:21 < Eridius> eydaimon: yeah, you have to pull in all Mercurial
dependencies :p
07:22 < mjard> Libster: so don't strain yourself, just let it flow
07:22 < Morphius> Eridius: Yes.
07:22 < antarus> robpike: aha, I knew I liked := from somewhere; spirited it
away from szl eh ;)
07:22 < epalm> slicing doesn't seem to allow python-like a[1:] (everything
after the first element)
07:22 <+robpike> it originated in newsqueak
07:22 < ap0th> antarus - I'm getting a quietgcc: command not found error
07:22 < Libster> mjard: it takes time
07:23 < antarus> ap0th: quietgcc should be located at $GOBIN/quietgcc, make
sure $GOBIN is in your PATH
07:23 < antarus> ap0th: i assume 'which quietgcc' returns nothing
07:24 < Morphius> Eridius: nvm...  $GOARCH incorrectly set...  misread the
docs and put linux/386.  Not I'm getting quietgcc not found.
07:24 < Eridius> ahh
07:24 < eydaimon> Eridius: I already had it installed :P
07:24 -!- kaib [n=kaib@216.239.45.130] has quit []
07:24 < Eridius> eydaimon: via MacPorts?
07:24 -!- m0rra [n=m0rra@233.240.191.90.dyn.estpak.ee] has joined #go-nuts
07:24 < Libster> has anyone made any games yet in Go? I was thinking of
making an MMORPG
07:24 < eydaimon> Eridius: aye.  macports is really weird that way
07:25 < KirkMcDonald> Libster: Heh.  Go has only been public for a matter of
hours.
07:25 < no_mind> go appears to be a good language for gaming
07:25 < Libster> o
07:25 < Libster> i was gonna make a halo mod with it
07:25 < Eridius> eydaimon: macports doesn't trust anything from the system
07:25 < sfuentes> anyone able to install go using cygwin?
07:25 < epalm> victory!  http://pastebin.ca/1666097
07:25 < epalm> / prints 15
07:25 < mjard> Libster: that was decent, not great
07:25 < Eridius> hrm robpike make.bash's validity test for GOOS and GOARCH
don't catch everything
07:25 < eydaimon> Eridius: alright, got it to download.  now to get it to
compile :)
07:25 < Libster> sorry
07:25 < andguent> sfuentes: go certainly won't run out of the box on cygwin
07:25 < Libster> i'll think of a better one
07:25 -!- ment [i=thement@ibawizard.net] has joined #go-nuts
07:25 < mjard> good
07:26 < Associat0r> robpike I meant math in regards to op overloading?
07:26 <+robpike> no op overloading.  the language design faq mentions this
07:26 -!- theoros` [n=theoros@unaffiliated/theoros] has joined #go-nuts
07:26 < sfuentes> andguent: i have verified that
07:26 -!- DWarrior1 [n=axfv@c-71-63-157-143.hsd1.mn.comcast.net] has joined
#go-nuts
07:26 < Eridius> oh wait I tested that wrong.  actually the test should work
fine.  I don't know why Morphius didn't have an error spit out when he had his
GOOS set wrong
07:27 < Associat0r> robpike also no defining of new operators right?
07:27 <+robpike> functions and methods only
07:27 < Associat0r> robpike ok thanks
07:27 -!- breadtk [n=breadtk@persian-rose.feralhosting.com] has joined #go-nuts
07:27 < breadtk> Ok wow...seriously google?
07:27 < breadtk> You guys are aiming for world domination guys
07:27 * breadtk bows
07:27 -!- nullpo [n=nullpo@221x252x46x83.ap221.ftth.ucom.ne.jp] has joined
#go-nuts
07:28 -!- Capso [i=none@about/networking/128.0.0.0/Capso] has left #go-nuts
["Leaving"]
07:28 -!- scoopr [i=scoopr@et.vaan.osaa.fi] has joined #go-nuts
07:29 < level09> i just heard about this new lang ..  is it for the desktop
primarily ?
07:29 < Morphius> So my quietgcc not found issue was solved my an 'mkdir
~/gobin' (which is what $GOBIN is set to)
07:29 -!- mheath [n=michaelh@75-169-103-11.slkc.qwest.net] has joined #go-nuts
07:29 < DJCapelis> level09: There's no reason it would be restricted to the
desktop really...
07:30 -!- m0rra [n=m0rra@233.240.191.90.dyn.estpak.ee] has quit ["Ex-Chat"]
07:30 < drhodes> put together a nearly useless import graph (~2MB) of the
pkg directory: http://img410.imageshack.us/img410/7964/goimportgraph.png
07:31 < fynn> why is the receiver definition syntax so verbose?  :/ it's
making me miss self
07:31 -!- m0rra [n=m0rra@233.240.191.90.dyn.estpak.ee] has joined #go-nuts
07:31 < abbyz> why is it not fair to call sum this way -
sum([1:3]int{1,2,3,4}) or sum(&[1:3]int{1,2,3,4})?
07:31 -!- Element14 [n=sydneyfo@pcd303171.netvigator.com] has joined #go-nuts
07:32 < abbyz> the slices bounds don't wrap.  array[3:1] gives a runtime
error.
07:32 -!- Andrius [n=null@unaffiliated/andrius] has joined #go-nuts
07:32 < Quadrescence> robpike: Excuse this 99% off-topic question, but could
you, by chance, draw a mascot for C89 (with the same style as plan9 and go)?
07:33 <+robpike> it's not me it's renee french.
07:33 -!- robot12 [n=robot12@inferno.kgts.ru] has joined #go-nuts
07:33 <+robpike> abbyz: i don't understand your syntax.  the array type is
[n]int not [1:3] int
07:34 < Jerub> robpike: are there any australian Go googlers?
07:34 < robot12> hi all :)
07:34 <+robpike> just say []int{1,2,3,4}
07:34 <+robpike> jerub: yes
07:34 < Jerub> robpike: 2009.osdc.com.au is only 3 weeks away, and there's a
space or two in the schedule.
07:34 < mjard> robpike: the multiplexing example reminds me a lot of actors
in scala, any plans having channels that work over a network?  or is that just a
little too high level?
07:34 -!- monkfish [n=chatzill@pc4231.stdby.hin.no] has joined #go-nuts
07:34 < robot12> robpike, is there a version for Plan9 ? :)
07:34 -!- bryce_ [n=bryce@c-76-121-192-70.hsd1.wa.comcast.net] has quit []
07:35 <+robpike> fynn: it's not that verbose if you look at it fairly.  you
need to say what the type is because you can't declare a method inside a struct -
what if the type is not a struct?
07:35 -!- DWarrior1 [n=axfv@c-71-63-157-143.hsd1.mn.comcast.net] has left #go-nuts
[]
07:35 -!- silassewell [n=silassew@c-71-237-114-144.hsd1.co.comcast.net] has left
#go-nuts []
07:35 <+robpike> mjard: see gob and rpc packages.  and more is sure to come
07:36 <+robpike> robot12: not yet
07:36 -!- KiNgMaR [n=ingmar@endgegner.net] has joined #go-nuts
07:37 < fynn> robpike: you may be right; somehow I just think there could be
an OOP syntax that gives programmers the concise, familiar syntax they like for
little cost.
07:37 < eydaimon> Eridius: hm.  everytime I change the portfile, macports
wants to download the repo again...  unless I can figure that part out, it may
take awhile :/
07:37 < fynn> Is there any plan to support macros?
07:38 < Eridius> eydaimon: I don't know anything about the mercurial fetch
type.  I've only used the svn/git types before
07:38 <+robpike> fynn: no macros
07:38 -!- scriptdevil [n=scriptde@122.174.155.141] has joined #go-nuts
07:38 < eydaimon> Eridius: any idea how to do it there?  I'm almost at it
compiling now
07:38 < scriptdevil> Hmmm.  One less than 200
07:39 * theatrus likes the look of the rpc library
07:39 <+rsc9> drhodes: there should be a clear ordering--the package
dependencies are a dag--but the graph doesn't show it.  you might try starting
with $GOROOT/src/pkg/Make.deps instead, which is package level as opposed to file
level
07:39 -!- sjbrown_ [n=sjbrown@69.181.182.137] has joined #go-nuts
07:39 < eydaimon> Eridius: duh, I'll make it clone locally :)
07:39 < sjbrown_> this language has me jazzed
07:39 < drhodes> ok rsc9, thanks
07:39 < scriptdevil> 200 :) The limit is reached
07:40 -!- bvalek2 [n=bvalek2@116.58.232.153] has joined #go-nuts
07:40 < sjbrown_> do i win a prize?
07:40 -!- aatifh [n=atif@117.195.102.121] has joined #go-nuts
07:40 < scriptdevil> sjbrown_: Yeah.  ChoGO
07:40 < aatifh> ping
07:41 -!- jcgregorio [n=chatzill@203.39.247.241] has quit [Read error: 110
(Connection timed out)]
07:41 < sjbrown_> how are the packages discovered?  is there something like
PYTHONPATH in python?
07:41 < sjbrown_> or is it a compiler flag?
07:41 -!- Ycros [n=ycros@211.30.206.246] has joined #go-nuts
07:41 <+robpike> sjbrown: the env vars GOROOT GOARCH GOOS
07:42 -!- theoros` is now known as theoros
07:42 < sjbrown_> GOOS?  is it preceeded by a bunch of DUKs?
07:42 -!- bvalek2 [n=bvalek2@116.58.232.153] has left #go-nuts []
07:42 <+robpike> just say GOOS GOARCH repeatedly until you feel better
07:42 -!- StevenTyler [n=steve@123.201.55.206] has quit []
07:42 -!- fgb [n=fgb@190.246.85.45] has joined #go-nuts
07:43 -!- Capso [i=none@about/networking/128.0.0.0/Capso] has joined #go-nuts
07:43 < epalm> heh, no mention of windows in the faq
07:44 < theatrus> hmm, something you don't see in many standard libraries,
an asn1 parser
07:44 < sjbrown_> i like the scrapping of header files.  god, i hate those
things
07:44 -!- jwnz [n=user@CPE001839f8e82b-CM0017ee6363de.cpe.net.cable.rogers.com]
has joined #go-nuts
07:45 -!- shaiguitar_ [n=shaiguit@93.172.132.229] has joined #go-nuts
07:45 < sjbrown_> the for syntax is also super nice
07:45 < Eridius> eydaimon: I'm going to bed.  If you get the Portfile
working, just email it to me at <kevin@sb.org> and I'll take care of
committing it tomorrow
07:45 < scriptdevil> sjbrown_: Infact, DUK seems like a good name for a
library written in GO :P
07:45 < jdp> robpike are there future plans to get rid of the GO*
environment variables?
07:45 -!- theoros [n=theoros@unaffiliated/theoros] has left #go-nuts []
07:45 -!- shaiguitar_ is now known as shaiguitar
07:45 < theatrus> I hope there was some underlying reason for that, not just
to complete the kitchen sink ;)
07:45 -!- eno__ [n=eno@70.137.144.173] has joined #go-nuts
07:45 <+robpike> jdp: no plans.  are they a problem other than the initial
setup?  we crosscompile all the time and being able to flip builds is very handy
07:46 < jdp> no they aren't, you're right
07:46 < scriptdevil> sjbrown_: Can Google ever go wrong is the question.  I
dont wanna sound like a fanboy.  But I am positively amazed at the maturity and
completeness of a 2 day old language.  (Forget the 2 years of development)
07:46 <+robpike> you need asn1 for x509 for SSL
07:46 < Eridius> robpike: I'm of the opinion that crosscompiling should be
achieved by passing -arch flags to the compiler
07:46 < Eridius> and with that, I'm going to sleep.  g'night
07:46 < uman> when (if ever) will Go be available for Windows?
07:46 < KiNgMaR> <- wondering about Windows support as well
07:47 < mjard> heh
07:47 < epalm> windows isn't mentioned anywhere in the faq
07:47 <+robpike> Eridius: that means different makefiles and all that, or
else some other configuration management setup.  env vars work great
07:47 < sjbrown_> scriptdevil, are you waiting for the Google Bob?
07:47 < mrd`> Pft, use a real OS. :P
07:47 < uman> also, my humble recommendation is that you put this in the FAQ
07:47 < uman> mrd`, that's a useless answer
07:47 < theatrus> oh I missed the whole ssl library, last I dealt with asn1
was with SNMP on embedded microcontrollers
07:47 <+robpike> uman: you're right
07:47 < mjard> uman: you have to respect the fact that it's very very rare
that the tables are turned this way
07:48 < eydaimon> Eridius: I'll email you the ticket
07:48 < sjbrown_> the only bad taste I have from go so far is the
prediliction for unxstyl names
07:48 < eydaimon> Eridius: I'll file it as per usual
07:48 < antarus> Eridius: meh, I dunno when I cross-compile I typically set
CHOST, CTARGET, etc...and my build system handles talking to the compiler for me;
I don't see how this is conceptually different?
07:48 < uman> mjard, for a reason: Windows is very popular
07:48 -!- harja [n=maharj@130.232.203.196] has joined #go-nuts
07:48 < ggbgg> uman: not among programmers.
07:48 -!- decriptor [n=decripto@53.250.sfcn.org] has quit [Read error: 113 (No
route to host)]
07:48 < scriptdevil> uman: For developers and hackers.  It is always *nix
07:48 < fgb> relax
07:49 < uman> scriptdevil, er, have you ever been a professional programmer?
07:49 * scriptdevil turns back to "Effective Go"
07:49 < uman> what you use is rarely "whatever the programmers personally
prefer"
07:49 < scriptdevil> uman: Nope :P
07:49 < Morphius> Okay.  New issue.  I get this error when building Go:
http://pastebin.com/d4d529e69
07:49 < joeyadams> Does Go have something like using?
07:49 < joeyadams> e.g.  using fmt;
07:49 < joeyadams> Println("Ah, much better");
07:50 -!- RazvanM [n=RazvanM@pool-173-75-187-87.bltmmd.east.verizon.net] has
joined #go-nuts
07:50 <+robpike> joeyadams: import . "fmt" but it's frowned upon because it
can introduce name clashes
07:50 < joeyadams> instead of having fmt.  before every Println
07:50 -!- dapxin [n=dapxin@85.13.192.198] has joined #go-nuts
07:50 < antarus> joeyadams: package.method is one of the things I love about
the google python style guide
07:50 < epalm> robpike: such a clash will prevent compilation?
07:50 < antarus> (that they seem to have adapted here)
07:50 < Ycros> joeyadams: the explicitness is nice
07:50 < antarus> adopted?  somethign
07:51 < antarus> epalm: I dunno, let me try to build an example
07:51 * flea__ thinks it's time to install
07:51 <+robpike> epalm: yes.  again, you get used to it and it keeps things
very clear.  yeah, "fmt" is unixy but it's short and unobtrusive
07:51 -!- shaiguitar [n=shaiguit@93.172.132.229] has left #go-nuts ["Why not?"]
07:51 -!- ideamonk [n=ideamonk@117.192.231.50] has joined #go-nuts
07:51 * robpike is trying a new feature
07:51 * robpike is done
07:52 < Element14> @_@
07:52 -!- daglees [n=jamil@unaffiliated/daglees] has joined #go-nuts
07:53 < sjbrown_> i'd prefer "format" and "Printline" to "fmt" and "Println"
07:53 < sjbrown_> you could always do import fmt "format" to make things
compact
07:53 < Morphius> Anyone have any idea what may be giving me that error?
07:53 <+robpike> sjbrown_: import format "fmt" does half of it
07:54 < joeyadams> I'm still trying to figure out how to get the number of
CPUs.  sysinfo doesn't have it
07:54 < joeyadams> It has "procs" which is /* Number of current processes */
07:54 < antarus> Morphius: likely you have a dns or network problem
07:54 < joeyadams> When I ran it, I got 319
07:54 < antarus> joeyadams: sec
07:54 < sjbrown_> well that's the other way around.  human-readable names
are advantageous mostly when *reading*
07:54 <+robpike> Morphius: have you done hg pull -u recently?  some network
bugs were fixed tonight
07:54 < epalm> should go code be written with the number of available
cores/processors in mind?
07:55 < eydaimon> robpike: if you had a release version, what would that be
for this release?
07:55 -!- dapxin [n=dapxin@85.13.192.198] has left #go-nuts []
07:55 < antarus> joeyadams: hrm I do fail
07:55 < mjard> looks like "fmt" is going to be one of those things you'll
end up explaining forever
07:55 <+robpike> eydaimon: please rephrase for clarity.  it's late
07:55 < joeyadams> I figured sysconf(_SC_NPROCESSORS_ONLN) would be the best
07:55 < sjbrown_> oh wow.  I just learned about Go's Interfaces.  This thing
is sooo sweet
07:55 -!- adamblan [n=adamblan@OOBLECK.RES.CMU.EDU] has left #go-nuts []
07:55 < Morphius> robpike: Just got the latest release tree about 20 minutes
ago; when I heard about this language.
07:55 < joeyadams> where should I put that?  syscall?
07:55 < joeyadams> sysconf isn't a syscall, apparently
07:56 < antarus> it is not
07:56 <+rsc9> eydaimon: this release's version is 2009-11-10.1
07:56 < Morphius> antarus: I'm connected to the internet....  And Idea where
I should start looking?
07:56 -!- javax [n=javax@galaxy.infidyne.com] has joined #go-nuts
07:56 <+robpike> we've seen some firewall issues.  try disabling the
firewall if you have one.
07:56 -!- eno [n=eno@nslu2-linux/eno] has quit [Read error: 110 (Connection timed
out)]
07:56 -!- ap0th_ [n=chatzill@c-98-212-1-27.hsd1.il.comcast.net] has joined
#go-nuts
07:56 < eydaimon> rsc9: thanks
07:56 < itrekkie> can someone clue me in on how to build the
doc/progs/cat.go example?  I keep getting an error about a missing "./file", so
I'm obviously doing something wrong…
07:56 < antarus> Morphius: assuming you can still build the hello.go example
you can likely ignore those test failurse
07:56 <+robpike> if all else fails, put the net package in the NOTEST block
in src/pkg/Makefile and file an issue please
07:56 < eydaimon> rsc9: does the -r release tag keep shifting?
07:56 <+rsc9> yes but the other tags do not
07:57 < Morphius> antarus: Okay, I'll give that a try.
07:57 <+rsc9> cat $GOROOT/.hgtags
07:57 <+robpike> itrekkie: you need to compile go/doc/progs/file.go first.
it's imported by cat.go
07:57 -!- bovv [n=crow@p2016-ipbf806yosida.nagano.ocn.ne.jp] has joined #go-nuts
07:57 < eydaimon> rsc9: so if I wanted a fixed tag, what would I use?  ok
07:57 < itrekkie> robpike: ah, thank you :)
07:57 <+rsc9> anything in the second column but release
07:57 < eydaimon> rsc9: thanks :)
07:57 < eydaimon> rsc9: i.e.  hg clone -r release.2009-11-10 [etc] will
work?
07:58 <+rsc9> yes
07:58 <+rsc9> but use 2009-11-10.1 which was the second release today and
has some important fixes
07:58 -!- psankar [n=evo@opensuse/member/psankar] has joined #go-nuts
07:58 -!- ideamonk is now known as ideamonk|away
07:58 < Morphius> antarus: Okay, you're right.  Works fine.  Thanks!  :-D
07:59 < eydaimon> rsc9: ok.  thanks
07:59 < eydaimon> rsc9: I'm just making a portfile, so right now it's not so
important to get it exactly right :)
08:00 -!- benno [n=benno@vl10.gw.ok-labs.com] has quit ["leaving"]
08:01 * fynn just built Go on OS X 10.5.8 with no issues.
08:02 < fynn> robpike: congrats on creating this :)
08:02 < psankar> I want to package go for openSUSE.  Are there any relase
tarballs that I can wget and use ?
08:02 < flea__> fynn: thats what i'm planning to do first, followed by
debian
08:03 <+robpike> fynn: thanks!
08:04 -!- ideamonk|away is now known as ideamonk
08:04 -!- ned [n=ned@c-76-19-208-96.hsd1.ma.comcast.net] has joined #go-nuts
08:05 < eday> robpike: it being used for anything "real" internally yet, or
is it still in the toy phase?
08:05 <+robpike> eday: golang.org is real.  but mostly just toys yet
08:05 -!- tokuhiro_____ [i=tokuhiro@p3065-ipbf6805marunouchi.tokyo.ocn.ne.jp] has
joined #go-nuts
08:05 -!- philcrissman [n=philcris@c-75-72-98-108.hsd1.mn.comcast.net] has joined
#go-nuts
08:05 -!- fivebats [n=anonymou@c-76-115-189-78.hsd1.or.comcast.net] has joined
#go-nuts
08:06 < psankar> robpike, congrats :-)
08:06 < flea__> ok, last question for today: any plans for lambda functions?
08:06 -!- breadtk [n=breadtk@persian-rose.feralhosting.com] has left #go-nuts []
08:06 -!- pmv [n=pmv@58.71.34.137] has joined #go-nuts
08:06 -!- Innominate [n=sirrobin@71.77.41.139] has joined #go-nuts
08:06 < eday> robpike: any plans to make goroutines/channels distributed
(like Erlang), or are you guys just stick with rpc pkg for that stuff?
08:06 < Capso> eday: the webserver upon which golang.org is running is
written in G; that's pretty real
08:06 < flea__> o_O
08:06 <+rsc9> flea__: closures are already there
08:07 <+rsc9> http://golang.org/doc/go_spec.html#Function_literals
08:07 < eday> Capso: yeah, and it's not died yet from /., so thats a good
sign :)
08:07 * flea__ looking
08:08 <+robpike> fynn: thanks and have fun
08:08 -!- CESSMASTER [n=CESSMAST@unaffiliated/joelywoely] has left #go-nuts
["☃☃☃☃☃☃☃☃☃☃☃☃☃☃☃☃☃☃☃☃☃☃☃☃☃☃☃☃☃☃☃☃☃☃☃"]
08:08 < flea__> ooh, nice
08:08 -!- Gib1 [n=Adium@pat1.orbitz.net] has joined #go-nuts
08:08 < flea__> well, congrats robpike and the whole go team, now ...  to
installation and hacking :)
08:09 -!- jsgotangco [n=JSG@ubuntu/member/jsgotangco] has joined #go-nuts
08:09 -!- Gib [n=Adium@pat1.orbitz.net] has quit [Read error: 104 (Connection
reset by peer)]
08:10 <+robpike> eday: no plans yet but we've talked a lot about it
08:10 -!- aatifh [n=atif@117.195.102.121] has quit [Read error: 110 (Connection
timed out)]
08:11 -!- Borfy [n=Borf@5356B30E.cable.casema.nl] has joined #go-nuts
08:12 -!- atulagrwl [i=79f2c602@gateway/web/freenode/x-phqpgwczqkhnahlq] has
joined #go-nuts
08:12 -!- flea__ is now known as tf
08:12 -!- ap0th [n=chatzill@c-24-15-198-188.hsd1.il.comcast.net] has quit [Read
error: 110 (Connection timed out)]
08:13 <+robpike> it's late here.  see you guys tomorrow.
08:13 -!- Tronic [i=tronic@dsl-hkibrasgw-ff51c300-29.dhcp.inet.fi] has joined
#go-nuts
08:13 -!- robpike [n=r@c-76-21-1-88.hsd1.ca.comcast.net] has left #go-nuts []
08:13 -!- EoN [n=EoN@c122-106-148-207.carlnfd1.nsw.optusnet.com.au] has joined
#go-nuts
08:14 -!- Max_Might [i=57fca21c@gateway/web/freenode/x-bynntfxsbuphvquf] has quit
[Ping timeout: 180 seconds]
08:17 -!- zer0c00l [n=user@117.199.135.123] has joined #go-nuts
08:18 < zer0c00l> Seems like golang has got a big community ;)
08:18 -!- naderman [n=naderman@phpbb/developer/naderman] has quit [Remote closed
the connection]
08:18 < scriptdevil> zer0c00l: Yeah :) In its very first days
08:18 < pmv> heh
08:19 < joeyadams> I think it'll die down after a while (when people go
"okay, neat, later")
08:19 < mjard> eday: yeah, that's something I'm also very interested in
08:19 < joeyadams> though the long-term trend will likely be growth
08:19 < zer0c00l> hey scriptdevil
08:19 < scriptdevil> hey!
08:19 < zer0c00l> Any one packaging golang for fedora?
08:19 < scriptdevil> I see some level of inconsistency with the ; Some lines
in the tut use it.  Some dont.  Somebody needs to write a styleguide soon
08:19 -!- oRk-maradatscha [n=Maradats@128.189.230.174] has joined #go-nuts
08:19 < psankar> anybody aware of any release tarballs for go ? or we should
just take things from mercurial ?
08:20 < scriptdevil> psankar: Checkout from mercurial
08:20 <+rsc9> psankar: there are no release tarballs - things are moving too
fast - better to use mercurial
08:20 -!- auntieNeo [n=rewt@97-121-46-26.bois.qwest.net] has left #go-nuts []
08:20 < eday> scriptdevil: it's only to separate statements, if you only
have one statement in a block, not needed
08:21 < pmv> yeah like perl
08:21 < Tronic> This was advertized as something that C++ programmers might
be interested on.
08:21 < Tronic> So far I haven't been happy.
08:21 < scriptdevil> eday: Actually I find it kinda stinging to read some
lines with and some lines without ;.
08:21 < psankar> rsc9, scriptdevil, oh okay I wanted to package for openSUSE
so a release version will be ebtter.  may be i will stick with the vcs revision
number as the identifier
08:21 < vsmatck> Tronic: :)
08:21 <+rsc9> there are release names besides "release"
08:21 < Tronic> Garbage collection, no operator overloading, no implicit
type conversions, ...  So, another Java?
08:21 <+rsc9> cat $GOROOT/.hgtags
08:21 <+rsc9> to see them
08:22 < Tronic> Maybe with nicer syntax...
08:22 < pmv> Tronic, heh I get the impression that it should have said,
"instead of C++, here's how we might have done things better"
08:22 < vsmatck> It seems like implicit conversions is a feature you don't
want?
08:22 < pmv> it's not a smooth move from C++
08:22 < Tronic> Anyway, trying to watch the presentation, but Youtube is
having trouble streaming it to me.
08:22 <+rsc9> Tronic: I've done primarily C++ for the last few years and I'm
interested.  ;-)
08:22 -!- blasdelf [n=fred@c-76-104-181-225.hsd1.wa.comcast.net] has joined
#go-nuts
08:22 < dw> about the best thing i've seen thus far is codifying terse
identifiers composed of their parent module name into the language style :)
08:22 < Tronic> So I'm letting it get some buffer while I'm complaining here
:)
08:22 <+rsc9> Also it compiles to machine code, not JVM
08:23 -!- red1 [n=red1@211.25.206.34] has joined #go-nuts
08:23 < pmv> it's not another java, it's meant to be a systems lang
08:23 < Tronic> rsc9: I'm definitely interested too.
08:23 < ideamonk> I'm gonna build it from source now and lookout for speed
that is shown in youtube video
08:23 < pmv> and it's definitely not as verbose as java
08:23 < pmv> in fact it feels like a scripting lang
08:23 < vsmatck> I guess I'd be more inclined to like this language than
most C++ programmers.  I do high performance network programming in C++.
08:23 < pmv> yeah, the current libraries are impressive
08:24 < joeyadams> public private static void abstract final Main(const
MutableIterator<MutableArray<String> > args) {...}
08:24 -!- awalton [n=awalton@76.177.53.219] has joined #go-nuts
08:24 < bovv> I am trying to build it right now, but I get an error...  it
wants something called "queitgcc"...  doesn't find it and terminates.
08:24 < bovv> terminates => stops the build.
08:24 < vsmatck> The one-thread-per-connection way of doing networking is
much more strait forward than something like a a proactor.
08:25 < eday> bovv: make sure $GOBIN is in your $PATH
08:25 < ideamonk> bovv, for me the mercurial clone is taking too much time
08:25 < Morphius> bovv: Try setting $GOBIN and then mkdir'ing that
directory.
08:25 < bovv> thanks.
08:25 < vsmatck> You just can't do it in C++ because you're using real
threads and you can't have a few thousand of them running.
08:25 < Morphius> bovv: And ass eday said; make sure it's in your $PATH
08:25 < scriptdevil> ideamonk: Well, it is not too big
08:25 < joeyadams> bovv-> Did you run the ./all.bash ?
08:25 < joeyadams> oh, nvm
08:25 < joeyadams> I'm looking at getting the CPU count still.  glibc
targeting Linux, for sysconf(_SC_NPROCESSORS_ONLN), ends up looking at /proc/stat
first, then /proc/cpuinfo . Targeting mach, glibc uses some hurd-specific stuff,
apparently.
08:26 < itrekkie> Can anyone point me in the direction of a Makefile, or a
"standardish" way to build a project?  I tried looking into using one from the
pkg/ dir, but it doesn't seem to do what I want.
08:26 < chrome> itrekkie: http://codepad.org/IBHDk0eZ <-- works for me
08:26 < ideamonk> scriptdevil, hg -v doesn't show anything more than without
a -v, and suddenly shows a huge list of files...  pretty late in verbosity...  GOt
it
08:26 < chrome> put source in src, puts objects in obj
08:27 < bovv> thanks....  the path thing fixed it.
08:27 < chrome> oh hang on
08:27 < bovv> (My GOBIN is set to ${HOME}/gobin
08:27 < chrome> http://codepad.org/ZDbrgNuW
08:27 < chrome> fixed
08:27 < ap0th_> what is this all about?  ---> http://pastebin.com/mc9cc8e
08:27 < itrekkie> chrome: thank you for that
08:27 < scriptdevil> bovv: Hmmm.  Did you mkdir it?  Also, is it in your
PATH?  export PATH=$GOBIN:$PATH
08:28 -!- nnyby [n=nik@c-98-247-237-204.hsd1.wa.comcast.net] has joined #go-nuts
08:28 < eday> vsmatck: I'm curious about that as well, 10k+ active conns in
the Go scheduler...
08:28 < bovv> Yes...  my initialization looks like this:
08:28 < chrome> there needs to be more example programs
08:29 < chrome> that are not showcases for the cool stuff, just examples of
ordinary stuff
08:29 < bovv> [ ! -d "${GOBIN}" ] && mkdir -p "${GOBIN}"
08:29 < mjard> hasn't been public very long
08:29 -!- mwarning [n=mwarning@ip-78-94-226-217.unitymediagroup.de] has joined
#go-nuts
08:30 -!- f0r1z [n=f0r1z@87.117.3.97] has quit ["--quit--"]
08:30 -!- sejo [i=SeJo@freenode/staff/sejo] has joined #go-nuts
08:30 < bovv> SO, while I wait for my build to finish...
08:31 < bovv> ...  what problem does this language seek to solve?
08:31 < scriptdevil> bovv: Check the faqs.
08:31 < sejo> why does go have a dep on ed?
08:31 < eday> chrome: look at the tests in src/pkg's, unit tests are usually
good examples
08:31 < pmv> haha really
08:31 < scriptdevil> sejo: It is a build dep
08:32 < pmv> why
08:32 < chrome> eday: yeah, Im just stuck on something more fundamental than
that :P
08:33 -!- jandem [n=jandem@unaffiliated/jandem] has joined #go-nuts
08:33 < sejo> scriptdevil: yes I noticed, but why?
08:33 < antarus> sejo: because someone wrote some of the unittests using ed?
08:34 <+rsc9> sejo: some scripts use it to build things
08:34 < sejo> antarus: I do hope not!
08:34 <+rsc9> ed is the standard editor
08:35 < blasdelf> and ed was written by the project authors 40 years ago
08:35 < antarus> blasdelf: details :)
08:35 < chrome> for example, in all the code I've seen, you can do something
like "l, err := Listen(network, addr);" and not define l
08:35 < ment> go sure has a big runtime
08:35 < chrome> and that obviously works, but if I try to do it, it whinges
at me
08:36 < mjard> ment: smaller than c++'s
08:36 < chrome> how do I define a net.TCPAddr for example?  How do I then
get it to resolve an address?
08:36 < chrome> var address *net.TCPAddr = new(net.TCPAddr);
08:36 < chrome> ?
08:37 -!- mwarning [n=mwarning@ip-78-94-226-217.unitymediagroup.de] has left
#go-nuts ["Leaving"]
08:37 -!- zum_ [n=jsykari@xdsl-83-150-88-4.nebulazone.fi] has joined #go-nuts
08:38 < blasdelf> Anyone else gotten this while compiling go?  "gotest:
error: no tests matching Test([^a-z].*)?  in _test/archive/tar.a"
08:38 < uriel> chrome: see Dial
08:38 -!- eday [n=eday@oddments.org] has left #go-nuts []
08:38 -!- mjl- [n=none@knaagkever.ueber.net] has joined #go-nuts
08:38 < chrome> uriel: who is Dial?
08:39 < uriel> chrome: Dial is a function call
08:39 <+rsc9> blasdelf: hg pull; hg update release; try again
08:39 <+rsc9> fixed earlier this evening
08:39 -!- kampasky [i=pasky@nikam-dmz.ms.mff.cuni.cz] has joined #go-nuts
08:39 < chrome> yes but I need a TCPAddr to listen to a socket
08:39 < blasdelf> rsc9: that's funny, I just cloned it minutes ago
08:39 <+rsc9> blasdelf: hmm, that's no good
08:40 <+rsc9> let me know if it fixes your problem.  if not, what does hg
log -l 1 -q print?
08:40 <+rsc9> chrome: net.Listen
08:40 < dw> if a type requires a 'constructor', using the New<Type>
idiom, is it possible to hide the underlying type so an instance of it can't be
created in the 'unconstructed' state?
08:40 < eydaimon> I keep getting errors during testing now.  anyone else
experiencing this?
08:40 <+rsc9> chrome: run this: godoc net Listen
08:40 < chrome> rsc9: yeah, I see that, but it needs a TCPAddr to be
constructed and I don't see how to do that
08:40 <+rsc9> not for net.Listen
08:40 <+rsc9> net.Listen takes a string
08:41 <+rsc9> eydaimon: what is the error?
08:41 -!- ideamonk [n=ideamonk@117.192.231.50] has quit [Read error: 60 (Operation
timed out)]
08:41 < eydaimon> rsc9: give me a sec, I started over
08:41 < mjard> godoc is awesome
08:41 < Tronic> Nice syntax for what is auto foo = ...  in C++0x.
08:41 < chrome> ah I was looking at TCPListener.  So I should never use
TCPListener?
08:41 < uriel> 08:39 < chrome> yes but I need a TCPAddr to listen to a
socket
08:41 < uriel> no you don't
08:42 < uriel> (YAY!  /me cries with more joy)
08:42 -!- javax [n=javax@galaxy.infidyne.com] has left #go-nuts []
08:42 < eydaimon> rsc9: gopack grc _test/bytes.a _gotest_.8
08:42 < eydaimon> PASS
08:42 < eydaimon> ??none??: cannot open file: /???/_xtest_.8
08:42 < eydaimon> cd compress/flate && make test
08:42 < joeyadams> Does go have something similar to fgets?
08:42 < joeyadams> (read a single line at a time)
08:42 <+rsc9> joeyadams: godoc bufio ReadLine
08:43 < blasdelf> rsc9: Still getting the same error, I'm at
3977:a522a4541e0e
08:44 < joeyadams> hmm, it's not here: http://golang.org/pkg/bufio/#tmp_57
08:44 -!- mycroftiv [n=drabgah@h69-128-47-245.mdsnwi.dedicated.static.tds.net] has
joined #go-nuts
08:45 -!- itrekkie [n=itrekkie@ip72-200-111-233.tc.ph.cox.net] has quit []
08:46 -!- epalm [n=eric@bas1-portcredit33-1176388860.dsl.bell.ca] has quit [Remote
closed the connection]
08:46 < joeyadams> Hmm, I guess ReadString would work
08:46 <+rsc9> sorry i forgot the name
08:46 -!- itrekkie [n=itrekkie@ip72-200-111-233.tc.ph.cox.net] has joined #go-nuts
08:46 <+rsc9> ReadBytes or ReadString
08:46 <+rsc9> depending on what you want
08:47 < joeyadams> Do I need to use buffered IO for that?
08:47 -!- Rint [i=john@static-71-244-60-125.dllstx.fios.verizon.net] has joined
#go-nuts
08:48 -!- crem [n=moo@mm-86-150-57-86.adsl.mgts.by] has joined #go-nuts
08:48 -!- Morphius [n=morphius@adsl-69-151-27-22.dsl.lbcktx.swbell.net] has quit
["Lost terminal"]
08:48 -!- garbeam [n=arg@garbe.us] has joined #go-nuts
08:48 -!- sejo [i=SeJo@freenode/staff/sejo] has left #go-nuts []
08:49 < mjard> rsc9: what do I have to do to get a gordon t-shirt?
08:49 <+rsc9> mjard: i don't know, sorry.
08:49 < eydaimon> rsc9: I guess something must be wrong with my environment.
08:49 -!- iarwain [n=iarwain@ec2-79-125-6-47.eu-west-1.compute.amazonaws.com] has
joined #go-nuts
08:49 < mjard> :(
08:49 -!- millenomi [n=millenom@93-35-148-23.ip55.fastwebnet.it] has joined
#go-nuts
08:49 < chrome> arr, I get it.
08:50 <+rsc9> joeyadams: r := bufio.NewReader(os.Stdin); s, err :=
r.ReadString('\n');
08:50 <+rsc9> etc
08:51 -!- jbauer [n=jbauer@adsl-99-176-8-19.dsl.lsan03.sbcglobal.net] has joined
#go-nuts
08:52 < teedex> is there an emacs mode for go yet ?
08:52 < chrome> whats the "correct" way to convert some bytes to a string
08:52 < scriptdevil> teedex: Yes
08:52 < scriptdevil> It is in misc
08:52 -!- zerofluid [n=zeroflui@68.227.10.141] has joined #go-nuts
08:52 < teedex> misc where ?
08:52 < scriptdevil> teedex: In the hg checkout
08:52 < dw> rsc9: the more I see of go the more it reminds me of D in many
places.  was D an influence at all?
08:52 < teedex> super thanks scriptdevil
08:52 < dw> array slices, built in gc, same functional goals, closures, ..
:)
08:53 < dw> and very similar syntax sometimes
08:53 -!- scriptdevil is now known as ScriptDevil
08:53 -!- katratxo [n=katratxo@ec2-79-125-6-47.eu-west-1.compute.amazonaws.com]
has joined #go-nuts
08:53 <+rsc9> dw: D was not an influence.
08:53 <+rsc9> chrome: string(bytes)
08:54 < ScriptDevil> dw: Array slices and functional stuff are there even in
python
08:54 -!- ggbgg [n=russ@c-24-6-33-44.hsd1.ca.comcast.net] has quit [Read error:
145 (Connection timed out)]
08:54 -!- pmv [n=pmv@58.71.34.137] has left #go-nuts []
08:54 < dw> ScriptDevil: python slices are copying, whereas D and go both
return references to the original array
08:54 < mycroftiv> go installed and setup and builds nicely, any additional
places to find go programs yet in addition to doc/progs from the distribution?
08:54 < manveru> ScriptDevil: heya
08:54 < dw> ScriptDevil: but yes, fair enough i guess
08:55 < ScriptDevil> scoopr:hey :)
08:55 < ScriptDevil> manveru: Hey
08:55 < scoopr> hey
08:55 < ScriptDevil> scoopr: Sorry.  I meant manveru.
08:55 < scoopr> k
08:55 < manveru> lol
08:55 < ScriptDevil> Anyway.  A Hey doesn't hurt ;)
08:55 < manveru> oi scoopr :)
08:55 < scoopr> easily mistaken =)
08:55 < bovv> I'm a little bit concerned about the naming conventions used
by Go. For example, reading the FAQ, they use "gc" (go compiler)which I confused
with "gcc" for a while until they explicitly referred to "gcc".
08:55 < scoopr> howdy manveru =)
08:55 < joeyadams> ugh:
08:55 < joeyadams> file, err := os.Open("/proc/stat", 0, 0);
08:55 < joeyadams> readstring.go:9: err declared and not used
08:56 < joeyadams> file := os.Open("/proc/stat", 0, 0);
08:56 < manveru> ScriptDevil: wanna improve on the PKGBUILD?
08:56 < joeyadams> readstring.go:9: multiple-value os.Open() in single-value
context
08:56 < bovv> And "Go Programming Language" as an acronym is "GPL"...  it's
quite confusing.  T
08:56 < ScriptDevil> manveru: Nope.  Mine was similar.  Kinda more primitive
too
08:56 < KirkMcDonald> joeyadams: file, _ := os.Open("/proc/stat", 0, 0);
08:56 < ScriptDevil> manveru: I will follow it though.  And tell you of any
changes
08:56 < joeyadams> What does _ do?  Is it a dummy?
08:56 < KirkMcDonald> joeyadams: Should be.
08:56 < manveru> ScriptDevil: thanks
08:56 < manveru> i found it failed on my notebook at first
08:57 < KirkMcDonald> Anyone know how I can get at argv[0]?
08:57 -!- lkundrak [n=lkundrak@92.60.50.253] has joined #go-nuts
08:57 -!- gtroy [n=Galen@unaffiliated/gtroy] has joined #go-nuts
08:58 < KirkMcDonald> Ah, os.Args appears to be a thing.
08:58 < joeyadams> os.Args(0)
08:58 -!- Peter` [n=peter@92.254.21.251] has joined #go-nuts
08:58 < joeyadams> err, os.Args[0]
08:58 < ScriptDevil> manveru: But yeah.  ed is a makedepends
08:59 -!- red1 [n=red1@211.25.206.34] has quit []
08:59 < manveru> ok
08:59 < manveru> any better place for the notice about env?
08:59 -!- lkundrak [n=lkundrak@92.60.50.253] has left #go-nuts []
09:00 -!- javax [n=javax@galaxy.infidyne.com] has joined #go-nuts
09:00 < ScriptDevil> manveru: post_install()?
09:00 -!- madmoose [n=madmoose@207.7.145.210] has joined #go-nuts
09:00 -!- armence [n=armence@c-67-188-229-128.hsd1.ca.comcast.net] has joined
#go-nuts
09:00 < KirkMcDonald> D feature that I miss: nesting /+ +/ comments.
09:00 -!- andoma [n=andoma@194.48.213.8] has joined #go-nuts
09:00 <+rsc9> joeyadams: import "log" at the top
09:01 <+rsc9> then f, err := os.Open(whatever); if err != nil {
log.Exit(err); }
09:02 < chrome> well, my program listens on a socket and says hello when I
telnet to it :D
09:02 < chrome> thats, a lot less work than in C.
09:02 < KirkMcDonald> I'm writing a stupid wrapper around the compiler and
linker.
09:02 -!- Duncrow [i=9594fcf5@gateway/web/freenode/x-tkqwzhpgnhqestht] has joined
#go-nuts
09:02 -!- platero [n=platero@83.34.180.75] has joined #go-nuts
09:02 -!- dw [n=dw@unaffiliated/dw] has quit ["Leaving."]
09:03 -!- dw [n=dw@host86-171-126-160.range86-171.btcentralplus.com] has joined
#go-nuts
09:03 <+rsc9> KirkMcDonald: http://pastebin.com/m65145fcb
09:03 < chrome> someone needs to write a pastebin that knows go.
09:03 < KirkMcDonald> rsc9: Yes, but I'm writing it in Go. :-)
09:03 < ScriptDevil> manveru: Well.  You also need to add it to PATH.  Do so
in /etc/profiles.d
09:03 <+rsc9> cool!
09:04 < bovv> chrome: congrads.  :-)
09:04 < KirkMcDonald> chrome: This would actually be very easy.
09:04 < KirkMcDonald> chrome: Write a Go lexer for Pygments.
09:04 < KirkMcDonald> chrome: Then paste.pocoo.org can know it.
09:04 < Innominate> if anyone has missed it, the go distribution includes
syntax highlighting for a few editors
09:04 -!- Hekos [n=Hekos@unaffiliated/Hekos] has joined #go-nuts
09:04 < Capso> rsc9: does go run on linuxemu in Plan 9 yet?  ;)
09:04 < eydaimon> rsc9: I'm trying to make a macport for go.  The only
difference I can discern from the build error I'm getting, and an enviornment
where it's working, is directory depth
09:04 <+rsc9> capso: i don't know but i doubt it
09:05 < chrome> KirkMcDonald: where is the fun in that?  Write a paste
server in go!  :D
09:05 <+rsc9> eydaimon: what is the error?
09:05 -!- eugene [n=eugene@zeniv.linux.org.uk] has left #go-nuts []
09:06 < chrome> go/parser, could be the way to do it, hmm
09:06 -!- parren [n=peo@84-74-3-137.dclient.hispeed.ch] has joined #go-nuts
09:06 < bovv> I can't get a clean build out of it.  :-(
09:07 -!- chmj [n=chmj@196.34.197.75] has joined #go-nuts
09:07 < eydaimon> rsc9: are you using a mac?
09:07 -!- mitchellh [n=mitchell@c-71-231-140-22.hsd1.wa.comcast.net] has joined
#go-nuts
09:07 <+rsc9> eydaimon: sure
09:08 < eydaimon> rsc9: if you got macports, I can just send you the
Portfile instead
09:08 -!- kaigan|work
[n=kaigan@c-8290e255.1411-10-64736c14.cust.bredbandsbolaget.se] has joined
#go-nuts
09:08 <+rsc9> eydaimon: no thanks, i don't have macports.
09:08 <+rsc9> what is the error?
09:10 < eydaimon> [00:43]*eydaimon> rsc9: gopack grc _test/bytes.a
_gotest_.8
09:10 < eydaimon> [00:43]*eydaimon> PASS
09:10 < eydaimon> [00:43]*eydaimon> ??none??: cannot open file:
/???/_xtest_.8
09:10 < eydaimon> [00:43]*eydaimon> cd compress/flate && make test
09:10 -!- RichiH [i=richih@freenode/staff/richih] has joined #go-nuts
09:10 <+rsc9> does it really say /???/ with three question marks
09:10 <+rsc9> ?
09:10 -!- jsgotangco [n=JSG@ubuntu/member/jsgotangco] has quit ["Ciao"]
09:10 < Hekos> the build tests dont work for $HOME/.go
09:10 < RichiH> do you guys intend to package for debian and/or is someone
in here planning to>?
09:10 < RichiH> s/>//
09:12 < eydaimon> rsc9: yes, that's a copy paste
09:12 -!- sjbrown_ [n=sjbrown@69.181.182.137] has quit [Read error: 145
(Connection timed out)]
09:12 <+rsc9> richih: there is no intended packaging right now.  things are
still moving too fast
09:12 -!- susheel [n=susheel@122.166.7.183] has joined #go-nuts
09:13 < Capso> RichiH: But if you do make a package, please make one for
Sarge also
09:13 < KirkMcDonald> Actually, a Pygments lexer would be a good idea for a
number of reasons.
09:14 < chrome> Conn.Read() thinks the Conn is EOF even though it's not
09:14 < joeyadams> how do I construct a loop like this?
09:14 < KirkMcDonald> It would also easily permit syntax highlighting in
Trac.
09:14 < joeyadams> for i:=0; (s, err := r.ReadString('\n')).err != nil; i++
09:14 <+rsc9> eydaimon: if you want to debug it is running $GOBIN/gotest
09:15 -!- tarpdocks [i=tarpdock@68-190-118-23.dhcp.mdsn.wi.charter.com] has quit
[]
09:15 -!- morfol [n=morfol@92.195.80.131] has joined #go-nuts
09:16 < eydaimon> rsc9: http://pastie.org/693384
09:16 < chrome> Conn.Read() should block, right?
09:16 -!- andylockran [n=andylock@87.117.230.179] has joined #go-nuts
09:17 < tf> hi, just looking at RangeClause for maps, are maps traversed
from left to right (i.e.  are they implemented as red-black trees)?  Just curious
on how to do things like lower_bound, equal_range (to get a slice?), upper_found,
find etc
09:17 -!- tf is now known as flea__
09:17 <+rsc9> maps are traversed in an unspecified order
09:17 <+rsc9> they are not ordered
09:17 <+rsc9> Conn.Read blocks
09:18 -!- trwired [i=ingwar@chlor.kofeina.net] has joined #go-nuts
09:18 -!- Yappo_ [n=yappo@221x243x122x124.ap221.ftth.ucom.ne.jp] has joined
#go-nuts
09:18 -!- fynn [n=fynn@unaffiliated/fynn] has left #go-nuts ["Leaving"]
09:18 < eydaimon> rsc9: http://pastie.org/693386
09:18 -!- chris2 [n=chris@nash.fs.lmu.de] has joined #go-nuts
09:18 < KirkMcDonald> rsc9: They're some sort of hash table, I assume?
09:19 < chrome> rsc9: can you tell me what I am doing wrong here?
http://codepad.org/NwQVulSp
09:19 <+rsc9> KirkMcDonald: yes
09:19 -!- category [n=category@robothouse.vm.bytemark.co.uk] has joined #go-nuts
09:19 < oRk-maradatscha> rsc9 is like a Teaching Assistant for an
introduction into go right now ...  give him a break
09:19 -!- NoobFukaire [n=tmccrary@d199-74-115-65.col.wideopenwest.com] has joined
#go-nuts
09:19 -!- millenomi [n=millenom@93-35-148-23.ip55.fastwebnet.it] has quit ["This
computer has gone to sleep"]
09:19 < chrome> oRk-maradatscha: I'm sure he's capable of defending
himself..
09:19 < eydaimon> rsc9: anyway, bed time.
09:19 -!- mode/#go-nuts [+o rsc9] by ChanServ
09:19 -!- ap0th [n=chatzill@c-24-15-198-188.hsd1.il.comcast.net] has joined
#go-nuts
09:19 -!- ap0th [n=chatzill@c-24-15-198-188.hsd1.il.comcast.net] has quit [Client
Quit]
09:20 -!- sykopomp [n=user@unaffiliated/sykopomp] has joined #go-nuts
09:21 -!- ChanServ changed the topic of #go-nuts to: Go: http://golang.org | Bug
tracker: http://code.google.com/p/go/issues/list |
http://code.google.com/p/go/wiki/CommonProblems | Please use a pastebin (like
pastebin.com) and include all context when reporting errors
09:21 -!- mode/#go-nuts [-o rsc9] by ChanServ
09:21 < sykopomp> does Go implement channels the same way plan9 does?
(using a global lock on all channel/select operations), or does its implementation
actually split locking/signaling in such a way that the global lock is gone?
09:21 <+rsc9> sykopomp: there's a global lock now, though we intend that to
change
09:22 < sykopomp> rsc9: any thoughts on the approach you might take?
09:22 -!- Adlai [n=adlai@unaffiliated/adlai] has joined #go-nuts
09:22 <+rsc9> sykopomp: haven't thought much
09:22 < sykopomp> I managed to get rid of the global lock for channel
operations, but now I'm stuck with how to integrate it all with select :\
09:23 <+rsc9> cool
09:23 < garbeam> rsc9: glad about this lang, do you have any pointer for C
bindings to go, I just tried to grep through the docs
09:23 <+rsc9> sykopomp: send me mail with details
09:23 * parren thinks codereview.py and pbranch could work well together
09:23 <+rsc9> or send to golang-nuts@googlegroups.com
09:23 <+rsc9> garbeam: no c bindings yet
09:23 <+rsc9> there is a basic ffi demo in misc/cgo
09:23 -!- rog [n=rog@67.113.22.114] has joined #go-nuts
09:23 < garbeam> rsc9: any help on C bindings appreciated or nearly there?
09:23 < sykopomp> rsc9: ehh, this is for a library for a different language.
I just saw a glimmer of hope since everyone seems to be stumped about that lock
^_^;
09:23 <+rsc9> eydaimon: i am perplexed.  file a bug in the bug tracker and
include the name of the directory
09:24 -!- mizai [n=mizai@rhou-164-107-213-187.resnet.ohio-state.edu] has joined
#go-nuts
09:24 <+rsc9> chrome: you said what are you doing wrong but i see a program
and no errors?
09:24 <+rsc9> tell me what is broken
09:24 -!- double [n=double@helix.ghb.fh-furtwangen.de] has joined #go-nuts
09:24 -!- susheel [n=susheel@122.166.7.183] has quit ["Leaving"]
09:24 < KirkMcDonald> I am finding the flag package to be fairly limiting.
09:25 <+rsc9> chrome: var b []byte
09:25 -!- ap0th_ [n=chatzill@c-98-212-1-27.hsd1.il.comcast.net] has quit [Read
error: 60 (Operation timed out)]
09:25 <+rsc9> declares a nil []byte with length 0
09:25 <+rsc9> you want
09:25 <+rsc9> b := make([]byte, 1000)
09:25 <+rsc9> garbeam: look at misc/cgo.
09:25 -!- joeyadams [n=joey@208.96.182.115] has quit ["Leaving"]
09:26 <+rsc9> sykopomp: still, send an explanation to golang-nuts.  it'll be
good to have.
09:26 < chrome> rsc9: ah, thanks, yeah, giving it an empty buffer would make
it not be able to Read() :)
09:26 * rsc9 is falling asleep; time for bed
09:26 < sykopomp> rsc9: eh, alright >_>
09:26 <+rsc9> good night everyone.  good luck
09:26 -!- rsc9 [n=rsc@216.239.45.130] has left #go-nuts []
09:26 < chrome> night, thanks for the pointers
09:26 -!- quietdev [n=quietdev@unaffiliated/quietdev] has joined #go-nuts
09:26 < jandem> is it right that when i modify the type name, i need to
modify the "receiver" type in all methods?  or am i overlooking something?
09:26 < doublec> sykopomp, what's the other language?
09:27 < sykopomp> doublec: common lisp
09:27 -!- cbus [n=cbus@83.140.181.59] has joined #go-nuts
09:27 < sykopomp> there's two libraries that implement channels using the
global lock, basically taking the algorithm from plan9.  I gave per-channel locks
a shot.
09:27 < manveru> ScriptDevil: k, new PKGBUILD
09:29 < jandem> are there already alternative implementations of Go? like
for the JVM/CLR/LLVM
09:29 < cbus> manveru, maintainer of community/golang?  :)
09:29 -!- octoploid [n=octoploi@77-23-127-119-dynip.superkabel.de] has joined
#go-nuts
09:29 < ScriptDevil> cbus: aur/golang
09:29 -!- kridian [n=kridian@kridian.com] has joined #go-nuts
09:29 < manveru> cbus: i'm not a dev
09:30 < ScriptDevil> manveru: Well.  I am writing one myself.  Will see
yours :)
09:30 < cbus> was just gonna mention that the thingie whines on md5sums :)
09:30 < manveru> oh?
09:30 -!- doohan [n=doohan@client-82-26-73-171.bmly.adsl.virginmedia.com] has
joined #go-nuts
09:30 < manveru> ah
09:30 < cbus> ==> Validating source files with md5sums...  go.install ...
FAILED
09:30 < cbus> ==> ERROR: One or more files did not pass the validity
check!
09:30 < cbus> Error: Makepkg was unable to build go-lang-hg package.
09:30 < cbus> (tried like a minute ago)
09:30 < manveru> damn, i wish there was a better way to do `makepkg -Rfi`
09:30 < ScriptDevil> cbus: Well.  There is no md5sum
09:31 -!- sykopomp [n=user@unaffiliated/sykopomp] has left #go-nuts ["Yow!
Legally-imposed CULTURE-reduction is CABBAGE-BRAINED!"]
09:31 < cbus> or hmm, that was go-lang-hg
09:31 < cbus> doh, sorry
09:31 < ScriptDevil> cbus: Oh. The new one
09:31 < ScriptDevil> manveru: Can I PM you?
09:31 < manveru> ok, updated
09:31 < manveru> sure
09:32 -!- Adlai [n=adlai@unaffiliated/adlai] has left #go-nuts ["ERC Version 5.3
(IRC client for Emacs)"]
09:33 -!- flea__ [n=mouse@CPE-124-188-96-237.lbcz1.ken.bigpond.net.au] has quit
[Remote closed the connection]
09:34 -!- oRk-maradatscha [n=Maradats@128.189.230.174] has quit ["Leaving"]
09:35 < cbus> manveru, seems to be compiling, I'll get back to you in a year
or two when my slow laptop gets done ;)
09:37 -!- islands [n=islands@unaffiliated/inda50] has joined #go-nuts
09:37 < vegai> interfaces look quite a bit like haskell typeclasses.  Which
is a good thing
09:37 -!- Moe [n=Moe@lunar-linux/developer/moe] has joined #go-nuts
09:37 -!- ypcs [i=ville@2001:1bc8:1004:0:0:2:0:a0] has left #go-nuts []
09:37 -!- keishi_ [n=keishi@116.0.230.16] has joined #go-nuts
09:38 -!- keishi [n=keishi@h116-000-230-016.ms01.itscom.jp] has quit [Read error:
104 (Connection reset by peer)]
09:38 < Innominate> hm with multiple returns is there a way to ignore one
value while getting the other?
09:38 -!- keishi_ is now known as keishi
09:38 < KirkMcDonald> Innominate: foo, _ = whatever()
09:38 < Innominate> thanks
09:38 < rog> vegai: yeah.  they're what objective c should've done years ago
with its prototypes
09:39 < KirkMcDonald> I think I need to write a new command-line option
parsing library.
09:39 < KirkMcDonald> "flag" just isn't doing it for me.
09:40 -!- cemc [n=gimre@mx.narancs.net] has joined #go-nuts
09:40 -!- cemc [n=gimre@mx.narancs.net] has left #go-nuts ["Leaving"]
09:40 -!- morfol [n=morfol@92.195.80.131] has quit [Read error: 131 (Connection
reset by peer)]
09:40 -!- spook[] [n=RevSpook@173-20-203-218.client.mchsi.com] has joined #go-nuts
09:41 -!- al-maisan [n=al-maisa@f049150118.adsl.alicedsl.de] has quit [Read error:
60 (Operation timed out)]
09:41 < chrome> KirkMcDonald: have it able to generate the usage info
automatically
09:41 < KirkMcDonald> "flag" can sort of do that.
09:42 < chrome> its kinda ugly if so
09:42 < KirkMcDonald> But something akin to Python's optparse or the newer
argparse would be great.
09:42 < chrome> ah, PrintDefaults
09:42 -!- Gib1 [n=Adium@pat1.orbitz.net] has left #go-nuts []
09:43 -!- al-maisan [n=al-maisa@f049053047.adsl.alicedsl.de] has joined #go-nuts
09:43 < KirkMcDonald> And I wrote one of these for D some time ago.
09:43 -!- daglees [n=jamil@unaffiliated/daglees] has quit [Read error: 104
(Connection reset by peer)]
09:43 < chmj> issue 9
09:43 < chmj> hahahahaahah a
09:43 -!- squeeky [i=squeeks@banana.chiisai.net] has joined #go-nuts
09:44 < Innominate> ahaha
09:44 < chrome> oops
09:45 < Moe> haha
09:45 < chmj> oh well
09:45 < chmj> goolang it is
09:45 < chmj> or golang
09:45 < Moe> Or just goo
09:45 < Moe> I'd love me some goo
09:45 < KirkMcDonald> Well, this project will have to wait.
09:46 < chmj> the guy won't go down without a fight, even if google decides
to play bully
09:46 < Moe> Would make for hilarious geek conferences I guess
09:46 < doublec> goo is already taken for a lisp dialect
09:46 < chmj> lawl
09:46 < Innominate> not in wikipedia doesn't exist
09:46 < chmj> really?
09:46 < chmj> damn
09:46 < Moe> pff, lisp
09:46 < chrome> http://portal.acm.org/citation.cfm?id=998367
09:46 -!- dsop [i=dsp@87.118.104.77] has joined #go-nuts
09:46 -!- unomystEz [n=burnin@unaffiliated/unomystez] has joined #go-nuts
09:47 < KirkMcDonald> http://en.wikipedia.org/wiki/Go_(programming_language)
09:47 < KirkMcDonald> Therefore, the other one doesn't exist.
09:47 < KirkMcDonald> Clearly.
09:47 < octoploid> What does "panic PC=xxx
09:47 < Moe> Clearly
09:47 < octoploid> " mean?
09:48 -!- arun_ [n=arun@unaffiliated/sindian] has joined #go-nuts
09:49 -!- BlueChip [n=BlueChip@cpc3-ipsw1-0-0-cust700.5-4.cable.virginmedia.com]
has joined #go-nuts
09:49 -!- icedrose [n=icedrose@119.152.226.69] has joined #go-nuts
09:50 -!- nddrylliog [n=nddrylli@83.219.114.177] has joined #go-nuts
09:50 -!- nddrylliog [n=nddrylli@83.219.114.177] has left #go-nuts ["*flash*"]
09:50 -!- armence [n=armence@c-67-188-229-128.hsd1.ca.comcast.net] has quit
["Leaving"]
09:50 -!- gointrigue [i=ad1a7bb7@gateway/web/freenode/x-uuryizweskuxuqfu] has
joined #go-nuts
09:50 -!- no_mind [n=orion@122.161.124.241] has quit [Read error: 145 (Connection
timed out)]
09:51 < gointrigue> So I take it that go is not available on winblows :(
09:51 < chrome> renaming the "go" package might suck
09:51 -!- squeeky [i=squeeks@banana.chiisai.net] has left #go-nuts []
09:52 -!- andylockran [n=andylock@87.117.230.179] has left #go-nuts []
09:52 < chrome> gointrigue: no, and cygwin wont work with it either.
virtualbox yourself a linux install
09:52 < gointrigue> blast it all.
09:52 < gointrigue> I'd have linux on my desktop if my soundcard had full
support :(
09:52 < Moe> gointrigue: Yeah, go get a "real" operating system ..  Windows
is where the kids go to play
09:52 -!- actel [n=pj@212.188.172.116] has joined #go-nuts
09:53 < Innominate> so this guy has a programming language which exists only
in his self published book
09:53 * Moe winks
09:53 < gointrigue> Maybe so, Moe.
09:53 * Moe likes Innominate drift
09:53 < gointrigue> But I didn't come here for OS wars :P
09:54 < Moe> Me neither ..  I was merely hangin' there for a joke
09:54 < Moe> To each their own ..  and if that means using Windows
09:54 < gointrigue> I am mainly writing a windows app, but think that I
might like to use Go as my server.
09:54 -!- m-takagi is now known as m-takagi_
09:54 -!- ajhager [n=ajhager@c-69-136-3-186.hsd1.in.comcast.net] has joined
#go-nuts
09:55 < gointrigue> Now the fun of getting C# to talk to Go via networking.
09:55 -!- al-maisan [n=al-maisa@f049053047.adsl.alicedsl.de] has quit
["Argghhhhhh!"]
09:56 -!- parren [n=peo@84-74-3-137.dclient.hispeed.ch] has left #go-nuts
["Leaving."]
09:56 -!- al-maisan [n=al-maisa@f049053047.adsl.alicedsl.de] has joined #go-nuts
09:56 < Moe> gointrigue: What's your soundcard btw?
09:56 < gointrigue> x-fi platinum
09:56 < gointrigue> fatality
09:56 < Moe> Ah
09:56 -!- chid [n=dorl@c122-106-95-175.rivrw1.nsw.optusnet.com.au] has joined
#go-nuts
09:56 -!- icedrose [n=icedrose@119.152.226.69] has quit ["ChatZilla 0.9.85
[Firefox 3.5.5/20091102134505]"]
09:56 < Moe> The major culprit
09:56 < vegai> goroutines currently take quite a lot of memory.  Is that
bound to change?
09:56 < gointrigue> Indeed.
09:56 < chid> lol
09:56 -!- al-maisan [n=al-maisa@f049053047.adsl.alicedsl.de] has left #go-nuts
["Parting is tough.."]
09:57 < vegai> or was there something memoryintensive in the chaining
example in the googletalk; chaining a message through 500000 goroutines took about
2.5GB of mem
09:57 < gointrigue> But I absolutely love the x-fi, but even with working
alsa drivers I would only have about 20% of the power of the device.
09:57 -!- arj [n=arj@iola-fw.novipark.dk] has joined #go-nuts
09:58 < gointrigue> No CMSS3D, crystalizer, dolby/dts s-pdif encoding output
09:58 < gointrigue> the main things I use :(
09:58 < gointrigue> I'd just have a generic 5.1 audio card, and that
essentially keeps me away from swapping to linux.
09:59 < doublec> vegai, is that 5Kb per goroutine?
09:59 < Innominate> vegai: The point is that doing something like that in
any other language is a ridiculous proposition to begin with
09:59 -!- brianski1 [n=ski@c-69-250-146-253.hsd1.dc.comcast.net] has joined
#go-nuts
09:59 < doublec> vegai, on 64bit?
09:59 < vegai> doublec: on 64bit, yes
09:59 -!- ikke [n=ikkibr@unaffiliated/ikkebr] has joined #go-nuts
09:59 < vegai> ok, so 5kb per 'thread' isn't that bad, really
09:59 < doublec> yeah that's not too bad
10:00 -!- treffer [n=treffer@host-88-217-134-114.customer.m-online.net] has joined
#go-nuts
10:00 < doublec> on factor, 32bit, it was about 1Kb when I last tested
10:00 < doublec> but that was a couple of years ago
10:00 < doublec> so might have grown by now
10:00 < Moe> gointrigue: I'd even say there hardly is any other driver
supporting the features you're using
10:00 < vegai> I'll see how haskell does
10:00 < gointrigue> Exactly.
10:00 -!- no_mind [n=orion@122.177.51.74] has joined #go-nuts
10:01 < Moe> gointrigue: I take it you tried using Creative's "open source"
driver?
10:01 < gointrigue> Which keeps my desktop under windows.
10:01 -!- quodt [n=Adium@213.61.58.210] has joined #go-nuts
10:01 < gointrigue> There really isn't any good working driver for the x-fi
family of cards for linux.
10:01 < chrome> ooh!  i got go to panic :D
10:01 < gointrigue> Some maybe just get basic functionality, putting sound
to the channels
10:01 < chrome> runtime exceptions look fun.
10:02 < gointrigue> but really ignoring a good majority portion of the
hardware's capability.
10:02 -!- vongodric [n=albeva@79-74-159-4.dynamic.dsl.as9105.com] has joined
#go-nuts
10:02 < gointrigue> I use these functions pretting much every day.
10:02 < vongodric> hi
10:02 < vongodric> is there go for windows ?
10:03 < gointrigue> Hehe, I just came here for that, and the answer was no,
vongodric.
10:03 < gointrigue> Unfortunately.
10:03 < brianski1> vmware'
10:03 -!- QwertyM [n=harsh@unaffiliated/qwertym] has left #go-nuts ["Konversation
terminated!"]
10:03 < blasdelf> gointrigue: all of those X-fi features you love are
implemented in the driver
10:03 -!- petr [i=uyawo@rzstud3.stud.uni-karlsruhe.de] has joined #go-nuts
10:03 < chrome> not yet
10:03 < vongodric> k thanks
10:03 < mizai> anyone know how to call C code from Go?
10:03 -!- octoploid [n=octoploi@77-23-127-119-dynip.superkabel.de] has left
#go-nuts ["WeeChat 0.3.1-dev"]
10:03 < chrome> look in misc/cgo
10:03 < mizai> thanks
10:04 < gointrigue> Is that so, blasdelf?  For linux?  Also is it working,
is there any UI for management?
10:04 < Moe> As far as I know it provides all the facilities of the regular
ALSA interface
10:04 < Moe> *over
10:04 < Moe> So ..  any good mixer will do
10:04 < blasdelf> gointrigue: all the special advertised features are
implemented in the windows driver
10:04 < gointrigue> Obviously, blasdelf.
10:05 < gointrigue> The problem was switching to linux I would lose all of
this under that OS.
10:05 < blasdelf> the physical hardware is nothing special, the cheaper
cards are nearly identical
10:05 < gointrigue> True, but I have the front drive packadge
10:05 < gointrigue> and remote
10:06 < blasdelf> and the extra ports are switched on in software?
10:06 -!- Jeremy [n=Jeremy@adsl-074-232-173-168.sip.asm.bellsouth.net] has joined
#go-nuts
10:06 -!- ramnish [n=ramnish@115.108.37.17] has joined #go-nuts
10:06 < gointrigue> Blasdelf, you are misunderstanding entirely.
10:06 -!- fatbrain [i=fatbrain@h85-8-1-66.static.se.alltele.net] has joined
#go-nuts
10:06 -!- Jeremy is now known as Guest74227
10:06 -!- tazz [n=gaurav@triband-mum-120.60.134.1.mtnl.net.in] has joined #go-nuts
10:06 < quietdev> hey hope hasn't yet been asked to death but can you update
running code like in erlang?
10:07 -!- tazz [n=gaurav@triband-mum-120.60.134.1.mtnl.net.in] has left #go-nuts
["Leaving"]
10:07 < gointrigue> I was saying that the sound card was hindering my
decision to go with linux full time on the OS, because under linux only basic
functionality is capable, not the bells and whistles I love.
10:07 -!- Guest74227 [n=Jeremy@adsl-074-232-173-168.sip.asm.bellsouth.net] has
quit [Client Quit]
10:07 < Moe> gointrigue: So, again ..  did you use the XFiDrv package
provided by Creative?  I'm not trying to argue here ..  I'm just curious
10:07 -!- mitchellh [n=mitchell@c-71-231-140-22.hsd1.wa.comcast.net] has quit
["Leaving."]
10:07 -!- Jugalator [n=Jugalato@213.115.240.152] has joined #go-nuts
10:07 < gointrigue> I use the drivers provided by creative, yes.
10:07 -!- Duncrow [i=9594fcf5@gateway/web/freenode/x-tkqwzhpgnhqestht] has quit
["Page closed"]
10:08 < gointrigue> (for windows)
10:08 -!- jnwhiteh [n=jnwhiteh@WoWUIDev/WoWI/Featured/Dongle/cladhaire] has joined
#go-nuts
10:08 < blasdelf> gointrigue: see JACK and friends for the bells and
whistles
10:08 < gointrigue> But the linux ones last I checked bardly even operated.
10:08 < gointrigue> blasdelf, just forget it, lol.
10:08 < blasdelf> gointrigue: good plan
10:08 < NoobFukaire> yeah linux sound is a clusterfuck
10:08 < Moe> well, Creative has introduced a new, supposedly open source
drier lately
10:09 < NoobFukaire> it's a shame really
10:09 < gointrigue> I know, and it doesn't work for shit.
10:09 < rog> no discriminated unions, no lists - it seems like go was
written for minimal impedance mismatch with proto buffers
10:09 < Moe> Okay, that's what I wanted to know
10:09 < blasdelf> quietdev: not right now, buy you could import 6g :)
10:10 < blasdelf> rog: and especially no GADTs :/
10:10 < ScriptDevil> Well.  I wonder if someone tried cygwin
10:10 -!- leitz [n=leam@72.150.95.31] has joined #go-nuts
10:11 -!- bruceb3 [n=bruce@136.187.233.220.static.exetel.com.au] has joined
#go-nuts
10:11 < blasdelf> ScriptDevil: doubtful that it'd work, they're excersising
the hell out of the syscalls (given that they wrote them!)
10:11 < blasdelf> plus the ELF binary format, and tons of other issues that
cygwin doesn't even try to handle
10:12 < gointrigue> someone should definitely try go for cygwin.
10:12 < gointrigue> I lack the knowledge to do it myself or I would.
10:13 -!- Moe [n=Moe@lunar-linux/developer/moe] has left #go-nuts []
10:13 -!- mstevens [n=mstevens@193.227.111.165] has joined #go-nuts
10:13 -!- ikke [n=ikkibr@unaffiliated/ikkebr] has quit []
10:14 < leitz> Just found out about Go and have two (for the moment)
questions.  From the install directions there seems to be a decent link to Python,
Does that go into the language itself, or just that the Python install procedures
are what the Go team is used to?
10:14 -!- fatbrain [i=fatbrain@h85-8-1-66.static.se.alltele.net] has left #go-nuts
[]
10:14 -!- zer0c00l [n=user@117.199.135.123] has quit [Read error: 60 (Operation
timed out)]
10:14 -!- malditogeek [n=malditog@213.229.183.34] has joined #go-nuts
10:15 -!- impeachgod [n=Long@195.80.231.69] has joined #go-nuts
10:15 < leitz> Also, for those of us relegated to older hardware, a fast
language seems useful.  Is the 386 port developed enough to run on dusty and musty
single core sub-trillion GHz processors with not much ram?
10:15 -!- roadt [n=roadt@60.168.83.106] has joined #go-nuts
10:15 -!- icy [n=icy@lighttpd/icy] has joined #go-nuts
10:15 -!- teedex [n=teedex@204.14.155.161] has quit [Remote closed the connection]
10:15 < quietdev> thank you blasdelf
10:15 -!- rup [i=Rupert@deathcoil.net] has joined #go-nuts
10:16 < blasdelf> leitz: some of the tests use up to 3GB of RAM
10:17 < gointrigue> Seems kind of bloated >.>
10:17 < blasdelf> Just discovered an easter egg:
http://pastebin.com/f4fb3bfd9
10:17 < gointrigue> My laptop only has 2 gigs
10:17 < leitz> blasdelf, will the test fail or just run slow?
10:17 < blasdelf> so it'll swap, that's what you have an operating system
for :)
10:17 < impeachgod> hello everyone
10:18 < impeachgod> I get a transaction abort error when I try to check out
Go from the mercurial repo
10:18 < impeachgod> abort: Access is denied
10:18 < leitz> blasdelf, that'll work.  Of course, it reminds me of my 3rd
question.  Go is a "systems programming" language.  Are there any plans to write a
desktop sized OS in it?
10:18 < danderson> impeachgod: are you cloning over http, not https?
10:19 < impeachgod> I tried both
10:19 < impeachgod> same error
10:19 < blasdelf> the server's been getting banged on sometimes
10:19 -!- ikke [n=ikkibr@unaffiliated/ikkebr] has joined #go-nuts
10:20 < blasdelf> impeachgod: I could pull fine just now
10:20 -!- mstevens [n=mstevens@193.227.111.165] has quit ["leaving"]
10:20 < blasdelf> leitz: the Go authors are known to be capable of writing
Operating Systems :)
10:20 < gointrigue> What I want to know, why when seraching for go,
golang.org isn't like the first result lol
10:20 < gointrigue> should be like...  go.google.com
10:20 < gointrigue> or something
10:21 < blasdelf> it's not an official google project
10:21 -!- dw [n=dw@unaffiliated/dw] has left #go-nuts []
10:21 < leitz> blasdelf, yeah...Mac X, meet Plan X. ;)
10:21 < gointrigue> ahhh, well..  true
10:21 < blasdelf> leitz: Alan Kay has been working on such a project for
several years on an NSF grant
10:22 < blasdelf> a full OS in 500 nicely typeset pages
10:22 < blasdelf> using as many new programming languages and meta-languages
as necessary
10:23 < impeachgod> blasdelf: Viewpoint Research Institute?
10:23 < blasdelf> they published their TCP implementation, which parses the
RFC ASCII-art as data
10:23 < blasdelf> impeachgod: Bingo
10:24 < impeachgod> that's pretty cool
10:24 < impeachgod> I played around with their packrat parser
10:24 -!- surface [i=ca4ce29a@gateway/web/freenode/x-eienfkzbhudztsih] has joined
#go-nuts
10:25 -!- aatifh [n=atif@117.195.99.140] has joined #go-nuts
10:27 -!- rutkowski [n=adrian@078088213039.walbrzych.vectranet.pl] has joined
#go-nuts
10:28 -!- platero [n=platero@83.34.180.75] has left #go-nuts ["Saliendo"]
10:29 -!- nh [i=nh@beryl6.nhasynchro.com] has joined #go-nuts
10:29 -!- barrynorton [n=barry@client-93-123-21-116.ip.daticum.com] has joined
#go-nuts
10:30 -!- codo [n=codo@ip70-185-104-229.ga.at.cox.net] has quit ["leaving"]
10:31 < ScriptDevil> Ha. Got a good working PKGBUILD for Archlinux.  Will
upload in a minute or 2 for those who are interested.
10:31 -!- planetcall|work [n=planetca@unaffiliated/planetcalls] has joined
#go-nuts
10:31 -!- rog [n=rog@67.113.22.114] has quit []
10:31 -!- quietdev_
[n=quietdev@CPE002191da6e32-CM00195eea6f2c.cpe.net.cable.rogers.com] has joined
#go-nuts
10:32 -!- ikke [n=ikkibr@unaffiliated/ikkebr] has quit []
10:32 -!- rog [n=rog@adsl-67-113-22-114.dsl.snfc21.pacbell.net] has joined
#go-nuts
10:32 < ScriptDevil> btw.  Is it on shootout.alioth already?  All the tests
seem to be there in test/bench
10:32 < quietdev_> hi is anyone planning on using Go for web or email
development?  let me know, i'd love to have someone to chat with about challenges
and solutions
10:33 < Tronic> Why is there no exception handling?
10:33 < Element14> http://golang.org/doc/go_lang_faq.html#exceptions
10:33 < Tronic> Thanks.
10:34 < jnwhiteh> Has anyone played with closing channels much?  I'm trying
to figure out how to cleanly terminate a process network (i.e.  using somethign
like poisons) but I can't seem to make it work right since the zero value gets
sent down teh channel after its been closed.
10:34 < andguent> where does libcgo fit in.  any thoughts?
10:34 < barrynorton> I'm getting gnu/stubs-32.h: No such file or directory
on a brand new Ubuntu install - what am I missing?
(http://pastebin.com/m628abdaa)
10:35 < quietdev_> to what extent will Google commit to dogfooding Go
anyway?
10:35 < quietdev_> most of the successful commercial languages out now have
arguably gotten more mature because people use them, if Google don't even bother
to use Go large scale, there will be some doubt as to why external users should
use it
10:36 < Element14> barrynorton: not sure about ubuntu but in debian
libc6-dev provides that file
10:36 -!- ineol [n=hal@mar75-9-88-171-191-168.fbx.proxad.net] has quit []
10:37 < barrynorton> Element14: same on Ubuntu, in my understanding, and
mine is up-to-date
10:37 -!- gointrigue [i=ad1a7bb7@gateway/web/freenode/x-uuryizweskuxuqfu] has quit
["Page closed"]
10:37 < planetcall|work> i just saw Go ...  is it cross platform ?
10:39 < Hekos> im going to use it to solve the aTSP problem for school :3
luck luck blaming me for plagiarism on a 3 day old programming language :D
10:40 < ScriptDevil> planetcall|work: Now that no one else answered...  The
answer imho is "To an extent".  The Windows port isn't ready yet
10:40 -!- voxadam [n=voxadam@24.20.147.228] has joined #go-nuts
10:40 < Element14> barrynorton: maybe your libc6-dev is 64 bit?  (just
guessing....)
10:40 < ScriptDevil> The binaries are not portable
10:40 < andguent> isn't ready?
10:40 < Kniht> barrynorton: worked perfectly for me severaly hours ago
(couple go repo revisions ago possibly?) in ubuntu9.4 (after adding net to NOTEST,
but that's after building, fwiw), if that helps
10:40 < andguent> there is no windows port
10:40 < Kniht> several*
10:40 < andguent> nor is it being worked on
10:41 -!- Spaghettini [n=Spaghett@vaxjo6.150.cust.blixtvik.net] has joined
#go-nuts
10:41 < ScriptDevil> andguent: Well.  I meant that.  Misworded it
10:41 < impeachgod> if I can help, I'll port it to Windows
10:41 < impeachgod> any outstanding technical reasons why it isn't?
10:41 < andguent> i am currently in the process to do so
10:41 < impeachgod> ah, ok then
10:41 < andguent> but feel free to do so too
10:41 < andguent> i am by no means a good programmer and may fail
10:42 -!- BlueChip [n=BlueChip@cpc3-ipsw1-0-0-cust700.5-4.cable.virginmedia.com]
has left #go-nuts []
10:43 < planetcall|work> ok ..  ScriptDevil I went through the FAQ section
and didn't find a compelling reason as how is Go better than C# 4.0 ..  I know it
is an immature comparison but why should I even go for Go with C# in my side
10:43 -!- nsz [i=nsz@morecp.net] has joined #go-nuts
10:44 < quietdev_> planetcall|work: did you see the 1 hr October video?
10:44 < quietdev_> planetcall|work: how long are your compile times for your
c# 4.0 projects?
10:45 < planetcall|work> hmm ..  let me see the video then
10:45 < planetcall|work> :)
10:45 -!- mejja [n=user@c-49b6e555.023-82-73746f38.cust.bredbandsbolaget.se] has
joined #go-nuts
10:45 < Element14> not tied up with .NET is good enough for me :)
10:45 < quietdev_> Element14: if you don't need .NET then you lost nothing
10:46 < voxadam> I just watched Pike's Go presentation at Google on YouTube.
He mentioned that there was work underway (or maybe scheduled) to replace the
current mark-and-sweep GC with something more advanced.  Specifically, he
mentioned The Recycler from IBM.  IBM claims a maximum pause time of 2.6 ms.  If
this is true what are the chances of Go being suitable for real-time/deterministic
programming?
10:46 < Tronic> Is the evaluation order of function arguments specified?
10:46 -!- planetcall|work [n=planetca@unaffiliated/planetcalls] has quit [Read
error: 104 (Connection reset by peer)]
10:46 -!- biozit [n=biozit__@201-92-227-216.dsl.telesp.net.br] has joined #go-nuts
10:48 -!- rog [n=rog@adsl-67-113-22-114.dsl.snfc21.pacbell.net] has quit [Read
error: 113 (No route to host)]
10:48 -!- steinchen [n=mattes@dslb-084-062-146-121.pools.arcor-ip.net] has joined
#go-nuts
10:50 < Tronic> Say, if I call foo(file.GetByte(), file.GetByte()), will the
first parameter be the first byte from the file?
10:50 -!- gburton [n=chatzill@wlan-146-227-101-177.dmu.ac.uk] has joined #go-nuts
10:50 < Tronic> I've had some nasty issues with this in C++ because the
order is unspecified (GCC evaluates right-to-left).
10:51 -!- p3rror [n=Handrix@196.12.229.94] has joined #go-nuts
10:51 -!- engla [n=ulrik@wikipedia/Sverdrup] has joined #go-nuts
10:51 < quietdev_> voxadam: hey what are some software ideas you are
thinking of using a real-time high level language for?
10:52 < ScriptDevil> Tronic: When evaluating the elements of an assignment
or expression, all function calls, method calls and communication operations are
evaluated in lexical left-to-right order.
10:52 < ScriptDevil> Tronic: It is there in the official spec
10:53 -!- svanlund [n=david@cordelia.pingpangdns.com] has joined #go-nuts
10:53 -!- jwnz [n=user@CPE001839f8e82b-CM0017ee6363de.cpe.net.cable.rogers.com]
has quit [Read error: 104 (Connection reset by peer)]
10:53 -!- jwnz [n=user@CPE001839f8e82b-CM0017ee6363de.cpe.net.cable.rogers.com]
has joined #go-nuts
10:54 -!- hiromtz [n=hiromtz@h166.p027.iij4u.or.jp] has left #go-nuts
["Leaving..."]
10:54 < ScriptDevil> Tronic: Please read the official spec well.  It is well
laid out.  With a good number of sub-headings and short readable sentences
10:54 -!- gburton [n=chatzill@wlan-146-227-101-177.dmu.ac.uk] has quit [Remote
closed the connection]
10:56 -!- oppa [n=chatzill@213.209.108.107] has joined #go-nuts
10:56 < voxadam> quietdev_: My interests are largely hobbies but a garbage
collected language capable of bounded latencies combined with a Linux kernel that
is getting closer and closer to being capable of real-time sounds like fun.  I
love the idea of being able to create a motion control loop in a POSIXish OS with
a GC language.
10:56 -!- nec [i=4ebc86f5@gateway/web/freenode/x-egsczqrytthyltpr] has quit [Ping
timeout: 180 seconds]
10:56 -!- i0n [n=a@88-117-108-152.adsl.highway.telekom.at] has joined #go-nuts
10:57 -!- fgb [n=fgb@190.246.85.45] has left #go-nuts []
10:57 -!- leitz [n=leam@72.150.95.31] has left #go-nuts []
10:58 < vhold> I wonder what Google's take on the fact the linux kernel has
been getting 2% slower each release is..
10:58 -!- arj [n=arj@iola-fw.novipark.dk] has quit ["leaving"]
10:59 < vhold> We have not been able to upgrade our kernels lately because
it pushes our latencies too high to do so..  I'm not sure if it's for the same
reasons linus describes..
11:00 < voxadam> vhold: According to an article from the Kernel Summit
they're still using 2.6.18.
11:00 < vhold> it seems like the quest for ultimate desktop performance may
have been forsaking linux in the one place it's truly a success
11:00 < voxadam> http://lwn.net/Articles/357658/
11:00 -!- hoffmann [n=ph@tmo-076-4.customers.d1-online.com] has joined #go-nuts
11:00 -!- oppa [n=chatzill@213.209.108.107] has left #go-nuts []
11:00 -!- zidoh [n=bjornar@pyrrophlagalon.nithia.net] has joined #go-nuts
11:01 < Tronic> ScriptDevil: Seems very readable.
11:01 < vhold> Ah, that's interesting, thanks..  we're still on 2.6.20
11:01 < Tronic> vhold: Latencies and bandwidth (performance) are different
things.
11:02 < Tronic> Different distributions have vastly different latencies.
E.g.  Ubuntu generic kernel peaks 50-100 ms latency spikes all the time, while
many other distributions (and Ubuntu rt kernel) can keep latencies under a few
milliseconds.
11:02 -!- xMDKx [n=mdkcore@nat/mandriva/x-zwmcirlfymkrhhaj] has joined #go-nuts
11:02 < xMDKx> yo
11:03 -!- mwarning [n=mwarning@ip-78-94-226-217.unitymediagroup.de] has joined
#go-nuts
11:03 < vhold> for us they are related, we have to push a lot of data under
a certain time frame
11:03 -!- keziah [n=keziah@pool-71-112-216-188.sttlwa.dsl-w.verizon.net] has
joined #go-nuts
11:04 -!- dchest [n=dchest@81.5.81.249] has joined #go-nuts
11:05 -!- mwarning [n=mwarning@ip-78-94-226-217.unitymediagroup.de] has left
#go-nuts ["Leaving"]
11:06 -!- atulagrwl [i=79f2c602@gateway/web/freenode/x-phqpgwczqkhnahlq] has quit
["Page closed"]
11:10 -!- ghoti_ [n=alex060@ppp121-44-137-151.lns20.syd7.internode.on.net] has
quit ["Lost terminal"]
11:10 -!- madduck_ [n=marcelo@124-168-60-73.dyn.iinet.net.au] has joined #go-nuts
11:10 -!- stelt [n=chatzill@ip565b0469.direct-adsl.nl] has joined #go-nuts
11:10 -!- alt^255 [n=k@85.88.27.205] has joined #go-nuts
11:11 -!- dju [i=dju@ip-39.net-80-236-37.suresnes.rev.numericable.fr] has joined
#go-nuts
11:12 < ScriptDevil> 261?  Well.  The count is increasing.  4 hours back, we
were wondering if we will hit 200 today.
11:13 -!- madduck_ [n=marcelo@124-168-60-73.dyn.iinet.net.au] has left #go-nuts []
11:13 -!- coroos [n=nick@90.145.46.149] has joined #go-nuts
11:13 -!- dark_fader [n=ben@212.240.194.66] has joined #go-nuts
11:13 < quietdev_> vhold: hey what are you guys working on?  ^^
11:13 * robot12 compiled first programm on Go :)
11:14 < dark_fader> Quick question for anyone here...  Is it possible to use
Go with Apache to serve web pages yet?
11:14 < robot12> but ....  GOARCH ...  GOROOT ...
11:14 -!- martin0 [n=martin@vpn3.hotsplots.net] has joined #go-nuts
11:15 < robot12> dark_fader, U can write http server on Go :)
11:15 < robot12> it will be better :)
11:15 * vegai thinks about writing a Go server and client on Go
11:15 < robot12> to Go somewhere :)
11:15 < alt^255> greetings.
11:15 < ScriptDevil> I have a feeling that the Go jokes are already getting
cliched!
11:15 -!- inra [n=kite@adsl-99-135-72-13.dsl.mdsnwi.sbcglobal.net] has joined
#go-nuts
11:16 -!- mjl- [n=none@knaagkever.ueber.net] has quit ["upgrade"]
11:16 < dark_fader> I could.
11:16 < alt^255> ScriptDevil: for the first minutes I was sure I was looking
at a programming language for the game of Go
11:16 < dark_fader> I don't want to go down the route of Django and Rails
though
11:16 -!- hiromtz [n=hiromtz@h166.p027.iij4u.or.jp] has joined #go-nuts
11:17 -!- madac [n=madac@124-168-60-73.dyn.iinet.net.au] has joined #go-nuts
11:17 -!- moacir [n=moacir@201-75-99-25-ma.cpe.vivax.com.br] has quit [Remote
closed the connection]
11:17 < ScriptDevil> dark_fader: They are frameworks
11:17 < Innominate> begs the question, would would a go web framework be
called?
11:18 -!- vongodric [n=albeva@79-74-159-4.dynamic.dsl.as9105.com] has quit []
11:18 < inra> any news on a go compiler for windows?
11:18 < ScriptDevil> inra: andguent is working on one.  There is no official
port as of yey
11:18 < ScriptDevil> *yet
11:19 < inra> ok, thanks /waits :)
11:19 < vhold> quietdev: It's a kind of specialized search and ranking
engine
11:19 -!- ramnish [n=ramnish@115.108.37.17] has quit [Remote closed the
connection]
11:19 < andguent> ScriptDevil: well not really.  i am not a googler or
something.  my spare time is limited.  success is not guaranteed by any means
11:19 < Kniht> ScriptDevil: cliched already, eh?  go f*#$ #@*^
11:19 < quietdev_> dark_fader: hey i bet you can cook up something like
mod_mono, which talks to a daemon that serves out pages written against mono
11:19 < dark_fader> ScriptDevil, they both include their own webserver
11:19 < quietdev_> so a mod_go would written as a c plug-in for Apache
11:20 < quietdev_> that talks to another daemon that services requests
11:20 < ScriptDevil> dark_fader: I saw that.
11:20 -!- AmirMohammad [n=amir@unaffiliated/gluegadget] has joined #go-nuts
11:20 -!- xylifyx [n=xylifyx@62.242.33.132] has quit [Read error: 60 (Operation
timed out)]
11:21 < bruceb3> who in the 'go' team has such a liking of plan9 ?
11:21 < andguent> well...  all of them?
11:21 -!- coroos [n=nick@90.145.46.149] has left #go-nuts []
11:21 < andguent> ken thompson?
11:21 < andguent> russ cox?
11:21 < mizai> rob pike?
11:22 < dark_fader> quietdev_: hmm...  I could research writing an Apache
mod.  I was kinda hoping someone had already done it.
11:22 < quietdev_> you don't have to research, there's a really
straightforward book from O'Reilly on writing something like that
11:22 -!- i0n1 [n=a@91-115-79-105.adsl.highway.telekom.at] has joined #go-nuts
11:23 < quietdev_> you can you read the sample code for mod_mono and other
language glue-ware like tcl, and other little scripting languages
11:23 < quietdev_> and you'll have it done soon enough :-) no not over a
weekend but soon enough :-)
11:23 < ScriptDevil> bruceb3: Well.  It is a perfect fit :D The networking
stuff.
11:23 < madac> An Apache module would be a nice quick-start, but it would
ultimately get in the way of go's massively concurrent process model.
11:24 -!- ikke [n=ikkibr@unaffiliated/ikkebr] has joined #go-nuts
11:24 < bruceb3> better question, who is in the 'go' team.  Sounds like
plan9 === go team
11:24 < quietdev_> madac: then you need to do many to many, a mod_go running
on a farm of apaches capable of speaking to a farm of Go app servers
11:24 < quietdev_> then it will shine
11:25 < quietdev_> but i won't argue against a go http or something else as
http
11:26 < madac> Agreed, but go shouldn't need a farm till you get above, say,
100k concurrent requests.
11:26 -!- Yoavk [i=d597308e@gateway/web/freenode/x-xnbvlaksbxpxohxm] has joined
#go-nuts
11:26 -!- dzambi [n=chatzill@secondarypix.mozzartbet.com] has joined #go-nuts
11:26 -!- Yoavk_ [i=d597308e@gateway/web/freenode/x-svizvrawmkhicvib] has joined
#go-nuts
11:26 -!- Yoavk is now known as Guest20399
11:27 -!- hnsr [n=hnsr@infinidim.aphax.nl] has joined #go-nuts
11:27 < mpl> bruceb3: there are a lot of ppl working more or less working
on/with plan 9 who are of course not at google's/in the go team.
11:27 < quietdev_> shouldn't, should, it all depends on the application
11:27 -!- RayNbow [i=kirika@wlan-145-94-175-240.wlan.tudelft.nl] has joined
#go-nuts
11:27 < quietdev_> security needs, tasks, etc, we'll see
11:28 < madac> quietdev_: Certainly, Apache buys you a lot in the meantime.
11:28 -!- Hekos [n=Hekos@unaffiliated/Hekos] has quit ["Hi, I'm a quit message
virus.  Please replace your old line with this line and help me take over the
world of IRC."]
11:28 < Yoavk_> Is GO available for windows?
11:28 < robot12> No
11:28 < Yoavk_> Will it?
11:29 < Yoavk_> Will GO ever be available for windows?
11:29 -!- Guest20399 [i=d597308e@gateway/web/freenode/x-xnbvlaksbxpxohxm] has quit
[Ping timeout: 180 seconds]
11:29 -!- trwired [i=ingwar@chlor.kofeina.net] has left #go-nuts []
11:29 < ScriptDevil> Yoavk_: Maybe.
11:29 < robot12> mostly no imho
11:29 < ScriptDevil> I recommend that we have a bot here that you can do a
!windows to
11:29 < ScriptDevil> Ok. Am off now
11:29 < robot12> Go depends on ...  plan9port :)
11:29 -!- ScriptDevil [n=scriptde@122.174.155.141] has quit ["leaving"]
11:29 < andguent> robot12: p9p is the least problem
11:29 < andguent> robot12: i solved that within some minutes
11:30 < dark_fader> ta ppl.
11:30 < dark_fader> bai
11:30 < andguent> there are other more problematic ones
11:30 -!- dark_fader [n=ben@212.240.194.66] has left #go-nuts []
11:30 -!- hashbang [n=hashbang@cse-ajb.cse.bris.ac.uk] has joined #go-nuts
11:30 < Yoavk_> Is there any workaround for running & compiling in windows?
11:30 < robot12> andguent, libs are another problem :)
11:30 < madac> What about Cygwin?
11:30 -!- steinchen [n=mattes@dslb-084-062-146-121.pools.arcor-ip.net] has quit
["Verlassend"]
11:31 < Yoavk_> Has anyone tried that yet?
11:31 < hashbang> My go test program doesn't do anything (
http://pastebin.com/m57b805b7 ); what've I done wrong?
11:31 -!- Misto [n=Misto@ppp-38-88.32-151.iol.it] has joined #go-nuts
11:32 -!- barrynorton [n=barry@client-93-123-21-116.ip.daticum.com] has quit
[Remote closed the connection]
11:32 < Innominate> hash: When main finishes the program ends and doesn't
care what other goroutines are doing
11:32 -!- i0n [n=a@88-117-108-152.adsl.highway.telekom.at] has quit [Read error:
110 (Connection timed out)]
11:33 < p3rror> hello when i'm installing go i get FAIL step
11:33 < hashbang> Innominate, figured it might be something like that.  How
do I make main() wait for all the goroutines to finish?  A back channel?
11:33 < p3rror> here the trace http://fpaste.org/QwgF/
11:33 < p3rror> please can you help me with this
11:33 -!- akent [n=akent@ppp234-52.static.internode.on.net] has joined #go-nuts
11:33 -!- ginkgo [n=ginkgo@chello084113198244.17.14.vie.surfer.at] has joined
#go-nuts
11:34 < mizai> ucrf
11:34 < mizai> acs[pl
11:34 < Innominate> i don't know the best way to do it, but yea i think you
should use channels to wait for them to finish
11:34 < mizai> `
11:34 < mizai> ugh, computer locked up somehow, sorry
11:34 -!- mizai [n=mizai@rhou-164-107-213-187.resnet.ohio-state.edu] has quit
["Leaving"]
11:35 < Innominate> select maybe?
11:36 < robot12> hashbang, robot12@darkstar:~/Develop/Go/My/thread$ ./8.out
Hello!!!Endthread A: 0
11:36 < robot12> thread B: 0
11:36 < robot12> thread D: 0
11:37 < hashbang> robot12: I'm testing on a Q6600 quad-core, so maybe my
main() finishes before yours.  :-)
11:37 -!- aatifh [n=atif@117.195.99.140] has quit [Read error: 110 (Connection
timed out)]
11:37 -!- aatifh [n=atif@117.195.101.49] has joined #go-nuts
11:37 < robot12> hashbang, :) Yep[
11:37 < robot12> hashbang, too fast :)
11:38 -!- i0n1 [n=a@91-115-79-105.adsl.highway.telekom.at] has quit [Read error:
60 (Operation timed out)]
11:38 -!- npe [n=npe@94-224-251-223.access.telenet.be] has joined #go-nuts
11:38 -!- surface [i=ca4ce29a@gateway/web/freenode/x-eienfkzbhudztsih] has left
#go-nuts []
11:39 < blasdelf> please, for the love of god, nobody write an Apache mod_go
11:39 -!- i0n [n=a@91-115-67-50.adsl.highway.telekom.at] has joined #go-nuts
11:39 -!- Yoavk_ [i=d597308e@gateway/web/freenode/x-svizvrawmkhicvib] has quit
["Page closed"]
11:40 -!- martin0 [n=martin@vpn3.hotsplots.net] has left #go-nuts []
11:40 -!- wollw [n=wollw4@75-101-22-68.dsl.dynamic.sonic.net] has joined #go-nuts
11:40 < blasdelf> Go already comes with http://golang.org/pkg/http/ -- just
put nginx in front of it
11:40 -!- deafmetal [n=deafmeta@54.76-66-87.adsl-dyn.isp.belgacom.be] has joined
#go-nuts
11:40 < deafmetal> hello?
11:41 < deafmetal> anyone here?
11:41 < npe> yup
11:41 < vegai> quite many, actually
11:41 < blasdelf> I'm sure several people will write event-driven
goroutine-based HTTP servers (think about Comet), especially once the Big Channel
Lock is removed
11:41 -!- leitz [n=leam@72.150.95.31] has joined #go-nuts
11:41 < deafmetal> i have a rather noobie question...
11:42 < deafmetal> I'm getting an error when i try and run all.bash
11:42 < deafmetal> liek so: $GOROOT is not set correctly or not exported
11:42 < npe> deafmetal: did you add GOROOT to your bashrc and export it?
11:42 < deafmetal> GOBIN=/Users/deafmetal/bin
11:42 < deafmetal> GOARCH=386
11:42 < deafmetal> GOROOT=/Users/deafmetal/go
11:42 < deafmetal> GOOS=darwin
11:42 < deafmetal> yes.
11:43 < deafmetal> that's the result of my env } grep
11:43 < Element14> did you explictly export it?
11:43 < npe> bash -c 'echo $GOROOT'
11:43 < npe> see if you're successfully exporting it.
11:43 < deafmetal> ok
11:44 < deafmetal> deafmetal-2:~ deafmetal$ bash -c 'echo $GOROOT'
11:44 < npe> and nothing?
11:44 < deafmetal> no, it gives me the path
11:44 < madac> Put export in front of everything, e.g.:
11:44 < madac> export GOBIN=...
11:44 < alt^255> deafmetal: in the same terminal where you're running
all.bash, do a . ~/.bashrc
11:44 < madac> export GOARCH=...
11:45 -!- TheAppleMan [n=apple@funtoo/contributor/theappleman] has joined #go-nuts
11:45 < deafmetal> does it matter that i'm setting these in a .profile
rather than a bashrc
11:45 -!- biozit [n=biozit__@201-92-227-216.dsl.telesp.net.br] has quit [Remote
closed the connection]
11:45 < npe> deafmetal: yes.
11:45 < deafmetal> ahah
11:45 < deafmetal> ok.
11:46 < Element14> deafmetal: supposedly you should set them in
.bash_profile
11:46 < Element14> the install script uses bash after all...
11:46 < deafmetal> bash_profile rather than bashrc?
11:46 < npe> profile == first login, bashrc == every shell instantiation
11:46 < deafmetal> ah.
11:46 < deafmetal> ok.
11:46 < deafmetal> let me try that.
11:46 < deafmetal> thanks.
11:47 < alt^255> deafmetal: if not present should be created.
11:48 < blasdelf> OMG, Go ships with a direct port of Spacewar from the PDP1
11:49 -!- martin0_ [n=martin@217.81.48.47] has joined #go-nuts
11:49 * hashbang isn't getting the 'Multiplexing' part of the tutorial
11:49 < leitz> Any comments on taking an old Unix or Linux book like the 1st
edition of "Linux Application Development" and trying to learn some Go with that?
11:50 < blasdelf> leitz: that wouldn't excercise any of the novel goroutine
bits
11:50 < blasdelf> you might look at stuff for older CSP languages like
Newsqueak and some of the Plan9 stuff
11:50 -!- Jooon [n=jooon@c-1711e455.01-300-73746f7.cust.bredbandsbolaget.se] has
joined #go-nuts
11:52 < leitz> blasdelf: I'm more thinking of learning how to do stuff,
however small, on my Linux machine.  Maybe then getting into the coolness of Go
once I understand it better.  In this case I'm coming from a sysadmin role, not
really a programmer yet.
11:53 < blasdelf> it's more about trying the kind of toy problems that lend
themselves to CSP
11:53 < vegai> looking at an Inferno book might be interesting too :)
11:53 * vegai has one in the bookshelf...
11:53 < Innominate> leitz: invest in a newer book
11:53 < RayNbow> just curious...  if new is a function in go, then what is
its type signature?
11:54 -!- munichlinux [n=munichli@122.169.221.205] has joined #go-nuts
11:54 < leitz> Recommendations, Innominate?  I have lots of C books that sit
moslty unused.  My hope was to use the online tutorial with the problem set in teh
books to get going and see what I can do.  Then get a newer and more detailed book
when I'm ready.
11:54 -!- red1 [n=red1@60.48.84.0] has joined #go-nuts
11:54 -!- hoffmann [n=ph@tmo-076-4.customers.d1-online.com] has quit [Read error:
60 (Operation timed out)]
11:54 -!- vomjom [n=vomjom@99-157-248-71.lightspeed.stlsmo.sbcglobal.net] has
joined #go-nuts
11:54 < leitz> Anyone want to buy some old C books?  ;)
11:54 -!- furbage [n=furbage@78-105-127-75.zone3.bethere.co.uk] has joined
#go-nuts
11:55 < vomjom> wow, 269 people?
11:55 < vegai> heh, several shops are selling "Inferno Programming with
Limbo" for £0.50
11:55 -!- __gilles [n=gilles@gw.poolp.org] has joined #go-nuts
11:55 < vegai> "brand new condition" too
11:55 < __gilles> hi
11:55 < leitz> vegai, thanks!  I'll make myself a note and go look.  Right
now I'm fixing to be late for work.  :(
11:56 < alt^255> what about plan9 and inferno, how they relate to Go?
11:56 < Innominate> leitz: Can't hurt to try, but an experimental language
is probably not the best place to start
11:57 < blasdelf> alt^255: written by the exact same authors, espousing many
of the same concepts
11:57 < hnsr> anyone know what I might be doing wrong here?
http://pastie.org/693501 it fails to find quietgcc even though it is in my PATH,
and I can run it from my shell
11:57 < leitz> Innominate, I'm rather slow sometimes, so the language will
mature faster than my programming.  :)
11:57 < hnsr> as far as I can tell all my env vars are set up correctly
11:57 < blasdelf> hnsr: is your PATH exported?
11:57 < alt^255> blasdelf: interesting.  thanks.
11:57 < leitz> Good day all, see you this (EST) afternoon!
11:57 -!- leitz [n=leam@72.150.95.31] has quit ["Leaving."]
11:58 < hnsr> blasdelf, yeah
11:58 -!- mizai [n=mizai@rhou-164-107-213-187.resnet.ohio-state.edu] has joined
#go-nuts
11:58 < madac> alt^255: Go looks very similar to Limbo, Inferno's
programming language.
11:58 < hnsr> blasdelf, at least, I export it in my .bashrc
11:58 < ikke> --- FAIL: os_test.TestRemoveAll
11:58 < ikke> RemoveAll "_obj/_TestRemoveAll_" succeeded with chmod 0
subdirectory?(extra *os.PathError=lstat _obj/_TestRemoveAll_: no such file or
directory)
11:58 < alt^255> I'm just looking for something that can move people away
from C++ into the 90s
11:59 -!- fujiwara_ [n=fujiwara@gw2.kbmj.jp] has joined #go-nuts
11:59 < blasdelf> ikke: you're running as root, aren't you?
11:59 < ikke> yeah :)
11:59 * blasdelf admonishes ikke
11:59 < ikke> :)
12:00 * ikke will run as user
12:00 < ikke> just found issue 22
12:00 < blasdelf> the tests assume all sorts of awesome things about the
environment
12:01 -!- nacerix [n=nacer@195.24.196.113] has joined #go-nuts
12:01 < madac> alt^255: I'd say that Go has a very good chance of doing just
that.  It really needs generics, which are on their radar.
12:01 < blasdelf> a bunch of them use *ed*, which K&R wrote 40 years before
starting Go :)
12:01 < nacerix> hi all
12:01 < alt^255> madac: I already like this.
12:01 < blasdelf> madac: It has interfaces
12:02 < blasdelf> It seems that they've avoided GADTs, possibly because they
don't mesh with Protocol Buffers
12:02 < madac> blasdelf: Interfaces and generics are orthogonal concepts.
Yes, they both support polymorphism, but in very different ways.
12:03 < blasdelf> madac: I know, I've used Haskell for 5 years :)
12:03 < nacerix> I need help about this message make: quietgcc : command not
found
12:04 < nacerix> when trying to install go on my ubuntu box
12:04 < blasdelf> If only Luca Cardelli worked at Google too...
12:04 < hnsr> blasdelf, I fixed it, apparently it was because I had
'~/dev/go' instead of '/home/$USER/dev/go' in my PATH, even though bash itself had
no trobules with it
12:04 -!- fujiwara_ [n=fujiwara@gw2.kbmj.jp] has quit ["Leaving..."]
12:04 < blasdelf> hnsr: expansion happens in odd places, and only ever in
the shell
12:05 -!- kota1111 [n=kota1111@gw2.kbmj.jp] has joined #go-nuts
12:05 -!- m-takagi_ is now known as m-takagi
12:05 -!- keziah [n=keziah@pool-71-112-216-188.sttlwa.dsl-w.verizon.net] has left
#go-nuts []
12:05 < hnsr> i shall not count on them again :p
12:05 < Innominate> nacerix: It means you env vars are set wrong
12:05 < Innominate> your
12:06 < nacerix> ah ok, sorry, I think I know where the problem is
12:06 -!- zer0c00l [n=user@117.199.135.58] has joined #go-nuts
12:06 -!- osmosis [n=steven@ip72-194-220-167.sb.sd.cox.net] has joined #go-nuts
12:07 < deafmetal> yay.  finally it's compiling.  I did have to use
.bash_profile rather than .bashrc.  odd.
12:08 -!- hoffmann [n=ph@tmo-045-7.customers.d1-online.com] has joined #go-nuts
12:08 < nacerix> deafmetal: me too
12:08 -!- lb [n=lb@pd95b8344.dip0.t-ipconnect.de] has joined #go-nuts
12:09 < nacerix> i just forget to include $GOBIN in my PATH
12:09 -!- oxtail [n=oxtail@94.194.56.42] has joined #go-nuts
12:09 < blasdelf> on some platforms .bashrc has to be sourced manually (from
.bash_profile)
12:09 < mizai> ugh, chromium is wreaking havoc on my system
12:09 -!- MarkBao [n=MarkBao@pool-98-110-164-56.bstnma.fios.verizon.net] has
joined #go-nuts
12:10 < mizai> oh, it's back now :)
12:11 < hnsr> I just ran into this bug:
http://code.google.com/p/go/issues/detail?id=7 but I already have the revision
that was supposed to have solved that bug, should I file a new one or just reply
to it?
12:11 < deafmetal> blasdelf interesting!
12:11 -!- cloowny [n=cloowny@slo13-1-82-66-195-23.fbx.proxad.net] has joined
#go-nuts
12:11 < cloowny> hi there
12:12 -!- grumbel [n=grumbel@i59F56CD7.versanet.de] has joined #go-nuts
12:12 < cloowny> anybody use go with textmate?
12:12 < engla> there is a bundle on the mailing list
12:12 -!- repelent [n=Mato@r11ex225.net.upc.cz] has joined #go-nuts
12:13 < blasdelf> wouldn't be surprised if it was in the TM repository
already
12:13 < cloowny> oh ok i have to check this out
12:13 < hnsr> ok, looks like I did need to set LC_ALL=C
12:14 -!- spiffytech [i=spiffyte@pilot.trilug.org] has joined #go-nuts
12:14 < blasdelf> hnsr: unset it
12:15 < blasdelf> I ran into the same thing, Russ Cox will probably have a
patch in tommorrow
12:15 < hnsr> ah ok
12:15 < engla> Two questions: powerpc support?  :-) Can you crash go?
12:16 < blasdelf> engla: A) through gcc; B) Yes, you can dereference
uninitialized pointers
12:16 < npe> anybody build an xcode plugin for the pbfilespec and the
clangspec yet?
12:17 < npe> If not how are people integrating the pbfilespec?
12:17 < npe> http://maxao.free.fr/xcode-plugin-interface/
12:17 < npe> just found this, will start after lunch.
12:17 < hashbang> running server.go from the docs seems to show that
goroutines don't get created in different threads (i.e.  make use of multiple
cores).  Is that correct?
12:19 < npe> hashbang: normal goroutines are part of the same process.
12:19 -!- madac [n=madac@124-168-60-73.dyn.iinet.net.au] has quit []
12:19 < npe> hashbang: I'm don't know enough about the language yet to see
how they deal with ioprocs etc...
12:19 < osmosis> when is android support and app engine support coming?  ;P
12:20 < blasdelf> hashbang: there's presently a Big Channel Lock too
12:20 < hashbang> npe: by adding some fmt.Printf(), I managed to get it to
use 120% CPU, so presumably IO is handled in a different process or thread
12:20 < blasdelf> osmosis: it already supports multiple ARM architectures
12:20 < cloowny> i have problem installing go i have the error "$GOROOT is
not set correctly or not exported" when all.bash
12:20 < engla> I thought you couldn't "make" uninited pointers in Go
12:21 < blasdelf> engla: you can't make one that doesn't cause Go to halt
immediately
12:21 < osmosis> blasdelf, guess we just need and SDK
12:21 -!- _dr [i=dr@sugar.openlsd.org] has joined #go-nuts
12:22 < hashbang> blasdelf: so go's (currently) not immediately and
naturally a way of exploiting multi-core CPUs, right?
12:22 < blasdelf> osmosis: well, a library for dealing with JNI crap
12:22 < blasdelf> hashbang: read some of the older literature on CSP
12:23 < osmosis> blasdelf, you mean to call the java system libraries?
12:23 -!- rplnt_omg [n=Mato@r11ex225.net.upc.cz] has joined #go-nuts
12:23 -!- ringo-m [n=lab4jx@p548F6E78.dip.t-dialin.net] has joined #go-nuts
12:23 < blasdelf> osmosis: to get called from and return back into Dalvik
12:23 < deafmetal> cloowny: where did you set the $GOROOT var?
12:23 -!- bruceb3 [n=bruce@136.187.233.220.static.exetel.com.au] has quit
["Leaving"]
12:24 < hashbang> blasdelf: I'm aware it's a hard problem, if that's the
point you're making.  I was just wondering if Go was the first potential language
to make things easy(er) for app developers
12:24 -!- oxtail [n=oxtail@94.194.56.42] has quit [Read error: 145 (Connection
timed out)]
12:25 -!- kayrick [n=kayrick@winnie.ispras.ru] has joined #go-nuts
12:25 < blasdelf> hashbang: the point is that you already have way more CPU
than you can handle, and CSP is (correctly) aimed more at getting a correct and
clear algorithm than physical parallelism
12:25 -!- kayrick [n=kayrick@winnie.ispras.ru] has left #go-nuts []
12:25 -!- osmosis [n=steven@ip72-194-220-167.sb.sd.cox.net] has quit ["Ex-Chat"]
12:26 < blasdelf> also, Google doesn't give two shits about single-process
parallelism
12:26 < hashbang> blasdelf: depends on the problem; emulation, for instance,
doesn't easily scale across multiple cores
12:26 -!- JBeshir [n=namegduf@138-38-226-61.resnet.bath.ac.uk] has joined #go-nuts
12:26 < blasdelf> they already need to run on more than one box (by six
orders of magnitude)
12:27 -!- lexhung [n=lexhung@117.2.35.228] has joined #go-nuts
12:27 < hashbang> blasdelf: but for the common case, sure; I routinely write
shell scripts to solve the problems I typically need to solve for heavens' sake!
:-)
12:27 -!- Diablo-D3 [n=diablo@64.223.241.169] has joined #go-nuts
12:28 < Diablo-D3> you've got to be kidding me
12:28 < Diablo-D3> 283 people?
12:28 < blasdelf> if you're writing your program correctly decomposed into
CSPs, it's no big deal to start multiple processes
12:28 -!- ringo-m [n=lab4jx@p548F6E78.dip.t-dialin.net] has quit [Success]
12:28 -!- gursikh [n=gursikh@c-24-18-102-150.hsd1.wa.comcast.net] has joined
#go-nuts
12:28 -!- nc [n=nc@bbis.us] has joined #go-nuts
12:29 < gursikh> hi has anyone found any good go tutorials?
12:29 < mycroftiv> have you looked at the 3 day course pdfs?
12:29 -!- roadt [n=roadt@60.168.83.106] has quit [Read error: 110 (Connection
timed out)]
12:30 < blasdelf> go is presently aimed at polyglots
12:30 < gursikh> no, are they on http://golang.org/?
12:30 < nc> mycroftiv: could you link me to those 3day course pdfs ?
12:30 < gursikh> i'll find them.  thanks for the tip.
12:31 < mycroftiv> http://golang.org/doc/GoCourseDay1.pdf
http://golang.org/doc/GoCourseDay2.pdf and similar for #3
12:31 < mycroftiv> linked from the http://golang.org/doc/go_tutorial.html
page which is also relevant of course
12:31 < nc> mycroftiv: thank you
12:32 -!- roadt [n=roadt@60.168.85.132] has joined #go-nuts
12:32 < gursikh> is it possible to write Go apps for app.engine?
12:32 < blasdelf> gursikh: nope
12:32 -!- LaPingvino [n=LaPingvi@82-171-137-254.ip.telfort.nl] has joined #go-nuts
12:33 -!- oxtail [n=oxtail@85.92.214.131] has joined #go-nuts
12:33 < blasdelf> unless you want to write a mips compiler, and run that on
the JVM :/
12:33 < nc> :(
12:33 < Diablo-D3> yeah
12:33 < Diablo-D3> go will never take off
12:33 -!- ninja123 [n=ninja123@122.164.237.165] has quit [Read error: 113 (No
route to host)]
12:34 < Diablo-D3> google doesnt seem to wanna write a java bytecode
compiler for it
12:34 < blasdelf> I'm sure they'll get to it eventually, they already have
NaCL support
12:34 < Diablo-D3> salt?
12:34 -!- xylifyx [n=xylifyx@62.242.33.132] has joined #go-nuts
12:34 -!- crez [n=crez@122.199.76-86.rev.gaoland.net] has joined #go-nuts
12:34 -!- under [n=elPlusa@host27-206-dynamic.19-79-r.retail.telecomitalia.it] has
joined #go-nuts
12:34 < under> Hi. :)
12:34 < Diablo-D3> blasdelf: wtf is salt?
12:34 < blasdelf> so NaCL-saft x86_64 code could run on AppEngine without
exploits
12:35 < blasdelf> Google NAtive Client
12:35 -!- cloowny [n=cloowny@slo13-1-82-66-195-23.fbx.proxad.net] has quit []
12:35 -!- Monie [n=Monie@unaffiliated/monie] has joined #go-nuts
12:35 < gursikh> blasdef: wouldn't that defeat the point?
12:35 -!- repelent [n=Mato@r11ex225.net.upc.cz] has quit [Read error: 113 (No
route to host)]
12:35 < blasdelf> it's a protected x86 sandbox that runs as a browser plugin
12:35 -!- rplnt_omg is now known as rplnt__
12:36 -!- miff [n=ww@86.47.255.201] has joined #go-nuts
12:37 < blasdelf> gursikh: not at all, they'd release an SDK that compiled
your apps using the NaCL backend
12:37 -!- igor__ [n=igor@93-127-88-227.static.vega-ua.net] has joined #go-nuts
12:37 -!- gursikh [n=gursikh@c-24-18-102-150.hsd1.wa.comcast.net] has left
#go-nuts []
12:37 -!- deafmetal [n=deafmeta@54.76-66-87.adsl-dyn.isp.belgacom.be] has left
#go-nuts []
12:38 -!- watermind [n=watermin@bl8-121-164.dsl.telepac.pt] has joined #go-nuts
12:38 < watermind> hi guys, I don't get this example
12:38 < watermind> var a uint64 = 1; is supposed to be the same as a :=
uint64(1);
12:39 < blasdelf> yes
12:39 -!- mmu_man [n=revol@vaf26-2-82-244-111-82.fbx.proxad.net] has joined
#go-nuts
12:39 < mmu_man> plop
12:40 < watermind> blasdelf: but looking at the lang faq I can't understand
the explanation for what it does...
12:40 -!- nets [n=nets@bzq-79-178-103-16.red.bezeqint.net] has joined #Go-nuts
12:40 < blasdelf> watermind: I think it might be in Effective Go
12:40 -!- drusepth [n=drusepth@174.32.154.79] has joined #go-nuts
12:40 < watermind> oh wait
12:40 < nc> watermind: well by just looking at the example you've pasted, it
seems to me like the := operator is used to define a variable
12:40 < watermind> I think I understand
12:40 < watermind> right..
12:40 < Innominate> watermind: it's hard to describe it better than you did
12:40 < watermind> sorry
12:41 -!- igor__ [n=igor@93-127-88-227.static.vega-ua.net] has left #go-nuts []
12:41 < watermind> pascal was getting me confused
12:41 < chmj> ruined my chicldhood
12:42 < chmj> childhood
12:42 < blasdelf> := for assignment is the way to go, then you don't have
jackasses putting constants on the left in conditional expressions
12:42 < chmj> I invent words, ffs
12:42 < nets> can i learn this language, before learning C and such?
12:42 < dchest> can json package unmarshal top-level arrays?
12:42 -!- binBASH [i=michael@stopovr.com] has joined #go-nuts
12:43 -!- akent [n=akent@ppp234-52.static.internode.on.net] has quit ["leaving"]
12:43 < dchest> http://pastie.org/693553 -- it doesn't unmarshal []Tweet for
some reason
12:44 < nc> hehe
12:44 < Kniht> blasdelf: amen
12:44 < nc> not suprised someone is already working on a twitter client
12:44 < Innominate> nets: imo it's probably a bad choice for a first
language(whole different argument), but can you?  no real reason why not
12:44 < Kniht> dchest: fwiw, the json spec doesn't allow top-level arrays
12:44 < dchest> twitter client is the new hello world :)
12:45 -!- telemachus [n=telemach@216.223.212.2] has joined #go-nuts
12:45 < dchest> Kniht: hm, didn't know this.  so, twitter's json is not json
after all?
12:45 < Kniht> I don't know what twitter's api does
12:45 < mmu_man> hmm how large is the hg depot ?
12:45 < Kniht> I know the javascript *object* notation spec requires an
object at the top level
12:45 < telemachus> so here's a funny side-effect: do we think that the
downage of the Mercurial OSX binaries is because of go?
12:46 < dchest> example: http://twitter.com/statuses/public_timeline.json
(attn: will download json file)
12:46 < Kniht> dchest: http://json.org/
12:46 -!- jepler [n=jepler@emc/developer/jepler] has quit [Remote closed the
connection]
12:46 -!- barrynorton [n=barry@client-93-123-21-116.ip.daticum.com] has joined
#go-nuts
12:46 -!- jepler [n=jepler@emc/developer/jepler] has joined #go-nuts
12:46 -!- foof [n=user@FL1-119-239-38-70.osk.mesh.ad.jp] has joined #go-nuts
12:47 < nets> Innominate, i know little bit of C, little bit of C++ ,
assembler Vhdl and other languages but no language in big knowledge
12:47 < nets> i think Go interesting me and i can do it, but its a good idea
?
12:47 -!- foof [n=user@FL1-119-239-38-70.osk.mesh.ad.jp] has left #go-nuts ["ERC
Version 5.3 (IRC client for Emacs)"]
12:47 -!- octoploid [n=octoploi@77-23-127-119-dynip.superkabel.de] has joined
#go-nuts
12:48 < binBASH> So Go is a compiled language.
12:48 < nc> is there any chance whatsoever of me building go on openbsd ?
12:48 < telemachus> binBASH: only if you do it right
12:48 < Element14> nets: depends on what you want to learn it for?
12:48 < binBASH> It's not very intressting for webservers I guess
12:48 < LaPingvino> why not?
12:48 < LaPingvino> :P
12:48 < nets> what do you mean.
12:48 < nets> for what.
12:48 -!- roadt [n=roadt@60.168.85.132] has quit [Remote closed the connection]
12:48 -!- double [n=double@helix.ghb.fh-furtwangen.de] has left #go-nuts []
12:48 < Innominate> binbash: One of the examples _is_ a webserver
12:49 -!- fhs [n=fhs@pool-72-89-195-252.nycmny.east.verizon.net] has quit
["leaving"]
12:49 < binBASH> Innominate: Yes I've seen it.
12:49 -!- stelt [n=chatzill@ip565b0469.direct-adsl.nl] has quit [Read error: 110
(Connection timed out)]
12:49 < binBASH> I mean to run Go on a webserver something like Tomcat would
be needed
12:49 < nc> anyone?
12:50 < binBASH> so Go programs get autocompiled etc.
12:50 < Element14> nets: some possible answers: for fun, for enhancing your
CV, for learning new things about programming, for looking at potential solutions
to existing technological problems, etc..
12:50 < nets> all you say :)
12:50 < nets> it true.
12:50 < blasdelf> binBASH: god no, you take your Tomcat back to the ASF
12:50 < Element14> I guess on the CV point go is not a good choice yet :)
12:51 < nets> :)
12:51 < Element14> doubtful whether any potential employers know a 3 day old
language...
12:51 < Innominate> It couldn't hurt
12:51 < m0rra> for a cv you will send out tomorrow?
12:51 < m0rra> probably yes
12:51 -!- quodt [n=Adium@213.61.58.210] has quit ["Leaving."]
12:51 < dchest> avoiding top-level arrays in json, still can't unmarshal :(
http://pastie.org/693562
12:51 -!- kichik|work [n=kichik_w@bzq-84-108-238-52.cablep.bezeqint.net] has
joined #go-nuts
12:51 < dchest> sure, I'm doing something wrong, but what?  :)
12:51 -!- jepler [n=jepler@emc/developer/jepler] has quit [Remote closed the
connection]
12:52 -!- oiaohm [n=oiaohm@unaffiliated/oiaohm] has joined #go-nuts
12:52 -!- jepler [n=jepler@emc/developer/jepler] has joined #go-nuts
12:52 -!- oiaohm [n=oiaohm@unaffiliated/oiaohm] has left #go-nuts []
12:52 < binBASH> blasdelf: Sorry, did you read right?  ;-) I said not to use
Tomcat I said something Tomcat alike would be needed.
12:52 -!- jb55 [n=jb55@bas11-kitchener06-1088890944.dsl.bell.ca] has joined
#go-nuts
12:52 < binBASH> I don't want to give developers access to compilers at all
:)
12:52 < Element14> huh?
12:53 < binBASH> they should place their codes on a webserver and it should
do the work.
12:53 -!- fcuk112_ [n=franky@78-86-11-147.zone2.bethere.co.uk] has quit [Read
error: 54 (Connection reset by peer)]
12:53 -!- whooosh [n=whooosh@76.106.34.132] has joined #go-nuts
12:54 < Element14> writing a script to auto compile as files are uploaded
doesn't seem like too hard to me...  (or am i missing anything?)
12:54 < blasdelf> binBASH: so use a damn build tool as a post-commit hook,
don't shove it into your webserver
12:54 < Innominate> webserver/compiler
12:55 < blasdelf> whatever Apache httpd or Tomcat or Squid is doing, you
should always do the opposite
12:55 -!- temoto [n=temoto@217.173.74.146] has joined #go-nuts
12:55 < temoto> Hello, nuts :)
12:55 < dchest> ah, yeah, it works!  Thanks again, Kniht.  Getting rid of
top-level arrays helped
12:56 < binBASH> blasdelf: I agree on that part ;)
12:56 -!- dzambi [n=chatzill@secondarypix.mozzartbet.com] has quit ["ChatZilla
0.9.85 [Firefox 3.5.5/20091102152451]"]
12:57 -!- CoconutCrab [n=toor@unaffiliated/coconutcrab] has joined #go-nuts
12:57 < binBASH> I did not read docs detailed yet, but is it possible to
have those Go programs running via eg.  cgi or fastcgi?
12:57 -!- zer0c00l [n=user@117.199.135.58] has quit [Read error: 60 (Operation
timed out)]
12:57 < Element14> binBASH: why not?
12:57 < Innominate> There is no reason i can see that go couldn't be used
via cgi
12:57 < JBeshir> Go via *FastCGI* could be neat
12:57 < blasdelf> binBASH: Remember, do the opposite of Apache
12:58 < blasdelf> USE HTTP GOD DAMNIT
12:58 < blasdelf> Go ships with an http package, use it
12:58 < binBASH> I know
12:58 < blasdelf> put a reverse proxy like nginx in front of it if it talks
to the outside
12:58 < binBASH> dunno if it's fast though.  Will try to benchmark in near
future *g
12:59 -!- chid [n=dorl@c122-106-95-175.rivrw1.nsw.optusnet.com.au] has quit [Read
error: 54 (Connection reset by peer)]
12:59 < binBASH> You know I'm comming from PHP.  I coded myself a webserver
using PHP to run my sites.
12:59 < binBASH> because fastcgi and apache were too slow.
12:59 -!- chid [n=dorl@c122-106-95-175.rivrw1.nsw.optusnet.com.au] has joined
#go-nuts
12:59 < blasdelf> FastCGI is the worst idea ever
12:59 < barrynorton> ok, installed up, had a play and I'm left with a big
question about the concurrency features and their stated 'inspiration from CSP' -
given that all I can find no select/alt, for instance (for non-determinism, a la
occam via newsqueak) or other algebraic-style control, just co-routines, isn't
this just pi-calculus (rather than CSP)-like channel passing?
12:59 -!- npe [n=npe@94-224-251-223.access.telenet.be] has left #go-nuts []
12:59 -!- Vanadium [n=v@dslb-088-066-014-240.pools.arcor-ip.net] has joined
#go-nuts
12:59 < JBeshir> Oh, I like the easy unit testing setup.
12:59 * wollw ran the hello world example as a cgi
13:00 -!- npe [n=npe@94-224-251-223.access.telenet.be] has joined #go-nuts
13:00 < wollw> so yeah, no reason for it not to
13:00 < JBeshir> Wait
13:00 < JBeshir> Things written in C/C++/whatever were too slow
13:00 < JBeshir> So you wrote...  nevermind, forget it.
13:00 -!- barrynorton [n=barry@client-93-123-21-116.ip.daticum.com] has quit
[Remote closed the connection]
13:01 < binBASH> JBeshir: I know it's quite unbelievable
13:01 < nc> it won't build on openbsd :(
13:01 -!- scriptdevil [n=scriptde@122.174.102.65] has joined #go-nuts
13:01 < nc> atleast, it hasn't with my efforts so far
13:01 -!- ruda [n=ruda@200.176.5.2] has joined #go-nuts
13:01 -!- barrynorton_ [n=barry@client-93-123-21-116.ip.daticum.com] has joined
#go-nuts
13:01 -!- maragato [n=robteix@nat/intel/x-qhjhdahoozboiuzn] has joined #go-nuts
13:01 < blasdelf> nc: here's a nickel kid, get a real operating system
13:02 < nc> "lol"
13:02 < nets> google wave its nice :)
13:02 < psankar> I am trying to package go for openSUSE.  Our buildsystem
doesnt allow to connect to outside network during the builds.  So, one of the
testcases fails causing the build to break.
13:02 < scriptdevil> psankar: Take a snapshot.
13:02 < psankar> Is there a way i can disable all network related test cases
?
13:02 -!- BlunderBuss [n=BlunderB@12.54.221.117] has joined #go-nuts
13:02 < psankar> scriptdevil, snapshot ?
13:03 < scriptdevil> psankar: I am sorry.  I did not mean the testcases.
13:03 < RayNbow> btw, has anyone tried writing a go program for the
thread-ring benchmark?  :)
13:03 -!- dragonball_ [i=dragonba@unaffiliated/dragonball] has joined #go-nuts
13:03 -!- m-takagi is now known as m-takagi_
13:03 < binBASH> JBeshir: For me it was really faster to code something in
PHP which does preforking and provide websites than regular Apache (mod_php) or
fastcgi
13:03 < temoto> ./all.bash finished with ---\n> panic PC=xxx\n0 known
bugs; 0 unexpected bugs; test output differs is that "panic PC=xxx" thing normal?
Should i report it?
13:03 < psankar> okay...  any solutions for this ? (apart from trying to
patch thigns msyelf) ?
13:03 -!- drusepth [n=drusepth@174.32.154.79] has quit [Read error: 104
(Connection reset by peer)]
13:03 -!- m-takagi_ is now known as m-takagi
13:03 -!- lambo4jos [n=chatzill@c-76-126-250-10.hsd1.ca.comcast.net] has quit
["ChatZilla 0.9.85 [Firefox 3.5.5/20091102152451]"]
13:03 -!- lotrpy [n=lotrpy@202.38.97.230] has joined #go-nuts
13:03 < nc> temoto: i think there is a ticket for that issue on the bug
tracker
13:05 -!- automaciej [n=maciej@78.46.210.147] has joined #go-nuts
13:05 < scriptdevil> psankar: I guess just ignoring all the tests should
work.  It will work most of the time anyway
13:05 < psankar> scriptdevil, how do i ignore the test ?
13:06 -!- Jugalator [n=Jugalato@213.115.240.152] has quit [Remote closed the
connection]
13:06 < scriptdevil> psankar: psankar In run.bash
13:08 -!- miff [n=ww@86.47.255.201] has left #go-nuts []
13:09 < psankar> scriptdevil, I commented the `make test` line inside the
maketest() function.  there are some smoketests below that.....  shall i disable
all fo them ? or better, can i comment the run.bash itself ? ((bcos it looks to me
that run.bash is only for testing)
13:09 -!- quietdev_
[n=quietdev@CPE002191da6e32-CM00195eea6f2c.cpe.net.cable.rogers.com] has left
#go-nuts []
13:09 -!- naderman [n=naderman@naderman.de] has joined #go-nuts
13:09 -!- nullpo_ [n=nullpo@221x252x46x83.ap221.ftth.ucom.ne.jp] has joined
#go-nuts
13:10 < scriptdevil> psankar: I do not know :) Try that :)
13:10 < psankar> scriptdevil, ah okay.  I thought you are one of the prime
developers :-)
13:11 < scriptdevil> psankar: Lol no!  I am just another person who is
interested.  And I maintain the Archlinux Package
13:11 < psankar> scriptdevil, ah okay ...  :-)
13:11 -!- kane77 [n=kane@194.1.130.108] has joined #go-nuts
13:11 -!- nahojkap [n=chatzill@yggdrasill.compukos.nl] has joined #go-nuts
13:12 -!- dragonball_ [i=dragonba@unaffiliated/dragonball] has quit ["Leaving"]
13:12 -!- Hermano [n=eero@a88-113-33-235.elisa-laajakaista.fi] has joined #go-nuts
13:13 -!- rplnt__ [n=Mato@r11ex225.net.upc.cz] has quit [Read error: 113 (No route
to host)]
13:14 < engla> did I see right, and example using `backticks` in go syntax?
13:14 < engla> python abandons backticks for good reasons
13:15 -!- nullpo [n=nullpo@221x252x46x83.ap221.ftth.ucom.ne.jp] has quit [Read
error: 60 (Operation timed out)]
13:15 < RayNbow> what's the problem with backticks?
13:15 -!- TheAppleMan [n=apple@funtoo/contributor/theappleman] has quit [Read
error: 60 (Operation timed out)]
13:16 -!- Hertta [n=ptr@188.72.205.52] has joined #go-nuts
13:16 -!- level09 [n=chatzill@80.227.125.119] has quit ["ChatZilla 0.9.85 [Firefox
3.5.5/20091102152451]"]
13:16 < engla> hard to type, hard to see what they are
13:16 < engla> the " and ' are pretty universally recognized though
13:17 < engla>
http://mail.python.org/pipermail/python-ideas/2007-January/000054.html
13:18 < ment> and 'l' looks very much the same as '1'
13:18 < RayNbow> hard to type is not a reason not to use them...  it can
only be a reason not to use them for important things you use a lot
13:18 < RayNbow> and in go (as far as I've seen), backticks are used for raw
strings
13:19 < RayNbow> and I doubt you'd use raw strings a lot in day-to-day
programming
13:19 -!- muntasir [n=muntasir@202.72.235.205] has joined #go-nuts
13:19 -!- skh [n=skh@pdpc/supporter/base/skh] has joined #go-nuts
13:19 -!- naderman [n=naderman@phpbb/developer/naderman] has quit [Remote closed
the connection]
13:19 < engla> keeping all of the language accessible is a sensible goal to
me
13:20 -!- quietdev [n=quietdev@unaffiliated/quietdev] has quit [Remote closed the
connection]
13:20 < Innominate> does go actually use backticks?
13:20 < Innominate> also hard to type is a fantastic reason to not use
something
13:20 < engla> I saw it in a flag.Int(..) example but I wasn't sure if it
was a typo
13:21 < RayNbow> raw_string_lit = "`" { unicode_char } "`" .
13:21 < nc> hmm
13:21 < nc> has anyone encountered this error
13:21 < nc> make: make: don't know how to make dofmt.o.  Stop in
/home/nik/go/src/lib9.
13:21 -!- whooosh [n=whooosh@76.106.34.132] has quit [Client Quit]
13:21 -!- zer0c00l [n=user@117.199.131.146] has joined #go-nuts
13:22 < temoto> What is size of Go light thread?
13:23 -!- naderman [n=naderman@naderman.de] has joined #go-nuts
13:26 -!- dpb [i=dpb@unaffiliated/dpb] has joined #go-nuts
13:26 -!- aaront [n=aaront@d24-141-25-171.home.cgocable.net] has joined #go-nuts
13:27 < JBeshir> Hmm, how does one convert bytes to a string?
13:27 -!- dougie [n=doug@h85.14.89.75.dynamic.ip.windstream.net] has joined
#go-nuts
13:27 < JBeshir> Just...  String(<byte thing>)?
13:27 < JBeshir> s/String/string/
13:27 -!- ineol [n=hal@mar75-9-88-171-191-168.fbx.proxad.net] has joined #go-nuts
13:28 -!- sobersabre [n=bilbo@85.64.34.22.dynamic.barak-online.net] has joined
#go-nuts
13:28 < sobersabre> hi..
13:29 -!- a1 [i=Noko@91.78.31.25] has joined #go-nuts
13:29 < a1> Did anyone try building go on cygwin?
13:29 -!- a1 is now known as a1111
13:30 -!- muntasir [n=muntasir@202.72.235.205] has quit ["Leaving."]
13:30 -!- bpalmer [n=user@unaffiliated/bpalmer] has left #go-nuts ["ERC Version
5.1.2 $Revision: 1.796.2.6 $ (IRC client for Emacs)"]
13:30 -!- schrdoingers_CT [n=IV@74-128-123-101.dhcp.insightbb.com] has quit []
13:30 -!- zLuke_ [n=luke@c-68-47-107-41.hsd1.ga.comcast.net] has joined #go-nuts
13:31 -!- shaiguitar [n=shaiguit@93.172.132.229] has joined #go-nuts
13:32 -!- kakobirekla [n=T42@89-212-41-49.static.t-2.net] has joined #go-nuts
13:32 -!- dorkalev [n=dorkalev@tony09-124-34.inter.net.il] has joined #go-nuts
13:33 < shaiguitar> daganev: Well it was before you came ;)
13:33 < shaiguitar> dorkalev: Well it was before you came ;)
13:33 < shaiguitar> daganev: nm /ignore
13:33 < dorkalev> shaiguitar: sigh
13:33 < shaiguitar> :)
13:35 -!- clearscreen [n=clearscr@e248070.upc-e.chello.nl] has joined #go-nuts
13:35 -!- munichlinux [n=munichli@122.169.221.205] has left #go-nuts ["Leaving"]
13:35 < dchest> JBeshir: yes.  at least, it works for me
13:35 < mmu_man> ./all.bash: line 7: bash: command not found
13:36 < mmu_man> hmm some OS I know installs bash as /bin/sh ...
13:36 < JBeshir> "foo.go:22: cannot use &foo_buf (type *[512]uint8) as type
string"
13:36 < under> Are the compilers for windows or linux?
13:36 < JBeshir> Linux and Mac OS X, I think.
13:37 < under> Mac?  Lol.
13:37 -!- schrdoingers_CT [n=IV@74-128-123-101.dhcp.insightbb.com] has joined
#go-nuts
13:37 < JBeshir> Ah, nevermind.
13:37 < sobersabre> under: what is so laughable about Mac ?
13:37 < JBeshir> It works if I call string() explicitly and pass it a
pointer to the array, rather than the array itself.
13:37 -!- chickamade [n=chickama@123.16.71.175] has joined #go-nuts
13:38 < under> sobersabre, I can understand for Linux, but Mac..  Why not
Windows?
13:38 < Innominate> two reasons
13:38 < sobersabre> under: easily understandable :) the devels probably use
MAC.
13:38 < sobersabre> and Linux.
13:38 < sobersabre> but not windows...
13:38 < Innominate> osx is bsd based, and the devs happen to use it
13:38 < JBeshir> UNIX-likes have a lot more in common than UNIX-likes and
Windows.
13:39 -!- schrdoingers_CT [n=IV@74-128-123-101.dhcp.insightbb.com] has quit
[Client Quit]
13:39 -!- rmrf [n=rmrf@unaffiliated/rmrf] has joined #go-nuts
13:39 -!- kaeso [n=lucab@debian/developer/kaeso] has joined #go-nuts
13:39 -!- rmrf [n=rmrf@unaffiliated/rmrf] has left #go-nuts ["Killed buffer"]
13:39 -!- schrdoingers_CT [n=IV@74-128-123-101.dhcp.insightbb.com] has joined
#go-nuts
13:40 -!- pancake [n=pancake@195.10.10.180] has joined #go-nuts
13:40 -!- schrdoingers_CT [n=IV@74-128-123-101.dhcp.insightbb.com] has quit
[Client Quit]
13:40 -!- miff [n=ww@86.47.255.201] has joined #go-nuts
13:40 < mmu_man> hmm of course "which" doesn't work here...
13:40 < sobersabre> mmu_man: where are you that you don't have which ?
13:42 < zLuke_> is there a release versioning system for the language?  like
0.001 ?
13:42 -!- luca_work_ [n=luca@host35.190-136-120.telecom.net.ar] has joined
#go-nuts
13:43 < zLuke_> now we need a "google docs" kind of go IDE from google :-)
13:44 < mmu_man> sobersabre BeOS
13:44 < vegai> does anyone in google use windows?  :P
13:44 < mmu_man> guess it will only ever work in Haiku
13:44 < under> i dont think so :)
13:44 < mmu_man> BeOS doesn't have /bin/which, just a function in
/etc/profile...
13:44 -!- kill-9 [n=kill-9@cpe-65-24-145-70.columbus.res.rr.com] has joined
#go-nuts
13:45 -!- CoconutCrab [n=toor@unaffiliated/coconutcrab] has quit ["leaving"]
13:45 -!- jbauer [n=jbauer@adsl-99-176-8-19.dsl.lsan03.sbcglobal.net] has quit
[Remote closed the connection]
13:45 -!- under_ [n=elPlusa@host27-206-dynamic.19-79-r.retail.telecomitalia.it]
has joined #go-nuts
13:45 < JBeshir> Hmm.
13:46 -!- savij [n=xl091@88-107-0-98.dynamic.dsl.as9105.com] has joined #go-nuts
13:46 < mmu_man> well given the state of pthread in BeOS I guess I'll just
try Haiku only
13:46 < aaront> of course people at google use windows
13:46 < JBeshir> Is there a syntax for ignoring a function return value for
a multi-return-value function?
13:46 < JBeshir> Or otherwise telling it to stop complaining that I never
use that particular value?
13:46 < Innominate> use _ in place of the variable
13:46 < JBeshir> Okay.
13:47 < Innominate> _, err = Write(stuff);
13:47 < scriptdevil> vegai: Yes.
13:48 < scriptdevil> vegai: In the Mercurial talk, the problem was that
there wasn't a machine that had OpenOffice2/Linux :-| So the entire show was by
handwaving
13:48 -!- dsp_ [n=dsp@lebesgue.cowpig.ca] has joined #go-nuts
13:48 < mmu_man> ...  at least using $BASH instead of hardcoding wouldn't
hurt
13:49 -!- jkp [n=jkp@growl/jkp] has joined #go-nuts
13:49 -!- kakobirekla [n=T42@89-212-41-49.static.t-2.net] has left #go-nuts []
13:49 < jkp> wow!
13:49 < jkp> man, this place is busy already :)
13:49 -!- mmu_man [n=revol@vaf26-2-82-244-111-82.fbx.proxad.net] has quit
["Vision[0.9.7-H-090423]: i've been blurred!"]
13:49 < scriptdevil> jkp: It is growing.
13:49 * jkp has just finished watching the google talks video and is excited
13:49 < watermind> hmmm kind of ugly that 3.0 can be assigned to an integer
:S
13:49 < ment> hmm 8g is checking prototypes in compile time against
imported.8 ?
13:49 < jkp> one question: is there any database support yet?
13:50 < a1111> Oh I'm such an idiot...  of course it wouldn't work in cygwin
13:50 < a1111> it produces elf binaries
13:50 < a1111> god damn it
13:50 < vegai> jkp: doesn't seem to be
13:50 -!- a1111 [i=Noko@91.78.31.25] has quit []
13:50 < scriptdevil> a1111: Good that you confirmed that.
13:50 < jkp> vegai: :(
13:51 < scriptdevil> jkp: There are people proposing oracle and sqlite
support already.  Some may already be working
13:51 < andguent> a1111: even if.  cygwin is a pain.  it has to run on bare
windows to be usable
13:51 -!- miff [n=ww@86.47.255.201] has left #go-nuts []
13:51 < scriptdevil> jkp: Aren't you asking too much from a 3 day old
language?
13:51 < jkp> scriptdevil: kk :)
13:51 < jkp> scriptdevil: its not 3 days old ;)
13:51 < jkp> but yeah, i did wonder
13:51 < jkp> si there an official blog to subscribe to yet?
13:52 < jkp> id like to watch progress passively at least
13:52 < ment> oh noes, blag?
13:52 -!- dD0T [n=dD0T@unaffiliated/dd0t] has joined #go-nuts
13:53 -!- mmu_man [n=revol@vaf26-2-82-244-111-82.fbx.proxad.net] has joined
#go-nuts
13:53 < jkp> w00t, it does have zlib compression: maybe i can reimplement my
client side stuff for starters...see if i can get something to interoperate
13:54 < clearscreen> is it the google repo or just mercurial that is piss
slow
13:54 < ment> ok, how to compile project with circular imports?  a.go:
import "b"; b.go: import "c"; c.go: import "a" ?
13:54 -!- psankar [n=evo@opensuse/member/psankar] has quit []
13:54 < mmu_man> warning: redefinition of `ushort
13:55 < scriptdevil> The one thing I am worried about is that by separating
Interfaces, values and messages things can get scattered around pretty soon.  :( I
may be wrong though.  I am no Software Engg.  Guru
13:55 -!- cDlm [n=cdlm@212.85.158.22] has joined #go-nuts
13:55 -!- quietdev [n=quietdev@unaffiliated/quietdev] has joined #go-nuts
13:55 -!- JohnNy_cz [i=JohnNy_c@jhn4.kolej.mff.cuni.cz] has joined #go-nuts
13:55 -!- ted__ [n=ted@71.23.135.144] has joined #go-nuts
13:55 -!- ArjenL [n=arjen@regex.yaph.org] has joined #go-nuts
13:55 < mmu_man> let's just copy the *bsd stuff
13:55 -!- ted__ [n=ted@71.23.135.144] has quit [Client Quit]
13:56 -!- under [n=elPlusa@host27-206-dynamic.19-79-r.retail.telecomitalia.it] has
quit [Read error: 60 (Operation timed out)]
13:56 < mmu_man> couldn't you just use makefiles ?
13:56 < ment> what do you mean by that?
13:56 < andguent> mmu_man: there's quite some trickery involved with the p9p
bits in golang.  to the best of my knowledge no one has so far done p9p on haiku.
so there might be some traps
13:56 -!- volker48 [n=marcus@c-69-253-247-188.hsd1.pa.comcast.net] has joined
#go-nuts
13:57 < andguent> mmu_man: especially headers and stuff
13:57 -!- ArjenL [n=arjen@regex.yaph.org] has left #go-nuts []
13:57 < volker48> I'm tring to build on mac osx and i get this error ---
FAIL: net.TestDialError
13:57 -!- kfx [n=kfx@li92-61.members.linode.com] has joined #go-nuts
13:57 < mmu_man> andguent if someone did it before there would be no point
in porting :p
13:57 < andguent> mmu_man: p9p != golang.  but golang uses some p9p bits.
13:57 < mmu_man> ment having shell scripts to call make is just denying the
usefulness of make itself
13:58 < mmu_man> and its benefits
13:58 < mmu_man> andguent will see when I'll hit the wall
13:58 < andguent> mmu_man: it's basically the recreation of several original
plan9 libs under a posix system
13:58 < mmu_man> I'm used to doing recursive porting now anyway, so many
apps depending on useless things
13:58 < ment> mmu_man: the shellscripts are calling make
13:58 < mmu_man> the only left is FF3 + Cairo but I'll leave that to someone
else ;)
13:59 < mmu_man> ment exactly, for stuff make itself should be fine, and it
also forces clean all which defeats any possible dependancy handling
14:00 -!- schrdoingers_CT [n=IV@198.190.212.45] has joined #go-nuts
14:00 < mmu_man> seems people now all have 4GHz machines they don't feel
necessary to avoid rebuilding stuff
14:00 < mmu_man> src/lib9/_p9dir.c:245: structure has no member named
`st_gen'
14:00 < mmu_man> ohkay...
14:00 -!- hamaxx [n=hamax@89-212-75-219.static.t-2.net] has joined #go-nuts
14:00 -!- shaiguitar [n=shaiguit@93.172.132.229] has left #go-nuts ["Why not?"]
14:00 -!- octoploid [n=octoploi@77-23-127-119-dynip.superkabel.de] has left
#go-nuts ["WeeChat 0.3.1-dev"]
14:01 -!- chen [n=chen@117.192.233.44] has joined #go-nuts
14:01 -!- Havex [n=Havex@d137-186-173-13.abhsia.telus.net] has quit ["Leaving"]
14:01 < ment> mmu_man: i think they have some issues with compilation/link
order
14:01 -!- Selchenkov [n=ivan@188.134.32.53] has joined #go-nuts
14:01 < uriel> mmu_man: given that the go compilers can rebuild the whole go
tree (>100k lines of code) in under 10sec in a 2Ghz laptop, I don't think
rebuilding is an issue
14:01 < mmu_man> well this should be solvable by explicitely depending a
target by another one but well
14:02 < uriel> (or maybe you mean the C bits, but those only need to be
built once mostly..
14:02 < mmu_man> uriel well for now I need to bootstrap it with gcc, which
isn't really a beast
14:02 < uriel> yea, gcc is an abomination
14:02 -!- millenomi [n=millenom@93-35-148-23.ip55.fastwebnet.it] has joined
#go-nuts
14:02 < mmu_man> except each time I fix a header missing or whatever,
./all.bash cleans up everything :p
14:02 < uriel> you could use ken's C compilers ;P
14:02 < jkp> volker48: im getting failures too
14:02 -!- kill-9 [n=kill-9@cpe-65-24-145-70.columbus.res.rr.com] has quit []
14:02 < uriel> which are also ridiculously fast
14:03 < ajhager> volker48: I am having the same exact issue.  Trying to
track down exactly where it is failing.
14:03 < mmu_man> ok there is a _HAVESTGEN but where do I undef this
14:03 -!- g0wda [n=shashi@59.96.36.7] has joined #go-nuts
14:03 -!- rawtaz [n=rawtaz@rho.hobbyhotellet.se] has joined #go-nuts
14:03 < rawtaz> hello!
14:03 < bnijk_> hey
14:03 < g0wda> hello
14:04 < mmu_man> ah top of the file
14:04 < rawtaz> i would like to know if the *awesome* go mascot is also open
sourced and available in some nice graphics format?  :D
14:04 * bnijk_ reaches into his santa-bag, "oh let's see here little boy"
14:04 -!- VladDrac [n=l@m3r.nl] has joined #go-nuts
14:04 < mmu_man> rawtaz like SVG ? ;)
14:04 < rawtaz> mmu_man: yeah that would be cool :)
14:04 < bnijk_> i think i might have just the thing!
14:04 < rawtaz> some vector thingie
14:05 < rawtaz> i just love it
14:05 < rawtaz> i bet you do too :p
14:05 * bnijk_ gets bitten by something in his bag
14:05 < rawtaz> =P
14:05 < bnijk_> wtf
14:06 < mmu_man> ok now it seems to build further...
14:06 < bnijk_> nope, you're out of luck kid
14:06 < rawtaz> wow, there's a lot of ppl in here.  did most of them join
within the last week or so?
14:06 < mmu_man> src/libmach/executable.c:517: syntax error before `union'
14:06 < bnijk_> better load it up in inkscape and make it yourself
14:06 -!- lazzurs [n=lazzurs@77.74.198.235] has joined #go-nuts
14:06 < rawtaz> bnijk_: oh noes, is that so?
14:06 -!- miff [n=ww@86.47.255.201] has joined #go-nuts
14:06 < bnijk_> looks like it
14:06 * mmu_man throws a C89SyntaxErrorException
14:06 -!- Selchenkov [n=ivan@188.134.32.53] has quit [Remote closed the
connection]
14:06 < rawtaz> bnijk_: aight :)
14:06 < bnijk_> if you like the go logo, though
14:07 < bnijk_> i think you can get tshirts of the plan9 logo ;)
14:07 < rawtaz> haha yea
14:07 < rawtaz> im not sure they'd be able to stay in the same room though?
14:07 < bnijk_> you're right
14:07 < bnijk_> the plan 9 bunny would be disappointed with rob's decision
to work with google
14:08 -!- benchik [n=benny@212.150.114.161] has joined #go-nuts
14:08 < rawtaz> hehe
14:08 < rawtaz> so does this one have a name?
14:08 * bnijk_ disappears in a puff of telephones
14:08 < rawtaz> ttyl
14:09 -!- visionjinx [n=visionji@114.49.220-216.q9.net] has joined #go-nuts
14:09 * mmu_man thanks eternally Plan9 for giving UTF-8 to BeOS 15y ago and
finally GNU/Linux people seeing light
14:09 -!- helge [n=helge@ws12.monsternett.no] has joined #go-nuts
14:09 < mmu_man> src/libmach/obj.c:86: duplicate array index in initializer
14:10 < mmu_man> hmm must be some C89 again
14:10 < rawtaz> oh.  seems to be potential issues with the name of this
language :o
14:10 -!- scriptdevil [n=scriptde@122.174.102.65] has quit [""GO GO GO!"]
14:10 < rawtaz>
http://code.google.com/p/go/issues/detail?id=9&colspec=ID%20Type%20Status%20Owner%20Summary
14:11 -!- muzgo [i=c8ff6782@gateway/web/freenode/x-eliffdjgpeohefep] has joined
#go-nuts
14:11 -!- clearscreen [n=clearscr@e248070.upc-e.chello.nl] has quit [Read error:
104 (Connection reset by peer)]
14:11 -!- mwarning [n=mwarning@ip-78-94-226-217.unitymediagroup.de] has joined
#go-nuts
14:12 < m0rra> haha.  how about just go-pl.  :
14:12 < mmu_man> it's a game as well...  eh
14:12 < Innominate> rawtaz: If you count a guy's toy language.  It seems to
only be documented in a self published book and a couple of academic papers that
aren't available without paying for them.(Am i wrong?)
14:12 < muzgo> --- FAIL: http.TestClient Get
http://www.google.com/robots.txt: dial tcp 64.233.169.104:80: connection timed out
14:12 -!- barrynorton_ [n=barry@client-93-123-21-116.ip.daticum.com] has quit
[Read error: 54 (Connection reset by peer)]
14:12 < muzgo> does the http package supports proxies?
14:12 < muzgo> sorry, i was lazy
14:12 < muzgo> gonna read the docs
14:13 < rawtaz> Innominate: maybe so :) spontaneously i think one should
pick a name that isnt already used though
14:13 -!- whooosh [n=whooosh@c-76-106-34-132.hsd1.md.comcast.net] has joined
#go-nuts
14:13 -!- f0r1z [n=f0r1z@87.117.3.97] has joined #go-nuts
14:13 -!- paulsmith [n=paul@c-69-251-254-163.hsd1.md.comcast.net] has joined
#go-nuts
14:13 < Innominate> rawtaz: If you're willing to count that as "used" you're
looking at a hell of a search
14:13 < rawtaz> hehe
14:14 -!- nickjohnson [n=arachnid@coilette.notdot.net] has joined #go-nuts
14:14 < brontide> rawtaz: when I saw the bug report I went looking myself.
You have to use the authors name to get any hits
14:14 -!- Eiler [i=none@c213-100-25-200.swipnet.se] has joined #go-nuts
14:14 -!- Bertik [n=robert@88030.viamedia.info] has joined #go-nuts
14:14 < Innominate> And the hits are all the book, i still have no idea what
his language looks like
14:14 < mmu_man> well, google will just do what Kraft Food did with my
neighbour Milka Budmir, (sue her and get her website milka.fr for free)
14:14 < mmu_man> :^P
14:15 < cDlm> Innominate: a bit like prolog
14:15 -!- delfick1 [n=iambob@203-59-186-84.dyn.iinet.net.au] has joined #go-nuts
14:15 -!- skh [n=skh@pdpc/supporter/base/skh] has left #go-nuts []
14:15 < Innominate> cdlm: Have you seen it or are you getting that from the
first page of one of his papers?
14:15 < watermind> Are there no sum types??
14:15 < cDlm> but the conflict with the game is what's the most awkward
14:15 < Associat0r>
http://en.wikipedia.org/wiki/Limbo_(programming_language)
14:15 < cDlm> Innominate: preview of the book
14:16 < brontide> Actually I find the use of a basic verb to be annoying
since searching for related websites is nearly impossible
14:16 < cDlm> the game of Go suggests a real minimal language like smalltalk
lisp or FP
14:16 < mmu_man> hmm what's the rationale behind using
14:16 < mmu_man> [Obj68020] "68020 .2", _is2, _read2,
14:16 < mmu_man> instead of
14:16 < mmu_man> [Obj68020] {"68020 .2", _is2, _read2},
14:17 < mmu_man> which is valid C89 and a lot more logical anyway...
14:17 < rawtaz> brontide: maybe google censored the searches not requiring
the "original" authors name?  ;-D
14:17 < bnijk_> google is bad
14:17 -!- cbeok [n=user@lnk2-themill-gw.binary.net] has joined #go-nuts
14:18 -!- jcopenha [n=jcopenha@c-71-228-73-62.hsd1.fl.comcast.net] has joined
#go-nuts
14:18 -!- psankar [n=evo@opensuse/member/psankar] has joined #go-nuts
14:18 < cbeok> just trying to catch the buzz, anybody doing anything
interesting?
14:18 < kfx> nope
14:18 < kfx> nothing at all
14:18 -!- kill-9 [n=kill-9@cpe-65-24-145-70.columbus.res.rr.com] has joined
#go-nuts
14:18 < kfx> there hasn't even been any activity in this channel in months
14:19 < m0rra> well, just reading through issue 9, cbeok
14:19 -!- Zaba [n=zaba@about/goats/billygoat/zaba] has joined #go-nuts
14:19 < m0rra> haven't laughed so hard in a while
14:19 < mmu_man> ok let's try :%s/^\([.*]^I\)\(.*\),$/\1{\2},/gc on 8db.c
14:19 < psankar> I packaged go compiler as a rpm and when i try to compile a
helloworld.go file, I get: fatal error: can't find import: fmt
14:19 < mmu_man> hmm
14:19 -!- emit [n=emit@unaffiliated/emit] has joined #go-nuts
14:19 -!- martin0_ [n=martin@217.81.48.47] has quit []
14:19 < psankar> whereas in a local build things work fine
14:19 < kfx> psankar: environment vars set?
14:19 -!- Bertik [n=robert@88030.viamedia.info] has left #go-nuts []
14:19 < Innominate> psankar: That happens if you dont have goroot set
14:20 < psankar> kfx, ahhh.  I think not.  I thought environ.  variables are
needed only for compiling the compiler
14:20 < cbeok> haha m0rra, thanks, thats hilarious
14:20 < psankar> kfx, Innominate : I dont ahve the sources.  I have created
a rpm by packaging the output of all.bash
14:21 -!- jawbroken [n=jawbroke@c114-76-153-199.sunsh2.vic.optusnet.com.au] has
joined #go-nuts
14:21 < psankar> I have all the files taht will be in the GOBIN directory
also
14:21 < psankar> I mean I have a gofmt in my /usr/bin
14:21 < rawtaz> damn.  its totally incredible that google havent come up
with a chrome release for mac yet.  its been ages :<
14:21 < Innominate> psankar: point gooroot at the output of all.bash, i hope
you have more than just the binaries
14:22 < rawtaz> so its at least nice to see that go comes for mac as a first
release :)
14:22 -!- benchik [n=benny@212.150.114.161] has left #go-nuts ["Leaving"]
14:22 -!- scriptdevil [n=scriptde@122.174.82.129] has joined #go-nuts
14:22 < mmu_man> :%s/^\(\[.*\] \)\(.*\),\(.*\)$/\1{\2},\3/gc
14:22 < psankar> Innominate, i think i havent made myself clear...  i
created a rpm which packages the output of all.bash....  so now i install the .rpm
in another machine where there is no all.bash
14:23 -!- sysRPL [n=sysrpl@uslec-66-255-47-18.cust.uslec.net] has joined #go-nuts
14:23 < psankar> Innominate, it is in this new machine where i have the rpm
installed, i am getting the error
14:23 < sysRPL> does go support objects?
14:23 < engla> rawtaz: the go devs have some *nix heritage so it's not
really surprising.  but nice.
14:23 < sysRPL> i guess not
14:23 < rawtaz> yeah
14:23 < Innominate> psankar: Yes but what do you consider the output of
all.bash?
14:23 < Innominate> If it's literally everything, you just need to set your
environment variables
14:23 < psankar> Innominate, i meant all the files that are created in the
$GOBIN directory
14:24 -!- cyberwiz [n=mitashki@Bolt.marketxs.com] has joined #go-nuts
14:24 -!- arun [n=arun@unaffiliated/sindian] has joined #go-nuts
14:24 < watermind> so am I right that there are no sum types?
14:24 < psankar> Innominate, oh you mean, i should set the GOROOT to thje
directory where the bianries are copied ? (/usr/bin in this case)
14:24 < Innominate> psankar: There is more to go than the binaries, you need
the goroot
14:24 -!- dougie [n=doug@h85.14.89.75.dynamic.ip.windstream.net] has quit ["using
sirc version 2.211+KSIRC/1.3.12"]
14:24 -!- emiranda [n=chatzill@SCZ-200-73-96-00241.wimaxtigo.bo] has joined
#go-nuts
14:24 < Innominate> it's like copying gcc into /usr/bin without having any
include files
14:25 < sysRPL> really, what the point of go?  no objects, no events, ...
it just another function programming language
14:25 < scriptdevil> sysRPL: Depends on what you call objects.  From what I
can see, because of splitting messages and values, it is like an object
14:25 < temoto> What is size of Go light thread?
14:25 < psankar> Innominate, ahah..  Okay.  so what are the other files that
must be packaged ?
14:25 -!- maragato [n=robteix@nat/intel/x-qhjhdahoozboiuzn] has quit [Remote
closed the connection]
14:25 < psankar> Innominate, in addition to the binaries....
14:25 < Innominate> psankar: Shrug, just package the whole GOROOT tree
14:25 < scriptdevil> sysRPL: Events can be emulated by channels and select.
14:26 -!- rexes13 [n=p_tourna@85.73.41.224] has joined #go-nuts
14:26 < rexes13> hey
14:26 < scriptdevil> psankar: Check my PKGBUILD if you want.  [manveru
deserves a lot of credit for it too]
http://aur.archlinux.org/packages.php?ID=31913
14:26 < scriptdevil> rexes13: hey :)
14:26 < sysRPL> no properties, no virtual methods, no inheritence, no
delegates, no indexers
14:27 < psankar> Innominate, hmm.  that doesnt sound correct.  for instance,
i cannot comiple gcc sources and gcc binary when i want to give gcc.  (or may be i
am confusing)
14:27 < rexes13> where the heck is $GOROOT?
14:27 < scriptdevil> sysRPL: The point is DO YOU NEED ALL THAT?
14:27 < rexes13> cant install go
14:27 < psankar> scriptdevil, ah tahnks.  /me looks
14:27 < temoto> sysRPL: a language not similar to C# is worthless in your
eyes, huh?
14:27 -!- t0d0r [n=t0d0r@ip-75-188.interbild.net] has joined #go-nuts
14:27 < sysRPL> i acuatlly don't use c#
14:27 < rexes13> can someone help me install it?
14:27 < sysRPL> i use fpc
14:27 < uriel> sysRPL: not having those things is a huge feature
14:27 < Innominate> rexes: It's wherever you set it to be
14:27 < telemachus> rexes13: $GOROOT is where you set it
14:27 < scriptdevil> sysRPL: It is like saying.  Hey.  I hate *nix because
it has no Internet Explorer.  It has no Visual Studio.  It has no kernel.dll
14:27 < rexes13> didnt set it
14:27 < telemachus> I believe the default is $HOME/go
14:28 < temoto> rexes13: set it :)
14:28 -!- dougie [n=doug@h85.14.89.75.dynamic.ip.windstream.net] has joined
#go-nuts
14:28 < telemachus> rexes13: you need to set it
14:28 -!- dougie [n=doug@h85.14.89.75.dynamic.ip.windstream.net] has quit [Client
Quit]
14:28 < rexes13> temoto: how?
14:28 < telemachus> see here: http://golang.org/doc/install.html
14:28 < nc> hello
14:28 -!- iant [n=iant@adsl-71-133-8-30.dsl.pltn13.pacbell.net] has quit
["Leaving."]
14:28 < rexes13> telemachus: where are u from?
14:28 -!- Jurily [n=jurily@catv-89-135-6-27.catv.broadband.hu] has joined #go-nuts
14:28 < sysRPL> scriptdevil: actualyl it's like saying, why can't i create
an object heirarchy
14:28 < rexes13> telemachus: didnt help at all
14:28 < Innominate> psankar: I'm new to this too, so i have no idea which
files you need and which you don't, just that the $GOROOT is where go keeps its
standard libaries and such
14:28 < telemachus> rexes13: it doesn't matter where I'm from
14:28 < temoto> rexes13: i.e.  echo 'export GOROOT=$HOME/go' >>
~/.bashrc
14:28 < telemachus> $GOROOT and company are environment variables
14:28 < scriptdevil> sysRPL: Because it does not work that way
14:28 < rexes13> maybe we are from the same country
14:29 < psankar> Innominate, ohokay tahnsk for the help
14:29 < sysRPL> scriptdevil: functgional programming is good, but it's not
what we need in a "new" language
14:29 < telemachus> you set them in your shell's start-up files
14:29 < telemachus> say .bashrc
14:29 < temoto> rexes13: or open your favourite editor and add that line
manually.
14:29 < scriptdevil> sysRPL: It is not about that alone.  Please read the
docs and listen to the video
14:29 < Innominate> go isn't really a functional language
14:29 < rexes13> i dont get ya
14:29 < telemachus> rexes13: ok, that's fine, but you will need to learn a
bit then
14:29 < rexes13> the install html didnt help me
14:30 < telemachus> what shell are you using
14:30 < rexes13> i have an hg directory in my pfloder
14:30 < sysRPL> sure that all it is, is a functional language with support
for concurrency
14:30 < scriptdevil> sysRPL: Channels are totally cool.  They might be from
CPL or whatever.  goroutines steal the show too
14:30 < rexes13> bash shell
14:30 -!- clearscreen [n=clearscr@e248070.upc-e.chello.nl] has joined #go-nuts
14:30 < Jurily> goroutines have a weird name
14:30 < engla> did anyone compile gccgo yet?  How long approx is the
compile, and any tips how to speed it up?  (for example, do I need to enable c++
for go?)
14:30 < scriptdevil> Jurily: wordplay on coroutines :P
14:30 < telemachus> ok, you will need to edit a file in your home directory
(it probably already exists) called .bashrc (or perhaps .bash_profile)
14:30 -!- RazvanM [n=RazvanM@pool-173-75-187-87.bltmmd.east.verizon.net] has quit
[Read error: 113 (No route to host)]
14:30 < delfick1> sysRPL: have you read even atleast the tutorial ?
14:31 < Jurily> but I guess it's better than 'threads'
14:31 < scriptdevil> sysRPL: Well.  I would hate a language that does it
all.  If you did, go lisp ;)
14:31 < scriptdevil> sysRPL: Before you are flamed for trolling.  Please
watch the video.
14:31 < telemachus> rexes13: add lines like this: GOROOT='$HOME/go'
14:31 < sysRPL> i've seen them
14:31 < rexes13> telemachus: where?
14:31 < Jurily> did anyone write a GNU-style command line parser yet?
14:31 < sysRPL> go is a concurrent functioanl laguage ...  woop dee doo
14:32 < telemachus> rexes13: I just said in your .bashrc or .bash_profile
folder
14:32 < Element14> it's a functional language?
14:32 < scriptdevil> Element14: He is trolling.
14:32 -!- Solver [n=robert@capella.opentrend.net] has joined #go-nuts
14:32 < delfick1> sysRPL: with garbage collection, hides a lot of complexity
of concurrent programming, almost like a dynamic language, etc with mighty fast
compiling time and close to C speed
14:32 < telemachus> Jurily: there is a built-in flags parser, but not quite
as elaborate as Getopt
14:32 < temoto> Oh noes, it's a functional language because someone said
it!!  :)
14:32 < telemachus> well, not built in, but an available library
14:33 < nc> hello
14:33 < nc> has anyone come across this error: ?
14:33 < nc> make: make: don't know how to make dofmt.o.  Stop in
/home/nik/go/src/lib9.
14:33 < sysRPL> the world does not need another strictly functional
programming language
14:33 < temoto> sysRPL: please stop trolling.
14:33 < rexes13> telemachus: where is this damn file??
14:34 < Element14> sysRPL: the world does not need another strictly
functional programming language troll
14:34 < scriptdevil> Element14: Good one!
14:34 -!- emiranda [n=chatzill@SCZ-200-73-96-00241.wimaxtigo.bo] has left #go-nuts
[]
14:34 < mmu_man> ar: haiku.o: No such file or directory
14:34 -!- aht [n=chickama@123.16.89.1] has joined #go-nuts
14:34 < mmu_man> hmm I suppose this I must write :)
14:34 < nc> i guess not..
14:34 < telemachus> rexes13: what os are you in?
14:34 < sysRPL> hey, i am trying to save you all from the effort ...  go
back to C (which is fine btw)
14:34 < rexes13> linux
14:34 < telemachus> rexes13: open a terminal and enter ls -lA
14:35 -!- brianmacdonald [n=brianmac@c-98-208-175-116.hsd1.fl.comcast.net] has
joined #go-nuts
14:35 * delfick1 laughs at sysRPL
14:35 < kfx> thanks for your efforts sysRPL nobody cares
14:35 -!- Raziel2p [n=Raziel2p@88.89.66.63] has joined #go-nuts
14:35 < scriptdevil> sysRPL: I will save your time.  Get out :P
14:35 < telemachus> do you see any items named .bash<something>?
14:35 < rexes13> done
14:35 < scriptdevil> sysRPL: We actually don't care about your comments :P
14:35 -!- cbeok [n=user@lnk2-themill-gw.binary.net] has quit [Remote closed the
connection]
14:35 < rexes13> yeap
14:35 < Jurily> if you want to save effort, why C?
14:35 < telemachus> rexes13: help a brother out - list them
14:36 < scriptdevil> sysRPL: How many other languages had 300+ people in its
channel this soon?
14:36 < JBeshir> Eurgh, Go is horribly painful to experiment with.  For
every test line of debug output I add, I have to go add a module, add a variable
in place of a _, and to undo it, I have to reverse those; to repeat elsewhere, I
need to do that again, because I can't leave unused dependencies in temporarily.
14:36 < rexes13> telemachus: ?
14:36 -!- Athas [n=athas@0x50a157d6.alb2nxx15.dynamic.dsl.tele.dk] has joined
#go-nuts
14:36 < sysRPL> scriptdevil: if you didn't care then you would not have
replied
14:36 < mmu_man> at east I won't have any "return -EFOO;" to fix, good
14:36 -!- lotrpy [n=lotrpy@202.38.97.230] has quit []
14:36 < telemachus> rexes13: tell me what files you found with the word bash
in them
14:36 * telemachus sighs
14:36 < mmu_man> (people doing this should be slapped on public place"
14:36 < sysRPL> scriptdevil: no one is going to use "Go"
14:36 < rexes13> i opened the .bashrc file
14:36 -!- jbrockmeier [n=jbrockme@opensuse/member/jbrockmeier] has joined #go-nuts
14:37 < rexes13> it has a line like it GOROOT=$HOME/go
14:37 < JBeshir> Go needs a socket I/O tutorial sometime
14:37 < telemachus> oh for crying out loud
14:37 < telemachus> did it get there by itself rexes13?
14:37 -!- ninja123 [n=ninja123@122.164.189.205] has joined #go-nuts
14:37 < rexes13> idk
14:37 < telemachus> rexes13: gotcha
14:38 < nc> try turning $HOME into ${HOME}
14:39 -!- hamaxx [n=hamax@89-212-75-219.static.t-2.net] has quit [Read error: 104
(Connection reset by peer)]
14:39 < temoto> rexes13: prepend GOROOT with word export.
14:39 -!- mow [i=curmudge@mom.nu] has joined #go-nuts
14:39 < delfick1> is it (or will it be) possible to call go from python?
(i.e.  like go version of a c module in python)
14:39 < temoto> rexes13: it must look exactly like this line:
14:39 < sysRPL> and who the hell needs pointer * in a new language anyhow
...  i use a native code langaueg without a vm and i don't need * or &
reference/dereferencers
14:39 < temoto> export GOROOT=$HOME/go
14:40 < jkp> sysRPL: agreed about pointers
14:40 < jkp> it seems a bit odd
14:40 -!- crez [n=crez@122.199.76-86.rev.gaoland.net] has quit [Read error: 60
(Operation timed out)]
14:40 < kfx> sysRPL: hey do you have any good programs in system RPL
14:40 < kfx> I have an hp50g and there's really a dearth of useful tools
14:40 < jkp> im guessing thats the old C hackers coming out in Thompson et
al
14:40 < sysRPL> kfx: yes about 20 years ago
14:40 < scriptdevil> rexes13: http://pastebin.com/m28b1dfd8
14:40 < sysRPL> for the 48gx
14:40 -!- R3ND3R [n=ReNDeR@i209-195-120-51.cia.com] has joined #go-nuts
14:41 < scriptdevil> jkp: Well.  By eliminating pointer arithmetic, it is
fixed
14:41 -!- tuples_ [i=55006258@gateway/web/freenode/x-jznxvgefezfwnriy] has joined
#go-nuts
14:41 < kfx> the equation library is okay but it really lacks the breadth of
software the 48 series had
14:41 -!- mennis [n=mennis@adsl-068-016-104-079.sip.asm.bellsouth.net] has joined
#go-nuts
14:41 < nc> gah
14:41 < nc> this is aggravating me
14:41 < tuples_> Reading from files gives me back "[]uint8".  How do I make
a string out of it?  For example to use it in strconv.Atoi
14:42 < nc> i can't see anything in the makefile that would lead to this
error
14:42 < scriptdevil> nc: Well.  make clean.  hg revert and try
14:42 < nc> scriptdevil: i did
14:42 -!- aht [n=chickama@123.16.89.1] has quit ["Leaving"]
14:42 < tuples_> What is the difference between "[]uint8" and "string"
anyway?
14:42 < JBeshir> tuples_: Call string(thing read)
14:42 < scriptdevil> nc: Which OS. I am sorry if I am making you repeat
14:42 < R3ND3R> i was wondering if GO would be well suited to creating
interpreters that act as environments
14:42 < nc> scriptdevil: openbsd
14:42 < JBeshir> One is a series of bytes, the other is a string, including
unicode support.
14:42 -!- skerner [n=skerner@nat/google/x-cqoqvvannzxukwoy] has joined #go-nuts
14:42 < nc> scriptdevil: the most probable reason is simply a syntax error
in the makefile
14:42 < nc> i'm researching that now
14:43 < tuples_> JBeshir: Where can that be found in the docs?
14:43 < scriptdevil> nc: Oh. :) Yeah.  OpenBSD is always correct :P
14:43 < R3ND3R> or rather environments that handle interpretation requests
in realtime
14:43 < nc> hehe
14:43 < JBeshir> tuples_: Hell if I know, I asked here.  :P
14:43 < R3ND3R> rather than requiring binaries
14:43 < tuples_> JBeshir: hehehehehehe
14:43 < Innominate> nc: Can you make it use gmake?
14:43 -!- kobkrit [n=kobkrit@ppp-124-122-233-91.revip2.asianet.co.th] has joined
#go-nuts
14:43 < JBeshir> Well, not about the difference, I assumed that, based on
the whole "unicode support" thing.
14:44 < JBeshir> And what I know about bytes (in short, they aren't
characters)
14:44 -!- skerner [n=skerner@nat/google/x-cqoqvvannzxukwoy] has quit ["Leaving"]
14:44 -!- Eiler [i=none@c213-100-25-200.swipnet.se] has left #go-nuts []
14:44 -!- cmarcelo [n=cmarcelo@enlightenment/developer/cmarcelo] has joined
#go-nuts
14:44 < tuples_> JBeshir: "string(buf read)" ...?  buf is a []uint8
14:45 -!- skerner_ [n=skerner@nat/google/x-upnldgouoojxteyv] has joined #go-nuts
14:45 < watermind> hmmm so in go how much is 8+3 * 2 ?
14:45 -!- mdevan [n=mdevan@59.92.188.174] has joined #go-nuts
14:45 < JBeshir> tuples_: What's with the " read" part?
14:45 -!- skerner_ [n=skerner@nat/google/x-upnldgouoojxteyv] has quit [Client
Quit]
14:45 -!- skerner [n=skerner@nat/google/x-fvfxsukpkxbfmvtt] has joined #go-nuts
14:45 < tuples_> JBeshir: You told me so :)
14:45 < tuples_> Alright, works, thank you so much!
14:45 < JBeshir> "thing read"
14:45 < tuples_> understood!
14:45 -!- aatifh [n=atif@117.195.101.49] has quit [Read error: 104 (Connection
reset by peer)]
14:45 < Jurily> watermind: run it through gofmt first :)
14:45 -!- plainhao [n=plainhao@mail.xbiotica.com] has joined #go-nuts
14:45 -!- iant [n=iant@67.218.110.243] has joined #go-nuts
14:46 -!- mode/#go-nuts [+v iant] by ChanServ
14:46 -!- savij [n=xl091@88-107-0-98.dynamic.dsl.as9105.com] has quit ["tired of
trolls and google fanboys"]
14:46 < watermind> Jurily: ah I see...  so gofmt would turn it into 8 + 3*2
14:46 < vomjom> watermind, apparently the answer is 14
14:46 -!- t0d0r [n=t0d0r@ip-75-188.interbild.net] has quit [Connection reset by
peer]
14:46 < vomjom> (before gofmt)
14:47 -!- delfick1 [n=iambob@203-59-186-84.dyn.iinet.net.au] has left #go-nuts []
14:47 < _dr> the faq states gc is used yacc/bison to generate a parser?
what about the lexer?  does gc already use the native stuff in pkg/go?
14:47 -!- aaront [n=aaront@unaffiliated/aaront] has quit ["And that's all he
wrote..."]
14:47 < watermind> vomjom: right thanks, for a moment reading the docs I
thought spaces could be used to set precedences
14:47 < vomjom> watermind, that's what i believed too after reading
effective go :P
14:47 -!- t0d0r [n=t0d0r@ip-75-188.interbild.net] has joined #go-nuts
14:48 -!- telemachus [n=telemach@216.223.212.2] has quit ["Leaving..."]
14:48 -!- WentNuts [n=wentnuts@adsl-69-151-8-119.dsl.stlsmo.swbell.net] has joined
#go-nuts
14:48 < R3ND3R> sad at the lack of active interpreter hybrid environments
14:48 -!- R3ND3R [n=ReNDeR@i209-195-120-51.cia.com] has left #go-nuts []
14:48 -!- Rob_Russell [n=chatzill@206-248-157-156.dsl.teksavvy.com] has joined
#go-nuts
14:48 -!- chickamade [n=chickama@123.16.71.175] has quit [Read error: 110
(Connection timed out)]
14:48 -!- chachan [n=chachan@200.62.25.156] has joined #go-nuts
14:49 -!- drusepth [n=drusepth@209.106.203.252] has joined #go-nuts
14:49 < mmu_man> hmm what are the needed funcs to be implemented by
<os>.c anyway ?
14:49 -!- three-f-jeff [n=phaedrus@76.102.139.171] has joined #go-nuts
14:49 -!- boondox [n=boondox@ninthfloor.org] has joined #go-nuts
14:49 < WentNuts> Good morning.  Has anyone made vim or emacs syntax support
for go?
14:49 < vomjom> vim already exists
14:49 < three-f-jeff> I'm going to second WentNuts on that.
14:50 < nc> :o
14:50 < Innominate> it's included in the distribution wentnuts
14:50 < nc> url to the vim syntax file ? :)
14:50 < wcn> WentNuts: they are in the misc directories.
14:50 < npe> anybody using go in xcode?
14:50 < Innominate> xcode is too
14:50 < nc> oh cool
14:50 < WentNuts> Very cool, thanks Innominate
14:50 < mmu_man> someone will need to write one for Pe
14:50 < vomjom> download the repository and go to misc/vim/go.vim
14:50 < Innominate> under misc
14:50 < three-f-jeff> It's there.  Thanks guys.
14:50 < temoto> Great, thanks.  I was looking for syntax support too.
14:50 < mmu_man> ed: command not found
14:50 < Innominate> it made me very happy finding those
14:50 < scriptdevil> Emacs-mode needs a small patch.  It is on the mailing
lists
14:50 < mmu_man> oh dear, do we *really* need this antiquity ?
14:50 < scriptdevil> mmu_man: Install ed
14:51 < scriptdevil> mmu_man: It is a build dependency
14:51 < Innominate> A unix system without ed might as well not even have ls
installed.
14:51 < scriptdevil> Innominate: Nope.  I dont think ed is in coreutils
14:51 < mmu_man> scriptdevil "install" means porting sometimes
14:51 < scriptdevil> Innominate: Archlinux did not have it.  And to think, I
dont even use it
14:51 < nc> gah
14:51 < mmu_man> vi should be able to do this, why need ed
14:51 < mmu_man> or just use sed
14:51 < three-f-jeff> ed is the standard.
14:51 -!- schrdoingers_CT [n=IV@198.190.212.45] has quit []
14:51 < scriptdevil> mmu_man: Some testcases.  I dont know
14:52 < nc> is go meant to be built with gmake, and not make?
14:52 < nc> (to whoever suggested i try gmake)
14:52 < three-f-jeff> There are things you can script in ed that you cannot
easily do in sed.
14:52 < mmu_man> nc BSD ?
14:52 < scriptdevil> nc: Yeah.  It is a linux build by default.
14:52 -!- anom1 [n=anom1@cm64.delta149.maxonline.com.sg] has joined #go-nuts
14:52 < mmu_man> or sunos maybe ?
14:52 < Innominate> nc: I believe it is
14:52 < nc> yeah, i'm running openbsd
14:52 < nc> ah ok
14:52 < mmu_man> in most OSes make = gmake
14:52 < nc> that's probably why it's unable to know how to make dofmt.o :)
14:52 -!- whooosh [n=whooosh@c-76-106-34-132.hsd1.md.comcast.net] has quit [Client
Quit]
14:52 < nc> ah sweet
14:52 -!- anom1 [n=anom1@cm64.delta149.maxonline.com.sg] has left #go-nuts []
14:52 -!- JoLeClodo [n=JoLeClod@wallinfire.net] has joined #go-nuts
14:52 < scriptdevil> nc: I thought of suggesting that.  But yeah...
14:53 < JoLeClodo> hello
14:53 < mmu_man> on BSD I'll likely have to change all calls to make into
$(MAKE) and call export MAKE=gmake ./all.bash
14:53 < rexes13> ok guys added the lines u suggested
14:53 < JoLeClodo> it's possible to embedded go in c program ?
14:53 < Innominate> not currently
14:53 < temoto> rexes13: echo $GOROOT
14:54 < three-f-jeff> JoLeClodo: you probably want to mess with gccgo as it
matures.  That should be able to at least link against C code.
14:54 < mennis> Is there a difference between limbo's iota and go's iota?
14:54 < three-f-jeff> (I haven't tried that yet, though)
14:54 -!- RazvanM [n=RazvanM@dazzler.isi.jhu.edu] has joined #go-nuts
14:54 < watermind> a := [4]int{1, 2, 3, 4}; s := a[1:3]; // howcome s has
length 2...
14:54 < JoLeClodo> three-f-jeff: ok thx !
14:55 -!- absk [n=chatzill@122.163.181.41] has joined #go-nuts
14:55 < nc> yea!
14:55 < nc> sweet
14:55 < rexes13> temoto: i ran it
14:55 < rexes13> now?
14:55 < engla> watermind: it's the interval [1, 3)
14:56 < _dr> nc: worked?  i was planning on trying on openbsd, too...
14:56 < temoto> watermind: i didn't study it, but it seems that slicing has
python semantics.  I.e.  that is from 1 including 1, to 3 excluding 3.
14:56 -!- Cool_Fire [i=5c464752@gateway/web/freenode/x-owbcbjflbomdkyju] has
joined #go-nuts
14:56 -!- hendry [n=hendry@webvm.net] has joined #go-nuts
14:56 < Cool_Fire> heh, busy here
14:56 < temoto> rexes13: what did it output?
14:56 < scriptdevil> mennis: Given that limbo is one of Go's inspirations.
And that I havent hear of itoa elsewhere, maybe.  Read the language reference
14:56 < nc> _dr: yep, it fixed the problem i was having
14:56 < watermind> engla, temoto: ok got it...  yuck :S
14:56 < Cool_Fire> I've got 2 questions, if anyone knows:
14:56 < rexes13> "/home/myuser/go-h
14:56 -!- Esmil [n=esmil@4704ds1-gjp.0.fullrate.dk] has joined #go-nuts
14:56 < rexes13> hg*
14:56 < ment> range is keyword?  can i write my own "range"?
14:56 < watermind> engla, temoto: is there any obvious reason why it's
inclusive on left and exclusive on right??
14:56 < Cool_Fire> 1.  Is there (any plans) for a IDE for go?
14:56 < nc> _dr: i came across a new error though, much further down the
line of execution...  so if you're gonna build on OpenBSD or a system that doesn't
use gmake by default, just make sure you change 'make' to 'gmake' in *make*.bash
14:57 < temoto> watermind: i actually find it useful in some cases.  I need
to provide good example, but i don't have one in mind right now.
14:57 < Cool_Fire> 2.  What about GUIs?
14:57 < engla> watermind: there are two good reasons.  3-1 = 2, so we should
make the interval halfopen.  and -1:2 to include 0,1,2 would suck so 0:3 for 0,1,2
is better
14:57 < scriptdevil> Cool_Fire: It has good support for vi, emacs, xcode
14:57 < Cool_Fire> ok
14:57 < _dr> ok thanks nc, alias make=gmake should do
14:57 < engla> watermind: you should ask dijkstra about this
14:57 < Cool_Fire> but that's just syntax highlighthing I take it?
14:57 < ment> Cool_Fire: team of programmers from microsoft are working
right now to integrate go into visual studio as Go#
14:57 < nc> _dr: yeah that works too
14:57 < scriptdevil> Cool_Fire: At the moment, yes.  On Emacs, indentations
too
14:57 -!- brrant [n=John@65-102-225-252.hlrn.qwest.net] has joined #go-nuts
14:57 < Cool_Fire> ok, thanks
14:57 < temoto> ment: that's a joke, right?
14:58 < kfx> GUIs?
14:58 < _dr> although having a portable build system right out of the
repository would be nice, too
14:58 < scriptdevil> ment: Really?
14:58 -!- sysRPL [n=sysrpl@uslec-66-255-47-18.cust.uslec.net] has quit []
14:58 < rexes13> temoto: now?
14:58 < kfx> do most 'systems languages' have native GUI support?
14:58 < temoto> rexes13: yeah, great.  Now go on with installation manual.
Y'know, hg clone and all that.
14:58 < Cool_Fire> Does it matter?  I'm just asking if Go does.  It does a
lot of things others don't from what I've seen
14:59 -!- bbeck [n=bbeck@dxr-fw.dxr.siu.edu] has joined #go-nuts
14:59 < scriptdevil> kfx: You could have an add-on
14:59 < rexes13> i did hg clone before
14:59 < ment> temoto: yes.  they are considering the name "Start#" instead
(for copyright reasons).
14:59 < scriptdevil> Cool_Fire: Maybe.  Keep wathching the mailing list.  It
is likely to be Wx. Guido liked it :P
14:59 < temoto> rexes13: oh great, i believe, next step is cd $GOROOT/src ;
./all.bash
14:59 -!- decriptor [n=decripto@137.65.132.18] has joined #go-nuts
14:59 -!- boondox [n=boondox@ninthfloor.org] has quit ["Lost terminal"]
14:59 -!- d_rwin [n=mael@121.245.96.19] has joined #go-nuts
14:59 -!- kaib [n=kaib@216.239.45.130] has joined #go-nuts
14:59 * scriptdevil stabs himself for spreading rumors
14:59 -!- LordMetroid [n=lordmetr@90.224.93.243] has joined #go-nuts
14:59 * madmoose wants Pointy#
14:59 < LordMetroid> ...
14:59 < Cool_Fire> scriptdevil: alright, thanks.  Wx is pretty sweet tbh.
14:59 < engla> watermind:
http://www.cs.utexas.edu/users/EWD/transcriptions/EWD08xx/EWD831.html
14:59 -!- chris2 [n=chris@nash.fs.lmu.de] has quit [Remote closed the connection]
15:00 -!- kaib [n=kaib@216.239.45.130] has left #go-nuts []
15:00 < scriptdevil> Cool_Fire: Well.  That is what I expect/hope it is.  NO
NEWS OFFICIALLY
15:00 < Cool_Fire> have a nice day everyone, I'm off again as I'm supposed
to be working.
15:00 < rexes13> yeah but this command gets me an error
15:00 -!- absentia [n=scott@ns6.lobodirect.com] has joined #go-nuts
15:00 -!- AirBreather [n=joe@amentajo-6.user.msu.edu] has joined #go-nuts
15:00 -!- scriptdevil [n=scriptde@122.174.82.129] has quit ["leaving"]
15:00 < absentia> /join #gonads ...  et
15:00 < absentia> er
15:00 < absentia> hi!
15:00 < temoto> rexes13: what error?
15:00 -!- kaib [n=kaib@216.239.45.130] has joined #go-nuts
15:00 -!- mode/#go-nuts [+v kaib] by ChanServ
15:00 -!- Cool_Fire [i=5c464752@gateway/web/freenode/x-owbcbjflbomdkyju] has quit
[Client Quit]
15:00 <+kaib> morning everyone
15:00 < rexes13> says there is no such file or directory
15:01 < temoto> rexes13: you know "gives error" is as useless as not saying
anything.
15:01 -!- jandem [n=jandem@unaffiliated/jandem] has quit ["Leaving"]
15:01 < rexes13> i told u the error
15:01 < temoto> rexes13: yeah, thanks.  It's just..  for future.
15:01 < watermind> engla: thanks reading...  I can understand the argument
for starting at 0 and specifying it's dimension, just struggling to see how it
generalizes to this case...  will read and think :)
15:02 < watermind> * its
15:02 < temoto> rexes13: so is alone cd $GOROOT/src successfull?
15:02 < rexes13> nope
15:02 -!- malditogeek [n=malditog@213.229.183.34] has quit [Read error: 113 (No
route to host)]
15:02 -!- rob| [n=rob@95-90-45-206-dynip.superkabel.de] has joined #go-nuts
15:02 < brianmacdonald> what's the difference between .g and .go extensions?
15:02 < temoto> rexes13: ah!  Of course.  That's because you done hg clone
earlier and it did clone in other directory.
15:03 < rexes13> damn
15:03 < rexes13> how do i reverse it now?
15:03 -!- aatifh [n=atif@117.195.97.235] has joined #go-nuts
15:03 <+kaib> brianmacdonald: go is the canonical extension for go source
files.  where are you seeing a g?
15:03 < temoto> rexes13: ls -l hg, put that into paste
15:03 -!- xMDKx [n=mdkcore@nat/mandriva/x-zwmcirlfymkrhhaj] has quit []
15:03 -!- malditogeek [n=malditog@213.229.183.34] has joined #go-nuts
15:04 < absk> is Go supported only on UNIX systems for now?
15:04 < temoto> kaib: do you know what is the size of Go light thread?
15:04 <+iant> absk: yes
15:04 < brianmacdonald> kaib: you're right.  nevermind
15:04 <+kaib> temoto: goroutine.  roughly a 4kb stack and some accounting
information.
15:04 < temoto> absk: but windows has UNIX subsystem starting from 2003
server, i believe.  This may not guarantee compilation, though.
15:04 -!- mbishop [n=mbishop@geeks.im] has joined #go-nuts
15:04 -!- WentNuts [n=wentnuts@adsl-69-151-8-119.dsl.stlsmo.swbell.net] has left
#go-nuts []
15:04 -!- GeDaMo [n=gedamo@212.225.108.57] has joined #go-nuts
15:05 < andguent> temoto: just shut up when you have no idea, will you?
15:05 < absk> ok, then I'll wait for Go# for VS
15:05 <+kaib> temoto: i've been pondering to make that a flag for 5g/5l
15:05 -!- frozenmouse [i=722ccaf8@gateway/web/freenode/x-jewmjgnidebwyiju] has
joined #go-nuts
15:05 < rexes13> temoto: now?
15:06 <+kaib> temoto: to make it possible to run more goroutines on targets
with small memories (like 64kb on some arm7 devices)
15:06 < watermind> engla: I honestly don't see how that argument relates to
the definition of slices
15:06 -!- ginkgo [n=ginkgo@chello084113198244.17.14.vie.surfer.at] has quit
[Remote closed the connection]
15:06 < temoto> andguent: yeah everyone have bad days.  Don't keep it
inside.
15:07 < temoto> rexes13: well let me see the output of ls -l.  But not in
channel.
15:07 < zLuke_> cool stuff - will be great when there is some IDE support!
15:07 -!- nddrylliog [n=nddrylli@tsf-wpa-2-5004.epfl.ch] has joined #go-nuts
15:07 < watermind> engla: seemed to my like both a[left_inclusive,
right_inclusive] or a[left_inclusive, dimension_slice] would be more intuitive
15:07 < temoto> rexes13: put that on codepad.org or some other paste
service.
15:07 -!- absk [n=chatzill@122.163.181.41] has quit ["ChatZilla 0.9.85 [Firefox
3.5.5/20091102152451]"]
15:07 -!- nddrylliog [n=nddrylli@tsf-wpa-2-5004.epfl.ch] has left #go-nuts
["*flash*"]
15:07 < temoto> kaib: what flag?  If that's possible to make goroutine
smaller, why not just make it small by default?  :)
15:07 < wcn> kaib: how far back on the ARM platform does the support go?  I
have some ARM920's (ARM5) that I'd love to do Go tinkering with.
15:07 < mbishop> God, why couldn't they have used := for ALL assignment?
15:08 -!- reality|poolboy [n=aol@pool-98-116-11-175.nycmny.fios.verizon.net] has
joined #go-nuts
15:08 < andguent> temoto: the point is: you are telling people who want
help, crap.
15:08 <+iant> mbishop: it helps to have the compiler let you know if you
accidentally used a new name
15:09 < rexes13> temoto: i deleted the folder
15:09 <+kaib> temoto: it's a performance tradeoff.  if you make the
individual segments of the stack smaller you will end up with more
morestack/lessstack calls.
15:09 < _dr> does the gc suite already use the native lexer from pkg/go?
15:09 -!- sobersabre [n=bilbo@85.64.34.22.dynamic.barak-online.net] has quit [Read
error: 60 (Operation timed out)]
15:09 < temoto> rexes13: ouch, you could rename it.
15:09 < rexes13> temoto: running the hg clone command again
15:09 <+iant> _dr: no, the gc suite is written in C
15:09 <+iant> _dr: for bootstrapping reasons
15:09 < rexes13> temoto: really?
15:09 < temoto> rexes13: but no problem, just repeat hg clone now.
15:09 < rexes13> temoto: damn me
15:09 -!- piotr [n=piotr@chello084010208203.chello.pl] has joined #go-nuts
15:09 <+kaib> temoto: which cost a bit.  so on machines with plenty of
memory you want most goroutines newer to extend their stack.
15:10 -!- hooopy [i=hoopy@173-30-98-140.client.mchsi.com] has joined #go-nuts
15:10 -!- sobersabre [n=bilbo@85.64.34.22.dynamic.barak-online.net] has joined
#go-nuts
15:10 < temoto> kaib: i wonder how Erlang manages to have its process to be
320 bytes.
15:10 < engla> watermind: the example there is for intervals, a slice is an
interval of indices.  ewd suggests that experiment shows that other conventions
than [,) are confusing.  I think that [a,b) with len = b -a is very logical.
inclusive on both sides would not make it so
15:10 -!- shambler [n=sil@213.184.241.199] has joined #go-nuts
15:10 -!- nanoo [n=nanoo@byw186.internetdsl.tpnet.pl] has joined #go-nuts
15:10 < zLuke_> any google protocol buffer routines yet?
15:11 < mbishop> I do like how Go got the types correct though.  Size should
be included in type names
15:11 <+iant> zLuke_: they exist but the updated protocol compiler has not
yet been released
15:11 -!- jbrockmeier [n=jbrockme@opensuse/member/jbrockmeier] has left #go-nuts
[]
15:11 <+kaib> wcn: hard to say really.  there is currently only one thing
that precludes using arm5 (use of STREX/LDREX in cas) but that's on my list to
fix.
15:11 < Jurily> Is there any way to get the command line without the flags
package?
15:11 < zLuke_> iant: Thanks - will be looking for it
15:11 <+kaib> wcn: the original plan9 compiles are quite old and generate
pretty straightforward code.
15:11 <+iant> Jurily: see the os package, os.Args
15:11 <+kaib> wcn: test it and let me know what breaks ..  :-)
15:11 -!- bizarrefish [n=bizarref@139.133.7.37] has joined #go-nuts
15:11 < Jurily> thanks
15:12 <+kaib> temoto: remember that those 320 bytes probably don't count
stack storage needed by the process after start.
15:12 < watermind> engla: not really that's not what he suggests at all
15:12 -!- aladds [n=aladds@93-97-51-208.zone5.bethere.co.uk] has joined #go-nuts
15:12 -!- f0r1z_ [n=f0r1z@87.117.3.97] has joined #go-nuts
15:12 <+kaib> temoto: a goroutine isn't "using" 4kb when it's started, it
just needs to reserve that much memory.
15:12 < zLuke_> How big is this effort at Google anyway?  team of 5, team of
20?
15:13 -!- Terminus- [i=foobar@112.202.139.254] has joined #go-nuts
15:13 <+iant> zLuke_: I think we're up to about 7 or 8 people
15:13 < wcn> zLuke_: the blog post lists the team, and the CONTRIBUTORS file
lists other Googlers who have helped.
15:13 <+iant> some of them are just pitching in for now
15:13 < watermind> engla: in fact a lot (most really) of what's there has to
do with starting at 0
15:13 -!- dustycarver_ [n=dustycar@c-68-53-57-241.hsd1.tn.comcast.net] has joined
#go-nuts
15:13 < temoto> kaib: AHA not using.
15:13 < zLuke_> okay - wasn't sure how exhaustive that list was
15:13 < temoto> kaib: how much does it use?
15:14 <+iant> the list is exhaustive, but some of the people just wrote a
few functions here and there
15:14 < watermind> engla: you can have [a,b) regardless of wheather you
start at 0 or anything else
15:14 -!- rexes13 [n=p_tourna@85.73.41.224] has quit [Read error: 131 (Connection
reset by peer)]
15:14 < watermind> engla: so that's really not what his argument is about
15:14 -!- Metaphorically [n=chatzill@206-248-157-156.dsl.teksavvy.com] has joined
#go-nuts
15:14 < zLuke_> Any thoughts for GPU routines (ala OpenCL) stuff?
15:14 -!- fhein [n=freundh@c-bee5e155.258-1-64736c11.cust.bredbandsbolaget.se] has
joined #go-nuts
15:14 <+kaib> temoto: that i don't know.  but keep in mind that the memory
is still lost to the system, which is why it might make sense to make it smaller.
15:15 < nc> getting this to build has turned into an all-day project
15:15 < nc> :/
15:15 <+iant> zLuke_: no real thoughts, I'm sure they would be useful
15:15 < temoto> kaib: i see, thanks for exhaustive answer.
15:15 -!- bizarrefish [n=bizarref@139.133.7.37] has quit [Remote closed the
connection]
15:15 -!- Freeaqingme [n=Freeaqin@80.100.176.49] has joined #go-nuts
15:15 -!- smcquay [n=smcquay@204.15.87.226] has joined #go-nuts
15:15 < engla> watermind: ok, sure.  the arguments I took from that article
are still the two I told first and nothing more though
15:15 -!- rexes13 [n=p_tourna@athedsl-259411.home.otenet.gr] has joined #go-nuts
15:15 -!- thebwt [n=thebwt@70.114.216.229] has joined #go-nuts
15:15 -!- bizarrefish [n=bizarref@abdn003.abdn.ac.uk] has joined #go-nuts
15:16 < rexes13> temoto: finished it
15:16 -!- mbishop [n=mbishop@geeks.im] has left #go-nuts []
15:16 < rexes13> it does sth like compiling
15:16 < rexes13> atm
15:16 < rexes13> then i need to know how to write a programm
15:16 -!- pavlakis [n=pavlakis@wlan-146-227-104-150.dmu.ac.uk] has joined #go-nuts
15:16 < zLuke_> I am curious on the interplay that would need to be done to
match the go concurrency stuff with something like openCL or CUDA - will be very
interesting
15:16 < temoto> rexes13: i'd visit http://golang.org/doc/go_lang_faq.html
15:16 < rexes13> pavlakis: are u greek?
15:16 < pavlakis> rexes13, indeed :)
15:17 -!- atzz [n=alnt@122.161.144.150] has joined #go-nuts
15:17 < rexes13> pavlakis: alh8eia?
15:17 < temoto> rexes13: and this http://golang.org/doc/go_tutorial.html
15:17 <+kaib> wcn: so what is the exact hardware you are trying to target?
15:18 -!- Irssi: #go-nuts: Total of 364 nicks [0 ops, 0 halfops, 3 voices, 361
normal]
15:18 < pavlakis> rexes13, nai.  so difficult to believe?
15:18 < rexes13> lol
15:18 < watermind> engla: ok, agreed...  but is argument for that has 2
parts, 1st the one you said, the rest is related with starting with 0, so ...
15:18 < ment> zLuke_: goodluckwiththat
15:19 < rexes13> pavlakis: den synantw kai pollous ellhnes me tetoia
endiaferonta syxna gi ayto aporhsa
15:19 < wcn> kaib: These are older Freescale i.MX1 boards I have lying
around.  I was more curious if it was possible.
15:19 < tuples_> http://pastebin.com/m7658fb7 - What's wrong here?
15:19 < watermind> engla: this seems to satisfy it and be more intuitive,
a[left_inclusive, dimension_slice]
15:19 < pavlakis> rexes13, oute ki egw.  sta perissotera kanalia nomizoun
oti einai nickname :)
15:19 <+kaib> wcn: if it isn't i really want to know about it and fix it.
there is a ton of useful older arm hardware out there which i'd love for us to
support.
15:19 -!- ruda [n=ruda@200.176.5.2] has quit [Read error: 131 (Connection reset by
peer)]
15:20 -!- malditogeek [n=malditog@213.229.183.34] has left #go-nuts []
15:20 < watermind> engla: if all you want is to easily get the dimension
just use it as the 2nd parameter then...
15:20 < temoto> I didn't get it from FAQ.  Are two goroutines scale to CPU
cores when they don't do any IO?
15:20 -!- syd [n=sydcogs@118.127.19.220] has joined #go-nuts
15:20 <+kaib> wcn: i'm trying to get some arm7 hardware up and running.  the
step from arm7->arm5 is probably doable as well.
15:21 <+kaib> wcn: but like i said earlier, ldrex/strex needs to be fixed in
cas.
15:21 < tuples_> ah never mind.
15:21 < ajhager> "There is a “foreign function interface” to allow safe
calling of C-written libraries from Go code." is in the FAQ, but I am having a
hard time finding any other information about it.
15:21 < ajhager> Am I missing something?
15:21 < mmu_man> how about C++ ?
15:21 -!- irotas_ [i=461902a4@gateway/web/freenode/x-xvdjkxvyojzskyap] has joined
#go-nuts
15:21 < engla> watermind: sure but would you not have an even bigger problem
if the two number's roles would be that much different.  a[x, y] x: index,
y:length
15:21 * mmu_man pets native Haiku GUI bindings
15:21 <+iant> ajhager: it's not well documented but see misc/cgo
15:21 < bizarrefish> hmm
15:21 -!- Athas [n=athas@0x50a157d6.alb2nxx15.dynamic.dsl.tele.dk] has quit
[Remote closed the connection]
15:22 < ajhager> iant: Oh ok.  Thank you.
15:22 -!- _dr [i=dr@sugar.openlsd.org] has quit ["update"]
15:22 < bizarrefish> is there a way of getting 6c/6l to not strip all the
symbols?
15:22 < engla> watermind: however often it breaks down to using a[x,
(end-x)]..  and if you do that too often in real code, then a[x:end+1] is much
more practical
15:23 < watermind> engla: or using a[x,end]...
15:23 < engla> watermind: sure, allowing negative lengths to mean -x = end
-x
15:23 < temoto> mmu_man: do you really use Haiku?
15:23 -!- nomulous [n=nomulous@74.198.12.14] has joined #go-nuts
15:23 < watermind> engla: I honestly don't see why the semantics of both
arguments being different would be a problem
15:23 <+iant> bizarrefish: the tools don't generate ELF, you can see the
symbols with 6nm
15:23 < bizarrefish> iant, i was talking about the executable
15:23 < watermind> engla: not more complicated then having to memorize that
the first is inclusive and snd is not
15:23 < bizarrefish> but 6nm you say...hmm
15:23 < Diablo-D3> my god
15:24 -!- pydroid [n=kenny@cm12.sigma118.maxonline.com.sg] has joined #go-nuts
15:24 < Diablo-D3> the channel is even bigger!
15:24 -!- djm [n=djm@paludis/slacker/djm] has joined #go-nuts
15:24 < Diablo-D3> why!
15:24 -!- mennis [n=mennis@adsl-068-016-104-079.sip.asm.bellsouth.net] has quit
[Read error: 104 (Connection reset by peer)]
15:24 < bizarrefish> Diablo-D3, yes, my son?
15:24 < Diablo-D3> why is it it bigger!
15:24 < zLuke_> Is there any milestones list for language release versions?
What are the big threads being worked?
15:24 -!- peritus- [n=peritus-@wll192-246.wlan.hu-berlin.de] has joined #go-nuts
15:24 < nomulous> Hey, so what are you all going to do about the name issue?
I really like the name "G"...
15:24 -!- mennis [n=mennis@adsl-068-016-104-079.sip.asm.bellsouth.net] has joined
#go-nuts
15:24 < bizarrefish> the thing that bothers me is that a GO
15:24 < engla> watermind: it is not hard to get used to.  are you used to
both inclusive from somewhere else?
15:24 < bizarrefish> program is about 130K just to say hello world
15:25 -!- nacerix [n=nacer@195.24.196.113] has quit ["Lost terminal"]
15:25 -!- bizarrefish [n=bizarref@abdn003.abdn.ac.uk] has quit [Remote closed the
connection]
15:25 < Diablo-D3> someone is going to have to write a library for go called
ogle
15:25 < zLuke_> bizarrefish: my 6.out "Hello World" example was 620k
15:26 < watermind> engla: well pascal for instance
15:26 < Diablo-D3> just so the internet can implode at how stupid that is
15:26 < watermind> engla: when defining arrays
15:26 -!- crankyadmin [n=crankyad@user-5af2599d.tcl121.dsl.pol.co.uk] has joined
#go-nuts
15:26 <+aclements> Diablo-D3: ogle is the name of the (currently incomplete)
Go debugger.  I think it's a rather apt name for a debugger.
15:26 -!- lb [n=lb@pd95b8344.dip0.t-ipconnect.de] has quit []
15:26 < Diablo-D3> aclements: oh crap
15:27 < Diablo-D3> its already started!
15:27 < Diablo-D3> the internet is imploding!
15:27 < watermind> engla: and Haskell too
15:27 -!- Will|work [n=wrboyce@sarge.na.nu] has joined #go-nuts
15:27 -!- under_ [n=elPlusa@host27-206-dynamic.19-79-r.retail.telecomitalia.it]
has quit [Read error: 104 (Connection reset by peer)]
15:27 < Esmil> Is the mercury repo down for all or just me?
15:27 -!- NaN [n=josh@unaffiliated/nan] has joined #go-nuts
15:28 < NaN> I wow, busy channel
15:28 < NaN> Go made slashdot today :)
15:28 < Diablo-D3> nan: yes, and I've been bitching about it all day
15:28 < NaN> Yeah?
15:28 -!- hashbang [n=hashbang@cse-ajb.cse.bris.ac.uk] has quit [Client Quit]
15:28 -!- interskh [n=interskh@c-67-163-156-103.hsd1.pa.comcast.net] has quit
[Read error: 60 (Operation timed out)]
15:28 < Diablo-D3> go makes it to slashdot, but important java news doesnt
15:28 < NaN> What's happening in java?
15:28 < watermind> engla: so which languages do you know that define
exclusive?
15:28 < Diablo-D3> clearly go is an inferior language, but the only reason
slashdot talks about it is because its google's
15:28 < Innominate> important java news is an oxymoron
15:28 -!- maragato [n=robteix@nat/intel/x-xvdcxwaklzripjnq] has joined #go-nuts
15:28 -!- rexes13 [n=p_tourna@athedsl-259411.home.otenet.gr] has quit [Read error:
104 (Connection reset by peer)]
15:29 < engla> watermind: so x: 1..10 makes an array from 1 to 10 inclusive
in pascal?
15:29 < watermind> engla: I heard python, but nver used
15:29 < engla> watermind: python
15:29 < NaN> Well, I think a new language is more interesting than anything
I've heard lately about Java
15:29 -!- f0r1z [n=f0r1z@87.117.3.97] has quit [Read error: 110 (Connection timed
out)]
15:29 -!- Rob_Russell [n=chatzill@206-248-157-156.dsl.teksavvy.com] has quit [No
route to host]
15:29 -!- Metaphorically [n=chatzill@206-248-157-156.dsl.teksavvy.com] has quit
["ChatZilla 0.9.85 [Firefox 3.5.5/20091102152451]"]
15:29 < NaN> Especially if go does what it claims about concurrency
15:29 < ment> i think a new language is more interesting than anything i've
heard about java ever
15:29 -!- robot12_ [n=robot12@inferno.kgts.ru] has joined #go-nuts
15:29 < Diablo-D3> nan: but java can do it as well
15:29 < NaN> :)
15:30 < NaN> Java is slow though
15:30 -!- d_rwin [n=mael@121.245.96.19] has left #go-nuts []
15:30 < engla> watermind: so pascal's syntax 1..10 is to be understood
differently than Python's 1:10 fortunately the syntax is not identical
15:30 < NaN> go claims to be nearly as fast as C
15:30 -!- c_korn [n=korn@Xbff5.x.pppool.de] has joined #go-nuts
15:30 < Diablo-D3> java is almost as fast as
15:30 < Diablo-D3> C
15:30 < kfx> hahahaha
15:30 < Diablo-D3> the only way for go to beat java is for go to be faster
than C
15:30 < Zaba> Diablo-D3, until you start using objects
15:30 < NaN> Not in my experince...
15:30 < watermind> engla: TYPE vector = array[2..10] of integer defines an
array with indexes in [2..10]
15:30 -!- volker48 [n=marcus@c-69-253-247-188.hsd1.pa.comcast.net] has quit []
15:30 -!- jebblue [n=jebblue@cpe-66-68-154-241.austin.res.rr.com] has joined
#go-nuts
15:30 < Diablo-D3> nan: then, please, learn how to not suck with java
15:30 < kfx> Diablo-D3: that's hilarious you're hilarious
15:30 < ment> NaN: i've read in Senior Executive Daily that java is as fast
as C
15:30 < NaN> Hehe
15:30 < LordMetroid> No, really Java has seen a lot of improvements and it
is almost as fast as C
15:30 < watermind> engla: and you can also define...  TYPE bounds = 2..10
15:30 < engla> watermind: since it's a slice it is not hard to imagine 1:10
slicing making [1..9]..  it's a "slice" and the knife (:) is before the number 10
15:31 < watermind> engla: TYPE vector = array[bounds] of integer
15:31 < Associat0r> I have written numerical F# code that was as fast as C
15:31 < mpl> ment: if senior executives said it, it must be true.
15:31 <+aclements> NaN: goroutines were designed to be much lighter-weight
than Java threads, which opens up some interesting possibilities like using them
for generator-style functions.
15:31 < Diablo-D3> Associat0r: bwahahaha, no you havent
15:31 < Associat0r> yes I had
15:31 < Diablo-D3> neither .net nor mono can execute .net bytecode that fast
15:31 < Associat0r> Diablo-D3 the only limit is lack of SSE
15:32 < Diablo-D3> it takes about 2 and a half times more than C does for
any given task
15:32 -!- nomulous [n=nomulous@74.198.12.14] has left #go-nuts []
15:32 < Diablo-D3> in any language
15:32 < jb55> is there anyway to make a slice of initialized channels?
make([]chan bool, 10) builds a slice of nil channels.  Is there a quick way or do
I have to use a for loop calling make on each element?
15:32 < NaN> aclements: I'm looking forward to learning about all of that.
15:32 < watermind> engla: there's a difference between a trick for
memorizing something and an intuitive explanation for a choice, I really believe
the first :P
15:32 < Associat0r> Diablo-D3 so structs that are like more than 2 floats
wide will suffer
15:32 < watermind> *the first is easy
15:32 < NaN> Does anyone know if go is planning to work on a distributed
platform?
15:32 < Associat0r> Diablo-D3 but numerically it's as fast and in some cases
faster
15:32 -!- Silverwolf [n=silverwo@dial208-250.dialup.nus.edu.sg] has joined
#go-nuts
15:32 -!- philcrissman [n=philcris@c-75-72-98-108.hsd1.mn.comcast.net] has quit
[Read error: 104 (Connection reset by peer)]
15:32 < Diablo-D3> Associat0r: structs, generally, will suffer under .net
15:32 -!- irotas_ [i=461902a4@gateway/web/freenode/x-xvdjkxvyojzskyap] has quit
["Page closed"]
15:32 < Associat0r> Diablo-D3 .NET I am talking about not Mono
15:32 < Diablo-D3> .net is slower than mono
15:32 < engla> watermind: ok.
15:32 -!- MyCatVerbs [n=mycatver@lurkingfox.co.uk] has joined #go-nuts
15:33 < Diablo-D3> so please, stop being a microsoft/novell shill
15:33 < NaN> Diablo-D3: Did you come here just to flame?
15:33 < reality|poolboy> here it comes...
15:33 < Diablo-D3> nan: I came here to laugh at the slashdot crowd
15:33 < engla> watermind: python has extended slicing that I think go has
not, the third parameter is the step.  a[:] is a copy of whole a, and a[::-1] is a
copy of a reversed
15:33 < NaN> Oh
15:33 < zLuke_> Please keep on go related topics/issues
15:33 < NaN> Yeah, I would prefer to talk about go, not Java
15:33 < NaN> I'm in a go channel
15:33 < Associat0r> Diablo-D3
http://cs.hubfs.net/forums/permalink/6642/10759/ShowThread.aspx#10759
15:33 -!- Selar [n=hussain@wire.dsl.frii.net] has joined #go-nuts
15:33 < NaN> Go whine in the Java channel
15:33 < Associat0r> Diablo-D3 here you go
15:33 -!- Diablo-D3 [n=diablo@64.223.241.169] has left #go-nuts []
15:34 < Associat0r> or here http://www.messwithyourjunk.com/?p=26
15:34 < three-f-jeff> There he went.
15:34 < NaN> :)
15:34 < shambler> awww
15:34 < shambler> he left
15:34 < shambler> http://shootout.alioth.debian.org/
15:34 -!- dny [n=freedan@170-167-19-84.nbiserv.com] has joined #go-nuts
15:34 < NaN> I guess the logic made too much sense.
15:34 <+aclements> jb55: You have to initialize each one.  One of the design
tenants of Go was to make the cost of every operation obvious (in contrast with,
say, C++), so if you're going to initialize a slice of channels, it should be
obvious that the cost is proportional to the length of the slice.
15:35 < jb55> ok that makes sense, thanks
15:35 < Associat0r> yes the shootout tells otherwise but that's Mono
15:35 < temoto> Are two goroutines scale to CPU cores when they don't do any
IO?
15:35 -!- Cy-4- [i=cy-4@1-1-9-15a.hka.j.bostream.se] has joined #go-nuts
15:35 < MyCatVerbs> temoto: Yes, they're multiplexed over OS threads.
15:35 < watermind> engla: right, I've never even used slices before
15:36 -!- hebroon [n=hebroons@p4bcd08.hkidnt01.ap.so-net.ne.jp] has joined
#go-nuts
15:36 < MyCatVerbs> temoto: Unless I've misread the documentation.  ;)
15:36 < zLuke_> Is there a standard form yet to farm goroutines to different
machines?
15:36 < hoffmann> shambler: i started to port the shootout exampls to go
http://github.com/hoffmann/go-shootout, any help is welcome
15:36 <+aclements> temoto: I don't quite remember what the scheduler
currently implements, but if it doesn't currently do that, it is planned.
15:37 -!- aef2 [n=aef@gate.kliksys.ru] has joined #go-nuts
15:37 < MyCatVerbs> temoto: http://golang.org/doc/effective_go.html#parallel
<- yes.  ♥
15:37 < Selar> can I build go on windows?
15:37 -!- nekschot [i=nekschot@82.171.143.27] has joined #go-nuts
15:37 < temoto> MyCatVerbs: thanks for link.
15:38 < clearscreen> Selar: nah
15:38 -!- jashmenn [n=latte@adsl-99-30-185-161.dsl.sfldmi.sbcglobal.net] has
joined #go-nuts
15:38 -!- jebblue [n=jebblue@cpe-66-68-154-241.austin.res.rr.com] has left
#go-nuts []
15:38 < Selar> clearscreen: just loonicies for now?
15:38 < clearscreen> Selar: and mac
15:38 < clearscreen> and you can build apps for linux/mac/arm
15:39 < Selar> i don't have a vm for that, though ;)
15:39 < Selar> ok, cool
15:39 -!- saml [n=sam@h-68-167-23-150.nycmny83.static.covad.net] has joined
#go-nuts
15:39 < bbeck> Is there a vim syntax highlighting plugin for go?
15:39 < saml> no windows binary?
15:39 -!- ag90 [n=ag90@nat/ibm/x-ypecaxijaeflslzk] has joined #go-nuts
15:39 < ment> bbeck: in misc/
15:39 < clearscreen> saml: nope
15:39 <+aclements> zLuke_: No; however, there is an RPC library, so you can
easily build a traditional RPC client/server system.
15:39 < bbeck> ment: thanks
15:39 < saml> success!
15:39 -!- xylifyx [n=xylifyx@62.242.33.132] has quit [Remote closed the
connection]
15:39 < jb55> hoffman: aren't most of them implemented under src/bench ?
15:39 < shambler> hoffmann, hehe, thanks for the info, may be I'll
participate
15:40 -!- xylifyx [n=xylifyx@62.242.33.132] has joined #go-nuts
15:40 < jb55> err
15:40 < jb55> test/bench
15:40 < jb55> rather
15:40 -!- devewm [n=eric@96.36.85.2] has quit []
15:40 -!- jashmenn [n=latte@adsl-99-30-185-161.dsl.sfldmi.sbcglobal.net] has quit
[Read error: 54 (Connection reset by peer)]
15:40 -!- skh [n=skh@pdpc/supporter/base/skh] has joined #go-nuts
15:40 < aef2> hi all.  I try to build Go on FreeBSD, and see very strange
bug of 8c - http://pastebin.com/d61e4d776
15:40 -!- visionjinx [n=visionji@114.49.220-216.q9.net] has quit ["Leaving."]
15:40 < hoffmann> ahh havn't seen test/bench yet, thanks
15:41 -!- Element14 [n=sydneyfo@pcd303171.netvigator.com] has quit ["Leaving"]
15:41 < NaN> So what does go do to allow processes to communicate across
machines?
15:41 < NaN> i.e.  over infiniband or ethernet?
15:41 -!- Venom_X [n=pjacobs@66.54.185.131] has joined #go-nuts
15:41 -!- niterain [n=niterain@c-76-108-29-82.hsd1.fl.comcast.net] has quit [Read
error: 110 (Connection timed out)]
15:41 <+iant> NaN: just sockets, in the net package
15:42 -!- VladDrac [n=l@m3r.nl] has left #go-nuts []
15:42 < NaN> So there's no memory sharing mechanism...
15:42 <+iant> NaN: not across machines, no
15:42 < tuples_> What exactly is a string?  Is it a slice of a byte array?
If I have a := "hello"; and b := a[1:3]; does it duplicate that part?
15:42 < NaN> I think go needs MPI or something similar...
15:42 < NaN> coarrays maybe...  :)
15:42 < muzgo> NaN: haha, you must be kidding
15:42 -!- volker48 [n=marcus@c-69-253-247-188.hsd1.pa.comcast.net] has joined
#go-nuts
15:42 < NaN> Not at all :)
15:43 < Selar> sweet, i have a f11 x64 vm.  that should do.
15:43 -!- GGLucas [n=GGLucas@5357F9E6.cable.casema.nl] has joined #go-nuts
15:43 < jb55> Man I'm not getting any work done today, Go is too much fun
15:43 < muzgo> aef2: 8c is a c compiler, not c++
15:43 <+aclements> tuples_: It's implemented underneath as a byte array and
does share memory between string slices.  It is not actually a Go array or slice,
though, since those are mutable and strings are not.
15:44 < muzgo> aef2: no throw there
15:44 < drusepth> jb55: That's the spirit
15:44 -!- Zaba_ [n=zaba@about/goats/billygoat/zaba] has joined #go-nuts
15:44 -!- volker48 [n=marcus@c-69-253-247-188.hsd1.pa.comcast.net] has quit
[Client Quit]
15:44 -!- Zaba [n=zaba@about/goats/billygoat/zaba] has quit [Read error: 60
(Operation timed out)]
15:44 < drusepth> Get your boss coding Go also and you'll be home free
15:44 < tuples_> aclements: thanks!!  that's great.
15:44 < ment> jb55: what are you working on?
15:44 -!- huf [n=huf@mu.parawag.net] has joined #go-nuts
15:44 < NaN> I don't know, I'd love it if there are a global address space
15:45 -!- saati [n=bjb@marvin.harmless.hu] has joined #go-nuts
15:45 < aef2> muzgo: this is correct C code.  All ok with gcc.  throw - is a
function of go runtime
15:45 < jb55> ment: just learning the language really, playing with
goroutines and seeing if I can get a site running using the template engine
15:45 < tuples_> aclements: so that means that splitting a string will
actually create an "array of slices"?
15:45 < tuples_> eh, that's awesome.
15:46 < ment> btw - channels are used instead of iterators?
15:46 < muzgo> aef2: how would the C compiler (kencc) know where to find
throw?
15:46 -!- MarceloAndrade [n=marceloa@186.66.120.5] has joined #go-nuts
15:46 -!- robot12 [n=robot12@inferno.kgts.ru] has quit [Read error: 110
(Connection timed out)]
15:46 -!- melba [n=blee@unaffiliated/lazz0] has joined #go-nuts
15:47 < aef2> muzgo: Compiler don't know.  this is a linker problem.  But
this is a preprocessor bug
15:47 -!- gzt [n=gzt@24-151-178-146.dhcp.kgpt.tn.charter.com] has joined #go-nuts
15:47 < muzgo> aef2: ok then, if you think so
15:47 <+aclements> tuples_: Well, "slice" has a specific meaning in Go :) It
will return an array of strings, where those strings are all backed by the memory
from the original string.
15:48 < gzt> so I just ported doom to go
15:48 < tuples_> great great great!
15:48 -!- Fred__ [i=1804ecbb@gateway/web/freenode/x-nzzjkvngonfurmrg] has joined
#go-nuts
15:48 <+aclements> ment: Yes.  Because goroutines are extremely lightweight,
when used for iterators they effectively devolve into coroutines, just like how,
say, Python generators are implemented.
15:49 -!- elmarco [n=elmarco@a83-245-167-151.elisa-laajakaista.fi] has joined
#go-nuts
15:49 -!- Brakkvatn [n=alex@59.87.202.84.customer.cdi.no] has joined #go-nuts
15:49 -!- Jurily [n=jurily@catv-89-135-6-27.catv.broadband.hu] has quit
["Leaving."]
15:49 < ag90> Question.  Was the net test bug fixed?
15:49 -!- peritus- [n=peritus-@wll192-246.wlan.hu-berlin.de] has quit ["This
computer has gone to sleep"]
15:49 -!- skh [n=skh@pdpc/supporter/base/skh] has left #go-nuts []
15:50 < vomjom> is there a way to convert a struct straight to a []byte and
vice versa?
15:50 < ment> aclements: where do gorutines come in?  i thought that channel
is just mutexed buffer and without any new threads involved
15:50 <+iant> vomjom: no
15:50 < vomjom> so if i wanted to do straight binary serialization, what are
my options?
15:50 <+iant> vomjom: take a look at pkg/gob
15:51 -!- t5vaha01_ [i=t5vaha01@rhea.oamk.fi] has joined #go-nuts
15:51 -!- dajero [n=dajero@cp834233-a.gelen1.lb.home.nl] has joined #go-nuts
15:51 -!- Fred__ [i=1804ecbb@gateway/web/freenode/x-nzzjkvngonfurmrg] has quit
[Client Quit]
15:51 < vomjom> iant, ah, thanks
15:51 <+iant> ment: a buffered channel could be used in a single goroutine
if you wanted; a synchronous/unbuffered channel can only be used between
goroutines
15:51 -!- luiz [n=luiz_cap@201.22.48.94.dynamic.adsl.gvt.net.br] has joined
#go-nuts
15:51 <+aclements> ment: I might have misunderstood your question.  You can
iterate using the for range construct over arrays, slices, maps, and channels.
Iterators/generators are typically implemented with a channel being iterated over
in one goroutine and being fed by another.
15:51 -!- sgtarr [n=sgt@rasterburn.org] has joined #go-nuts
15:52 < sgtarr> Go.
15:52 < zLuke_> I love the 100000 goroutine example from the video -
awesome!
15:52 < sgtarr> Any thoughts on Go for embedded use?
15:52 < ment> aclements: oh, i missed 'go' keyword in container/list.Iter().
15:53 < ment> aclements: now it makes much more sense
15:53 -!- pois0n [n=pois0n@190.22.105.87] has joined #go-nuts
15:53 < aef2> Somebody can compile it on Linux box with 8c compiler?
http://pastebin.com/d2927776d
15:53 -!- rdezavalia [n=rdezaval@fireuol.sinectis.com.ar] has joined #go-nuts
15:53 -!- rdezavalia is now known as rd1
15:53 -!- rd1 is now known as rdz1
15:53 -!- iant [n=iant@67.218.110.243] has quit ["Leaving."]
15:53 -!- oorza [n=oorza@unaffiliated/oorza] has joined #go-nuts
15:54 -!- oorza [n=oorza@unaffiliated/oorza] has left #go-nuts ["Leaving"]
15:54 -!- pbunbun [n=bunbun@minerva.redbrick.dcu.ie] has joined #go-nuts
15:54 <+kaib> sgtarr: on arm it should be possible
15:54 -!- dual [n=dual@79.160.122.5] has joined #go-nuts
15:55 <+kaib> sgtarr: what type of embedded work did you have in mind?
15:55 < Associat0r> kaib what about kernels and device drivers?
15:55 < sgtarr> kaib: on Arm yes :)
15:55 < sgtarr> kaib: I have a little Telit unit here that runs Linux
15:55 -!- ConSi [i=consi@sh.8px.pl] has joined #go-nuts
15:55 < ConSi> hi
15:55 < ConSi> [;
15:55 -!- Latexxx_ [i=hahnel@mozart.cc.tut.fi] has joined #go-nuts
15:55 -!- psankar [n=evo@opensuse/member/psankar] has quit []
15:56 <+kaib> sgtarr: what arm core does it use?
15:56 < Latexxx_> is there an emacs mode for go?
15:56 < sgtarr> kaib: it uses arm9
15:56 < Latexxx_> or something similar for some other editor
15:56 <+aclements> Latexxx_: Yes.  It's in misc/
15:56 <+kaib> Associat0r: should be doable.  i'm counting on the fact that
it's easy to link in assembly into go programs.  on a barebone system you would
end up doing some of the lowest level in assembly and then linking back up into
go.
15:57 < sgtarr> kaib: 4MB of memory
15:57 -!- thebwt [n=thebwt@70.114.216.229] has left #go-nuts []
15:57 <+kaib> sgtarr: ooh.  i wouldn't call that embedded, that's more like
a real machine ..  :-)
15:57 < sgtarr> kaib: yeah, you are right, it's not like a tiny atmel avr
8-bit :)
15:57 <+kaib> sgtarr: i've been looking at an arm7 with 64kb of ram.  and
there was some talk about supporting arm5..
15:58 -!- dougie [n=doug@h85.14.89.75.dynamic.ip.windstream.net] has joined
#go-nuts
15:58 < sgtarr> kaib: looking at the arm7 with the intent of running some Go
code on it?
15:58 < Freeaqingme> How realistic would it be to see a solution for shared
webhosting that uses Go any time soon?
15:58 <+kaib> sgtarr: so yes, 5g output is currently running on android
hardware which is presumably arm9 (strex/ldrex)
15:58 <+kaib> sgtarr: yep.
15:58 < mmu_man> sed '1a\ char* anames[] = 1a\ { $a\ }; /^
A/!d;s/A\([A-Z0-9]*\),*/"\1",/' 6l/6.out.h
15:58 < mmu_man> that was easy :)
15:58 < pbunbun> Loving that there's a "Go for C++ programmers" page on the
site :P
15:58 < ment> Freeaqingme: any hosting that allows cgi
15:58 < sgtarr> judging from the size of this channel, people seem excited
about Go
15:59 <+kaib> sgtarr: the one main thing missing is soft float support.
most of the failing tests are due to missing float support in the android
reference implementation.
15:59 < shambler> why not, it's new
15:59 < sgtarr> I see
15:59 < Freeaqingme> ment, that easy :X tnx
15:59 -!- miff [n=ww@86.47.255.201] has left #go-nuts []
15:59 -!- albertito [n=nil@unaffiliated/alb] has joined #go-nuts
15:59 <+kaib> sgtarr: try simple hello.go using println("hello") instead of
fmt.Printf and let me know how it works
16:00 -!- paulbaumgart [n=paulbaum@cpe-66-75-245-65.san.res.rr.com] has joined
#go-nuts
16:00 < pbunbun> sgtarr: I've barely looked at it, but similar to C++, with
built in threading (that's what the "go whatever()" does I assume?) and native
compiling seems pretty awesome, if they get a decent amount of libaries and stuff
for it (for graphics etc.) seems great
16:00 <+kaib> sgtarr: it *should* work out of the box.  and as long as you
do ints you should be fine ..  :-)
16:00 -!- MarceloAndrade [n=marceloa@186.66.120.5] has left #go-nuts ["Leaving."]
16:00 < sgtarr> kaib: you mean on the arm9?
16:00 -!- triddell [n=tim@207-191-198-64.cpe.ats.mcleodusa.net] has joined
#go-nuts
16:00 <+kaib> sgtarr: yep.
16:00 < sgtarr> i can try that :)
16:00 -!- devewm [n=eric@erc-avl-ptp62.net.ercbroadband.org] has joined #go-nuts
16:00 -!- robot12__ [n=robot12@inferno.kgts.ru] has joined #go-nuts
16:00 -!- shambler [n=sil@213.184.241.199] has quit ["Super perfundo on the early
eve of your day."]
16:00 <+kaib> sgtarr: that's the main hardware i have at the moment.
16:00 -!- kobkrit [n=kobkrit@ppp-124-122-233-91.revip2.asianet.co.th] has quit
["Leaving"]
16:00 < aef2> Somebody can compile it on Linux box with 8c compiler?
http://pastebin.com/d2927776d
16:01 < sgtarr> pbunbun: yea, it may be very interesting, I am doing an
application for an arm9 soon and I might go for Go instead of C if it makes sense
16:01 -!- hat0 [n=hat@cpe-67-9-132-238.austin.res.rr.com] has joined #go-nuts
16:01 < temoto> Is foreach semantics planned?
16:01 <+kaib> sgtarr: actually, if you look at test/run you'll notice that
one can set a launcher fir arm
16:01 < sgtarr> why are the imports in ""'s ?
16:01 < piotr> aef2: test.c:5 function args not checked: throw
16:01 < piotr> test.c:6 function args not checked: throw
16:01 -!- thotypous [n=asdf@archlinux/trusteduser/thotypous] has joined #go-nuts
16:02 -!- vmac [n=vmac@h69-128-47-244.mdsnwi.dedicated.static.tds.net] has joined
#go-nuts
16:02 < sgtarr> kaib: a launcher, so it runs immediately when the device is
switched on, you mean?
16:02 -!- jamesf [n=jfassett@54.Red-88-8-39.dynamicIP.rima-tde.net] has joined
#go-nuts
16:02 <+kaib> sgtarr: set that to upload to your board and see how many
tests in /test you can get to pass.
16:02 < jb55> for those who might not have noticed it: misc/vim/go.vim :)
16:02 < aef2> piotr: thank you
16:02 < sgtarr> kaib: oh i see now
16:02 < uriel> dns is not fully propagated yet, and I need to fix some
things, but somebody asked for irc logs: http://go-lang.cat-v.org/irc-logs/go-nuts
16:02 < raysl> no textmate bundle?
16:02 < sstangl> uriel: nice :)
16:02 < hat0> any documentation on building/packaging external libs?
16:02 <+kaib> sgtarr: it can be anything, on android i use adb to push the
binary and launch.  send me run.out at kaib@golang.org
16:03 < jamesf> anyone get make.bash: line 20 ..  /bin/quietgcc: Permission
denied error on os x?
16:03 -!- erik__ [n=erik@rrcs-71-42-227-214.sw.biz.rr.com] has joined #go-nuts
16:03 -!- dchest [n=dchest@81.5.81.249] has quit []
16:03 <+aclements> temoto: What do you mean by "foreach semantics" that's
different from the "for range" construct?
16:03 -!- iant [n=iant@nat/google/x-xfwgfgrvnokygtbn] has joined #go-nuts
16:03 -!- mode/#go-nuts [+v iant] by ChanServ
16:03 < sstangl> hat0: see the "Contribute" page
16:03 < sgtarr> kaib: do you work for google?
16:03 <+kaib> sgtarr: yep
16:03 * sgtarr was wondering if ken thompson and rob pike are in here
16:04 -!- volker48 [n=marcus@c-69-253-247-188.hsd1.pa.comcast.net] has joined
#go-nuts
16:04 -!- aladds [n=aladds@93-97-51-208.zone5.bethere.co.uk] has quit [Read error:
104 (Connection reset by peer)]
16:04 < sstangl> sgtarr: robpike was in here earlier.
16:04 <+kaib> sgtarr: ken hasn't been online, rob is probably asleep.  he
was up pretty late.
16:04 * uriel has a hard time imagining ken on irc...
16:04 -!- crez [n=crez@122.199.76-86.rev.gaoland.net] has joined #go-nuts
16:04 -!- lbrandy_ [n=lbrandy_@206.210.81.55] has joined #go-nuts
16:04 < temoto> aclements: i mean s := 0; for x in intarr { s += x } without
messing with array indicies when you don't need em.
16:04 -!- Rift [n=jhamilto@ip67-152-34-30.z34-152-67.customer.algx.net] has joined
#go-nuts
16:04 -!- drusepth [n=drusepth@209.106.203.252] has quit [Read error: 110
(Connection timed out)]
16:04 < uriel> (I certainly wouldn't want to see ken wasting time in irc ;P)
16:05 -!- agl [n=agl@c-98-210-132-46.hsd1.ca.comcast.net] has joined #go-nuts
16:05 -!- mode/#go-nuts [+v agl] by ChanServ
16:05 -!- dougie [n=doug@h85.14.89.75.dynamic.ip.windstream.net] has left #go-nuts
[]
16:05 < MyCatVerbs> sstangl: would I be ostracised for admitting that half
my reason for joining this IRC channel was to yell "Hi Rob, thank you for all that
work you did on Unix."?  ;P
16:05 -!- __20h__ [n=some_one@r-36.net] has joined #go-nuts
16:05 <+aclements> temoto: Does "for _, x := range intarr" do what you're
looking for?
16:05 -!- __20h__ [n=some_one@r-36.net] has left #go-nuts []
16:05 < sgtarr> i always assume the oldschool guys hardly even surf the web.
Perhaps they still write code on paper like Dijkstra did, I wonder.  But in ken
and rob's case I'm sure that's not the case.
16:05 -!- dougie [n=doug@h85.14.89.75.dynamic.ip.windstream.net] has joined
#go-nuts
16:06 < temoto> aclements: yeah, pretty close, thank you!  I didn't know
that.
16:06 -!- dougie [n=doug@h85.14.89.75.dynamic.ip.windstream.net] has quit [Client
Quit]
16:06 < sstangl> MyCatVerbs: no, but possibly yes if you did that on the
mailing list ;)
16:06 <+aclements> temoto: for range iterates over both the key and the
value, so it you only bind one you'll get the key/index, but you can use _ to
throw that away and get only the value.
16:06 -!- me__ [n=venkates@c-68-55-179-48.hsd1.md.comcast.net] has joined #go-nuts
16:06 < me__> whoa, everyone ever is here.
16:06 <+kaib> sgtarr: ok, i'll be off to have some breakfast, i'll be online
later.  i'd be really interested in how much of the tests in /test you can get to
run, keep me posted.
16:06 < temoto> aclements: does Go actually use "_" name for optimizations
or is it really bound to some value?
16:06 < sstangl> me__: it's true!
16:06 < me__> sstangl: sstangl!
16:06 < sstangl> me__: me__!
16:06 -!- kaib [n=kaib@216.239.45.130] has quit []
16:07 < sstangl> me__: I meant to work on the driver yesterday, but was
temporarily distracted by Go.
16:07 < ment> btw - gorutines don't fork any threads until some syscall() is
about to enter, right?
16:07 <+iant> temoto: "_" is not bound to a value
16:07 < mmu_man> hmm missing wait3 & wait4...
16:07 <+aclements> temoto: _ is a black-hole.  I'm not sure how much it gets
optimized, but it never gets bound to anything.
16:07 < vomjom> huh
16:07 -!- licio [n=licio@CAcert/Assurer/licio] has joined #go-nuts
16:07 <+iant> ment: in general, yes, though there is also GOMAXPROCS
16:08 < temoto> iant, aclements thanks.  That's great.  I miss that black
hole in python.
16:08 -!- Arek_ [n=arek@76-10-138-81.dsl.teksavvy.com] has joined #go-nuts
16:08 < vomjom> if i open a file O_RDONLY, is file.WriteString("foo")
supposed to error out?  because it just does nothing right now
16:08 -!- Maddas [n=mz@74.125.121.33] has joined #go-nuts
16:08 <+iant> vomjom: it should return an error, it won't crash the program
16:08 -!- impeachgod [n=Long@195.80.231.69] has quit ["Leaving"]
16:08 < vomjom> oh, didn't see the error argument :P
16:08 < vomjom> return value i mean
16:08 -!- mulander [i=mulander@078088239019.lubin.vectranet.pl] has joined
#go-nuts
16:09 < pbunbun> Is there something like exceptions in go?  Like try { ...
} catch(e Exception) { ...  };
16:09 < vomjom> pbunbun, nope
16:09 <+agl> pbunbun: nope
16:09 < ment> iant: what if the gorutine hooks in endless loop (not calling
any syscalls)?  does go runtime have any kind of watchdog?
16:09 < uriel> btw, created a reddit for go links:
http://www.reddit.com/r/golang post any interesting things you find there ;)
16:09 < sstangl> pbunbun: thankfully, no ;)
16:09 <+iant> ment: no, it will just keep running
16:10 < temoto> pbunbun: FAQ states there are no exceptions and why.
http://golang.org/doc/go_lang_faq.html#exceptions
16:10 < pbunbun> So you use the return value of a function to determine if
it errors (or pass some argument or whatever?)
16:10 < jb55> uriel: nice
16:10 -!- marciogm [n=marciogm@189-041-172-218.xd-dynamic.ctbcnetsuper.com.br] has
joined #go-nuts
16:10 <+iant> pbunbun: yes
16:10 < pbunbun> Yeah Exception kinda annoy me in Java but I can kinda see
why they'd be useful (if it didn't FORCE you to use them)
16:10 < sstangl> pbunbun: most functions have a second return value that
denotes error.
16:10 <+aclements> pbunbun: Yep, but unlike in C, since you can have
multiple return values, you don't have to cram the error information in with the
regular return value.
16:10 < me__> are any people who know the runtime around?
16:10 <+iant> me__: yes
16:10 -!- muzgo [i=c8ff6782@gateway/web/freenode/x-eliffdjgpeohefep] has left
#go-nuts []
16:10 < pbunbun> multiple return value...  Didn't realise, nice
16:11 < sstangl> pbunbun: you can do the same in C by returning a struct,
but this looks prettier.
16:11 < engla> there is even automatic detection if using multiple return
value form or not for some statements
16:11 < Selar> whoa, go'll run on android?
16:11 < temoto> Because of multiple values you can use monad semantics to
handle errors and bypass correct values through pipe of functions.
16:11 -!- kaigan|work
[n=kaigan@c-8290e255.1411-10-64736c14.cust.bredbandsbolaget.se] has quit []
16:12 <+agl> Selar: the ARM port is even more experimental than the rest of
Go, but yes, so some extent.
16:12 < mmu_man> my current diff:
http://revolf.free.fr/beos/patches/golang-haiku-001.diff
16:12 < skerner> temoto: Not sure what 'monad symantics' are.  Can you give
an example?
16:12 < me__> i'm working on a port to dragonfly bsd, i'd like to use
pthreads instead of the lwp_create syscall, in pkg/runtime/<os>/threads.c.
im thinking of bridging between 8c-generated code and the host calling
convention...  is there any reason you folks used clone directly?
16:12 <+aclements> temoto: True, though there's no equivalent of
do-notation, so you have to feed things through yourself.
16:12 < mmu_man> $BASH stuff shouldn't actually be needed, but it wouldn't
hurt really...
16:13 <+agl> me__: well, we don't link again libc so using pthreads wasn't
an option
16:13 <+iant> me__: the 6g/8g library goes down to the system call level, as
you see; clone is the right system call to use on GNU/Linux
16:13 < me__> sure.  i was going to link against libc.
16:13 < me__> *link the runtime against...
16:13 < me__> any reason you folks didn't do that?
16:13 <+iant> that is hard because 6g/8g use a different calling convention
16:13 <+iant> me__: gccgo does link against libc
16:13 <+agl> me__: in which case pthreads should work.  I believe that gccgo
has done that in the past and maybe still does
16:14 <+iant> yes, gccgo links against libc and uses pthreads
16:14 < temoto> skerner: i'll show some pseudocode in a minute
16:14 -!- tuples_ [i=55006258@gateway/web/freenode/x-jznxvgefezfwnriy] has quit
["Page closed"]
16:14 < me__> other than the calling convention, which i was going to
bridge, was there any reason?
16:14 <+agl> me__: you will burn a lot of stack space of course
16:14 < me__> s/going to/considering/g
16:14 <+iant> me__: the runtime is tightly tied to threading, you would have
to make sure that continues to work
16:15 -!- Smergo [n=smergo@mail.hellstrom.st] has joined #go-nuts
16:15 < me__> iant: wait, are you the gold iant?
16:15 -!- dga [n=dga@128.2.212.164] has joined #go-nuts
16:15 <+iant> me__: yes
16:15 -!- devinus [n=devin@65.107.181.222] has joined #go-nuts
16:15 -!- Terminus- [i=foobar@112.202.139.254] has quit ["leaving"]
16:15 < me__> oh, thanks for that work!  and the articles on linkers &
loaders, even more.
16:15 -!- marciogm [n=marciogm@189-041-172-218.xd-dynamic.ctbcnetsuper.com.br] has
quit []
16:16 <+iant> you're welcome
16:16 < engla> is gccgo a bootstrapping thing?  will it become better in the
future or the other way - insignificant?
16:16 < absentia> http://www.spy.org/tmp/go_spong.jpg
16:16 <+iant> engla: gccgo is not a bootstrapping thing, it's a separate
compiler
16:16 <+iant> engla: I expect that gccgo will always stay ahead of 6g/8g in
terms of quality of the generated code
16:17 <+iant> I don't expect gccgo to go away, but we'll see
16:17 -!- lov [i=vol@kokshark.techbandits.com] has joined #go-nuts
16:17 < lov> Hi, I'm having trouble compiling go on ubuntu 9.04
16:17 -!- javarants2 [n=Adium@c-24-6-187-56.hsd1.ca.comcast.net] has quit
["Leaving."]
16:17 < engla> ah ok.  but 6/8 are so much faster it is worth it I take it
16:17 -!- dajero [n=dajero@cp834233-a.gelen1.lb.home.nl] has quit [Read error: 110
(Connection timed out)]
16:17 < lov> make[2]: Leaving directory `/home/avollmer/go/src/pkg/net'
16:17 < lov> --- FAIL: net.TestDialError #2: "dial tcp
no-such-name.google.com.:80: lookup no-such-name.google.com.  on 172.21.63.5:53:
server misbehaving", want match for `dial tcp no-such-name.google.com.:80: lookup
no-such-name.google.com.( on .*)?: no (.*)`
16:17 -!- aef2 [n=aef@gate.kliksys.ru] has quit ["Leaving"]
16:17 <+iant> engla: yes, that's the idea
16:17 < lov> any suggestions?
16:18 <+iant> lov: those tests fail in some DNS scenarios, at that point the
compiler and libraries have been built, so you can ignore the test failure
16:18 < me__> fwiw some things were better done by kencc than gcc.
16:18 <+iant> me__: sure
16:18 < Associat0r> iant how would you write a garbage collector in Go?
16:18 < absentia> can anyone give me the 10 second skinny on why I would
want to ..  or should learn go?
16:18 < sstangl> lov: your $GOBIN should contain the executables you wanted.
16:18 -!- monov [i=5cf7d9a9@gateway/web/freenode/x-csynwzgwcbhmybtc] has joined
#go-nuts
16:18 < monov> Hey..
16:18 <+iant> Associat0r: you would have to use the unsafe package
16:18 < lov> alright, thanks
16:18 -!- EoN [n=EoN@c122-106-148-207.carlnfd1.nsw.optusnet.com.au] has quit [Read
error: 104 (Connection reset by peer)]
16:18 -!- volker48_ [n=marcus@c-69-253-247-188.hsd1.pa.comcast.net] has joined
#go-nuts
16:18 -!- robot12_ [n=robot12@inferno.kgts.ru] has quit [Read error: 110
(Connection timed out)]
16:18 <+iant> absentia: see http://golang.org/
16:18 < Associat0r> iant that allows pointer arithmatic?
16:18 < devinus> are there any plans to make an LLVM backend for Go?
16:19 <+iant> Associat0r: yes, via a conversion to the unsafe.Pointer type
16:19 < sstangl> absentia: there is an hour-long tech talked linked to from
http://golang.org that discusses the reasons.
16:19 <+iant> devinus: not at present but I would like to see one; I hope
that the gccgo frontend will over time become usable by LLVM
16:19 -!- mpowers [n=Marshall@ool-4353cfd6.dyn.optonline.net] has joined #go-nuts
16:19 < monov> so..  what are _you_ guys using Go for?  as a simpler ruby?
faster C#? just some toy?
16:19 -!- hhg [n=hhg@hhg.to] has joined #go-nuts
16:19 <+iant> monov: it's an experiment
16:19 < Associat0r> iant and is there a way to disable the GC in some way?
16:19 -!- volker48_ [n=marcus@c-69-253-247-188.hsd1.pa.comcast.net] has quit
[Remote closed the connection]
16:19 < harryv> monov: a simpler ruby?  wtf.
16:19 <+iant> Associat0r: not at present, but, yes, that would also be
necessary
16:19 -!- RooTer [i=rooter@87-205-66-223.adsl.inetia.pl] has joined #go-nuts
16:20 -!- dj_tjerk [n=pietjebe@94.209.198.98] has joined #go-nuts
16:20 < Associat0r> iant is that planned?
16:20 <+iant> monov: we're using Go for some experimental things but nothing
in production yet
16:20 < me__> other than the hour-tech-talk, is rob pike's newsqueak google
tech talk linked?
16:20 -!- tetha [n=hk@pD9EE506C.dip.t-dialin.net] has joined #go-nuts
16:20 -!- philcrissman [n=philcris@174-20-188-170.mpls.qwest.net] has joined
#go-nuts
16:20 -!- absentia [n=scott@ns6.lobodirect.com] has left #go-nuts []
16:20 <+iant> Associat0r: yes, that will be necessary at some point, I think
16:20 < Associat0r> iant I mean I am interested in how Go can fully replace
C++
16:20 < monov> iant: in your work in google?
16:20 < sstangl> Associat0r: I think many people are interested in fully
replacing C++ ;)
16:20 < ment> Associat0r: it isn't supposed to replace c++
16:20 -!- RayNbow [i=kirika@wlan-145-94-175-240.wlan.tudelft.nl] has quit ["When
science finally locates the center of the universe, some people will be surprised
to learn they're not it"]
16:20 -!- Wezz6400 [n=Wezz6400@145-118-111-123.fttx.bbned.nl] has joined #go-nuts
16:21 <+iant> monov: my work has mostly been implementing Go
16:21 < Associat0r> iant also the lack of operator overloading or at least
defining bothers me
16:21 <+iant> Associat0r: Go isn't going to replace C++ in general, it's
just an alternative
16:21 < me__> hmm, when using limbo, i found i wanted weak refs; have there
been any thoughts towards that?
16:21 < monov> iant: ok
16:21 <+iant> Associat0r: the language is not fixed in stone but I doubt Go
will ever get operator overloading
16:22 <+iant> me__: I have not heard any discussion of weak refs
16:22 < Associat0r> iant the thing is I do a lot of numerical stuff and
having to have method names for math operetors is not so nice
16:22 <+iant> Associat0r: understood; language design is always a tradeoff
16:22 -!- g0wda [n=shashi@59.96.36.7] has left #go-nuts []
16:22 < mpowers> I'm curious about how Go achieves such awesome compile
times relative to C/C++.  Is there a quick answer for this, or a writeup of the
techniques used to improve compile speed?
16:22 < Wezz6400> Being a fan of C++ I don't mind Go being different, C++
already exists so to create something very similar would be pointless imo
16:23 <+iant> mpowers: the main reasons are the simple syntax and the
package system
16:23 < ag90> I'm curious.  Go has some amount of C interoperability.  Am I
right?
16:23 -!- blackmagik [n=blackmag@unaffiliated/blackmagik] has joined #go-nuts
16:23 <+iant> ag90: limited but yes, see misc/cgo for an example; it's not
well documented yet
16:23 < Associat0r> iant that I understand, OCaml also made that tradeoff
16:23 <+aclements> me__: Russ and I did discuss weak refs a while back.  I
believe the conclusions was that Go needs something like weak refs.
16:23 < pbunbun> iant: So you're saying it's the language itself being easy
to compile, not just the compiler being good?
16:23 <+iant> pbunbun: the compiler is good, but, yes, the language is the
key
16:23 < thotypous> does anyone have an example using closures please?
16:24 < Associat0r> Wezz6400 well I don't want Go to be similair to C++, but
at least do what C++ can do
16:24 < mpowers> so there is no preprocess step in Go, i guess?
16:24 <+iant> thotypous: there are some examples in the course slides, I
think on day 2
16:24 < pbunbun> iant: So the gcc-based compiler is (or should/could be) far
faster than compiling regular C/C++?
16:24 < thotypous> iant: thanks
16:24 < albertito> is the implementation of the package system documented
somewhere (besides the code, I mean)?
16:24 <+iant> mpowers: right, no preprocessor
16:24 -!- rdz1 [n=rdezaval@fireuol.sinectis.com.ar] has left #go-nuts []
16:24 <+iant> pbunbun: yes
16:24 -!- faux [n=user@1-1-4-21a.gkp.gbg.bostream.se] has joined #go-nuts
16:24 < hat0> sstangl, thanks - i phrased my question poorly..  any
documentation on calling to and linking to c libs?  (i likes me some go from what
i've seen..want to try my hand at building some go bindings for a little
video-game related project of mine)
16:24 -!- jorendorff [n=jorendor@c-76-22-141-17.hsd1.tn.comcast.net] has joined
#go-nuts
16:24 < Wezz6400> Associat0r why would you want that if that means large
tradeoffs for little functionality
16:24 < Associat0r> iant what about tail call optimization does Go do that?
16:24 <+iant> albertito: I don't think so, it's fairly straightforward
16:24 < pbunbun> Ok cool, (haven't actually downloaded it yet, when I get
time I will)
16:24 < ag90> So does that mean it is possible to bind libraries like GTK to
Go?
16:25 <+iant> hat0: there are some xamples of linking to C libs, no docs yet
I think
16:25 < albertito> iant: thanks!
16:25 <+iant> Associat0r: gccgo does it, I don't know offhand whether 6g/8g
do it
16:25 <+iant> ag90: it is possible but not currently simple
16:25 < Associat0r> Wezz6400 who said it's little functionality?
16:25 < ag90> Ok
16:25 < ag90> Thanks
16:25 <+iant> we know it is a need
16:25 < ment> thotypous: a := int(5); x := func () int { return 4 + a; }; a
= 7; fmt.Printf("%d\n", x());
16:25 <+aclements> Associat0r: 6g/8g can optimize tail calls in very, very
limited circumstances.
16:26 < thotypous> ment: thanks :D
16:26 < me__> aclements: okay, awesome.
16:26 < Associat0r> aclements iant thanks for the answers
16:26 < hat0> iant, thanks.  any tips on where i could find the examples?
16:26 < Wezz6400> Associat0r there are things in C++ which are useful only
in rare cases, which I don't mind go not having, and since you were talking about
'everything' that includes the little stuff
16:26 < albertito> and one more question: in the tech talk a work in
progress GC is mentioned.  Is it ready/available somewhere?  I took a quick peek
at the code but found only mgc0 which seems to be the mark&sweep collector
mentioned in the talk
16:26 <+iant> hat0: misc/cgo
16:26 < hhg> aclements: no plan to have an explicit become() ?
16:26 -!- jamesf [n=jfassett@54.Red-88-8-39.dynamicIP.rima-tde.net] has quit
[Remote closed the connection]
16:26 -!- thiago_ [n=thiago@189.107.166.185] has joined #go-nuts
16:26 < me__> hhg: beat me to it :)
16:26 < hat0> outstanding, thanks!
16:27 <+iant> albertito: no, the GC in progress is at the whiteboard stage,
it's not in the code
16:27 < hhg> me__: :-)
16:27 < albertito> iant: thanks again!
16:27 < me__> hhg: thinking alef?
16:27 -!- dp_ [n=dp@BAJ0325.baj.pppool.de] has joined #go-nuts
16:27 <+aclements> hhg: Not to my knowledge :)
16:27 < mmu_man> hmmm
16:27 < mmu_man> undefined reference to `waidpid'
16:27 -!- erik__ [n=erik@rrcs-71-42-227-214.sw.biz.rr.com] has left #go-nuts
["Leaving"]
16:27 < mpowers> out of curiosity, besides preprocessing, what are the
language features of say, C, which cause the most amount of "work" for the
compiler, and how does Go fix that?  Do these improvements come "free", or is
there a cost paid in complexity/readability of code?
16:27 < Associat0r> Wezz6400 well it's not just C++ that does op overloading
also asking about GC is a valid question since it's a systems language
16:28 < ment> mmu_man: hmm s/waidpid/waitpid/ maybe?
16:28 <+iant> mpowers: preprocessing a key--parsing #include headers is much
slower than reading in compiled package information
16:28 <+iant> mpowers: also Go's syntax is easier and therefore faster to
parse, notably the declaration syntax
16:28 < Wezz6400> well sure, I was just pointing out that wanting everything
C++ has appears pointless to me, not that any random feature C++ has and go
doesn't it shouldn't have
16:28 -!- GarethTheGreat [i=gareth@autopia.garethnelson.com] has joined #go-nuts
16:28 < ment> iant: how to do circular imports?
16:29 < hhg> me__: actually Newsqueak :-)
16:29 < GarethTheGreat> wow
16:29 <+iant> ment: you can't
16:29 < GarethTheGreat> this is one full channel
16:29 < mmu_man> ment ugh shrug
16:29 * mmu_man needs new glasses
16:29 < nc> i am so psyched to try out Go
16:29 < nc> but i can't get it to build for the life of me
16:29 < nc> :/
16:29 -!- dga [n=dga@128.2.212.164] has quit ["leaving"]
16:30 -!- annodomini [n=lambda@wikipedia/lambda] has joined #go-nuts
16:30 -!- alexf [n=alexf@c-71-205-224-173.hsd1.mi.comcast.net] has joined #go-nuts
16:30 <+iant> nc: people here may be able to help
16:30 < RooTer> nc: take ur pills and start again?
16:30 < nc> RooTer: heh
16:30 -!- pydroid [n=kenny@cm12.sigma118.maxonline.com.sg] has left #go-nuts []
16:30 <+iant> most problems are either incorrect environment variable
setting, or failure of net/http tests which can be ignored
16:31 < Associat0r> iant is the unsafe.Pointer type implemented in Go
itself?
16:31 -!- thiago_ is now known as arteofn
16:31 <+iant> Associat0r: yes, the whole unsafe package is implemented
directly by the compiler
16:31 -!- arteofn is now known as artefon
16:32 < nc> im pretty sure the problems i'm having are due to make/gmake
16:32 < nc> all of the problems i've had so far were fixed by um
16:32 < hat0> is this test failure something that can be ignored:
16:32 < hat0> --- FAIL: os_test.TestRemoveAll
16:32 < hat0> RemoveAll "_obj/_TestRemoveAll_" succeeded with chmod 0
subdirectory?(extra *os.PathError=lstat _obj/_TestRemoveAll_: no such file or
directory)
16:32 < nc> removing a conditional in a couple of the .bash files that set
the GOBIN variable, and changing make to gmake in the makefiles
16:32 < Wezz6400> I'm curious how fast go really is, there's loads of
languages out there that claim to be "nearly as fast as C++" but what 'nearly'
really means often differs quite a bit from what you might expect
16:32 <+iant> hat0: don't run the tests as root
16:33 -!- volker48 [n=marcus@c-69-253-247-188.hsd1.pa.comcast.net] has quit
[Success]
16:33 < artefon> iant: i just saw the go video..  it seems to be the
language i've been dreaming ;;)
16:33 < hat0> k
16:33 <+iant> Wezz6400: see test/bench/timing.log for some real timings
16:33 <+iant> Wezz6400: it will continue to improve
16:33 < mmu_man> cannot find -lm
16:33 < mmu_man> *WHO* should I slap for this ???
16:33 < nc> yoself !
16:33 < nc> lol
16:33 -!- Tarun [n=Tarun@122.172.52.117] has joined #GO-NUTS
16:34 < syd> hmm, anyone had this?  http://paste.pocoo.org/show/149997/
16:34 < Wezz6400> hmm I'll look into that
16:34 < mmu_man> though shallst never assume libm !
16:34 -!- robpike [n=r@c-76-21-1-88.hsd1.ca.comcast.net] has joined #go-nuts
16:34 -!- mode/#go-nuts [+v robpike] by ChanServ
16:34 < ikke> if i use for verdade:=0; verdade < 1; { ...  } i get an
error saying that verdade is never used, but if I use var verdade int; for
verdade=0; verdade <1; { ...  } it works fine
16:34 -!- maennj [n=maannj@dyn-209-2-208-43.dyn.columbia.edu] has joined #go-nuts
16:34 -!- p2hicy [i=p2hicy@unaffiliated/p2hicy] has joined #go-nuts
16:34 < vomjom> so Go is using twice as much memory as i expect.  i have a
struct that's 24 bytes and i allocate an array of 40 million of them, but each one
instance seems to take about 47 bytes
16:34 < ikke> sounds weird to me
16:34 < hhg> robpike: any plans to have an explicit Newsqueak-like become()
in Go ?
16:34 < Tarun> When is the windows port expected for go?  (haven't tried
using cygwin yet)
16:34 < ment> ikke: you declared verdade twice
16:34 <+iant> ikke: use _ if you want a variable you aren't going to use
again
16:35 < ment> ikke: first in var ...; then again in loop body
16:35 <+iant> ikke: wait, I see--that may be a bug--can you open an issue?
16:35 < ment> s/body/header
16:35 < vomjom> anyone know where that extra memory is coming from?
16:35 <+robpike> hhg: we've talked about it but no plans.  become wasn't a
function - it's just return
16:35 < ikke> iant sure
16:35 <+iant> vomjom: may be GC overhead, hard to know
16:35 <+iant> ikke: thanks
16:35 < nc> hmm
16:35 -!- xspager [n=dlemos@rjfw01.calandra.com.br] has joined #go-nuts
16:35 < Wezz6400> I like C++ for its power and speed, but easier languages
often allow for a much higher productivity and faster development.  Often C++ is
still used for its speed, in time it will be interesting to see if go will change
that a bit
16:35 < nc> is there a flag you can pass to gmake forcing it to show you the
full path of the Makefile it is reading when it gives you errors?
16:35 < nc> i.e.
16:35 < nc> Makefile:30: *** missing separator (did you mean TAB instead of
8 spaces?).  Stop.
16:36 <+iant> Tarun: I would like to see a Windows port but we're not
working on one
16:36 -!- p2hicy [i=p2hicy@unaffiliated/p2hicy] has left #go-nuts []
16:36 * dj_tjerk slaps Wezz6400
16:36 -!- teedex [n=teedex@204.14.155.161] has joined #go-nuts
16:36 < Wezz6400> lol what?
16:36 < dj_tjerk> hi
16:36 -!- likewhoa [n=likewhoa@ool-45717734.dyn.optonline.net] has joined #go-nuts
16:36 < hhg> robpike: yeah, sorry, "become statement" I meant to say :-)
16:37 -!- mpowers [n=Marshall@ool-4353cfd6.dyn.optonline.net] has left #go-nuts []
16:37 -!- thotypous [n=asdf@archlinux/trusteduser/thotypous] has quit ["leaving"]
16:37 < Wezz6400> ahhh devschuur as well :p
16:37 -!- tzfardea [n=tzfardea@unaffiliated/tzfardea] has joined #go-nuts
16:38 -!- n2linux [n=n2linux@tx-71-2-124-251.dhcp.embarqhsd.net] has joined
#go-nuts
16:38 -!- agl [n=agl@c-98-210-132-46.hsd1.ca.comcast.net] has quit ["Leaving"]
16:39 -!- n2linux [n=n2linux@tx-71-2-124-251.dhcp.embarqhsd.net] has quit [Client
Quit]
16:39 -!- Tarun [n=Tarun@122.172.52.117] has left #GO-NUTS ["Leaving"]
16:39 -!- alt^255 [n=k@85.88.27.205] has quit ["leaving"]
16:40 -!- t0d0r [n=t0d0r@ip-75-188.interbild.net] has quit []
16:40 -!- insaneroot [n=insanero@p57A29039.dip0.t-ipconnect.de] has joined
#go-nuts
16:40 -!- kane77 is now known as cerv
16:40 < vomjom> hmm, nevermind, i figured out what the overhead was :P
16:41 -!- omicron23 [n=quassel@dslb-088-065-169-249.pools.arcor-ip.net] has joined
#go-nuts
16:41 -!- aaront [n=aaront@mc-122-75.IPReg.McMaster.CA] has joined #go-nuts
16:41 < vomjom> apparently encoding each object with gob adds an equivalent
size object to memory
16:41 -!- maruel [n=maruel_2@google1.osuosl.org] has joined #go-nuts
16:42 -!- xspager [n=dlemos@rjfw01.calandra.com.br] has left #go-nuts []
16:42 < ikke> iant nevermind, was my mistake
16:44 -!- monov [i=5cf7d9a9@gateway/web/freenode/x-csynwzgwcbhmybtc] has quit
["Page closed"]
16:45 -!- comatose_kid [n=anonymou@c-24-6-139-254.hsd1.ca.comcast.net] has joined
#go-nuts
16:45 -!- rapidfx [n=host666@vl-cen-ce1.avtlg.ru] has joined #go-nuts
16:45 -!- rog [n=rog@adsl-67-113-22-114.dsl.snfc21.pacbell.net] has joined
#go-nuts
16:45 < Associat0r> iant if the compiler handles the Unsafe package then
wouldn't that mean Go does allow pointer arithmetic?
16:45 -!- olegfink1 [n=olegfink@92-100-131-48.dynamic.avangarddsl.ru] has joined
#go-nuts
16:46 -!- olegfink [n=olegfink@95.55.92.132] has quit [Nick collision from
services.]
16:46 -!- olegfink1 is now known as olegfink
16:46 -!- r00ttap_ [n=wjones@204.108.244.100] has joined #go-nuts
16:46 -!- StylusEater [n=Fraggle@hyatt.legalplans.com] has joined #go-nuts
16:46 <+iant> Associat0r: it's a matter of semantics, I guess; Go does not
allow pointer arithmetic--unless you import "unsafe"
16:46 <+iant> we assume that people who import "unsafe" know what they are
doing
16:47 -!- MixMix [n=mixmix55@86-41-204-13-dynamic.b-ras1.lmk.limerick.eircom.net]
has joined #go-nuts
16:47 < Associat0r> iant it's kinda how F# does it
16:47 <+iant> in environments where safety is paramount, import "unsafe"
could be prohibited
16:47 -!- maennj [n=maannj@dyn-209-2-208-43.dyn.columbia.edu] has quit []
16:47 < StylusEater> +1 for go...thx kevin
16:48 < Associat0r> iant but then F# unsafe package implements it with
inline IL
16:48 < KirkMcDonald> No slice assignment?
16:48 < Associat0r> iant but it's nice to hear Go has it when it's needed
16:48 -!- bj_990 [n=bj@12.200.27.66] has joined #go-nuts
16:48 <+iant> Associat0r: yes, it's sometimes necessary
16:48 -!- camedee [i=40ecf5f3@gateway/web/freenode/x-jmqrnyucmzckzynz] has joined
#go-nuts
16:48 <+iant> KirkMcDonald: correct, no slice assignment
16:48 < bj_990> go looks great..  :)
16:49 < bj_990> so far
16:49 -!- cod [n=cod@KD124214136122.ppp-bb.dion.ne.jp] has joined #go-nuts
16:49 -!- camfex [n=d@89.163.17.22] has joined #go-nuts
16:49 < JBeshir> How do you extend arrays?
16:49 < KirkMcDonald> iant: Is this considered a deficiency?
16:49 -!- _Lucretia_ [n=munkee@pdpc/supporter/active/lucretia] has joined #go-nuts
16:49 < nc> gah i am dumbfounded
16:49 < JBeshir> And how do you compare strings for equality?
16:49 < dj_tjerk> might i ask why it's "func (p *myType) get() int {}" and
"func (p myInteger) get() int {}" , i.e.  why is there no * in the latter
16:49 < JBeshir> I'm trying ==, but it doesn't seem to work.
16:49 -!- DrWhax_ [n=DrWhax@dhcp-077-248-216-065.chello.nl] has joined #go-nuts
16:50 * JBeshir has the string printing out, and is comparing it to a constant
which appears to match the printed version, but it doesn't...  work.
16:50 <+iant> JBeshir: see pkg/container/vector for one approach
16:50 <+iant> KirkMcDonald: the language is not set in stone but we're not
discussing slice assignment at present; it tends to hide a complex operation in a
simple looking statement
16:50 -!- comatose_kid [n=anonymou@c-24-6-139-254.hsd1.ca.comcast.net] has quit []
16:50 < mmu_man> go.y:970.9-973.9: warning: rule useless in parser due to
conflicts: non_expr_type: '(' non_expr_type ')'
16:50 < mmu_man> ./mkbuiltin: line 18: 8g: command not found
16:51 < mmu_man> hmm...
16:51 <+iant> JBeshir: == does work for strings, not sure what is happening
in your case
16:51 < _Lucretia_> or you could stop trying make C safe and use Ada
instead, it already is by design, has concurrency, has realtime, has distributed
capabilities, has OO, is readable, is scalable, keeps you out of the debugger
(most of the time if the app is well designed and not slapped together like most C
code is), etc.  Just a thought, eh Google!?
16:51 <+iant> mmu_man: make sure $GOBIN is on PATH
16:51 <+iant> _Lucretia_: Ada is fine, Go is an alternative
16:51 < _Lucretia_> it's just yet another attempt to make C safe
16:52 < me__> somewhat different synchronization models..
16:52 -!- Wezz6400_ [n=Wezz6400@145-118-111-123.fttx.bbned.nl] has joined #go-nuts
16:52 < _Lucretia_> C syntax isn't the most readable
16:52 <+iant> _Lucretia_: I think it has other interesting features, myself
16:52 < Associat0r> iant it might be handy to mention the unsafe package in
the FAQ, so some C people don't dissmiss it outright for lack of ptr arithmetic
16:52 < nc> ada is very ugly though
16:52 < nc> in my opinion
16:52 < _Lucretia_> nc, wrong
16:52 < ment> _Lucretia_: what's your point?
16:52 < nc> well
16:52 * bj_990 lol at ada
16:52 < nc> its an opinion
16:52 < nc> so its not wrong
16:52 < KirkMcDonald> iant: I assume there is some memcpy-equivalent I'm
supposed to use?
16:52 < mpurcell|bed> _Lucretia_: go awa troll
16:52 < mpurcell|bed> away*
16:52 -!- frodenius [i=frod@unaffiliated/frodenius] has joined #go-nuts
16:53 <+iant> KirkMcDonald: there is a memcpy equivalent, but probably not
for slice assignment; we expect people to write a loop
16:53 -!- mpurcell|bed is now known as mpurcell|afk
16:53 <+iant> note that you can take a slice of a slice
16:53 < _Lucretia_> not troling, just making a point
16:53 <+iant> No language flamewars please
16:53 <+iant> every language has its place, otherwise nobody would use it
16:53 < KirkMcDonald> iant: What I really want to do is concatenate two
slices, receiving a third slice.
16:53 -!- Wezz6400 [n=Wezz6400@145-118-111-123.fttx.bbned.nl] has quit []
16:53 < mpurcell|afk> _Lucretia_: your point is opinion and is not wanted.
please leave, help, or idle.  kthx
16:53 -!- Wezz6400_ is now known as Wezz6400
16:54 < temoto> skerner: hello?
16:54 <+iant> KirkMcDonald: there is no good way to do that other than to
use a loop, sorry
16:54 < KirkMcDonald> iant: Is the idiomatic way to do this to allocate a
new array, loop over both slices, and copy each element into this array?
16:54 < KirkMcDonald> iant: Okay.
16:54 -!- freenose [n=freenose@204.97.199.7] has joined #go-nuts
16:54 < temoto> Hello Kirk.
16:54 < ment> for j := range x.Iter() { ...  } is it possible to specify
type of j in for loop header?  (as x is container with interface {} elements)
16:54 < KirkMcDonald> Hello.
16:55 < zLuke_> Any thoughts on a package that implements something similar
to parallel-python for distributing goroutines?
16:55 < _Lucretia_> balls to this, "j" as a var name, fuck me
16:55 -!- _Lucretia_ [n=munkee@pdpc/supporter/active/lucretia] has left #go-nuts
["Ex-Chat"]
16:55 < mmu_man> iant sure it is
16:55 < JBeshir> Oooh, I have a good question.
16:55 <+iant> ment: you would need to declare j as a var with a type, and
use = instead of :=
16:55 < JBeshir> Is there any plan for implementing something similar to
CPAN, or gems, or the various equivalents in other languages?
16:56 -!- c_korn [n=korn@Xbff5.x.pppool.de] has left #go-nuts ["Software you want.
www.getdeb.net Ubuntu gaming made easy.  www.playdeb.net"]
16:56 < JBeshir> Not essentially the software so much as a central
repository/collection of modules.
16:56 -!- jimmy_ [n=rodrigo@189.59.94.3] has joined #go-nuts
16:56 < temoto> Yeah what about distributing Go packages?
16:56 -!- dp_ [n=dp@BAJ0325.baj.pppool.de] has quit ["Leaving"]
16:56 < zLuke_> JBeshir: I agree -- CPAN did wonders (does) for perl
16:56 <+iant> we haven't gotten as far as thinking about CPAN
16:56 < temoto> Latter Haskell experiance proves that it must be
decentralized.
16:56 < JBeshir> Okay.
16:56 -!- jkimball5 [i=8930d809@gateway/web/freenode/x-fipwdngahyqhpcax] has
joined #go-nuts
16:56 <+iant> I'm off, back in a while
16:56 < skerner> temoto: Hi.
16:57 < JBeshir> Decentralised distribution already exists
16:57 < JBeshir> First, you get a package, then you give it to someone else
16:57 < engla> argh.  gccgo compile ends with ‘-fsplit-stack’ is not
supported by this compiler configuration
16:57 < temoto> That's not organized.
16:57 < kfx> hahaha what about haskell 'proves' anything about software
distribution
16:57 -!- bobappleyard1 [n=bob@cpc4-macc1-0-0-cust170.bagu.cable.ntl.com] has
joined #go-nuts
16:57 < JBeshir> CPAN's neatness is its centralisation to make all that code
available for everyone.
16:57 < mmu_man> ah 8g is here now, odd
16:57 < jorendorff> "A send on a channel happens before the corresponding
receive from that channel completes." In practice, this means (a) the compiler
generally can't move reads/writes across go commands, and (b) the platform has to
be pretty cache-coherent.  Right?
16:57 -!- telemachus [n=telemach@216.223.212.2] has joined #go-nuts
16:58 < temoto> skerner: so i tried to make a monad semantics example.  It's
ugly as hell, and it should not work, but it should give the idea.
http://codepad.org/wpR3ER07
16:58 < me__> src/cmd/cc has acid; has it been tried / does it work with 8g
code?
16:58 -!- tzfardea [n=tzfardea@unaffiliated/tzfardea] has quit ["Leaving"]
16:59 -!- Andrius [n=null@unaffiliated/andrius] has quit [Read error: 104
(Connection reset by peer)]
16:59 -!- Rob_Russell [n=chatzill@206-248-157-156.dsl.teksavvy.com] has joined
#go-nuts
16:59 < telemachus> if I'm having a duplicate of the log.TestAllLog problem
is it best to just add that test to the NOTEST list?
16:59 < bobappleyard1> how do i read a (utf8) char from a buffer?
16:59 -!- maragato [n=robteix@nat/intel/x-xvdcxwaklzripjnq] has left #go-nuts
["Leaving"]
16:59 < temoto> skerner: basically, the idea is that each call checks for
error and calls next function only if there was no error in previous.
17:00 < dj_tjerk> iant > might i ask why the "Go for C++ Programmers"
guide says "func (p *myType) get() int {}" and "func (p myInteger) get() int {}" ,
i.e.  why is there no * in the latter
17:00 -!- furbage [n=furbage@78-105-127-75.zone3.bethere.co.uk] has quit []
17:00 < KirkMcDonald> dj_tjerk: Methods don't have to be on pointers.
17:00 -!- furbage [n=furbage@78-105-127-75.zone3.bethere.co.uk] has joined
#go-nuts
17:00 < sstangl> me__: I don't believe so; they were talking about making a
new debugger that has little to do with acid.
17:01 < skerner> temoto: Neat.
17:01 < me__> sstangl: cool.  were they talking in here about it?
17:01 -!- fabrianchi [n=fabrianc@unaffiliated/fabrianchi] has joined #go-nuts
17:01 < temoto> skerner: But without syntactic sugar that's totally ugly.
17:01 < sstangl> me__: I asked robpike about it.
17:01 < me__> nice.
17:01 -!- furbage [n=furbage@78-105-127-75.zone3.bethere.co.uk] has quit [Client
Quit]
17:02 < nc> this is absurd
17:02 < blackmagik> iant, the curly braces must go :)
17:02 -!- nanoo [n=nanoo@byw186.internetdsl.tpnet.pl] has quit ["Leaving"]
17:02 -!- fforde [n=fforde@ip67-155-8-66.z8-155-67.customer.algx.net] has joined
#go-nuts
17:03 -!- cvanvliet [n=craig@94.192.37.134] has joined #go-nuts
17:04 -!- noronha [n=noro@p3EE3D58C.dip.t-dialin.net] has joined #go-nuts
17:04 -!- omicron23 [n=quassel@dslb-088-065-169-249.pools.arcor-ip.net] has quit
[Remote closed the connection]
17:04 -!- xylifyx [n=xylifyx@62.242.33.132] has quit [Connection timed out]
17:04 -!- atzz [n=alnt@122.161.144.150] has quit ["Leaving"]
17:04 -!- jeromatron [n=jeremy@216.49.181.128] has joined #go-nuts
17:04 < jkimball5> yeah curly braces are always ugly
17:05 -!- octoploid [n=octoploi@77-23-127-119-dynip.superkabel.de] has joined
#go-nuts
17:05 < jeromatron> so does go support list comprehensions?  couldn't find
it in the docs...
17:05 < me__> go could have begin/end instead.  </snark>
17:05 -!- drusepth [n=drusepth@209.106.203.252] has joined #go-nuts
17:06 -!- robpike [n=r@c-76-21-1-88.hsd1.ca.comcast.net] has left #go-nuts []
17:07 < sstangl> me__: grumble
17:07 < blackmagik> me__, or just end.  i think the parser should know where
to begin.  then again they seem to be advertising super fast compilation times so
maybe curly braces aid in quicker parsing
17:07 -!- ninja123 [n=ninja123@122.164.189.205] has quit [Read error: 54
(Connection reset by peer)]
17:08 -!- ninja123 [n=ninja123@122.164.189.205] has joined #go-nuts
17:08 < sstangl> jeromatron: it doesn't support list comprehensions, as far
as I know.
17:08 -!- napsy [n=luka@88.200.96.14] has joined #go-nuts
17:08 < temoto> blackmagik: i was all complaining about complex syntax until
i read that some of that is made intentionally to simplify parser and speed up
compilation.
17:09 < blackmagik> temoto, yea i thought so
17:09 < temoto> That's not high level language anyway.
17:10 < jeromatron> sstangl - tx - dang :( one of my favorite features of
python and others...  Go is still young though...  at least they have conditionals
:)
17:10 -!- fforde [n=fforde@ip67-155-8-66.z8-155-67.customer.algx.net] has left
#go-nuts ["Leaving."]
17:10 < ikke> my first go code
17:10 < ikke> http://pastebin.com/f44451899
17:10 < jkimball5> on a modern system, the speed difference would be
marginal if a different exists at all between parsing "begin" and '{'
17:10 < ikke> :)
17:10 < me__> jkimball5: i was being silly, i've been writing a lot of vhdl
off late.
17:10 < melba> lol maze
17:10 < engla> what is the go animal?  a gopher?
17:10 -!- pierron [n=pierron@88-122-99-206.rev.libertysurf.net] has joined
#go-nuts
17:11 < temoto> ikke what is iota?
17:11 < me__> a mutated bunny from outer space.
17:11 < sstangl> it happens occasionally.
17:11 < jkimball5> me__: congrats.  haven't used it, but I know it's based
on Ada so it has something going for it.
17:11 < ikke> temoto http://golang.org/doc/go_spec.html#Iota
17:11 < octoploid> If your're editing in vim ":silent ! gofmt -w %" is nice.
It will reformat the currently opened file.
17:11 < Associat0r> jkimball5 this
http://en.wikipedia.org/wiki/Limbo_(programming_language
17:11 -!- Bytecode_ [n=bytecode@97-124-183-166.hlrn.qwest.net] has joined #go-nuts
17:11 < temoto> ikke, thanks.
17:12 < Associat0r> jkimball5 that's what it's based it
17:12 < StylusEater> ikke: need to remove the ; from import line I believe
17:12 < jkimball5> Associat0r: what are you talking about?
17:13 < Associat0r> jkimball5 limbo language
17:13 -!- a_robbins [n=alex@cpe-76-185-7-190.tx.res.rr.com] has joined #go-nuts
17:13 < jkimball5> okay, but how does it relate to VHDL?
17:13 -!- jlouis [i=jlouis@130.225.165.29] has joined #go-nuts
17:13 < Associat0r> jimmy_: Limbo relates to Go
17:13 < Associat0r> jkimball5 I mean
17:14 < ikke> StylusEater works fine with the ;
17:14 < StylusEater> ikke: hrm..my bad
17:14 < jkimball5> that's cute that they already updated the wiki to show Go
as being influenced by it
17:14 < sstangl> Associat0r: it was a joke about poor syntax choices.
17:14 * jkimball5 masturbates a bit more to Google's logo
17:15 < a_robbins> Having trouble installing go.  At the ./all.bash step I
get this: http://pastebin.com/m3396f26 (using ubuntu 9.04)
17:15 -!- chen [n=chen@117.192.233.44] has quit [Read error: 110 (Connection timed
out)]
17:15 -!- chen [n=chen@117.192.233.39] has joined #go-nuts
17:15 -!- ajray [n=alex@nom26731d.nomadic.ncsu.edu] has joined #go-nuts
17:15 < sstangl> a_robbins: those are just tests; the programs should have
built successfully.  Check your $GOBIN.
17:15 -!- noronha [n=noro@p3EE3D58C.dip.t-dialin.net] has left #go-nuts []
17:16 < rog> is there a canonical way to do discriminated unions?
17:16 -!- jeromatron [n=jeremy@216.49.181.128] has left #go-nuts []
17:16 < a_robbins> oh, I didn't set GOBIN since it said it was optional in
the docs
17:16 -!- octoploid [n=octoploi@77-23-127-119-dynip.superkabel.de] has left
#go-nuts ["WeeChat 0.3.1-dev"]
17:17 < rog> (e.g.  a channel of one of several different message types)
17:17 -!- chappar [n=abc@123.238.88.98] has joined #go-nuts
17:17 -!- aaront [n=aaront@unaffiliated/aaront] has quit ["And that's all he
wrote..."]
17:17 -!- gobhain [n=wIRCer@72-57-194-26.pools.spcsdns.net] has joined #go-nuts
17:17 < a_robbins> sstangl: I do have all the programs in my bin folder,
thanks
17:17 < nc> 8==e
17:17 -!- codehai [n=codehai@xdsl-78-34-34-207.netcologne.de] has joined #go-nuts
17:18 < a_robbins> sstangl: is it an issue that my tests aren't passing?
17:18 < sstangl> a_robbins: yes; check whether bugs have been filed against
your particular case here: http://code.google.com/p/go/issues/list
17:18 < sstangl> a_robbins: if not, it would be useful to open a new issue
17:18 < Selar> woot, hello.go works
17:19 < a_robbins> sstangl: ok, thanks for your help
17:19 < jkimball5> we don't have bugs, we have issues!
17:19 -!- rafaelmartins [n=rafael@unaffiliated/rafaelmartins/x-162351] has joined
#go-nuts
17:19 < sstangl> "oopses" is also cutesy.
17:19 < Brakkvatn> jkimball5: You have an issue
17:19 < nc> hrm
17:19 -!- dataviruset [n=dataviru@90-230-45-9-no55.tbcn.telia.com] has joined
#go-nuts
17:20 * jkimball5 is a noob
17:20 * dataviruset is reading the news...
17:20 -!- impeachgod [n=impeachg@195.80.231.69] has joined #go-nuts
17:20 -!- NoobFukaire [n=tmccrary@d199-74-115-65.col.wideopenwest.com] has quit
[Nick collision from services.]
17:20 -!- Anubisss [i=Anubisss@ip-170-21-userpool.zeg.zelkanet.hu] has joined
#go-nuts
17:20 -!- dny [n=freedan@170-167-19-84.nbiserv.com] has left #go-nuts []
17:21 -!- weggpod [n=weggpod@ivr94-12-78-224-16-145.fbx.proxad.net] has joined
#go-nuts
17:21 -!- cDlm [n=cdlm@212.85.158.22] has left #go-nuts []
17:21 < weggpod> hy all
17:21 < dataviruset> hy
17:21 -!- robertpateii [n=robertpa@207-114-244-5.static.twtelecom.net] has joined
#go-nuts
17:21 -!- tsuru` [n=user@c-174-50-217-160.hsd1.tn.comcast.net] has joined #go-nuts
17:21 < weggpod> i discover this language today and i'm very interesting
17:22 < dataviruset> same here
17:22 < jkimball5> i like to think that i'm interesting
17:22 < frodenius> glad you all are interesting people
17:22 -!- paraboul [n=para@cnrs.weelya.net] has joined #go-nuts
17:22 < r00ttap_> yes you are very interesting
17:22 < jkimball5> but Ada programmers are decidedly not interesting in the
programming world
17:22 < frodenius> hell the world would be so boring without you
17:22 -!- dpb9cpu [n=dpb@ip65-46-56-98.z56-46-65.customer.algx.net] has joined
#go-nuts
17:22 < r00ttap_> HAHA
17:22 < weggpod> but what think really google about it
17:23 < r00ttap_> okay, now I'm confused
17:23 < frodenius> erm
17:23 < frodenius> probably google thinks go is superb
17:23 -!- nero76 [n=nero76@p4FC554E2.dip.t-dialin.net] has joined #go-nuts
17:23 < r00ttap_> google good think is it?
17:23 < frodenius> what?
17:24 < r00ttap_> exactly
17:24 < Zaba_> r00ttap_, are you talking in the reverse polish notation?
17:24 -!- NoobFukaire1 [n=tmccrary@d199-74-115-65.col.wideopenwest.com] has joined
#go-nuts
17:24 < jkimball5> google also thought python was superb
17:24 < dataviruset> python sux
17:24 < weggpod> they have began to realise project with it?
17:24 -!- epalm [n=epalm@utl-192-234.library.utoronto.ca] has joined #go-nuts
17:24 < jkimball5> given google's history of other programming related
stuff, i'd bet this language changes every 4 days
17:25 < annodomini> weggpod:
http://golang.org/doc/go_faq.html#Is_Google_using_go_internally
17:25 < jkimball5> you need to use a standardized, ISO/ANSI language to
really be in a good position
17:25 -!- comatose_kid [n=anonymou@adsl-76-254-61-108.dsl.pltn13.sbcglobal.net]
has joined #go-nuts
17:25 < ajray> i'm good with that as long as it keeps improving
17:25 < vegai> yes, please don't let it stagnate.  We have enough dead
languages
17:25 -!- gnukid [n=user@117.199.135.101] has joined #go-nuts
17:25 < jkimball5> languages aren't dead, they're *stable*
17:26 -!- t5vaha01_ [i=t5vaha01@rhea.oamk.fi] has quit ["Changing server"]
17:26 -!- comatose_kid [n=anonymou@adsl-76-254-61-108.dsl.pltn13.sbcglobal.net]
has quit [Read error: 54 (Connection reset by peer)]
17:26 -!- drusepth` [n=drusepth@209.106.203.252] has joined #go-nuts
17:26 -!- Killerkid [n=l1am9111@host86-132-16-197.range86-132.btcentralplus.com]
has joined #go-nuts
17:26 < dataviruset> python's dead and unstable
17:26 < jkimball5> not to say there aren't dead languages, but what you're
not refering to truly *deaD* languages
17:26 < annodomini> Yes, you want a language to get stable eventually, but
Go is at a very early stage and I'd be glad for it to be in flux for a while.
17:26 -!- comatose_kid [n=anonymou@adsl-76-254-61-108.dsl.pltn13.sbcglobal.net]
has joined #go-nuts
17:26 < jkimball5> annodomini: right, we should wait until it's standardized
17:26 -!- aishumoorthy [n=aishwary@117.193.226.97] has joined #go-nuts
17:27 -!- ajray [n=alex@nom26731d.nomadic.ncsu.edu] has quit ["Leaving."]
17:27 < annodomini> Well, depends on what you mean by "we".  If you mean
early adopters who want to play with something new, then you should use it and
improve it now.
17:27 -!- teedex [n=teedex@204.14.155.161] has quit [Remote closed the connection]
17:27 -!- a_robbins [n=alex@cpe-76-185-7-190.tx.res.rr.com] has quit ["Go is
building correctly now"]
17:27 -!- aishumoorthy [n=aishwary@117.193.226.97] has left #go-nuts []
17:27 < annodomini> If you mean for deploying code, no, it's probably not
ready for doing serious production-level projects quite yet.
17:27 -!- musty [n=musty@unaffiliated/musty] has joined #go-nuts
17:27 < musty> Hai
17:27 < jkimball5> this notion that languages should be in beta is a very
new concept and is an inherently wrong philosophy
17:27 -!- uptown [n=jason@h-64-105-162-139.sttnwaho.static.covad.net] has quit
[Remote closed the connection]
17:27 -!- dataviruset [n=dataviru@90-230-45-9-no55.tbcn.telia.com] has quit
["Lämnar"]
17:27 < jkimball5> google thinks everything should be a turd, dump it on the
world and make them help you fix it
17:28 < frodenius> lol
17:28 < tsuru`> "worse is better"
17:28 -!- mog [n=mog@c-68-62-169-247.hsd1.al.comcast.net] has joined #go-nuts
17:28 < annodomini> Huh?  What successful languages have never changed since
being released?
17:28 < jkimball5> you might not believe it, but there are languages out
there that were actually *architected* by real software engineers and computer
scientists, not some fresh out of college nerd at google
17:28 < weggpod> annodomini, cobol ?
17:28 < vomjom> haha
17:28 < frodenius> dynamic languages have been developed with the community
forever
17:28 < jkimball5> annodomini: It's how they change, not that they change
17:28 < tetha> jkimball5: and no one uses them?
17:29 < vomjom> rob pike and ken thompson are fresh out of college nerds,
apparently :P
17:29 -!- Luke_ [n=luke_d@pool-74-109-213-93.pitbpa.fios.verizon.net] has joined
#go-nuts
17:29 < jkimball5> tetha: sure because Go users don't like *quality*
17:29 < annodomini> vomjom: haha
17:29 < frodenius> yes, i met them yesterday ad standford
17:29 -!- dr34mc0d3r [n=dr34m@wsip-68-15-107-109.ok.ok.cox.net] has joined
#go-nuts
17:29 -!- jcaose [n=jcaose@h35n2-ld-c-d2.ias.bredband.telia.com] has joined
#go-nuts
17:29 -!- onox [n=onox@kalfjeslab.demon.nl] has joined #go-nuts
17:29 -!- PhlowX [n=PhlowX@pD955F699.dip.t-dialin.net] has joined #go-nuts
17:29 < onox> Ada ftw!
17:29 -!- onox [n=onox@kalfjeslab.demon.nl] has left #go-nuts []
17:29 < tetha> jkimball5: or python users?  or ruby users?  ...  and so on
17:29 < frodenius> haskell!!
17:29 < Wezz6400> jkimball5 why did you come in here only to bitch about go
17:29 < tsuru`> REPL!!!
17:30 < Wezz6400> do you really think anyone is interested?
17:30 -!- gnukid [n=user@117.199.135.101] has left #go-nuts ["ERC Version 5.3 (IRC
client for Emacs)"]
17:30 < kfx> jkimball5: which 'fresh out of college' nerd would we be
talking about here
17:30 < kfx> I'm just curious
17:30 < frodenius> don't feed the troll
17:30 * Libster feeds jkimball5
17:31 < kfx> thanks for regulating my behavior buddy
17:31 < jkimball5> nom nom nom
17:31 < kfx> I forgot you were in charge
17:31 < Libster> i was trying to troll this channel last night but i didn't
do a god job thanks for filling in for me
17:31 < frodenius> lol
17:31 < Wezz6400> with over 400 users now, this channel needs ops
17:31 -!- dajero [n=dajero@82-169-246-141.ip.telfort.nl] has joined #go-nuts
17:31 < Brakkvatn> OP PLZ!!!11111oneoneone
17:31 < Bytecode_> i'm having an odd problem with my net test
17:31 < reppie> everybody trolls all the time, nowadays
17:31 -!- drusepth [n=drusepth@209.106.203.252] has quit [Read error: 110
(Connection timed out)]
17:31 < Libster> i should be op
17:31 < annodomini> I'm interested in why switch and if statements include
initialization; wouldn't it be simpler and clearer to just do that on the previous
line?
17:31 < Libster> i am impartial
17:31 < frodenius> Bytecode_: everyone has it
17:32 -!- Luke_ [n=luke_d@pool-74-109-213-93.pitbpa.fios.verizon.net] has left
#go-nuts []
17:32 < Libster> i will ban everyone without personal bias
17:32 -!- teedex [n=teedex@204.14.155.161] has joined #go-nuts
17:32 < no_mind> can I haz ops too ?
17:32 < Wezz6400> I'm impartial as well, I hate everyone :p
17:32 < Bytecode_> Libster: good, because I have very strong personal bias
17:32 < jkimball5> i'm just trying to convince you let google prove their
own language and quit being a bunch of sheep Wezz6400
17:32 * jkimball5 looks directly at Wezz6400
17:32 < jkimball5> troll my ass
17:33 < Libster> google sux
17:33 < kfx> jkimball5: how long have you been out of college
17:33 < blackmagik> with over 400 people present in the channel for a fresh
language that's really good.  when was it first released?
17:33 < Wezz6400> jkimball5 I'd say you could say the same thing in a much
more friendly and constructive manner, thus contributing way more than doing it
this way
17:33 < kfx> if it's longer than ken thompson or rob pike then I'll accept
your weird-ass ranting
17:33 < jessta> annodomini: because you want things scoped to the if/switch
17:33 < frodenius> blackmagik: yesterday
17:33 < Wezz6400> Saying it like this is counterproductive to the goal you
say you have
17:33 < Libster> uh
17:33 < annodomini> jessta: Ah, OK. Thanks.
17:33 < jkimball5> Wezz6400: given your first comment to me, i'd say you're
lying
17:33 -!- dustycarver_ is now known as electronoob
17:33 < Libster> i think it's mor eimpressive how long you were IN college
17:33 < Libster> and academia
17:34 -!- olegfink [n=olegfink@92-100-131-48.dynamic.avangarddsl.ru] has quit
[Read error: 60 (Operation timed out)]
17:34 -!- tuples_ [i=55006258@gateway/web/freenode/x-umqvsejaxjmviimm] has joined
#go-nuts
17:34 < frodenius> yeah, how you needed 4 years for your bachelor thesis?
17:34 < kfx> I'm wondering if jkimball5 has googled either of those names
yet
17:34 < tuples_> how do I compile a new package and include it?
17:34 < kfx> also wondering if his complete lack of relevant information
extends to other statements he makes
17:34 < jkimball5> hmm?  which names?
17:34 < frodenius> :)
17:34 < bj_990> it took me 5 years to get a 4 year degree..  :)
17:34 < blackmagik> frodenius, cool.  i usually have my head handed to me
when using irc numbers as a metric but it's no doubt Go could push past Scala (for
e.g.  much faster)
17:35 -!- RayNbow [i=kirika@scientia.demon.nl] has joined #go-nuts
17:35 -!- daharon [n=daharon@adsl-71-135-50-167.dsl.pltn13.pacbell.net] has joined
#go-nuts
17:35 < kfx> jkimball5: ken thompson, rob pike.  are they fresh out of
college?
17:35 < temoto> Thompson too?
17:36 < three-f-jeff> Oh yeah.  Ken Thompson too.
17:36 < KirkMcDonald> Oh, interesting.  The builtin types aren't actually
reserved words.
17:36 < kfx> http://golang.org/doc/go_lang_faq.html#history
17:36 < jkimball5> no, but i doubt they had anything to do with Go
17:36 < kfx> jkimball5: your doubts are wrong
17:36 -!- Aria [n=aredride@eridani.theinternetco.net] has joined #go-nuts
17:36 -!- shasbot [n=shasbot@ip70-171-218-55.tc.ph.cox.net] has joined #go-nuts
17:37 < temoto> I start to think that jkimball5 is a bot put here to keep up
the crowd chatting.
17:37 -!- no_mind [n=orion@122.177.51.74] has quit [Remote closed the connection]
17:37 -!- pdallago [i=45b58846@gateway/web/freenode/x-xqaaekfgtvqilqbc] has joined
#go-nuts
17:37 < kfx> temoto: I hope the bot is written in go
17:37 < jkimball5> lol they should probably be fired then.
17:37 < jkimball5> "exceptions and generics are still an open issue"
17:37 < jkimball5> good thing they carefully thought this stuff through
before publishing it
17:37 < three-f-jeff> jkimball5: google "release early, release often"
17:38 < three-f-jeff> It's a new language.  It's only been in development
for two years.
17:38 -!- Medliwork [n=Medlir@adsl-76-252-78-16.dsl.lgtpmi.sbcglobal.net] has
joined #go-nuts
17:38 -!- ajray [n=alex@nom26731d.nomadic.ncsu.edu] has joined #go-nuts
17:38 < kfx> with any luck go will never have generics or exceptions
17:38 -!- mjl- [n=none@knaagkever.ueber.net] has joined #go-nuts
17:38 < Wezz6400> you might not agree with what they're doing, but that
doesn't mean they're just messing about
17:38 < jkimball5> yes because exceptions and generics are so awful
17:38 < jessta> jkimball5: I'm pretty sure they've been thinking it through
for the last 30 years
17:38 < three-f-jeff> For that matter, go checkout K&R 1st edition and then
try looking at some of the Unix V6 sources.
17:39 < kfx> programmers who rely on them generally are
17:39 -!- MarkAtwood [n=matwood@gorf.tangent.org] has joined #go-nuts
17:39 < blackmagik> my first impression is that a language like Go is
needed.  i like C for its minimalism but a little more is needed.
17:39 < itrekkie> hi everyone, I was wondering if anyone knew of or is
working on some sort of build system, or maybe even just a "standard" Makefile
17:39 -!- pavlakis [n=pavlakis@wlan-146-227-104-150.dmu.ac.uk] has left #go-nuts
["Leaving"]
17:39 < tuples_> how do I compile a new package and include it?  foo.go
"package foo"...  then "import "foo";" but it says can't find import: foo
17:39 < ajray> tuples_: have you built foo.8 yet?
17:39 -!- emet [n=emet@unaffiliated/emet] has joined #go-nuts
17:39 < tuples_> I have built foo.6
17:39 -!- int-e [n=noone@141.57.11.224] has joined #go-nuts
17:39 < ajray> and you're importing "./foo" ? or "foo"?
17:39 -!- glewis [n=chatzill@cpe-98-154-103-91.socal.res.rr.com] has joined
#go-nuts
17:40 -!- MrWilly [n=mwilly@mx2.proofpoint.com] has joined #go-nuts
17:40 < emet> holy crap
17:40 < three-f-jeff> (Personally, I don't see the need for exceptions when
you have tuple returns)
17:40 -!- vcgomes [n=vcgomes@li17-238.members.linode.com] has joined #go-nuts
17:40 < rog> close(c), cool
17:40 -!- oxtail [n=oxtail@85.92.214.131] has quit [Read error: 113 (No route to
host)]
17:40 -!- theatrus [n=user@69.239.107.64] has quit [Read error: 113 (No route to
host)]
17:40 -!- MrWilly [n=mwilly@mx2.proofpoint.com] has left #go-nuts []
17:40 -!- skampler [n=sk@unaffiliated/skampler] has joined #go-nuts
17:40 < tuples_> ajray: using "./foo" tells me "undefined: Foo"
17:40 -!- codehai [n=codehai@xdsl-78-34-34-207.netcologne.de] has left #go-nuts []
17:41 < rog> defer too, mmm
17:41 < tuples_> but it's definitely defined ...  type Foo struct {...}
17:41 -!- dibb [n=dibb@ashera.openend.se] has joined #go-nuts
17:41 < bobappleyard1> foo.Foo?
17:41 < itrekkie> wouldn't foo be defined in package.Foo?
17:41 < tuples_> oh oh oh.
17:41 -!- wcr [n=wcr@unaffiliated/warcrime] has joined #go-nuts
17:42 < tuples_> itrekkie: thanks so much
17:42 < tuples_> !
17:42 < nc> package.Poo
17:42 < nc> lol
17:42 -!- scriptdevil [n=scriptde@122.174.86.190] has joined #go-nuts
17:42 < itrekkie> I had the same problem fro a while, was irritating ;)
17:43 < tuples_> itrekkie: Yes, but it's all starting to make sense!
17:43 < mmu_man> bcgen(Node *n, int true)
17:43 -!- mtrapr [n=dorian@82-35-106-178.cable.ubr06.dals.blueyonder.co.uk] has
joined #go-nuts
17:43 < scriptdevil> The syntax is starting to feel natural already :D
17:43 -!- prip [n=_prip@host234-124-dynamic.11-87-r.retail.telecomitalia.it] has
joined #go-nuts
17:43 < mmu_man> hmmmm some ppl should be slapped on public place
17:43 < temoto> Either i do something wrong, or this program doesn't scale
to CPU cores.  http://codepad.org/24vLzZKL
17:44 -!- pdallago [i=45b58846@gateway/web/freenode/x-xqaaekfgtvqilqbc] has quit
["Page closed"]
17:44 < mmu_man> was wondering why some syntax error before '1'
17:44 < scriptdevil> temoto: Am i confused.  i in both loops
17:45 < scriptdevil> temoto: Shouldn't that be j or k or something?
17:45 < ment> temoto: put fmt.Printf("x\n"); in the beginning of busy()
17:45 -!- hmmb [n=hmmb@201.56.102.13] has joined #go-nuts
17:45 < Selar> i <3 the plan9 refs
17:46 -!- no_mind [n=orion@122.177.51.74] has joined #go-nuts
17:46 < temoto> scriptdevil: it works.  I guess it uses proper i.
17:46 < scriptdevil> temoto: Sorry.  I forgot that closures were in it.  My
mistake
17:46 -!- lexhung [n=lexhung@117.2.35.228] has quit ["Ex-Chat"]
17:47 -!- uptown [n=jason@h-64-105-162-139.sttnwaho.static.covad.net] has joined
#go-nuts
17:47 < mmu_man> hmm why would true map to TRUE which is 1 in this case...
17:47 < mmu_man> odd
17:47 -!- daharon [n=daharon@adsl-71-135-50-167.dsl.pltn13.pacbell.net] has quit
["Ex-Chat"]
17:48 -!- infoe [n=daniel@rrcs-24-173-182-58.sw.biz.rr.com] has joined #go-nuts
17:48 -!- infoe [n=daniel@rrcs-24-173-182-58.sw.biz.rr.com] has left #go-nuts []
17:48 -!- mdevan [n=mdevan@59.92.188.174] has quit ["Leaving"]
17:48 -!- Irssi: #go-nuts: Total of 432 nicks [0 ops, 0 halfops, 2 voices, 430
normal]
17:48 -!- matsushi [i=8930d809@gateway/web/freenode/x-svxtgbsbrcwiwrhq] has joined
#go-nuts
17:48 -!- altair_ [n=altair@host66-223-dynamic.1-87-r.retail.telecomitalia.it] has
joined #go-nuts
17:48 -!- jkimball5 [i=8930d809@gateway/web/freenode/x-fipwdngahyqhpcax] has left
#go-nuts []
17:48 -!- paulbaumgart [n=paulbaum@cpe-66-75-245-65.san.res.rr.com] has left
#go-nuts []
17:49 < itrekkie> has anyone gotten the -I flag to work in 6g?  I'm trying
to store objects in a separate directory, but every time, it's an import not found
17:49 < uriel> reminder, there is a subreddit dedicated to go:
http://www.reddit.com/r/golang/
17:49 -!- lasko [n=lasko@70.99.232.187] has joined #go-nuts
17:49 * uriel just found there that there are SDL bindings for go already
17:49 < temoto> ment: doesn't help.  If i put two prints one at start and
one just before ch<-y, then i see "busy stop" lines with a huge delay.
17:49 < temoto> Probably delay is all time required to run busy().
17:50 -!- matsushi [i=8930d809@gateway/web/freenode/x-svxtgbsbrcwiwrhq] has quit
[Client Quit]
17:50 -!- olegfink [n=olegfink@95.55.64.133] has joined #go-nuts
17:50 -!- ninja123 [n=ninja123@122.164.189.205] has quit [Remote closed the
connection]
17:50 -!- KillerX [n=anant@145-116-234-40.uilenstede.casema.nl] has joined
#go-nuts
17:50 -!- scriptdevil [n=scriptde@122.174.86.190] has quit ["leaving"]
17:50 -!- armence [n=armence@c-67-188-229-128.hsd1.ca.comcast.net] has joined
#go-nuts
17:50 -!- ninja123 [n=ninja123@122.164.189.205] has joined #go-nuts
17:50 -!- MaCkeR [n=MaCkeR@115.69.244.40] has joined #go-nuts
17:50 -!- zalgo [i=andreer@flode.pvv.ntnu.no] has joined #go-nuts
17:51 < int-e> can somebody explain how the memory model guarantees that in
a = "hello world"; c <- 0; the write to a /happens before/ sending to the
channel?  The examples say so, but I can't find a corresponding definition.  At
the same time the specification makes clear that statements in a single function
are not ordered by /happens before/ in general.
17:52 -!- q[mrw] [n=russd@willers.employees.org] has joined #go-nuts
17:52 -!- nddrylliog [n=nddrylli@tsf-wpa-2-5004.epfl.ch] has joined #go-nuts
17:52 -!- InLoveWithGoogle [i=545b7b8f@gateway/web/freenode/x-ozkajwfkkbkvgssj]
has joined #go-nuts
17:52 -!- t5vaha01 [i=t5vaha01@rhea.oamk.fi] has joined #go-nuts
17:52 < mmu_man> /work/golang/go/src/cmd/8g/cgen.c:1024: conflicting types
for `sgen'
17:52 < mmu_man> /work/golang/go/src/cmd/8g/gg.h:103: previous declaration
of `sgen'
17:52 -!- aho [n=nya@e179090156.adsl.alicedsl.de] has joined #go-nuts
17:52 < mmu_man> int vs int32 ...
17:52 -!- nddrylliog [n=nddrylli@tsf-wpa-2-5004.epfl.ch] has left #go-nuts
["*flash*"]
17:52 * InLoveWithGoogle lol
17:53 -!- MaCkeR [n=MaCkeR@115.69.244.40] has left #go-nuts ["Leaving"]
17:53 < aho> is ARM supported?
17:53 -!- cod [n=cod@KD124214136122.ppp-bb.dion.ne.jp] has quit ["Leaving..."]
17:53 < vomjom> yes
17:53 < aho> ace
17:53 < KirkMcDonald> I found an error in the lexical docs.
17:53 -!- sharpner [n=sharpner@dslb-088-065-034-229.pools.arcor-ip.net] has joined
#go-nuts
17:53 < musty> KirkMcDonald, cool!
17:53 < KirkMcDonald> break default func interface select
17:53 < KirkMcDonald> case defer go map struct
17:53 < KirkMcDonald> chan else goto package switch
17:53 < KirkMcDonald> const fallthrough if range type
17:54 < KirkMcDonald> Ack
17:54 < KirkMcDonald> Stupid clipboard.
17:54 < InLoveWithGoogle> Google is going to dominate the internet, soon..
17:54 < r00ttap_> soon?
17:54 < ment> temoto: so between each busy stop is an equal time delay?
17:54 < m0rra> why do you think they aren't?
17:54 < KirkMcDonald> I meant to paste: decimal_lit = "0" | ( "1" ...  "9" )
{ decimal_digit } .
17:54 < KirkMcDonald> That is how that should read.
17:55 < int-e> I also wonder how concurrent calls to l.Unlock() and l.Lock()
are numbered, but I guess there's an implicit sequencing point at the point the
mutex/semaphore is actuall taken/released/incremented/decremented.
17:55 < aho> KirkMcDonald, no...  it's a stupid client.  a good client won't
submit your message if it contains a pasted newline character
17:55 -!- fhs [n=fhs@pool-72-89-195-252.nycmny.east.verizon.net] has joined
#go-nuts
17:55 < temoto> ment: yup.
17:55 -!- swamytk [n=swamytk@122.174.64.212] has joined #go-nuts
17:55 < KirkMcDonald> aho: irssi does this to some extent.
17:55 -!- muckel [n=Christia@ip-94-79-146-96.unitymediagroup.de] has joined
#go-nuts
17:55 < KirkMcDonald> aho: But it didn't catch that one for some reason.
17:56 -!- johnkw [n=bla@216.16.204.2] has joined #go-nuts
17:56 < albertito> KirkMcDonald: iirc ircii protects from pastes >= 5
lines or so, I think 4 is under the limit
17:56 < Zaba_> KirkMcDonald, there's an option to set how many lines irssi
will ask you about
17:57 < wcr> When was Go officially announced?
17:57 -!- Ina [n=Ina@dsl-087-195-206-242.solcon.nl] has joined #go-nuts
17:57 * Ina waves
17:57 < temoto> wcr: youtube video was yesterday.
17:57 < ment> temoto: is the example you post earlier still relevant?
17:57 < wcr> and when was this chan created :D
17:57 -!- dotsintacks [n=a@digsby05.rit.edu] has joined #go-nuts
17:58 < temoto> ment: yes, i want to find out how to scale to CPU cores so
hard.
17:58 < Rob_Russell> so it looks like 6g *.go doesn't do what one might
expect...  time to rework the Makefie
17:58 -!- paddyez [n=paddy@wikipedia/paddyez] has joined #go-nuts
17:58 -!- ajray [n=alex@nom26731d.nomadic.ncsu.edu] has left #go-nuts []
17:58 -!- mitchellh [n=mitchell@c-71-231-140-22.hsd1.wa.comcast.net] has joined
#go-nuts
17:58 < swamytk> hello world in c (a.out) is just 8K, whereas 8.out in go is
581K.  why it is so?
17:58 -!- dblaine [n=darrend@haybaler.sackheads.org] has joined #go-nuts
17:59 < vomjom> swamytk, it's statically linked
17:59 < jessta> swamytk: static linking
17:59 < bj_990> maybe the garbage collection?
17:59 -!- drusepth` [n=drusepth@209.106.203.252] has quit [Read error: 110
(Connection timed out)]
17:59 < swamytk> swamytk@mediacenter:~/workspace/go$ file 8.out
17:59 < swamytk> 8.out: ELF 32-bit LSB executable, Intel 80386, version 1
(SYSV), dynamically linked (uses shared libs), stripped
17:59 < temoto> bj_990: garbage collection doesn't take 600KB.
17:59 < Zaba_> swamytk, ldd it
17:59 < vomjom> swamytk, ldd 8.out
18:00 < bj_990> it does in java..  waka waka
18:00 < bj_990> ok bad joke
18:01 < swamytk> but, why file command shows it as dynamically linked?
18:01 < ment> temoto: that's weird.  but all the "busy in" are printed out
immediately
18:01 -!- kaib [n=kaib@nat/google/x-tieezoxdpezugiir] has joined #go-nuts
18:01 -!- mode/#go-nuts [+v kaib] by ChanServ
18:01 < temoto> ment: yup.
18:01 < Zaba_> swamytk, well, actually, there's a linker flag that makes it
show up statically linked---but it doesn't change anything else
18:02 < daganev> is go considered a server language?
18:02 <+kaib> daganev: yep
18:02 * cvanvliet is upset Jkimball is not here anymore, and leaves channel
18:02 -!- cvanvliet [n=craig@94.192.37.134] has left #go-nuts ["Leaving"]
18:02 < NaN> I wish go was designed for distributed computing...
18:02 < temoto> kaib: could you explain why my goroutines don't scale to CPU
cores?
18:02 < swamytk> Zaba_, thanks.  how can i compile go program with
dynamically linked?
18:03 < temoto> http://codepad.org/24vLzZKL
18:03 < ment> temoto: http://codepad.org/BW9wkM75
18:03 -!- olegfink [n=olegfink@95.55.64.133] has quit [Nick collision from
services.]
18:03 -!- jeng [n=chatzill@75.110.231.66] has joined #go-nuts
18:03 < glewis> For that SDL example, if I "make sdl", it says: "sdl.go:8:
fatal error: can't find import: C" - any ideas what I'm doing wrong?
18:03 -!- spullara [n=spullara@nat/yahoo/x-owusmbqzxeicknhs] has joined #go-nuts
18:03 -!- olegfink [n=olegfink@snupt.com] has joined #go-nuts
18:04 -!- arty_ [n=arty@130-94-160-242-dsl.hevanet.com] has joined #go-nuts
18:04 <+kaib> temoto: GOMAXPROCS=4
18:04 < musty> Is there a tarball of the Go install or something?
18:04 <+kaib> temoto: or some higher value.
18:05 < temoto> ment: that does print more stuff, but doesn't scale :)
18:05 < bobappleyard1> uriel: making a submission to that subreddit
18:06 < uriel> bobappleyard1: cool
18:06 < temoto> kaib: yeah!  That helped.
18:06 < temoto> kaib: so default is 1?
18:06 -!- john__ [n=john@bas2-toronto01-1177673674.dsl.bell.ca] has joined
#go-nuts
18:06 < temoto> ment: environment variable GOMAXPROCS helped.
18:06 -!- mutilator [n=muti@2607:fbd0:10:1:b4ad:553f:ea66:ae14] has joined
#go-nuts
18:06 <+kaib> temoto: correct.
18:06 -!- aschallich [n=amos@173-13-183-46-sfba.hfc.comcastbusiness.net] has
joined #go-nuts
18:07 -!- nofoo [n=nofoo@helixnetworks.de] has joined #go-nuts
18:07 -!- teralaser [n=teralase@unaffiliated/teralaser] has joined #go-nuts
18:07 < temoto> kaib: thanks.  This is awesome.  Go is a better Cilk.
18:07 < MarkBao> yeah, there you go
18:07 -!- chmj [n=chmj@196.34.197.75] has quit ["( www.nnscript.com ::
NoNameScript 4.22 :: www.esnation.com )"]
18:07 < mmu_man> gopack: confused in pkg data near <<h>>
18:07 < mmu_man> gopack grc _obj/math.a _go_.8
18:07 < mmu_man> gopack: write error: No space left on device
18:07 < mmu_man> hmm...
18:08 < Associat0r> kaib can the FAQ and Go for C++ programmers be updated
to mention http://golang.org/pkg/unsafe/ ?
18:08 -!- spullara [n=spullara@nat/yahoo/x-owusmbqzxeicknhs] has quit [Read error:
104 (Connection reset by peer)]
18:09 -!- john__ [n=john@bas2-toronto01-1177673674.dsl.bell.ca] has quit [Remote
closed the connection]
18:09 < rog> what package does conversion from decimal string to int in go?
18:09 <+kaib> Associat0r: the omission might be on purpose ..  :-)
18:09 < rog> anyone know?
18:09 < mmu_man> float.c:7 overflow in constant
18:09 -!- tuples_ [i=55006258@gateway/web/freenode/x-umqvsejaxjmviimm] has quit
["Page closed"]
18:09 < mmu_man> hmm
18:09 < bj_990> im a bit confused ..  usually when there is garbage
collection, there are virtual machines....  how does gc work with go...  any
links?
18:09 <+kaib> Associat0r: if you want to integrate with hardware a better
approach is to use one of the assemblers.
18:09 -!- Bao [n=bao@h-200-46.A212.priv.bahnhof.se] has joined #go-nuts
18:09 < vomjom> rog, maybe bignum?
18:10 < vomjom> rog, it has an IntFromString func
18:10 < gcarrier> how can one build small binaries?
18:10 < vomjom> i don't imagine you can right now :P
18:10 < int-e> gcarrier:
http://www.muppetlabs.com/~breadbox/software/elfkickers.html ;-)
18:10 < gcarrier> i wrote a small example, 6g and 6l
18:10 -!- quellhorst [n=quellhor@static-70-104-26-16.dllstx.fios.verizon.net] has
left #go-nuts []
18:10 < gcarrier> 640KB!
18:10 -!- ninja123 [n=ninja123@122.164.189.205] has quit [Remote closed the
connection]
18:10 < Associat0r> kaib I undestand but I read a lot of bad comments on the
net about how Go can't do pointer math while it can
18:11 < vomjom> gcarrier, yeah, it's statically linked right now
18:11 < ment> gcarrier: that should be enough for everyone
18:11 < gcarrier> int-e: darwin
18:11 < gcarrier> ment: :P
18:11 < MarkBao> hmm, it's too bad that Go is such a new language
18:11 < vomjom> gcarrier, i don't think you'll get small binaries anytime
soon
18:11 -!- ninja123 [n=ninja123@122.164.189.205] has joined #go-nuts
18:11 < int-e> gcarrier: they don't work under modern linux kernels anymore
anyway.
18:11 < MarkBao> needs moar libraries for, like, mobile phone dev
18:11 < swamytk> how to link go program dynamically?
18:11 < Zaba_> what's wrong with keeping things statically linked, anyway..
18:11 < gcarrier> int-e: ha ha
18:11 < kfx> MarkBao: how about writing them
18:11 < kfx> here's your big chance to shape the future
18:11 < vomjom> why are you guys all so concerned about binary sizes for a
beta language?
18:12 < vomjom> :P
18:12 < Zaba_> why are y'all concerned about binary sizes lower than 1MB?
18:12 < MarkBao> kfx: I'm actually too inexperienced.
18:12 < MarkBao> :)
18:12 < rog> vomjom: i guess so.  seems unusual though.
18:12 < gcarrier> Zaba_: because i work on embedded systems?
18:12 < musty> I want to toy around with the Linux kernel, is Go capable of
doing so at a level that C is without restrictions/limitations etc?
18:12 < swamytk> i want to know about dynamic way to have a common framework
of shared libraries
18:12 < bj_990> nevermind..  wiki answered my ?
18:12 < musty> Say, loadable kernel modules.
18:13 <+kaib> Associat0r: sure.  but lack of pointer arithmetics is kind of
a feature.  slices replace most of the mundane use and there are still ways to get
at the hardware.
18:13 < musty> Anyone have a clue about the capabilities of this?
18:13 -!- eulalia [n=eulalia4@wikia/Eulalia459678] has joined #go-nuts
18:13 < temoto> kaib: is (limited) support for list comprehensions
planned/considered?
18:13 < Associat0r> kaib what are the other ways to get at teh hardware?
18:13 -!- Counterspell [n=noname@adsl-99-18-61-121.dsl.irvnca.sbcglobal.net] has
joined #go-nuts
18:13 -!- johnkw [n=bla@216.16.204.2] has left #go-nuts []
18:13 -!- Koen_ [n=Koen@83.101.24.153] has joined #go-nuts
18:13 < musty> Hmm
18:14 -!- jvogel_ [n=jonathan@friedpancakes.com] has joined #go-nuts
18:14 -!- MarkBao [n=MarkBao@pool-98-110-164-56.bstnma.fios.verizon.net] has quit
[]
18:14 -!- MarkBao [n=MarkBao@pool-98-110-164-56.bstnma.fios.verizon.net] has
joined #go-nuts
18:14 -!- halfdan [n=halfdan@p57A94492.dip.t-dialin.net] has joined #go-nuts
18:14 -!- doohan [n=doohan@client-82-26-73-171.bmly.adsl.virginmedia.com] has left
#go-nuts ["Leaving"]
18:14 < halfdan> ahoi
18:14 < swamytk> i am basically a 8051 assembly programmer..  used with
worrying about size :-)
18:15 < me__> hmm, why is cas() being used in the linux runtime for
unlock()?
18:15 -!- rbohn [n=rbohn@192.206.100.4] has joined #go-nuts
18:15 < musty> kaib, here?
18:16 <+kaib> musty: yep
18:16 < musty> kaib, reckon you can answer my question ^ ?
18:16 -!- chappar [n=abc@123.238.88.98] has left #go-nuts []
18:16 -!- tametick [n=chatzill@chello084114134061.3.15.vie.surfer.at] has joined
#go-nuts
18:16 -!- techknowlust [n=patrick@87.192.246.254] has joined #go-nuts
18:17 < Associat0r> kaib what are the other ways to get at the hardware in
Go?
18:17 -!- kingisaac [n=ihildebr@nat1.oklahoman.net] has joined #go-nuts
18:17 < techknowlust> I'm having trouble installing go on OS X
18:17 -!- DrNach [n=nach@85-250-85-159.bb.netvision.net.il] has joined #go-nuts
18:17 < techknowlust> I keep getting an error about $GOROOT not being set or
exported
18:17 -!- hebroon [n=hebroons@p4bcd08.hkidnt01.ap.so-net.ne.jp] has quit
["Leaving..."]
18:17 < sharpner> export GOROOT=/somedirectory
18:17 < techknowlust> even when $GOROOT/src/ exists as it needs to
18:17 <+kaib> musty: re linux kernel.  the answer is probably no.  linux is
designed pretty tightly around c, not even c++ is a first class citizen
18:17 -!- Athas [n=athas@192.38.109.188] has joined #go-nuts
18:18 -!- Libster [n=libster@pool-71-179-208-145.bltmmd.east.verizon.net] has quit
[Read error: 104 (Connection reset by peer)]
18:18 <+kaib> Associat0r: you can write platform specific assembly and
compile it with 6a/8a/5a.
18:18 < techknowlust> one sec, client is acting up
18:18 -!- mmu_man [n=revol@vaf26-2-82-244-111-82.fbx.proxad.net] has quit
["Vision[0.9.7-H-090826]: i've been blurred!"]
18:18 < rog> this seems a bit more clunky than it should be:
18:18 < rog> (n, _, _) := bignum.IntFromString(s, 0);
18:18 < rog> x = int(n.Value());
18:18 < three-f-jeff> kaib: wouldn't the "cannot turn of gc" be a pretty big
problem in the kernel as well?
18:18 -!- techknowlust [n=patrick@87.192.246.254] has quit [Client Quit]
18:18 -!- tametick [n=chatzill@chello084114134061.3.15.vie.surfer.at] has left
#go-nuts []
18:18 -!- techknowlust_ [n=patrick@87.192.246.254] has joined #go-nuts
18:18 < three-f-jeff> s/of/off
18:18 < Associat0r> kaib inline?
18:18 -!- techknowlust_ is now known as techknowlust
18:18 <+kaib> Associat0r: if you look at src/pkg/runtime/$GOARCH) you can
see some examples.
18:18 < Associat0r> kaib thanks
18:19 < techknowlust> so I export GOROOT=/path/to/go/dir
18:19 <+kaib> Associat0r: no, you have to link against them.
18:19 < techknowlust> but still it's giving this error
18:19 -!- seymour [i=mike@dsl-244-114-37.telkomadsl.co.za] has joined #go-nuts
18:19 <+kaib> Associat0r: the asm files end in s.
18:19 < techknowlust> this is when I run it with sudo, is there a chance
that sudo doesn't have these variables ?
18:19 < seymour> pppaaarrrtttaaayyy!
18:19 <+kaib> three-f-jeff: depends on what you do.
18:19 < seymour> lol hi techknowlust
18:19 < musty> kaib, What are the benefits of Go, that're centric to kernel
development
18:19 < musty> If there are any.
18:19 < techknowlust> hey seymour, hows things?
18:20 <+kaib> three-f-jeff: in interfacing with the linux kernel, probably
true.  if you wrote your own os then you could have better control.
18:20 < sharpner> you don't need sudo
18:20 < Associat0r> kaib in that case I think unsafe is nice to have IMO
18:20 < seymour> lol things are good, weird meeting you here
18:20 < Brakkvatn> FAIL
18:20 -!- arty [n=arty@reactos/developer/arty] has quit [Connection timed out]
18:20 -!- gzt [n=gzt@24-151-178-146.dhcp.kgpt.tn.charter.com] has quit [Connection
timed out]
18:20 < Brakkvatn> I get this error upon building:
18:20 < Brakkvatn> http://pastebin.com/m32f01908
18:20 < InLoveWithGoogle> http://code.google.com/p/go/issues/detail?id=9
18:20 < techknowlust> sharpner: got it running now, tis ok
18:20 <+kaib> Associat0r: true, but asm functions are more expressive than
just using unsafe.  all asm functions are by definition unsafe, the package unsafe
is just a small subset of what asm can do.
18:21 < techknowlust> seymour: yeah I know eh?  PM cause this is channel
relevant
18:21 < Associat0r> kaib yes that's true
18:21 < seymour> sure
18:21 < three-f-jeff> kaib: one of my first thoughts when reading the docs
on golang.org was "how would this work for implementing a kernel", and you would
want to do the entire thing in go, but you'd have to customize the gc to work at
the kernel level (eg, being mindful of page tables and segments)
18:21 <+kaib> musty: i'm not sure i can mention anything specific.  go is
really trying to be a general systems language as opposed to a kernel language.
18:21 < musty> Hrm, when building the ./all.bash
18:21 < musty> I get "make.bash: line 20: /home/stinker/.go/bin/quietgcc: No
such file or directory"
18:22 <+kaib> three-f-jeff: correct.
18:22 -!- jbergstroem [n=lfe@bergstroem.nu] has joined #go-nuts
18:22 < musty> kaib: Yeah, fair enough.
18:22 < musty> I still fancy it anyway
18:22 -!- olegfink [n=olegfink@snupt.com] has quit ["WeeChat 0.2.6.3"]
18:22 -!- dingding [n=dingding@adsl252.dyn212.pacific.net.sg] has joined #go-nuts
18:22 -!- olegfink [n=olegfink@snupt.com] has joined #go-nuts
18:23 < musty> I think I might have to rebuild from scratch, no?
18:23 < musty> Being as I haven't a bin.
18:23 -!- slicslak [n=slicslac@c-68-50-207-133.hsd1.dc.comcast.net] has joined
#go-nuts
18:23 -!- triplez [n=triplez@cm52.sigma225.maxonline.com.sg] has joined #go-nuts
18:23 < KirkMcDonald> There!  I've written a lexer for Pygments.
18:23 < Koen_> hey guys, i get the following output when i run all.bash:
18:23 -!- SRabbelier [n=SRabbeli@ip138-114-211-87.adsl2.static.versatel.nl] has
joined #go-nuts
18:23 < Koen_> > panic PC=xxx
18:23 < Koen_> 0 known bugs; 0 unexpected bugs; test output differs
18:23 < KirkMcDonald> http://paste.pocoo.org/show/150021/
18:23 -!- remote [n=remote@unaffiliated/remote] has joined #go-nuts
18:23 -!- nddrylliog [n=nddrylli@tsf-wpa-2-5004.epfl.ch] has joined #go-nuts
18:23 -!- nddrylliog [n=nddrylli@tsf-wpa-2-5004.epfl.ch] has left #go-nuts
["*flash*"]
18:24 -!- wqzzz [n=wqz@c-6f2fe155.67-3-64736c10.cust.bredbandsbolaget.se] has
joined #go-nuts
18:24 < pancake> musty: export PATH=$GOBIN:$PATH
18:24 < temoto> Is (limited) support for list comprehensions
planned/considered?
18:24 <+kaib> three-f-jeff: i have some plans for doing embedded work on
arm.  the line between firmware and os is drawn in the water.
18:24 < temoto> Koen_: i had that too and they sad it's fine.
18:24 < three-f-jeff> kaib: that sounds awesome.
18:24 < techknowlust> getting a failed test error on compile
http://pastie.org/694050
18:25 < SRabbelier> Wow, http://code.google.com/p/go/issues/detail?id=9 has
become a spam fest real fast
18:25 < Koen_> temoto: ok, thanks
18:25 < techknowlust> to do with a http test
18:25 < temoto> Koen_: they sad there is probably a reported issue.
18:25 < remote> can we re-write python in go already?
18:25 < three-f-jeff> kaib: would that involve having a pluggable gc
library, so you could write a tiny C kernel to handle MM, and then the rest in go?
18:25 < wqzzz> techknowlust: that's the exact same error i get
18:25 < Koen_> temoto: so i should be able to compile things without a
problem?
18:25 < danderson> SRabbelier: that's what happens when you try to make
something political and unleash the peanut gallery on it
18:25 < danderson> I really wish google code had a stupidity filter on
comments now.
18:26 < techknowlust> wqzzz: I presume it's a server error so
18:26 < temoto> remote: python is rewritten in a more efficient way (LLVM)
so what?  The frontend language is still old python to be compatible with
thousands of libraries.
18:26 < SRabbelier> danderson: don't you guys have some AI for that by now?
18:26 -!- ni| [n=james@isp2-resnet-nat1.union.edu] has joined #go-nuts
18:26 -!- slide_rule [i=81028735@gateway/web/freenode/x-vwbfmmlcotcabeoq] has
joined #go-nuts
18:26 < danderson> SRabbelier: yes, but it spends its days banging its head
against a wall screaming "Make it stop!  Make it stop!"
18:26 < temoto> Koen_: i do compile things and they run.  I had that PC=xxx
panic message.
18:26 * SRabbelier chuckles at danderson
18:26 < Koen_> temoto: ok :)
18:26 < three-f-jeff> kaib: or would the compiler just have a -freestanding
switch to use a special "kernel level" gc?
18:26 -!- Naktibalda [n=gm@ctv-79-132-171-55.vinita.lt] has joined #go-nuts
18:27 < teralaser> Naktibalda : Curiousity killed the cat
18:27 < Naktibalda> :P
18:27 < Naktibalda> you were first
18:27 < teralaser> ok, true
18:27 <+kaib> three-f-jeff: i haven't thought this through yet, what i'll
probably do is handle all real time work on timer interrupts and then just let
everything else run normally.
18:27 -!- DarthArachides [n=DarthAra@unaffiliated/dartharachides] has joined
#go-nuts
18:28 < temoto> remote: but yes, you can make a python-like frontend
language and translate it into go.  You'll get garbage collection, light threads
and great type system for free.
18:28 < wcr> Any 'official' word on issue9 yet?  :D
18:28 -!- chachan [n=chachan@200.62.25.156] has quit ["KVIrc Insomnia 4.0.0,
revision: , sources date: 20090520, built on: 2009/06/06 11:44:47 UTC
http://www.kvirc.net/"]
18:28 <+kaib> three-f-jeff: rsc and i have been debating this slightly,
there really isn't really fixed interface for this yet.
18:28 < Aria> "nice book, go away"?
18:28 -!- mikkoh [i=mikkoh@xob.kapsi.fi] has joined #go-nuts
18:29 < musty> pancake, so I want to have that in my bashrc?
18:29 < pancake> i would put it in the profile, bash sucks
18:29 -!- kmc_ [n=kmcallis@76.8.64.166] has joined #go-nuts
18:29 < musty> pancake, I have "GOROOT=$HOME/go GOARCH=amd64
GOBIN=$HOME/go/bin GOOS=linux export GOARCH GOOS GOROOT GOBIN"
18:30 < Associat0r> temoto kinda like http://delight.sourceforge.net/
18:30 < musty> in my bashrc...
18:30 -!- p3rror [n=Handrix@196.12.229.94] has quit ["Quitte"]
18:30 -!- ribo [i=ribo@pfsense/mirrors/ribo] has joined #go-nuts
18:30 < pancake> i just did this in the shell, you only need this to build
18:30 -!- NfNitLoop [n=bip@FCodyC-1-pt.tunnel.tserv8.dal1.ipv6.he.net] has joined
#go-nuts
18:30 < musty> pancake, Sorry, just a bit confused about where this should
be.
18:30 < techknowlust> is anyone else having their build fail due to a http
test error ?
18:30 < NfNitLoop> yes.
18:30 < wqzzz> techknowlust: i wonder about that...
18:30 -!- InLoveWithGoogle [i=545b7b8f@gateway/web/freenode/x-ozkajwfkkbkvgssj]
has quit ["Page closed"]
18:30 < NfNitLoop> I just came here for that error.
18:30 < musty> pancake, would export PATH=$GOBIN:$PATH satisfy?
18:30 -!- jshriver [n=jshriver@cblmdm24-53-165-86.buckeyecom.net] has joined
#go-nuts
18:30 < NfNitLoop> I'm getting a lookup failure, even though I can dig the
domain just fine.
18:30 < musty> or do I need those ^ above.
18:30 < jshriver> greetings
18:30 < musty> hmm
18:31 < pancake> i dont understand why the build system depends on bash and
why they didnt put a small shellscript in the root automating this environ
problems
18:31 < jshriver> anyone here successfully build Go under Ubuntu Linux 386?
18:31 < musty> pancake, Can you show me what you did?  So I might emulate.
18:31 -!- zalgo [i=andreer@flode.pvv.ntnu.no] has left #go-nuts []
18:31 < Tronic> Hmm..  I guess this language has nothing to offer me.  D
seems like a better option if I ever decide that C++ isn't, after all, the perfect
solution for everything and beyond :)
18:31 < pancake> ah, and the 'ed' scripts doesnt works in my ubuntu8.04, in
archlinux its ok
18:31 < pancake> so enam.c are not generated correctly
18:31 < jvogel_> hi does ken thompson or rod pike actually get on irc?
18:31 < pancake> musty: yep 1m
18:31 < musty> pancake, thanks.
18:31 -!- Chipku [n=skaushik@122.172.26.250] has joined #go-nuts
18:31 < Tronic> I wish you luck, perhaps we'll see again later (depending on
where golang evolves).
18:31 -!- ruiwen [n=ruiwen@bb219-74-182-228.singnet.com.sg] has joined #go-nuts
18:32 < three-f-jeff> jvogel_: I saw rob on here earlier.
18:32 < jvogel_> whats his nick
18:32 -!- Tronic [i=tronic@dsl-hkibrasgw-ff51c300-29.dhcp.inet.fi] has left
#go-nuts []
18:32 < three-f-jeff> robpike
18:32 < musty> ...
18:32 < bear> techknowlust have you done a hg pull -u ? they made some
revisions yesterday to fix issues that were causing http and net test failures
18:32 -!- nullpo_ [n=nullpo@221x252x46x83.ap221.ftth.ucom.ne.jp] has quit
[Connection reset by peer]
18:32 < jvogel_> lol
18:32 < me__> hah, not r?
18:32 < jvogel_> ok
18:32 < swamytk> jshriver, i have built go on ubuntu 9.10 successfully and
compiled some programs also
18:32 -!- PHG [n=PHG@ltsp2.csl.tjhsst.edu] has joined #go-nuts
18:32 < glewis> jshriver: yes, just built successfully, no errors
18:32 < techknowlust> bear hg pulled in the last hour
18:32 < musty> jvogel_, why does it matter?
18:32 < NfNitLoop> bear: I'm having the same issues, and I just got my
initial pull an hour ago.
18:32 < jvogel_> musty: just wondering man
18:32 < bear> techknowlust, an hg pull -u or a hg clone?
18:32 < Brakkvatn> I'm having trouble building on my Fedora 11 amd64.  In
the building process I get an error that os_test.TestRemoveAll fails.
18:32 < jshriver> getting this while doing ./all.bash
18:32 < jshriver> bin/gotest: line 141: 13880 Trace/breakpoint trap
18:32 < bear> you need to do the hg pull -u *after* the initial hg blone
IIRC
18:33 < temoto> Associat0r: yeah kinda like, but Delight type system is
completely wrong.
18:33 < jvogel_> musty: i didnt meant it in a condescending way, i just
thought it'd be neat if i saw them on irc
18:33 < NfNitLoop> bear: Oh, huh.  trying the pull now.
18:33 * techknowlust checks zsh command history
18:33 < techknowlust> one sec
18:33 < techknowlust> bear: hg clone
18:33 < musty> jvogel_, *shrug*
18:33 < musty> hg clone -r ?
18:33 < swamytk> the compilation of go took around 2 to 3 mins in AMD Quad
core machine with 4GB RAM on ubuntu 9.10
18:33 < bear> techknowlust, yea, try: hg pull -u now and see if you get some
new updates
18:33 < techknowlust> I'm not familiar with mercurial, could this be the
cause of my problem?
18:33 < techknowlust> ok
18:33 < PHG> after you pull, you have to update
18:33 < PHG> iirc?
18:33 < NfNitLoop> techknowlust / bear: ah, yep, I see changes.
18:34 < musty> that's what -u does
18:34 < musty> iirc
18:34 < PHG> i'm sorry
18:34 < NfNitLoop> seems strange to have to pull immediately after cloning.
18:34 < NfNitLoop> (coming from bzr) :p
18:34 < temoto> Hey, BTW, shouldn't ./all.bash run some make with some -jN?
18:34 < bear> techknowlust, no - we are all on bleeding edge :) - the bug
fix party yesterday probably has not been pushed to a release yet
18:34 -!- qjcg [n=adminsfl@IP-208-88-110-46.mtl.fibrenoire.ca] has joined #go-nuts
18:34 -!- telemachus [n=telemach@216.223.212.2] has quit ["Leaving..."]
18:34 < techknowlust> I see
18:34 -!- robpike [n=robpike@nat/google/x-ptbyvwjgmcwjnyys] has joined #go-nuts
18:34 -!- JakeSays [n=quassel@c-67-177-58-221.hsd1.ut.comcast.net] has joined
#go-nuts
18:34 -!- mode/#go-nuts [+v robpike] by ChanServ
18:34 < wqzzz> techknowlust: i got "2 files updated" after hg pull -u just
right now
18:34 < musty> jvogel_, your wish has been answered.
18:34 < techknowlust> bear: if I clone would the .hg directory be included ?
18:34 < JakeSays> so no go for windows?  :(
18:34 < musty> Did anyone have qualms when installing with bash?
18:34 < emet> this web server code example is pretty cool
18:34 < temoto> I see MAKEFLAGS=-j4 in make.bash.  Great.
18:34 < jvogel_> musty: hehe
18:35 < emet> no I got it to compile and install
18:35 < bear> techknowlust, after running hg clone you should see a .hg dir
as part of the new files - yes
18:35 < emet> it was necessarily hard IMO, maybe use autotools next time?
:o
18:35 < PHG> i have a question though, why so many gotos in the source?
18:35 < PHG> though i havent looked through much.
18:35 < weggpod> how to convert string in int when is it possible
18:35 < weggpod> ?
18:35 < musty> jvogel_, Going to /QUERY him now?  :)
18:35 < techknowlust> bear: yes, the problem was I thought 'now' was a
required argument to the hg pull command
18:35 < PHG> are they faster?  (i am very new to c)
18:35 < musty> pancake, still around?
18:35 < techknowlust> running that now
18:35 -!- CodeBlock [n=CodeBloc@about/windows/regular/CodeBlock] has joined
#go-nuts
18:36 -!- impl [i=impl@atheme/member/impl] has joined #go-nuts
18:36 < techknowlust> thanks
18:36 < olegfink> silly question: I'm trying to call an anonymous func from
itself.  The first idea was to just generate an OCALL with curfn->nname, but of
course anonymous funcs don't have ->nname.  Is the only possible way to do this
is to add OCALLSELF in addition to OCALLFUNC and implement that in the backend?
18:36 < pancake> musty: yeah sorry im just busy at work
18:36 < bear> emet - it's a bootstrap compiler environment that is in flux -
i'm sure once they get the crosscompiler set for each environment i'm sure the
install will be cleaner
18:36 < emet> I don't think they are slower or faster
18:36 < jvogel_> musty: lol
18:36 < temoto> PHG: you will be surprised.  grep fuck kernel-source/ -r
18:36 < musty> pancake, ah ok.
18:36 < musty> bah.
18:36 < bear> techknowlust, ahh - sorry - the perils of command lines and
english in IRC :)
18:36 < jvogel_> musty: no i just wanted to see
18:36 < techknowlust> bear: tell me about it
18:37 < emet> PHG, I don't think they are slower or faster, most instruction
sets have a "jump" instruction tho which is basically a goto
18:37 < musty> GOROOT=$HOME/go/
18:37 < musty> GOARCH=amd64
18:37 < musty> GOBIN=$HOME/go/bin/
18:37 < musty> GOOS=linux
18:37 < musty> export GOARCH GOOS GOROOT GOBIN
18:37 < musty> That's not enough?
18:37 < musty> For my .bashrc I mean ...
18:37 < NfNitLoop> bear: Hrmm, even after the update, I'm getting
Dial("tcp", "", "www.google.com:80") = _, dial tcp www.google.com:80: lookup
www.google.com.  on 192.168.1.254:53: no answer from server
18:37 -!- connerk [n=connerk@cpe-069-134-147-205.nc.res.rr.com] has joined
#go-nuts
18:37 < emet> no musty
18:37 -!- phoodle [n=phoodle@brln-4d0c32df.pool.mediaWays.net] has joined #go-nuts
18:37 < musty> emet: what else must I do?
18:37 < emet> PATH=${PATH}:$GOBIN
18:38 < musty> That's all
18:38 < musty> ?
18:38 <+iant> NfNitLoop: I would just ignore that test failure
18:38 < emet> yea
18:38 < temoto> musty: for bash you can write export and variable definition
on same line.  export GOARCH=amd64
18:38 < temoto> that's not requirement
18:38 < musty> temoto, Eh, not a bash user...
18:38 -!- AlanT [n=Work@69.15.110.53] has joined #go-nuts
18:38 < jshriver> how do you do the mercueria update after the original
clone?
18:38 < NfNitLoop> iant: ah, ok.  :p
18:38 < soul9> hg pull -u
18:38 < bear> NfNitLoop, yes, there are some dns oddities right now that are
messing with the tests - I would just ignore them for now
18:38 < temoto> musty: and i guess you could escape some problems if you
omit last slash in GOROOT.
18:38 < vegai> jshriver: hg pull && hg update
18:39 -!- Irssi: #go-nuts: Total of 473 nicks [0 ops, 0 halfops, 4 voices, 469
normal]
18:39 < emet> musty, then you run ./bash.all and the commands will become
avail on your shell
18:39 < jshriver> ty
18:39 < temoto> cd $GOROOT/src && ./bash.all
18:39 < bear> ./all.bash
18:39 < temoto> right, all.bash
18:39 -!- Naktibalda [n=gm@ctv-79-132-171-55.vinita.lt] has left #go-nuts
["Išeinu"]
18:40 -!- mennis [n=mennis@adsl-068-016-104-079.sip.asm.bellsouth.net] has quit
[Read error: 104 (Connection reset by peer)]
18:41 -!- jmpnz [n=mennis@adsl-068-016-104-079.sip.asm.bellsouth.net] has joined
#go-nuts
18:41 < PHG> can go just use c libraries?
18:41 < PHG> like if i wanted to use opengl
18:41 -!- jmpnz is now known as mennis
18:41 <+iant> PHG: with some effort; see misc/cgo
18:41 <+iant> needs more docs
18:41 < PHG> ah, ok.
18:41 -!- KEBA [n=mario@f048066107.adsl.alicedsl.de] has joined #go-nuts
18:41 -!- KEBA [n=mario@f048066107.adsl.alicedsl.de] has left #go-nuts []
18:41 -!- Cassull [n=lys@p5DC14880.dip.t-dialin.net] has joined #go-nuts
18:41 -!- qjcg [n=adminsfl@IP-208-88-110-46.mtl.fibrenoire.ca] has left #go-nuts
[]
18:41 -!- sharpner [n=sharpner@dslb-088-065-034-229.pools.arcor-ip.net] has quit
["Verlassend"]
18:41 -!- jmarki [n=jmarki@bb121-7-106-186.singnet.com.sg] has joined #go-nuts
18:41 < temoto> Is (limited) support for list comprehensions
planned/considered?
18:41 -!- swamytk [n=swamytk@122.174.64.212] has quit ["Lost terminal"]
18:42 < jshriver> Is there a mailing list for Go?
18:42 <+iant> temoto: beyond range?
18:42 <+iant> jshriver: golang-nuts@googlegroups.com
18:42 < hat0> people really aren't getting range, are they
18:42 -!- Killerkid [n=l1am9111@host86-132-16-197.range86-132.btcentralplus.com]
has quit [Read error: 60 (Operation timed out)]
18:42 < hat0> maybe you guys ought to expand the docs about range a little,
huh.
18:42 < Brakkvatn> US Rangers
18:42 * musty wonders why Go chose to use mercurial
18:43 -!- brianmacdonald [n=brianmac@c-98-208-175-116.hsd1.fl.comcast.net] has
left #go-nuts []
18:43 < impl> because Mercurial is awesome!
18:43 < engla> musty: google code supports only hg and svn?
18:43 < PHG> i like mercurial, personally, we use it at my high school for
our intranet
18:43 < KillerX> are maps immutable?  if not, how can I dynamically add to a
map after declaring it?
18:43 <+iant> musty: because code.google.com uses mercurial
18:43 < musty> engla, No SVN here ...
18:43 < connerk> I'm guessing it's a Python thing.
18:43 < musty> iant, Ah, eh.
18:43 <+iant> KillerX: maps are not immutable, you assign them like "m[k] =
v"
18:43 -!- aschallich [n=amos@173-13-183-46-sfba.hfc.comcastbusiness.net] has left
#go-nuts []
18:43 -!- jobias [n=jobias@S01060024012ca838.ed.shawcable.net] has joined #go-nuts
18:43 < drhodes> In the context of channels, the <- operator allows for
what is provided by yield in python's enhanced generators (pep342)?
18:43 < musty> I don't think its great :)
18:43 < KillerX> iant: but, var x map[int]string; x[0] = "hello"; doesn't
work
18:44 * rog mourns tuples.
18:44 < musty> But, then again, I am running against those that chose it for
code.google
18:44 <+iant> musty: code.google.com is cool, Mercurial was the best choice
given that constraint
18:44 < PHG> rog: what is wrong with tuples?
18:44 -!- Chipku [n=skaushik@122.172.26.250] has quit [Remote closed the
connection]
18:44 < sstangl> what is the license on the Go gopher logo?
18:44 -!- Chipku [n=skaushik@122.172.26.250] has joined #go-nuts
18:44 -!- tumdum_ [n=tumdum@unaffiliated/tumdum] has joined #go-nuts
18:44 < engla> at least google code does support something else than svn
now.  so we can stop laughing
18:44 <+iant> sstangl: I think Creative Commons Attribution, see the bottom
of the home page
18:44 < jshriver> thanks the patches made my build work.
18:44 < rog> PHG: they're not in the language
18:44 < ment> ``need type assertion to use interface { } as string'' how do
i assert string type in for e = range l.Iter() { } where e is already declared as
string?
18:44 < emet> anyone know when I can get some example Go source code
18:44 < jvogel_> word
18:44 < musty> iant: I guess your recommendation might give me reason to
review it again, properly.
18:45 -!- ruiwen [n=ruiwen@bb219-74-182-228.singnet.com.sg] has left #go-nuts []
18:45 -!- bmac7 [n=brianmac@c-98-208-175-116.hsd1.fl.comcast.net] has joined
#go-nuts
18:45 < pancake> musty: sorry the lag
18:45 < pancake> musty: http://lolcathost.org/cgi-bin/wk/go
18:45 < PHG> oh.  i like tuples in python.  convenient way to return
multiple values.
18:45 < ment> erm, not how, where
18:45 -!- jmarki [n=jmarki@bb121-7-106-186.singnet.com.sg] has left #go-nuts
["Leaving"]
18:45 <+iant> emet: there is a lot in the libraries
18:45 < PHG> java doesn't have that, very annoying, at least as far as I
know?
18:45 <+iant> ment range I.iter().(string)
18:45 < bmac7> are there any database connection packages in the works?
18:45 < rog> PHG: and they're really lovely for expressing CSP channel
protocols
18:45 -!- akdom [n=akesling@wvc32573rh.rh.ncsu.edu] has joined #go-nuts
18:45 <+iant> musty: Mercurial seems fine to me, we're not recommending it
particularly, code.google.com has some page on why they used Mercurial instead of
git
18:45 < PHG> rog: i wish i knew what that was.
18:45 < jvogel_> akdom: you're not in class today
18:46 < rog> PHG: go has multiple-value-return, but tuples aren't
first-class.
18:46 -!- raichoo [n=raichoo@e181236190.adsl.alicedsl.de] has joined #go-nuts
18:46 <+iant> bmac7: several people have mentioned database connections, I
haven't seen any code
18:46 -!- Killerkid [n=l1am9111@host86-132-16-197.range86-132.btcentralplus.com]
has joined #go-nuts
18:46 < PHG> rog: i meant CSP channel protocols, what are those?
18:46 < musty> iant: ah, ok.
18:46 < ment> iant: invalid type assertion: (f.*List·Iter()).(string)
(non-interface type <-chan interface { } on left)
18:46 -!- slicslak [n=slicslac@c-68-50-207-133.hsd1.dc.comcast.net] has quit [Read
error: 60 (Operation timed out)]
18:46 < musty> thanks pancake
18:47 -!- grawity [n=grawity@78-56-197-6.static.zebra.lt] has joined #go-nuts
18:47 <+iant> ment: a type assertion requires an interface type on the left,
I'm not sure just how to parse your code
18:47 < techknowlust> bear: still getting the failed lookup error
18:47 < techknowlust> changed the dns server I was using and everything.
any ideas?
18:47 < JakeSays> so how portable is go?  i'm wondering how difficult a llvm
port would be.
18:47 < temoto> iant: i couldn't find documentation for range.
18:47 -!- roto [n=roto@64.79.202.154] has joined #go-nuts
18:47 < engla> musty: I found this about hg git
http://code.google.com/p/support/wiki/DVCSAnalysis
18:47 <+iant> techknowlust: I would just ignore a net or http test failure,
the compiler and libraries will be built and installed before the test fails
18:47 < bear> techknowlust, are you on a mac?
18:47 -!- Silverwolf [n=silverwo@dial208-250.dialup.nus.edu.sg] has quit [Read
error: 110 (Connection timed out)]
18:47 < jshriver> Go reminds me of Pascal or Ada, interesting
18:47 -!- PRab [n=prabahy@c-71-238-57-17.hsd1.mi.comcast.net] has joined #go-nuts
18:47 <+iant> JakeSays: I hope to make the gccgo frontend more portable to
something like LLVM, there is a fair amount of work to do, though
18:48 < bear> or using a firewall - the issue with dns and go is documented
- for now it's a work-around-solution :)
18:48 <+iant> temoto: see the language spec
18:48 < techknowlust> bear: yup
18:48 < KillerX> iant: this code crashes on line 6.
http://pastebin.com/m40d71352
18:48 < temoto> iant: i meant things like [n..10], [5..].
18:48 < JakeSays> iant: do you know if there are plans for a windows port?
18:48 -!- ajray [n=alex@nom26731d.nomadic.ncsu.edu] has joined #go-nuts
18:48 < PHG> i still haven't gotten it to install :/
18:49 < temoto> iant: range doesn't seem to address that.
18:49 < KillerX> JakeSays: no plans for a windows port yet
18:49 -!- mr_ank [n=mr_ank@59.167.161.33] has joined #go-nuts
18:49 < PHG> i wonder if it would be hard to make a gentoo ebuild
18:49 < JakeSays> hmm.
18:49 < rog> well, if you did have tuples, you could write something like:
chan<- (string, <-chan int)
18:49 -!- eno__ is now known as eno
18:49 < rog> PHG: ...  which would express an RPC channel that takes a
string and returns an int
18:50 < jshriver> Anyone have the URL for the language spec?
18:50 -!- slide_rule [i=81028735@gateway/web/freenode/x-vwbfmmlcotcabeoq] has quit
["Page closed"]
18:50 < rog> as it is you have to define a struct for the (string, <-chan
int) which is inconvenient
18:50 < GeDaMo> http://golang.org/doc/go_spec.html
18:50 -!- kingisaac [n=ihildebr@nat1.oklahoman.net] has left #go-nuts []
18:50 -!- aaront [n=aaront@d24-141-25-171.home.cgocable.net] has joined #go-nuts
18:50 -!- danopia` [n=danopia@fullcirclemagazine/developer/danopia] has joined
#go-nuts
18:50 < PHG> rog: sorry, probably shouldn't bother explaining it to me, i
don't know what an rpc channel is
18:51 -!- comrade [i=comrade@97.107.139.242] has joined #go-nuts
18:51 -!- carllerche [n=carllerc@enginey-9.border1.sfo002.pnap.net] has joined
#go-nuts
18:51 < PHG> rog: i just started using c about a month ago in my high school
programming class, so its probably way above my level
18:51 -!- dajero [n=dajero@82-169-246-141.ip.telfort.nl] has quit [Read error: 60
(Operation timed out)]
18:51 < grawity> Hi *.  I just tried building Go on a Debian 5 VPS, and all
the final tests fail with "cat: /tmp/gotest1-1247-grawity: No such file or
directory"
18:52 -!- teneighty [n=teneight@cpe-76-93-137-167.san.res.rr.com] has joined
#go-nuts
18:52 < temoto> PHG: i suggest you read SCIP book.  That's one of the best
reading for starter programmer.
18:52 < PHG> SCIP?
18:52 < temoto> SICP actually
18:52 < rog> PHG: google "remote procedure call"
18:52 < ment> iant: http://codepad.org/TyIEnrgG
18:52 < PHG> and i'm not exactly starter.  been programming in java for
years, python for years, vb6 since 4th grade.  but then again not exactly college
level.
18:52 -!- mr_ank [n=mr_ank@59.167.161.33] has left #go-nuts []
18:52 -!- eulalia [n=eulalia4@wikia/Eulalia459678] has quit ["bbl"]
18:52 <+iant> temoto: I'm not sure I understand [n..10],[5..]
18:52 < aaront> just finished my first Go program, it's very spiffy
18:53 < KillerX> iant: I figured out the problem I wasn't calling make() on
the map to allocate it
18:53 < KillerX> thanks
18:53 < emet> cool
18:53 < bobappleyard1> uriel:
http://www.reddit.com/r/golang/comments/a3cra/reading_utf8_characters_from_a_buffer/
18:53 < temoto> iant: [n..10] is a list from n to 10, each item is +1.
18:53 <+iant> KillerX: cool
18:54 -!- charles_ [n=chatzill@adsl-065-005-190-254.sip.asm.bellsouth.net] has
joined #go-nuts
18:54 -!- zalgo [i=andreer@flode.pvv.ntnu.no] has joined #go-nuts
18:54 -!- JakeSays [n=quassel@c-67-177-58-221.hsd1.ut.comcast.net] has left
#go-nuts ["Headin' out.."]
18:54 < temoto> iant: [5..] is an infinite list starting from 5, each item
is +1.  In terms of Go, it may be expressed as an implicit channel and implicit
goroutine go-ed for you.
18:54 -!- skampler [n=sk@unaffiliated/skampler] has left #go-nuts []
18:54 <+iant> temoto, KillerX: OK, Go doesn't have anything like that, sorry
18:54 -!- Chipku [n=skaushik@122.172.26.250] has left #go-nuts []
18:54 -!- zer0c00l [n=user@117.199.131.146] has quit ["ERC Version 5.3 (IRC client
for Emacs)"]
18:54 -!- slicslak [n=slicslac@c-68-50-207-133.hsd1.dc.comcast.net] has joined
#go-nuts
18:54 -!- aldaor [n=chatzill@201.250.99.147] has joined #go-nuts
18:55 -!- teneighty [n=teneight@cpe-76-93-137-167.san.res.rr.com] has left
#go-nuts []
18:55 -!- mtrapr [n=dorian@82-35-106-178.cable.ubr06.dals.blueyonder.co.uk] has
left #go-nuts []
18:55 < charles_> missing item from go language, const of type binary, hex
const is 0xBEEF and binary const is 0b1011010100101 etc...  WHY NOT???
18:56 -!- fynn [n=fynn@unaffiliated/fynn] has joined #go-nuts
18:56 -!- MarkAtwood [n=matwood@gorf.tangent.org] has quit [Read error: 60
(Operation timed out)]
18:56 -!- srepetsk [n=srepetsk@ltsp2.csl.tjhsst.edu] has joined #go-nuts
18:56 < emet> Go's object model is pretty interesting I think
18:56 -!- srepetsk [n=srepetsk@ltsp2.csl.tjhsst.edu] has left #go-nuts []
18:56 -!- bitform [n=bitform@pdpc/supporter/professional/bitform] has joined
#go-nuts
18:56 < olegfink> iant: sorry to address directly, but was my question from
20 minutes ago ignored or just overlooked?
18:56 <+iant> charles_: I guess we just didn't find a need while working
with the language; hex and octal seem adequate, at least for now
18:56 <+iant> olegfink: overlooked, sorry
18:56 <+iant> what was it?
18:56 < emet> so there is no inheritance, just interfaces, and a object can
implement a interface external from it's definition?
18:57 < temoto> BTW i was amazed how good Go optimizer is.
18:57 -!- cherez [n=cherez@131.151.189.189] has joined #go-nuts
18:57 -!- m0rra [n=m0rra@233.240.191.90.dyn.estpak.ee] has quit ["Ex-Chat"]
18:57 <+iant> emet: there is inheritance in the form of anonymous embedded
fields
18:57 < charles_> iant, I know tradition and all, just a little easier than
conversion to hex all the time, VERY EASY tho
18:57 -!- travisbrady [n=tbrady@67-207-96-194.static.wiline.com] has joined
#go-nuts
18:57 < temoto> compared to nonexisting python optimizer
18:57 < bobappleyard1> emet: yeah, pretty much.  an object implements an
interface if it has the required methods
18:57 -!- agl [n=agl@72.14.229.81] has joined #go-nuts
18:57 -!- mode/#go-nuts [+v agl] by ChanServ
18:57 < emet> but the object doesn't need to even know about the interface
right?
18:57 < tetha> temoto: you do know that there are optimizing python
implementations around?
18:57 < bobappleyard1> emet: no it doesn't
18:57 < fynn> temoto: ...  that's comparing apples to oranges.
18:57 < emet> that's awesome
18:58 < grawity> I just tried building Go on a Debian 5 VPS, and all the
final tests fail with "cat: /tmp/gotest1-1247-grawity: No such file or directory"
(http://phoenix.binaryhex.com/~grawity/all.bash.log)
18:58 < emet> that is really cool
18:58 < temoto> emet: no objects.  The best implementation of object model.
18:58 < engla> temoto: google is working on optimizing python ;-) among
others
18:58 < charles_> inat, BTW very good job so far, it is at the right place a
the right time, (25 year C programmer here).  ;)
18:58 < temoto> tetha: do you mean unladen?
18:58 < saml> can i build using mingw?
18:58 < emet> unladen swallow
18:58 < olegfink> iant, I was trying to call an anonymous func from itself.
The mst obvious (and wrong) idea was to generate an OCALL with curfn->nname,
and the only other option I see is to add OCALLSELF in addition to OCALLFUNC and
implement that in backend, but that look awful.  Do I miss anything else?
18:58 <+iant> grawity: I don't see that in yoiur log
18:58 < three-f-jeff> emet, temoto: the 'no objects' OO is what blew my mind
when I read the specs.
18:58 < tetha> temoto: unladen, pypy, jython, ironpython, w/e
18:58 <+iant> grawity: your log looks fine
18:58 -!- e2d2 [n=ekuusela@tk1.oulu.fi] has joined #go-nuts
18:58 < musty> I still get: make.bash: line 20:
/home/stinker/go/bin/quietgcc: No such file or directory
18:58 < tetha> temoto: psyco, also
18:59 < engla> temoto: but pypy is publishing exciting results too (nothing
usable yet)
18:59 < musty> engla: ^
18:59 < bobappleyard1> tetha: stackless too
18:59 < temoto> Ah, right, psyco is one i know.
18:59 < ment> ok, any suggestions where to put type assertion in
http://codepad.org/W3qXqusW
18:59 -!- q[mrw] [n=russd@willers.employees.org] has quit ["Leaving"]
18:59 <+iant> olegfink: you are asking about the compiler internals?  Sorry,
I don't know the answer.  What you say sounds plausible
18:59 < musty> engla, Think you could help me out, I cd'd into go/ but
there's no bin ...
18:59 < e2d2> musty, i had that when i didn't have $GOBIN in path
18:59 < tetha> engla: I'm really interested in how good pypy will become
18:59 < temoto> Anyway, i didn't mean to offense python.
18:59 < musty> e2d2: I added it to my path though.
18:59 < PHG> you can link c stuff in python programs, right?  that would be
interesting to be able to do for go programs
18:59 < engla> musty: I can't help with go, sorry
19:00 -!- fynn [n=fynn@unaffiliated/fynn] has left #go-nuts ["Leaving"]
19:00 < PHG> like, have go stuff in python?
19:00 < musty> I need to rm -rf go/ after I re-add it again?
19:00 < bobappleyard1> PHG: ctypes
19:00 < musty> engla, ok.
19:00 <+iant> menty: for e = range f.Iter().(string)
19:00 < bobappleyard1> so yes
19:00 < GeDaMo> musty, I had to create the GOBIN directory manually
19:00 < temoto> bobappleyard1: we need gotypes now :)
19:00 < bobappleyard1> heh
19:00 < musty> GeDaMo, oh ...
19:00 -!- synx` [n=aaa@173-8-153-35-SFBA.hfc.comcastbusiness.net] has joined
#go-nuts
19:00 < charles_> iant, one problem that gets overlooked is the install
issue, will that be addressed at some point?  or are developers on their own??
19:01 < bobappleyard1> charles_: it's been out for a couple of days
19:01 < musty> GeDaMo, so, you made your GOBIN dir seperate from go/ meaning
that its not "in" your go/ ?
19:01 <+iant> charles_: which install issue?
19:01 -!- techknowlust [n=patrick@87.192.246.254] has left #go-nuts []
19:01 -!- MixMix [n=mixmix55@86-41-204-13-dynamic.b-ras1.lmk.limerick.eircom.net]
has quit []
19:01 -!- tumdum [n=tumdum@unaffiliated/tumdum] has quit [Connection timed out]
19:01 -!- tumdum_ is now known as tumdum
19:01 < GeDaMo> musty, it's in go/
19:01 < charles_> iant, I mean of APPS not the go system itself
19:01 < musty> GeDaMo, you use bash?
19:01 < GeDaMo> musty, yes
19:01 < bobappleyard1> when it gets into distros etc any issues go away
19:01 <+iant> charles_: an app is just statically linked so can be installed
anywhere; we don't really have a solution, it's true
19:01 < charles_> iant, I'm a developer and can manage the install but my
users...
19:02 <+iant> well, we're not distro maintainers
19:02 < olegfink> iant: yes, cmd/gc.  Is there anyone you'd recommend
bothering with this or should I just go the backend route?
19:02 < emet> iant, is there a plan on removing the need to env variables?
19:02 < bobappleyard1> they don't need to worry charles_
19:02 -!- ag90 [n=ag90@nat/ibm/x-ypecaxijaeflslzk] has quit []
19:02 -!- dj_tjerk [n=pietjebe@94.209.198.98] has left #go-nuts []
19:02 < bobappleyard1> it's just a binary for them
19:02 <+iant> olegfink: I would send an e-mail to golang-nuts
19:02 < bobappleyard1> no runtime etc
19:02 < charles_> have been looking for cross develop system as to install
for users
19:02 < musty> GeDaMo, still around?
19:02 < ment> iant: again, that doesn't help (invalid type assertion error),
results here: http://codepad.org/1I2NmNuH
19:02 < GeDaMo> musty: yes
19:02 -!- ninja123 [n=ninja123@122.164.189.205] has quit [Remote closed the
connection]
19:02 < musty> GeDaMo, sorry, see pm pelase.
19:02 < musty> please*
19:02 < ment> iant: unless i'm missing something
19:02 <+iant> emet: no particular plan at the moment
19:02 < SRabbelier> Gah, what did you guys do to the go project page on
codesite?  Why this hack?  "http://code.google.com/p/go/wiki/Source?tm=4" ?
19:02 < charles_> bobapple, net seing the point
19:02 -!- delza [n=delza@d66-183-63-49.bchsia.telus.net] has joined #go-nuts
19:02 -!- ikkebr [n=ikkibr@unaffiliated/ikkebr] has joined #go-nuts
19:02 < GeDaMo> musty, I have them turned off, hold on a sec
19:02 -!- ikke [n=ikkibr@unaffiliated/ikkebr] has quit [Read error: 104
(Connection reset by peer)]
19:03 < bobappleyard1> charles_: your users don't need to install go
19:03 -!- ninja123 [n=ninja123@122.164.189.205] has joined #go-nuts
19:03 < musty> GeDaMo, ah.
19:03 -!- chen [n=chen@117.192.233.39] has quit ["Leaving"]
19:03 < charles_> the WHOLE idea of JAVA write once run anywhere is that
"they" managed the install to an extent
19:03 < phoodle> hi all, trying to build on os x (10.5.8)--build is
complaining it can't find "quietgcc"--is that supposed to be an alias?
19:03 -!- dagle [n=dagle@host162-104.bornet.net] has joined #go-nuts
19:03 < bobappleyard1> charles_: just the binary you make, which is a matter
of copying a file
19:03 < travisbrady> wow, nearly 500 members already
19:03 < charles_> bobapple, still not getting it.
19:03 < three-f-jeff> phoodle: it's a bash script.
19:03 -!- rbancroft [n=rumble@S01060014bf54b5eb.cg.shawcable.net] has joined
#go-nuts
19:03 -!- gzt [n=gzt@24-151-178-146.dhcp.kgpt.tn.charter.com] has joined #go-nuts
19:03 < three-f-jeff> phoodle: is $GOBIN in your path?
19:03 < grawity> iant: Darn, forgot to redirect stderr to log.  Uploaded a
new one to the same location.
(http://phoenix.binaryhex.com/~grawity/all.bash.log)
19:03 <+iant> ment: sorry, you are quite right
19:04 < bobappleyard1> travisbrady: members?
19:04 < phoodle> three-f-jeff: no, i'll add it
19:04 <+iant> You need to do for p := range f.Iter() { e := p.(string);
19:04 < bear> charles_, the issue of app installs is moot with a single
binary generated by the compiler - you just have to ensure you have binaries for
all target platforms
19:04 < eno> iant: besides pkg and GOBIN/*, what need to be in distribution
for a golang package?
19:04 < bear> charles_, but if the language starts generating traction and
libraries become common, then package management becomes an issue and that's a
whole other pain in the tuckus
19:04 -!- Raziel2p` [n=Raziel2p@ti0032a380-dhcp0316.bb.online.no] has joined
#go-nuts
19:04 -!- trutkin [n=trutkin@64.1.25.210.ptr.us.xo.net] has joined #go-nuts
19:04 < charles_> bear, now we are getting close, how about a universal
binary or byte codes??
19:04 < mrd`> Man, I feel like I'm back in CS 101.
19:05 < delza> phoodle: I had the same problem.  You $GOBIN has to be in
your path, has to exist, and it can't be in your path as "~/bin" but works as
"$HOME/bin"
19:05 < bear> charles_, not yet as the compiler generates very specific
instructions - you could try the gccgo frontend but even that would generate
specific arch targeted binaries
19:05 < ment> iant: works, thanks
19:05 < phoodle> three-f-jeff: thanks, adding to path seems to work, is now
compiling, delza: thanks as well
19:05 < charles_> bear, I only mention it because it is hard, if it was
easy, I'de have the solution
19:05 < travisbrady> bobappleyard1: the number of people in this channel
19:05 <+iant> eno: I think that's it
19:06 < ajray> is there a Go book yet?
19:06 < bobappleyard1> travisbrady: oooh i see
19:06 < Selar> geez
19:06 < charles_> bear, need to think ahead if possible
19:06 < bear> charles_, hehe - true - but I think the golang guys are
working on the "crawl" phase before they can get to the "sprint" phase that is
what distro packages are (IMO)
19:06 < Selar> it just came out
19:06 < Selar> the tutorials and videos are awesome right now
19:06 < KillerX> why can I not do this: http://pastebin.com/m5d74a6df (using
a struct type as values in a map)?
19:06 < bear> charles_, yea, the issue will become important as soon as they
allow for linking to outside libraries
19:06 < charles_> bear, the key to a system is design and getting that
right, MUCH hard to re-design than the other way around
19:06 < olegfink> iant: OK, thanks.
19:07 < eno> iant: thx, i've done a cross arm build, doing a native build
right now
19:07 < charles_> bear, so at least try
19:07 -!- Netsplit calvino.freenode.net <-> irc.freenode.net quits:
itrekkie, sobersabre, sfuentes, Hertta, monteslu, bovv, MarkBao, nnyby, r00ttap_,
smcquay, (+355 more, use /NETSPLIT to show all of them)
19:07 -!- Netsplit calvino.freenode.net <-> irc.freenode.net quits:
spiffytech, ceh, GeDaMo, unomystEz, drhodes, KiNgMaR, jnwhiteh, pois0n, defish,
garbeam, (+74 more, use /NETSPLIT to show all of them)
19:07 < chrome> oh noes
19:08 < chrome> the internet has broken
19:11 -!- Lorthirk [n=cm0901@109.114.37.131] has joined #go-nuts
19:13 -!- crem [n=moo@mm-86-150-57-86.adsl.mgts.by] has quit [Connection timed
out]
19:19 -!- Irssi: #go-nuts: Total of 27 nicks [0 ops, 0 halfops, 0 voices, 27
normal]
19:20 -!- Tak [n=nnnnnnnn@cpe-24-160-108-174.tampabay.res.rr.com] has joined
#go-nuts
19:29 < danopia`> bye all
19:29 < danopia`> lol
19:33 < reppie> names
19:33 < reppie> /
19:36 < danopia`> kick reppie
19:36 < danopia`> /
19:36 * danopia` hides
--- Log closed Wed Nov 11 19:44:35 2009
--- Log opened Wed Nov 11 19:44:38 2009
19:44 -!- uriel [n=uriel@li43-28.members.linode.com] has joined #go-nuts
19:44 -!- Irssi: #go-nuts: Total of 71 nicks [0 ops, 0 halfops, 1 voices, 70
normal]
19:45 < GeDaMo> if you do env | grep GO it shows the environment variables
as set?
19:45 -!- Irssi: Join to #go-nuts was synced in 65 secs
19:46 -!- bartwe [n=bwerf@bwerf.xs4all.nl] has joined #go-nuts
19:46 -!- reppie [i=refugee@elvis.mu.org] has joined #go-nuts
19:46 -!- ssb [n=ssb@213.167.39.150] has joined #go-nuts
19:46 -!- mncaudill [n=nolan@67-207-138-6.slicehost.net] has joined #go-nuts
19:46 -!- ponce [n=ponce@paradisia.net] has joined #go-nuts
19:46 -!- chrome [i=chrome@202.60.77.116] has joined #go-nuts
19:46 -!- jiing_ [n=jiing@59-120-12-62.HINET-IP.hinet.net] has joined #go-nuts
19:46 -!- tabo [n=tabot@camelot.tabo.pe] has joined #go-nuts
19:46 -!- Ycros [n=ycros@211.30.206.246] has joined #go-nuts
19:46 -!- iarwain [n=iarwain@ec2-79-125-6-47.eu-west-1.compute.amazonaws.com] has
joined #go-nuts
19:46 -!- Yappo_ [n=yappo@221x243x122x124.ap221.ftth.ucom.ne.jp] has joined
#go-nuts
19:46 -!- hnsr [n=hnsr@infinidim.aphax.nl] has joined #go-nuts
19:46 -!- __gilles [n=gilles@gw.poolp.org] has joined #go-nuts
19:46 -!- JBeshir [n=namegduf@138-38-226-61.resnet.bath.ac.uk] has joined #go-nuts
19:46 -!- BlunderBuss [n=BlunderB@12.54.221.117] has joined #go-nuts
19:46 -!- kaeso [n=lucab@debian/developer/kaeso] has joined #go-nuts
19:46 -!- elmarco [n=elmarco@a83-245-167-151.elisa-laajakaista.fi] has joined
#go-nuts
19:46 -!- ConSi [i=consi@sh.8px.pl] has joined #go-nuts
19:46 -!- vmac [n=vmac@h69-128-47-244.mdsnwi.dedicated.static.tds.net] has joined
#go-nuts
19:46 -!- Smergo [n=smergo@mail.hellstrom.st] has joined #go-nuts
19:46 -!- RooTer [i=rooter@87-205-66-223.adsl.inetia.pl] has joined #go-nuts
19:46 -!- nofoo [n=nofoo@helixnetworks.de] has joined #go-nuts
19:46 -!- jbergstroem [n=lfe@bergstroem.nu] has joined #go-nuts
19:46 -!- NfNitLoop [n=bip@FCodyC-1-pt.tunnel.tserv8.dal1.ipv6.he.net] has joined
#go-nuts
19:46 -!- danopia` [n=danopia@fullcirclemagazine/developer/danopia] has joined
#go-nuts
19:46 -!- Lorthirk [n=cm0901@109.114.37.131] has joined #go-nuts
19:46 -!- Tak [n=nnnnnnnn@cpe-24-160-108-174.tampabay.res.rr.com] has joined
#go-nuts
19:47 -!- jordibunster [n=jordi@mail.cardiomems.com] has joined #go-nuts
19:47 -!- smooge [n=smooge@int.smoogespace.com] has joined #go-nuts
19:47 -!- akeidolon [i=eidolon@firefly.cat.pdx.edu] has joined #go-nuts
19:47 -!- Zaba [n=zaba@about/goats/billygoat/zaba] has joined #go-nuts
19:47 -!- justin- [n=justin`@cpe-76-179-254-13.maine.res.rr.com] has joined
#go-nuts
19:47 -!- i0n1 [n=a@88-117-117-212.adsl.highway.telekom.at] has joined #go-nuts
19:47 -!- _InTeNsDoWn_ [n=amg@bl7-17-90.dsl.telepac.pt] has joined #go-nuts
19:47 -!- rando [n=markd@c-24-4-237-105.hsd1.ca.comcast.net] has joined #go-nuts
19:47 -!- lite_ [n=lite@ip-89.171.243.42.static.crowley.pl] has joined #go-nuts
19:47 -!- adheus [n=adheus@ns0.rix.com.br] has joined #go-nuts
19:47 -!- loureiro [n=loureiro@189.2.128.130] has joined #go-nuts
19:47 -!- mattgirv [n=mattgirv@bb-87-80-191-202.ukonline.co.uk] has joined
#go-nuts
19:47 -!- cbeck [n=phylum@c-67-170-181-181.hsd1.or.comcast.net] has joined
#go-nuts
19:47 -!- qeed [n=qeed@adsl-85-37-109.mco.bellsouth.net] has joined #go-nuts
19:47 -!- ianto [n=chris@pdpc/supporter/student/ianto] has joined #go-nuts
19:47 -!- hanse [n=hanse@188-23-77-105.adsl.highway.telekom.at] has joined
#go-nuts
19:47 -!- asyncster [n=asyncste@206.169.213.106] has joined #go-nuts
19:47 -!- rplnt_omg [n=Mato@r11ex225.net.upc.cz] has joined #go-nuts
19:47 -!- scandal [n=nobody@unaffiliated/scandal] has joined #go-nuts
19:47 -!- KillerX [n=anant@gentoo/developer/KillerX] has joined #go-nuts
19:47 -!- mkanat [n=mkanat@c-67-188-1-39.hsd1.ca.comcast.net] has joined #go-nuts
19:47 -!- Exstatica [i=Exstatic@freenode/staff/exstatica] has joined #go-nuts
19:47 -!- Clooth [n=Clooth@cs27062173.pp.htv.fi] has joined #go-nuts
19:47 -!- gri [n=gri@nat/google/x-tlldgveiqridhcnl] has joined #go-nuts
19:47 -!- dajero [n=dajero@82-169-246-141.ip.telfort.nl] has joined #go-nuts
19:47 -!- bmac7 [n=brianmac@32.161.223.193] has joined #go-nuts
19:47 -!- tarsius4 [n=tarsius4@dhcp062-088.openport.buffalo.edu] has joined
#go-nuts
19:47 -!- defectiv [n=clays@c-24-5-65-40.hsd1.ca.comcast.net] has joined #go-nuts
19:47 -!- ag90 [n=ag90@nat/ibm/x-agwmrqilhqistnfo] has joined #go-nuts
19:47 -!- arik181 [i=arik181@firefly.cat.pdx.edu] has joined #go-nuts
19:47 -!- lgas [n=user@173-11-107-76-SFBA.hfc.comcastbusiness.net] has joined
#go-nuts
19:47 -!- cying [n=cying@174.46.232.250] has joined #go-nuts
19:47 -!- jaska^ [i=jaska@CDLXXI.voas.sl-laajakaista.fi] has joined #go-nuts
19:47 -!- jamesr [n=jamesr@nat/google/x-zieugxahnpggoohw] has joined #go-nuts
19:47 -!- trutkin [n=trutkin@64.1.25.210.ptr.us.xo.net] has joined #go-nuts
19:47 -!- Raziel2p` [n=Raziel2p@ti0032a380-dhcp0316.bb.online.no] has joined
#go-nuts
19:47 -!- gzt [n=gzt@24-151-178-146.dhcp.kgpt.tn.charter.com] has joined #go-nuts
19:47 -!- rbancroft [n=rumble@S01060014bf54b5eb.cg.shawcable.net] has joined
#go-nuts
19:47 -!- ninja123 [n=ninja123@122.164.189.205] has joined #go-nuts
19:47 -!- ikkebr [n=ikkibr@unaffiliated/ikkebr] has joined #go-nuts
19:47 -!- delza [n=delza@d66-183-63-49.bchsia.telus.net] has joined #go-nuts
19:47 -!- synx` [n=aaa@173-8-153-35-SFBA.hfc.comcastbusiness.net] has joined
#go-nuts
19:47 -!- e2d2 [n=ekuusela@tk1.oulu.fi] has joined #go-nuts
19:47 -!- agl [n=agl@72.14.229.81] has joined #go-nuts
19:47 -!- travisbrady [n=tbrady@67-207-96-194.static.wiline.com] has joined
#go-nuts
19:47 -!- cherez [n=cherez@131.151.189.189] has joined #go-nuts
19:47 -!- aldaor [n=chatzill@201.250.99.147] has joined #go-nuts
19:47 -!- slicslak [n=slicslac@c-68-50-207-133.hsd1.dc.comcast.net] has joined
#go-nuts
19:47 -!- zalgo [i=andreer@flode.pvv.ntnu.no] has joined #go-nuts
19:47 -!- carllerche [n=carllerc@enginey-9.border1.sfo002.pnap.net] has joined
#go-nuts
19:47 -!- comrade [i=comrade@97.107.139.242] has joined #go-nuts
19:47 -!- ServerMode/#go-nuts [+vv gri agl] by irc.freenode.net
19:47 -!- PRab [n=prabahy@c-71-238-57-17.hsd1.mi.comcast.net] has joined #go-nuts
19:47 -!- roto [n=roto@64.79.202.154] has joined #go-nuts
19:47 -!- grawity [n=grawity@78-56-197-6.static.zebra.lt] has joined #go-nuts
19:47 -!- tumdum [n=tumdum@unaffiliated/tumdum] has joined #go-nuts
19:47 -!- jobias [n=jobias@S01060024012ca838.ed.shawcable.net] has joined #go-nuts
19:47 -!- mennis [n=mennis@adsl-068-016-104-079.sip.asm.bellsouth.net] has joined
#go-nuts
19:47 -!- phoodle [n=phoodle@brln-4d0c32df.pool.mediaWays.net] has joined #go-nuts
19:47 -!- connerk [n=connerk@cpe-069-134-147-205.nc.res.rr.com] has joined
#go-nuts
19:47 -!- impl [i=impl@atheme/member/impl] has joined #go-nuts
19:47 -!- CodeBlock [n=CodeBloc@about/windows/regular/CodeBlock] has joined
#go-nuts
19:47 -!- robpike [n=robpike@nat/google/x-ptbyvwjgmcwjnyys] has joined #go-nuts
19:47 -!- PHG [n=PHG@ltsp2.csl.tjhsst.edu] has joined #go-nuts
19:47 -!- jshriver [n=jshriver@cblmdm24-53-165-86.buckeyecom.net] has joined
#go-nuts
19:47 -!- ribo [i=ribo@pfsense/mirrors/ribo] has joined #go-nuts
19:47 -!- kmc_ [n=kmcallis@76.8.64.166] has joined #go-nuts
19:47 -!- mikkoh [i=mikkoh@xob.kapsi.fi] has joined #go-nuts
19:47 -!- DarthArachides [n=DarthAra@unaffiliated/dartharachides] has joined
#go-nuts
19:47 -!- ni| [n=james@isp2-resnet-nat1.union.edu] has joined #go-nuts
19:47 -!- remote [n=remote@unaffiliated/remote] has joined #go-nuts
19:47 -!- triplez [n=triplez@cm52.sigma225.maxonline.com.sg] has joined #go-nuts
19:47 -!- olegfink [n=olegfink@snupt.com] has joined #go-nuts
19:47 -!- seymour [i=mike@dsl-244-114-37.telkomadsl.co.za] has joined #go-nuts
19:47 -!- DrNach [n=nach@85-250-85-159.bb.netvision.net.il] has joined #go-nuts
19:47 -!- rbohn [n=rbohn@192.206.100.4] has joined #go-nuts
19:47 -!- halfdan [n=halfdan@p57A94492.dip.t-dialin.net] has joined #go-nuts
19:47 -!- MarkBao [n=MarkBao@pool-98-110-164-56.bstnma.fios.verizon.net] has
joined #go-nuts
19:47 -!- jvogel_ [n=jonathan@friedpancakes.com] has joined #go-nuts
19:47 -!- Koen_ [n=Koen@83.101.24.153] has joined #go-nuts
19:47 -!- Counterspell [n=noname@adsl-99-18-61-121.dsl.irvnca.sbcglobal.net] has
joined #go-nuts
19:47 -!- Bao [n=bao@h-200-46.A212.priv.bahnhof.se] has joined #go-nuts
19:47 -!- teralaser [n=teralase@unaffiliated/teralaser] has joined #go-nuts
19:47 -!- mutilator [n=muti@2607:fbd0:10:1:b4ad:553f:ea66:ae14] has joined
#go-nuts
19:47 -!- arty_ [n=arty@reactos/developer/arty] has joined #go-nuts
19:47 -!- jeng [n=chatzill@75.110.231.66] has joined #go-nuts
19:47 -!- kaib [n=kaib@nat/google/x-tieezoxdpezugiir] has joined #go-nuts
19:47 -!- dblaine [n=darrend@haybaler.sackheads.org] has joined #go-nuts
19:47 -!- mitchellh [n=mitchell@c-71-231-140-22.hsd1.wa.comcast.net] has joined
#go-nuts
19:47 -!- paddyez [n=paddy@wikipedia/paddyez] has joined #go-nuts
19:47 -!- dotsintacks [n=a@digsby05.rit.edu] has joined #go-nuts
19:47 -!- Ina [n=Ina@dsl-087-195-206-242.solcon.nl] has joined #go-nuts
19:47 -!- muckel [n=Christia@ip-94-79-146-96.unitymediagroup.de] has joined
#go-nuts
19:47 -!- fhs [n=fhs@pool-72-89-195-252.nycmny.east.verizon.net] has joined
#go-nuts
19:47 -!- aho [n=nya@e179090156.adsl.alicedsl.de] has joined #go-nuts
19:47 -!- t5vaha01 [i=t5vaha01@rhea.oamk.fi] has joined #go-nuts
19:47 -!- armence [n=armence@c-67-188-229-128.hsd1.ca.comcast.net] has joined
#go-nuts
19:47 -!- lasko [n=lasko@70.99.232.187] has joined #go-nuts
19:47 -!- uptown [n=jason@h-64-105-162-139.sttnwaho.static.covad.net] has joined
#go-nuts
19:47 -!- no_mind [n=orion@122.177.51.74] has joined #go-nuts
19:47 -!- hmmb [n=hmmb@201.56.102.13] has joined #go-nuts
19:47 -!- prip [n=_prip@host234-124-dynamic.11-87-r.retail.telecomitalia.it] has
joined #go-nuts
19:47 -!- wcr [n=wcr@unaffiliated/warcrime] has joined #go-nuts
19:47 -!- dibb [n=dibb@ashera.openend.se] has joined #go-nuts
19:47 -!- vcgomes [n=vcgomes@li17-238.members.linode.com] has joined #go-nuts
19:47 -!- glewis [n=chatzill@cpe-98-154-103-91.socal.res.rr.com] has joined
#go-nuts
19:47 -!- ServerMode/#go-nuts [+vv robpike kaib] by irc.freenode.net
19:47 -!- int-e [n=noone@141.57.11.224] has joined #go-nuts
19:47 -!- emet [n=emet@unaffiliated/emet] has joined #go-nuts
19:47 -!- mjl- [n=none@knaagkever.ueber.net] has joined #go-nuts
19:47 -!- Medliwork [n=Medlir@adsl-76-252-78-16.dsl.lgtpmi.sbcglobal.net] has
joined #go-nuts
19:47 -!- shasbot [n=shasbot@ip70-171-218-55.tc.ph.cox.net] has joined #go-nuts
19:47 -!- Aria [n=aredride@eridani.theinternetco.net] has joined #go-nuts
19:47 -!- teedex [n=teedex@204.14.155.161] has joined #go-nuts
19:47 -!- PhlowX [n=PhlowX@pD955F699.dip.t-dialin.net] has joined #go-nuts
19:47 -!- jcaose [n=jcaose@h35n2-ld-c-d2.ias.bredband.telia.com] has joined
#go-nuts
19:47 -!- comatose_kid [n=anonymou@adsl-76-254-61-108.dsl.pltn13.sbcglobal.net]
has joined #go-nuts
19:47 -!- epalm [n=epalm@utl-192-234.library.utoronto.ca] has joined #go-nuts
19:47 -!- NoobFukaire1 [n=tmccrary@d199-74-115-65.col.wideopenwest.com] has joined
#go-nuts
19:47 -!- nero76 [n=nero76@p4FC554E2.dip.t-dialin.net] has joined #go-nuts
19:47 -!- dpb9cpu [n=dpb@ip65-46-56-98.z56-46-65.customer.algx.net] has joined
#go-nuts
19:47 -!- paraboul [n=para@cnrs.weelya.net] has joined #go-nuts
19:47 -!- tsuru` [n=user@c-174-50-217-160.hsd1.tn.comcast.net] has joined #go-nuts
19:47 -!- robertpateii [n=robertpa@207-114-244-5.static.twtelecom.net] has joined
#go-nuts
19:47 -!- weggpod [n=weggpod@ivr94-12-78-224-16-145.fbx.proxad.net] has joined
#go-nuts
19:47 -!- Anubisss [i=Anubisss@ip-170-21-userpool.zeg.zelkanet.hu] has joined
#go-nuts
19:47 -!- rafaelmartins [n=rafael@unaffiliated/rafaelmartins/x-162351] has joined
#go-nuts
19:47 -!- gobhain [n=wIRCer@72-57-194-26.pools.spcsdns.net] has joined #go-nuts
19:47 -!- jlouis [i=jlouis@130.225.165.29] has joined #go-nuts
19:47 -!- Bytecode_ [n=bytecode@97-124-183-166.hlrn.qwest.net] has joined #go-nuts
19:47 -!- pierron [n=pierron@88-122-99-206.rev.libertysurf.net] has joined
#go-nuts
19:47 -!- napsy [n=luka@88.200.96.14] has joined #go-nuts
19:47 -!- fabrianchi [n=fabrianc@unaffiliated/fabrianchi] has joined #go-nuts
19:47 -!- Rob_Russell [n=chatzill@206-248-157-156.dsl.teksavvy.com] has joined
#go-nuts
19:47 -!- jimmy_ [n=rodrigo@189.59.94.3] has joined #go-nuts
19:47 -!- freenose [n=freenose@204.97.199.7] has joined #go-nuts
19:47 -!- frodenius [i=frod@unaffiliated/frodenius] has joined #go-nuts
19:47 -!- Wezz6400 [n=Wezz6400@145-118-111-123.fttx.bbned.nl] has joined #go-nuts
19:47 -!- DrWhax_ [n=DrWhax@dhcp-077-248-216-065.chello.nl] has joined #go-nuts
19:47 -!- camfex [n=d@89.163.17.22] has joined #go-nuts
19:47 -!- camedee [i=40ecf5f3@gateway/web/freenode/x-jmqrnyucmzckzynz] has joined
#go-nuts
19:47 -!- bj_990 [n=bj@12.200.27.66] has joined #go-nuts
19:47 -!- StylusEater [n=Fraggle@hyatt.legalplans.com] has joined #go-nuts
19:47 -!- r00ttap_ [n=wjones@204.108.244.100] has joined #go-nuts
19:47 -!- rog [n=rog@adsl-67-113-22-114.dsl.snfc21.pacbell.net] has joined
#go-nuts
19:47 -!- rapidfx [n=host666@vl-cen-ce1.avtlg.ru] has joined #go-nuts
19:47 -!- maruel [n=maruel_2@google1.osuosl.org] has joined #go-nuts
19:47 -!- likewhoa [n=likewhoa@ool-45717734.dyn.optonline.net] has joined #go-nuts
19:47 -!- alexf [n=alexf@c-71-205-224-173.hsd1.mi.comcast.net] has joined #go-nuts
19:47 -!- annodomini [n=lambda@wikipedia/lambda] has joined #go-nuts
19:47 -!- GarethTheGreat [i=gareth@autopia.garethnelson.com] has joined #go-nuts
19:47 -!- artefon [n=thiago@189.107.166.185] has joined #go-nuts
19:47 -!- faux [n=user@1-1-4-21a.gkp.gbg.bostream.se] has joined #go-nuts
19:47 -!- blackmagik [n=blackmag@unaffiliated/blackmagik] has joined #go-nuts
19:47 -!- philcrissman [n=philcris@174-20-188-170.mpls.qwest.net] has joined
#go-nuts
19:47 -!- hhg [n=hhg@hhg.to] has joined #go-nuts
19:47 -!- lov [i=vol@kokshark.techbandits.com] has joined #go-nuts
19:47 -!- devinus [n=devin@65.107.181.222] has joined #go-nuts
19:47 -!- mulander [i=mulander@078088239019.lubin.vectranet.pl] has joined
#go-nuts
19:47 -!- licio [n=licio@CAcert/Assurer/licio] has joined #go-nuts
19:47 -!- me__ [n=venkates@c-68-55-179-48.hsd1.md.comcast.net] has joined #go-nuts
19:47 -!- Rift [n=jhamilto@ip67-152-34-30.z34-152-67.customer.algx.net] has joined
#go-nuts
19:47 -!- lbrandy_ [n=lbrandy_@206.210.81.55] has joined #go-nuts
19:47 -!- crez [n=crez@122.199.76-86.rev.gaoland.net] has joined #go-nuts
19:47 -!- iant [n=iant@nat/google/x-xfwgfgrvnokygtbn] has joined #go-nuts
19:47 -!- hat0 [n=hat@cpe-67-9-132-238.austin.res.rr.com] has joined #go-nuts
19:47 -!- robot12__ [n=robot12@inferno.kgts.ru] has joined #go-nuts
19:47 -!- devewm [n=eric@erc-avl-ptp62.net.ercbroadband.org] has joined #go-nuts
19:47 -!- triddell [n=tim@207-191-198-64.cpe.ats.mcleodusa.net] has joined
#go-nuts
19:47 -!- Latexxx_ [i=hahnel@mozart.cc.tut.fi] has joined #go-nuts
19:47 -!- dual [n=dual@79.160.122.5] has joined #go-nuts
19:47 -!- pbunbun [n=bunbun@minerva.redbrick.dcu.ie] has joined #go-nuts
19:47 -!- sgtarr [n=sgt@rasterburn.org] has joined #go-nuts
19:47 -!- luiz [n=luiz_cap@201.22.48.94.dynamic.adsl.gvt.net.br] has joined
#go-nuts
19:47 -!- Brakkvatn [n=alex@59.87.202.84.customer.cdi.no] has joined #go-nuts
19:47 -!- melba [n=blee@unaffiliated/lazz0] has joined #go-nuts
19:47 -!- saati [n=bjb@marvin.harmless.hu] has joined #go-nuts
19:47 -!- huf [n=huf@mu.parawag.net] has joined #go-nuts
19:47 -!- GGLucas [n=GGLucas@5357F9E6.cable.casema.nl] has joined #go-nuts
19:47 -!- Venom_X [n=pjacobs@66.54.185.131] has joined #go-nuts
19:47 -!- saml [n=sam@h-68-167-23-150.nycmny83.static.covad.net] has joined
#go-nuts
19:47 -!- nekschot [i=nekschot@82.171.143.27] has joined #go-nuts
19:47 -!- Cy-4- [i=cy-4@1-1-9-15a.hka.j.bostream.se] has joined #go-nuts
19:47 -!- Selar [n=hussain@wire.dsl.frii.net] has joined #go-nuts
19:47 -!- MyCatVerbs [n=mycatver@lurkingfox.co.uk] has joined #go-nuts
19:47 -!- NaN [n=josh@unaffiliated/nan] has joined #go-nuts
19:47 -!- Will|work [n=wrboyce@sarge.na.nu] has joined #go-nuts
19:47 -!- crankyadmin [n=crankyad@user-5af2599d.tcl121.dsl.pol.co.uk] has joined
#go-nuts
19:47 -!- smcquay [n=smcquay@204.15.87.226] has joined #go-nuts
19:47 -!- fhein [n=freundh@c-bee5e155.258-1-64736c11.cust.bredbandsbolaget.se] has
joined #go-nuts
19:47 -!- electronoob [n=dustycar@c-68-53-57-241.hsd1.tn.comcast.net] has joined
#go-nuts
19:47 -!- sobersabre [n=bilbo@85.64.34.22.dynamic.barak-online.net] has joined
#go-nuts
19:47 -!- hooopy [i=hoopy@173-30-98-140.client.mchsi.com] has joined #go-nuts
19:47 -!- reality|poolboy [n=aol@pool-98-116-11-175.nycmny.fios.verizon.net] has
joined #go-nuts
19:47 -!- frozenmouse [i=722ccaf8@gateway/web/freenode/x-jewmjgnidebwyiju] has
joined #go-nuts
19:47 -!- aatifh [n=atif@117.195.97.235] has joined #go-nuts
19:47 -!- rob| [n=rob@95-90-45-206-dynip.superkabel.de] has joined #go-nuts
19:47 -!- AirBreather [n=joe@amentajo-6.user.msu.edu] has joined #go-nuts
19:47 -!- LordMetroid [n=lordmetr@90.224.93.243] has joined #go-nuts
19:47 -!- decriptor [n=decripto@137.65.132.18] has joined #go-nuts
19:47 -!- bbeck [n=bbeck@dxr-fw.dxr.siu.edu] has joined #go-nuts
19:47 -!- ServerMode/#go-nuts [+v iant] by irc.freenode.net
19:47 -!- brrant [n=John@65-102-225-252.hlrn.qwest.net] has joined #go-nuts
19:47 -!- Esmil [n=esmil@4704ds1-gjp.0.fullrate.dk] has joined #go-nuts
19:47 -!- hendry [n=hendry@webvm.net] has joined #go-nuts
19:47 -!- RazvanM [n=RazvanM@dazzler.isi.jhu.edu] has joined #go-nuts
19:47 -!- JoLeClodo [n=JoLeClod@wallinfire.net] has joined #go-nuts
19:47 -!- three-f-jeff [n=phaedrus@76.102.139.171] has joined #go-nuts
19:47 -!- plainhao [n=plainhao@mail.xbiotica.com] has joined #go-nuts
19:47 -!- skerner [n=skerner@nat/google/x-fvfxsukpkxbfmvtt] has joined #go-nuts
19:47 -!- cmarcelo [n=cmarcelo@enlightenment/developer/cmarcelo] has joined
#go-nuts
19:47 -!- Solver [n=robert@capella.opentrend.net] has joined #go-nuts
19:47 -!- arun [n=arun@unaffiliated/sindian] has joined #go-nuts
19:47 -!- cyberwiz [n=mitashki@Bolt.marketxs.com] has joined #go-nuts
19:47 -!- jawbroken [n=jawbroke@c114-76-153-199.sunsh2.vic.optusnet.com.au] has
joined #go-nuts
19:47 -!- emit [n=emit@unaffiliated/emit] has joined #go-nuts
19:47 -!- kill-9 [n=kill-9@cpe-65-24-145-70.columbus.res.rr.com] has joined
#go-nuts
19:47 -!- jcopenha [n=jcopenha@c-71-228-73-62.hsd1.fl.comcast.net] has joined
#go-nuts
19:47 -!- nickjohnson [n=arachnid@coilette.notdot.net] has joined #go-nuts
19:47 -!- mwarning [n=mwarning@ip-78-94-226-217.unitymediagroup.de] has joined
#go-nuts
19:47 -!- lazzurs [n=lazzurs@77.74.198.235] has joined #go-nuts
19:47 -!- rawtaz [n=rawtaz@rho.hobbyhotellet.se] has joined #go-nuts
19:47 -!- kfx [n=kfx@li92-61.members.linode.com] has joined #go-nuts
19:47 -!- JohnNy_cz [i=JohnNy_c@jhn4.kolej.mff.cuni.cz] has joined #go-nuts
19:47 -!- dD0T [n=dD0T@unaffiliated/dd0t] has joined #go-nuts
19:47 -!- jkp [n=jkp@growl/jkp] has joined #go-nuts
19:47 -!- dsp_ [n=dsp@lebesgue.cowpig.ca] has joined #go-nuts
19:47 -!- luca_work_ [n=luca@host35.190-136-120.telecom.net.ar] has joined
#go-nuts
19:47 -!- dorkalev [n=dorkalev@tony09-124-34.inter.net.il] has joined #go-nuts
19:47 -!- zLuke_ [n=luke@c-68-47-107-41.hsd1.ga.comcast.net] has joined #go-nuts
19:47 -!- ineol [n=hal@mar75-9-88-171-191-168.fbx.proxad.net] has joined #go-nuts
19:47 -!- dpb [i=dpb@unaffiliated/dpb] has joined #go-nuts
19:47 -!- naderman [n=naderman@phpbb/developer/naderman] has joined #go-nuts
19:47 -!- Hertta [n=ptr@188.72.205.52] has joined #go-nuts
19:47 -!- Hermano [n=eero@a88-113-33-235.elisa-laajakaista.fi] has joined #go-nuts
19:47 -!- nahojkap [n=chatzill@yggdrasill.compukos.nl] has joined #go-nuts
19:47 -!- cerv [n=kane@194.1.130.108] has joined #go-nuts
19:47 -!- automaciej [n=maciej@78.46.210.147] has joined #go-nuts
19:47 -!- Vanadium [n=v@dslb-088-066-014-240.pools.arcor-ip.net] has joined
#go-nuts
19:47 -!- chid [n=dorl@c122-106-95-175.rivrw1.nsw.optusnet.com.au] has joined
#go-nuts
19:47 -!- temoto [n=temoto@217.173.74.146] has joined #go-nuts
19:47 -!- jb55 [n=jb55@bas11-kitchener06-1088890944.dsl.bell.ca] has joined
#go-nuts
19:47 -!- jepler [n=jepler@emc/developer/jepler] has joined #go-nuts
19:47 -!- kichik|work [n=kichik_w@bzq-84-108-238-52.cablep.bezeqint.net] has
joined #go-nuts
19:47 -!- binBASH [i=michael@stopovr.com] has joined #go-nuts
19:47 -!- nets [n=nets@bzq-79-178-103-16.red.bezeqint.net] has joined #go-nuts
19:47 -!- watermind [n=watermin@bl8-121-164.dsl.telepac.pt] has joined #go-nuts
19:47 -!- Monie [n=Monie@unaffiliated/monie] has joined #go-nuts
19:47 -!- nc [n=nc@bbis.us] has joined #go-nuts
19:47 -!- spiffytech [i=spiffyte@pilot.trilug.org] has joined #go-nuts
19:47 -!- grumbel [n=grumbel@i59F56CD7.versanet.de] has joined #go-nuts
19:47 -!- hoffmann [n=ph@tmo-045-7.customers.d1-online.com] has joined #go-nuts
19:47 -!- kota1111 [n=kota1111@gw2.kbmj.jp] has joined #go-nuts
19:47 -!- mizai [n=mizai@rhou-164-107-213-187.resnet.ohio-state.edu] has joined
#go-nuts
19:47 -!- Jooon [n=jooon@c-1711e455.01-300-73746f7.cust.bredbandsbolaget.se] has
joined #go-nuts
19:47 -!- wollw [n=wollw4@75-101-22-68.dsl.dynamic.sonic.net] has joined #go-nuts
19:47 -!- i0n [n=a@91-115-67-50.adsl.highway.telekom.at] has joined #go-nuts
19:47 -!- AmirMohammad [n=amir@unaffiliated/gluegadget] has joined #go-nuts
19:47 -!- inra [n=kite@adsl-99-135-72-13.dsl.mdsnwi.sbcglobal.net] has joined
#go-nuts
19:47 -!- dju [i=dju@ip-39.net-80-236-37.suresnes.rev.numericable.fr] has joined
#go-nuts
19:47 -!- zidoh [n=bjornar@pyrrophlagalon.nithia.net] has joined #go-nuts
19:47 -!- svanlund [n=david@cordelia.pingpangdns.com] has joined #go-nuts
19:47 -!- engla [n=ulrik@wikipedia/Sverdrup] has joined #go-nuts
19:47 -!- mejja [n=user@c-49b6e555.023-82-73746f38.cust.bredbandsbolaget.se] has
joined #go-nuts
19:47 -!- nsz [i=nsz@morecp.net] has joined #go-nuts
19:47 -!- voxadam [n=voxadam@24.20.147.228] has joined #go-nuts
19:47 -!- rutkowski [n=adrian@078088213039.walbrzych.vectranet.pl] has joined
#go-nuts
19:47 -!- rup [i=Rupert@deathcoil.net] has joined #go-nuts
19:47 -!- icy [n=icy@lighttpd/icy] has joined #go-nuts
19:47 -!- jnwhiteh [n=jnwhiteh@WoWUIDev/WoWI/Featured/Dongle/cladhaire] has joined
#go-nuts
19:47 -!- petr [i=uyawo@rzstud3.stud.uni-karlsruhe.de] has joined #go-nuts
19:47 -!- treffer [n=treffer@host-88-217-134-114.customer.m-online.net] has joined
#go-nuts
19:47 -!- brianski1 [n=ski@c-69-250-146-253.hsd1.dc.comcast.net] has joined
#go-nuts
19:47 -!- ajhager [n=ajhager@c-69-136-3-186.hsd1.in.comcast.net] has joined
#go-nuts
19:47 -!- actel [n=pj@212.188.172.116] has joined #go-nuts
19:47 -!- arun_ [n=arun@unaffiliated/sindian] has joined #go-nuts
19:47 -!- dsop [i=dsp@87.118.104.77] has joined #go-nuts
19:47 -!- spook[] [n=RevSpook@173-20-203-218.client.mchsi.com] has joined #go-nuts
19:47 -!- keishi [n=keishi@116.0.230.16] has joined #go-nuts
19:47 -!- islands [n=islands@unaffiliated/inda50] has joined #go-nuts
19:47 -!- kridian [n=kridian@kridian.com] has joined #go-nuts
19:47 -!- category [n=category@robothouse.vm.bytemark.co.uk] has joined #go-nuts
19:47 -!- RichiH [i=richih@freenode/staff/richih] has joined #go-nuts
19:47 -!- madmoose [n=madmoose@207.7.145.210] has joined #go-nuts
19:47 -!- Peter` [n=peter@92.254.21.251] has joined #go-nuts
19:47 -!- gtroy [n=Galen@unaffiliated/gtroy] has joined #go-nuts
19:47 -!- katratxo [n=katratxo@ec2-79-125-6-47.eu-west-1.compute.amazonaws.com]
has joined #go-nuts
19:47 -!- zerofluid [n=zeroflui@68.227.10.141] has joined #go-nuts
19:47 -!- garbeam [n=arg@garbe.us] has joined #go-nuts
19:47 -!- Rint [i=john@static-71-244-60-125.dllstx.fios.verizon.net] has joined
#go-nuts
19:47 -!- itrekkie [n=itrekkie@ip72-200-111-233.tc.ph.cox.net] has joined #go-nuts
19:47 -!- mycroftiv [n=drabgah@h69-128-47-245.mdsnwi.dedicated.static.tds.net] has
joined #go-nuts
19:47 -!- kampasky [i=pasky@nikam-dmz.ms.mff.cuni.cz] has joined #go-nuts
19:47 -!- zum_ [n=jsykari@xdsl-83-150-88-4.nebulazone.fi] has joined #go-nuts
19:47 -!- nnyby [n=nik@c-98-247-237-204.hsd1.wa.comcast.net] has joined #go-nuts
19:47 -!- awalton [n=awalton@76.177.53.219] has joined #go-nuts
19:47 -!- Borfy [n=Borf@5356B30E.cable.casema.nl] has joined #go-nuts
19:47 -!- Innominate [n=sirrobin@71.77.41.139] has joined #go-nuts
19:47 -!- fivebats [n=anonymou@c-76-115-189-78.hsd1.or.comcast.net] has joined
#go-nuts
19:47 -!- tokuhiro_____ [i=tokuhiro@p3065-ipbf6805marunouchi.tokyo.ocn.ne.jp] has
joined #go-nuts
19:47 -!- ned [n=ned@c-76-19-208-96.hsd1.ma.comcast.net] has joined #go-nuts
19:47 -!- bovv [n=crow@p2016-ipbf806yosida.nagano.ocn.ne.jp] has joined #go-nuts
19:47 -!- harja [n=maharj@130.232.203.196] has joined #go-nuts
19:47 -!- eno [n=eno@nslu2-linux/eno] has joined #go-nuts
19:47 -!- Capso [i=none@about/networking/128.0.0.0/Capso] has joined #go-nuts
19:47 -!- monkfish [n=chatzill@pc4231.stdby.hin.no] has joined #go-nuts
19:47 -!- mheath [n=michaelh@75-169-103-11.slkc.qwest.net] has joined #go-nuts
19:47 -!- scoopr [i=scoopr@et.vaan.osaa.fi] has joined #go-nuts
19:47 -!- uman [n=brennan@unaffiliated/uman] has joined #go-nuts
19:47 -!- xjih78 [i=z0r0@90.154.213.217] has joined #go-nuts
19:47 -!- Jerub [n=gideon@unaffiliated/jerub] has joined #go-nuts
19:47 -!- sstangl [n=sean@BERLIN.RES.CMU.EDU] has joined #go-nuts
19:47 -!- brontide [n=brontide@cpe-74-70-32-224.nycap.res.rr.com] has joined
#go-nuts
19:47 -!- coldhak [n=coldhak@99.152.25.152] has joined #go-nuts
19:47 -!- nuvm [n=nu@CPE0019b92225c9-CM00195edd2c24.cpe.net.cable.rogers.com] has
joined #go-nuts
19:47 -!- Skel [n=JustinHo@cpe-024-211-196-059.nc.res.rr.com] has joined #go-nuts
19:47 -!- nickgibbon [n=nring@210.8.201.244] has joined #go-nuts
19:47 -!- JKnife [n=JKnife@gr33nn1nj4.com] has joined #go-nuts
19:47 -!- shakesoda [n=shakesod@c-67-183-112-91.hsd1.wa.comcast.net] has joined
#go-nuts
19:47 -!- jessta [n=jessta@li7-205.members.linode.com] has joined #go-nuts
19:47 -!- Hong_MinHee [n=dahlia@211.239.163.54] has joined #go-nuts
19:47 -!- vegai [n=vegai@archlinux/developer/vegai] has joined #go-nuts
19:47 -!- woremacx [n=woremacx@unaffiliated/woremacx] has joined #go-nuts
19:47 -!- Iulius [n=wtf@24.136.243.10] has joined #go-nuts
19:47 -!- codemac [n=codemac@archlinux/developer/codemac] has joined #go-nuts
19:47 -!- m-takagi [n=m-takagi@linode.m-takagi.jp] has joined #go-nuts
19:47 -!- Robdgreat [i=rob@unaffiliated/robdgreat] has joined #go-nuts
19:47 -!- shachaf [n=shachaf@208.69.183.87] has joined #go-nuts
19:47 -!- ivan` [n=ivan@unaffiliated/ivan/x-000001] has joined #go-nuts
19:47 -!- JordanG [n=jordan@207-180-140-97.c3-0.wth-ubr1.sbo-wth.ma.cable.rcn.com]
has joined #go-nuts
19:47 -!- dj_ryan [n=ryan@c-67-160-202-4.hsd1.ca.comcast.net] has joined #go-nuts
19:47 -!- anticw [n=anticw@c-76-126-87-56.hsd1.ca.comcast.net] has joined #go-nuts
19:47 -!- keeto [n=keeto@121.54.92.149] has joined #go-nuts
19:47 -!- shatly [n=hartsra@tarsonis.dhcp.rose-hulman.edu] has joined #go-nuts
19:47 -!- tessier [n=treed@kernel-panic/sex-machines] has joined #go-nuts
19:47 -!- DJCapelis [n=djc@blender/coder/DJCapelis] has joined #go-nuts
19:47 -!- bthomson [n=bthomson@pool-71-114-74-245.washdc.dsl-w.verizon.net] has
joined #go-nuts
19:47 -!- mxcl [n=mxcl@94-193-125-246.zone7.bethere.co.uk] has joined #go-nuts
19:47 -!- ryoohki [n=ryoohki@208.96.15.252] has joined #go-nuts
19:47 -!- AryehGregor [n=Simetric@mediawiki/simetrical] has joined #go-nuts
19:47 -!- igorgue [n=igorgue@69.172.212.24] has joined #go-nuts
19:47 -!- shardz [i=samuel@ilo.staticfree.info] has joined #go-nuts
19:47 -!- M32311 [n=m32311@68-186-182-171.dhcp.leds.al.charter.com] has joined
#go-nuts
19:47 -!- johncylee [n=john@61.57.131.211] has joined #go-nuts
19:47 -!- diatribes [n=diatribe@66.199.140.26] has joined #go-nuts
19:47 -!- plux [i=plux@Psilocybe.Update.UU.SE] has joined #go-nuts
19:47 -!- homa_rano [n=erice@LAPDANCE.MIT.EDU] has joined #go-nuts
19:47 -!- wcn [n=wcn@216.239.45.130] has joined #go-nuts
19:47 -!- dschn [n=dschn@pool-70-19-224-19.bos.east.verizon.net] has joined
#go-nuts
19:47 -!- FreshMeat [n=crump@c-67-180-74-9.hsd1.ca.comcast.net] has joined
#go-nuts
19:47 -!- msw [n=msw@66.192.95.199] has joined #go-nuts
19:47 -!- adante [n=adante@59.167.212.65] has joined #go-nuts
19:47 -!- TR2N [i=email@89.180.172.244] has joined #go-nuts
19:47 -!- eharmon [n=eharmon@c63.be] has joined #go-nuts
19:47 -!- shawn [n=shawn@208-78-98-92.slicehost.net] has joined #go-nuts
19:47 -!- freespace [i=foobar@85.203.232.72.static.reverse.ltdomains.com] has
joined #go-nuts
19:47 -!- nonet [n=nonet@c-69-181-203-73.hsd1.ca.comcast.net] has joined #go-nuts
19:47 -!- cce891ed [n=chtr@freya.dhcp.rose-hulman.edu] has joined #go-nuts
19:47 -!- gnomon
[n=gnomon@CPE0022158a8221-CM000f9f776f96.cpe.net.cable.rogers.com] has joined
#go-nuts
19:47 -!- vsmatck [n=smack@64-142-40-6.dsl.static.sonic.net] has joined #go-nuts
19:47 -!- Chris [n=chris@unaffiliated/chris] has joined #go-nuts
19:47 -!- Altercation [n=Altercat@pdpc/supporter/active/altercation] has joined
#go-nuts
19:47 -!- taaz [n=dlehn@pool-71-171-26-87.nwrknj.east.verizon.net] has joined
#go-nuts
19:47 -!- doublec [n=doublec@li30-216.members.linode.com] has joined #go-nuts
19:47 -!- nigeltao [n=nigeltao@203.39.247.241] has joined #go-nuts
19:47 -!- mpurcell|afk [n=mpurcell@vpn.michaelpurcell.info] has joined #go-nuts
19:47 -!- raysl [n=anonymou@d24-141-147-73.home.cgocable.net] has joined #go-nuts
19:47 -!- soul9 [n=none@unaffiliated/johnnybuoy] has joined #go-nuts
19:47 -!- antarus [n=antarus@gentoo/developer/antarus] has joined #go-nuts
19:47 -!- xoebus [n=xoebus@vortis.xen.tardis.ed.ac.uk] has joined #go-nuts
19:47 -!- jadamcze [n=jadamcze@ppp59-167-70-67.lns20.hba1.internode.on.net] has
joined #go-nuts
19:47 -!- Lixivial [n=Lixi@71-10-86-62.dhcp.roch.mn.charter.com] has joined
#go-nuts
19:47 -!- Eridius [n=kevin@growl/Eridius] has joined #go-nuts
19:47 -!- felipe [n=felipe@my.nada.kth.se] has joined #go-nuts
19:47 -!- sfuentes [n=sfuentes@cpe-98-154-70-216.socal.res.rr.com] has joined
#go-nuts
19:47 -!- gcarrier [n=gcarrier@archlinux/trusteduser/GCarrier] has joined #go-nuts
19:47 -!- mrd` [n=matthew@shinobi.dempsky.org] has joined #go-nuts
19:47 -!- wiretapped [n=leif@pony.noisebridge.net] has joined #go-nuts
19:47 -!- popey [n=alan@ubuntu/member/pdpc.gold.popey] has joined #go-nuts
19:47 -!- abbyz [n=abhishek@unaffiliated/abbyz] has joined #go-nuts
19:47 -!- danderson [n=dave@atlas.natulte.net] has joined #go-nuts
19:47 -!- cablehead [n=Adium@nat/slide/x-skrmzrsixmrjyxxq] has joined #go-nuts
19:47 -!- bear [n=bear@c-71-230-97-250.hsd1.pa.comcast.net] has joined #go-nuts
19:47 -!- cgoncalves [n=carlos@cr-217-129-234-233.netvisao.pt] has joined #go-nuts
19:47 -!- sr [n=sr@vangberg.name] has joined #go-nuts
19:47 -!- Kniht [n=kniht@c-68-58-17-177.hsd1.in.comcast.net] has joined #go-nuts
19:47 -!- mpl [n=mpl@ks34955.kimsufi.com] has joined #go-nuts
19:47 -!- arke [n=f2@bespin.org] has joined #go-nuts
19:47 -!- kingfishr [n=kingfish@98.201.163.127] has joined #go-nuts
19:47 -!- monteslu [n=monteslu@ip68-109-171-127.ph.ph.cox.net] has joined #go-nuts
19:47 -!- ote [n=shapor@yzf.shapor.com] has joined #go-nuts
19:47 -!- strlen [n=alex@behemoth.strlen.net] has joined #go-nuts
19:47 -!- xid [n=xid@narc.oti.cz] has joined #go-nuts
19:47 -!- vhold [n=vhold@adsl-67-114-158-146.dsl.sntc01.pacbell.net] has joined
#go-nuts
19:47 -!- xur1z [n=chris@118-92-206-22.dsl.dyn.ihug.co.nz] has joined #go-nuts
19:47 -!- ssantino [n=ssantino@c-76-29-212-41.hsd1.in.comcast.net] has joined
#go-nuts
19:47 -!- harryv [n=harry@vangberg.name] has joined #go-nuts
19:47 -!- KirkMcDonald [n=Kirk@pysoy/developer/KirkMcDonald] has joined #go-nuts
19:47 -!- mrmg [n=mrmg@spc2-bmly4-0-0-cust248.asfd.cable.virginmedia.com] has
joined #go-nuts
19:47 -!- daganev [n=daganev@adsl-99-32-245-41.dsl.lsan03.sbcglobal.net] has
joined #go-nuts
19:47 -!- cpach [n=FOO@c-e2a472d5.031-102-73746f34.cust.bredbandsbolaget.se] has
joined #go-nuts
19:47 -!- bartwe_ [n=bartwe@pluk-lang.org] has joined #go-nuts
19:47 -!- mey [n=smarkwel@75-148-86-114-Oregon.hfc.comcastbusiness.net] has joined
#go-nuts
19:47 -!- wqzzz [n=wqz@c-6f2fe155.67-3-64736c10.cust.bredbandsbolaget.se] has left
#go-nuts []
19:47 < jmil1> GeDaMo: no they are not set
19:47 < ment> what happend to prefix and postfix incrementation again?
19:47 -!- jmil1 [n=Adium@c-76-124-67-155.hsd1.pa.comcast.net] has quit [Read
error: 104 (Connection reset by peer)]
19:48 -!- LaPingvino [n=LaPingvi@82-171-137-254.ip.telfort.nl] has quit [Remote
closed the connection]
19:48 -!- Selar [n=hussain@wire.dsl.frii.net] has left #go-nuts []
19:48 < shatly> Innominate: you could ssh into a 'nix box
19:48 -!- teralaser [n=teralase@unaffiliated/teralaser] has left #go-nuts []
19:48 < shatly> Innominate: you could ssh into a 'nix box
19:48 <+iant> KirkMcDonald: hmmm, yeah, the spec mostly just links to
itself; in this case it is referring to unsafe.Reflect
19:48 -!- philcrissman [n=philcris@174-20-188-170.mpls.qwest.net] has quit [Remote
closed the connection]
19:48 -!- jmil1 [n=Adium@c-76-124-67-155.hsd1.pa.comcast.net] has joined #go-nuts
19:48 <+robpike> ment: see the language design faq
19:48 -!- philcrissman [n=philcris@174-20-188-170.mpls.qwest.net] has joined
#go-nuts
19:48 < jmil1> GeDaMo: but if i do an echo $GOROOT it shows correctly
19:48 < jmil1> just not in env command
19:48 -!- grahamperrin [n=grahampe@macbookpro08.centrim.freeman-centre.ac.uk] has
joined #go-nuts
19:49 -!- weaselkeeper [n=weaselke@208.76.186.114] has joined #go-nuts
19:49 < saati> jmil1: export GOROOT=dirname
19:49 -!- MisterSpoon [n=irc@cpc3-broo4-0-0-cust471.renf.cable.ntl.com] has joined
#go-nuts
19:49 < asyncster> is there a program that compiles, links, and runs a go
program?
19:50 < asyncster> sort of like running 'python program.py'
19:50 < asyncster> but a go version
19:50 < asyncster> :)
19:50 < ceh> Good evening.
19:50 < KirkMcDonald> asyncster: I've written something which compiles and
links one.
19:50 -!- i0n [n=a@91-115-67-50.adsl.highway.telekom.at] has quit [Connection
timed out]
19:50 < ment> robpike: i see.  well, we had a good run.
19:50 -!- davidL [n=david@unaffiliated/davidl] has joined #go-nuts
19:50 < drhodes> asyncster: I just wrote a python version ~5 lines, I'm all
ears if you find one though
19:50 -!- jmacelro [n=jmacelro@nat.ironport.com] has joined #go-nuts
19:51 -!- jburd [n=Adium@unaffiliated/yesudeep] has quit ["Leaving."]
19:51 < asyncster> ah
19:51 < asyncster> ok
19:51 -!- howell [n=howell@rrcs-97-77-49-235.sw.biz.rr.com] has joined #go-nuts
19:51 -!- insaneroot [n=insanero@p57A29039.dip0.t-ipconnect.de] has quit
["Nettalk6 - www.ntalk.de"]
19:51 < KirkMcDonald> asyncster: Mind, this was also my first Go program, so
it's fairly primitive: http://paste.pocoo.org/show/150042/
19:51 <+gri> asyncster: gotest was written to run tests, but as part of the
job it is compiling, linking, and running a go program, all written in go.
19:52 -!- howell [n=howell@rrcs-97-77-49-235.sw.biz.rr.com] has quit [Client Quit]
19:52 -!- homovitruvius [n=maurizio@pool-72-95-253-175.pitbpa.east.verizon.net]
has joined #go-nuts
19:52 <+robpike> KirkMcDonald: nice!
19:52 -!- _InTeNsDoWn_ [n=amg@bl7-17-90.dsl.telepac.pt] has quit []
19:53 -!- peloverde [n=alex@cpe-173-88-148-20.neo.res.rr.com] has joined #go-nuts
19:53 -!- Deltafire [n=chris@82-71-44-155.dsl.in-addr.zen.co.uk] has joined
#go-nuts
19:53 -!- cce891ed_ [n=chtr@freya.dhcp.rose-hulman.edu] has joined #go-nuts
19:53 -!- Netsplit leguin.freenode.net <-> irc.freenode.net quits:
diatribes, homa_rano, jaska^, Hertta, cce891ed, antarus, xoebus, automaciej,
Will|work, sr, (+19 more, use /NETSPLIT to show all of them)
19:53 -!- zalgo_ [i=andreer@flode.pvv.ntnu.no] has joined #go-nuts
19:53 -!- sr_ [n=sr@vangberg.name] has joined #go-nuts
19:53 -!- antarus_ [n=antarus@nat/google/session] has joined #go-nuts
19:53 -!- homa_ran1 [n=erice@LAPDANCE.MIT.EDU] has joined #go-nuts
19:53 -!- cb_ [n=xoebus@vortis.xen.tardis.ed.ac.uk] has joined #go-nuts
19:53 -!- madmoose_ [n=madmoose@chef.nerp.net] has joined #go-nuts
19:53 -!- gcarrier_ [n=gcarrier@snibbits.net] has joined #go-nuts
19:53 -!- Netsplit over, joins: GarethTheGreat
19:53 -!- Volfram [n=mist@87.246.131.149] has joined #go-nuts
19:53 < Eridius> if LLVM is considered too slow, why does gccgo exist?
19:53 -!- Netsplit over, joins: dj_ryan, jaska^
19:53 -!- zum [n=jsykari@xdsl-83-150-88-4.nebulazone.fi] has joined #go-nuts
19:53 -!- Netsplit over, joins: sfuentes
19:53 -!- mpl [n=mpl@smgl.fr.eu.org] has joined #go-nuts
19:53 -!- Netsplit over, joins: zidoh, akeidolon
19:53 -!- davidL [n=david@mzero.org] has joined #go-nuts
19:53 -!- Netsplit over, joins: arun, adante
19:53 -!- Volfram [n=mist@87.246.131.149] has left #go-nuts ["Leaving"]
19:53 -!- Netsplit over, joins: rbancroft
19:53 -!- diatribes [n=diatribe@diatribes.net] has joined #go-nuts
19:53 -!- Netsplit over, joins: likewhoa
19:53 -!- Netsplit over, joins: nahojkap
19:53 -!- bpot [n=bpot@66.219.61.62] has joined #go-nuts
19:53 -!- Netsplit over, joins: KirkMcDonald
19:53 -!- matthieu_p [n=matthieu@ALille-351-1-164-187.w90-7.abo.wanadoo.fr] has
joined #go-nuts
19:53 < nc> ddos successful
19:54 -!- Netsplit over, joins: Hertta, luca_work_
19:54 < Eridius> hrm, irssi is having a hard time telling which parts/joins
are from a netsplit and which aren't
19:54 -!- e2d2 [n=ekuusela@tk1.oulu.fi] has left #go-nuts []
19:54 -!- Dreamr_3 [n=Dreamer3@96-28-100-3.dhcp.insightbb.com] has joined #go-nuts
19:54 < Dreamr_3> quietgcc: command not found
19:54 < Dreamr_3> erorr on OSX Leopard
19:54 < jmil1> saati: didnt' work, not sure what to do next
19:54 < Dreamr_3> i have xcode installed
19:54 -!- tomaw_ [i=tomaw@freenode/staff/tomaw] has joined #go-nuts
19:54 < Dreamr_3> trying to find ./all.bash
19:54 <+iant> Eridius: It's always good to have at least two compilers for a
language, but it's mainly because I thought a gcc frontend for Go would be an
interesting project
19:54 -!- wm4 [n=luser@p5080D4E2.dip.t-dialin.net] has joined #go-nuts
19:54 < NfNitLoop> Dreamr_3: is ~/bin in your PATH?
19:55 -!- ikkebr [n=ikkibr@unaffiliated/ikkebr] has quit []
19:56 < phoodle> Dreamr_3: i had the same problem on OS X just now, GOBIN
has to be in your PATH
19:56 < Dreamr_3> compiling :)
19:57 -!- x2cast [n=alvaro@187.127.222.87.dynamic.jazztel.es] has joined #go-nuts
19:57 < jmil1> compiling now, thanks all!  GeDaMo saati
19:57 -!- teedex [n=teedex@204.14.155.161] has quit [Remote closed the connection]
19:57 < engla> iant: is it not possible to produce a go frontend, gcc
middleend, llvm backend compiler, reusing all of gccgo.  although that sounds
strange
19:57 < Eridius> iant: you should build Go support into Clang ;)
19:57 -!- phoodle [n=phoodle@brln-4d0c32df.pool.mediaWays.net] has left #go-nuts
[]
19:57 -!- dvyjones_ [i=dvyjones@phoenix.binaryhex.com] has joined #go-nuts
19:57 -!- PRab [n=prabahy@c-71-238-57-17.hsd1.mi.comcast.net] has quit [Remote
closed the connection]
19:57 -!- tarsius4 [n=tarsius4@dhcp062-088.openport.buffalo.edu] has quit
["Leaving"]
19:57 -!- gri [n=gri@nat/google/x-tlldgveiqridhcnl] has left #go-nuts []
19:58 <+iant> engla: it is presumably possible but I'm not sure why one
would want to do it
19:58 -!- saml [n=sam@h-68-167-23-150.nycmny83.static.covad.net] has quit
[Connection timed out]
19:58 -!- MWeber [n=wurst@port-92-193-77-148.dynamic.qsc.de] has joined #go-nuts
19:58 -!- nickbp [n=fsoh@unaffiliated/beoba] has joined #go-nuts
19:58 -!- slide_rule [i=ad42401d@gateway/web/freenode/x-pvfstisdkhtkqqqw] has
joined #go-nuts
19:58 -!- alexsuraci [n=alex@pool-71-188-133-67.aubnin.fios.verizon.net] has
joined #go-nuts
19:58 <+iant> Eridius: I don't know clang
19:58 -!- automaciej [n=maciej@fennel.blizinski.pl] has joined #go-nuts
19:58 < Dreamr_3> grrr
19:58 < rog> if i call close on a channel and then send on it, then what
happens?  if it's an error, do defer functions get executed?
19:58 < Dreamr_3> now i get a panic
19:58 <+iant> You know, gcc is also a good compiler
19:58 <+iant> and it is also free software
19:58 -!- bmac7 [n=brianmac@32.161.223.193] has quit [Remote closed the
connection]
19:58 < jmil1> iant: you should really look into it.  it's amazingness
19:58 < Dreamr_3> in net test
19:58 < Eridius> iant: and it's also GPL3'd
19:58 < jmil1> clang is
19:58 < danopia`> how old is go
19:58 < Dreamr_3> *checking firewall*
19:58 -!- bmac7 [n=brianmac@c-98-208-175-116.hsd1.fl.comcast.net] has joined
#go-nuts
19:58 -!- fabrianchi [n=fabrianc@unaffiliated/fabrianchi] has quit ["Corre Lola
Correeee !!!!"]
19:59 -!- kolmodin [n=kolmodin@gentoo/developer/kolmodin] has joined #go-nuts
19:59 < Eridius> at some point in the not-so-distant future, OS X is going
to drop gcc entirely
19:59 <+iant> there is nothing wrong with GPLv3, but this is not the place
for that conversation
19:59 < Dreamr_3> allow all incoming
19:59 <+iant> off to lunch, back later
19:59 < glewis> Yes!!!  "%v" - thank you, Go designers!!!
19:59 < Dreamr_3> http://pastie.org/694208 thoughts?
19:59 <+robpike> lunch time
19:59 < Capso> rog: Hey!  :)
19:59 -!- Athas [n=athas@192.38.109.188] has quit [Read error: 104 (Connection
reset by peer)]
20:00 -!- napsy [n=luka@88.200.96.14] has quit [Read error: 104 (Connection reset
by peer)]
20:00 < nc> what does %v do ?
20:00 < engla> googlers are pretty precise about lunch time :)
20:00 -!- Athas [n=athas@192.38.109.188] has joined #go-nuts
20:00 <+agl> nc: prints a value
20:00 < nc> awesome
20:00 < glewis> Used in Printf, will print any value, appropriately by its
type
20:00 <+agl> nc: there's also %#v and %+v.  See http://golang.org/pkg/fmt
20:00 < nc> thats sweet
20:00 < nc> as heck
20:00 -!- joeedh [n=chatzill@c-24-10-97-83.hsd1.ca.comcast.net] has joined
#go-nuts
20:01 < rog> guess i'll just have to experiment
20:01 < Dreamr_3> yep
20:01 < Dreamr_3> net fails
20:01 < wm4> what do Go programmers think about D?
20:01 < rbancroft> thanks for the help iant!
20:01 < KirkMcDonald> wm4: Never heard of it.
20:01 -!- cb_ is now known as xoebus
20:01 < Dreamr_3> can anyone advise?
20:01 < wm4> KirkMcDonald: lies
20:01 -!- defectiv [n=clays@c-24-5-65-40.hsd1.ca.comcast.net] has quit ["This
computer has gone to sleep"]
20:01 < glewis> This D programmer is thinking that Go is definitely worth
checking out!!!  I would really like the buf[1:$], though.  :-)
20:01 < Venom_X> where do the misc/xcode/ files need to go to get xcode
syntax highlighting go code?
20:01 < jmil1> glewis: i only program in E
20:02 -!- wgl [n=wgl@216.145.227.9] has joined #go-nuts
20:02 <+agl> Dreamr_3: hg pull -yu
20:02 -!- urkonn [n=urkonn@201.155.124.232] has joined #go-nuts
20:02 <+agl> Dreamr_3: sorry
20:02 <+agl> Dreamr_3: hg pull -u
20:02 -!- Sirupsen [n=sirupsen@x1-6-00-0f-b5-66-d7-49.k611.webspeed.dk] has joined
#go-nuts
20:02 < i0n1> is there a chance for exceptions in the future as with
generics?
20:02 < ajhager> cgo is working great, but now I need to send a function
pointer to the C side.  Getting "dwarf.Type func() void reports unknown size" no
matter what I try.
20:02 -!- dapxin [n=dapxin@85.13.192.198] has joined #go-nuts
20:02 < KirkMcDonald> D features which could easily be shoved into Go
whole-cloth: Nesting /+ +/ comments.  The $ thingy inside of slices.
20:02 < ment> glewis: yes, my code is full of x = x[1:len(x)]
20:02 <+agl> ajhager: a function pointer?  Are you expecting the C code to
call into Go?
20:02 < uriel> i0n1: I hope not
20:02 -!- arsnsb [n=chatzill@67.50.87.74] has joined #go-nuts
20:03 < Dreamr_3> wow, a lot quieier :)
20:03 < Dreamr_3> lets see if it works :)
20:03 < temoto> i0n1: i think i saw it in FAQ near generics answer.
20:03 -!- emet [n=emet@unaffiliated/emet] has quit [Remote closed the connection]
20:03 < jmil1> I heard E is much better language than Go :
http://www.erights.org/elang/index.html
20:03 < i0n1> thanks
20:03 < temoto> KirkMcDonald: what is $ thingy?
20:03 <+agl> ment: KirkMcDonald: glewis: yes, x[y:], x[:y] and some sort of
$ are desirable.
20:03 < KirkMcDonald> Oh! Also _ inside of string literals.
20:03 < ajhager> agl: I am trying to call glutInitDisplayFunc() which takes
void (*func)(void).  Is there anything I can do?
20:03 < wm4> Python style [:bla] slices sucks
20:03 <+agl> ment: KirkMcDonald: glewis: there have been discussions on it
before, it just hasn't happened yet.
20:04 -!- methods [n=daquino@li66-197.members.linode.com] has joined #go-nuts
20:04 < KirkMcDonald> agl: The D expression x[a:$] is basically equivalent
to Python's x[a:].
20:04 -!- napsy [n=luka@88.200.96.14] has joined #go-nuts
20:04 < KirkMcDonald> Er.
20:04 -!- rapidfx [n=host666@vl-cen-ce1.avtlg.ru] has quit ["Leaving."]
20:04 < KirkMcDonald> Did I say string literals a moment ago?  I meant
numeric literals.
20:04 < wm4> I think D smashes Go completely, except probably for the
concurrency part
20:04 < Dreamr_3> agl: bingo, moving on
20:04 < ajhager> agl: I've seen this possible in Python's ctypes, but I've
been digging into cgo's internals and can't find anything.
20:04 < temoto> Yeah, i'd like to see 1_000_000 too.
20:04 < KirkMcDonald> So 1_000_000 is a valid literal in D.
20:04 < Dreamr_3> so is there a textmate syntax?  :)
20:05 < glewis> In D, you can also use $ with an expression, like buf[1:$-1]
20:05 <+agl> ajhager: what you can't do is pass a pointer to a Go function
into C. I don't know the specifics of the GL libs however.
20:05 < freenose> Dreamr_3: there is no gay syntax
20:05 < Eridius> haha awesome
http://code.google.com/p/go/source/detail?r=4a3f6bbb5f0c6021279ccb3c23558b3c480d995f
20:05 < three-f-jeff> wm4: I skipped D because it's just C++ cleaned up by
removing the C compatibility (that may seem a bit simplistic, but D never seemed
to fix the basic problems with the C++ object model)
20:05 <+agl> Dreamr_3: someone submitted a TextMate bundle.  I'm not had a
chance to review it yet.
20:05 -!- Sirupsen [n=sirupsen@x1-6-00-0f-b5-66-d7-49.k611.webspeed.dk] has left
#go-nuts []
20:05 < Dreamr_3> agl: where would i find that?  :)
20:05 -!- h3r3tic [n=heretic@208.75.87.105] has joined #go-nuts
20:05 < KirkMcDonald> three-f-jeff: The D object model is much closer to
Java's than C++'s.
20:05 < engla> Eridius: +1
20:06 <+agl> Dreamr_3: http://codereview.appspot.com/154050 and
http://codereview.appspot.com/152059
20:06 < KirkMcDonald> three-f-jeff: Apart from proper templates and mixins.
20:06 < wm4> three-f-jeff: D went the same way as Java and C#, when it comes
to fixing the object model...  no, C compatibility is not dropped; you still can
link it, and most C declaration can just eb pasted into D
20:06 -!- Volfram [n=mist@87.246.131.149] has joined #go-nuts
20:06 -!- grahamperrin [n=grahampe@macbookpro08.centrim.freeman-centre.ac.uk] has
quit ["bye"]
20:06 < KirkMcDonald> D has link-compatibility with C, but not
syntax-compatibility.
20:06 < three-f-jeff> KirkMcDonald: that's what I meant.
20:06 < nc> is there a G language
20:06 < nc> cause google Go should just be called G
20:07 < nc> to solve that naming issue from that mccabe guy
20:07 -!- mennis [n=mennis@adsl-068-016-104-079.sip.asm.bellsouth.net] has quit
["Swine Flu!!"]
20:07 < Dreamr_3> ha
20:07 < Tak> there's G also
20:07 < temoto> Naming issue?
20:07 < KirkMcDonald>
http://en.wikipedia.org/wiki/List_of_programming_languages
20:07 < Tak> my vote is Issue9
20:07 < soul9> "Go!" != "go"
20:07 < wm4> D either compiles C code, or rejects it...  it can't happen
that D compiles some C code, but the code behaves differently from C
20:07 -!- aa [n=aa@200.40.114.26] has joined #go-nuts
20:07 < nc> oh
20:08 < nc> haha
20:08 < three-f-jeff> KirkMcDonald: what I consider broken about OO is the
object heirarchies, in that sense Java, C++, C# and D are much the same (with the
exception of multiple inheritance, which is extra broken)
20:08 < jb55> what's this defer statement all about
20:08 < Eridius> earlier someone was claiming Go never implicitly converts
anything, but that's wrong.  It implicitly converts array pointers into slices
20:08 -!- arsnsb [n=chatzill@67.50.87.74] has left #go-nuts []
20:08 < KirkMcDonald> I like defer.  It's basically like D's scope(exit).
20:08 -!- trickie [n=trickie@86.93.227.181] has joined #go-nuts
20:08 -!- ajray [n=alex@nom26005c.nomadic.ncsu.edu] has joined #go-nuts
20:08 < wm4> what the heck did the Go designers think when they designed the
syntax?
20:08 < ajray> does google have a continuous integration server for Go
projects?
20:09 -!- MagBo [n=Petrache@mpe-2-170.mpe.lv] has joined #go-nuts
20:09 < ajray> With the fast compilation times and all :-)
20:09 <+agl> ajray: we have an internal thing, yes
20:09 <+agl> ajray: nothing solid nor public yet.
20:09 < MagBo> hi!
20:09 -!- keithcascio [n=keith@pool-96-251-58-223.lsanca.dsl-w.verizon.net] has
joined #go-nuts
20:09 -!- danielrf [n=cgibreak@pool-96-248-174-38.chi01.dsl-w.verizon.net] has
joined #go-nuts
20:09 < ajray> agl i was thinking of maybe making one myself
20:09 < engla> no public google projects using Go yet?
20:09 < engla> except for the go website (?)
20:09 < Dreamr_3> hmmm
20:09 < MagBo> it go meant to by a system-programming lang?
20:10 < MagBo> is*
20:10 < frodenius> yes
20:10 < engla> MagBo: you have to wonder when the homepage's subtitle is "a
systems programming language"
20:10 -!- sjbrown_ [n=sjbrown@64.125.181.72] has quit [Read error: 110 (Connection
timed out)]
20:10 < MagBo> ((:
20:10 < keithcascio> I read the Ars article, and go-lang.org, it's exciting
20:10 -!- erikd [n=aphistic@72.14.183.166] has joined #go-nuts
20:10 < three-f-jeff> wm4 and KirkMcDonald: Not that you can't write good
code in D/Java/C++, I just find the object models do more to get in my way.  And
I'm pretty sure that go actually fixes that problem.
20:11 < MagBo> yes, my question was far more rithorical than it should be.
20:11 < wm4> three-f-jeff: how does it fix it?
20:11 < ajray> can I do lazy evaluation of statements in Go?
20:11 < MagBo> and how direct memory management is implemented?
20:11 < three-f-jeff> wm4: there is no unified objects.
20:12 < nickbp> i noticed in the 1hr video that there was discussion of a
templating syntax -- has that been worked out or is it still in progress?
20:12 < MagBo> and what about templates?
20:12 < keithcascio> I take it that Go source code files can participate in
circular dependencies, like Java source files, unlike C source files, correct?
20:12 -!- diabolix [n=jsoyke@206.210.81.55] has joined #go-nuts
20:12 < dsp_> i have to giggle.  i don't think i remember the last time i
saw someone get excited about a programming language.
20:12 < keithcascio> last time I got excited was Ruby
20:12 < three-f-jeff> wm4: What I mean is the object model splits out the
interfaces and then maps them automatically.
20:12 < wm4> dsp_: oh, they get excited about D all the time
20:12 <+agl> keithcascio: within a package, certainly.
20:12 -!- barbanegra [n=1101110@unaffiliated/barbanegra] has joined #go-nuts
20:12 -!- Space [i=router@r190-64-215-23.dialup.adsl.anteldata.net.uy] has joined
#go-nuts
20:13 -!- lite_ [n=lite@ip-89.171.243.42.static.crowley.pl] has quit ["Lost
terminal"]
20:13 < dsp_> wm4: D did not particularly excite me.  i mean, sure, it's
kinda cool
20:13 -!- CMA [n=cma@unaffiliated/cma] has joined #go-nuts
20:13 < dsp_> but it's still a programming language
20:13 -!- MagBo [n=Petrache@mpe-2-170.mpe.lv] has left #go-nuts []
20:13 < diabolix> so, the 'go' keyword, and <-, are they part of the
language?  or are they added through some means of meta-programming by the
runtime?
20:13 < dsp_> a C like one at that heh
20:13 -!- krig_ [i=kegie@stalin.acc.umu.se] has joined #go-nuts
20:13 <+agl> diabolix: part of the language.
20:13 < Dreamr_3> any mysql libs for go yet?
20:14 < diabolix> i see.
20:14 < mattgirv> dsp_: What is wrong with C?
20:14 -!- barbanegra [n=1101110@unaffiliated/barbanegra] has left #go-nuts
["ehm...  me voy a dar una vuelta"]
20:14 < dsp_> mattgirv: i'm not saying there's anything wrong with it, it's
just not exciting
20:14 < ajray> i bet google has internal SQL stuff somewhere (MySQL,
PostgreSQL)
20:14 -!- nickbp [n=fsoh@unaffiliated/beoba] has left #go-nuts ["( °_°)"]
20:14 < three-f-jeff> wm4: I usually stick to C when I want a typed language
because the data structures are clearer (to me), whereas everytime I poke around
with OO programs, everything is layered about 6 layers too deep (which is super
annoying when you have to resort to RTFS).
20:14 < Dreamr_3> ajray: that they are keeping to themselves?
20:15 < mattgirv> dsp_: I remember when I first got into programming with my
Amiga, assembly language seemed exciting then hah :)
20:15 < keithcascio> +agl: thanks, that leads me to ask about the compiler,
g6, is it more like javac, i.e.  is it actually a build system, or is it more like
gcc, strictly a compiler?
20:15 -!- kim__ [n=kim@207-179-227-215.mtco.com] has joined #go-nuts
20:15 <+agl> keithcascio: 6g is like GCC.  It outputs machine code.
20:15 < ajray> i dunno.  The video said its been going on about two years
now.  i think SQL integration is something that'd happen in the first two years of
life
20:15 < nc> i have determined
20:15 < nc> Go will not build on openbsd
20:15 <+agl> keithcascio: you need to present all the files in the package
to it: it doesn't chase links.
20:15 < wm4> three-f-jeff: I also feel like most "OOP" type systems suck
20:16 < wm4> I have yet to look how Go handles inheritance, overriding, etc.
20:16 < keithcascio> +agl: that seems to differ from gcc, since gcc compiles
one file at a time, correct?
20:16 -!- freenose [n=freenose@204.97.199.7] has left #go-nuts []
20:16 < kmc_> why does go have implicitly nullable types?  aren't those
pretty much a disaster?
20:16 < three-f-jeff> wm4: And I think, I'm not totally sure of this, but I
think go does it better.
20:16 < ajray> also, i'd like to add my voice to the templating question.
Has it come anywhere from where the talk mentioned it?
20:16 -!- Cesario [n=Cesario@vil69-8-88-172-179-202.fbx.proxad.net] has joined
#go-nuts
20:16 <+agl> keithcascio: correct
20:16 < three-f-jeff> wm4: time will tell, but I'm excited (and I put a lot
of implicit trust in anything Ken Thompson and Rob Pike come up with).
20:16 < diabolix> I think if you need a complex feature, the language should
provide a means to add it, not depend on it.
20:17 -!- davidL [n=david@unaffiliated/davidl] has left #go-nuts []
20:17 < kmc_> with nulls, unless you have some way to structure computation
(e.g.  monads), you end up writing "if (x == NULL) return NULL" every other line
20:17 < diabolix> like, why can't the 'go' keyword be a function that takes
a closure as an argument?
20:17 < ajray> diabolix: would templating qualify as a complex feature?
20:17 < keithcascio> +agl: OK, how is a typical Go program built, using gnu
make?
20:17 -!- haitao [n=haitao@faraday.ps.uci.edu] has joined #go-nuts
20:17 < Clooth> iMac-Nico:src Nico$ sudo ./all.bash
20:17 < Clooth> $GOROOT is not set correctly or not exported
20:17 < Clooth> :/
20:17 < Clooth> $GOROOT is set to /Users/Nico/Go
20:17 < diabolix> ajray, no, templating is a feature by which you can add
new features.
20:17 < Clooth> which is where the mercurial clone is
20:17 < Eridius> Clooth: did you export it?
20:18 < krig_> anyone have an emacs mode for go?
20:18 < ajray> Clooth: did you source your .bashrc after adding those lines?
20:18 < Clooth> maybe not
20:18 * Clooth tries again
20:18 < ajray> krig_: its in the misc folder
20:18 < Eridius> krig_: misc/emacs/go-mode.el
20:18 < danderson> diabolix: because goroutines are nothing without the
support of the runtime, which makes it a language feature, not a library function
20:18 -!- akeidolon [i=eidolon@firefly.cat.pdx.edu] has left #go-nuts []
20:18 < krig_> ajray Eridios: thx
20:18 < three-f-jeff> wm4: also, if the OO model ends up being
no-better/no-worse, the concurrency model is awesome.
20:18 -!- Skel is now known as JustinHoMi
20:18 < danderson> (my non-authoritative opinion)
20:18 -!- yiyus [i=12427124@je.je.je] has joined #go-nuts
20:18 < wm4> is there an IDE (think Visual Studio, Eclipse...) for Go yet?
20:18 < three-f-jeff> wm4: there's vim, emacs and xcode support.
20:18 -!- ShadowIce [n=pyoro@p54A27D38.dip.t-dialin.net] has joined #go-nuts
20:19 < wm4> three-f-jeff: yes the concurrency stuff seems to be very good
20:19 < Clooth> Yes Eridius, Yes ajray
20:19 < diabolix> danderson, what do goroutines do that you can't do with a
function that takes a function as an argument?
20:19 < ajray> wm4: i'm hacking at tab-completing methods in VIM.  right now
vim is (afaik) syntax hilighting
20:19 < Clooth> export GOROOT=/Users/Nico/Go
20:19 < Clooth> and I just ran source .bash_profile
20:19 < Clooth> there is no .bashrc file
20:19 < wm4> I'm one of those people who laugh when hearing the words "vim"
and "IDE" together...  sorry
20:19 < three-f-jeff> wm4: the concurrency stuff is what I immediately
started playing with.
20:19 < danderson> diabolix: check the docs on how goroutines get scheduled.
The runtime schedules them on threads in such a way that goroutines share threads.
20:19 -!- Spion [n=spion@unaffiliated/spion] has joined #go-nuts
20:19 < Eridius> wm4: haha
20:19 < Venom_X> wm4: looks in the misc directory
20:19 < three-f-jeff> wm4: and I'm one of those that won't touch anything
that is not vim.
20:20 -!- tromp_ [n=tromp@rtc34-222.rentec.com] has joined #go-nuts
20:20 < wm4> heh
20:20 < ajray> wm4: is the emacs mode better?
20:20 < wm4> ajray: nah
20:20 < diabolix> danderson, ok, thats fine, but why can't a function called
'go' that takes a pointer to a function do the same thing?
20:20 < ajray> i just want to be able to tab-complete methods
20:20 < ajray> saves me a little time coding.  like everything else i try to
do.
20:20 -!- Fish [n=Fish@78.238.225.114] has joined #go-nuts
20:20 -!- bruce89 [n=bruce89@78.33.73.43] has joined #go-nuts
20:20 -!- rmt [n=rmt@ip-90-187-105-22.web.vodafone.de] has joined #go-nuts
20:20 < Clooth> so any idea?
20:21 < Deltafire> ajray: ctags support would be nice - you'd get
tab-completing methods then
20:21 < danderson> diabolix: ah, so your question is purely about syntax,
not why goroutines can't be lifted out of the language into a lib
20:21 -!- Fish [n=Fish@78.238.225.114] has quit [Dead socket]
20:21 < danderson> then, I don't know.
20:21 < Clooth> I have "export GOROOT=/Users/Nico/Go" in .bash_profile
20:21 < ajray> Deltafire: yeah, thats what i'm looking at now (vim+ctags)
20:21 < Clooth> and I have sourced it
20:21 < Clooth> but it says iMac-Nico:src Nico$ sudo ./all.bash
20:21 < Clooth> $GOROOT is not set correctly or not exported
20:21 < Eridius> Clooth: what does 'env | grep ^GO' say?
20:21 < Clooth> it lists the 4 vars
20:21 -!- Volfram [n=mist@87.246.131.149] has left #go-nuts ["Leaving"]
20:21 -!- Fish [n=Fish@78.238.225.114] has joined #go-nuts
20:21 -!- bruce89 [n=bruce89@78.33.73.43] has left #go-nuts ["<Insert something
funny>"]
20:21 < Clooth> GOBIN=/Users/Nico/Go/bin
20:21 < Clooth> GOARCH=386
20:21 < Clooth> GOROOT=/Users/Nico/Go
20:21 < Clooth> GOOS=darwin
20:21 < Dreamr_3> so can i define my own methods?
20:21 < vegai> Clooth: why sudo?
20:21 < diabolix> danderson, well, both.  I mean, why should you have to add
a feature to the language for something as simple as the go keyword?
20:21 < Dreamr_3> so i can add two strings together?
20:22 < Clooth> vegai, it says permission denied without it
20:22 < ajray> Dreamr_3: yes, but you can add strings normally
20:22 < Dreamr_3> text + "more test";
20:22 < Clooth> for the bin directory
20:22 < Eridius> Clooth: btw, if you're on a Core Duo computer you probably
want to use amd64 instead of 386
20:22 < ajray> Dreamr_3: strings are first class typtes
20:22 -!- eno__ [n=eno@adsl-70-137-133-105.dsl.snfc21.sbcglobal.net] has joined
#go-nuts
20:22 < ajray> types
20:22 < Clooth> even if its intel, Eridius?  :s
20:22 < Dreamr_3> ajray: hmmm
20:22 < Eridius> Clooth: you need to make sure the bin directory exists
20:22 -!- vaibhav [i=squid@iws4.iiita.ac.in] has joined #go-nuts
20:22 < Clooth> it does Eridius
20:22 < Eridius> Clooth: yeah
20:22 < Clooth> I created it
20:22 -!- inz- [n=blaat@critique.xs4all.nl] has joined #go-nuts
20:22 < Dreamr_3> ajray: so why does the join function do all this crazy
copying arrays one byte at a time?
20:22 < Eridius> Clooth: amd64 is the same as x86-64
20:22 < Dreamr_3> ajray: for speed or what?
20:22 -!- tux21b [n=nchristo@trujillo.srv.pocoo.org] has joined #go-nuts
20:22 < aaront> Clooth: it shouldn't need sudo
20:22 -!- mennis [n=mennis@adsl-068-016-104-079.sip.asm.bellsouth.net] has joined
#go-nuts
20:22 < diabolix> I've seen where things go when you add features to the
language instead of the runtime.  the end of that road is Ada.
20:22 < aaront> check the permissions on bin
20:23 < Dreamr_3> string#Join
20:23 < ajray> Dreamr_3: strings are immutable, byte arrays are not.
20:23 < danderson> diabolix: goroutines, due to their form, need support
from the runtime to be able to multiplex several goroutines on a single thread.
So from that point, they must be in the runtime.  As for why the syntax is a
keyword rather than a function, I don't know and defer to the creators of the
language for widsom.
20:23 < Clooth> ok I did some progress
20:23 -!- opafan48 [n=opafan48@213.144.157.75] has joined #go-nuts
20:23 < Clooth> I'll get back to it
20:23 < Clooth> thanks bros
20:23 -!- Irssi: #go-nuts: Total of 519 nicks [0 ops, 0 halfops, 5 voices, 514
normal]
20:23 < Dreamr_3> so an object can't set it's value to something else?  have
a string that when added to returns a new string and sets itself to that new
string?
20:24 < Dreamr_3> maybe i'm still thinking too rubyish :)
20:24 < Dreamr_3> a string isn't an object, is it?
20:24 -!- GeDaMo [n=gedamo@212.225.108.57] has quit ["Leaving."]
20:24 < NfNitLoop> a string object cannot.  Because it is defined to be
immutable.
20:25 < danopia`> Dreamr_3, ruby ftw
20:25 < Clooth> helo rup
20:25 < ajray> Dreamr_3: but a variable can take on a new string as its
value
20:25 -!- haitao [n=haitao@faraday.ps.uci.edu] has left #go-nuts ["Ex-Chat"]
20:25 < Dreamr_3> ajray: yes i read that :)
20:25 -!- einargi [n=einsidan@194-144-68-248.du.xdsl.is] has joined #go-nuts
20:25 -!- cato` [n=lolbert@cm-84.208.67.187.getinternet.no] has joined #go-nuts
20:25 < Dreamr_3> i think Join needs a CopyBytes function it calls :)
20:25 < keithcascio> +agl: what is the typical build system used to build a
Go program?
20:26 < Dreamr_3> all those for loops are just painful
20:26 < ajray> how close is thompson's debugger to being stable?
20:26 < diabolix> I think I see...  a goroutine can give up execution when
sending to a channel, whereas in a normal program you would have to have seperate
threads.
20:26 < rup> Err..  Hello Clooth?
20:26 < ajray> (mentioned in the talk)
20:26 <+agl> keithcascio: make at the moment.
20:26 < opafan48> where is the eclipse plugin :)
20:26 < Clooth> wanna be friends rup
20:26 < Clooth> u seem like a cool guy
20:26 < rup> o_o Who are you?
20:26 < keithcascio> +agl: ok, but gnu make doesn't know how to handle
circular dependencies, correct?
20:26 < Clooth> I'm a friendly soul
20:26 -!- peloverde [n=alex@cpe-173-88-148-20.neo.res.rr.com] has left #go-nuts
["Leaving"]
20:26 < opafan48> ++
20:26 < rup> Okay then.
20:27 < nc> i have a van
20:27 < ajray> keithcascio: do we want to have circular dependencies?
20:27 < nc> with treats in it
20:27 < nc> if u want to join me there
20:27 < mattgirv> friendly soul or horny programmer, you decide
20:27 < three-f-jeff> lol
20:27 < ajray> OT (9.9)
20:27 -!- jamalta [n=jamalta@209.20.66.76] has joined #go-nuts
20:27 -!- hanse [n=hanse@188-23-77-105.adsl.highway.telekom.at] has quit [Remote
closed the connection]
20:27 < keithcascio> ajray: circular dependencies between source code files,
like java, unlike c
20:27 < three-f-jeff> keithcascio: circular dependencies are the path to
madness.
20:27 < ajray> ya
20:28 < opafan48> another ibm invention..
20:28 -!- drusepth [n=drusepth@150.199.193.10] has joined #go-nuts
20:28 -!- Alexie [n=alex@nat67.mia.three.co.uk] has joined #go-nuts
20:28 < ajray> agl: is there a wishlist page for the bored college students
who want to contribute :-)
20:28 < ajray> (like GSoC wishlists?)
20:28 < three-f-jeff> (for the record, you _can_ do circular dependencies
with make.  I've seen it.)
20:28 < ajray> eww
20:28 -!- govatent [n=govatent@206.209.103.5] has joined #go-nuts
20:29 < keithcascio> ajray, three-f-jeff: circular dependencies abound
between source code files of languages that don't use header files, i.e.  foreward
declaration
20:29 <+agl> ajray: not yet
20:29 < Alexie> alright, i just grabbed the go sources and tried to build
the code.  but it stopped with a otest: error: no tests matching Test([^a-z].*)?
in _test/archive/tar.a
20:29 < Alexie> error message.  any ideas why?
20:29 < ajray> the continuous integration server idea would be cool, but
redundant if google released theirs in short time
20:29 -!- __ed [i=bitch@anal-co.it] has joined #go-nuts
20:29 < diabolix> is there a way to include a c header?
20:29 <+agl> keithcascio: you don't have cycles in the package graph, but
you can have them within files in the same package.
20:29 <+agl> keithcascio: (although, I've never actaully tried to make
cycles in the package graph so I don't know what happens.)
20:29 -!- rog [n=rog@adsl-67-113-22-114.dsl.snfc21.pacbell.net] has quit []
20:29 < zalgo_> Alexie: you need LC_ALL=C in your .profile/.bashrc
20:29 < chrome> does gofmt assume 4 spaces per tab?
20:30 < Alexie> zalgo_: thanks
20:30 -!- pierron_ [n=pierron@91-164-162-231.rev.libertysurf.net] has joined
#go-nuts
20:30 -!- einargi is now known as einsidan
20:30 -!- govatent [n=govatent@206.209.103.5] has left #go-nuts ["Leaving"]
20:30 < Alexie> zalgo_: I've got LC_ALL=en_GB.UTF-8.  No wonder :)
20:30 <+agl> Alexie: http://code.google.com/p/go/wiki/CommonProblems
20:30 < keithcascio> +agl: I know from Java there are cycles between
java.lang and java.io, also java.lang and java.util
20:30 -!- cato` [n=lolbert@cm-84.208.67.187.getinternet.no] has left #go-nuts []
20:30 -!- recover [n=recover@ip21278.lbinternet.se] has joined #go-nuts
20:30 < zalgo_> Alexie: uh, sorry, I was wrong ...  just do "export
LC_ALL=C" before you build
20:30 -!- ErikRose_ [n=grinch@300bd-253.tlt.psu.edu] has joined #go-nuts
20:30 < Clooth> hey uhm
20:30 < Dreamr_3> so really now while loops?
20:31 < Alexie> yeah, it's building now
20:31 < Dreamr_3> would you just use a for loop and change the variable
inside the loop?
20:31 < Clooth> I get permission denied for every folder inside the Go
folder
20:31 < Dreamr_3> *no
20:31 < Clooth> and every file
20:31 < Eridius> Dreamr_3: for takes the place of while
20:31 < Clooth> do I have to chown
20:31 < Clooth> it
20:31 -!- PhlowX [n=PhlowX@pD955F699.dip.t-dialin.net] has left #go-nuts
["Verlassend"]
20:31 < Dreamr_3> Eridius: how so?  :) while is a diff looping construct
20:31 -!- `vin [n=vinjacob@168.187.156.97] has joined #go-nuts
20:31 < rbancroft> zalgo_: really?  I have UTF-8 as well and it worked fine
20:31 < keithcascio> +agl: it would be outstanding if the packages in the Go
libraries somehow avoided those cycles
20:31 < ajray> it almost seems like 'for' means 'loop' now
20:31 < ajray> but its less characters so im not complaining
20:31 -!- urkonn [n=urkonn@201.155.124.232] has quit ["Leaving"]
20:31 < Eridius> Dreamr_3: the for syntax allows it
20:31 < bobappleyard1> Dreamr_3: for cond { body } isntead of while
20:31 -!- wm4 [n=luser@p5080D4E2.dip.t-dialin.net] has left #go-nuts ["Leaving"]
20:31 < Eridius> Dreamr_3: read the docs
20:31 < Clooth> fixed!
20:32 < Dreamr_3> oh
20:32 < Dreamr_3> interesting :)
20:32 < Alexie> rbancroft: not on my gentoo linux setup, i use
LC_ALL=en_GB.UTF-8
20:32 < Dreamr_3> they just couldn't be bothered to call it while :)
20:32 < temoto> Dreamr_3: and for { body } as while(true) { body }
20:32 < vaibhav> hey , i can't install it.
20:32 < three-f-jeff> Dreamr_3: 2 fewer characters.
20:32 -!- Devel [n=chatzill@dslb-088-069-047-082.pools.arcor-ip.net] has joined
#go-nuts
20:32 -!- eno [n=eno@nslu2-linux/eno] has quit [Read error: 110 (Connection timed
out)]
20:33 < temoto> Yeah, the name "loop" would be more generic.  And you can do
that with preprocessor.
20:33 < Dreamr_3> cause storage space for storing source code is so tight
these days :)
20:33 < three-f-jeff> Dreamr_3: typing time.
20:33 < Alexie> It'd be impressive if you rewrote Go in Go, self-hosting
compiler...
20:33 < Devel> Hell!
20:33 -!- Space [i=router@r190-64-215-23.dialup.adsl.anteldata.net.uy] has left
#go-nuts ["Leaving"]
20:33 < Devel> *Hello
20:33 -!- dajero [n=dajero@82-169-246-141.ip.telfort.nl] has quit [Remote closed
the connection]
20:34 < me__> hi; if anyone feels like reading some code, here is my patch
so for far DragonFly BSD support:
http://grex.org/~vsrinivas/src/go-dragonfly-1.diff ; any comments on thread.c
would be nice...
20:34 < Clooth> Get http://codesearch.google.com/: dial tcp
codesearch.google.com:http: lookup codesearch.google.com.  on 192.168.11.1:53: no
answer from server
20:34 < Alexie> yeah changing LC_ALL to C solved my problem thanks
20:34 < Clooth> ^ what
20:34 < temoto> Alexie: and whole compiler in one line, to make you more
impressed, right?
20:34 -!- zalgo_ is now known as zalgo
20:34 < Clooth> Get http://www.google.com/robots.txt: dial tcp
www.google.com:http: lookup www.google.com.  on 192.168.11.1:53: no answer from
server
20:34 < Clooth> ^ what
20:34 -!- pois0n [n=pois0n@190.22.105.87] has quit ["Leaving"]
20:34 -!- Devel [n=chatzill@dslb-088-069-047-082.pools.arcor-ip.net] has quit
[Client Quit]
20:34 < Dreamr_3> Clooth: turn off your firewall
20:34 < Clooth> I didn't know I had one
20:34 <+agl> me__: you should probably mail the list so that it doesn't get
lost in the noise.
20:34 < Clooth> *checks*
20:34 -!- __ed [i=bitch@anal-co.it] has quit ["changing servers"]
20:34 <+iant> Clooth: DNS issue, we've seen various failure cases with DNS
lookups, you can ignore the test failures
20:35 < Clooth> oh so it compiled still?
20:35 <+iant> Clooth: yes
20:35 < Clooth> cause that came on ./all.bash
20:35 < ajray> agl: i'm holding off for a couple days so the noise dies down
20:35 -!- __ed [i=bitch@anal-co.it] has joined #go-nuts
20:35 < Clooth> it was going for a long time
20:35 < Clooth> then it ended on that
20:35 < Alexie> temoto: Yeah, why not?
20:35 < Clooth> -- if its fine then I won't care about it
20:35 < ajray> /.  dropped the bomb on this one
20:35 < aho> Choices for $GOOS are linux, darwin (Mac OS X 10.5 or 10.6),
and nacl (Native Client, an incomplete port).  Choices for $GOARCH are [...] and
arm (32-bit ARM, an incomplete port).  <- how incomplete?
20:35 <+iant> Clooth: that is after compilers and libaries are built and
installed, and it hsa moved on to running tests
20:35 -!- RadSurfer [n=RadSurfe@unaffiliated/radsurfer] has joined #go-nuts
20:35 < Clooth> ok :)
20:35 < Clooth> thanks iant
20:35 < temoto> Alexie: because there is Brainfuck language to impress
people?
20:35 < me__> agl: okay, will do.
20:35 * Alexie shrugs
20:35 < aho> (oops...  pasted a bit too much) :f
20:36 < danderson> me__: opening an issue with the patch attached is also a
good way to avoid it getting lost in the noise
20:36 < Clooth> are you "+ dudes" the guys behind the language or just hired
slave-help?
20:36 < Alexie> is the darwin port x86 only or can it run on ppc as well?
20:36 < Clooth> -hired
20:36 -!- brrant [n=John@65-102-225-252.hlrn.qwest.net] has quit ["Leaving"]
20:36 <+iant> Clooth: I worked on the language
20:36 < danderson> Clooth: the voiced people are the go team.
20:36 -!- dr34mc0d3r [n=dr34m@wsip-68-15-107-109.ok.ok.cox.net] has quit
["Leaving"]
20:36 < soul9> Alexie: it looks like it's 386-only
20:36 < slide_rule> how do I write a makefile for just compiling a
command-line program, rather than a package or such?
20:36 < Clooth> Yeah I thought so
20:36 < danderson> well, more or less :)
20:37 < Clooth> well good going iant ;)
20:37 <+iant> thx
20:37 < Clooth> (pun intented)
20:37 < Clooth> intended*
20:37 < ajray> the 'go team' sounds badass.  like special forces
20:37 < three-f-jeff> Go Team1
20:37 <+iant> slide_rule: you could copy, e.g., cmd/gofmt/Makefile, I
suppose
20:37 < Clooth> ye
20:37 < three-f-jeff> s/1/!
20:37 < Eridius> call them Team Go
20:37 < Eridius> then you can order them to Go, Team Go!
20:37 <+iant> the Go Nuts
20:37 < three-f-jeff> Go Team!  Go!
20:37 < me__> danderson: its nowhere near ready yet; i'm just trying to get
comments.
20:37 < danderson> ajray: you should see them when they're out on an
operation.
20:37 -!- grawity [n=grawity@78-56-197-6.static.zebra.lt] has quit ["sleep."]
20:37 < ajray> lol
20:37 < dsp_> so when can we expect to see a plan 9 port ;D
20:37 -!- pierron [n=pierron@88-122-99-206.rev.libertysurf.net] has quit [Read
error: 145 (Connection timed out)]
20:37 -!- boebbel [n=magnus@dslb-088-064-086-024.pools.arcor-ip.net] has joined
#go-nuts
20:38 < boebbel> hi
20:38 < Clooth> iant
20:38 < Clooth> can you explain something to me though
20:38 < ajray> dsp_: i'll try that later today :-P
20:38 < Eridius> you could have called it R-Go.  Then the team would be the
R-Go Nuts
20:38 -!- pkrumins [i=nhl@unaffiliated/pkrumins] has joined #go-nuts
20:38 < kfx> dsp_: excellent question
20:38 < Clooth> the language is very interesting looking..  but one thing
that disturbs me alot is the logo
20:38 < boebbel> how can i install go on my opensuse?
20:38 -!- ajray [n=alex@nom26005c.nomadic.ncsu.edu] has quit ["Leaving."]
20:38 < boebbel> is there a rpm package?
20:38 <+iant> Clooth: the logo?  that is a gopher
20:38 <+iant> I like him
20:38 -!- alst [n=chatzill@c-f5d5e055.117-1-64736c20.cust.bredbandsbolaget.se] has
joined #go-nuts
20:38 -!- rog [n=rog@adsl-67-113-22-114.dsl.snfc21.pacbell.net] has joined
#go-nuts
20:38 < Eridius> Clooth: the logo is awesome
20:38 < Clooth> it looks like a gopher that has indeed gone nuts
20:38 <+iant> boebbel: not yet
20:38 < aho> Clooth, the mascot is plain awesome
20:38 <+iant> Clooth: perfect
20:38 < Clooth> ah so it was intended :(
20:39 < Clooth> I thought you guys just had a fetish for animals that looked
nuts
20:39 < Clooth> in reference to plan9
20:39 < dsp_> looks like a bastard child of glendas
20:39 < Clooth> but wait-- you do.
20:39 < Clooth> :(
20:39 < jmil1> it's richard gere's favorite language
20:39 <+iant> distant cousin, I think
20:39 -!- Netsplit over, joins: automaciej
20:39 -!- zalgo [i=andreer@flode.pvv.ntnu.no] has left #go-nuts []
20:39 -!- TenOfTen [n=TenOfTen@c-fd25e555.04-18-73746f10.cust.bredbandsbolaget.se]
has joined #go-nuts
20:39 -!- Netsplit leguin.freenode.net <-> irc.freenode.net quits: scandal,
grumbel
20:39 -!- plh [i=plh@gateway/shell/rootnode.net/x-ompdoidztyfuooev] has joined
#go-nuts
20:39 -!- jcaose [n=jcaose@h35n2-ld-c-d2.ias.bredband.telia.com] has quit [Read
error: 110 (Connection timed out)]
20:40 -!- Netsplit over, joins: scandal
20:40 -!- Rob_Russell [n=chatzill@206-248-157-156.dsl.teksavvy.com] has quit [No
route to host]
20:40 < keithcascio> +agl: how does gnu make invoke g6?  One source file at
a time, or more than one at a time?
20:40 <+iant> keithcascio: all the files in one package are pased to 6g at
the same time
20:40 -!- weeegod [n=weeegod@187.39.148.176] has joined #go-nuts
20:40 <+iant> different packages are separate invocations of 6g
20:40 < Clooth> I'm gonna try bribery in order to gain a permanent job at
Google
20:40 < Clooth> You think I'll succeed?  Y/N
20:41 <+iant> Clooth: N
20:41 < danderson> N.
20:41 < pbunbun> Y
20:41 < kfx> you could try interviewing
20:41 < boebbel> how do i have to edit my bashrc?
20:41 < keithcascio> +iant: I see, thanks, and I apologize, "6g"
20:41 < kfx> that's what I'm doing
20:41 < soul9> hm..
20:41 < soul9> warning: chan.c:1011 no return at end of function: gcd
20:41 <+iant> Google is indeed hiring
20:41 < Clooth> any more votes?  :(
20:41 -!- __ed [i=bitch@anal-co.it] has quit ["changing servers"]
20:41 < pbunbun> Clooth: Obv.  they'll say no on IRC
20:41 < wcn> Clooth: N
20:41 -!- MarkBao [n=MarkBao@pool-98-110-164-56.bstnma.fios.verizon.net] has quit
[Read error: 60 (Operation timed out)]
20:41 -!- ninja123 [n=ninja123@122.164.189.205] has quit [Remote closed the
connection]
20:41 < Clooth> any more YES votes?
20:41 < Clooth> :(
20:41 -!- __ed [i=bitch@anal-co.it] has joined #go-nuts
20:41 < Clooth> pbunbun: who said anything about IRC?
20:41 < alexsuraci> Clooth: here's a pitty Y.
20:41 < Clooth> O.o
20:41 -!- ninja123 [n=ninja123@122.164.189.205] has joined #go-nuts
20:41 < Clooth> Thanks alexsuraci
20:41 < alexsuraci> np
20:41 < alexsuraci> also *pity
20:42 < danderson> me__: oh, okay.  Well, good work on getting support for
more platforms going.  Karma to you.
20:42 < pbunbun> As someone who can't even find a minimum wage job at the mo
I might not be the best person to convince you of a yes
20:42 <+iant> pbunbun: that is true, but it's also true that bribery won't
work, there isn't one person who makes a hiring decision, and, even if there were,
you wouldn't know who it was from the outside
20:42 < TenOfTen> any list of library bindings for go?
20:42 < Clooth> I have a mole on the inside
20:42 < Clooth> (inside of my skin :()
20:42 -!- SomeDumbBumb [n=jack@p54992DC1.dip.t-dialin.net] has joined #go-nuts
20:42 < chrome> ok being able to write a multithreaded tcp server in 53 loc
is pretty sweet.
20:42 < pbunbun> Clooth: Really?  You should get that checked out
20:42 <+iant> TenOfTen: golang.org/pkg
20:42 < keithcascio> +iant: does that mean packages cannot participate in
circular dependencies with each other?
20:42 < Clooth> iant, instead of searching for it myself, is there a jobs
page?
20:42 <+iant> keithcascio: yes, no circular imports
20:43 <+iant> Clooth: google.com/jobs, I think
20:43 -!- luiz [n=luiz_cap@201.22.48.94.dynamic.adsl.gvt.net.br] has quit [Read
error: 110 (Connection timed out)]
20:43 < me__> danderson: thanks.  is there any place that i should put it
that people might look at it?
20:43 -!- vaibhav [i=squid@iws4.iiita.ac.in] has quit ["Leaving"]
20:43 < Clooth> iant, if I were to apply from europe, is it possible to get
help in relocating to-- for example a US office?
20:43 < TenOfTen> iant: thanks.  there's been any talk on opengl bindings
and similar?
20:43 <+iant> me__: I think opening an issue, or simply starting setting up
a patch as in golang.org/doc/contribute.html
20:43 < Clooth> well not relocating to the office (atleast not fully) but in
the area
20:43 < keithcascio> +iant: that sounds good, but it surprises me, since
there is such heavy circular dependence between packages in the java standard
library
20:43 < Clooth> meh
20:43 < Clooth> I'm going off-topic
20:43 < danderson> me__: as agl suggested, waiting a little for the peanut
gallery to quiet down is probably a good idea at this point
20:43 < Clooth> I apologize
20:44 <+iant> Clooth: there are european offices, but, yeah, this is
somewhat off-topic
20:44 -!- wcn [n=wcn@216.239.45.130] has quit []
20:44 <+iant> keithcascio: it has not been a problem for us so far
20:44 <+iant> we'll see
20:44 < alexsuraci> Where's gccgo?  It's in the tutorial but doesn't go in
my /bin folder on compilation.  Is that out of date?
20:44 < boebbel> Hey how do i have to set up the variables in my .bashrc
20:44 < chrome> iant: if I have a net.Conn and I perform a Read on it with a
buffer thats not big enough, it'll panic if I send it too much.  Is there a way to
make Read only try to read X amount of data?
20:44 < danderson> me__: but if you follow the instructions at
http://golang.org/doc/contribute.html#Code_review to get a code review going, and
pass the review link around on here, that might get you early feedback
20:45 -!- mizai [n=mizai@rhou-164-107-213-187.resnet.ohio-state.edu] has quit
[Remote closed the connection]
20:45 < danderson> if that's what you're after
20:45 <+iant> alexsuraci: http://golang.org/doc/gccgo_install.html
20:45 -!- Bytecode_ [n=bytecode@97-124-183-166.hlrn.qwest.net] has quit [Remote
closed the connection]
20:45 < alexsuraci> iant: Thanks.
20:45 <+iant> boebbel: follow the install instructions, that should work; in
.bashrc "export GOROOT=...", etc.
20:45 < me__> danderson: okay, will do.  thanks!
20:46 < keithcascio> +iant: it seems important, because the Go people want
Go programs to compile fast, which means exploiting multi-core, which means a
parallel build
20:46 < boebbel> iant: ty
20:46 -!- fgb [n=fgb@190.246.85.45] has joined #go-nuts
20:46 -!- jmil1 [n=Adium@c-76-124-67-155.hsd1.pa.comcast.net] has left #go-nuts []
20:47 <+iant> chrome: I'm surprised that it panics, but try io.ReadFull
20:47 <+iant> keithcascio: a parallel build seems orthogonal to circular
package dependencies
20:47 -!- Anubisss [i=Anubisss@ip-170-21-userpool.zeg.zelkanet.hu] has quit
["Haromfajta ember van.  Aki tud szamolni es aki nem."]
20:47 < kim__> in what ways are goroutines better than what i can already do
with the plan 9 thread library?
20:47 -!- __ed [i=bitch@anal-co.it] has quit ["changing servers"]
20:47 -!- jarfhy [n=jeff@68.146.152.204] has joined #go-nuts
20:47 -!- __ed [i=bitch@anal-co.it] has joined #go-nuts
20:47 < chrome> iant: do you want to see the code and the panic I get?
20:47 <+iant> kim__: goroutines are coroutines multiplexed onto OS threads
20:48 < sstangl> agl: I think the latest commit broke amd_64 build:
http://code.google.com/p/go/issues/detail?id=61
20:48 < Alexie> hrmm, a simple hello world comes to 512k, whereas equivalent
c program is 4k
20:48 < keithcascio> +iant: does "orthogonal" mean mutually exclusive?
20:48 -!- SomeDumbBumb [n=jack@p54992DC1.dip.t-dialin.net] has left #go-nuts []
20:48 < three-f-jeff> Alexie: it's got a runtime that has to do GC and
goroutine scheduling.
20:48 -!- plainhao [n=plainhao@mail.xbiotica.com] has quit []
20:48 -!- debacle [n=chatzill@c-71-203-31-53.hsd1.fl.comcast.net] has joined
#go-nuts
20:48 < kim__> iant: are there benchmarks or anything comparing the two?
20:48 -!- drusepth [n=drusepth@150.199.193.10] has quit [Read error: 110
(Connection timed out)]
20:48 < Alexie> three-f-jeff: oh yeah i'd forgotten about gc and schediuling
20:49 <+iant> chrome: I don't have time at the moment, but if you get a
panic from Read then it's probably worth opening an issue, seems like an error
would be better
20:49 < three-f-jeff> Alexie: 512k is probably a working minimum for binary
size, since right now, the programs are statically linked.
20:49 < Alexie> does google uses go for their projects?
20:49 < sstangl> Alexie: also unicode ;)
20:49 < NaN> Can I use intel C++ to compile go code?
20:49 < pkrumins> trying go
20:49 < Alexie> unicode is good
20:49 * Alexie likes unicode
20:49 -!- roppert [n=roppert@62.205.216.81.static.k.siw.siwnet.net] has joined
#go-nuts
20:49 -!- BlueT_ [n=matthew@ubuntu/member/BlueT] has joined #go-nuts
20:49 <+iant> keithcascio: orthogonal (to me) means more like "independent"
or "separate issue"
20:49 < temoto> Alexie: FAQ says it's not because Go is not production ready
yet.
20:49 * sstangl любит уникод
20:49 < chrome> iant: ok, will do that
20:50 <+iant> kim__: comparing goroutines to Plan 9 threads?  I'm not aware
of any benchmarks
20:50 < chrome> iant: I'm pretty sure its my fault though :)
20:50 < three-f-jeff> sstangl: And it displayed!  Even if I cannot read it!
20:50 < Alexie> sstangl любит уникод :)
20:50 < Alexie> cute
20:50 < pkrumins> sstangl, a ja ljublju ascii ;)
20:50 < keithcascio> +iant: I disagree, circular dependence and
parallelization are intimately related
20:50 <+iant> NaN: you should be able to start with icc to build the Go
compiler, though it might need some tweaking of quietgcc
20:51 <+iant> keithcascio: how so?
20:51 -!- jaan [n=jaan@165.206.191.90.dyn.estpak.ee] has joined #go-nuts
20:51 < temoto> I don't know what 512KB working minimum you guys are talking
about since i have 85kb 6.out on amd64.
20:51 < me__> hmm, might be of interest - in the linux runtime, in thread.c,
++ and -- are used for m->locks.  remember those aren't atomic.
20:51 < ment> sstangl: and i love Z҉A҉L҉G҉O̚̕
20:51 < weggpod> how can i found doc about programming thread program with
GO?
20:51 < kim__> alexie: staticly linked programes fork much faster than
dynamically linked ones
20:51 <+iant> me__: note that the linux runtime is being compiled with 6c,
not a general C compiler, so we have control over the semantics
20:51 < keithcascio> +iant: earlier in this discussion, agl said 6g "doesn't
chase links"
20:51 <+iant> weggpod: lots of stuff on golang.org
20:51 -!- jaan is now known as mtz
20:52 < me__> iant: still, 8c doesn't generate INC and DEC at least for ++
and -- iirc
20:52 -!- roppert [n=roppert@62.205.216.81.static.k.siw.siwnet.net] has left
#go-nuts []
20:52 <+iant> me__: OK--I guess I don't know whether there is a problem
there or not, it's not really my area
20:52 < weggpod> iant, more
20:52 <+iant> weggpod: I don't think there is anything more than golang.org
yet
20:52 < ssb> kim__, until icache starts thrashing =]
20:52 -!- inz- [n=blaat@critique.xs4all.nl] has quit []
20:52 < Clooth> My friend said there was a textmate bundle for Go already
20:53 < Clooth> but I'm having a hard time finding it
20:53 < Clooth> is there one?
20:53 <+iant> keithcascio: I've lost that comment already, sorry, I'm not
sure what it refers to
20:53 < three-f-jeff> temoto: hellwrld.6 is about 5k and 6.out from running
"6l hellwrld.6" is ~620k.
20:53 < alexsuraci> Clooth:
http://groups.google.com/group/golang-nuts/browse_thread/thread/5f2d7ad7262b450c
20:53 < weggpod> iant, i just some line about goroutine but nothing about
how to share memory etc..
20:53 -!- rog [n=rog@adsl-67-113-22-114.dsl.snfc21.pacbell.net] has quit []
20:53 <+iant> all goroutines share memory
20:53 < keithcascio> +iant: generally, a single strongly connected component
of the dependency graph of source code files must be compiled in a single
invocation
20:53 -!- __ed [i=bitch@anal-co.it] has quit ["changing servers"]
20:54 -!- aartist [n=REENA@ool-44c51b5c.dyn.optonline.net] has joined #go-nuts
20:54 -!- __ed [i=bitch@anal-co.it] has joined #go-nuts
20:54 <+iant> keithcascio: you only need to recompile a package if the
packages upon which it depends change their exported data
20:54 < me__> iant: i don't know that it is or isn't yet; is there ever a
case where code running on an M can be interrupted between a load of m->locks
and a store?  afaik, the answer is no, so its safe...
20:54 <+iant> you do not need to recompile if some dependency changes
internally, you just need to relink
20:54 < aartist> how it is different from Perl?
20:54 < temoto> three-f-jeff: ah right, it's all about fmt package.
20:54 <+iant> me__: I'm not familiar enough with the details of the
goroutine runtime to comment usefully
20:54 < temoto> three-f-jeff: try to remove it.
20:55 <+iant> aartist: it's very different from Perl
20:55 -!- wcn [n=wcn@216.239.45.130] has joined #go-nuts
20:55 < keithcascio> +aint: maybe I'm asking the wrong questions, maybe Go
source files don't depend on each other the same way C or Java source files depend
on each other, is Go more like Python or Ruby in this respect?
20:55 < opafan48> does go have goto?
20:55 < saati> opafan48: yes
20:55 <+iant> keithcascio: when you import a package, you get access to the
types, vars, consts, and funcs defined in that package
20:55 -!- rafaelmartins [n=rafael@unaffiliated/rafaelmartins/x-162351] has quit
[Read error: 60 (Operation timed out)]
20:56 < three-f-jeff> temoto: yep.  go/pkg/linux_amd64/fmt.a is 280k.
20:56 < three-f-jeff> And it probably has enough other dependencies to get
it past the half mib mark.
20:56 <+iant> keithcascio: this is done by having the compiler pull in the
parsed export information, it's not like a #include
20:56 -!- aschallich [n=amos@173-13-183-46-sfba.hfc.comcastbusiness.net] has
joined #go-nuts
20:56 -!- einsidan [n=einsidan@194-144-68-248.du.xdsl.is] has left #go-nuts []
20:56 -!- stefanc [n=stefanc@188.25.244.29] has joined #go-nuts
20:56 <+iant> I don't know how Python does this kind of thing
20:56 < NfNitLoop> the same way.
20:56 < temoto> Python does everything at runtime.
20:56 -!- weeegod [n=weeegod@187.39.148.176] has quit []
20:56 -!- wooden [n=anon@user-387hrrg.cable.mindspring.com] has joined #go-nuts
20:56 < NfNitLoop> well, yes, at runtime.
20:57 <+iant> Go does this at compile time
20:57 < NfNitLoop> but import imports symbols, not code.  Just like in Java
and Python.
20:57 <+iant> right
20:57 -!- Irssi: #go-nuts: Total of 510 nicks [0 ops, 0 halfops, 5 voices, 505
normal]
20:57 -!- markbao_ [n=MarkBao@nmd.sbx10962.wellema.wayport.net] has joined
#go-nuts
20:57 < temoto> And you can't have two import t1 within t2.py and import t2
within t1.py
20:57 < keithcascio> +iant: interesting, maybe 6g is smarter than javac
20:57 < opafan48> how can i use qt4 in Go?
20:57 <+iant> temoto: right
20:57 -!- infrared [i=infrared@visor.slugabed.org] has joined #go-nuts
20:57 <+iant> keithcascio: I don't know how javac does it
20:57 < temoto> iant: same applies to Go imports?
20:58 <+iant> opafan48: no very good way right now, it would be possible
along the lines of misc/cgo
20:58 -!- lasko [n=lasko@70.99.232.187] has left #go-nuts []
20:58 -!- einsidan [n=einsidan@194-144-68-248.du.xdsl.is] has joined #go-nuts
20:58 <+iant> temoto: right: no circular imports
20:58 -!- kim__ [n=kim@207-179-227-215.mtco.com] has left #go-nuts ["wizard needs
food -- badly!"]
20:58 < temoto> keithcascio: ^ i guess it answers your circular dependancies
question.
20:58 -!- laurin [n=lek@host245-241.excalibur.tvcconnect.net] has left #go-nuts []
20:59 < keithcascio> +iant: javac cannot compile part of a strongly
connected component, it needs the whole thing at once, maybe 6g is smarter than
that
20:59 <+iant> keithcascio: in Go there is a tree of package imports, if A
imports B then you have to compile B first and then A
20:59 < MWeber> hi guys...i lost the link to the page, which describes what
to do when the test fails while bootstrapping...
20:59 -!- cherez [n=cherez@131.151.189.189] has left #go-nuts []
20:59 < temoto> The interesting thing here is that dependancies can be
automatically found.  It wouldn't be wise to write them in Makefile by hand.
20:59 < NfNitLoop> iant: is there any wa to automate that at the moment?
20:59 <+iant> temoto: yes
20:59 < NfNitLoop> way*
20:59 < boebbel> is there any editor which supports syntax highlighting for
go yet?
21:00 < einsidan> i think texmate does
21:00 < soul9> bobappleyard1: vi, emacs and xcode
21:00 < temoto> But that should be something simple to sed preprocessing.
21:00 < keithcascio> temoto: right, gnu make can't handle circular
dependence
21:00 < soul9> it's in the source tree under misc/
21:00 <+iant> NfNitLoop: automate dependency finding?  see src/pkg/Make.deps
21:00 < mpl> soul9: nothing for acme yet?  :/
21:00 < bobappleyard1> soul9: hm?
21:00 < soul9> :( nope
21:00 < soul9> bobappleyard1: sorry :)
21:00 < NfNitLoop> iant: cool, thanks.  :)
21:00 -!- gustaf [n=gustaf@213.136.48.227] has joined #go-nuts
21:00 < uriel> what do you want for acme?  *it just works*
21:00 -!- [A]KangB [n=LOL@79.109.36.84.dyn.user.ono.com] has joined #go-nuts
21:00 < soul9> boebbel↑
21:01 < bobappleyard1> soul9: oh i see
21:01 -!- Koen_ [n=Koen@83.101.24.153] has quit ["leaving"]
21:01 < soul9> yeah, i don't need syntax highlighting
21:01 < soul9> |gofmt is easy enough
21:01 * pkrumins sings wake me up before you go go
21:01 < asyncster> does go support anonymous functions?
21:01 -!- magewhopper [n=magemage@Wikipedia/Mage-Whopper] has joined #go-nuts
21:01 <+iant> asyncster: yes
21:01 < temoto> For good.
21:01 < asyncster> like var f func = ....
21:01 -!- ErikRose_ [n=grinch@300bd-253.tlt.psu.edu] has left #go-nuts []
21:01 < mpl> uriel: all the maching opening to closing signs work?
21:01 < [A]KangB> how old is go languaje!?
21:01 <+iant> asyncster: var f = func() { }
21:01 < soul9> sure
21:01 < temoto> That's not anonymous.  You just gave it a name.
21:01 < asyncster> awesome :)
21:01 < uriel> mpl: yes
21:02 < soul9> mpl: that's automatic
21:02 < bobappleyard1> asyncster: f := func () { }
21:02 -!- nexneo [n=niket@115.108.175.41] has joined #go-nuts
21:02 <+iant> [A]KangB: started about two years ago, see language design FAQ
21:02 -!- tyler_wylie [n=tyler@67.223.237.146] has joined #go-nuts
21:02 < [A]KangB> thanks iant
21:02 <+iant> temoto: func() { }()
21:02 < tyler_wylie> Greetings :) I am unable to build Go on my x86-64
Fedora machines
21:02 < pkrumins> does go have any functional programming language elements?
21:02 < mpl> soul9: no that's not.  for exemple that kind of matching for
xml on p9p was added by russ sometime this year.
21:02 -!- gdoko [i=gdoko@albalug/gdk] has joined #go-nuts
21:02 < soul9> actually, matching parentthesis even works in wm/irc ☻
21:02 < sstangl> tyler_wylie: what's the error?
21:02 -!- CMA_ [n=cma@unaffiliated/cma] has joined #go-nuts
21:02 < tyler_wylie> sstangl: let me try to rebuild and I'll pastebin it
21:02 < soul9> mpl: xml is different
21:02 <+iant> pkrumins: not particularly
21:02 < temoto> asyncster: that's inline function or lambda if you will.
Anonymous is plan f(arg1, arg2, func(){ code });
21:02 -!- gnibbler [n=duckman@124-168-51-145.dyn.iinet.net.au] has joined #go-nuts
21:02 <+iant> temoto: that works too
21:02 < vhold> In the documentation, it says Go is not yet mature enough for
Google itself to use productionally, what's an example of that immaturity?
21:03 < soul9> xml is retarded, that doesn't count
21:03 < soul9> works on jjson though
21:03 <+iant> vhold: needs better libraries, better GC
21:03 < temoto> iant: yeah and that's awesome!
21:03 < soul9> json*
21:03 < mpl> soul9: sure.  I suppose there isn't much to change from C for
it to work on Go.
21:03 < vhold> better GC as in..  faster..  or as in..  don't crash so much
?
21:03 -!- dual [n=dual@79.160.122.5] has quit [Remote closed the connection]
21:03 < nexneo> what should be directory structure for custom package ?
21:03 < pkrumins> since i learned haskell, everything seems different, would
love fp elements in every language.
21:03 <+iant> vhold: faster
21:03 -!- `vin [n=vinjacob@168.187.156.97] has quit [K-lined]
21:04 < temoto> nexneo: so good question.  We need more guide styles.
21:04 -!- Kniht [n=kniht@c-68-58-17-177.hsd1.in.comcast.net] has quit [Read error:
110 (Connection timed out)]
21:04 <+iant> nexneo: if it's your own package, whatever you like, really;
for a contributed package see golang.org/doc/contribute.html
21:04 < vhold> iant: thanks
21:04 < bobappleyard1> pkrumins: i know what you mean, although lisps in my
case
21:04 < temoto> no, style guides that it
21:04 < Deltafire> is it possible to strip the executables produced by 6l?
they seem rather large
21:04 -!- x2cast [n=alvaro@187.127.222.87.dynamic.jazztel.es] has quit
["Leaving."]
21:04 < soul9> mpl: basically on any language that uses parenthesis like
< ( [ or { it works
21:04 < mpl> iant: I wonder how you get the energy to repeat those things so
many times.  good for you :)
21:04 -!- __ed [i=bitch@anal-co.it] has quit ["changing servers"]
21:04 <+iant> Deltafire: it's because 6l always links statically
21:04 < tromp_> how big is hello world binary?
21:04 < Clooth> iant, is a web framework a too wild of an idea yet
21:04 -!- __ed [i=bitch@anal-co.it] has joined #go-nuts
21:04 < Deltafire> tromp_: 638k on osx
21:04 -!- roveItaly [n=rove@host-84-222-77-229.cust-adsl.tiscali.it] has joined
#go-nuts
21:04 -!- teedex [n=teedex@204.14.155.161] has joined #go-nuts
21:05 <+iant> mpl: I forget them 10 seconds after I type them, so it doesn't
seem like repetition to me
21:05 < mpl> soul9: makes sense.
21:05 -!- meheff [n=meheff@nat/google/x-oxgdoeufhhffxiqu] has joined #go-nuts
21:05 < temoto> I wonder how many "Go support" requests guys like codepad,
github are getting today.
21:05 <+iant> Clooth: I don't think so, but obviously some design
21:05 <+iant> is needed
21:05 < roveItaly> hi, is there any italian?
21:05 < Clooth> yes
21:05 < Clooth> I was thinking of something along the lines of RoR
21:05 < nexneo> iant: thanks, when I import it should I have to use -I flag
for path can be defined in import statement ?
21:05 < Clooth> MVC
21:05 < tyler_wylie> sstangl: http://pastebin.ca/1667043
21:05 <+iant> nexneo: the import statement can use a full pathname if you
like, or you can rely on -I searching
21:05 < jlouis> Clooth: perhaps it is not what this thing is built for
21:05 < ssb> do I understand correctly that GC is precise?
21:05 < Clooth> jlouis
21:05 <+iant> I don't think we really know what will work out best for
arbitrary packages
21:05 -!- Megz [i=Megz@76.91.62.8] has joined #go-nuts
21:06 < nexneo> iant: cool
21:06 < Clooth> is ruby built for web development?
21:06 -!- gustaf [n=gustaf@213.136.48.227] has left #go-nuts []
21:06 < roveItaly> I've got problem compiling go compiler for my ubuntu
21:06 -!- stefanha [n=stefanha@78.47.77.187] has joined #go-nuts
21:06 < nexneo> Clooth: noap
21:06 < pkrumins> I am now trying to install go but I get this:
http://pastebin.com/m371840cd
21:06 <+iant> ssb: The current gc walks the stack and as such is imprecise
there
21:06 < Clooth> nexneo: exactly
21:06 -!- TravisBarker [n=tbarker@twiki/developer/TravisBarker] has joined
#go-nuts
21:06 < pkrumins> it installs somethign called 'quietgcc'
21:06 < tyler_wylie> er sstangl refresh :)
21:06 < TravisBarker> hi all
21:06 < pkrumins> not sure what to do with it, and it doesn't run tests as
the install doc shows it should
21:06 -!- hat0 [n=hat@cpe-67-9-132-238.austin.res.rr.com] has quit ["Leaving"]
21:06 < jlouis> Clooth: feel free to try doing it.  I am just hypothesizing
you will find it harder than you think, Go being a systems language
21:06 < Megz> Go sucks!!!!
21:06 < soul9> heh
21:06 <+iant> pkrumins: make sure that GOBIN is on your PATH
21:07 < Clooth> Yes I understand that jlouis.  It was just a wild idea
21:07 < tromp_> go is the greatest game ever!
21:07 < opafan48> Megz, +1
21:07 < ssb> iant, are there plans to implement precise gc?
21:07 < temoto> Clooth: web framework in Go is a wild idea because Go is low
level.  HTTP server in Go is a good idea, though.
21:07 < sstangl> tyler_wylie: what's the problem?
21:07 < aaront> Megz, opafan48: then why are you here?
21:07 < Clooth> indeed temoto
21:07 < pkrumins> oh right
21:07 < Megz> no operator overloading, I can't make a simple Vector
interface which supports simple things like v1*v2
21:07 <+iant> ssb: yes
21:07 < Megz> vector3d
21:07 < pkrumins> iant, didn't notice the "'which quietgcc' fails" error at
the end
21:07 < opafan48> aaront, to find another illusion
21:07 < pkrumins> i thought it was a success message
21:07 < jlouis> Bittorrent client in Go would be fun
21:07 < Clooth> temoto: to expand this idea: a web framework could be a go
application instead of the framework being go
21:07 < Clooth> :D
21:07 < pkrumins> iant, perhaps it would be good if errors had 'error: '
appended at the beginning
21:07 < jlouis> as the "client" acts much like a server
21:07 -!- Cyric [n=g0d@rrcs-70-62-118-186.midsouth.biz.rr.com] has joined #go-nuts
21:08 < tyler_wylie> sstangl: it leaves on that error
21:08 -!- artefon [n=thiago@189.107.166.185] has quit ["bye"]
21:08 < Clooth> and it could use go-style design
21:08 < Clooth> for the code
21:08 < Clooth> but yeah
21:08 < nexneo> temoto: Web framework in Java was wild idea too.  :)
21:08 < Megz> you guys are all drinking Kool-aid
21:08 < Megz> how about LuaJit
21:08 < Megz> you dont even /need/ to compile
21:08 < sstangl> tyler_wylie: I don't see an error; I have 722 lines
21:08 < temoto> I wonder if there will born a better replacement for
nginx/lighthttpd in Go.
21:08 < tyler_wylie> sstangl: I updated it: http://pastebin.ca/1667045
21:08 < temoto> nexneo: yes, it is still.
21:09 < opafan48> Megz, i ll use it
21:09 < danderson> temoto: don't wonder, start implementing and see what
happens :-)
21:09 < vhold> Why is Go all statically linked?  Was the speed difference
really that great?
21:09 -!- FreshMeat_ [n=crump@c-67-180-74-9.hsd1.ca.comcast.net] has joined
#go-nuts
21:09 < danderson> opafan48: don't feed the trolls.
21:09 -!- awishformore [n=awishfor@78.141.152.48] has joined #go-nuts
21:09 < sstangl> tyler_wylie: check your $GOBIN; the programs should be
there.
21:09 -!- depood [n=depood@chello080108055214.19.11.vie.surfer.at] has joined
#go-nuts
21:09 <+iant> vhold: it's a different toolchain approach, it could probably
become dynamically linked at some point if that seems desirable
21:09 <+robpike> go is only statically linked if you use 6g/8g/5g and it's
because the tool chain it's built on only does static linking
21:09 < jlouis> temoto: you can probably implement somehting within 20-30%
performance of those in go in 1/10 the lines of code
21:09 -!- [A]KangB [n=LOL@79.109.36.84.dyn.user.ono.com] has quit ["lero la"]
21:09 <+iant> vhold: Go uses a different linker so dynamic linking is a lot
more work
21:09 < tyler_wylie> sstangl: alright so it built but errored out anyways?
21:10 < JordanG> hey guys, trying to build go, and when i run all.bash i get
an error that the quietgcc command isn't found
21:10 < temoto> jlouis: 20-30??
21:10 < sstangl> tyler_wylie: those are tests that are failing; the
toolchain has already been built.
21:10 -!- keithpoole [n=keithpoo@cpc3-bagu8-0-0-cust84.bagu.cable.ntl.com] has
joined #go-nuts
21:10 < sstangl> JordanG: mkdir ~/bin
21:10 < jlouis> temoto: quick guess
21:10 <+iant> JordanG: Make sure your $GOBIN is on your PATH
21:10 <+robpike> jordanG: see common problems link at top of irc client
21:10 < tyler_wylie> sstangl: alright I'll give it a try :)
21:10 < temoto> Man i thought go is faster.
21:10 < me__> iant: 6/8l knows how to generate records for libdynld still,
no?
21:10 < vhold> iant: so for now the extra complexity wasn't worth it for
what will probably be a very small number of distinct binaries running on
individual systems I'd imagine?
21:10 < temoto> Are epoll/kqueue bindings there yet?
21:10 < roveItaly> my go installing problem is
21:10 -!- gri [n=gri@nat/google/x-yxkmjhnegzriduus] has joined #go-nuts
21:11 < opafan48> why all these env variables?  cant this be solved more
elegant?
21:11 < blackmagik> Megz, i think you took the channel name too literal.
have you gone-nuts lol?
21:11 < sstangl> temoto: truthfully, it doesn't really make sense to ask how
fast a language is, only the compilers
21:11 -!- mode/#go-nuts [+v gri] by ChanServ
21:11 <+iant> me__: just enough for dynamic linking against other shared
libraries, it doesn't generate any dynamic relocations for the binaries
21:11 <+iant> vhold: yes
21:11 < JordanG> ok, thanks
21:11 -!- wcr [n=wcr@unaffiliated/warcrime] has quit []
21:11 < roveItaly> my go installing problem is http://dpaste.com/119337/ and
my GO*environment is http://dpaste.com/119341/
21:11 < pkrumins> the go compile time seems to be impressive only on really
fast machines
21:11 < roveItaly> can anybody help me??
21:12 -!- infrared [i=infrared@visor.slugabed.org] has left #go-nuts []
21:12 <+agl> roveItaly: hg pull -u
21:12 -!- keithpoole [n=keithpoo@cpc3-bagu8-0-0-cust84.bagu.cable.ntl.com] has
quit [Client Quit]
21:12 < soul9> pkrumins: have you ever compiled gcc or pythoonn?
21:12 < soul9> python*
21:12 < pkrumins> i am now compiling it on a 2.2ghz celeron with 786mb ram,
it has been 4 mins and it's still compiling
21:12 < devewm> are the executables produced by Gccgo smaller size than
those output from 6g/8g?
21:12 -!- stefanha [n=stefanha@78.47.77.187] has left #go-nuts []
21:12 < pkrumins> soul9, the video showed it compiling in 19 secs
21:12 < opafan48> too much PR
21:12 < temoto> sstangl: yeah, but particular implementations of algorithms
still can be compared, right?
21:13 <+iant> pkrumins: are you talking about the time required to build the
Go compilers, or the time required to run the Go compilers building Go code?
21:13 <+iant> The Go compilers are written in C
21:13 < Wezz6400> well a celeron at 2,2 GHz is an ancient machine
21:13 < roveItaly> agl: thanks, I'm compiling ;D
21:13 -!- cerv [n=kane@194.1.130.108] has quit [Operation timed out]
21:13 <+iant> devewm: yes, somewhat, because they are dynamically linked
21:13 < mtz> whoa, lot of people here :D
21:13 < Wezz6400> that's from the P4 era
21:13 < tyler_wylie> sstangl: ah!  success alright
21:13 -!- gzt [n=gzt@24-151-178-146.dhcp.kgpt.tn.charter.com] has quit [Connection
timed out]
21:14 -!- vt100 [n=vt@cust125.179.113.38.dsl.g3telecom.net] has joined #go-nuts
21:14 < devewm> iant: makes sense.  would be interesting to see some
comparisons, see how much size is due to runtime vs having things statically
linked...
21:14 < pkrumins> iant, time required to build the whole Go (./all.bash)
21:14 -!- h3r3tic [n=heretic@208.75.87.105] has left #go-nuts ["return this;"]
21:14 < jlouis> Netburst is so beautiful an architecture...  20 pipeline
stages of which 2 is just driving around data from one part of the cpu to others
21:14 < sstangl> temoto: sure
21:14 <+iant> pkrumins: that is not a good reflection of the speed of
running the Go compilers, because that is mostly compiling C code
21:14 < soul9> pkrumins: also, i'd think that''s a lappy with an ssd drive,
which might speed up things quite a bit
21:14 -!- AlanT1 [n=Work@69.15.110.53] has joined #go-nuts
21:14 < Wezz6400> lol jlouis
21:14 -!- AlanT [n=Work@69.15.110.53] has quit [Read error: 104 (Connection reset
by peer)]
21:15 < soul9> does go have the environment variables hardcoded?
21:15 -!- Alexie [n=alex@nat67.mia.three.co.uk] has quit [Read error: 110
(Connection timed out)]
21:15 <+iant> soul9: I'm not sure what you mean
21:15 < pkrumins> right.  :)
21:15 -!- dobre_zlo [i=unixwiza@k-lined.info] has joined #go-nuts
21:16 < dobre_zlo> hi
21:16 -!- proun [n=proun@cpe-76-180-82-128.buffalo.res.rr.com] has joined #go-nuts
21:16 < soul9> well, is e.g.  GOROOT hardcoded anywhere or can ii move them
around and juust set GOROOT?
21:16 < soul9> iant↑
21:16 < sstangl> soul9: you set it in your .bashrc.
21:16 -!- cerv [n=kane@194.1.130.108] has joined #go-nuts
21:16 -!- nc [n=nc@bbis.us] has left #go-nuts ["8====e"]
21:16 < proun> can gccgo be used to create a shared object lib?
21:16 -!- dwery [n=dwery@nslu2-linux/dwery] has joined #go-nuts
21:16 < halfdan> hey, i'm getting some errors trying to build go
21:16 -!- joeedh [n=chatzill@c-24-10-97-83.hsd1.ca.comcast.net] has quit
["ChatZilla 0.9.84-rdmsoft [XULRunner 1.9.0.4/2008111312]"]
21:16 < soul9> sstangl: rather for creating a paackage
21:17 -!- AlanT1 [n=Work@69.15.110.53] has quit [Client Quit]
21:17 < sstangl> soul9: you can move them around and just set $GOROOT (try
it)
21:17 <+iant> soul9: you can move things around and just set GOROOT
21:17 < soul9> cool
21:17 <+iant> proun: yes
21:17 < dwery> hello!  I'm trying to output some json formatted data and was
looking at the package json.  I think I'd need the opposite of json.Unmarshal().
Any idea?
21:17 -!- Edward123 [n=dzzzt@unaffiliated/edward123] has joined #go-nuts
21:17 -!- three-f-jeff [n=phaedrus@76.102.139.171] has quit ["bye."]
21:17 -!- fhein [n=freundh@c-bee5e155.258-1-64736c11.cust.bredbandsbolaget.se] has
quit ["Leaving"]
21:17 < mtz> halfdan: errors like what?
21:17 < tyler_wylie> sstangl: now for a vim plugin :)
21:17 < sstangl> tyler_wylie: already exists!  misc/vim/go.vim
21:17 < jlouis> dwery: perhaps there is some interface implementation?
21:17 < halfdan> mtz: http://nopaste.info/dd8da78971.html
21:18 -!- muckel [n=Christia@ip-94-79-146-96.unitymediagroup.de] has quit
["Leaving"]
21:18 < jlouis> dwery: a Writer or Serializer or something such
21:18 -!- FreshMeat [n=crump@c-67-180-74-9.hsd1.ca.comcast.net] has quit [Read
error: 145 (Connection timed out)]
21:18 -!- FreshMeat_ is now known as FreshMeat
21:18 -!- temoto [n=temoto@217.173.74.146] has quit [Operation timed out]
21:18 < dwery> jlouis: haven't found anything yet
21:18 < jlouis> caveat: I have not written any Go at all :)
21:18 < opafan48> where is the eclipse plugin with 9999 wizards?
21:19 -!- joeedh [n=chatzill@c-24-10-97-83.hsd1.ca.comcast.net] has joined
#go-nuts
21:19 < sstangl> opafan48: c.c
21:19 < halfdan> mtz: any ideas?
21:19 -!- Edward123 [n=dzzzt@unaffiliated/edward123] has left #go-nuts []
21:19 < halfdan> that's just the end of the output ./all.bash produces
21:19 < asyncster> is there a regular expression library in go?
21:19 <+iant> asyncster: yes, pkg/regexp
21:20 <+iant> it needs some optimization, though
21:20 < remote> robpike is sexy
21:20 <+robpike> asyncster: it's also pretty simple
21:20 < asyncster> cool :)
21:20 < jlouis> asyncster: http://golang.org/pkg/regexp/ :)
21:20 < roveItaly> all work now!  thanks!
21:20 < uriel> iant: what are the plan/status of rewriting the runtime from
C to Go?
21:20 < tyler_wylie> sstangl: where!
21:20 <+robpike> asyncster: hope to have a much better one soon
21:20 < blackmagik> iant, which part of go do you work on?
21:20 -!- CMA [n=cma@unaffiliated/cma] has quit [Read error: 110 (Connection timed
out)]
21:20 < sstangl> tyler_wylie: go/misc/vim/go.vim (hg root)
21:21 < tyler_wylie> oh
21:21 < mtz> halfdan: no sorry, but it looks serious and something you
should report...
21:21 -!- jcgregorio_ [n=chatzill@203.39.247.241] has joined #go-nuts
21:21 < pkrumins> exploring packages
21:21 <+iant> uriel: not sure, sorry
21:21 <+iant> blackmagik: I wrote the gcc frontend
21:21 < pkrumins> i'll try to write an article "how to learn go in one day"
21:21 < uriel> iant: ok, just wondering, thanks
21:21 <+iant> uriel: it's a good question
21:22 < roveItaly> is there any plugin for eclipse for programming Go??
21:22 -!- jcgregorio_ [n=chatzill@203.39.247.241] has quit [Client Quit]
21:22 < blackmagik> iant, cool, and yea it would be cool to have it self
hosted
21:22 -!- jcgregorio_ [n=chatzill@203.39.247.241] has joined #go-nuts
21:23 < vhold> pkrumins: Go comes with 3 "Course" pdfs, 1 for each day...
I'm not sure how good they are but you might want to check it out
21:23 < opafan48> roveItaly, soon to be there, will cost around 9999 $ * £
21:23 -!- aidecoe [n=aidecoe@etiriah.aidecoe.name] has joined #go-nuts
21:23 < mtz> :D
21:23 -!- jcgregorio_ [n=chatzill@203.39.247.241] has quit [Client Quit]
21:23 < manveru> so all that's missing is ctags support?
21:24 < opafan48> and qt4 bindings
21:24 < roveItaly> uff...
21:24 < roveItaly> :D
21:24 < manveru> not before tk bindings :)
21:24 -!- jcgregorio_ [n=chatzill@203.39.247.241] has joined #go-nuts
21:24 < manveru> wait, i didn't even check for them yet
21:24 -!- Bytecode [n=bytecode@129.82.5.186] has joined #go-nuts
21:25 < manveru> yeah, none either
21:25 < opafan48> maybe they ll focus on gwt..
21:25 < pkrumins> vhold, oh, didn't notice those.
21:25 < mtz> roveItaly, not yet, as i understand, but as it is quite simple
language and google has eclipse support for gwt i would not be suprised if they
would release a eclipse plugin for go.
21:25 -!- anfedorov [n=anfedoro@nmd.sbx07441.brookny.wayport.net] has joined
#go-nuts
21:25 < proun> there doesn't happen to be any git mirrors of the repo eh?
21:25 < manveru> opafan48: binding with java...  quite the challenge :)
21:25 < tyler_wylie> sstangl: you should be able to move this into
/usr/share/vim/vim72/syntax and then it should work right?  or do I need to change
a setting
21:26 < jlouis> dwery: one way is to have an interface which returns a json
fragment and let your types implement this interface
21:26 < jlouis> I would guess
21:26 < manveru> normal C is easiest for FFI, qt is C++...  so you'd have to
swig it
21:26 -!- onox [n=onox@kalfjeslab.demon.nl] has joined #go-nuts
21:26 -!- onox [n=onox@kalfjeslab.demon.nl] has left #go-nuts []
21:26 < vhold> pkrumins: Yea, poking around in the doc dir and in src/pkg
seem to be of understated importance..  especially the wealth of example code in
the libraries
21:26 < roveItaly> eclipse power is uncomparable for software engineering :D
and it would be e good business for this language :D
21:26 < opafan48> ?!business
21:27 < manveru> lol
21:27 < dwery> jlouis: mm I need something easier...  I need some structured
output of a struct
21:27 < manveru> roveItaly: you don't know a thing if you think software is
about engineering :P
21:27 < dwery> jlouis: json, xml, anything would do
21:27 < rbancroft> in the google talk, rob mentioned that they were working
on swig support
21:27 < pkrumins> vhold, didn't explore that yet.  looking at it now.
21:27 -!- melba [n=blee@unaffiliated/lazz0] has quit ["MICROSOFT WORD IS A FUN
GAME"]
21:28 < devewm> tyler_wylie: i had to add an entry to filetype.vim
21:28 < manveru> hmm, ncurses first maybe?
21:28 -!- Megz [i=Megz@76.91.62.8] has left #go-nuts []
21:28 -!- evocallaghan [n=edward@ns1.auroraux.org] has joined #go-nuts
21:28 < nexneo> is there env variable for import path?
21:29 < manveru> nexneo: GOROOT
21:29 < evocallaghan> Question, why was this created if Ada already exists?
:p
21:29 < nexneo> how can it have multiple import path?
21:29 < manveru> nexneo: symlinks?
21:30 <+iant> nexneo: multiple -I options
21:30 -!- fobs [n=hans@dslb-084-059-047-064.pools.arcor-ip.net] has joined
#go-nuts
21:30 < opafan48> evocallaghan, coz it had no G in its name
21:30 < tyler_wylie> devewm: yea, that worked thanks :)
21:30 < devewm> tyler_wylie: np :)
21:30 < ment> why can't I type assert []Element array to []*Node type?
21:30 -!- ag90 [n=ag90@nat/ibm/x-agwmrqilhqistnfo] has quit []
21:31 < uman> what is the Go equivalent of scanf?
21:31 -!- mesenga [n=cbacelar@189.105.8.44] has joined #go-nuts
21:31 -!- r00ttap_ [n=wjones@204.108.244.100] has quit ["Lost terminal"]
21:31 <+iant> uman: I don't think there is a direct parallel to scanf, but
see pkg/strconv
21:32 < halfdan> mtz: it seems that problem has already been commited
21:32 -!- proun [n=proun@cpe-76-180-82-128.buffalo.res.rr.com] has quit
["leaving"]
21:32 < uman> iant: thanks
21:32 < nexneo> iant: trying to create Makefile for custom package.  looking
http://golang.org/src/Make.pkg
21:32 < uman> I suppose the first step would be learning to get any input at
all from stdin
21:32 < uman> how is that done?
21:32 -!- jimmy_ [n=rodrigo@189.59.94.3] has quit ["Saindo"]
21:32 <+agl> nexneo: copy a Makefile from an existing package
21:33 < KirkMcDonald> uman: os.Stdin is a File object for the fd 0.
21:33 < nexneo> agl: did that it compiles my custom package fine.  problem
is with main Makefile
21:33 < roveItaly> manveru: I don't understand what u mean
21:33 < roveItaly> :(
21:33 <+iant> uman: os.Stdin supports the io.Reader interface
21:33 < uman> Thanks both of you
21:34 < remote> i wonder why you're using mercurial
21:34 < remote> seriously
21:34 < evocallaghan> lame
21:34 <+iant> remote: because that is what code.google.com provides
21:34 -!- faux` [n=user@1-1-4-21a.gkp.gbg.bostream.se] has joined #go-nuts
21:34 -!- evocallaghan [n=edward@ns1.auroraux.org] has left #go-nuts []
21:34 < opafan48> >> func (b *buf) uint8() uint8 { // so where is the
sugar?
21:34 -!- aa [n=aa@200.40.114.26] has quit [Remote closed the connection]
21:34 < eharmon> hrm, I lay claim to the first Go IRC bot :P
21:34 < remote> didn't think so
21:35 < manveru> roveItaly: eclipse is overrated, you only need it because
java is so verbose that shoveling all the boilerplate around would be unbearable
otherwise
21:35 <+iant> remote: didn't think what?
21:35 -!- boebbel [n=magnus@dslb-088-064-086-024.pools.arcor-ip.net] has quit
[Remote closed the connection]
21:35 < remote> i've used subversion with code.google.com before
21:35 < pkrumins> gonna watch pike's lecture now
(http://www.youtube.com/watch?v=rKnDgT73v8s)
21:36 <+iant> remote: yes, they support both mercurial and subversion; we
went with mercurial
21:36 < danderson> remote: mercurial support was released last May.
21:36 < jlouis> pkrumins: it's worth it
21:36 < opafan48> / Address-sized uint.
21:36 < opafan48> func (b *buf) addr() uint64 {
21:36 < opafan48> switch b.addrsize {
21:36 < opafan48> case 1:
21:36 < opafan48> return uint64(b.uint8())
21:36 < opafan48> case 2:
21:36 < opafan48> return uint64(b.uint16())
21:36 < opafan48> case 4:
21:36 < opafan48> return uint64(b.uint32())
21:36 < opafan48> case 8:
21:36 < opafan48> return uint64(b.uint64())
21:36 < opafan48> }
21:36 < opafan48> b.error("unknown address size");
21:36 < opafan48> return 0;
21:36 < opafan48> }
21:36 < blackmagik> opafan48, use pastie.org guy!
21:36 < danderson> please don't do that again.
21:37 < opafan48> ugly
21:37 <+agl> nexneo: add the path to src/pkg/Makefile and run deps.bash
21:37 -!- CMA_ [n=cma@unaffiliated/cma] has quit ["Saliendo"]
21:37 -!- slide_rule [i=ad42401d@gateway/web/freenode/x-pvfstisdkhtkqqqw] has quit
[Ping timeout: 180 seconds]
21:37 < chrome> Guys, how can I make a channel broadcast?  Rather than be a
fifo?
21:37 <+iant> opafan48: hopefully some ugliness in the libraries will avoid
ugliness in user code
21:37 < uman> so what method should I use to read from os.Stdin?  ReadAll?
ReadFile?  ReadFull?
21:38 <+iant> chrome: have a goroutine read from the channel and fan out to
a bunch of different channels
21:38 <+iant> uman: any of them; whichever one does the job you want
21:38 -!- remy_ [n=remy@78.117.36.208] has joined #go-nuts
21:38 < nexneo> agl: thanks, will try that.  Another question: what is
difference between _obj/{package}.a and _go_.6 ?
21:38 < chrome> iant: ah, gotya
21:38 < chrome> its early :)
21:38 < jlouis> iant: there are no channel duplication?
21:38 <+iant> jlouis: no, and if there were it would just be a goroutine
under the covers anyhow
21:39 -!- kees_ [n=kees@ipd50a7644.speed.planet.nl] has joined #go-nuts
21:39 < uman> I want to read one line from stdin.  Stop at newline
21:39 < jlouis> iant: with the fanout implementation I guess.  It goes hand
in hand with orthogonality.
21:39 -!- bockmabe_ [n=B@miles.jfet.net] has joined #go-nuts
21:40 -!- oxtail [n=oxtail@94-194-56-42.zone8.bethere.co.uk] has joined #go-nuts
21:40 <+iant> uman: we may be missing buffer.ReadLine
21:40 < opafan48> '/run #c++
21:40 <+iant> uman: but I think that is where it would go
21:41 <+iant> for now, use a buffer and read one byte at a time up to
newline, I guess
21:41 < dwery> with reflections can I know the name of the fields of
structure at runtime?
21:41 -!- loureiro [n=loureiro@189.2.128.130] has quit ["Quit"]
21:41 -!- jcgregorio_ [n=chatzill@203.39.247.241] has quit [Read error: 104
(Connection reset by peer)]
21:42 -!- dg [i=dgl@d.cx] has joined #go-nuts
21:42 < uman> iant: thanks
21:42 -!- hat0 [n=hat@cpe-67-9-132-238.austin.res.rr.com] has joined #go-nuts
21:42 < vhold> If you are using bufio, you can use either ReadBytes('\n') or
ReadString('\n'), depending on what you need
21:42 <+iant> dwery: yes
21:42 -!- stkerr [n=chatzill@c-98-223-36-41.hsd1.in.comcast.net] has joined
#go-nuts
21:42 <+iant> vhold: ah, thanks
21:43 < uman> vhold, thanks, that appears to work
21:43 -!- i0n1 [n=a@88-117-117-212.adsl.highway.telekom.at] has quit []
21:43 < dwery> iant: nice!  any pointer to some example?  I've read the
documentation but cannot sort it out
21:43 -!- TravisBarker [n=tbarker@twiki/developer/TravisBarker] has left #go-nuts
[]
21:43 -!- Bytecode [n=bytecode@129.82.5.186] has quit [Remote closed the
connection]
21:43 -!- salvador [n=Futek@3505ds3-amb.0.fullrate.dk] has joined #go-nuts
21:43 <+iant> dwery: no simple example that I know of, but see
pkg/reflect/all_test.go for some complicated ones
21:44 -!- MWeber [n=wurst@port-92-193-77-148.dynamic.qsc.de] has left #go-nuts []
21:44 -!- salvador [n=Futek@3505ds3-amb.0.fullrate.dk] has left #go-nuts []
21:44 < dwery> ty
21:44 < vhold> It really can't be stated enough that there's a ton of
answers to questions on the pkgs within the test code inside src/pkg/*
21:44 < manveru> vhold: so there is no difference between "\n" and '\n'?
21:44 -!- alst [n=chatzill@c-f5d5e055.117-1-64736c20.cust.bredbandsbolaget.se] has
quit ["ChatZilla 0.9.85 [Firefox 3.5.5/20091102152451]"]
21:45 < mwarning> are ppl moving to #issue9 now?  ;)
21:45 <+iant> "\n" is a string and '\n' is a byte
21:45 < vhold> man: one is a byte, one is a string literal, or perhaps a
byte array literal?  I'm not entirely sure
21:45 <+iant> a string literal
21:45 < vhold> see iant
21:45 < remy_> sorry to interrupt : is there a syntaxical coloration ruleset
for vim ?
21:45 < KirkMcDonald> remy_: Yes.
21:45 < manveru> remy_: misc/vim
21:46 < weggpod> channel implementation use pipe ?
21:46 < remy_> thanks :)
21:46 <+iant> weggpod: no
21:46 -!- tuples_ [i=55006258@gateway/web/freenode/x-qnkhlrzamtwgketb] has joined
#go-nuts
21:47 -!- einsidan [n=einsidan@194-144-68-248.du.xdsl.is] has quit []
21:47 < blackmagik> time to start using the "rtfm" answer :)
21:47 -!- dchest [n=dchest@81.5.81.249] has joined #go-nuts
21:47 < chrome> iant: can you make a new scope just by enclosing it in { } ?
21:47 -!- Futek [n=Futek@3505ds3-amb.0.fullrate.dk] has joined #go-nuts
21:47 <+iant> chrome: within a function, yes
21:48 < chrome> ah, sweet.
21:48 < tuples_> Why does "buf := make([]uint8, 10.000.000)" pretty much use
10mb of RAM, but using "buf, _ := io.ReadFile("10mb");" eat up like 80mb?
21:48 < ment> iant: imagine i have an []Element array (with Element being
empty interface) and i store into it *Node pointer, can I somehow cast the array
to []*Node or do i have to copy it with type assertion one-by-one?
21:48 -!- MisterSpoon [n=irc@cpc3-broo4-0-0-cust471.renf.cable.ntl.com] has quit
[]
21:48 < vhold> tuples: utf-8 represntation ?
21:48 -!- Clooth [n=Clooth@cs27062173.pp.htv.fi] has quit [Remote closed the
connection]
21:48 < tuples_> I tried reading the file in 1kb portions, but since there's
no pointer arithmetic, I don't see how it's possible to fill up my pre allocated
buffer
21:48 <+iant> ment: you have to copy element by element, sorry
21:49 -!- streblo [n=streblo@c-67-188-5-66.hsd1.ca.comcast.net] has joined
#go-nuts
21:49 <+iant> tuples_: you can use slices to make up for lack of pointer
arithmetic for that kind of job
21:49 <+iant> keep reslicing to different parts of your buffer
21:49 -!- faux [n=user@1-1-4-21a.gkp.gbg.bostream.se] has quit [Connection timed
out]
21:49 < KirkMcDonald> Slice assignment would be nice.
21:49 < tuples_> I'll give it a shot
21:49 <+iant> tuples_: I don't know the answer to your memory usage
question, by the way
21:49 -!- agl [n=agl@72.14.229.81] has quit ["Leaving"]
21:50 < KirkMcDonald> I don't really buy the argument that it hides the
runtime complexity of the operation.
21:50 -!- einsidan [n=einsidan@194-144-68-248.du.xdsl.is] has joined #go-nuts
21:50 <+iant> KirkMcDonald: we're a bit concerned about making an operation
which looks simple be expensive
21:50 < pkrumins> what are you guys going to do with that guy who claims to
have go!  language?
21:50 < tuples_> iant: I even stuffed it into the http server example,
because I thought maybe the GC never runs, but even after a while, memory usage
stays that high
21:50 <+iant> KirkMcDonald: sorry for just giving you that argument
again....
21:50 < KirkMcDonald> iant: It is my experience, in both Python and D, that
is isn't really a problem.
21:50 < roveItaly> manveru: maybe for java is as you said, but I use it for
LaTeX, C++,web programming,perl, test-driven programming, trac integration...
etc...etc...  and it seems to me very powerful!  and it calls minus time to learn
shortcuts than emacs :D...  for project with a lot of different languages, eclipse
integration of all plugins can help and it's a great increase of quality of jobs,
especially if in your team there is someone that decrea
21:50 <+iant> KirkMcDonald: we'll consider it
21:50 < KirkMcDonald> s/is/this/
21:51 -!- PPilate [n=wotgoes@75.141.254.198] has joined #go-nuts
21:51 -!- jcopenha [n=jcopenha@c-71-228-73-62.hsd1.fl.comcast.net] has left
#go-nuts ["Leaving"]
21:52 -!- DarkAnt [n=Miranda@c-24-63-224-114.hsd1.ma.comcast.net] has joined
#go-nuts
21:52 < dchest> Is this the easiest way to convert string to base64-encoded
string?  http://pastie.org/694440
21:52 -!- Gynvael [n=gynvael@static-87-105-185-61.ssp.dialog.net.pl] has joined
#go-nuts
21:52 < Gynvael> hi
21:52 < vomjom> iant, if i wanted to propose changes to the pkg API
(specifically time), how would i go about that?
21:53 < ment> how expensive is different-package method call compared to
static (lowercase) local method call and lolcal non-method call?
21:53 < tuples_> iant: "cannot assign to buf[i:1024]", I feel like I'm
missing something here...
21:53 < KirkMcDonald> tuples_: There is no slice assignment.
21:53 -!- JoNaZ [n=jonaz@user77.77-105-229.netatonce.net] has joined #go-nuts
21:54 -!- Demon` [n=chatzill@82.80.130.254] has joined #go-nuts
21:54 -!- lesshaste [n=lesshast@87-194-206-189.bethere.co.uk] has joined #go-nuts
21:54 -!- reality|poolboy [n=aol@pool-98-116-11-175.nycmny.fios.verizon.net] has
quit [Read error: 54 (Connection reset by peer)]
21:54 -!- rbohn [n=rbohn@192.206.100.4] has quit [Connection reset by peer]
21:54 -!- rbohn [n=rbohn@192.206.100.4] has joined #go-nuts
21:54 < tuples_> so I need to "file.Read" directly into the buffer slice?
21:54 -!- asdfasd [n=email@89.180.172.244] has joined #go-nuts
21:55 -!- sjbrown_ [n=sjbrown@64.125.181.72] has joined #go-nuts
21:55 -!- StylusEater [n=Fraggle@hyatt.legalplans.com] has left #go-nuts
[""Woot...go go..  go?""]
21:55 <+iant> vomjom: open an issue or send a patch according to
http;//golang.org/doc/contribute.html
21:55 < adheus> will the go language be used on Chrome OS?
21:56 <+iant> ment: method calls are the same, whether local or
different-package; they are a little bit more expensive than non-method calls but
not much
21:56 -!- aaront [n=aaront@unaffiliated/aaront] has quit ["And that's all he
wrote..."]
21:56 < tuples_> KirkMcDonald: I got it.  file.Read(buf[i:i+1024]); so much
to wrap my head around...
21:56 <+iant> adheus: don't know
21:56 < vhold> adheus: I think their primary intention is for using it for
backend systems programming..  but there is some native-client related stuff in go
that makes me wonder...
21:56 < KirkMcDonald> tuples_: Ah, yes.
21:57 -!- filgood [n=filip@87-194-33-18.bethere.co.uk] has joined #go-nuts
21:57 <+gri> tuples_: consider also io.ReadFile.
http://golang.org/pkg/io/#tmp_64
21:57 < vhold> src/pkg/exp/nacl contains hints that they're experimenting
with go and browser integration
21:57 < tuples_> gri: Yes, but that one uses insane amounts of memory
21:57 < Eridius> how do I update a pending codereview change?
21:57 < tuples_> 3-4-5 times the size of the file
21:58 < Associat0r> iant are there plans fo first class functiions?
21:58 -!- jeng [n=chatzill@75.110.231.66] has quit ["ChatZilla 0.9.85 [Firefox
3.5.5/20091102152451]"]
21:58 -!- nero76 [n=nero76@p4FC554E2.dip.t-dialin.net] has left #go-nuts []
21:58 -!- gdoko [i=gdoko@albalug/gdk] has quit ["Leaving"]
21:58 < Eridius> ah hg upload
21:58 < kees_> what is the syntax of the variables in .bashrc?  for instance
$GOROOT?  something like $GOROOT='~/hg'?
21:58 <+iant> Associat0r: I think we have first class functions--what are
you looking for?
21:59 < frodenius> kees_: export GOROOT=~/hg
21:59 < kees_> thanks!
21:59 <+iant> kees_: http://code.google.com/p/go/wiki/CommonProblems
21:59 < Associat0r> iant passing functions to functions
21:59 < Associat0r> iant higher order functions
21:59 < jamesr> you can pass functions to functions
21:59 < Capso> Associat0r, you mean maps?
22:00 <+gri> tuples_: ReadFile uses a bytes.Buffer underneath which uses
amortized doubling of the buffer.  That may explain it.
22:00 < Gynvael> fd, err:= os.Open("test.png", os.O_WRONLY | os.O_CREATE,
0666); <=- is this sufficient to create a file ? (like in fopen("test.asdf",
"w"))
22:00 -!- exch [n=nuada@h144170.upc-h.chello.nl] has joined #go-nuts
22:00 < Associat0r> Capso no just passing functions around as param
22:00 < tuples_> gri: makes sense.  thanks for the explanation.
22:00 -!- TR2N [i=email@89.180.172.244] has quit [Read error: 60 (Operation timed
out)]
22:00 -!- Futek [n=Futek@3505ds3-amb.0.fullrate.dk] has left #go-nuts []
22:00 <+iant> Gynvael: yes, that should do it
22:01 < mjard> Associat0r: yeah, you can do that
22:01 <+iant> Associat0r: there are no plans for making functions more first
class than they already are
22:01 -!- btbozer [n=btbozer@c-65-34-247-62.hsd1.fl.comcast.net] has joined
#go-nuts
22:01 -!- Clooth [n=Clooth@cs27062173.pp.htv.fi] has joined #go-nuts
22:01 < frodenius> Associat0r: you have to create a type afaics
22:01 < Gynvael> iant: mhm, and then fd.WriteString("sadf"); should write
something to it right ?
22:01 * opafan48 part
22:01 <+iant> Gynvael: sounds right
22:01 -!- opafan48 [n=opafan48@213.144.157.75] has left #go-nuts []
22:01 < doublec> Associat0r, see this thread:
http://groups.google.com/group/golang-nuts/browse_thread/thread/74a37a9923cdf327
22:02 -!- jeff__ [n=jeff@nat/google/x-wqhsjoxprcbmmtzw] has joined #go-nuts
22:02 -!- btbozer [n=btbozer@c-65-34-247-62.hsd1.fl.comcast.net] has left #go-nuts
["Leaving"]
22:02 -!- kjk [n=Adium@67.215.69.90] has joined #go-nuts
22:03 -!- DrWhax_ [n=DrWhax@dhcp-077-248-216-065.chello.nl] has quit [Read error:
104 (Connection reset by peer)]
22:03 -!- jeff__ [n=jeff@nat/google/x-wqhsjoxprcbmmtzw] has quit [Client Quit]
22:04 -!- rbohn [n=rbohn@192.206.100.4] has quit [Read error: 54 (Connection reset
by peer)]
22:04 < Associat0r> doublec thanks
22:04 < Gynvael> iant: ok thanks
22:04 -!- timmcd [n=Adium@97-117-100-106.slkc.qwest.net] has joined #go-nuts
22:04 -!- rbohn [n=rbohn@192.206.100.4] has joined #go-nuts
22:04 < timmcd> Hello
22:04 -!- paddyez [n=paddy@wikipedia/paddyez] has quit [Remote closed the
connection]
22:04 < timmcd> Is there support for TCP sockets with Go?
22:04 <+iant> timmcd: yes, see pkg/net
22:04 < uriel> timmcd: yes and no, sockets suck, use listen/dial
22:04 -!- YazzY [n=yazzy@unaffiliated/yazzy] has joined #go-nuts
22:05 < depood> hi :) i have a realy simple question: what should be $GOBIN
to run the bash from the go installing ? the only "bin" is /bin :(
22:05 < timmcd> iant/uriel: Awesome, thanks!
22:05 -!- kees_ [n=kees@ipd50a7644.speed.planet.nl] has quit ["Leaving"]
22:05 < uriel> iant: how are you so fast?  are you an AI hidden in a secret
8g flag :)
22:05 <+iant> depood: mkdir $HOME/bin, export GOBIN=$HOME/bin
22:05 -!- YazzY [n=yazzy@unaffiliated/yazzy] has left #go-nuts []
22:05 <+iant> uriel: ha, no, I've just been doing this kind of thing a long
time
22:05 < depood> ah thanks i'll try :)
22:05 <+iant> plus I have a good network connection
22:06 -!- dapxin [n=dapxin@85.13.192.198] has left #go-nuts []
22:06 -!- Athas [n=athas@192.38.109.188] has quit [Remote closed the connection]
22:06 < uriel> iant: heh, you guys are doing an awesome job at support and
answering questions
22:06 <+iant> thanks, we'll see how long we can keep it up
22:06 < vhold> Yea it is sort of uncanny
22:06 -!- shinku1 [n=shinku@187.59.248.4] has joined #go-nuts
22:06 <+iant> I'm sort of assuming that it will slow down at some point
22:07 < hhg> uriel: iant has been answering questions non-stop for hours :-)
22:07 < shinku1> evening
22:07 < uriel> hhg: yea, I noticed, that is why I was wondering if he was an
ai ;)
22:07 < uriel> hey shinku1
22:07 -!- shinku1 is now known as shinku_
22:07 < Gynvael> yaay...  I've managed to save an image to a PNG file...
yaay ;> hehe, I'm begining to like this language
22:07 < timmcd> Is there support for using straight up C libraries, like,
say, Ncurses?  Or even using C/C++ tk, qt, wx libraries?
22:08 < tuples_> How can I divide ints by floats?  Eeeea!
22:08 < uriel> Gynvael: congrats
22:08 <+iant> timmcd: some support, but not well documented; see misc/cgo
22:08 < timmcd> iant: tyvm
22:08 -!- matei [n=matei@c-69-181-219-249.hsd1.ca.comcast.net] has joined #go-nuts
22:08 -!- Demon` [n=chatzill@82.80.130.254] has quit [Read error: 104 (Connection
reset by peer)]
22:08 < jordibunster> iant: at least you're not getting homework questions
yet.  I hope.
22:08 -!- fobs [n=hans@dslb-084-059-047-064.pools.arcor-ip.net] has quit []
22:09 <+iant> jordibunster: ha, yes
22:09 -!- franksalim [n=frank@adsl-76-221-202-115.dsl.pltn13.sbcglobal.net] has
joined #go-nuts
22:09 -!- jfluhmann [n=jfluhman@72.21.102.30] has joined #go-nuts
22:09 -!- streblo [n=streblo@c-67-188-5-66.hsd1.ca.comcast.net] has quit [Remote
closed the connection]
22:09 -!- mitch_feaster [n=user@vlsi-04.engr.usu.edu] has joined #go-nuts
22:09 -!- rplnt_omg is now known as rplnt_
22:09 < jordibunster> "i must make simple framework in go, i know ror is the
best, but i nieed write it to schooll.  I don't know how i can start.  Meybe you
can help me find any info about how to do
22:09 < jordibunster> "
22:09 < jordibunster> :P
22:09 -!- aa [n=aa@r190-134-69-153.dialup.adsl.anteldata.net.uy] has joined
#go-nuts
22:10 < Gynvael> uriel: ;>>
22:10 < tyler_wylie> head_hurts
22:10 < KirkMcDonald> So the Go web framework will be named "Go on
Go-karts"?  :-)
22:11 < pbunbun> jordibunster: How did you know what I was JUST about to ask
22:11 < Gynvael> ;DDD
22:11 -!- Rift [n=jhamilto@ip67-152-34-30.z34-152-67.customer.algx.net] has quit
[Read error: 110 (Connection timed out)]
22:11 < timmcd> Kirk: Go on Karts ;)
22:11 < tyler_wylie> KirkMcDonald: go-karts
22:11 < tyler_wylie> just go-karts
22:11 < timmcd> tyler_wylie: Why stop there?  The Go web framework will be
named: Go.
22:11 < uman> is anyone planning to make Go bindings for ncurses or any GUI
library?
22:11 < timmcd> just Go.
22:12 < timmcd> uman: Thats what I was wondering ;)
22:12 < tyler_wylie> GoTK
22:12 -!- mertimor [n=mertimor@p4FE75383.dip.t-dialin.net] has joined #go-nuts
22:12 < vhold> By the time you hook it up to your backend DBMS, what will
the point of the speed of Go be?  What you want to do is improve that backend with
Go first :P
22:12 < timmcd> iant: Your post to check out misc/cgo turned up the emacs
modes, tyvm!
22:12 < vhold> (in reference to web frameworks such as RoR)
22:12 -!- nightmouse [n=nightmou@75-146-142-42-NewMexico.hfc.comcastbusiness.net]
has joined #go-nuts
22:12 < shinku_> nice google iniciative, i hope to be part of go devteam
someday
22:12 < chrome> vhold: some DBMSs are not slow.  Heard of TimesTen?
22:13 < jordibunster> chrome: never, do link
22:13 < manveru> uman: i think we should wait for swig support first
22:13 -!- NoobFukaire1 [n=tmccrary@d199-74-115-65.col.wideopenwest.com] has quit
[Read error: 104 (Connection reset by peer)]
22:13 < adheus> what's more simple, use 8g or gccgo?
22:13 < chrome> http://www.oracle.com/timesten/index.html
22:13 -!- Bytecode [n=bytecode@97-124-183-166.hlrn.qwest.net] has joined #go-nuts
22:13 -!- JonGretar [n=jongreta@85-220-17-244.dsl.dynamic.simnet.is] has joined
#go-nuts
22:13 * Eridius doesn't seem to have a gccgo
22:13 < blackmagik> vhold, with a backend like mongodb i'm sure the
performance will matter
22:13 < jordibunster> Oh, in-core.
22:13 < chrome> in-memory
22:13 -!- IceRAM [n=mircea@188.27.105.121] has joined #go-nuts
22:14 < pbunbun> adheus: If you use gcc or g++ already I imagine gccgo is
more familiar, and apparently creates slightly faster programs (but takes a bit
longer to compile)
22:14 -!- badromance [n=aniani@bzq-79-177-238-203.red.bezeqint.net] has joined
#go-nuts
22:14 -!- joeedh [n=chatzill@c-24-10-97-83.hsd1.ca.comcast.net] has quit
["ChatZilla 0.9.84-rdmsoft [XULRunner 1.9.0.4/2008111312]"]
22:14 -!- gzt [n=gzt@24-151-178-146.dhcp.kgpt.tn.charter.com] has joined #go-nuts
22:14 <+iant> adheus: unless you are familiar with how to build gcc, you
will most likely find it simpler to build 8g
22:14 -!- Bytecode [n=bytecode@97-124-183-166.hlrn.qwest.net] has quit [Client
Quit]
22:14 < badromance> so is go changing the name ?
22:14 < gzt> have tutorials for complete newbies been made?
22:14 < timmcd> Of what?
22:14 -!- tor7 [n=tor@c-987a71d5.04-50-6c756e10.cust.bredbandsbolaget.se] has
joined #go-nuts
22:14 -!- Zarutian [n=zarutian@194-144-84-110.du.xdsl.is] has joined #go-nuts
22:14 < timmcd> gzt: http://golang.org/doc/go_tutorial.html ?
22:14 < mitch_feaster> has anyone seen any benchmarks for go?  I haven't
been able to find any benchmark data...
22:14 <+iant> mitch_feaster: see test/bench/timing.log
22:15 < adheus> thanks, iant, pbunbun
22:15 < mitch_feaster> sweet thanks
22:15 < depood> i'm "here" from java, should i learn some c++ before ?
22:15 < Eridius> depood: nobody should learn C++ :p
22:15 < exch> indeed :p
22:15 < pbunbun> depood: Doesn't look all THAT similar to C++ IMO
22:15 -!- NoobFukaire [n=tmccrary@d199-74-115-65.col.wideopenwest.com] has joined
#go-nuts
22:15 -!- vomjom [n=vomjom@99-157-248-71.lightspeed.stlsmo.sbcglobal.net] has quit
[Read error: 104 (Connection reset by peer)]
22:15 < pbunbun> Not enough to make it worthwhile to go learn it
22:16 < gzt> the go tutorials seem to assume you know about general
programming
22:16 -!- cking [n=chatzill@38.109.100.154] has joined #go-nuts
22:16 < KirkMcDonald> I think Go has fairly little in common with C++.
22:16 -!- oxtail [n=oxtail@94-194-56-42.zone8.bethere.co.uk] has quit ["Leaving"]
22:16 < badromance> where can i read about goroutines?
22:16 -!- einsidan [n=einsidan@194-144-68-248.du.xdsl.is] has left #go-nuts
["Leaving..."]
22:16 < dchest> is there a bug in base64?  I can't get encoded strings with
some lengths (1, 2 don't encode at all, some other gets truncated).  If of course,
I'm doing it right: http://pastie.org/694440
22:16 < shinku_> nobody should learn c++[2]
22:16 < timmcd> badromance:
http://golang.org/doc/effective_go.html#goroutines
22:16 < cking> any word on why the generated binaries are so large for
simple programs?
22:16 <+iant> cking: they are statically linked
22:16 -!- vaibhav [i=squid@iws4.iiita.ac.in] has joined #go-nuts
22:16 < pbunbun> gzt: Yeah I assume since it's fairly new language they
kinda assume it'd be experienced programmers giving it a shot, I'd say easier
tutorials will pop up in time
22:17 -!- PHG [n=PHG@ltsp2.csl.tjhsst.edu] has left #go-nuts []
22:17 < badromance> does go support mpi for communicating ?
22:17 -!- GoogleIsShiny [i=545b7b8f@gateway/web/freenode/x-ppqvrfxdvpkxkvlz] has
joined #go-nuts
22:17 -!- rata [n=rodrigo@princed/developer/rata] has joined #go-nuts
22:17 <+iant> badromance: not yet
22:17 -!- andrewh [n=andrewh@94-194-56-42.zone8.bethere.co.uk] has joined #go-nuts
22:17 < badromance> dang
22:17 < dwery> it's me again :D there's a way to trim multiple spaces in a
string?
22:17 -!- fynn [n=fynn@unaffiliated/fynn] has joined #go-nuts
22:17 < badromance> (so i guess no infiniband support)
22:18 < Zarutian> Interfaces seems to make depency injections like a breeze
but what about authority injection (or lack thereof) to limit a programs access to
things it doesnt need to have to do its thing?
22:18 -!- Rob_Russell [n=chatzill@206-248-157-156.dsl.teksavvy.com] has joined
#go-nuts
22:18 <+robpike> dwery: strings.TrimSpace
22:18 -!- rutkowski [n=adrian@078088213039.walbrzych.vectranet.pl] has quit
["WeeChat 0.3.1-dev"]
22:18 -!- Misto [n=Misto@ppp-38-88.32-151.iol.it] has quit []
22:18 <+iant> Zarutian: not in the full capability sense, no
22:18 -!- bjarneh [n=bjarneh@1x-193-157-197-127.uio.no] has joined #go-nuts
22:18 -!- gdoko [i=gdoko@albalug/gdk] has joined #go-nuts
22:18 < bobappleyard1> i see four stories on proggit about go.  three are
solely concerned with the name.
22:18 < doublec> does the C ffi support callbacks into Go code?  For
example, calling a Go anonymous function in the gui event loop?
22:19 <+iant> doublec: not currently, no
22:19 < cking> last random question - has anybody with any degree of
authority made a statement w.r.t bug 9:
http://code.google.com/p/go/issues/detail?id=9
22:19 < jessta> bobappleyard1: par for the course on proggit
22:19 -!- dw [n=dw@unaffiliated/dw] has joined #go-nuts
22:19 < bobappleyard1> jessta: i suppose
22:19 < fynn> Any good URL for Go's garbage collector?
22:19 < Arek_> running timing.sh fails when building fasta.c . undefined
symbols: "_fputs_unlocked" on MacOSX 10.5
22:19 < badromance> robpike, is go an up2date limbo ?
22:19 -!- roveItaly [n=rove@host-84-222-77-229.cust-adsl.tiscali.it] has left
#go-nuts []
22:19 < dwery> robpike: trimSpace works only for leading and trailing spaces
22:19 < DarkAnt> cking: the I9 bug
22:19 < DarkAnt> haha
22:19 < KirkMcDonald> dwery: You want to normalize whitespace within the
string?
22:19 <+iant> fynn: the current garbage collector is mark and sweep, in the
future we hope to implement something like Recycler (which you can find using your
favorite search engine)
22:19 < dwery> KirkMcDonald: yes
22:20 < Zarutian> iant: I here I was hoping that there might be a fresh
start that would integrate security consideration into normal way of writing the
code instead of trying to bolt it on later (when its often too late)
22:20 <+robpike> dwery: regexp.ReplaceAllString is perhaps the simplest if
you know regular expressions
22:20 <+iant> Zarutian: the language is intended to be safe but it's not
intended to provide capabilities
22:20 < manveru> why do i keep getting base64.go:6: undefined:
bytes.NewBufferSring
22:20 < badromance> also, using a mark and sweep GC isn't as promosing as a
low-lantecy memor model here
22:20 < dwery> robpike: thanks
22:20 < mrd`> Hm, closures sharing mutable stack variables caught me off
gaurd.
22:20 -!- ajray [n=alex@nom23228b.nomadic.ncsu.edu] has joined #go-nuts
22:20 < manveru> i did import "bytes"...
22:20 < fynn> iant: thanks.
22:20 <+iant> manveru: did you import "bytes"?
22:20 <+iant> hmmm, don't know....
22:20 -!- gtroy [n=Galen@unaffiliated/gtroy] has quit [Read error: 110 (Connection
timed out)]
22:20 <+iant> well, in that message you misspelled String
22:20 < manveru> oh
22:20 <+iant> badromance: yes, we know
22:21 < bobappleyard1> mrd`: isn't that the correct behaviour?
22:21 < manveru> thanks :)
22:21 < manveru> much better
22:21 < badromance> is there any ETA on future go plans ?
22:21 < cking> not that I will pretend my opinion counts w.r.t.  I9 but I'm
currently proselytizing Go at work and wanna know if the name is gonna change
22:21 < Zarutian> iant: hmm but adapting golang programs to run
KeyKos/Eros/Capros Domains would be relativly easier than other programs ;)
22:21 -!- filgood [n=filip@87-194-33-18.bethere.co.uk] has quit [Remote closed the
connection]
22:21 < mitch_feaster> Just looked at the benchmark data.  I had my fingers
crossed that go was going to be a little faster...  Looks like it still has a ways
to go to catch up to C. Not bad, however, given all the nice features of go plus
the fact that the language is so young, not bad at all.
22:21 <+iant> badromance: no ETA on future plans as yet
22:22 -!- slide_rule [i=ad42401d@gateway/web/freenode/x-jyetvosbhctlvmmt] has
joined #go-nuts
22:22 <+iant> mitch_feaster: thanks, yes, we do need to continue to improve
22:22 < chrome> iant: is there a better way of writign the idiot if err !=
nil { return err; } ?
22:22 < chrome> idiom :)
22:22 <+iant> chrome: no, alas
22:23 < chrome> not requiring { } around it might help?
22:23 -!- TechnoKat [n=quassel@cary-e-110.resnet.purdue.edu] has joined #go-nuts
22:23 < bobappleyard1> chrome: then () will return
22:23 < KirkMcDonald> If only there were some manner of scheme, used in
other languages, for the propagation of errors up the call-stack.
22:23 -!- mutilator [n=muti@2607:fbd0:10:1:b4ad:553f:ea66:ae14] has left #go-nuts
[]
22:23 -!- kc644 [n=keith@Sensitivity.CS.UCLA.EDU] has joined #go-nuts
22:23 <+robpike> chrome: need the { } but not the ;
22:23 -!- du [n=du@78.144.92.153] has joined #go-nuts
22:23 -!- trutkin [n=trutkin@64.1.25.210.ptr.us.xo.net] has left #go-nuts
["Leaving"]
22:23 < pkrumins> Any way to build GUI apps in Go?
22:23 <+robpike> KirkMcDonald: see language design faq
22:23 <+iant> chrome: one thing you can do is name the return parameter
"err", then you don't need to explicitly name it again
22:24 < olegfink> at which point does e.g.  walkclosure() get called in the
compilation process?
22:24 -!- d3nnn1z [n=d3nnn1z@cust-165-33.on4.ontelecoms.gr] has joined #go-nuts
22:24 -!- quit [n=Maurizio@200.109.44.203] has joined #go-nuts
22:24 -!- ptrb [i=pb@cpe-174-106-116-076.nc.res.rr.com] has joined #go-nuts
22:24 -!- hgolden [n=hgolden@cpe-76-95-167-216.socal.res.rr.com] has joined
#go-nuts
22:24 < ajray> +robpike: is there a way to do lazy evaluation of statements
22:24 -!- jorendorff [n=jorendor@c-76-22-141-17.hsd1.tn.comcast.net] has left
#go-nuts []
22:24 < KirkMcDonald> robpike: I've read it.  I'm just being a jerk.  :-)
22:24 < Zarutian> pkrumins: stick an rfb viewer on the apps stdin and
stdout?
22:24 <+iant> olegfink: unfortunately the people who can answer that
question are mostly not on right now
22:24 -!- dho [n=devon@onager.omniti.com] has joined #go-nuts
22:24 < quit> Is there any way to run Go on windows?
22:24 -!- xpapiez [n=xpapiez@15.244.broadband10.iol.cz] has joined #go-nuts
22:24 < uman> quit, No.
22:24 < blackmagik> rtfm
22:24 < mrd`> bobappleyard1: Not saying it's wrong, just caught me off
guard.  My brain was still in Erlang mode, so I wasn't thinking about having to
deal with shared state.
22:25 < keithcascio> +robpike: for the purposes of compilation, do Go source
files depend on each other in the same sense that java source files do?
22:25 < timmcd> quit: Dual boot some sort of unix
22:25 -!- anothy_x [n=a@cpe-76-189-197-62.neo.res.rr.com] has joined #go-nuts
22:25 < bobappleyard1> mrd`: k
22:25 < dho> hey anthony
22:25 < Zarutian> quit: other than using virtualbox.org or vmware to run
linux ontop then no
22:25 < uman> does Go run on solaris?
22:25 <+iant> keithcascio: Go source files depend on imported packages, not
on other source files
22:25 <+robpike> ajray: not what you're asking, no.  but you could probably
do something clever by putting the statement in a goroutine and sending it a
message it when you want it to run
22:25 <+iant> uman: no, not yet
22:25 < ajray> robpike: thanks, i like that solution :-)
22:25 < anothy_x> dho: hey
22:25 <+iant> I think a Solaris port would not be difficult
22:25 < uman> iant: do you have any idea if a port is in the works?
22:26 <+robpike> keithcascio: yes, as i understand it, but only within a
single package
22:26 <+iant> I do not have any idea, we aren't working on one ourselves
22:26 < timmcd> iant: How many people are currently working on the Go
source, improving the language?  (as we speak, that is.)
22:26 < KirkMcDonald> I am still not sure what to think of the fact that a
package implies nothing about the source files which comprise that package.
22:26 <+iant> the team at Google is five or seven people, depending on how
you count
22:26 -!- lmoura [n=lauromou@200.184.118.130] has joined #go-nuts
22:26 < KirkMcDonald> iant: Does that mean two 20% people?
22:26 < hhg> timmcd: see CONTRIBUTORS in the source
22:26 < fynn> KirkMcDonald: yeah, I'm not sure either how long term it's
going to work without Exceptions
22:26 < vhold> This is that awkward phase where the giant company that's
released something into the open source world wants to say "You see, we released
this because..  we were kind of thinking..  all these things you want..  could
maybe..  be something..  you do.."
22:27 <+iant> KirkMcDonald: they're 100% at the moment but may drop out
later, I'm not sure
22:27 -!- timepilot [n=timepilo@c-24-91-16-174.hsd1.ma.comcast.net] has joined
#go-nuts
22:27 -!- TechnoKat [n=quassel@cary-e-110.resnet.purdue.edu] has left #go-nuts
["http://quassel-irc.org - Chat comfortably.  Anywhere."]
22:27 <+iant> vhold: ha ha, indeed
22:27 -!- RicardoC [n=blaat@53547AF9.cable.casema.nl] has joined #go-nuts
22:27 -!- mikeperrow [n=mikeperr@203.39.247.242] has joined #go-nuts
22:27 -!- miquel_puig [n=miquel@18.120.221.87.dynamic.jazztel.es] has joined
#go-nuts
22:27 < keithcascio> +robpike: am I correct that means you must always
invoke 6g on an entire package?
22:27 <+iant> it's a giant company but a small team
22:27 < fynn> iant: what exactly is the vision for what Go would be used
for?
22:27 < fynn> desktop apps?  server-side web applications?  ChromeOS?  :)
22:27 < bobappleyard1> fynn: sort of thing C is used for now
22:27 <+iant> keithcascio: yes, all files in a package must be passed to 6g
at the same time
22:27 <+robpike> keithcascio: you must present all the source for your
package to the compiler at once
22:28 <+iant> fynn: making programming fun again
22:28 < chrome> general purpose programming
22:28 <+robpike> keithcascio: also: see how gotest runs; it recompiles the
package so it can add testing
22:28 < fynn> bobappleyard1: only device drivers and operating systems?  ;)
22:28 < olegfink> iant: ok, I'll just wait for my ML post to be answered
then.  :-)
22:28 -!- groceryheist [n=groceryh@user20.net177.whitworth.edu] has joined
#go-nuts
22:28 < bobappleyard1> bobappleyard1: and webservers and guis and databases
and...
22:29 < bobappleyard1> talking to myself there
22:29 < vhold> fynn: I personally see it as most appropriate for unix system
programming..  writing servers, databases, long running concurrent processes where
latency is critical..  but that's just me
22:29 < hhg> fynn: systems programming.
22:29 -!- drusepth [n=drusepth@174.32.154.79] has joined #go-nuts
22:29 -!- chuck [n=charlie@yourwiki/staff/charlie] has joined #go-nuts
22:29 -!- xpapiez [n=xpapiez@15.244.broadband10.iol.cz] has quit [Remote closed
the connection]
22:29 < keithcascio> +robpike, +iant: what does the build process look like
then?  How does gnu make know to pass entire packages at once?
22:29 < fynn> vhold: that's what I think as well, but pretty clear that it's
also useful for desktop application programming.
22:29 < Zarutian> fynn: my guess is that golang is good for anything that c
is good for but doesnt require insane performance
22:29 < ssb> how Go was received by google's own army of programmers?
22:29 <+robpike> makefiles run things
22:29 <+iant> keithcascio: GNU make doesn't know anything about Go at
present, so you have to write the rules yourself
22:30 < keithcascio> +iant: OK, thanks
22:30 < bobappleyard1> GNU make voodoo scares me, anyway
22:30 < keithcascio> +robpike: thanks
22:30 < KirkMcDonald> make isn't that complicated, really.
22:30 -!- newsham [n=chat@thenewsh.com] has joined #go-nuts
22:30 -!- miquel_puig [n=miquel@18.120.221.87.dynamic.jazztel.es] has left
#go-nuts ["Leaving."]
22:30 <+robpike> bobappleyard1: the makefiles are dead easy; all the hard
work is done for you.  look at some of the examples in src/pkg/...
22:30 -!- binrapt [i=void@unaffiliated/binrapt] has joined #go-nuts
22:30 < bobappleyard1> makefiles are easy
22:30 < fynn> hhg, Zarutian: again, not sure how saying it would only be
used where C currently is makes sense, seeing that C is only used for very small
specific niches, and that it's clear Go has application beyond those niches.
22:30 < hhg> fynn: Go should also be useful for writing massively scalable
servers in a structured programming style (no events and inversion of control)
22:30 < timmcd> Would it be worth it for me to work on making my MUDlib in
Go, or just stick with languages I know and are more developed?
22:31 < keithcascio> KirkMcDonald: that's because gnu make can't handle
circular dependencies between source files
22:31 < tuples_> What exactly does the command string(buf) do, if buf is a
[]uint8?
22:31 < bobappleyard1> GNU make's implicit rule nonsense is scary though
22:31 < chrome> why is it scary?
22:31 -!- philips [n=brandon@opensuse/member/philips] has joined #go-nuts
22:31 -!- robpike [n=robpike@nat/google/x-ptbyvwjgmcwjnyys] has left #go-nuts []
22:31 <+iant> timmcd: I'm not sure we can answer that question for you
22:31 -!- crushzero [i=qokz74va@adsl-76-214-12-105.dsl.lsan03.sbcglobal.net] has
joined #go-nuts
22:31 < fynn> hhg: why "no events"?
22:31 < cking> can we explicitly free memory if we so choose, or at least
help the GC out, or is it all automatic?
22:31 < timmcd> iant: Oh please won't you?  ^_^
22:31 < vaibhav> what a GUI options, is there any way to build GUI
22:32 <+iant> tuples_: it treats each element in the slice as a Unicode
character, converts to UTF-8, and appends all the bytes together into a string
22:32 < fynn> timmcd: dude, if you want to learn Go, do it in Go :)
22:32 < timmcd> vaibhav: It doesn't look like it, but I'm probably wrong
>_>
22:32 < manveru> is there any reason for having mandatory semicolons?  :)
22:32 < tuples_> iant: Copying the slice in the progress?
22:32 < timmcd> manveru I don't think it does...
22:32 <+iant> cking: it is all automatic at present
22:32 -!- joeedh [n=chatzill@c-24-10-97-83.hsd1.ca.comcast.net] has joined
#go-nuts
22:32 -!- vomjom [n=vomjom@99-157-248-71.lightspeed.stlsmo.sbcglobal.net] has
joined #go-nuts
22:32 -!- connerk [n=connerk@cpe-069-134-147-205.nc.res.rr.com] has quit ["Bye"]
22:33 <+iant> manveru: semicolons separate statements, we need something to
do that job
22:33 < keithcascio> +robpike: in light of research that I've done on the
java standard library, it surprises me that you could stay within the constraint
that packages not participate in circular dependencies with each other
22:33 < cking> iant: any plans on supplementing that or is it not a
consideration right now?
22:33 < manveru> iant: newlines?
22:33 < KirkMcDonald> iant: Newlines?  :-)
22:33 < KirkMcDonald> Hah.
22:33 <+iant> tuples_: you get a new string, which is separate from the
slice, but the slice per se is not copied
22:33 < eno__> hmm, got "Illegal instruction" from 5.out built on amd64
(with GOARCH=arm), running on ARM linux
22:33 < piotr> vaibhav: use existing C library, example here
http://gist.github.com/232088
22:33 < chrome> posix signal handling, is it in one of the existing
packages?
22:33 <+iant> keithcascio: it's worked so far, we'll see
22:33 < tuples_> iant: Because the memory consumption doubles if I use
string(), which seems very strange to me.
22:33 < hhg> fynn: you would write goroutines that block on i/o, like a unix
process dealing with a single client, and you can use all the structured
constructs (loops, etc.) and it just blocks when it needs to and the state is on
its stack.  you don't get into the awkward model where you have inversed all the
control with a "reactor" like event structure, where things subscribe to be called
22:33 < keithcascio> +iant, +robpike: all of java's most important packages
participate in circular dependencies with each other
22:33 <+iant> cking: we know that the GC needs work
22:34 -!- quit [n=Maurizio@200.109.44.203] has quit [Read error: 145 (Connection
timed out)]
22:34 < vhold> fynn: This is where I'm a bit over my head, but I think the
idea is that instead of events where you're passed in your context of who you're
talking to, etc, you just talk normally like you would in an oldschool
fork-on-connect model and let the system task switching during blocking syscalls ?
22:34 < vaibhav> piotr: 'll give it a shot ,
22:34 -!- diabolix [n=jsoyke@206.210.81.55] has quit ["Leaving"]
22:34 -!- binaryjohn [n=wweather@cpe-24-30-132-50.san.res.rr.com] has joined
#go-nuts
22:34 -!- mikeperrow_ [n=mikeperr@203.39.247.241] has joined #go-nuts
22:34 -!- newsham [n=chat@thenewsh.com] has left #go-nuts []
22:34 < fynn> vhold: yeah, I think that at the very least forking would
work.
22:34 <+iant> manveru: I don't think newlines are entirely adequate, plus
sometimes it's nice to have multiple small statements in one line
22:35 -!- eno__ is now known as eno
22:35 < fynn> hhg: *nod*
22:35 -!- xoebus [n=xoebus@vortis.xen.tardis.ed.ac.uk] has left #go-nuts []
22:35 < manveru> iant: so what's the issue with having both as separator?
22:35 <+iant> manveru: long statements which break across multiple lines
22:35 -!- mikeperrow_ [n=mikeperr@203.39.247.241] has quit [Read error: 54
(Connection reset by peer)]
22:35 -!- mikeperrow_ [n=mikeperr@203.39.247.241] has joined #go-nuts
22:35 < KirkMcDonald> iant: Python manages to do it.
22:36 -!- mikeperrow_ [n=mikeperr@203.39.247.241] has left #go-nuts []
22:36 < manveru> most languages do it with \
22:36 <+iant> also, we prefer not to have invisible syntax, though we
understand that some languages like it; that's just a design choice
22:36 -!- theatrus [n=user@208.176.190.222] has joined #go-nuts
22:36 < timmcd> OO, if any?
22:36 < vhold> Well, fork()ing on connect was an easy, but seriously
expensive, model for concurrently handling many small requests
22:36 < timmcd> rr, scratch that.  I'll just look pu how it handles oo
22:36 < manveru> :(
22:36 <+iant> chrome: I don't know if we have signal handling, actually
22:36 -!- hallsa [n=shane@miles.jfet.net] has joined #go-nuts
22:36 * manveru writes a semicolon-adding preprocessor
22:37 -!- mitch_feaster [n=user@vlsi-04.engr.usu.edu] has left #go-nuts ["ERC
Version 5.3 (IRC client for Emacs)"]
22:37 < chrome> iant: kinda need it for server daemons :)
22:37 < cking> braces are great, makes things explicit - semicolons same
thing, though I like that they're usually optional
22:37 -!- rog [n=rog@216.9.106.68] has joined #go-nuts
22:37 <+iant> chrome: yes, that's true, it might be in there, I'm not sure
22:37 < bobappleyard1> timmcd: watch rob pike's presentation linked on the
site.  pretty good explanation of the objecty stuff.
22:37 < eydaimon> has anyone added go to the great language shootout type
benchmarks yet?
22:37 < frodenius> what's the timeline for swig support?
22:37 <+iant> eydaimon: there is some code in test/bench
22:38 -!- GoogleIsShiny [i=545b7b8f@gateway/web/freenode/x-ppqvrfxdvpkxkvlz] has
quit ["Page closed"]
22:38 <+iant> frodenius: probably sooner rather than later, but no explicit
timeline
22:38 < frodenius> hmk
22:38 < chrome> iant: i guess its hard right now with no ability to call go
code from c
22:38 < tuples_> iant: I am just trying to find out where all the memory
gets lost...  :/
22:38 < binrapt> This video presentation on Go on YouTube is irritating,
apparently the greatest thing about this language is that it "compiles" fast
whereas it really just uses C or C++ (I don't know) as an intermediary language
and gcc does the rest of the work?
22:38 < chrome> can't just wrap the syscall
22:38 < jessta> what is with all the semicolon hating?
22:38 <+iant> chrome: I would encourage you to file an issue on that
22:39 -!- eekee [n=ethan@sourcemage/guru/eekee] has joined #go-nuts
22:39 < jlouis> binrapt: not all the compilers
22:39 < cking> binrapt: looks like u got about 5 minutes through the video
22:39 < KirkMcDonald> binrapt: Man what no.
22:39 < chrome> will do
22:39 -!- rata [n=rodrigo@princed/developer/rata] has left #go-nuts ["Leaving"]
22:39 -!- Smari [n=smari@130.208.143.11] has joined #go-nuts
22:39 < hhg> binrapt: no.  read the website
22:39 < binrapt> It's only 78 seconds in length
22:39 < binrapt> http://www.youtube.com/watch?v=wwoWei-GAPo
22:40 < vhold> tuples: is the processing growing linearly with the amount
you read, or is the "overhead" constant ?
22:40 -!- Associat0r [n=Associat@h163153.upc-h.chello.nl] has quit []
22:40 < tuples_> it exactly doubles
22:40 < cking> binrapt: http://www.youtube.com/watch?v=rKnDgT73v8s
22:40 < manveru> jlouis: it's mental overhead, it's useless but mandatory
syntactic sugar
22:40 < tuples_> I allocated a []uint8 with the size of the file, and read
it into it.  memory usage: filesize.
22:40 -!- rog [n=rog@216.9.106.68] has quit [Client Quit]
22:40 < tuples_> then I used s := string(...); -> memory usage doubled
22:41 < groceryheist> Personally, I am very excited about Go.
22:41 -!- vmac [n=vmac@h69-128-47-244.mdsnwi.dedicated.static.tds.net] has left
#go-nuts []
22:41 < groceryheist> especially because I already know what I want to
program with it.
22:41 < KirkMcDonald> groceryheist: A Diplomacy adjudicator?
22:41 < Quadrescence> groceryheist: And why in the world would you be
excited about this language over another?
22:41 < groceryheist> no
22:41 -!- bmac7 [n=brianmac@c-98-208-175-116.hsd1.fl.comcast.net] has quit [Read
error: 110 (Connection timed out)]
22:41 < groceryheist> an SVM
22:41 < hnsr> i'm only excited about Go because i desperately need something
to be excited about :(
22:42 < groceryheist> sad:
22:42 < groceryheist> Well, I like learning / using different langs
22:42 -!- redondos [n=nnnnredo@twat.com.ar] has joined #go-nuts
22:42 < Quadrescence> I see.
22:42 < jlouis> I think Go fills a missing spot.  Something like C but not
C++
22:43 < groceryheist> Also, I really like the idea of having C with
closures.
22:43 -!- mitchellh [n=mitchell@c-71-231-140-22.hsd1.wa.comcast.net] has quit
["Leaving."]
22:43 -!- napsy [n=luka@88.200.96.14] has quit ["Lost terminal"]
22:43 -!- wtavares [n=wtavares@189.61.138.70] has joined #go-nuts
22:43 -!- ouah [n=godisdea@unaffiliated/ouah] has joined #go-nuts
22:43 < JonGretar> jlouis: You mean like Objective-C?  :)
22:43 < groceryheist> yeah
22:43 < ouah> hi!
22:43 < cking> what's up with all the hate and cynicism?  wanna be down on
go?  then think of it as a few neat ideas, then go on your merry way and wait
while it evolves
22:43 < groceryheist> but I hate apple :)
22:43 < jlouis> That I will proably keep on programming Haskell/ML and not
use Go is another thing entirely
22:43 < weaselkeeper> I like not having to ; a statement :P
22:43 <+gri> tuples_: when you convert a []byte into a string, the bytes
have to be copied.  note that the string remains immutable, but the []byte can
change.  A better implementation may use a ref-count inthe future, but that has
other problems in a MT environment.
22:43 -!- bmac7 [n=brianmac@c-98-208-175-116.hsd1.fl.comcast.net] has joined
#go-nuts
22:44 < manveru> base64.go:14: too many arguments to return
22:44 < matthieu_p> groceryheist: why hating apple ?
22:44 < manveru> any idea what that means...  i'm trying to return a string
22:44 < KirkMcDonald> I am excited about Go because it has some of the same
goals as D, but is less likely to collapse in on itself.
22:44 -!- jordibunster [n=jordi@mail.cardiomems.com] has quit []
22:44 -!- rntz [n=rntz@pool-98-110-42-52.cmdnnj.fios.verizon.net] has joined
#go-nuts
22:44 <+iant> manveru: did you declare the func as returning a value?
22:44 < groceryheist> I'm mostly joking about that...  Of course by saying
that I am flamebaiting.
22:44 < JonGretar> :)
22:44 < Capso> D was meant to make programming fun again?
22:44 < manveru> oh...
22:44 < tuples_> gri: Okay, thank you.  Is there a way to explicitly delete
the old []uint8, because it doesn't seem to be GC'ed even after several minutes or
just waiting
22:45 -!- zipito_ [n=zipito@85-10-133-95.pool.ukrtel.net] has joined #go-nuts
22:45 -!- hmmb [n=hmmb@201.56.102.13] has quit ["Ex-Chat"]
22:45 -!- feenode [n=emad@mealworm.blorpy.org] has joined #go-nuts
22:45 < groceryheist> I don't use apples products and I don't see much
reason to.
22:45 < KirkMcDonald> Capso: Moreso than C++, at least.  :-)
22:45 < manveru> iant: thanks again
22:45 <+gri> tuples_: i.e., creating a new string from []byte requires a
copy.  creating a substring from a string doesn't (strings remain immutable)
22:45 -!- kim__ [n=kim@207-179-227-215.mtco.com] has joined #go-nuts
22:45 < feenode> wow 500 members already!
22:45 < tuples_> yes, I understood that part, that's awesome.
22:45 -!- binrapt [i=void@unaffiliated/binrapt] has left #go-nuts []
22:45 < manveru> now i know why i never learned C...  all this explicit
stuff...
22:46 < JonGretar> Well..  Go is cute.  At the moment I don't see myself
using it.  But it's on my watch list.  Kinda don't have any place to use it.
22:46 < groceryheist> Anyway, I am very excited about closures and
inheritance and speed and all that nifty stuff.  And since it's by google and an
all-star team of programmers I figure it will stick around for awhile.
22:46 < groceryheist> I also like implicit typing and having maps as a built
in.
22:46 -!- rntz [n=rntz@pool-98-110-42-52.cmdnnj.fios.verizon.net] has left
#go-nuts []
22:46 < manveru> can't go infer that if i return a string that i'd like to
return a string?
22:46 < jlouis> I like how the := operator is a poor-mans-type-inference for
instance :)
22:46 -!- bdd [n=bdd@204-15-3-164-static.ipnetworksinc.net] has joined #go-nuts
22:46 < manveru> i mean, since the return statement is explicit already
22:47 < groceryheist> maps are pretty much my utility structure anyway.
22:47 <+iant> manveru: we do require explicit function signatures
22:47 < KirkMcDonald> manveru: I am seriously not a fan of this sort of
implicit type conversion.
22:47 < manveru> why conversion?
22:48 < KirkMcDonald> manveru: Better that it be explicit than it be unclear
what is going on with your data.
22:48 -!- dotsintacks [n=a@digsby05.rit.edu] has quit []
22:48 < manveru> return something_that_is_a_string ...  why would that
return something that's not a string?
22:48 < jlouis> KirkMcDonald: type reconstruction is a (PL) solution to that
problem which can also solve it.
22:48 < KirkMcDonald> manveru: Oh, I misunderstood what you were talking
about.
22:48 < slide_rule> is there an interface that specifies that objects are
comparable?  for implementing i.e.  binary trees?
22:48 < KirkMcDonald> manveru: Yeah, type inference is good.
22:49 < nexneo> manveru: I see your point it something like :=
22:49 < nexneo> for func
22:49 <+iant> slide_rule: there is sort.Interface, as an example
22:49 < manveru> just the fact that the func has a return statement should
kick in inference
22:49 < eno> manveru: i don't think Go has full type inference
22:49 < KirkMcDonald> Go has very little type inference.
22:50 < manveru> hm :(
22:50 < KirkMcDonald> You can infer the types of variables from the types of
their initializers.  And that's about it.
22:50 < slide_rule> iant: yes - but that's for specifying that a collection
object is sortable, I'm looking for something that specs that an object can be
compared to others of the same type
22:50 -!- recover [n=recover@ip21278.lbinternet.se] has quit [Read error: 104
(Connection reset by peer)]
22:50 <+iant> slide_rule: ah, no, that is something that requires generic,
which we are still thinking about
22:51 < jlouis> iant: it sounds a lot like type classes
22:51 < KirkMcDonald> D's templates are probably its strongest feature.
22:51 -!- mikeperrow [n=mikeperr@203.39.247.242] has quit [Connection timed out]
22:51 < KirkMcDonald> I believe that Go would benefit from the addition of
templates and (some) operator overloading.
22:51 < manveru> ok, i'll wait a year or two until go grows a bit...  i'm
not interested in writing boilerplate because the compiler is too lazy
22:52 < slide_rule> iant: so data structures would need to be type-specific?
22:52 -!- millenomi [n=millenom@93-35-148-23.ip55.fastwebnet.it] has quit ["Sto
andando via"]
22:52 -!- manveru [n=manveru@b08s28ur.corenetworks.net] has left #go-nuts [":x"]
22:52 -!- yung_jung [n=Administ@115.67.9.22] has joined #go-nuts
22:53 <+iant> slide_rule: or use interface{}
22:53 -!- Rift [n=jhamilto@c-24-22-243-228.hsd1.wa.comcast.net] has joined
#go-nuts
22:53 -!- tuples_ [i=55006258@gateway/web/freenode/x-qnkhlrzamtwgketb] has quit
["Page closed"]
22:53 -!- d3nnn1z [n=d3nnn1z@cust-165-33.on4.ontelecoms.gr] has left #go-nuts []
22:53 < slide_rule> iant: and just use <, > and ==?
22:53 < Zarutian> hmm..  so the go operator is like the "branch both ways
opcode" ;Þ
22:53 -!- yung_jung [n=Administ@115.67.9.22] has left #go-nuts []
22:54 -!- jcfiala [n=jfiala@12.129.230.76] has joined #go-nuts
22:54 <+iant> slide_rule: no, you would have to write explicit method calls
22:54 -!- crushzero [i=qokz74va@adsl-76-214-12-105.dsl.lsan03.sbcglobal.net] has
left #go-nuts []
22:54 < jessta> I'm still trying to work out embeding, what is wrong with
this?  http://pastebin.com/d49b49fde
22:54 -!- ShadowIce [n=pyoro@p54A27D38.dip.t-dialin.net] has quit ["Verlassend"]
22:55 -!- ajray [n=alex@nom23228b.nomadic.ncsu.edu] has quit ["Leaving."]
22:55 -!- du [n=du@78.144.92.153] has quit []
22:55 -!- steprobe [n=quassel@82-35-165-171.cable.ubr07.nmal.blueyonder.co.uk] has
joined #go-nuts
22:55 < feenode> travisbrady: have you considered making go into whatever my
favorite pet language is?
22:55 < feenode> travisbrady: i think that is the best thing to do
22:56 <+iant> jessta: the comment is correct: embedding is not the same as
inheritance, and that approach is not supported in Go; sorry
22:56 < travisbrady> feenode: well what is your favorite pet language?
22:56 < jessta> iant: so what does embeding do?
22:57 < feenode> travisbrady: well, i've been writing an algol/prolog mixed
language and go should pretty much do everything that one does
22:57 <+iant> jessta: it lets you pick up the methods of the embedded type
as your own methods
22:57 < cking> feenode: I'm more of an INTERCAL fan myself
22:57 -!- svanlund [n=david@cordelia.pingpangdns.com] has quit [Read error: 60
(Operation timed out)]
22:57 -!- rog [n=rog@216.9.106.68] has joined #go-nuts
22:57 <+iant> jessta: it's not the same as inheritance
22:57 <+iant> jessta: I'm not sure just how to describe without saying what
it does
22:58 <+iant> I think you are looking for an interface value
22:58 -!- rog [n=rog@216.9.106.68] has quit [Client Quit]
22:58 < feenode> cking: is that the compiler don cheedle was working on
before he stopped development to star in hotel rawanda?
22:58 < feenode> cking: because i heard he is back to hacking on it full
time
22:58 < dw> jessta: for interfaces and structs, its mostly equivalent to
copy/pasting the body of the embedded object into the embeddee
22:58 <+iant> that is, given []SantasHelper, where SantasHelper is an
interface, you can assign a Reindeer to an element of that slice
22:58 < cking> lol
22:58 < dw> jessta: however, you also 'inherit' the methods that applied to
the embedded object too
22:58 <+iant> jessta: but you can't convert []Reindeer to []SantasHelper,
because those are slices with different element types
22:58 < uman> how can I make a Go program handle SIGINT ?
22:58 -!- fynn [n=fynn@unaffiliated/fynn] has left #go-nuts ["Leaving"]
22:59 <+iant> jessta: does that make sense?
22:59 < uman> in a way other than terminating
22:59 < dw> someone needs to write a Go lexicon :)
22:59 < vhold> Er, is that like inheritence but without any polymorphism?
22:59 -!- keishi [n=keishi@116.0.230.16] has left #go-nuts []
22:59 -!- depood [n=depood@chello080108055214.19.11.vie.surfer.at] has quit
[Remote closed the connection]
22:59 < dw> cat with bleeding paw, brb :(
22:59 < feenode> go-nuts?  why not stop with the euphemisms and just called
it gonoads
22:59 <+iant> vhold: yes; Go has inheritance via embedding and polymorphism
via interface types
22:59 <+iant> but they are not the same idea
22:59 < feenode> anyone who agrees with me, i'll be in #gonads
22:59 <+iant> uman: good question, I'm not sure
22:59 < Freeaqingme> linux_amd64.c:1: sorry, unimplemented: 64-bit mode not
compiled in << Wat do I forget?
23:00 -!- michaeljaaka [n=michael@167-mo6-7.acn.waw.pl] has joined #go-nuts
23:00 -!- jfgiorgi [n=User@ant06-1-82-242-109-47.fbx.proxad.net] has joined
#go-nuts
23:00 < vhold> So basically you can't override an implementaiton, but you
can implement an interface
23:00 -!- ctimmerm [n=ctimmerm@cs71226.pp.htv.fi] has joined #go-nuts
23:00 <+iant> Freeaqingme: are you using 6c instead of 6g?
23:00 -!- fhs [n=fhs@pool-72-89-195-252.nycmny.east.verizon.net] has quit
["leaving"]
23:00 < groceryheist> Is it currently possible to do database programming
using GO?
23:00 < weggpod> how to assign value to Buffer type variable ?
23:00 -!- jfgiorgi [n=User@ant06-1-82-242-109-47.fbx.proxad.net] has left #go-nuts
[]
23:00 <+iant> vhold: well, you can override an implementation by embedding
and then redefining a method
23:00 <+iant> groceryheist: there are no database connection libraries yet
23:00 < groceryheist> like with ODBC or something?
23:00 -!- JonGretar [n=jongreta@85-220-17-244.dsl.dynamic.simnet.is] has quit []
23:00 < groceryheist> ok
23:01 < jessta> iant: ah, I think I get it
23:01 < feenode> groceryheist: the go fork go-nads (go + numerics and
databases) does
23:01 < mrd`> groceryheist: You can use the file system just fine though.
23:01 -!- electronoob [n=dustycar@c-68-53-57-241.hsd1.tn.comcast.net] has quit
[Remote closed the connection]
23:01 < groceryheist> thanks.
23:02 * kuroneko shakes his head
23:02 < Freeaqingme> iant, I just do ./all.bash ?
23:02 < epalm> so what about this guy whose language is called "Go!"
23:02 <+iant> Freeaqingme: to install, set up the environment variables, and
run all.bash
23:02 < epalm> any resolution there?
23:02 < Freeaqingme> iant,hmm, I will, tnx
23:02 < feenode> epalm: 1024x786
23:02 < uman> how can I check that there was no error on something that
returns an os.Error
23:02 < feenode> epalm: i think that was the resolution
23:02 -!- magewhopper [n=magemage@Wikipedia/Mage-Whopper] has quit ["This computer
has gone to sleep"]
23:02 -!- roppert [n=roppert@62.205.216.81.static.k.siw.siwnet.net] has joined
#go-nuts
23:02 < uman> err == nil ?
23:02 < feenode> epalm: but you'll need to verify on the mailing list
23:02 < groceryheist> \whois mrd
23:02 <+iant> uman: yes
23:03 < epalm> feenode: ok thanks
23:03 < uman> iant: ty
23:03 <+iant> feenode: please stop randomizing
23:03 < kuroneko> the trolls have (predictably) descended.
23:03 -!- robpike [n=robpike@nat/google/x-ptbyvwjgmcwjnyys] has joined #go-nuts
23:03 -!- mode/#go-nuts [+v robpike] by ChanServ
23:03 < uman> whoever is named ianto should change nick.  Not being able to
tab-complete iant is annoying
23:03 -!- steprobe is now known as thesteprobe
23:03 -!- MvdS [n=moshe@83.119.164.251] has joined #go-nuts
23:03 < ianto> uman: do ian<TAB> then ;)
23:03 < feenode> iant: :<
23:04 -!- roppert [n=roppert@62.205.216.81.static.k.siw.siwnet.net] has left
#go-nuts []
23:04 -!- matthieu_p [n=matthieu@ALille-351-1-164-187.w90-7.abo.wanadoo.fr] has
left #go-nuts []
23:04 < uman> ianto, still doesn't work.  I guess that's what I get for
using Windows and its dearth of good IRC clients ;)
23:04 < ianto> uman: I'm using Windows....  + PuTTY + irssi ;)
23:05 < Freeaqingme> iant, I asked those Q's for MvdS, if there's anything
else, MvdS will ask them in here instead of me.  (and hi to MvdS )
23:05 -!- jmacelro [n=jmacelro@nat.ironport.com] has quit [Read error: 145
(Connection timed out)]
23:05 < eekee> menu completion is the feature y'all want.  one tab ->
iant, two tabs -> ianto
23:05 -!- cmarcelo [n=cmarcelo@enlightenment/developer/cmarcelo] has quit [Remote
closed the connection]
23:05 -!- tor7 [n=tor@c-987a71d5.04-50-6c756e10.cust.bredbandsbolaget.se] has quit
[Read error: 104 (Connection reset by peer)]
23:05 < kuroneko> iant: how's the first day of madness going?  :)
23:05 -!- tor7 [n=tor@c-987a71d5.04-50-6c756e10.cust.bredbandsbolaget.se] has
joined #go-nuts
23:06 -!- TwhK [n=FarOut@CPE00195b075af4-CM00186852110c.cpe.net.cable.rogers.com]
has joined #go-nuts
23:06 -!- jcgregorio [n=chatzill@203.39.247.241] has joined #go-nuts
23:06 -!- aa [n=aa@r190-134-69-153.dialup.adsl.anteldata.net.uy] has quit [Remote
closed the connection]
23:06 -!- bdd [n=bdd@204-15-3-164-static.ipnetworksinc.net] has left #go-nuts []
23:06 <+iant> kuroneko: very busy
23:06 -!- quesne [n=tore@186.80-203-226.nextgentel.com] has joined #go-nuts
23:07 -!- dju [i=dju@ip-39.net-80-236-37.suresnes.rev.numericable.fr] has quit
["Quitte"]
23:07 -!- freenose [n=freenose@204.97.199.7] has joined #go-nuts
23:07 < MvdS> right, this is what I did: GOROOT=~/go; GOOS=linux;
GOARCH=amd64; hg clone ...  $GOROOT; cd ~/go/src; ./all.bash
23:07 -!- defectiv [n=clays@c-24-5-65-40.hsd1.ca.comcast.net] has joined #go-nuts
23:07 < Freeaqingme> and then you got the error about the 64bit mode not
compiled in, right?
23:07 -!- wtavares [n=wtavares@189.61.138.70] has quit ["Leaving"]
23:07 < Freeaqingme> @ MvdS ^^
23:07 <+iant> MvdS: did you export the environment variables?
23:08 < MvdS> Freeaqingme, right, and now you tell me, I think I know the
problem
23:08 < MvdS> iant, yes I did
23:08 -!- svanlund [n=david@cordelia.pingpangdns.com] has joined #go-nuts
23:08 < MvdS> sorry, but Freeaqingme was a bit quick to paste my errors here
;-)
23:08 -!- bakkdoor [n=bakkdoor@s15229144.onlinehome-server.info] has joined
#go-nuts
23:08 -!- MarkBao [n=MarkBao@75-144-186-92-NewEngland.hfc.comcastbusiness.net] has
joined #go-nuts
23:08 -!- breeno [n=breeno@72-254-67-66.client.stsn.net] has joined #go-nuts
23:09 -!- ajray [n=alex@nom23228b.nomadic.ncsu.edu] has joined #go-nuts
23:09 < MvdS> I'm working on my atom netbook at to moment, _obviously_ that
is not amd64 ;-)
23:09 < kuroneko> heh
23:09 < MvdS> so, i'll try again ;-)
23:09 -!- breeno [n=breeno@72-254-67-66.client.stsn.net] has quit [Client Quit]
23:09 < Freeaqingme> (I'm just the messenger!)
23:10 <+iant> MvdS: then set GOARCH=386
23:10 -!- markbao_ [n=MarkBao@nmd.sbx10962.wellema.wayport.net] has quit [Read
error: 113 (No route to host)]
23:10 -!- juan22arg [n=juan@190.11.105.75] has joined #go-nuts
23:11 -!- existsec_ [n=existsec@76-228-31-64.lightspeed.frokca.sbcglobal.net] has
joined #go-nuts
23:11 < MvdS> I'm used to working with x86_64 for a long time now, I didn't
think about checking that at all
23:12 -!- keis_ [n=known@c213-100-48-4.swipnet.se] has joined #go-nuts
23:12 -!- droid0011 [n=g1@p4FDCD99D.dip.t-dialin.net] has joined #go-nuts
23:12 < bakkdoor> hi, is there any emacs mode for go yet?
23:12 -!- keis_ [n=known@c213-100-48-4.swipnet.se] has left #go-nuts []
23:12 -!- Rift [n=jhamilto@c-24-22-243-228.hsd1.wa.comcast.net] has quit []
23:12 < vhold> Yes, in the misc dir
23:13 < mulander> bakkdoor: $src/misc/emacs/
23:13 < bakkdoor> mulander: ah great, thanks!
23:13 -!- faltad [n=user@lgp44-4-88-160-58-65.fbx.proxad.net] has joined #go-nuts
23:14 < chrome> is it possible to be receiving messages from two channels at
a time in a single goroutine?
23:14 < jamesr> you can select on multiple channels
23:14 < jamesr> http://golang.org/doc/go_spec.html#Select_statements
23:14 -!- lenst [n=user@90-229-131-67-no52.tbcn.telia.com] has joined #go-nuts
23:15 < chrome> ah thanks
23:15 -!- kjk [n=Adium@67.215.69.90] has quit ["Leaving."]
23:15 < dho> Anybody working on porting to FreeBSD at the moment?
23:15 -!- ayo [n=nya@f051102245.adsl.alicedsl.de] has joined #go-nuts
23:16 <+iant> dho: I saw something about DragonFly, not sure about FreeBSD
23:16 -!- mib_mib [n=chatzill@c-98-245-57-255.hsd1.co.comcast.net] has joined
#go-nuts
23:16 -!- blup [n=icedtea@athedsl-4469937.home.otenet.gr] has joined #go-nuts
23:16 < dho> Alright, now you've seen something about FreeBSD :)
23:16 <+iant> cool
23:16 < blup> hello o.o
23:16 < hnsr> hi blup
23:16 < dwery> how do I obtain an array of all the keys of a map?
23:17 -!- kjk [n=Adium@67.215.69.90] has joined #go-nuts
23:17 -!- jh99 [n=jh99@g225035037.adsl.alicedsl.de] has joined #go-nuts
23:17 < blup> id like to ask a question, i use gentoo linux does anyone know
if the go compiler is available in portage under any name?
23:17 <+iant> dwery: I think you have to use range to walk over the map
23:17 < dwery> iant: ty
23:17 -!- CheeToS [n=na@129-2-135-108.wireless.umd.edu] has joined #go-nuts
23:18 < wcn> blup: the only way to get the compiler now is from the Go site.
It's too volatile now for a distro.
23:18 -!- timmcd [n=Adium@97-117-100-106.slkc.qwest.net] has quit [Read error: 145
(Connection timed out)]
23:18 -!- jmacelro [n=jmacelro@nat.ironport.com] has joined #go-nuts
23:18 -!- kjk1 [n=Adium@67.215.69.74] has joined #go-nuts
23:18 -!- ap0th [n=chatzill@c-98-212-1-27.hsd1.il.comcast.net] has joined #go-nuts
23:18 -!- mey [n=smarkwel@75-148-86-114-Oregon.hfc.comcastbusiness.net] has left
#go-nuts []
23:18 < kfx> iant: please never put exceptions in this language :)
23:18 < blup> okay thank you, i jsut wanted to be sure
23:18 < KirkMcDonald> Man.  There's a whole lotta vitrol in the Slashdot
thread.
23:19 < KirkMcDonald> But I guess that's Slashdot for you.
23:19 < mkanat> KirkMcDonald: Welcome to the Internet.
23:19 <+iant> kfx: noted
23:19 * mkanat nods.
23:19 < ap0th> how do you update?
23:19 -!- nexneo [n=niket@115.108.175.41] has quit []
23:19 * freenose wonders how many users this channel had before the slashdot news
23:19 < wcn> freenose: about 100
23:19 <+iant> ap0th: how do you update the sources?  hg pull -u
23:19 < ponce> is there some doc about Go's relflection ?
23:19 < jcfiala> I'm amused by the problem with the other language named
Go!, and interested in seeing how it works out.
23:19 < ap0th> thanks
23:19 < ponce> reflection*
23:20 < wcn> ap0th: then wait the grueling 2 minutes to rebuild from source.
:)
23:20 <+iant> ponce: look at pkg/reflect on the web site
23:20 < KirkMcDonald> freenose: Just channel is just barely a day old, of
course.
23:20 < mkanat> iant: I think where exceptions are useful is where a single
function has a lot of truly exceptional (unusual) conditions that would be
inconvenient to check on function returns, but that sometimes you might want to
check specifically for.
23:20 < KirkMcDonald> freenose: s/Just/This/
23:20 -!- CallToPower [n=CallToPo@s15229144.onlinehome-server.info] has joined
#go-nuts
23:20 < bakkdoor> hi
23:20 -!- weggpod [n=weggpod@ivr94-12-78-224-16-145.fbx.proxad.net] has quit
[Remote closed the connection]
23:20 -!- KillerX1 [n=anant@145-116-234-40.uilenstede.casema.nl] has joined
#go-nuts
23:20 < mkanat> iant: So any mechanism that would ease that sort of
situation would be just as welcome as an exception system is in other languages.
23:20 -!- bbeck [n=bbeck@dxr-fw.dxr.siu.edu] has quit ["leaving"]
23:20 < CallToPower> hi
23:20 < kfx> exceptions are useful when you can't be bothered to plan your
program
23:21 -!- KillerX1 [n=anant@145-116-234-40.uilenstede.casema.nl] has left #go-nuts
[]
23:21 < djm> dho: presumably not too hard to get it to get it to work on
freebsd - change all the /bin/bashes to /usr/local/bin/bash, fix the makefiles,
and that might be enough
23:21 < mkanat> kfx: Well, not necessarily.
23:21 <+iant> mkanat: I'm not sure what we could do better than some sort of
switch, I guess; perhaps there is something
23:21 < kfx> I'd hate to see Go crufted up in order to handhold the
programmer
23:21 <+iant> djm: there is a system call interface which would need some
adjustment
23:21 < KirkMcDonald> kfx: No, I don't buy this argument at all.
23:21 < mkanat> iant: Well, one situation I'm thinking of is a WebServices
interface, where you need to catch and re-interpret any possible error condition
within a large framework with certain codes and so forth.
23:22 < scandal> question about type/assignment compat.  "named and an
unnamed type are compatible if the respective type literals are compatible".  it
seems like this should be legal, but the compiler complains: type T0 int; var a T0
= 1; b := 2; a = b;
23:22 -!- andrewh [n=andrewh@94-194-56-42.zone8.bethere.co.uk] has quit [Read
error: 110 (Connection timed out)]
23:22 < vsmatck> One example I can think of that supports what kfx said is
this.  When I do a whole bunch of lexical casts in c++ (boost) I can wrap them all
in a try{}.  That would be very verbose without exceptions.
23:22 < mkanat> iant: Or other unusual interfaces into a program that aren't
its UI.
23:22 -!- CheeToS [n=na@129-2-135-108.wireless.umd.edu] has left #go-nuts []
23:22 < vsmatck> I do this a lot when dealing with database results.
23:22 -!- Jan_Flanders [n=chatzill@d54C1E33B.access.telenet.be] has joined
#go-nuts
23:22 <+iant> scandal: "int" is a named type
23:22 -!- andrewh [n=andrewh@85.92.214.131] has joined #go-nuts
23:22 -!- Medliwork [n=Medlir@adsl-76-252-78-16.dsl.lgtpmi.sbcglobal.net] has quit
["foom."]
23:22 < mkanat> iant: But yeah, maybe there's some theoretical improvement
over exceptions.  There's a lot of interesting things in language design these
days.
23:23 < mkanat> ("These days" sometimes being "1980".)
23:23 -!- hjkhjh [n=hjkhjh@78.174.194.36] has joined #go-nuts
23:23 -!- GGLucas [n=GGLucas@5357F9E6.cable.casema.nl] has quit [Read error: 110
(Connection timed out)]
23:23 < scandal> iant: ok, i guess i am confused on what an unnamed type is.
will read more.
23:23 < hjkhjh> hllo
23:23 -!- antoszka [n=antoszka@unaffiliated/antoszka] has joined #go-nuts
23:23 < vhold> The thing I wish I could do, that might be a bit naive, is
just make entire classifications of failure fatal entirely or to contexts..
like..  all file IO failure means the whole thing falls over, and socket IO means
that channel dies..  etc..  and then almost never deal with error checking..
because those two things are pretty much all I ever do..  failure is generally
intolerable
23:23 < djm> iant: well, freebsd has a linux compatibility thing, so that
might provide a temporary solution, no?
23:23 -!- timepilot [n=timepilo@c-24-91-16-174.hsd1.ma.comcast.net] has quit
["WeeChat 0.3.0"]
23:24 < mkanat> iant: Perhaps the concept could be something like "anything
that could be exceptional should go into a goroutine that ends under exceptional
circumstances".
23:24 <+iant> vhold: one approach for that is to do most of your work in a
goroutine; if something goes wrong, send a failure notice on a channel and
runtime.Goexit(); then you don't have to pass errors up a chain
23:24 < dho> djm: no, there's some machdep stuff
23:24 <+iant> djm: quite possible, I don't know enough to say one way or
another
23:24 -!- ahf [i=ahf@irssi/staff/ahf] has joined #go-nuts
23:24 < dho> djm: luckily russ already did most of that work in plan 9 port
23:24 < mkanat> iant: That doesn't solve the "I need to re-interpret this
error" case, but it does solve the "this stuff we really don't expect to happen"
situation.
23:24 * dho is familiar enough with plan 9 / rsc's past work that it shouldn't be
too big of an issue.
23:24 <+iant> mkanat: yes, that approach does handle some cases
23:24 -!- aaront [n=aaront@d24-141-25-171.home.cgocable.net] has joined #go-nuts
23:24 <+gri> scandal: a named type is a type that got a name - either a
built-in type or any type that is declared with a type declaration.  hope that
helps.
23:25 -!- bjarneh [n=bjarneh@1x-193-157-197-127.uio.no] has left #go-nuts []
23:25 -!- NoobFukaire [n=tmccrary@d199-74-115-65.col.wideopenwest.com] has left
#go-nuts []
23:25 -!- Ix-Xitan [n=sfsd@195.158.78.96] has joined #go-nuts
23:25 < dho> I just need to figure out what's different about go's libmach
than p9p's
23:25 < chrome> there is also goto :P
23:25 < scandal> gri: how do you make an unnamed type?  is that a result of
using literals only?
23:25 < dho> and possibly some other stuff for channel / `goroutine'
management.
23:25 < dho> but it shouldn't be so bad.
23:25 -!- sg [n=sg@83.231.11.211] has joined #go-nuts
23:25 < KirkMcDonald> Just don't do operations which could possibly result
in errors.
23:25 < KirkMcDonald> Clearly.
23:25 < vsmatck> hah
23:25 < sg> mmm hi
23:25 < ap0th> 2 minutes and still compiling...
23:26 < ap0th> <---crossing fingers
23:26 < kuroneko> KirkMcDonald: kinda hard where nopping can potentially
result in errors.
23:26 <+gri> scandal: an "unnamed type" is something like []int, e.g.  used
in an expression, say: x := []int{1, 2, 3};
23:26 < kuroneko> ;)
23:26 < mkanat> KirkMcDonald: I don't think a perfect void exists.
23:26 -!- hjkhjh [n=hjkhjh@78.174.194.36] has quit [Client Quit]
23:26 < bobappleyard1> mkanat: how philosophical
23:26 < sg> is there plans to have a Go port to Win32 platforms?
23:26 < mkanat> bobappleyard1: :-)
23:26 < scandal> gri: ah ok, that explains the example in the spec about
type T0 []string; being compatible with []string;
23:27 < ajray> sg check the mailing list
23:27 < scandal> gri: thanks :)
23:27 <+iant> sg: we would love to see that happen, but we are unlikely to
do it ourselves
23:27 < matei> are there any samples of long programs in Go that do
nontrivial and thorough error handling?  I'm curious to see how the lack of
exceptions works out in practice when you compensate for it with the other
language features
23:27 < dho> ajray: fancy seeing you here.
23:27 -!- slide_rule [i=ad42401d@gateway/web/freenode/x-jyetvosbhctlvmmt] has quit
["Page closed"]
23:27 -!- lbrandy_ [n=lbrandy_@206.210.81.55] has quit ["Get MacIrssi -
http://www.sysctl.co.uk/projects/macirssi/"]
23:27 -!- MarkBao [n=MarkBao@75-144-186-92-NewEngland.hfc.comcastbusiness.net] has
quit [Connection timed out]
23:27 < Freeaqingme> iant, does Google use Go itself in any apps that have
real meaning?
23:27 < ayo> matei, is there goto?  :>
23:27 -!- SiegeLord [n=siege@pool-71-124-166-56.bstnma.east.verizon.net] has
joined #go-nuts
23:27 <+iant> matei: the Go libary does plenty of error handling
23:27 < KirkMcDonald> matei: Based on my limited experience so far, it ends
up smelling a lot like C error handline.
23:27 <+iant> matei: not sure if that is what you are looking for
23:27 <+gri> scandal: for instance: type T []int; x := T{1, 2, 3}; // x has
a named type (T); but y := []int{1, 2 3}, y has an unnamed type ([]int).
23:28 < KirkMcDonald> handling*
23:28 < uriel> sg: andguent already started to look into doing a win32 port
23:28 -!- lindsayd [n=lindsayd@nat/cisco/x-fkazxdzojpqgjbyp] has joined #go-nuts
23:28 < uriel> sg: I'm sure he would love to get help ;)
23:28 <+iant> Freeaqingme: the language is still experimental, so other than
golang.org itself, no, not really
23:28 < mkanat> KirkMcDonald: Well, my major feeling about Go right now is
that it is indeed a replacement for C, so....
23:28 <+gri> scandal: x and y are assignment compatible
23:28 <+iant> ayo: yes
23:28 < droid0011> anybody got gccgo compiled?  I folowed the web
instuctions, but it seems to be broken ...
23:28 < sg> iant how much of Go src is OS dependant?  are changes to make it
happen only needed on the code generator or everywhere?
23:28 < mkanat> KirkMcDonald: And it does say "systems programming language"
pretty clearly.  :-)
23:28 < KirkMcDonald> mkanat: True.
23:28 < kuroneko> droid0011: got it compiling now..
23:29 < vsmatck> It doesn't seem like a replacement for C or C++ because it
sacrifices speed.  Is my thinking incorrect?
23:29 <+iant> droid0011: may be best to send e-mail to the list with a
description of your problems
23:29 < ayo> iant, oh...  that's a surprise
23:29 < kuroneko> it's still somewhere compiling the C frontend.
23:29 <+iant> sg: mostly the low level runtime library
23:29 < scandal> gri: thanks for the example, that helps a bunch
23:29 < mkanat> vsmatck: Well, it's certainly a very new language.  But it's
compiled, not interpreted, so it could be competetive.
23:29 < droid0011> iant: ok
23:29 <+iant> vsmatck: it sacrifices some speed, but not very much; that may
rule it out for some uses but not others
23:29 -!- Capso [i=none@about/networking/128.0.0.0/Capso] has left #go-nuts
["Leaving"]
23:29 < mkanat> vsmatck: The only advantage that C has is about 30 years of
compiler work.
23:30 < ahf> has anyone written Vim files for Go, yet?
23:30 < wcn> ahf: in the misc directory.
23:30 < ajray> ahf check misc/vim/
23:30 < ahf> awesome.
23:30 <+iant> that should be a FAQ, I guess
23:30 -!- ouah [n=godisdea@unaffiliated/ouah] has quit [Read error: 110
(Connection timed out)]
23:30 -!- meheff [n=meheff@nat/google/x-oxgdoeufhhffxiqu] has left #go-nuts
["Leaving"]
23:30 -!- ineol [n=hal@mar75-9-88-171-191-168.fbx.proxad.net] has quit []
23:30 < ajray> iant and maybe the FAQ should be in the topic
23:30 < vsmatck> Ahh, so perhaps it would displace C and C++ to some degree
for some tasks.  I'm thinking an exception might be a modern game engine.  It
doesn't seem like it could displace C++ for that task.
23:31 -!- awishformore [n=awishfor@78.141.152.48] has quit [Read error: 113 (No
route to host)]
23:31 -!- tasklist7 [n=tasklist@c-98-208-175-116.hsd1.fl.comcast.net] has joined
#go-nuts
23:31 < bobappleyard1> vsmatck: given easy support for concurreny, a game
engine might a be a good place for it
23:31 < kuroneko> I'm personally hoping it'll displace perl/python for
intermediate sized projects
23:31 < KirkMcDonald> vsmatck: At least not until the C interoperability
improves.
23:31 <+iant> vsmatck: in any case we're not trying to displace C/C++, just
providing an alternative
23:31 < ajray> kuroneko: me too.
23:31 -!- nuggien [n=dnguyen@nat.electric-cloud.com] has joined #go-nuts
23:31 < blup> thats wkat i was thinking kuroneko
23:31 < scandal> iant: i might suggest adding instructions in the go.vim
file about how to use it.  took a minute for me to figure that part out.
23:31 < ajray> i can see myself being much more productive and efficient
using go
23:32 < ajray> scandal: add it to your filetypes.vim?
23:32 < blup> a MINUTE?
23:32 <+iant> scandal: I have no idea how to use it, but if you want to
patch the file, that would be great; see http://golang.org/doc/contribute.html
23:32 -!- KillerX [n=anant@gentoo/developer/KillerX] has quit [Read error: 110
(Connection timed out)]
23:32 < vsmatck> Hmm, I suppose it doesn't have to be all or nothing either.
A lot of games use LUA.  Not every task within a game requires maximum speed.
23:32 -!- aho [n=nya@e179090156.adsl.alicedsl.de] has quit [Connection timed out]
23:32 -!- ap0th [n=chatzill@c-98-212-1-27.hsd1.il.comcast.net] has quit
["ChatZilla 0.9.85 [Firefox 3.5.5/20091105233027]"]
23:32 < blup> time will tell
23:32 < scandal> ajray: i dropped in ~/.vim/syntax/ and made a
~/.vim/ftdetect/go.vim
23:32 -!- mertimor [n=mertimor@p4FE75383.dip.t-dialin.net] has quit []
23:33 < vsmatck> I'm not making an argument or anything.  Just thinking
about someone else's question out loud.
23:33 < KirkMcDonald> au BufRead,BufNewFile *.go set filetype=go
23:33 -!- DeFender1031 [n=danf@pool-70-17-124-217.res.east.verizon.net] has joined
#go-nuts
23:33 < KirkMcDonald> (In the ftdetect/go.vim file.)
23:33 < scandal> KirkMcDonald: that's exactly what i used :)
23:34 -!- kjk [n=Adium@67.215.69.90] has quit [Read error: 110 (Connection timed
out)]
23:34 -!- theatrus [n=user@208.176.190.222] has quit [Connection timed out]
23:34 -!- tasklist7_ [n=tasklist@166.193.168.59] has joined #go-nuts
23:34 < RicardoC> Is it possible to install on windows xp already?:P
23:34 -!- hipe [n=markmeve@69.193.196.185] has joined #go-nuts
23:34 -!- brrant [n=brrant@65-102-225-252.hlrn.qwest.net] has joined #go-nuts
23:34 < bobappleyard1> RicardoC: tried cygwin?
23:34 < mkanat> vsmatck: Perhaps a Go++ with exceptions and inheritance
would be a competitor for C++.  But that's not even really something to think
about right now.
23:35 < mkanat> vsmatck: And I get the impression it's something the current
Go team wouldn't be interested in, though I could be wrong.
23:35 < kuroneko> ugh.  noo~
23:35 < KirkMcDonald> Inheritance?
23:35 < vsmatck> I'm quite convinced that the behavior of inheritence can be
accomplished effectively in go.
23:35 -!- michaeljaaka [n=michael@167-mo6-7.acn.waw.pl] has quit []
23:35 -!- matt1982 [n=chatzill@94-171-145-192.cable.ubr19.brad.blueyonder.co.uk]
has joined #go-nuts
23:35 -!- tasklist7_ [n=tasklist@166.193.168.59] has quit [Client Quit]
23:35 < vsmatck> Exceptions don't seem stricly necessary.  They only make
error handling easier it seems.
23:35 < mkanat> vsmatck: It can be accomplished effectively in C, too, it's
just a matter of how much the language assists you.
23:35 < RicardoC> @ bobappleyard1, I would like to try it a the moment..
but the at the moment I can't connect to a website while irc works perfectly :p
23:35 < hnsr> check 44.11 in the vim user manual on how to properly install
syntax files
23:35 < kuroneko> I disagree about the error handling
23:36 < bobappleyard1> full continuation support would be better than
special casing exceptions if you were going to extend it that way
23:36 < kuroneko> C-style error handling is perfectly fine
23:36 < mkanat> vsmatck: Well, that's one of the purposes of a programming
language--possibly the only purpose--to make programming easier.  :-)
23:36 < ayo> RicardoC, virtualbox + ubunto ;>
23:36 -!- Godfath3r [n=godfath3@ppp-94-69-67-135.home.otenet.gr] has joined
#go-nuts
23:36 -!- faltad [n=user@lgp44-4-88-160-58-65.fbx.proxad.net] has quit [Remote
closed the connection]
23:36 < vsmatck> mkanat: indeed :)
23:36 < ayo> *u
23:37 < vsmatck> iant: Thinking about what you said.  Offering an
alternative to C is displacing C if you plan on having > 0 users.  Not picking
a fight just thinking about the logic of what was said.
23:38 -!- xuwen [n=xuwen@adsl-99-157-74-219.dsl.pltn13.sbcglobal.net] has joined
#go-nuts
23:38 < vsmatck> I'm all for better tools anyways.  I guess programming
languages are complicated tools.  Not easy to always know exactly what they're
for.  :)
23:38 < bobappleyard1> vsmatck: it's not necessarily zero sum though, the
pool of programmers in this domain may increase
23:38 < Freeaqingme> vsmatck, one could use C as well for webapps.  Making C
an alternative to PHP...  ;)
23:39 <+iant> vsmatck: not if the pie keeps growing higher
23:39 < vsmatck> bobappleyard1: Ahh!  Your point about the non-zerosum'ness
is well taken.
23:39 -!- SiggyF [n=SiggyF@80.101.78.195] has joined #go-nuts
23:39 < chrome> vsmatck: have you written any go yet?
23:39 < vsmatck> chrome: ya, I've been messing with the networking.
23:39 < chrome> vsmatck: same; I really like goroutines.
23:40 < chrome> I understand its similar to erlang.
23:40 < vsmatck> I haven't started a goroutine yet.  I'm struggling a bit
honestly.
23:40 < blup> pure conjecture on your part
23:40 -!- ikke [n=1kk3@unaffiliated/ikkebr] has joined #go-nuts
23:40 < chrome> vsmatck: really?  I'll share this telnet talker in a minute
once it's working right
23:40 < bobappleyard1> not messed around with goroutines yet, although i
made my own implementation of channels in common lisp after watching rob pike's
talk on newsqueak
23:40 < vsmatck> goroutines are similar to lightweight threads I think.
It's a highly appealing part of the language to me.
23:40 < eno> chrome: it's definitely different from erlang
23:41 -!- cmarcelo [n=cmarcelo@189.115.168.80.dynamic.adsl.gvt.net.br] has joined
#go-nuts
23:41 < vhold> When a company like google releases something like this, I
always feel better when there's a transparently selfish motive stated :)
23:41 < eno> other than the light weight
23:41 -!- dju [i=dju@ip-39.net-80-236-37.suresnes.rev.numericable.fr] has joined
#go-nuts
23:41 < chrome> eno: yeah, wouldn't know.  I'm a C monkey.
23:41 < bobappleyard1> so i'm aware of some of the semantics
23:41 < uriel> go should kill java and c++, and that alone will make the
world a hugely better place
23:41 < eno> erlang is all about async message sending
23:41 < chrome> uriel: amen
23:41 < vsmatck> pff!
23:41 < bobappleyard1> uriel is already a go bigot, class
23:41 < mkanat> vhold: I think "a systems language with memory safety" is
enough motive all by itself.
23:42 < eno> imo you can build sync communication from async
23:42 < ajray> why mercurial?
23:42 < eno> but not the other way
23:42 < vsmatck> If you have more tools in your shed you're more likely to
have a tool better suited to a particular task.  That's how I'm thinking about it.
23:42 < uriel> bobappleyard1: I'm not a go bigot, I have been an anti c++
and anti java bigot for many years, go simply has given me hope that something
sane could kill them
23:42 -!- jcfiala [n=jfiala@12.129.230.76] has left #go-nuts []
23:42 < ajray> does google prefer mercurial over git?
23:42 < vhold> mkanat: Yes, but why take on the burden of releasing it?  I'm
sure we can think of tons of them, but I like it when they state it :)
23:42 < uriel> mkanat: that is true too,
23:42 < bobappleyard1> uriel: ok.  respectable opinion
23:43 < bobappleyard1> uriel: i find those two languages fairly revolting as
well
23:43 < dho> uriel: it's like your birthday.
23:43 < dho> bobappleyard1: don't give uriel too much leeway :)
23:43 < bobappleyard1> hehe
23:43 * mkanat doesn't really object to Java.  It has one of the best standard
libraries of any language and it has really good Unicode support.
23:43 <+robpike> ajray: code.google.com supports only svn and mercurial.
mercurial made it easier for us to tie in the codereview stuff.  thtat's why it's
mercurial
23:44 < mkanat> But nobody's going to be writing systems-level code in Java.
23:44 < eno> interesting to see how goroutine might be applied to
distributed env, where network can be unreliable
23:44 < uriel> dho: I swear that yesterday, when I first read about go, i
thought it was a miracle of god/glenda/ken, and answer to my prayers for revenge
against all the evil in the software industry
23:44 < kfx> it *needs* that standard library, because most of its users
can't code anything themselves
23:44 < dho> uriel: :)
23:44 -!- Iulius [n=wtf@24.136.243.10] has quit ["Leaving"]
23:44 < bobappleyard1> uriel: is rob pike your god?
23:44 < chrome> if I have an array, foo []Mytype, how do I add stuff to that
array?
23:44 < blup> you like underestimating people kfx
23:44 < uriel> bobappleyard1: hah, nah, ken maybe ;P
23:44 < mkanat> kfx: Standard libraries exist so that you don't have to
code.  Do you think every component of every program should be built from the
ground up?
23:44 -!- delza [n=delza@d66-183-63-49.bchsia.telus.net] has quit []
23:44 -!- bovv [n=crow@p2016-ipbf806yosida.nagano.ocn.ne.jp] has quit [Read error:
110 (Connection timed out)]
23:44 < kfx> blup: it's impossible to underestimate java
23:45 < kfx> mkanat: nice straw man attempt
23:45 < uriel> it is impossible to understimate how much damage java has
done to the world, many hundreds of billions of $ completely wasted because of it
23:45 < uriel> (c++ might have been even more harmful)
23:45 < mkanat> uriel: Well, what do you think is specifically wrong with
Java, as a language (not as a platform)?
23:45 < kfx> not to mention huge swaths of my time
23:46 < chrome> can anyone answer my go related question?
23:46 < blup> i think it was worth a shot, they could have never known if
they didnt try
23:46 < sg> why do you think java has damaged the world, uriel?
23:46 < dho> chrome: that's not an array, that's a slice
23:46 -!- dw [n=dw@unaffiliated/dw] has left #go-nuts []
23:46 < chrome> dho: ok, so how can I add stuff to it?
23:46 < dho> arrays have specified sizes
23:46 < kuroneko> oh geez - somebody's set uriel off again...
23:46 < uriel> mkanat: this is offtopic, sorry for getting carried away
23:46 < mkanat> uriel: Okay, agreed.
23:47 < chrome> dho: I want to be able to store an arbitrary number of
Mytypes in foo
23:47 < bakkdoor> when i want to compile a hello world programm, i get the
following error: "test.go:3: fatal error: can't find import: fmt".  any
environment variables that need to be set besides $GOROOT ?
23:47 -!- tasklist7_ [n=tasklist@166.193.168.59] has joined #go-nuts
23:47 < doublec> chrome, you might want
http://golang.org/pkg/container/vector/
23:47 < ayo> "many hundreds of billions of $ completely wasted"...  oh what
a pile of bs :D
23:47 < chrome> doublec: thanks :)
23:47 < doublec> which is a dynamically sized vector
23:47 < dho> chrome: http://golang.org/doc/effective_go.html#slices
23:47 < dho> but what doublec said
23:47 -!- AakashPatel [n=AakashPa@unaffiliated/aakashpatel] has joined #go-nuts
23:47 < chrome> dho: yeah, that doc doesnt help me
23:47 -!- AakashPatel [n=AakashPa@unaffiliated/aakashpatel] has left #go-nuts
["Leaving"]
23:47 -!- cying [n=cying@174.46.232.250] has quit []
23:47 -!- JohnNy_cz [i=JohnNy_c@jhn4.kolej.mff.cuni.cz] has quit []
23:47 < droid0011> ajray: you can easy convert the hg repo to git
http://hopper.squarespace.com/blog/2008/7/5/converting-mercurial-to-git.html
23:48 <+robpike> chrome: you can't add to a slice in general because it's
got underlying data that simple appending would overwrite.  you need new storage.
see that slices discussion dho sent.  also look at the implementation of bytes.Add
and how it uses capacity
23:48 -!- raichoo [n=raichoo@i577BA04E.versanet.de] has joined #go-nuts
23:49 -!- Lorthirk [n=cm0901@109.114.37.131] has quit [Read error: 110 (Connection
timed out)]
23:49 -!- hyperstream [n=Stream@58.106.157.90] has joined #go-nuts
23:49 <+robpike> chrome: in other words, you can sometimes append without
allocation, sometimes not.  strings are different because they are immutable and
appending can work simply by +
23:49 -!- RayNbow [i=kirika@scientia.demon.nl] has quit ["When science finally
locates the center of the universe, some people will be surprised to learn they're
not it"]
23:49 -!- tasklist7_ [n=tasklist@166.193.168.59] has quit [Client Quit]
23:50 < chrome> so arrays are more like C arrays?
23:50 -!- hensonsturg [n=henson@68-119-32-060.dhcp.spbg.sc.charter.com] has joined
#go-nuts
23:50 -!- lgas [n=user@173-11-107-76-SFBA.hfc.comcastbusiness.net] has left
#go-nuts ["ERC Version 5.2 (IRC client for Emacs)"]
23:50 < blup> whats wrong with the mercurial repository
23:50 <+iant> chrome: yes, except when passing them to a function--they are
passed by value, not reference
23:50 < chrome> gotya
23:50 <+robpike> chrome: arrays are like C arrays - just storage - but - BIG
BUT - when you pass one around it's a copy, not the address of the first element
23:51 -!- robertpateii [n=robertpa@207-114-244-5.static.twtelecom.net] has quit
["Leaving."]
23:51 < vhold> Unless you pass around a reference or a slice..  ?
23:51 <+robpike> chrome: see effective go
23:51 < blup> btw : 0 known bugs; 0 unexpected bugs; test output differs
<- is that test output thing fine?
23:51 < chrome> it might be worth noting that vector exists in the effective
go tute :)
23:51 < vhold> The notion of slices as references is one of the more novel
things to me..  if I have that right..
23:51 <+iant> vhold: yes, slices are a reference type
23:51 -!- RicardoC [n=blaat@53547AF9.cable.casema.nl] has quit []
23:51 <+iant> blup: that seems unusual--the test output diff should appear
just before that line
23:51 <+robpike> vhold: yes, reference and an attempt to split C arrays into
two separate concepts that work well
23:51 -!- hyperstream [n=Stream@58.106.157.90] has left #go-nuts []
23:51 -!- bmac7 [n=brianmac@c-98-208-175-116.hsd1.fl.comcast.net] has quit
[Connection timed out]
23:51 -!- itrekkie [n=itrekkie@ip72-200-111-233.tc.ph.cox.net] has quit []
23:52 -!- tasklist7 [n=tasklist@c-98-208-175-116.hsd1.fl.comcast.net] has quit
[Read error: 110 (Connection timed out)]
23:52 < alexsuraci> iant: i had the same thing as blup on two different
machines
23:52 -!- _ivo_ [i=5f5f993f@gateway/web/freenode/x-ymmreghktiwpbmyq] has joined
#go-nuts
23:52 < blup> > panic PC=xxx
23:52 < blup> it says this first
23:52 < alexsuraci> that too
23:52 <+iant> OK, that kind of diff is not too important
23:52 <+robpike> blup: what's $GOARCH
23:52 <+iant> it may indicate some problem in the stack backtracer, but that
is not a very big deal
23:52 -!- swolchok [n=swolchok@li45-103.members.linode.com] has joined #go-nuts
23:52 -!- devinus [n=devin@65.107.181.222] has quit [Read error: 145 (Connection
timed out)]
23:53 -!- plainhao [n=plainhao@mail.xbiotica.com] has joined #go-nuts
23:53 <+robpike> blup: some of the tests deliberately crash.  it can
probably be ignored.
23:53 < blup> okay thank you it seems to work
23:53 < blup> goarch is amd64 btw
23:54 -!- Irssi: #go-nuts: Total of 513 nicks [0 ops, 0 halfops, 5 voices, 508
normal]
23:54 -!- me___|ugrad-lab [i=[U2FsdGV@batman.acm.jhu.edu] has joined #go-nuts
23:54 < chrome> ooh, vector.Do - nice
23:54 < _ivo_> hey guys!  is anyone working on a database connection
package?
23:55 -!- marclurr [n=marclurr@cpc2-walt12-2-0-cust386.13-2.cable.virginmedia.com]
has joined #go-nuts
23:55 < me___|ugrad-lab> _ivo_: a number of people
23:55 <+iant> _ivo_: several people have mentioned it, not sure if anyone is
working on it yet
23:55 -!- nigwil [n=chatzill@berkner.ccamlr.org] has joined #go-nuts
23:55 < ajray> droid0011: is it possible to submit code (contribute) using
that though?
23:55 <+robpike> blup: hmmm.  linux or darwin?
23:55 < blup> linux
23:55 <+robpike> blup: version?
23:55 < blup> what linux version?
23:55 <+robpike> robpike: yes
23:55 < ajray> robpike: is there a go syntax parser?  that one could use to
make a ctags clone (gotags)?
23:55 <+robpike> ajray: package go
23:56 < kuroneko> oh neat, there is a json package already
23:56 <+robpike> blup: yes which linux version?
23:56 < hnsr> I think I got the same output as blup on my linux amd64 system
(gentoo)
23:56 < blup> 2.6.28
23:56 -!- freeksh0w86 [n=chatzill@76.5.151.2] has joined #go-nuts
23:56 -!- dchest [n=dchest@81.5.81.249] has quit []
23:56 < blup> yes its getnoo
23:56 -!- creack [n=creack@ip-67.net-80-236-112.lhaylesroses.rev.numericable.fr]
has joined #go-nuts
23:56 <+iant> hnsr: blup: which glibc version?  (run /lib64/libc.so.6)
23:56 <+robpike> blup: yes, i think you're ok.  some linux versions vary in
how signals behave and it confuses the run time.  shouldn't be an issue for
non-crashing programs.  safe to ignore i believe.
23:57 < marclurr> anyone done anything cool with go yet?
23:57 < blup> glibc 2.11
23:57 <+iant> thx
23:57 < blup> i jsut asked cause it wasnt the exact thing it said in the
guide
23:57 -!- base3 [n=base3@host81-141-239-146.wlms-broadband.com] has joined
#go-nuts
23:57 <+iant> might be worth opening an issue on this, with all that info
23:57 < base3> ..  ...  ...  ...  ..  . ..  ....  .....  .....
23:57 < base3> ...  ....  ....  .....  .%/\ ..  ....  .....  .....  .
23:57 < base3> . ...  ...  ...  ..  .%./ &.  ....  ......  ....  ...
23:57 < base3> ..  ....  ..  ...  .%**/ \ .....  .....  ....
23:57 -!- tasklist7 [n=tasklist@166.193.168.59] has joined #go-nuts
23:57 < base3> ....  ....  ..  .%***/ &.  .....  .....  ...  .
23:57 -!- punya [n=punya@c-24-19-57-173.hsd1.wa.comcast.net] has joined #go-nuts
23:57 < base3> ......  ....  . .%.***/ .d99b_ \ . ......  ...  ....
23:58 < base3> .......  .%*****/ -' `'.&.  .....  ...  .....
23:58 < base3> ..  ..  .%******/ ._."""'~::, \ . ...  .....  .
23:58 < base3> .......  .%*******/._'` .'"^':, :.,&.  . ....  .....
23:58 < base3> ...  .%********/',_-^{ ( ) } :.\ ........  ..
23:58 < base3> ..  .%*********/%^ '.  .' ;.&.  . ...  ....
23:58 < base3> . .%**********/; ".,." ;#.\ . . .....
23:58 < base3> .%***********/ ~'.,,.  ,.-'^ &.  . ...  ..
23:58 < base3> .%************/ ""-.,.-""~ \ . . ..
23:58 < base3> .%*************/ &.  ..  ..
23:58 < base3> %**************/ \ ...
23:58 < chrome> fail.
23:58 < marclurr> +1
23:58 < bobappleyard1> ouch
23:58 < hnsr> libc version: http://pastie.org/694635
23:58 < kfx> heh
23:58 -!- Obiru [n=Obiru@114-30-97-73.ip.adam.com.au] has joined #go-nuts
23:58 -!- sg [n=sg@83.231.11.211] has left #go-nuts []
23:58 < chrome> how do you create a func on the fly for a vector.Do ? :)
23:59 < chrome> like, an inline func.
23:59 < bobappleyard1> just write it
23:59 < punya> Why is a *vector.Vector not a heap.Interface?  Supposedly the
signatures for Push don't match up but could someone explain how they differ?
23:59 < bobappleyard1> anonymous functions are supported
23:59 < olegfink> chrome:
http://golang.org/doc/go_spec.html#Function_literals
23:59 < base3> ..  ...  ...  ...  ..  . ..  ....  .....  .....
23:59 <+robpike> chrome: see the container/vector test.  it contains a nice
example
23:59 < base3> ...  ....  ....  .....  .%/\ ..  ....  .....  .....  .
23:59 < base3> . ...  ...  ...  ..  .%./ &.  ....  ......  ....  ...
23:59 < base3> ..  ....  ..  ...  .%**/ \ .....  .....  ....
23:59 < base3> ....  ....  ..  .%***/ &.  .....  .....  ...  .
23:59 < base3> ......  ....  . .%.***/ .d99b_ \ . ......  ...  ....
23:59 < base3> .......  .%*****/ -' `'.&.  .....  ...  .....
23:59 < base3> ..  ..  .%******/ ._."""'~::, \ . ...  .....  .
23:59 < jamesr> base3: cut that out
23:59 < base3> .......  .%*******/._'` .'"^':, :.,&.  . ....  .....
23:59 < base3> ...  .%********/',_-^{ ( ) } :.\ ........  ..
23:59 < base3> ..  .%*********/%^ '.  .' ;.&.  . ...  ....
23:59 < Freeaqingme> iant, /msg chanserv op #go-nuts
23:59 < base3> . .%**********/; ".,." ;#.\ . . .....
23:59 < base3> .%***********/ ~'.,,.  ,.-'^ &.  . ...  ..
23:59 < base3> .%************/ ""-.,.-""~ \ . . ..
23:59 < base3> .%*************/ &.  ..  ..
--- Day changed Thu Nov 12 2009
00:00 < base3> %**************/ \ ...
00:00 < Freeaqingme> iant, /kick #go-nuts base3
00:00 -!- mode/#go-nuts [+o iant] by ChanServ
00:00 < chrome> /kb would be better
00:00 < chrome> assuming sensible irc client
00:00 -!- base3 was kicked from #go-nuts by iant [#go-nuts]
00:00 < marclurr> :)
00:00 -!- Fish- [n=Fish@78.238.225.114] has joined #go-nuts
00:00 * SRabbelier mutters some more about having to export GOOS-es without having
a goose export license, that might be illegal!
00:00 <@iant> Freeaqingme: thanks
00:01 < Freeaqingme> yw
00:01 -!- base3 [n=base3@host81-141-239-146.wlms-broadband.com] has joined
#go-nuts
00:01 < base3> ..  ...  ...  ...  ..  . ..  ....  .....  .....
00:01 < base3> ...  ....  ....  .....  .%/\ ..  ....  .....  .....  .
00:01 < base3> . ...  ...  ...  ..  .%./ &.  ....  ......  ....  ...
00:01 < base3> ..  ....  ..  ...  .%**/ \ .....  .....  ....
00:01 < base3> ....  ....  ..  .%***/ &.  .....  .....  ...  .
00:01 < danderson> iant: /ban base3
00:01 < red1> LOL
00:01 < base3> ......  ....  . .%.***/ .d99b_ \ . ......  ...  ....
00:01 < Freeaqingme> iant, kickban ;)
00:01 < base3> .......  .%*****/ -' `'.&.  .....  ...  .....
00:01 < soul9> ☺
00:01 < base3> ..  ..  .%******/ ._."""'~::, \ . ...  .....  .
00:01 < base3> .......  .%*******/._'` .'"^':, :.,&.  . ....  .....
00:01 < base3> ...  .%********/',_-^{ ( ) } :.\ ........  ..
00:01 < base3> ..  .%*********/%^ '.  .' ;.&.  . ...  ....
00:01 < base3> . .%**********/; ".,." ;#.\ . . .....
00:01 < antarus_> iant: you can just do /mode +q base3 ;)
00:01 -!- Fish [n=Fish@78.238.225.114] has quit [Read error: 104 (Connection reset
by peer)]
00:01 < base3> .%***********/ ~'.,,.  ,.-'^ &.  . ...  ..
00:01 < base3> .%************/ ""-.,.-""~ \ . . ..
00:01 < base3> .%*************/ &.  ..  ..
00:01 < base3> %**************/ \ ...
00:01 < base3> iant: get your act together
00:01 -!- mode/#go-nuts [+b %base3!*@*] by iant
00:01 < danderson> base3: how about you just go away instead :)
00:01 < Freeaqingme> :D
00:02 < jamesr> this is what you get for doing all the hard work of getting
a project open sourced :)
00:02 <@iant> I'm not an experienced IRC op, I'm afraid
00:02 < red1> could it be a bot?
00:02 < DeFender1031> that ascii art isn't even very good...  i mean, at
least do something imaginative...
00:02 -!- epalm [n=epalm@utl-192-234.library.utoronto.ca] has quit ["Leaving"]
00:02 < creack> do google go run on freebsd?
00:02 < danderson> iant: want a hand?  I'm happy to help shut up spammers.
00:02 < JBeshir> Is there anything wrong with "parameters :=
strings.Split(line, " ", 0); if (parameters[0] == "PING") { /* Do stuff */ }
00:02 < hnsr> is it a piramid?
00:02 < Freeaqingme> it's a fail
00:02 <@iant> danderson: sure, thanks
00:02 -!- tedster [n=tedster@cpe-008051.dhcp008.wadsnet.net] has joined #go-nuts
00:02 < antarus_> iant: plenty of irc folk around ;)
00:02 < JBeshir> It isn't working, and I'm beginning to think I'm missing
something stupid.
00:02 -!- antarus_ is now known as antarus
00:03 -!- destreet [n=david@99-68-42-244.lightspeed.hstntx.sbcglobal.net] has
joined #go-nuts
00:03 -!- freeksh0w86 [n=chatzill@76.5.151.2] has left #go-nuts []
00:03 < plainhao> try leaving out the parentheses in the if conditional
00:03 * antarus is actually surprised at the lack of trouble ;)
00:03 -!- bpot [n=bpot@66.219.61.62] has quit [Remote closed the connection]
00:03 < mkanat> antarus: Usually FreeNode is pretty tame.
00:03 -!- andrewh_ [n=andrewh@94-194-56-42.zone8.bethere.co.uk] has joined
#go-nuts
00:03 < glewis> anyone know if the emacs go-mode can indent with spaces
instead of a hard tab when I hit the TAB key?  I've looked through the .el and
couldn't figure it out, and it's not based on c-mode.
00:03 -!- Obiru [n=Obiru@114-30-97-73.ip.adam.com.au] has left #go-nuts []
00:03 -!- marclurr [n=marclurr@cpc2-walt12-2-0-cust386.13-2.cable.virginmedia.com]
has quit ["Leaving"]
00:03 < JBeshir> plainhao: Doesn't seem to have done anything.
00:03 -!- base3 [n=base3@host81-141-239-146.wlms-broadband.com] has left #go-nuts
[]
00:03 < mkanat> glewis: gofmt uses tabs.
00:03 <+robpike> JBeshir: looks reasonable.  you don't ned parens on if.
what's happening?
00:03 < punya> I think my question might have got lost because of all the
surrounding ascii-art spam, so I'll repeat:
00:04 < punya> Why is a *vector.Vector not a heap.Interface?  Supposedly the
signatures for Push don't match up but could someone explain how they differ?
00:04 < JBeshir> robpike: The "if" is failing to execute when it is PING; or
at least looks a lot like it on output.
00:04 < JBeshir> An additional thing I've found is that fmt.Printf("%c\n",
parameters[0][0]) seems to print nothing at all when it happens.
00:04 < DrNach> JBeshir: conditionals don't have paranthesis around them in
Go
00:05 -!- mib_mib [n=chatzill@c-98-245-57-255.hsd1.co.comcast.net] has quit
[Remote closed the connection]
00:05 < jamesr> the ()s make no difference here, since they're around an
expression
00:05 <+robpike> JBeshir: after calling strings.Split, fmt.Printf("%#v\n",
parameters)
00:05 < JBeshir> Taking the parens out didn't change anything; I assume they
just were redundant in that context.
00:05 <+robpike> you will see exactly what you have in the split array
00:05 < jamesr> it's like doing if ( (true) ) in C or something
00:05 < SRabbelier> mhhh, compiling go itself takes quite a while (but still
under a few minutes), although I can't imagine how long it'd take to compile say
gcc :P
00:06 < blup> takes me over an hour to bootstrap gcc
00:06 < SRabbelier> wow, yup, I managed to clone, configure, and make go in
under 5 minutes, awesome :D
00:06 < JBeshir> The array looks completely empty.
00:06 < destreet> Is there a list of current packages under development?
00:06 < chrome> what am I doing wrong here: http://pastie.org/694642 (inline
func)
00:06 < blup> SRabbelier, id assume thats not a go features, the compiler is
jsut small
00:06 <+robpike> JBeshir: well that's your problem :)
00:06 < SRabbelier> blup: how is that not a feature?  :P
00:07 <+robpike> robpike: a couple more prints should figure it out
00:07 <@iant> punya: good question, I'm not sure offhand
00:07 < SRabbelier> blup: means it's easy to port :)
00:07 < JBeshir> Well, like it contains a huge nulled string.
00:07 <@iant> /msg chanserv access #go-nuts add danderson +VotsriRfA
00:07 <+robpike> JBeshir: define "nulled".  go does not use \0 in strings
00:07 < blup> i thought you were referring to the face that go says it
compiles things fast
00:07 < blup> fact
00:07 < mkanat> iant: Mmm, I think you may want to change your password now.
00:07 -!- juan22arg [n=juan@190.11.105.75] has quit [Remote closed the connection]
00:07 -!- MvdS [n=moshe@83.119.164.251] has quit ["Leaving"]
00:08 < mkanat> iant: Oh, wait, that's not your password, is it?
00:08 -!- peloverde [n=alex@cpe-173-88-148-20.neo.res.rr.com] has joined #go-nuts
00:08 < antarus> mkanat: nope
00:08 -!- panaggio [n=panaggio@200-158-190-234.dsl.telesp.net.br] has joined
#go-nuts
00:08 <@iant> mkanat: nope, it's some magic string, I hope
00:08 -!- hiromtz [n=hiromtz@h028.p027.iij4u.or.jp] has joined #go-nuts
00:08 < mkanat> That's strange Freenode permissions strings.
00:08 < jamesr> that's a perm string
00:08 < JBeshir> robpike: Yeah, they're getting in there anyway.  I think my
reading code is broke.
00:08 < danderson> iant: yeah, nothing confidential.  Weird your irc client
made that a litteral / though.
00:08 < mkanat> That is weird.
00:08 < SRabbelier> anyone have me some Make rules for building go programs
that I can just stuff in some directory?
00:08 < kuroneko> there's garbage on the start of the line
00:08 < danderson> iant: open a query to chanserv, and paste in everything
from the 'access' keyword on.
00:08 <+robpike> JBeshir: well use %#v to print stuff and you'll get
go-syntax output, very clear and helpful when you have empty strings and so on
00:08 < kuroneko> that's why
00:09 < JBeshir> robpike: Thanks for that.
00:09 < chrome> robpike: mind taking a look at my pastie?  it is whinging
about send_message and clients
00:09 < SRabbelier> wow
00:09 < SRabbelier> I are the blind
00:09 <+robpike> chrome: sure
00:09 -!- lenst [n=user@90-229-131-67-no52.tbcn.telia.com] has quit [Read error:
110 (Connection timed out)]
00:09 <+robpike> chrome: remind me please
00:09 < chrome> http://pastie.org/694642
00:10 -!- ajray [n=alex@nom23228b.nomadic.ncsu.edu] has quit ["Leaving."]
00:10 < chrome> line 11 and 19 in that paste
00:10 < destreet> Is anyone working on a mysql package?
00:10 < mkanat> destreet: Well, ideally one would be able to link the MySQL
C library, no?
00:11 -!- jcgregorio_ [n=chatzill@203.39.247.241] has joined #go-nuts
00:11 < blup> gogo bindings ;p
00:11 <+robpike> chrome: you can't write a func declaration inside a func.
instead of what you have define a var: send_message := func(....) { }
00:11 < kuroneko> mkanat: there are type problems there though
00:11 <+robpike> chrome: functions are always a little different
00:11 < chrome> arr, ok
00:11 < kuroneko> as well as ABI problems unless you're using gccgo
00:11 -!- leitz [n=leam@72.150.95.31] has joined #go-nuts
00:12 <+robpike> chrome you could also just write the func as an expression
inside Do()
00:12 < destreet> I was hoping for something more elegant for mysql.  More
like with ruby.
00:12 < chrome> robpike: was kind of hoping that was the case but couldn't
see how to do it
00:12 < mkanat> destreet: Well, those are wrapping the C library, somewhere
at the bottom.
00:13 -!- Fermat [n=none@LINERVA.MIT.EDU] has joined #go-nuts
00:13 < mkanat> destreet: So they all depend upon the language's ability to
use native code outside of the language's normal runtime.
00:13 < me___|ugrad-lab> robpike: 8g doesn't have hjdicks.  is this a bug or
a feature?
00:13 < chrome> robpike: just do, vector.Do({stuff here}) ?
00:13 <+robpike> chrome: don't need to declare new_message and new client.
can just say case new_message := <-message_channel:
00:13 < mkanat> destreet: Unless they use the mysql client binary, which
would be too slow, I'd have to imagine, for serious production use.
00:13 < bobappleyard1> how would i get the equivalent of a C union?
00:13 -!- adheus [n=adheus@ns0.rix.com.br] has quit [Read error: 104 (Connection
reset by peer)]
00:13 < nuggien> is http.ListenAndServe() meant for demonstrative purposes
only?
00:13 <+robpike> vector.Do(func(client Client) { body....  })
00:14 < chrome> c programmer habits :)
00:14 < chrome> oh, thats novel.
00:14 -!- drusepth is now known as `
00:14 -!- ` is now known as drusepth
00:14 <@iant> bobappleyard1: we don't have unions in Go at this point
00:14 < kuroneko> iant: can it stay that way?  :)
00:14 <+robpike> chrome: however, i think you have the wrong type for the
func.  see the example in
http://golang.org/src/pkg/container/vector/vector_test.go
00:15 < bobappleyard1> iant: i got that.  how would i get something similar
though?
00:15 <+robpike> chrome: look at TestDo()
00:15 -!- jkimball4 [n=jkimball@pdpc/supporter/professional/jkimball4] has joined
#go-nuts
00:15 < kuroneko> bobappleyard1: which "similar" properties are you after?
00:15 * mkanat actually once compiled a list of everything that a modern language
needs in order to succeed (what all the libraries it would need to have are).
Wonder if I should write one of them for Go.
00:16 < DrNach> robpike: What type of application do you think Go would be
best for, compared to other existing programming languages?
00:16 < jkimball4> mulander: still here, eh?
00:16 < TwhK> hey, when I try to compile it, I get the following error:
http://pastebin.com/m44c4b3e5
00:16 < mulander> jkimball4: just lurking around :)
00:16 -!- stefanc [n=stefanc@188.25.244.29] has quit ["Leaving"]
00:16 < TwhK> Any help?
00:16 < bobappleyard1> kuroneko: being able to have an object that can take
on different shapes and sizes depending on which bits of it are accessed.
00:16 < chrome> Oh, Element is not "whatever you like", its a concrete type.
00:16 <@iant> TwhK: don't run the test as root
00:16 < chrome> oh, an interface.
00:16 < nuggien> i tried benchmarking a http.ListenAndServe() helloworld
against the facebook/friendfeed tornado server helloworld for fun, and go didn't
perform as well
00:16 < SRabbelier> where's the "panic" function Robert Griesemer refered to
hiding?
00:17 < SRabbelier> gri: ^
00:17 <@iant> TwhK: at that point the compiler and libraries have been built
anyhow, so you can go ahead and use them
00:17 <+gri> panic() is a built-in
00:17 -!- mennis [n=mennis@adsl-068-016-104-079.sip.asm.bellsouth.net] has quit
[Connection timed out]
00:17 <+gri> just say: panic("foo");
00:17 -!- yungyuc [n=yungyuc@unaffiliated/yungyuc] has joined #go-nuts
00:17 <+robpike> DrNach: i don't think we know yet :)
00:17 < TwhK> iant, alright, thanks
00:17 < kuroneko> bobappleyard1: flatten the members into a struct
00:18 -!- SiggyF [n=SiggyF@80.101.78.195] has quit ["Leaving"]
00:18 < destreet> mkanat: someone should certainly do it.
00:18 < SRabbelier> gri: ah, where in the C files then?
00:18 -!- andrewh [n=andrewh@85.92.214.131] has quit [Read error: 113 (No route to
host)]
00:18 < DrNach> robpike: I find it quite interesting or strange (depending
how you look at it) that most of the libraries Go is bundled with seems to be for
working with Go itself, or various web standards
00:18 < chrome> ok looked at the docs for interfaces, looked at docs for
vector Elements ...  its not clear.  Bah, stupid brane.
00:18 -!- anfedorov [n=anfedoro@nmd.sbx07441.brookny.wayport.net] has quit []
00:18 <+robpike> TwhK: this might be fixed.  pull -u
00:18 < kuroneko> or use nested structs if you must keep it seperate.
Unless you're dealing with astronomical numbers of instances, and very large union
members, the benefits of union are usually outweighed by the pitfalls
00:18 < chrome> how do I make my Type conform to the Element interface so I
can store it in a Vector?
00:19 <+robpike> chrome: you don't have to do anthing!
00:19 < eharmon> should regex place the newline in my match when doing a
match strings on "<some stuff here>(.*)$"?/window 6
00:19 <+gri> SRabbelier: sorry, missing context.  Looked out of the window
for a sec...
00:19 < eharmon> oops
00:19 -!- andrewh_ [n=andrewh@94-194-56-42.zone8.bethere.co.uk] has quit
["Leaving"]
00:19 -!- tonfa [n=tonfa@wtf.punw.org] has joined #go-nuts
00:19 <+robpike> chrome: anything!  it does just by being there.  Element is
interface {} and any type satisfies that
00:19 <@iant> chrome: every type meets the Element interface, since the
interface is empty
00:19 < chrome> robpike: well, thats a little bit like magic, then.  So how
do I use it?
00:19 -!- andrewh_ [n=andrewh@94-194-56-42.zone8.bethere.co.uk] has joined
#go-nuts
00:19 < leitz> robpike: this morning I was pondering taking some old Unix
application books and trying the tasks out in Go. I'm new to Go as well as not a
"real" programmer, so it'd be more fun than useful.  But the idea of doing system
stuff seems engging.
00:19 < tonfa> gug
00:19 < chrome> src/main.go:40: cannot use (node CLOSURE) (type func(client
Client)) as type func(elem vector.Element)
00:19 -!- andrewh_ [n=andrewh@94-194-56-42.zone8.bethere.co.uk] has quit [Read
error: 104 (Connection reset by peer)]
00:19 <@iant> chrome: you use a type assertion to convert back to the real
type
00:20 < SRabbelier> gri: you said it's a builtin, so I'm wondering where in
the c files it's defined, am curious as to what it does
00:20 < SRabbelier> gri: (under the hood I mean)
00:20 <+robpike> chrome: yes, that's what i was saying.  Client satisfies
Element but func(Client) != func(Element)
00:20 -!- paddyez [n=paddy@wikipedia/paddyez] has joined #go-nuts
00:20 < SRabbelier> unrelated: how do I turn on debugging symbols?
00:20 <+robpike> the closure needs to have type func(Element).
00:21 < _ivo_> Hey, I'm really exited about this language.  Is google
planning to use go for any of its developer services, like appengine?
00:21 < kuroneko> bobappleyard1: sound reasonable?
00:21 <+gri> SRabbelier: got it.  somewhere in runtime I think - need to
look
00:21 < SRabbelier> gri: thank you!
00:21 <@iant> punya: I think you have found a bug in the compiler, would you
mind opening an issue for that?
00:21 < bobappleyard1> kuroneko: perhaps
00:21 -!- telemachus [n=telemach@user-0cev9bh.cable.mindspring.com] has joined
#go-nuts
00:21 <@iant> punya: you've certainly found a bug somewhere, since 8g
rejects it but gccgo accepts it
00:21 * kuroneko restarts his gccgo build from scratch (after it produced
differing stage2+3]
00:22 < chrome> robpike: ok, understood ...  but I don't see then how I can
make http://pastie.org/694660 work
00:22 < chrome> I need to cast it?
00:22 < chrome> didnt think that was kosher in go :P
00:22 -!- nuggien [n=dnguyen@nat.electric-cloud.com] has left #go-nuts []
00:22 <+robpike> chrome: again, please look at Test.Do() in
http://golang.org/src/pkg/container/vector/vector_test.go see how it's func(e
Element) but then does i := e.(int)
00:23 < punya> iant: I'll do that in a moment, thanks for confirming.
00:23 < Rob_Russell> i don't see a line-at-a-time read method in the os
package, is there one or should i write my own?
00:23 <+robpike> robpike: you need to unbox.  apologies
00:23 < chrome> oh thats what you were talking about
00:23 <@iant> SRabbelier: panic is defined in pkg/runtime/runtime.c
00:23 < droid0011> kuroneko: I have exact the same problem
00:23 <+robpike> Rob_Russell: bufio has it
00:23 < chrome> robpike: thanks :)
00:23 < Rob_Russell> robpike: thx
00:23 < punya> iant: In general, is gccgo better maintained than 8g?
00:23 -!- bitform [n=bitform@pdpc/supporter/professional/bitform] has quit
["ZaiJian"]
00:23 < SRabbelier> gri: ^
00:23 < tonfa> how to do C-style (with goto's) error handling with Go? since
goto's are restricted (at least in spec, not in the actual implementation) it
isn't really possible, or is there a different way?
00:23 < punya> iant: Also, which behavior is correct in this instance?
00:23 -!- ctimmerm [n=ctimmerm@cs71226.pp.htv.fi] has quit ["Leaving..."]
00:23 <@iant> punya: they are both maintainer at about the same level
00:24 -!- ruinevil [n=ruinevil@cpe-74-68-126-254.nyc.res.rr.com] has joined
#go-nuts
00:24 <@iant> punya: I think gccgo's behaviour is correct, myself
00:24 < blup> use if i assume?
00:24 < kuroneko> tonfa: gotos are Not The Only Way
00:24 <+gri> SRabellier: http://golang.org/src/pkg/runtime/runtime.c
00:24 -!- tasklist7 [n=tasklist@166.193.168.59] has quit ["Colloquy for iPhone -
http://colloquy.mobi"]
00:24 < punya> iant: Thanks, I'll create the issue and see if I can make my
program work with gccgo.
00:24 -!- gdk [i=gdoko@albalug/gdk] has joined #go-nuts
00:24 < paddyez> what I like is +Inf
00:25 < tonfa> kuroneko: but then I don't get why it would be useful to keep
gotos (especially with the powerful break-with-label)
00:25 < Hertta> gccgo, would be great to get it compiled but meh.  :)
00:25 < SRabbelier> gri: thanks, and it has what I'm looking for on line 40
so I can "yes it does, acshually" mr.  Corbit
00:25 <@iant> biab
00:25 -!- antoszka [n=antoszka@unaffiliated/antoszka] has left #go-nuts ["+++
killed by SIGSEGV +++"]
00:25 -!- everybody [n=ravenel@bas2-cooksville17-1279557162.dsl.bell.ca] has
joined #go-nuts
00:25 < paddyez> 172!  is actually +Inf
00:25 -!- iant [n=iant@nat/google/x-xfwgfgrvnokygtbn] has quit ["Leaving."]
00:25 -!- everybody is now known as ravenel
00:26 -!- meunierd [n=devon@69-196-178-46.dsl.teksavvy.com] has joined #go-nuts
00:27 < ruinevil> hello
00:27 < _ivo_> Hey, I'm really exited about this language.  Does anyone know
if google planning to use GO for any of its developer services, like appengine?
00:27 -!- mode/#go-nuts [+v danderson] by ChanServ
00:27 < ruinevil> is there anyway you can run compile the go compiler in
cygwin?
00:27 < SRabbelier> _ivo_: see the ml
00:27 -!- ank3but [n=hub@dslb-088-064-040-001.pools.arcor-ip.net] has joined
#go-nuts
00:27 < dho> ruinevil: no
00:28 -!- Eytre [n=afitz@adsl-190-192-124.asm.bellsouth.net] has joined #go-nuts
00:28 < ank3but> I dont find the Source of the Compiler?!
00:28 < ruinevil> hi dho, how goes the freebsd dtrace project?
00:28 < ruinevil> hmmm
00:28 -!- IceRAM [n=mircea@188.27.105.121] has quit []
00:28 < dho> ank3but: https://go.googlecode.com/hg/
00:28 -!- anothy_x [n=a@cpe-76-189-197-62.neo.res.rr.com] has quit [Read error:
104 (Connection reset by peer)]
00:29 < dho> ruinevil: i haven't dealt with that for a couple years
00:29 -!- KinOfCain [n=KinOfCai@rrcs-64-183-61-2.west.biz.rr.com] has joined
#go-nuts
00:29 < dho> jb@ took it over (read: usurped)
00:29 -!- matt1982 [n=chatzill@94-171-145-192.cable.ubr19.brad.blueyonder.co.uk]
has quit [Remote closed the connection]
00:29 < SRabbelier> ruinevil: there are some threads on the mailing list
about it, progress seems slow
00:29 -!- jcgregorio [n=chatzill@203.39.247.241] has quit [Read error: 110
(Connection timed out)]
00:29 -!- destreet [n=david@99-68-42-244.lightspeed.hstntx.sbcglobal.net] has left
#go-nuts []
00:30 < ank3but> dho: How can Download as an Archive?
00:30 -!- _ivo_ [i=5f5f993f@gateway/web/freenode/x-ymmreghktiwpbmyq] has quit
[Ping timeout: 180 seconds]
00:30 < raichoo> dtrace seems to be pretty hard to implement
00:30 < ruinevil> did you get a new cat?
00:30 < dho> ank3but: at this point, you don't.
00:30 -!- rbohn [n=rbohn@192.206.100.4] has quit ["ChatZilla 0.9.85 [Firefox
3.0.15/2009101601]"]
00:31 < dho> raichoo: it's not so bad.
00:31 < dho> ruinevil: i have 2 now
00:31 < fgb> ruinevil, no, but I'm having some burgers
00:31 < dho> hey federico
00:31 < raichoo> dho: It isn't.  Well, that surprises me.  But good to hear
:)
00:31 -!- panaggio [n=panaggio@200-158-190-234.dsl.telesp.net.br] has quit [Remote
closed the connection]
00:31 < dho> raichoo: it's relative :)
00:31 < fgb> hola
00:32 < raichoo> Is there any progress with userspace tracing?
00:32 -!- ank3but [n=hub@dslb-088-064-040-001.pools.arcor-ip.net] has quit [Client
Quit]
00:32 < KirkMcDonald> So here's a Makefile question.
00:32 -!- ConSi [i=consi@sh.8px.pl] has quit [Read error: 113 (No route to host)]
00:32 -!- benjack [n=Ben@cm101.gamma247.maxonline.com.sg] has joined #go-nuts
00:33 -!- kaib [n=kaib@nat/google/x-tieezoxdpezugiir] has quit []
00:33 -!- smcquay [n=smcquay@204.15.87.226] has left #go-nuts []
00:33 < ruinevil> does the gocompiler compile on freebsd?
00:33 < KirkMcDonald> The rule for the binary should depend on the .6 file
for the main package.  And the .6 for the main package should depend on the .go
files for that package, and the .6 files for the packages it depends on.
00:33 < dho> ruinevil: no
00:33 < KirkMcDonald> Does this sound right?
00:33 -!- annodomini [n=lambda@wikipedia/lambda] has quit []
00:33 -!- reality|poolboy [n=aol@pool-98-116-11-175.nycmny.fios.verizon.net] has
joined #go-nuts
00:33 -!- inra [n=kite@adsl-99-135-72-13.dsl.mdsnwi.sbcglobal.net] has quit []
00:33 < Arek_> does the http package web server automatically select which
multiplex mechanism to use depending on OS . Ie: Kqueue on Darwin and Epoll on
Linux ?
00:33 < dho> KirkMcDonald: yes
00:33 < Rob_Russell> KirkMcDonald: yeah
00:34 < KirkMcDonald> As opposed to the binary depending on all of the .6
files together, as you'd do in C.
00:34 -!- Cyric [n=g0d@rrcs-70-62-118-186.midsouth.biz.rr.com] has quit ["ircN
8.00 for mIRC (20080809) - www.ircN.org"]
00:34 < Rob_Russell> KirkMcDonald: that depends on the project specifics i
think
00:34 -!- shakesoda [n=shakesod@c-67-183-112-91.hsd1.wa.comcast.net] has quit
["going to sleep, school, work, or some combination of those"]
00:34 -!- anfedorov [n=anfedoro@cpe-24-90-197-242.nyc.res.rr.com] has joined
#go-nuts
00:35 -!- gdoko [i=gdoko@albalug/gdk] has quit [Read error: 110 (Connection timed
out)]
00:35 <+robpike> KirkMcDonald: yes.  plus .6 files contain link-time
dependency info so you don't have to list all the dependencies; they're compiled
in.
00:35 < KirkMcDonald> The .6 file has the curious dual-role of object file
and header file.
00:35 <+robpike> KirkMcDonald: right
00:36 <+robpike> KirkMcDonald: this is also why you need to compile a
package before you can compile another one that imports it.
00:36 -!- iant [n=iant@67.218.105.172] has joined #go-nuts
00:36 -!- mode/#go-nuts [+v iant] by ChanServ
00:36 < KirkMcDonald> Yeah.
00:36 < mrd`> Anyone else using go-mode?
00:37 < npe> robpike: do you guys do most of your development in p9p acme?
00:37 -!- ajbentley [n=bentley@71-38-215-103.albq.qwest.net] has joined #go-nuts
00:37 -!- rewired [n=t@100-20.76-83.cust.bluewin.ch] has joined #go-nuts
00:37 < me___|ugrad-lab> npe: :)
00:38 -!- teedex [n=teedex@204.14.155.161] has quit [Remote closed the connection]
00:38 -!- mattgirv [n=mattgirv@bb-87-80-191-202.ukonline.co.uk] has quit [Remote
closed the connection]
00:38 -!- mitchellh [n=mitchell@c-71-231-140-22.hsd1.wa.comcast.net] has joined
#go-nuts
00:38 < bobappleyard1> ok, how do i do reflection then
00:39 <+iant> bobappleyard1: golang.org/pkg/reflect
00:39 <+robpike> npe: rsc and i do; some use other things.
00:39 < bobappleyard1> iant: i'm looking at that, it's confusing me
00:39 < dho> step 1: read
00:39 < dho> step 2: repeat
00:40 <+iant> bobappleyard1: I may have missed something, but you may need
to ask a more specific question
00:40 <+robpike> bobappleyard1: if you have suggestions how to make the doc
comment clearer, please tell me.  i tweaked them just a few days ago
00:40 < npe> robpike: so when you're debugging you just use the stacktrace
from panic?  does it work with p9p's acid as well?
00:40 < bobappleyard1> iant: i'll try and work out what i want to ask
robpike: i'll get back to you
00:40 <+robpike> npe: yes, just use panic traces for the most part.  we have
a hacked-up acid but want to do much better.  watch this space.
00:41 < bobappleyard1> " A type switch or type assertion can reveal which.
" <-- what's this when it's at home?
00:41 < npe> robpike: cool thanks.
00:41 < carllerche> Is it possible to add functions on int?  so that I can
do 1.myFunc() ?
00:41 -!- Federalu [n=DeathRow@host218-90-dynamic.13-79-r.retail.telecomitalia.it]
has joined #go-nuts
00:41 < JBeshir> Does TCPConn.Read() null-terminate its reads, and should
string() be understanding that?
00:41 -!- leitz [n=leam@72.150.95.31] has left #go-nuts []
00:42 -!- radix [n=r@wordeology.com] has joined #go-nuts
00:42 <+iant> bobappleyard1: they are in the language spec
00:42 <+iant> bobappleyard1: a type assertion looks like v.(type)
00:42 <+iant> bobappleyard1: a type switch is switch v.(type) { case int: }
00:42 -!- Federalu [n=DeathRow@host218-90-dynamic.13-79-r.retail.telecomitalia.it]
has quit [Excess Flood]
00:43 < radix> are go arguments passed by value (i.e.  are they copied) or
by reference?
00:43 -!- Federalu [n=DeathRow@host218-90-dynamic.13-79-r.retail.telecomitalia.it]
has joined #go-nuts
00:43 < bobappleyard1> iant: thanks, i went through that section and somehow
breezed straight throug that
00:43 -!- dpb9cpu [n=dpb@ip65-46-56-98.z56-46-65.customer.algx.net] has quit
["Leaving."]
00:43 <+iant> carllerche: you can add functions on an integer type you name
yourself, and do Myint(1).MyFunc()
00:43 <+iant> JBeshir: I don't think it nul terminates, it returns the
length that it reads
00:43 -!- Federalu [n=DeathRow@host218-90-dynamic.13-79-r.retail.telecomitalia.it]
has quit [Excess Flood]
00:44 < JBeshir> Ah, so I have to use that.
00:44 < carllerche> is it because int is special, or can I not add functions
to any types outside of the package I am in?
00:44 <+iant> radix: both; most types are by value; slices, maps and
channels are by reference
00:44 -!- Federalu [n=DeathRow@host218-90-dynamic.13-79-r.retail.telecomitalia.it]
has joined #go-nuts
00:44 -!- mode/#go-nuts [+o danderson] by ChanServ
00:44 -!- mode/#go-nuts [+b *!*=DeathRow@*.13-79-r.retail.telecomitalia.it] by
danderson
00:44 <+iant> carllerche: the latter--you can only add methods to your own
types
00:44 -!- shardz [i=samuel@ilo.staticfree.info] has quit [Nick collision from
services.]
00:44 -!- Federalu [n=DeathRow@host218-90-dynamic.13-79-r.retail.telecomitalia.it]
has left #go-nuts []
00:44 < radix> iant: the types that are by value: are they only the
immutable ones, or some mutable ones as well?
00:44 -!- mode/#go-nuts [-o danderson] by danderson
00:44 < radix> iant: basically, I'm trying to figure out the rationale for
the existence of pointers in go
00:44 -!- shardz [n=samuel@c-75-67-166-65.hsd1.ma.comcast.net] has joined #go-nuts
00:44 < camfex> why does Sleep(ns) calls syscall.Sleep(ns) ? isn't it
supposed to pause only the current goroutine ?
00:44 <+iant> types like int, float, and also arrays are passed by value
00:45 <+iant> radix: so, not only immutable ones
00:45 <+danderson> (shotgun spammer, if anyone was wondering, spammed #emacs
a few seconds ago)
00:45 < kuroneko> [ah, right]
00:45 -!- anfedorov [n=anfedoro@cpe-24-90-197-242.nyc.res.rr.com] has quit []
00:45 <+iant> camfex: that should pause only the current goroutine, I hope
00:45 -!- m-takagi is now known as m-takagi_
00:45 -!- gdk [i=gdoko@albalug/gdk] has quit ["Leaving"]
00:45 -!- ank3but [n=hub@dslb-094-218-136-041.pools.arcor-ip.net] has joined
#go-nuts
00:46 < ank3but> dho: Grr show me that.
http://golang.org/doc/gccgo_install.html
00:46 < ank3but> :/
00:46 < ank3but> Jet -> :)
00:46 -!- aa [n=aa@r190-135-227-187.dialup.adsl.anteldata.net.uy] has joined
#go-nuts
00:46 -!- weaselkeeper [n=weaselke@208.76.186.114] has left #go-nuts []
00:46 < kuroneko> droid0011: what were you trying to build gccgo on?  amd64?
00:46 -!- Jan_Flanders_ [n=chatzill@d54C1E33B.access.telenet.be] has joined
#go-nuts
00:46 -!- MyCatVerbs [n=mycatver@lurkingfox.co.uk] has quit ["leaving"]
00:47 < droid0011> kuroneko: amd64 ubuntu
00:47 -!- radix [n=r@wordeology.com] has left #go-nuts ["Leaving"]
00:47 < kuroneko> droid0011: karmic?
00:47 < droid0011> jaunty
00:47 < kuroneko> ok - that's some relief then :)
00:47 -!- the_hoser [n=patrick@adsl-69-151-250-68.dsl.hstntx.swbell.net] has
joined #go-nuts
00:48 < kuroneko> I was using karmic when I got the build differences
00:48 -!- shardz_ [i=samuel@ilo.staticfree.info] has joined #go-nuts
00:49 -!- shardz [n=samuel@c-75-67-166-65.hsd1.ma.comcast.net] has quit
["leaving"]
00:49 -!- shardz_ is now known as shardz
00:49 < droid0011> gcc version 4.3.3 (Ubuntu 4.3.3-5ubuntu4)
00:49 -!- aldaor [n=chatzill@201.250.99.147] has quit ["ChatZilla 0.9.85 [Firefox
3.5.5/20091102152451]"]
00:49 -!- ag90 [n=ag90@bas3-unionville55-1279752520.dsl.bell.ca] has joined
#go-nuts
00:50 < kuroneko> gcc version 4.4.1 (Ubuntu 4.4.1-4ubuntu8)
00:50 -!- jsgotangco [n=JSG@ubuntu/member/jsgotangco] has joined #go-nuts
00:50 < kuroneko> that at least rules out it being a problem with the
specific version of gcc, unless they're both broken
00:51 <+iant> it is working except for the bootstrap comparison?  Which
files are miscomparing?
00:51 -!- faux` [n=user@1-1-4-21a.gkp.gbg.bostream.se] has left #go-nuts ["ERC
Version 5.3 (IRC client for Emacs)"]
00:52 -!- comatose_kid [n=anonymou@adsl-76-254-61-108.dsl.pltn13.sbcglobal.net]
has quit []
00:52 -!- kochismo [n=plop@minerva.redbrick.dcu.ie] has joined #go-nuts
00:53 < kuroneko> iant: I've restarted with multilib disabled
00:53 < kuroneko> so it'll be a while before I have a new result
00:53 < jlouis> If I do the unmentionable, and share a reference type (e.g.
a map) between several goroutines, do I need to run my own sync primitive?  Or is
the idiom to let one goroutine be owner of the map and then take requests on it
through channels?
00:53 <+iant> jlouis: the latter
00:54 < jlouis> The latter is very Erlang-like I might add :)
00:55 -!- loureiro [n=loureiro@201008197252.user.veloxzone.com.br] has joined
#go-nuts
00:55 < jlouis> what about the former, is the map protected from multiple
updates and other nastiness?
00:55 < dj_ryan> what are the limits of the latter approach?
00:55 -!- tasklist7 [n=tasklist@166.193.168.59] has joined #go-nuts
00:55 <+iant> jlouis: no, it's not; you would need to use your own
sync.Mutex or similar construct
00:56 < jlouis> ah, you punted on that one.  No worries though.  It is
mostly a non-issue with the latter approach
00:56 -!- jh99 [n=jh99@g225035037.adsl.alicedsl.de] has left #go-nuts []
00:56 <+iant> jlouis: yes, we intentionally punted on it
00:56 -!- peloverde [n=alex@cpe-173-88-148-20.neo.res.rr.com] has left #go-nuts
["Leaving"]
00:57 <+iant> dj_ryan: I don't think there are any real limitations to the
single goroutine approach
00:57 <+iant> you have to have a channel variable around, I suppose
00:57 < jlouis> dj_ryan: the only limitation is how fast you can send
channel messages to it, but that is definitely not going to be a limiting factor
in most workloads
00:57 < ank3but> can be set env.  in go has this 'os' ?
00:58 -!- tasklist7 [n=tasklist@166.193.168.59] has quit [Client Quit]
00:58 < dj_ryan> yeah
00:58 < dj_ryan> im thinking of workloads where it is a problem
00:58 < dj_ryan> just wondering if go is going to become 'erlang but not
erlang' or more flexible
00:58 <+iant> but on the other hand you don't need to use a mutex when
accessing the map
00:58 < jlouis> dj_ryan: note that you can still build scalable maps by
having one goroutine load-balance the request to several to achieve more speed
00:58 <+iant> accessing a single mutex from several different threads can
get expensive too
00:59 -!- ponce [n=ponce@paradisia.net] has left #go-nuts []
00:59 < jlouis> to several goroutines
00:59 -!- benjack [n=Ben@cm101.gamma247.maxonline.com.sg] has quit []
00:59 < dj_ryan> there are non-locking objects and fine-grained locking and
CAS approaches
00:59 < KirkMcDonald> I remain somewhat baffled as to how variadic functions
work.
00:59 < jlouis> iant: escape analysis can eliminate that mutex
00:59 <+iant> well, perhaps
00:59 < dj_ryan> i think for most uses, the goroutine control method is
probably the best
00:59 <+robpike> KirkMcDonald: ask me specific questions about variadic
funcs
00:59 <+iant> channels aren't that expensive either
00:59 < SRabbelier> can I have flag parse a required argument that's not
prefixed?  that is ./go 4 I want it to parse the 4 as an int?
00:59 < jlouis> iant: right.  My Erlang experience is that communication is
mostly a non-issue
01:00 <+iant> SRabbelier: I don't think so, I think you have to pick that up
yourself and use the strconv functions
01:00 -!- ct [n=ct@fsf/member/ct] has joined #go-nuts
01:00 < dj_ryan> no channels arent expensive
01:00 < jlouis> but en Erlang, everything has value-type semantics, so if
you message an 8mb big binary tree you copy it.
01:00 < dj_ryan> but serializing all accesses to a data structure is
01:00 < SRabbelier> iant: bummer, thanks
01:00 < KirkMcDonald> robpike: Take a function: func f(a...);
01:00 < jlouis> at least with the default memory model
01:00 -!- telemachus [n=telemach@user-0cev9bh.cable.mindspring.com] has quit
[Remote closed the connection]
01:00 -!- jaddison [n=jaddison@S0106001346fa7ba7.gv.shawcable.net] has joined
#go-nuts
01:00 < mrd`> jlouis: Large binaries in Erlang are stored in a shared heap
within a single OS process.
01:00 < KirkMcDonald> robpike: The static type of 'a' is interface{}, as I
understand it.
01:00 <+robpike> SRabbelier: after you call flag.Parse (if you do), then
flag.Arg will be the remaining arguments
01:00 -!- telemachus [n=telemach@user-0cev9bh.cable.mindspring.com] has joined
#go-nuts
01:01 <+robpike> KirkMcDonald: yes
01:01 < jlouis> dj_ryan: you do not have to serialize it like that if you
build your data structure around a set of processes
01:01 < jlouis> dj_ryan: I've been there with Erlang before
01:01 < dj_ryan> so use 2 trees instead of one?
01:01 < SRabbelier> robpike: but they will be strings, I want an int :)
01:01 < KirkMcDonald> robpike: How would I extract the first argument from
this?  Let us say, for simplicity's sake, that we already know it is of a struct
type S.
01:02 -!- agl [n=agl@72.14.229.81] has joined #go-nuts
01:02 < jaddison> It's probably been asked a billion times...  but has
anyone got any performance metrics between python and go and say...  c/c++?  I
wouldn't mind seeing a nice blog article somewhere.
01:02 -!- mode/#go-nuts [+v agl] by ChanServ
01:02 < jlouis> mrd`: right.  For their binary() type they use ref-counting.
This works because those data are immutable
01:02 <+robpike> KirkMcDonald: you need to unpack it.  to do that, use sv :=
reflect.NewValue(a).(*reflect.StructValue)
01:02 <+iant> jaddison: see test/bench/timing.log
01:02 -!- ravenel [n=ravenel@bas2-cooksville17-1279557162.dsl.bell.ca] has quit
["-=SysReset 2.55=-"]
01:02 -!- vaibhav [i=squid@iws4.iiita.ac.in] has quit ["Leaving"]
01:02 -!- the_tick1 [n=levi@96-42-139-39.dhcp.trcy.mi.charter.com] has joined
#go-nuts
01:02 < jaddison> iant, thanks.
01:02 <+robpike> then you can iterate on sv.Field(i)
01:03 <+robpike> KirkMcDonald: i'm typing this from memory so apologies for
any typos
01:03 < scandal> fyi, i hacked together a script to generate a tags file for
go code.  seems to work ok in vim http://www.cs.hmc.edu/~me/gotags
01:03 < KirkMcDonald> robpike: Alright.
01:03 < jlouis> dj_ryan: yes, or start by hashing the key, and then find the
channel in the set responsible for that bucket
01:03 < dj_ryan> jlouis: could you expand a bit?  I'm thinking of high
performance shared data structures shared among dozens of active threads.  ordered
structures.
01:03 -!- hiromtz [n=hiromtz@h028.p027.iij4u.or.jp] has quit ["Leaving..."]
01:03 < dj_ryan> jlouis: oh so just hash tables then?  ah easy then.  too
easy really
01:04 -!- the_tick1 [n=levi@96-42-139-39.dhcp.trcy.mi.charter.com] has left
#go-nuts []
01:04 < jlouis> dj_ryan: for the first level, then it is up to the goroutine
in the other end of the channel
01:04 <+robpike> KirkMcDonald: http://golang.org/src/pkg/fmt/print.go look
at the implementation of Fprintf and/or doprintf
01:04 -!- tasklist7 [n=tasklist@166.193.168.59] has joined #go-nuts
01:04 < dj_ryan> jlouis: that is not appropriate for the use im thinking of.
01:04 -!- mesenga [n=cbacelar@189.105.8.44] has left #go-nuts []
01:04 -!- gri [n=gri@nat/google/x-yxkmjhnegzriduus] has quit []
01:04 <+robpike> KirkMcDonald: Fprintf is very short,
01:04 -!- benjack [n=Ben@cm101.gamma247.maxonline.com.sg] has joined #go-nuts
01:05 -!- tasklist7 [n=tasklist@166.193.168.59] has quit [Read error: 54
(Connection reset by peer)]
01:05 -!- mitchellh [n=mitchell@c-71-231-140-22.hsd1.wa.comcast.net] has quit
["Leaving."]
01:05 -!- rdtsc [n=rdtsc@48.229.171.66.subscriber.vzavenue.net] has joined
#go-nuts
01:05 < jlouis> dj_ryan: it is worth thinking about how you can split your
data structure over multiple goroutines I think -- if performance of that
structure ends up being the bottleneck
01:05 -!- jmacelro [n=jmacelro@nat.ironport.com] has quit [Read error: 110
(Connection timed out)]
01:05 -!- Carlus [n=cbacelar@189.105.8.44] has joined #go-nuts
01:05 -!- jcgregorio [n=chatzill@203.39.247.241] has joined #go-nuts
01:05 < Carlus> hi
01:05 < droid0011> iant: weird, now I get: sysinfo.c:18:24: fatal error:
linux/user.h: No such file or directory
01:05 < droid0011> compilation terminated.  make[3]: *** [sysinfo.go]
01:06 < dj_ryan> jlouis: the use im thinking of is in-memory databases.
Where having a coherent global view is paramount.
01:06 -!- bmac7 [n=brianmac@c-98-208-175-116.hsd1.fl.comcast.net] has joined
#go-nuts
01:06 -!- impeachgod [n=impeachg@195.80.231.69] has quit []
01:06 -!- jmacelro [n=jmacelro@nat.ironport.com] has joined #go-nuts
01:06 <+iant> droid0011: do you have the linux-libc-devel package installed?
01:06 <+iant> droid0011: I mean, linux-libc-dev
01:06 < Carlus> The Go Lang is only used for websites creation?
01:06 -!- Jan_Flanders [n=chatzill@d54C1E33B.access.telenet.be] has quit [Read
error: 110 (Connection timed out)]
01:06 < jlouis> dj_ryan: could an MVCC approach solve the global coherency?
01:06 <+iant> Carlus: we think it can be used for a range of things
01:07 -!- ponce [n=ponce@paradisia.net] has joined #go-nuts
01:07 < dj_ryan> jlouis: right now we are using the concurrent skip list in
java and it works well.  highly performant and no locks
01:07 < dj_ryan> i essentially need more of that
01:07 -!- raichoo [n=raichoo@i577BA04E.versanet.de] has quit
["http://raichoo.blogspot.com"]
01:07 < bobappleyard1> Carlus:
http://grammerjack.blogspot.com/2009/11/multi-threaded-go-raytracer.html this is
what someone has done with it
01:07 < kuroneko> oh, Issue 24: somebody is using the wrong GOARCH for test
to work.
01:07 < KirkMcDonald> robpike: The * in there was non-obvious.
01:07 < kuroneko> should be rejected.
01:07 -!- jsgotangco [n=JSG@ubuntu/member/jsgotangco] has quit ["Ciao"]
01:08 < kuroneko> well, GOOS and GOARCH actually
01:08 < KirkMcDonald> robpike: I am still getting a handle on when pointers
are typically used and when they are not.
01:08 < Carlus> iant, can you give me others examples, besides sites?
01:08 < jlouis> dj_ryan: oh.
01:08 -!- kakazza [n=kakafn@unaffiliated/kakazza] has joined #go-nuts
01:08 < dj_ryan> i basically have a bigtable clone
01:08 -!- cfq [n=cfq@94-194-98-91.zone8.bethere.co.uk] has joined #go-nuts
01:08 < bobappleyard1> Carlus: check the link i just gave you
01:08 < Carlus> bobappleyard1 tks
01:08 < Carlus> sorry, tks
01:08 < bobappleyard1> :)
01:08 < SRabbelier> ...  passing a string to a function that expects an int
assign '0' to the int?
01:08 <+robpike> KirkMcDonald: a tip when doing this sort of thing.
Printf("%T", something) will print out a go representation of something's type.
helps you find * and so on
01:09 <+robpike> KirkMcDonald: structs are usually passed as pointers
01:09 < droid0011> iant: yes the linux-libc-dev is instaled
01:09 <+iant> Carlus: compilers, database, etc., many possibilities
01:09 -!- mgalgs [n=user@166-70-57-46.ip.xmission.com] has joined #go-nuts
01:09 <+iant> SRabbelier: you shouldn't be able to pass a string to a
function that expects an int
01:09 -!- lambo4jos [n=chatzill@c-76-126-250-10.hsd1.ca.comcast.net] has joined
#go-nuts
01:10 <+iant> droid0011: but no <linux/user.h>?  Hmmm.  You may need
to edit libgo/mksysinfo.sh
01:10 < SRabbelier> iant: func fib(n int) int
01:10 < KirkMcDonald> robpike: Makes sense.
01:10 <+iant> droid0011: clearly this needs more portability work
01:10 < KirkMcDonald> robpike: These getBool, getInt, etc, functions inside
of print.go seem quite useful.
01:10 -!- Aria [n=aredride@eridani.theinternetco.net] has quit ["Ta!"]
01:11 < SRabbelier> iant: and then I'm passing it i from "for i := range
flag.Args() {"
01:11 -!- teedex [n=teedex@204.14.155.161] has joined #go-nuts
01:11 < jlouis> dj_ryan: I wouldn't rule out an approach where multiple
goroutines maintained the map, but it definitely takes some thinking getting right
01:11 -!- meunierd [n=devon@69-196-178-46.dsl.teksavvy.com] has quit [Read error:
104 (Connection reset by peer)]
01:11 <+iant> SRabbelier: flag.Args() returns a slice, so i is an int
01:11 < SRabbelier> (hadn't checked out the strconv yet, incremental coding
and whatnot)
01:11 -!- donpdonp [i=donp@donk.personaltelco.net] has joined #go-nuts
01:11 <+iant> SRabbelier: you want for _, v := flag.Args(), I think
01:11 < Carlus> iant, good, tks :)
01:11 -!- tasklist7 [n=tasklist@c-98-208-175-116.hsd1.fl.comcast.net] has joined
#go-nuts
01:11 < dj_ryan> jlouis: you'd have to split up the ordered data structure
and assign 'shards' to in-memory goroutines
01:11 < donpdonp> just got hello world to compile and run.  wooo!
01:11 < dj_ryan> seems...  scary
01:12 < SRabbelier> iant: ah, i is the index?
01:12 < ank3but> donpdonp: Gratulation..  ^^
01:12 < jlouis> dj_ryan: the usual Erlang approach is to version stuff so
you know which version to take to give a coherent view of the data
01:12 <+iant> SRabbelier: yes
01:12 < jlouis> ie, MVCC
01:12 -!- ajray [n=alex@wvc32563rh.rh.ncsu.edu] has joined #go-nuts
01:12 * SRabbelier nods
01:12 <+robpike> KirkMcDonald: yeah but they're not public.  not sure they
should be in that form.  but you have the source....
01:12 -!- rdtsc [n=rdtsc@48.229.171.66.subscriber.vzavenue.net] has left #go-nuts
[]
01:12 < ajray> can we submit code for review w/o reviewers, or does it have
to have reviewers and/or CC's?
01:12 < jlouis> dj_ryan: I know too little about concurrent skip lists to be
of any help.  I only know of Pughs original skip-lists.
01:12 < dj_ryan> jlouis: the problem is funnling all access in a serialized
form into 1 goroutine or process
01:12 < KirkMcDonald> robpike: True.
01:12 < TwhK> The default libraries should have been downloaded along w/ the
compiler, right?
01:12 -!- mgalgs [n=user@166-70-57-46.ip.xmission.com] has left #go-nuts ["ERC
Version 5.3 (IRC client for Emacs)"]
01:12 <+iant> ajray: you do need to let somebody know about it, I suppose
01:12 -!- jaddison [n=jaddison@S0106001346fa7ba7.gv.shawcable.net] has left
#go-nuts []
01:13 < jlouis> dj_ryan: if he only has to mux/demux I think he can take an
immense pounding
01:13 < dj_ryan> the concurrent skip list uses a combo of fine grained locks
and CAS methods ot avoid needing locks on the data structure allowing multiple
processes to acces it w/o serializing access
01:13 <+iant> ajray: if you want to make me the reviewer I'll kick it off to
somebody else
01:13 < jlouis> dj_ryan: Doug Leas Java implementations?
01:13 <+robpike> ajray: or you can just say golang-dev@googlegroups.com as
the reviewer
01:13 <+iant> or just review it if it's in my bailiwick
01:13 < dj_ryan> jlouis: yeah i believe so
01:13 <+iant> ah, golang-dev, better idea
01:14 -!- ank3but_ [n=hub@dslb-088-066-115-255.pools.arcor-ip.net] has joined
#go-nuts
01:14 -!- TwhK [n=FarOut@CPE00195b075af4-CM00186852110c.cpe.net.cable.rogers.com]
has left #go-nuts ["Leaving"]
01:14 < Carlus> bobappleyard1 very good, bob.  is there already a site using
go lang?
01:14 < ank3but_> A gccgo/gcc/ada/s-osinte-solaris-posix.ads
01:14 -!- zipito_ [n=zipito@85-10-133-95.pool.ukrtel.net] has quit ["Ex-Chat"]
01:14 < ank3but_> My connection stops...
01:14 < bobappleyard1> Carlus: golang.org
01:14 < dwery> can I do something like arrayA[0:2] = arrayB[1:3] ?
01:14 <+iant> Carlus: http://golang.org is written in Go
01:14 -!- bill_h
[n=FarOut@CPE00195b075af4-CM00186852110c.cpe.net.cable.rogers.com] has joined
#go-nuts
01:14 -!- jcgregorio_ [n=chatzill@203.39.247.241] has quit [Connection timed out]
01:14 <+iant> dwery: no, sorry
01:14 < dj_ryan> jlouis: we are talking upwards of 500k ops/sec on data
structure.  no joke here.
01:15 < dwery> iant: best way to obtain the same effect?
01:15 < jlouis> dj_ryan: ouch :)
01:15 <+iant> dwery: you have to write a loop
01:15 -!- benjack [n=Ben@cm101.gamma247.maxonline.com.sg] has quit []
01:15 < dj_ryan> jlouis: i said, bigtable clone.  high volume, low latency
data storage
01:15 < dwery> ouch :(
01:15 <+robpike> dwery: simple cases of that assignment look reasonable but
it can be very expensive in general.  we don't want to make expensive things look
cheap
01:15 < bill_h> Hey, this might sound like a stupid problem, but after I've
downloaded the compiler I don't seem to have the default libraries
01:15 < Carlus> iant, bobappleyard1 Thank you very much :)
01:15 < dj_ryan> jlouis: we get this in java right now on 8 core systems
with HTT
01:15 < dwery> robpike: ok
01:15 -!- npe [n=npe@94-224-251-223.access.telenet.be] has quit []
01:15 < bill_h> when I try to compile the 'hello world' program, I get a
fatal error
01:15 < bill_h> when trying to import fmt
01:15 < dwery> thanks for the work you are doing here guys
01:15 -!- decriptor [n=decripto@137.65.132.18] has quit [Read error: 110
(Connection timed out)]
01:15 <+iant> bill_h: do you have GOROOT set correctly?
01:15 <+robpike> bill_h: seen common problems link above
01:15 <+iant> and exported?
01:15 -!- benjack [n=Ben@cm101.gamma247.maxonline.com.sg] has joined #go-nuts
01:16 < bill_h> Ah, that's probably it
01:16 < jlouis> dj_ryan: coherency, especially in caches, is going to die
also I think
01:16 < kuroneko> Can somebody look at Issue #53 and review my patch to fix
it?
01:17 < dj_ryan> we add a few layers above it to achieve per-row coherency.
i dont think its perfect
01:17 -!- benjack [n=Ben@cm101.gamma247.maxonline.com.sg] has quit [Client Quit]
01:17 -!- yootis [n=matt@adsl-75-36-176-185.dsl.pltn13.sbcglobal.net] has joined
#go-nuts
01:17 < ank3but_> When i compile a go programm can i send to my friend
without have gccgo or libs?
01:17 < dj_ryan> but the idea of serializing all accesses to a datastructure
via 1 goroutine is the functionally same thing as slapping 'synchronized' on every
method in Java and calling the problem solved
01:17 < bill_h> where should GOROOT be pointing to in ~/go ?
01:18 < dj_ryan> or at least performance equavlent
01:18 -!- ericvh [n=ericvh@32.97.110.65] has joined #go-nuts
01:18 < kuroneko> bill_h: it should be pointing at ~/go assuming ~/go is
your checkout
01:18 < kuroneko> and it should be exported
01:18 < yootis> The golang.org page had some longer seminars (video I think)
on there, but I can't find them anymore.  Are they available?
01:18 < Eridius> woohoo!  The language design FAQ uses the term "ironic"
correctly!
01:18 -!- benjack [n=Ben@cm101.gamma247.maxonline.com.sg] has joined #go-nuts
01:18 <+robpike> Eridius: :)
01:18 < Eridius> yootis: there's the "Tech talk (1 hour)" linked on the left
01:19 -!- ikke [n=1kk3@unaffiliated/ikkebr] has quit []
01:19 <+agl> bill_h: GOROOT should be the go directory itself
01:19 <+iant> ank3but_: yes, 8g/6g always statically link, so you can send
programs around without any other libraries
01:19 < yootis> But weren't there 3 half-day sessions as well at one point
yesterday?
01:19 -!- werdan7 [n=w7@freenode/staff/wikimedia.werdan7] has joined #go-nuts
01:19 <+agl> bill_h: (i.e.  $GOROOT/src/make.bash should exist)
01:19 < ank3but_> iant: good.
01:19 < bill_h> ah, I don't have that =\
01:19 < Eridius> yootis: those are linked from the tutorial page
01:19 -!- Brakkvatn [n=alex@59.87.202.84.customer.cdi.no] has quit ["Leaving."]
01:20 <+robpike> yootis: http://golang.org has both on the landing page
01:20 < ank3but_> How much time is spend in this Project?
01:20 < yootis> Thanks!
01:20 -!- qeed [n=qeed@adsl-85-37-109.mco.bellsouth.net] has quit []
01:20 -!- g0bl1n [n=anonymou@a213-22-237-39.cpe.netcabo.pt] has joined #go-nuts
01:20 < msw> ugh
01:20 < msw> wrong window
01:21 <+iant> ank3but_: see the FAQs
01:21 < bill_h> agl, I was wrong I do have it, but when I run it it says:
'line 41: quietgcc.bash: No such file or directory'
01:21 < bobappleyard1> no need to break on switch clauses, i take it?
01:21 -!- anakin_ [i=speedboy@7up.dreamhost.com] has joined #go-nuts
01:21 <+iant> bill_h: still a common problem, I think: must put $GOBIN in
PATH
01:21 <+iant> bobappleyard1: right
01:21 < bobappleyard1> iant: souper
01:22 < danopia`> <Eridius> woohoo!  The language design FAQ uses the
term "ironic" correctly!
01:22 -!- Carlus [n=cbacelar@189.105.8.44] has left #go-nuts []
01:22 < danopia`> context please :P
01:22 -!- Arek_ [n=arek@76-10-138-81.dsl.teksavvy.com] has left #go-nuts []
01:22 -!- mesenga [n=cbacelar@189.105.8.44] has joined #go-nuts
01:22 < ajray> if i want to submit a couple different changes to code
review, do i have to have different branches, or just remove the files from the
submission text file
01:23 < ank3but_> Maybe make an Webblog in go :D
01:23 -!- aschallich [n=amos@173-13-183-46-sfba.hfc.comcastbusiness.net] has left
#go-nuts []
01:23 -!- g0bl1n [n=anonymou@a213-22-237-39.cpe.netcabo.pt] has quit [Client Quit]
01:23 <+agl> kuroneko: you should send that to rsc for review
01:23 < Eridius> ooh http://github.com/rsms/Go.tmbundle
01:23 -!- pawel314 [n=pawel@nat-12.ghnet.pl] has joined #go-nuts
01:23 <+agl> bill_h: you should be running all.bash rather than make.bash
01:24 <+iant> ajray: if the changes are to different files, you can have
multiple changes in one tree
01:24 <+iant> ajray: otherwise, yes, different checkouts or different
branches or whatever seems best
01:24 < ajray> is that how i keep the different files separate then (remove
lines from submission file)?
01:24 < bill_h> Okay, hold on...
01:24 <+iant> ajray: yes
01:24 -!- triplez [n=triplez@cm52.sigma225.maxonline.com.sg] has quit []
01:25 <+iant> ajray: and then "hg pending" will show you your different
submissions
01:25 < ajray> thanks
01:25 -!- kirchhoff [n=one@201.218.111.58] has joined #go-nuts
01:25 -!- rminnich_ [n=rminnich@32.97.110.63] has joined #go-nuts
01:25 < drhodes> what ctypes has done for python, could be done for go with
libffi?
01:26 -!- dwery [n=dwery@nslu2-linux/dwery] has left #go-nuts ["Leaving."]
01:27 -!- brunov [n=bruno@190.191.110.64] has joined #go-nuts
01:27 <+iant> drhodes: there is some FFI support already, see misc/cgo
01:27 -!- pkrumins [i=nhl@unaffiliated/pkrumins] has left #go-nuts []
01:28 -!- devewm [n=eric@erc-avl-ptp62.net.ercbroadband.org] has quit []
01:28 -!- donpdonp [i=donp@donk.personaltelco.net] has left #go-nuts []
01:28 < ajbouh> is it possible to trap errors like divide by zero?
01:29 <+iant> ajbouh: not currently, sorry
01:29 < ank3but_> compiling gccgo, in how much time?
01:30 < ank3but_> ca~
01:30 < ajbouh> iant: any suggestions about how to build support for that?
01:30 -!- kota1111 [n=kota1111@gw2.kbmj.jp] has quit ["Leaving..."]
01:30 <+iant> ank3but_: building gccgo takes 30 to 45 minutes on my desktop
01:30 < ank3but_> ok cool
01:30 -!- anakin_ [i=speedboy@7up.dreamhost.com] has left #go-nuts []
01:31 <+agl> ajbouh: it would take a lot of hacking in the runtime.
Currently we don't even support signals.
01:31 -!- slaw [i=slavio@dumb.pl] has joined #go-nuts
01:31 <+iant> ajbouh: it's a complex question because it leads directly into
how to handle exceptional cases
01:31 < mesenga> hi..  where i will go host websites that use go?
01:31 -!- syd [n=sydcogs@118.127.19.220] has quit ["No Ping reply in 180
seconds."]
01:31 < Eridius> hey, is anybody here on a 32-bit intel Mac?
01:31 < bill_h> thanks for your help agl, iant
01:31 < bill_h> working
01:31 < bill_h> :)
01:31 <+iant> mesenga: not sure I understand that question
01:32 < droid0011> iant: libc-dev doesn't include user.h It's in
linux-headers-2.6.* Here it is located at
/usr/src/linux-headers-2.6.28-16/include/linux/user.h
01:32 -!- devinus [n=devin@cpe-66-25-177-158.austin.res.rr.com] has joined
#go-nuts
01:32 -!- ank3but [n=hub@dslb-094-218-136-041.pools.arcor-ip.net] has quit [Read
error: 110 (Connection timed out)]
01:32 -!- OxB001 [n=mathieu@bas1-quebec03-1177632835.dsl.bell.ca] has joined
#go-nuts
01:32 < mesenga> iant, where can i host go applications (sites)?
01:33 -!- LordMetroid [n=lordmetr@90.224.93.243] has quit ["Leaving"]
01:33 -!- slaw [i=slavio@dumb.pl] has left #go-nuts []
01:33 <+agl> mesenga: currently you have to host them yourself.
01:33 <+iant> mesenga: whereever you like, I suppose; we don't have a place
for them
01:33 < ajbouh> i have some simple ideas, half-baked ideas on the subject -
is this the right forum for that?
01:33 < ajray> is there any code-diving tools for go?  (like go-scope
instead of cscope?)
01:33 <+iant> droid0011: right, it's not in libc-dev, it's in linux-libc-dev
01:33 <+agl> droid0011: I don't believe that files in /usr/src are in the
search path for includes.
01:33 <+iant> which is a different package
01:33 <+iant> agl: droid0011 is trying to build gccgo
01:33 <+agl> iant: ok, I'll let you handle it then :)
01:34 <+iant> ajbouh: the mailing list may be more useful, unless they are
really half-backed, in which case go ahead
01:34 -!- acts_as_david [n=acts_as_@c-76-119-235-44.hsd1.ma.comcast.net] has
joined #go-nuts
01:34 < mesenga> agl, iant: tks
01:34 -!- nutate [n=rseymour@cacsag4.usc.edu] has joined #go-nuts
01:34 -!- giovannucci [n=bobg@c-24-60-168-59.hsd1.ma.comcast.net] has joined
#go-nuts
01:34 <+agl> ajray: it would be easy to write them in go.  There are already
packages for parsing source files.
01:34 < ajray> yup.  playing with those now :-)
01:35 < ajray> i <3 cscope for c, i'd <3 goscope as well
01:35 < droid0011> iant: apt-file list linux-libc-dev | grep user.h gives
here nothing
01:35 <+iant> droid0011: OK, some system difference, then
01:35 <+iant> I'm running Hardy
01:36 < ank3but_> Only devs from google code golanng?
01:36 <+iant> mksysinfo.sh needs to be more portable
01:36 < ank3but_> -n
01:36 -!- camfex [n=d@89.163.17.22] has quit [Read error: 60 (Operation timed
out)]
01:36 -!- mkanat [n=mkanat@c-67-188-1-39.hsd1.ca.comcast.net] has quit ["Bye!"]
01:36 <+iant> ank3but_: at the moment, I think so, but as other people learn
the system and show good work we plan to add them
01:36 < ajbouh> iant: any reason you guys haven't gone with something like
"go func () { ..  }, chan os.Error"
01:36 <+iant> like other open source projects
01:37 < ank3but_> iant: Okay...
01:37 <+iant> ajbouh: we've considered that and it may happen at some point,
but no promises
01:37 < ank3but_> go is interesting.
01:37 < ajbouh> iant: and you're suggesting that building something like
that would involve a lot of runtime hacking?
01:38 < ank3but_> i search for a while an other language but C was the best
for me.
01:38 < ank3but_> go looks cool
01:38 -!- Ruonkrak [n=john@74-140-218-7.dhcp.insightbb.com] has joined #go-nuts
01:38 <+iant> ajbouh: I don't think it would take that much hacking, it's
more a question of whether we think it is a good fit for the language
01:38 <+iant> we're trying to be very careful not to add unnecessary
features
01:38 <+robpike> ajbouh: the idea of getting a channel from a go f()
invocation makes sense.  i've thought about it a lot, though, and worry that it
may be more complicated to do than it's worth.  but we are still talking about it
01:39 -!- brrant [n=brrant@65-102-225-252.hlrn.qwest.net] has quit ["Leaving"]
01:40 < rando> iant: but won't folks then write a bunch of libraries for the
things 'they' think are missing and we end up with all the layers back again?
01:40 < droid0011> iant: checked jaunty and karmic, there is no user.h in
linux-libc-dev
01:40 -!- benjack [n=Ben@cm101.gamma247.maxonline.com.sg] has quit []
01:41 <+iant> rando: libraries are one thing, the language proper is another
01:41 < nutate> I would just like to congratulate the team on making
something so easy to install (at least on OS X 10.5 intel)
01:41 -!- pawel314 [n=pawel@nat-12.ghnet.pl] has quit [Remote closed the
connection]
01:41 <+iant> droid0011: what can I say, I see it here
01:41 < Eridius> nutate: the only thing that would make it easier is to stop
using Mercurial ;)
01:41 -!- devinus [n=devin@cpe-66-25-177-158.austin.res.rr.com] has quit []
01:41 <+iant> droid0011: I certainly believe you
01:41 <+iant> droid0011: I'm just not running those systems
01:41 < ajbouh> robpike: i've built a language+runtime that uses channels
for error handling - it turned out much simpler + robust than we expected
01:42 < nutate> Eridius: I just want to see if I can make sense of this from
the multicore standpoint...  I know enough to be dangerous with pthreads, openmp,
cuda, etc...
01:42 -!- giovannucci [n=bobg@c-24-60-168-59.hsd1.ma.comcast.net] has quit
["Leaving"]
01:42 <+robpike> nutate: thanks!
01:42 <+robpike> ajbouh: is it written up?
01:42 < engla> since it would be hard to implement map(func, array)
correctly in the type system, what about list comprehensions ala Python; can
syntax support solve this;perhaps: a := [f(x) for _, x := range otherarray]
01:43 < kfx> droid0011: check libc6-dev
01:43 <+iant> engla: we do have range
01:43 < ajbouh> robpike: not formally
01:43 -!- triplez [n=triplez@bb116-14-25-62.singnet.com.sg] has joined #go-nuts
01:43 < SRabbelier> how would I do something like..  "res, err = foo() +
res"?
01:43 < SRabbelier> is it possible in one line?
01:43 < kfx> droid0011: or linux-headers-<kernelversion>
01:43 <+robpike> SRabbelier: sorry, no
01:43 < engla> iant: the point is adding syntax for map as list
comprehension
01:43 -!- Jan_Flanders_ [n=chatzill@d54C1E33B.access.telenet.be] has quit
["Chatzilla 0.9.75.1 [SeaMonkey 1.1.18/2009082513]"]
01:43 -!- RockOn [n=robert@s66-76-56-215.parscmta01.parstx.tl.sta.suddenlink.net]
has joined #go-nuts
01:43 < rando> iant: ah, OK. that makes sense.  I do like the direction of
this language.  I think rob hit it on the head, programming became 'not fun'
unless you used a dynamically typed language.  I'll be watching.  As soon as I
think it's solid enough I'll try to use it in my production environment.
01:44 < SRabbelier> robpike: what's the goey way to do it?
01:44 < KirkMcDonald> robpike: So the elements of this dynamic struct have a
static type of reflect.Value.  If I wanted to pull a static S out, I would say:
(*S)(unsafe.Pointer(field.Addr()))
01:44 -!- jli [n=jli@adsl-074-229-201-181.sip.gnv.bellsouth.net] has joined
#go-nuts
01:44 < Eridius> rando: you want fun?  Go learn Haskell ;)
01:44 <+iant> engla: fair enough
01:44 <+iant> SRabbelier: I'm not sure just what you are trying to do,
actually
01:44 < KirkMcDonald> robpike: (After confirming that the type is, indeed,
that.)
01:44 <+robpike> SRabbelier: does foo() return a pair?
01:44 < rando> Eridius: I looked at it....  my head hurt.
01:44 < SRabbelier> robpike: yes, the usual 'value, err' pair
01:44 < Eridius> rando: hehehe
01:44 < SRabbelier> I'm implementing fibonaci to practice
01:45 < KirkMcDonald> robpike: Since unsafe.StructValue doesn't have a Get
method.
01:45 <+robpike> KirkMcDonald: you do not need package unsafe.  you should
almost never need it.
01:45 < danopia`> rando, lisp is fun
01:45 < SRabbelier> and I see no elegant way to do the fib(n-2) + fib(n-1)
01:45 < KirkMcDonald> robpike: Er. reflect.StructValue, I mean.
01:45 < SRabbelier> (with fib returning value,err)
01:45 <+robpike> KirkMcDonald: reflect.StructValue has a Field(int) method
and NumField()
01:45 -!- telemachus [n=telemach@user-0cev9bh.cable.mindspring.com] has quit
["Leaving..."]
01:45 -!- kapone [n=kapone@208-168-246-140-dynamic.dsl.candw.ky] has joined
#go-nuts
01:46 < ajray> rando: learn you a haskell for great good is the best haskell
primer i've ever seen
01:46 -!- devinus [n=devin@cpe-66-25-177-158.austin.res.rr.com] has joined
#go-nuts
01:46 < KirkMcDonald> robpike: Which serves right up until I want a variable
of type S.
01:46 < danopia`> learn you a haskell!
01:46 -!- devinus [n=devin@cpe-66-25-177-158.austin.res.rr.com] has quit [Remote
closed the connection]
01:46 < KirkMcDonald> robpike: (Or *S, as the case may be.)
01:46 < ajray> danopia`: for great good!
01:46 <+robpike> SRabbelier: if fib returned just one value, you can do v1,
v2 := (v1+v2), v1 or something like that
01:46 <+robpike> not sure that helps you
01:46 -!- nigwil [n=chatzill@berkner.ccamlr.org] has quit [Read error: 54
(Connection reset by peer)]
01:46 -!- rplnt_ [n=Mato@r11ex225.net.upc.cz] has quit ["i quit"]
01:47 < ajbouh> robpike: happy to explain outline our approach further, if
it'd be helpful
01:47 < KirkMcDonald> robpike: Which actually serves for quite a long
distance.
01:47 < rando> Ya, folks, this announcement has been good, I was going to
start learning java (even though I didn't want to, a person needs to stay
employeed).  Now I'll just learn go.
01:47 <+robpike> KirkMcDonald: is S the type of the structure or of a field
01:47 -!- nigwil [n=chatzill@berkner.ccamlr.org] has joined #go-nuts
01:47 < KirkMcDonald> robpike: It is the type of the structure which I
passed to the variadic function.
01:47 < danopia`> rando, i don't think there are many commercial go venders
yet
01:47 < bill_h> seeing as how gedit doesn't support syntax highlighting for
go, yet
01:47 < danopia`> unfortunately
01:47 -!- brrant [n=John@65-102-225-252.hlrn.qwest.net] has joined #go-nuts
01:47 < bill_h> what other languages have similar syntax?
01:47 < SRabbelier> robpike: hum, but I had it return an error in the case
of n < 0, any advice?
01:47 < danopia`> although you won't have the "code's compiling!" excuse
when you are caught fooling around
01:48 < droid0011> kfx: yes sure, it is in
linux-headers-<kernelversion> but that IMO means userspace prgs should not
use it
01:48 < RockOn> I'm pretty excited about Go
01:48 < danopia`> you can't do much in 3 seconds
01:48 -!- gointrigue [i=ad1a7bb7@gateway/web/freenode/x-hrstivwkfdnjezgz] has
joined #go-nuts
01:48 <+robpike> KirkMcDonald: if you *know* you have an S, that thing is
still inside the value.  off the top of my head, it's value.Interface.(*S)
01:48 <+robpike> sorry value.Interface().(*S)
01:48 < rando> danopia`: doesn't matter, I work on open source!  :-)
(fossology.org)
01:48 < ajbouh> iant: how far along is the nacl port?
01:48 < SRabbelier> robpike: I mean, is "you passed -4 to fib" not something
you'd return an os.Error for?
01:48 -!- hoffmann [n=ph@tmo-045-7.customers.d1-online.com] has quit [Remote
closed the connection]
01:48 -!- yootis [n=matt@adsl-75-36-176-185.dsl.pltn13.sbcglobal.net] has left
#go-nuts []
01:49 <+robpike> SRabbelier: it makes sense to do that but the code won't be
as pretty.  you'd need to use an if statement
01:49 < gointrigue> I have a nooby question.  Since I can't use go on
winblows, I got a VM of ubuntu going.  However, I am a dunce when it comes to some
linux crud.  (hence ubuntu :P) How do I edit the bashrc for the installation of
go?
01:49 -!- jkimball4 [n=jkimball@pdpc/supporter/professional/jkimball4] has left
#go-nuts []
01:49 < danopia`> ubuntu/
01:49 < danopia`> try running:
01:49 < danopia`> gedeit ~/.bashrc
01:49 < SRabbelier> robpike: yeah, and I end up having to use a bunch of
accelorary (is that a word?) variables to store the intermediate result
01:49 < danopia`> err
01:49 -!- rogue [n=quassel@75-145-199-97-Richmond.hfc.comcastbusiness.net] has
joined #go-nuts
01:49 < danopia`> gedit ~/.bashrc
01:49 -!- Fish-- [n=Fish@78.238.225.114] has joined #go-nuts
01:49 < danopia`> does Go run in cygwin?
01:50 -!- bzSmari [n=spm@194-144-23-6.du.xdsl.is] has joined #go-nuts
01:50 -!- kapone [n=kapone@208-168-246-140-dynamic.dsl.candw.ky] has quit
[Connection reset by peer]
01:50 <+agl> danopia`: no
01:50 < mjard> shouldn't that really be in ~/.bash_profile
01:50 < gointrigue> Here is what I have
01:50 < gointrigue> $GOROOT=$HOME/go; $GOOS=linux; $GOARCH=386; (Don't
laugh)
01:50 < rogue> any help -> installed quietgcc as /home/dingo/bin/quietgcc
but 'which quietgcc' fails
01:50 < danopia`> what am i not laughing at
01:50 < danopia`> that's mine exactly, minus me quoting values
01:50 < saati> rogue: /home/dingo/bin/ is not in the $PATH
01:50 -!- trasktrojanek [n=trasktro@c-75-72-133-174.hsd1.mn.comcast.net] has
joined #go-nuts
01:51 < mjard> gointrigue: now you just need to export those
01:51 < gointrigue> Hrm, I should probably do that then?  lol
01:51 < danopia`> oh yea
01:51 < danopia`> export them too
01:51 -!- Fish- [n=Fish@78.238.225.114] has quit [Read error: 104 (Connection
reset by peer)]
01:51 < kfx> '$GOROOT=$HOME/go' isn't going to work
01:51 < danopia`> also, check `echo $PATH`
01:51 < mjard> also drop the $ from everything except $HOME
01:51 -!- jsgotangco [n=JSG@ubuntu/member/jsgotangco] has joined #go-nuts
01:51 < danopia`> my xubuntu have $HOME/.bin but not $HOME/bin
01:52 < danopia`> so i used $HOME/.bin for the GOBIN
01:52 < danopia`> GOBIN reminds me of goblins
01:52 -!- tjake [n=jake@75-44-151-7.lightspeed.smfrct.sbcglobal.net] has joined
#go-nuts
01:52 <+iant> droid0011: the userspace program doesn't use it, but I needed
it to extra some data structure for some reason
01:52 < rogue> saati: thanks fat fingered that path :)
01:52 <+iant> droid0011: I actually don't remember, you could try just
removing it from mksysinfo.sh to see what happens
01:52 < gointrigue> I am doing something horribly wrong :(
01:53 < RockOn> I'm on Ubuntu and I've found it easier to build gccgo
01:53 < KirkMcDonald> robpike: Ah. Of course.
01:53 < gointrigue> No command '=linux' found, did you mean:
01:53 < KirkMcDonald> robpike: I am beginning to get the hang of this.
01:53 < danopia`> i'm on xbuntu 8.04 and got go fired up with no issues
01:53 <+iant> ajbouh: I think the NaCl port works except for closures, which
require some support from the NaCl folks
01:53 < gointrigue> No command '=386' found, did you mean:
01:53 -!- emg [n=emg@12.230.42.130] has joined #go-nuts
01:53 < danopia`> gointrigue, try using "quotes"
01:53 < danopia`> ="linux"
01:53 < gointrigue> I did :(
01:53 < gointrigue> $GOROOT="$HOME/go"; $GOOS="linux"; $GOARCH="386";
01:53 < SRabbelier> is it possible to combine assignment and declaration?
01:53 < danopia`> you need it to be like
01:54 -!- archtech [i=stanv@83.228.56.37] has joined #go-nuts
01:54 < ajbouh> iant: are there bugs filed?
01:54 -!- tasklist7 [n=tasklist@c-98-208-175-116.hsd1.fl.comcast.net] has quit
["Colloquy for iPhone - http://colloquy.mobi"]
01:54 < danopia`> export GOROOT="$HOME/go"
01:54 < danopia`> here's what i have:
01:54 -!- Sgeo [n=Sgeo@ool-18bf618a.dyn.optonline.net] has joined #go-nuts
01:54 < danopia`> export GOROOT="$HOME/go"; export GOOS='linux'; export
GOARCH='386'; export GOBIN="$HOME/.bin"
01:54 < SRabbelier> I have a v variable already, but not yet an err in "if
v, err = strconv.Atoi(s); err != nil {"
01:54 <+iant> ajbouh: filed with the NaCl team?  we've spoken with them
01:54 < trasktrojanek> When running ./all.bash (Linux) I'm getting
"make.bash: line 41: /usr/local/bin/quietgcc: Permission denied" presumably
because I don't have quietgcc (same when GOROOT is /usr/bin)
01:54 < gointrigue> ahh..  single quites?
01:54 < archtech> It would be nice of the golang.com site had a page on
typical uses as envisioned for Go. What is it intended to be used for.
01:54 -!- jawbroken [n=jawbroke@c114-76-153-199.sunsh2.vic.optusnet.com.au] has
quit [Read error: 110 (Connection timed out)]
01:55 -!- ag90 [n=ag90@bas3-unionville55-1279752520.dsl.bell.ca] has quit []
01:55 < ajbouh> iant: yeah, was hoping to track progress on it.  wasn't sure
how high a priority it was for the core team.
01:55 < kfx> trasktrojanek: it puts quietgcc in that directory; you need
write permissions
01:55 < danopia`> trasktrojanek, is your quietgcc +x'ed?
01:55 < mjard> gointrigue: http://pastie.org/694747
01:55 < KirkMcDonald> robpike: So switch f := field.Interface().(type)
appears to be a useful construct.
01:55 -!- ojm [n=ojm@85.76.214.85] has joined #go-nuts
01:55 -!- tasklist7 [n=tasklist@c-98-208-175-116.hsd1.fl.comcast.net] has joined
#go-nuts
01:55 < gointrigue> GOARCH=386 GOROOT=$HOME/go GOOS=linux (output of env |
grep '^GO')
01:56 <+iant> ajbouh: I'm not sure either
01:56 < mjard> gointrigue: that's fine, you still have to export them
01:56 < gointrigue> Now what would gobin be about?
01:56 < gointrigue> I did, that is the output from grep
01:56 < mjard> where it puts the compiler
01:56 -!- sr_ is now known as sr
01:56 < gointrigue> export GOROOT='$HOME/go'; export GOOS='linux'; export
GOARCH='386';
01:57 -!- tasklist7 [n=tasklist@c-98-208-175-116.hsd1.fl.comcast.net] has quit
[Client Quit]
01:57 < gointrigue> The exact lines I have in the bashrc
01:57 -!- philcrissman_ [n=philcris@174-20-188-170.mpls.qwest.net] has joined
#go-nuts
01:57 < gointrigue> copy/pasted
01:57 < mjard> gointrigue: ok, now type "source .bashrc"
01:57 < danopia`> wait
01:57 <+iant> I'll be back in a while
01:57 < danopia`> gointrigue, use "" aroud the ones wiht $HOME
01:57 -!- iant [n=iant@67.218.105.172] has quit ["Leaving."]
01:57 < danopia`> so it evals the $HOME
01:58 < mjard> and you should be set
01:58 -!- cablehead [n=Adium@nat/slide/x-skrmzrsixmrjyxxq] has quit ["Leaving."]
01:58 -!- AirCastle [i=inhahe@adsl-074-186-083-219.sip.mia.bellsouth.net] has
joined #go-nuts
01:58 < mjard> danopia`: single quotes work fine, as well as no quotes at
all
01:58 < gointrigue> I did source .bashrc
01:58 < ajbouh> iant: gotcha.  i'd like to experiment with (very)
rudimentary error isolation - is anyone hacking on this?
01:58 < gointrigue> no output to console
01:58 -!- xbaez [n=xbaez@200.34.201.2] has joined #go-nuts
01:58 < xbaez> hi
01:59 -!- freenose [n=freenose@204.97.199.7] has left #go-nuts []
01:59 < mjard> gointrigue: ok, now you have to build the compiler
01:59 < Jerub> documentation question:
http://golang.org/doc/go_spec.html#Type_identity_and_compatibility under 'these
types are identical' is the 3rd line a typo?
01:59 < danopia`> mjard, for me it said that it couldn't find $HOME/.bin
until i used "'s
01:59 < xbaez> i'm doing a hello worl but when i run 8l helloworld.8 it
tells me this goarch is not known: amd64
01:59 < xbaez> ??none??: cannot open file:
/home/xbaez/go/pkg/linux_amd64/runtime.a
01:59 < xbaez> any help ?
01:59 < nutate> man...  I have access to a good 96 dual core nodes...
01:59 < danopia`> lol @ my PS1
01:59 < ajbouh> iant: can just mess around myself, if not
01:59 < danopia`> export
PS1="\[\e]0;\w\a\]\[\e[32m\][\[\e[36m\]\u\[\e[33m\]@\[\e[34m\]\h
\[\e[33m\]\w\[\e[32m\]]\[\e[1;0m\]$\e[0m "
01:59 -!- Venom_X [n=pjacobs@66.54.185.131] has quit []
01:59 -!- devewm [n=eric@96.36.85.2] has joined #go-nuts
01:59 < mjard> danopia`: actually, you're right
02:00 <+agl> xbaez: try running `make && make install` in $GOROOT/src/pkg
02:00 * nutate wonders if writing a simple parallel molecular dynamics code in Go
would be publishable...
02:00 < mjard> I need more caffeine
02:00 -!- piotr [n=piotr@chello084010208203.chello.pl] has quit [Remote closed the
connection]
02:00 < JBeshir> How do you create an array of slices?
02:00 < KirkMcDonald> Jerub: No, it does not appear so.
02:01 < KirkMcDonald> Jerub: Why do you think it is a typo?
02:01 * danopia` has no idea what a slice is
02:01 < KirkMcDonald> var x []int; // x is a slice
02:01 <+agl> JBeshir: make([][]int, length, cap)
02:01 < ajray> whats the diference between a slice and an array?
02:01 < JBeshir> agl: Okay, thanks.
02:01 -!- jli [n=jli@adsl-074-229-201-181.sip.gnv.bellsouth.net] has left #go-nuts
[]
02:01 <+agl> ajray: a slice has a capacity for one
02:01 < KirkMcDonald> The length is part of an array's type.
02:02 < xbaez> agl it tells me Makefile:80: /src/Make.pkg: No such file or
directory
02:02 <+agl> ajray: also, an array is included in it's containing structure,
where as a slice is more like a pointer.
02:02 <+robpike> member:identifier:kirkmcdonald: yes
02:02 < Jerub> KirkMcDonald: Ah, I think I've misunderstood this.  reading
it again.
02:02 <+agl> xbaez: you probably don't have $GOROOT set
02:02 < gointrigue> *cough* Go should be ported to a GIT repository :3
02:02 < danopia`> git++
02:02 <+agl> gointrigue: I'm afraid that decision has been make and hg won.
02:02 -!- trasktrojanek [n=trasktro@c-75-72-133-174.hsd1.mn.comcast.net] has quit
["Leaving"]
02:02 -!- jeff__ [n=jeff@nat/google/x-fgtlwjkyaelawbmw] has joined #go-nuts
02:03 < danopia`> gointrigue, google likes hg from what i've seen
02:03 < SRabbelier> gointrigue: git remote-hg coming up!
02:03 -!- benjack [n=Ben@bb220-255-39-201.singnet.com.sg] has joined #go-nuts
02:03 < Jerub> okay, ignore me :)
02:03 < JBeshir> Is there any easy way to make a slice of a whole string?
02:03 < SRabbelier> gointrigue: I already have read-only support working (so
you can git clone arbitrary hg repositories, you just can't push back)
02:03 < JBeshir> foo[0:len(foo)] seems...  long.
02:03 <+robpike> JBeshir: just say foo then :)
02:03 < KirkMcDonald> JBeshir: Why slice it at all?
02:03 < kfx> haha
02:04 < gointrigue> abort: No such file or directory: $HOME/go :((((
02:04 < JBeshir> KirkMcDonald: So I can add it to an array.
02:04 < danopia`> gointrigue, did you use double quotes
02:04 <+robpike> JBeshir: if foo is an array and you want to promote it to a
slice, you can say &foo.  it means the same thing
02:04 -!- mejja [n=user@c-49b6e555.023-82-73746f38.cust.bredbandsbolaget.se] has
quit [Remote closed the connection]
02:04 < gointrigue> no
02:04 < JBeshir> Okay.
02:04 < gointrigue> I made it single quotes
02:04 <+agl> JBeshir: it is long.  It's probably something that will be
addressed.
02:04 < gointrigue> export GOROOT='$HOME/go';
02:04 < KirkMcDonald> robpike: That strikes me as a moderately weird choice
of syntax.
02:04 < danopia`> SRabbelier, that's good enough, now make a github repo
that updates daily from go's hg
02:04 < danopia`> gointrigue, use "
02:05 <+robpike> KirkMcDonald: which is weird?
02:05 < Eridius> the biggest issue with making a git mirror is you can't
participate in the code review process
02:05 < SRabbelier> danopia`: I'm pretty sure that the github guys are
working on that regardless using hg-git
02:05 < KirkMcDonald> robpike: That &array gives a slice over the array.
02:05 < JBeshir> "cannot use &main_parameters[i] (type *string) as type
[]string" <-- Doesn't seem to work?
02:05 < KirkMcDonald> robpike: Maybe I am too used to C.
02:05 <+robpike> KirkMcDonald: actually it makes a lot of sense.  a slice is
a reference to an array.  &array doesn't become a slice, but it can be assigned to
one
02:05 -!- philcrissman_ [n=philcris@174-20-188-170.mpls.qwest.net] has quit
[Remote closed the connection]
02:05 < ojm> vim doesn't have syntax highlighting for Go yet :(
02:05 < ajray> yes it does
02:05 < kfx> ojm: it ships with go
02:05 < JBeshir> ojm: It's in...  misc/vim or something.
02:06 < ajray> check misc/vim/
02:06 < Eridius> ajray: misc/vim/
02:06 < KirkMcDonald> ojm: There's a go.vim in the repository.
02:06 < ojm> :o
02:06 < alexsuraci> is there one for emacs?
02:06 < kfx> alexsuraci: yes, you can use go.vim
02:06 < Eridius> alexsuraci: yes
02:06 <+robpike> KirkMcDonald: yeah, it can be different.  it's not C
02:06 < danopia`> alexsuraci, you actually use emacs for text editing?
02:06 < alexsuraci> haha
02:06 -!- agl [n=agl@72.14.229.81] has quit ["Leaving"]
02:06 < ajray> its an operating system
02:06 < ojm> hey, there's a vim mode for it
02:07 < gointrigue> brb
02:07 < danopia`> don't you have your emacs install boot up as it's own OS
and then you jsut use emacs scripts instead of programs?
02:07 -!- gointrigue [i=ad1a7bb7@gateway/web/freenode/x-hrstivwkfdnjezgz] has quit
["Page closed"]
02:07 < danopia`> like PDF viewing, IRC, image editing, etc.?
02:07 -!- kjk1 [n=Adium@67.215.69.74] has quit [Read error: 104 (Connection reset
by peer)]
02:07 < alexsuraci> i use xmonad, so, sort of close
02:07 < rando> danopia`: that's what eclipse is for!
02:07 < danopia`> web browsing
02:07 -!- Amaranth [n=travis@ubuntu/member/Amaranth] has joined #go-nuts
02:08 < chrome> robpike: any chance you'll do some shorter go related videos
that expose more detail on features and included packages?
02:08 -!- Ina [n=Ina@dsl-087-195-206-242.solcon.nl] has quit ["Ik ga weg"]
02:08 -!- kjk [n=Adium@67.215.69.74] has joined #go-nuts
02:08 < ajray> theres a psychiatrist in emacs too iirc
02:08 <+robpike> chrome: no plans but maybe one day
02:08 -!- remote [n=remote@unaffiliated/remote] has quit [Remote closed the
connection]
02:08 * rando says where is book?
02:08 < alexsuraci> i used vim before I tried emacs, ended up sticking with
it for the superior indentation logic and scripting language.  didn't see it
coming either.
02:08 < ojm> I'm pretty sure there was some coffee machine that can be used
from emacs
02:09 < xbaez> thanks
02:09 <+robpike> rando: no plans but maybe one day
02:09 -!- punya [n=punya@c-24-19-57-173.hsd1.wa.comcast.net] has quit [Read error:
104 (Connection reset by peer)]
02:09 < danopia`> ojm, can emacs clean my room?
02:09 < Eridius> alexsuraci: I used to use vim and I switched to emacs when
I discovered how horrendous the vim scripting language was
02:09 < Amaranth> Busy channel :)
02:09 < Eridius> though I still use textmate far more often
02:09 <+robpike> if you guys are going to have an editor war....
02:09 < Amaranth> danopia`: If you're using it correctly you won't notice
the room ;)
02:09 * Eridius also played with yi a bit
02:09 < alexsuraci> they started it :(
02:09 < Eridius> robpike: when are we going to get a CLI editor written in
go?
02:09 < ruinevil> acme?
02:09 < danopia`> Amaranth, that's a nice one
02:09 < ojm> danopia: well you could probably command your roomba with it
02:10 < nutate> robpike: emailing my PI regarding using Go for a simple
parallel MD code...  might be publishable...  might not
02:10 -!- timepilot [n=timepilo@c-24-91-16-174.hsd1.ma.comcast.net] has joined
#go-nuts
02:10 <+robpike> nutate: sounds fun
02:10 -!- Guest18754 [n=remote@modemcable092.81-201-24.mc.videotron.ca] has joined
#go-nuts
02:10 -!- xbaez [n=xbaez@200.34.201.2] has quit ["Leaving"]
02:10 -!- spvensko [n=spvensko@rrcs-24-199-144-166.midsouth.biz.rr.com] has joined
#go-nuts
02:10 < nutate> robpike: i have a hard time doing unfun things.  :-)
02:11 -!- asdfasd [n=email@89.180.172.244] has left #go-nuts []
02:11 < alexsuraci> pretty crazy how quickly this channel exploded
02:11 -!- sjbrown_ [n=sjbrown@64.125.181.72] has quit [Read error: 60 (Operation
timed out)]
02:11 -!- kingfishr [n=kingfish@98.201.163.127] has quit [Remote closed the
connection]
02:11 < rando> robpike: and folks, thanks for the great new interesting
language, and support on this channel.  Take care.
02:11 <+robpike> alexsuraci: indeed
02:11 <+robpike> rando: thanks!
02:11 < spvensko> hi, i am a geneticist that uses scripting languages to do
simulations, and other small jobs that benefit my research.  i am decent with
python and am interested in go.  Is there anything that go offers that would
greatly benefit me in go over python?
02:12 <+robpike> spvensko: programs should run much faster, be less prone to
crashing.  but you could try it and see...
02:12 -!- rando [n=markd@c-24-4-237-105.hsd1.ca.comcast.net] has quit ["That's
enough for now....:-)"]
02:12 -!- aclements [n=aclement@c-66-31-201-199.hsd1.ma.comcast.net] has quit
[Read error: 110 (Connection timed out)]
02:12 < brunov> robpike, even compared to numpy?
02:12 <+robpike> brunov: can't say.
02:12 < chrome> robpike: i got my talker working :D
02:13 <+robpike> chrome: :)
02:13 < spvensko> so is it worth learning then as opposed to C++?
02:13 < brunov> I noticed that there are some benchmarks in the /test
directory, have you submitted them to the benchmark game page?  It'd be nice to
see the results there
02:13 < chrome> spvensko: i think it poops all over C++ :P
02:13 -!- RadSurfer [n=RadSurfe@unaffiliated/radsurfer] has quit ["Leaving"]
02:13 -!- quietdev [n=quietdev@unaffiliated/quietdev] has quit [Read error: 104
(Connection reset by peer)]
02:13 < chrome> (but that isn't hard)
02:14 <+robpike> brunov: no, not yet, but that's what they're there for
02:14 -!- philcrissman [n=philcris@174-20-188-170.mpls.qwest.net] has quit [Read
error: 110 (Connection timed out)]
02:14 < gnibbler> will slices ever support negative indices?
02:15 -!- freenose [n=freenose@204.97.199.7] has joined #go-nuts
02:15 <+robpike> gnibbler: no.  we think negative indices can happen by
accident and we want to catch them.  just last week a friend had a nasty python
bug for just that reason
02:15 -!- mxcl [n=mxcl@94-193-125-246.zone7.bethere.co.uk] has quit [Remote closed
the connection]
02:15 -!- quietdev [n=quietdev@unaffiliated/quietdev] has joined #go-nuts
02:15 < KirkMcDonald> I still like D's $-syntax.
02:15 <+robpike> KirkMcDonald: sawzall had $ too.  it might show up
02:16 -!- ninja123 [n=ninja123@122.164.189.205] has quit [Read error: 60
(Operation timed out)]
02:16 < gnibbler> robpike: so there isn't an easy way to grab the last
element using a slice?
02:16 < ajray> anyone here use elipse with go?
02:16 < ajray> eclipse*
02:16 <+robpike> gnibbler: not supertrivial no.  len(x)-1
02:16 <+robpike> robpike: i agree it could be prettier
02:17 -!- aclements [n=aclement@c-66-31-201-199.hsd1.ma.comcast.net] has joined
#go-nuts
02:17 < Eridius> robpike: any thought to adopting ruby's convention of
treating negative indices as offsets from the end?
02:17 < Eridius> so -1 is the last element
02:17 < tsuru`> are there plans or thoughts on giving golang a REPL?
02:17 <+robpike> Eridius: see above comment to gnibbler
02:17 -!- punya [n=punya@24.19.57.173] has joined #go-nuts
02:17 < RockOn> What do I need to add to .bashrc for $GOROOT?
02:17 < Eridius> ah
02:17 < chrome> test my go talker: telnet mars.stupendous.net 5555
02:17 < KirkMcDonald> RockOn: export GOROOT=/whatever
02:18 < RockOn> thanks
02:18 <+danderson> @src Ix
02:18 <+danderson> oops
02:18 <+robpike> RockOn: probably $HOME/go if go is the root of your
mercurial chckout
02:18 < Eridius> robpike: what about introducing special syntax?  I think
someone earlier suggested foo[1:$] to have $ be the same as the length of the
array
02:18 < Eridius> you could then use it to be something like foo[$-1] to get
the last element
02:18 < RockOn> and...  export GOOS=linx ?
02:18 < Eridius> though that's also a bit weird
02:18 < RockOn> linux*
02:18 < KirkMcDonald> Eridius: Man we literally just had this conversation.
:-)
02:18 < Eridius> KirkMcDonald: pfft, too much chatter in here
02:18 -!- tasklist7 [n=tasklist@c-98-208-175-116.hsd1.fl.comcast.net] has joined
#go-nuts
02:19 < KirkMcDonald> Eridius: That is D's $-syntax which I was referring
to.
02:19 -!- ericvh [n=ericvh@32.97.110.65] has left #go-nuts []
02:19 -!- timepilot [n=timepilo@c-24-91-16-174.hsd1.ma.comcast.net] has quit [Read
error: 60 (Operation timed out)]
02:19 < Eridius> ah
02:19 < Eridius> yeah I see your mention now
02:19 -!- crez [n=crez@122.199.76-86.rev.gaoland.net] has quit [No route to host]
02:19 -!- SRabbelier [n=SRabbeli@ip138-114-211-87.adsl2.static.versatel.nl] has
quit ["Leaving."]
02:19 -!- freenose [n=freenose@204.97.199.7] has left #go-nuts []
02:20 < aclements> tsuru`: There is a partial implementation of an
interpreter, including a REPL, in pkg/exp/eval
02:20 < zLuke_> IS Python being discouraged at Google now in favor of go?
02:20 <+robpike> zLuke_: no of course not
02:20 < KirkMcDonald> zLuke_: They're really far from being anywhere near
similar languages...
02:21 < zLuke_> I would hope not since they really play different roles -
just waht I read on some blog
02:21 < gnibbler> zLuke_:They are working on their own Python implementation
02:21 -!- timepilot [n=timepilo@c-24-91-16-174.hsd1.ma.comcast.net] has joined
#go-nuts
02:21 -!- rminnich_ [n=rminnich@32.97.110.63] has quit ["Leaving"]
02:21 < zLuke_> GoPython - would love to leverage some of the Go concurrency
02:21 < danopia`> gnibbler, well of course
02:21 -!- ank3but_ [n=hub@dslb-088-066-115-255.pools.arcor-ip.net] has quit ["Lost
terminal"]
02:21 -!- bgs100 [n=ian@unaffiliated/bgs100] has joined #go-nuts
02:22 < danopia`> would it be opensourced?  :P
02:22 -!- kaib [n=kaib@c-76-102-52-156.hsd1.ca.comcast.net] has joined #go-nuts
02:22 -!- mode/#go-nuts [+v kaib] by ChanServ
02:22 < KirkMcDonald> danopia`: Search for unladen-swallow.
02:22 < KirkMcDonald> danopia`: It is already open-source.
02:22 < wcn> hey kaib
02:22 <+kaib> heya wcn
02:23 < wcn> turns out those ARM920's I have are actually ARM4, not ARM5.  I
was confusing them with something else I worked on at the time.
02:23 < wcn> How much more pain am I in for?
02:23 -!- jawbroken [n=jawbroke@c114-76-153-199.sunsh2.vic.optusnet.com.au] has
joined #go-nuts
02:24 < kfx> unladen swallow isn't really a whole python reimplementation,
it's more like a targeted re-engineering
02:24 < KirkMcDonald> Yeah.
02:24 -!- dgnorton [n=dgnorton@24.224.99.49] has joined #go-nuts
02:25 -!- bzSmari [n=spm@194-144-23-6.du.xdsl.is] has quit [Connection timed out]
02:25 <+danderson> zLuke_: don't believe everything you read on the
internet.  People make things up, when they're not wildly extrapolating some mild
statement.
02:25 < chrome> meh, someone needs to port curses to go :P
02:26 < dgnorton> i'm a linux noob trying to get go to build...getting
"make: quietgcc: Command not found"
02:26 < sstangl> chrome: why not you?
02:26 < chrome> dgnorton: GOBIN not in PATH?
02:26 < chrome> sstangl: why not indeed.  Lets see if I have a spare week to
do that :P
02:26 < sstangl> dgnorton: mkdir ~/bin
02:26 < dgnorton> no but default is $HOME/bin right?
02:26 < kfx> oh wow
02:27 -!- devewm [n=eric@96.36.85.2] has quit []
02:27 < chrome> dgnorton: set all the variables, make sure GOBIN is in PATH,
it'll work.
02:27 -!- rewired [n=t@100-20.76-83.cust.bluewin.ch] has quit []
02:27 -!- soukHome [n=souk@67-207-110-198.static.wiline.com] has joined #go-nuts
02:27 -!- carllerche [n=carllerc@enginey-9.border1.sfo002.pnap.net] has quit []
02:28 -!- Skaperen [n=phil@c-76-125-202-149.hsd1.wv.comcast.net] has joined
#go-nuts
02:29 < ajbentley> quietgcc error here, GOBIN is in my PATH
02:29 -!- kaib [n=kaib@c-76-102-52-156.hsd1.ca.comcast.net] has quit []
02:29 < dgnorton> chrome: ok, thanks
02:29 -!- kirchhoff [n=one@201.218.111.58] has left #go-nuts []
02:29 < chrome> can you write to GOBIN?
02:29 -!- tasklist7 [n=tasklist@c-98-208-175-116.hsd1.fl.comcast.net] has quit
["Colloquy for iPhone - http://colloquy.mobi"]
02:29 < vsmatck> ajbentley: your bin directory is probably not in your PATH.
02:30 < Skaperen> trying to download Go using hg but it keeps failing ...
error message is: abort: could not import module _md5!
02:30 -!- jmacelro [n=jmacelro@nat.ironport.com] has quit [Remote closed the
connection]
02:30 < ojm> porting curses?  You are my heroes :)
02:30 < chrome> ojm: hey I didn't say I was :P
02:30 < Skaperen> this is the command I tried: hg clone -r release
https://go.googlecode.com/hg/ /tmp/gotree
02:30 < mjard> chrome: less chatting, more porting
02:31 -!- bgs100 [n=ian@unaffiliated/bgs100] has quit []
02:31 -!- jamesr [n=jamesr@nat/google/x-zieugxahnpggoohw] has quit []
02:31 < chrome> :(
02:31 < ajbentley> $HOME/bin is in my path
02:31 < mjard> :D
02:31 < chrome> do you know how many routines are in ncurses?
02:31 < mjard> ajbentley: echo $GOBIN
02:32 < ojm> six?
02:32 < mjard> chrome: actually, yes I do :\
02:32 < vsmatck> ajbentley: hmm, The quietgcc program is in the bin
directory.
02:32 < chrome> a *lot*
02:32 -!- diabolix [n=jsoyke@c-24-3-115-134.hsd1.pa.comcast.net] has joined
#go-nuts
02:32 < ajbentley> echo $GOBIN says /home/anthony/bin
02:32 < ajbentley> and that's in my path
02:32 -!- robpike [n=robpike@nat/google/x-ptbyvwjgmcwjnyys] has left #go-nuts []
02:33 -!- diabolix [n=jsoyke@c-24-3-115-134.hsd1.pa.comcast.net] has left #go-nuts
["Leaving"]
02:33 < vsmatck> Is it in the $PATH of the terminal you're launching the
build command in?  Like did you do source ~/.bashrc ?
02:33 < mjard> ajbentley: and $GOARCH and $GOOS are set?
02:33 -!- zepolen [n=zepolen@athedsl-407846.home.otenet.gr] has joined #go-nuts
02:34 < ajbentley> GOBIN, GOOS, GOROOT, GOARCH are set, all in one terminal
02:34 < chrome> did you use export?
02:34 -!- diabolix [n=jsoyke@24.3.115.134] has joined #go-nuts
02:34 < ajbentley> oh wait, ksh is my default shell, not bash
02:34 < ajbentley> i put it in .profile and not .bashrc
02:34 < ajbentley> woops
02:35 < mjard> hehe
02:35 < diabolix> is there a place to talk about questions/concerns about
go?
02:35 * mjard adds that to the question list
02:35 < vsmatck> ajbentley: I made exact same mistake when installing it.
:)
02:35 < diabolix> like a forum or wiki?
02:35 < hnsr> what exactly is there difference in bash between doing
"FOO=blah" or "export FOO=blah" ? I've never really understood that
02:35 < Eridius> hnsr: the former doesn't export the variable to the
environment of any subprocesses
02:35 -!- hipe [n=markmeve@69.193.196.185] has quit [Client Quit]
02:36 < hnsr> ahh
02:36 -!- PPilate [n=wotgoes@75.141.254.198] has quit [Read error: 104 (Connection
reset by peer)]
02:36 < tabo> without export you'd have to "FOO=blah cmd" every time you use
cmd
02:36 < hnsr> i see
02:36 < ajbentley> hm, still not working
02:36 -!- matt7340 [n=matt@71-217-240-206.dlth.qwest.net] has joined #go-nuts
02:37 < vsmatck> Can you launch the quietgcc program from outside the bin
directory without the full path to it?
02:37 < chrome> anyone else think interfaces in go are freaking awesome?
02:37 < ajray> i do!
02:37 < chrome> or at least moderately exciting
02:37 < mjard> I'll give you a woo
02:37 -!- owen__ [n=owen@ta-1-91.tip.net.au] has joined #go-nuts
02:37 < dgnorton> chrome: it's building.  thanks.  Is the install guide
wrong about the default?
02:38 < chrome> awesome.
02:38 < JBeshir> Hmm.  What's Go's answer to C++'s std::set?
02:38 < chrome> dgnorton: I don't know, i just had success only once I set
all 4
02:38 < chrome> and made sure bin was writable
02:38 -!- nutate [n=rseymour@cacsag4.usc.edu] has quit ["I'm outta heee-eere"]
02:38 < Eridius> JBeshir: I imagine you could make a set API pretty easily
based on map
02:38 < JBeshir> I see lists, vectors, and maps, but the only one of those
usable without lots of sorting logic is probably the map.
02:39 < ajbentley> "which quietgcc" says /home/anthony/bin/quietgcc, running
that says "bad interpreter: no such file or directory"
02:39 < ajray> does the emacs files support tab-completing methods (im not
good enough w/ emacs to figure it out)
02:39 -!- mwarning [n=mwarning@ip-78-94-226-217.unitymediagroup.de] has quit
["Leaving"]
02:39 < vsmatck> ajbentley: hmm, sounds like it is finding the program.
02:39 < chrome> ajbentley: i think its just a shell script; check the
shebang line
02:40 < kuroneko> ajbentley: what are you running on?
02:40 < ajbentley> aha
02:40 < ajbentley> bash is /usr/local/bin/bash here, that must be it
02:40 < tabo> is that on bsd?
02:40 < ajbentley> yes
02:40 < chrome> dont think thats supported
02:40 < tabo> that line should be #!/usr/bin/env bash
02:40 < tabo> (or just sh)
02:40 < spvensko> what do you guys think about this issue 9 stuff that's
going on?
02:41 < chrome> Choices for $GOOS are linux, darwin (Mac OS X 10.5 or 10.6),
and nacl (Native Client, an incomplete port).
02:41 < kuroneko> spvensko: does it really matter?
02:41 -!- annodomini [n=lambda@c-75-69-96-104.hsd1.nh.comcast.net] has joined
#go-nuts
02:41 < Eridius> spvensko: I think it's pretty silly
02:41 < chrome> you need a mac or linux :P
02:41 < tabo> ah, no bsd support?
02:41 < spvensko> was just curious kuroneko, didn't mean to offend
02:41 < kuroneko> spvensko: I'm not offended - I just don't think it matters
:)
02:41 < kuroneko> either somebody will change a name, or nobody does, go!
goes back into obscurity and go continues on happily
02:42 -!- hiromtz [n=hiromtz@h028.p027.iij4u.or.jp] has joined #go-nuts
02:42 < tabo> that guy should be happy, I guess lots of people accidentally
bought his book :P
02:42 -!- AirBreather [n=joe@amentajo-6.user.msu.edu] has quit [Remote closed the
connection]
02:42 -!- Blazeix [n=wafuqua@24.169.235.59] has joined #go-nuts
02:43 < chrome> if anyone is interested, I wrote a simple telnet talker in
go: http://codepad.org/fkYkZwEd
02:43 -!- red1 [n=red1@60.48.84.0] has quit []
02:43 -!- Sgeo [n=Sgeo@ool-18bf618a.dyn.optonline.net] has quit [Read error: 54
(Connection reset by peer)]
02:43 < chrome> it has lots of bugs and does many dumb things, but it works
02:43 -!- RockOn [n=robert@s66-76-56-215.parscmta01.parstx.tl.sta.suddenlink.net]
has quit ["Lost terminal"]
02:44 -!- Pilate [n=wotgoes@75.141.254.198] has joined #go-nuts
02:45 < hiromtz> hi i tried MinGW/Windows compile but failed..  hmm..  let's
wait official release :)
detail->>http://wikihouse.com/golang/?installwin_2009_11_12result
02:45 < chrome> its not ported to windows yet.
02:45 < ojm> you should port every thing to Go so that Gentoo could compile
everything really fast
02:45 < chrome> don't waste your time.
02:45 < kuroneko> ojm: you're missing a few reallys ;)
02:46 < ajbentley> success!
02:46 < ajbentley> ooh, almost
02:46 < kuroneko> ajbentley: you're using FBSD?
02:46 < kfx> the distro should then be renamed 'Gotoo' and be considered
harmful
02:46 -!- timepilot [n=timepilo@c-24-91-16-174.hsd1.ma.comcast.net] has quit
["WeeChat 0.3.0"]
02:46 < ojm> DE made with this could become defacto in Gentoo :)
02:46 -!- webbpa [n=chatzill@c-68-40-49-170.hsd1.mi.comcast.net] has joined
#go-nuts
02:47 -!- engla [n=ulrik@wikipedia/Sverdrup] has quit [Success]
02:47 -!- OxB001 [n=mathieu@bas1-quebec03-1177632835.dsl.bell.ca] has quit
["leaving"]
02:47 < ajbentley> kuroneko: openbsd
02:47 < spvensko> ajbentley: as your main OS?
02:47 < kuroneko> you realise even if you do get it to build
02:47 < kuroneko> that it'll produce linux binaries, not OBSD binaries,
right?
02:48 < ajbentley> spvensko: yes, kuroneko: no, but now i do ;)
02:48 -!- acts_as_david [n=acts_as_@c-76-119-235-44.hsd1.ma.comcast.net] has left
#go-nuts []
02:49 < kuroneko> ajbentley: If you're feeling adventurous, you could try
modifying [58]l to produce an OpenBSD elf header and use OpenBSD syscalls
02:49 -!- PabloG [n=pablogro@200.61.226.188] has joined #go-nuts
02:49 < PabloG> Hello
02:49 < diabolix> does go position itself as a c replacement?  it seems like
it intends to be somewhere between C and Java, but not replacing either.
02:49 < danopia`> ajbentley, and then push it back up to the main hg reop :P
02:49 < kuroneko> but I'm not the best person to ask about these things.  :)
02:49 < PabloG> Someone make any app with go?
02:50 -!- kota1111 [n=kota1111@gw2.kbmj.jp] has joined #go-nuts
02:50 < danopia`> define 'app'
02:50 < hiromtz> chrome; thank you i understand not ported windows, i just
try and look source :)
02:50 -!- tetha [n=hk@pD9EE506C.dip.t-dialin.net] has quit [Nick collision from
services.]
02:50 < PabloG> application like tests app.
02:50 -!- tetha [n=hk@pD9EE4847.dip.t-dialin.net] has joined #go-nuts
02:50 < danopia`> sure
02:50 < JBeshir> I'm boredly writing the core of an IRC bot in it to learn
the language.
02:50 < danopia`> there's a hello world or so
02:50 < hiromtz> ..(want to) look source
02:50 < Eridius> JBeshir: oh hey, that's a good idea
02:50 * Eridius hasn't come up with a random sample project yet
02:50 < diabolix> can go even interface to C libraries through any sane
means yet?
02:50 -!- benno [n=benno@vl10.gw.ok-labs.com] has joined #go-nuts
02:51 -!- lindsayd [n=lindsayd@nat/cisco/x-fkazxdzojpqgjbyp] has quit ["Client
exiting"]
02:51 < PabloG> its has a net package for works with sockets
02:51 < kuroneko> diabolix: gccgo should be able to (if you can get it to
build >_< )
02:51 < Amaranth> an IRC bot is a great way to learn a language
02:51 < Eridius> my usual go-to is Project Euler, but that gets boring fast,
and it's really just math problems so it doesn't touch upon the majority of
languages
02:51 * JBeshir tries to figure out his latest issue: somemap["newstring"] =
new(SomeStructure); is segfaulting
02:51 < bobappleyard1> in the process of writing a lisp interpreter in it
02:51 -!- decriptor [n=decripto@53.250.sfcn.org] has joined #go-nuts
02:51 < Amaranth> you figure out sockets, strings, etc
02:51 < danopia`> i was going to write an IRCd in it
02:51 < AirCastle> irc bots are fun
02:51 < JBeshir> An IRCD is hard to do usefully
02:51 < AirCastle> although i'm starting to wish i hadn't used twisted for
mine
02:51 < danopia`> i wrote 3 so far in 3 different langauges
02:52 < danopia`> unless you count mIRC script xD
02:52 < PabloG> ow
02:52 < JBeshir> I mean, you can get one working quickly enough, but the bot
can actually be useful without months of work.
02:52 * Eridius wonders if it's really feasible to write a Cocoa bridge for Go
02:52 < AirCastle> i'm writing a full irc client in python/pyqt/twisted
02:52 -!- brunov [n=bruno@190.191.110.64] has quit [Read error: 145 (Connection
timed out)]
02:52 < AirCastle> it already has scripting capability
02:52 < AirCastle> i wrote a trivia bot script to test it
02:52 < AirCastle> :D
02:52 < PabloG> what about go mans
02:52 -!- skx [i=skx@217.17.32.190] has joined #go-nuts
02:52 < PabloG> lets talk about go
02:52 < danopia`> the test scripts are most fun in writing scripting stuff
:)
02:53 < Eridius> hrm, Cocoa bridge is actually probably not possible right
now, given that IIRC you can't call into Go from C
02:53 < JBeshir> Sure.
02:53 -!- skx [i=skx@217.17.32.190] has left #go-nuts []
02:53 < Eridius> I will ask the same question I asked yesterday: who will
write the first Go AI in Go?
02:53 < JBeshir> How do you insert into a map?
02:53 -!- freenose [n=freenose@204.97.199.7] has joined #go-nuts
02:53 < JBeshir> 'cause somemap["string here"] = new(SomeStruct) seems to be
segfaulting.
02:53 -!- awalton [n=awalton@76.177.53.219] has quit [Read error: 60 (Operation
timed out)]
02:54 < spvensko> ajbentley: if you don't mind me asking, why are you using
obsd as your main OS?
02:55 -!- fgb [n=fgb@190.246.85.45] has left #go-nuts []
02:55 < kuroneko> Eridius: Go AIs are amazingly non-trivial
02:55 < kuroneko> although, Chess OTOH...
02:55 -!- teedex [n=teedex@204.14.155.161] has quit [Remote closed the connection]
02:55 < Eridius> kuroneko: yeah I know
02:55 < kuroneko> much simpler rules, much simpler move trees
02:55 < me__> spvensko: why not?
02:55 -!- wgl [n=wgl@216.145.227.9] has left #go-nuts ["rcirc on GNU Emacs
22.2.1"]
02:55 < Eridius> the best Go AI is still just a good amateur player, right?
02:55 < uman> who will be the first to write a Klondike Solitaire AI in Go?
02:55 -!- rockon [n=robert@s66-76-56-215.parscmta01.parstx.tl.sta.suddenlink.net]
has joined #go-nuts
02:56 * kuroneko starts his *third* recompile of gccgo
02:56 < kuroneko> second one blew up during third-stage compile of libgo
02:56 < kuroneko> getting closer at least.  :)
02:56 < me__> kuroneko: what kind of system?
02:56 < rockon> make.bash: line 20: /bin/quietgcc: Permission denied
02:57 < rockon> any suggestions?
02:57 < PabloG> aha
02:57 < Eridius> how do you even compile gccgo?  Running all.bash only gave
me the plan9-style compilers
02:57 < kuroneko> me__: Ubuntu 9.10 on amd64
02:57 < Innominate> jbeshir: try make()ing the map before using it
02:57 < spvensko> me__: i always imagined obsd as having a very limited
software library
02:57 < kuroneko> Eridius: seperate repo
02:57 < PabloG> chmod +x /bin/quitegcc
02:57 < Eridius> ahhh
02:57 < kuroneko> rockon: set GOBIN
02:57 < JBeshir> Innominate: It's in a structure.  How can I do that?
02:57 < me__> spvensko: fair.  I us Dragonfly bsd on my desktop, i can
sympathize
02:57 < Innominate> good question, duno heh
02:57 < Ycros> what's the easiest way to read the entire contents of a
Reader into a string?
02:57 -!- tar_ [n=tom@c-67-180-208-162.hsd1.ca.comcast.net] has joined #go-nuts
02:57 < rockon> i think i set gobin to the wrong directory
02:58 -!- freenose [n=freenose@204.97.199.7] has left #go-nuts []
02:58 < kuroneko> rockon: that would suggest it's set to an empty string to
me
02:58 < kuroneko> err, or /bin
02:58 < kuroneko> which is bad
02:58 < rockon> i set it to bin
02:58 -!- diabolix [n=jsoyke@24.3.115.134] has left #go-nuts ["Leaving"]
02:58 < rockon> how can i know which to set it to
02:58 < PabloG> use sudo
02:58 < bobappleyard1> i just left GOBIN blank
02:59 < PabloG> for the execution.  cos you have some privliages problems
02:59 < kuroneko> I would suggest setting it to /usr/local/bin or ~/bin
02:59 < PabloG> its easy to solve
02:59 < rockon> Thanks
02:59 < kuroneko> PabloG: except the tests fail as root.
02:59 < bobappleyard1> leaving GOBIN blank defaults it to ~/bin
02:59 < PabloG> ok set chmod -R 777 /
02:59 < PabloG> ahahaha
02:59 < kuroneko> bad PabloG!  bad!  :)
02:59 -!- hebroon [n=hebroons@p4bcd08.hkidnt01.ap.so-net.ne.jp] has joined
#go-nuts
03:00 < bobappleyard1> PabloG: being mean to n00bs i see
03:01 < PabloG> ahaha its just a joke!!
03:01 < ajbentley> spvensko: i'm just used to it, it's the first non-window
os i've used and it has enough programs for me (web browser, mail client, irc...)
03:01 < kuroneko> PabloG: you should know better than to joke about such
things with the inexperienced present - they might actually do it >_<
03:01 < ajbentley> of course software is always a battle, as demonstrated by
the fact that go still won't build here :P
03:02 < me__> ajbentley: what are you on?
03:02 < PabloG> ok sorry thats right.
03:02 -!- bobappleyard1 [n=bob@cpc4-macc1-0-0-cust170.bagu.cable.ntl.com] has quit
["Leaving."]
03:02 -!- jcgregorio [n=chatzill@203.39.247.241] has quit ["ChatZilla 0.9.85
[Firefox 3.5.5/20091102152451]"]
03:02 < ajbentley> me__: openbsd i386
03:02 < Rob_Russell> Ycros: i haven't tried it, but i think: line, err =
rd.ReadString();
03:02 -!- xuwen [n=xuwen@adsl-99-157-74-219.dsl.pltn13.sbcglobal.net] has quit []
03:02 < chrome> ajbentley: its not supported on *bsd
03:02 < PabloG> sorry for all.
03:02 < chrome> ajbentley: you need linux or macos
03:02 < Ruonkrak> so when's the go git repository going live ^_^
03:02 < ajbentley> i know chrome, but i thought i'd try anyway
03:02 -!- meunierd [n=devon@76-10-165-175.dsl.teksavvy.com] has joined #go-nuts
03:02 < me__> ajbentley: so i'm working on a port to Dragonfly atm.  how
different is openbsd?
03:03 < Ruonkrak> otherwise, i'm going to tar it up and send it to my
firewalled work account
03:03 < rockon> total noob question, what command do i need to use after
editing bashrc for the changed to take effect?
03:03 -!- toumbia [n=toumbia@216.144.118.20] has joined #go-nuts
03:03 -!- Dreamr_3 [n=Dreamer3@96-28-100-3.dhcp.insightbb.com] has quit ["This
computer has gone to sleep"]
03:03 < Ruonkrak> rockon: . .bashrc
03:03 < ajbentley> i don't really know, haven't tried the others
03:03 -!- bobappleyard1 [n=bob@cpc4-macc1-0-0-cust170.bagu.cable.ntl.com] has
joined #go-nuts
03:04 < me__> ajbentley: i meant, does it have stuff like rfork() and a
thread local storage?
03:04 < Rob_Russell> rockon: if you have a large/complex/ugly .bashrc, you
can also just close the terminal & open a new one
03:04 < spvensko> ajbentley: do you use X? or just CLI?
03:04 < ajbentley> me__: that's beyond me
03:04 < rockon> thanks
03:04 -!- digimunk [n=chatzill@cpe-173-172-8-43.tx.res.rr.com] has joined #go-nuts
03:04 -!- gointrigue [i=ad1a7bb7@gateway/web/freenode/x-lfgbkojacxwjdjnp] has
joined #go-nuts
03:04 < ajbentley> spvensko: i use x, with cwm (comes by default)
03:04 -!- teedex [n=teedex@204.14.155.161] has joined #go-nuts
03:05 -!- existsec_ [n=existsec@76-228-31-64.lightspeed.frokca.sbcglobal.net] has
quit ["Leaving"]
03:05 -!- Blazeix [n=wafuqua@24.169.235.59] has left #go-nuts []
03:05 -!- Arek [n=arek@76-10-138-81.dsl.teksavvy.com] has joined #go-nuts
03:05 -!- tor7 [n=tor@c-987a71d5.04-50-6c756e10.cust.bredbandsbolaget.se] has quit
[]
03:06 < Ycros> Rob_Russell: ReadString only exists on bufio.Reader, not on
io.Reader, and it takes a delimiter to stop on - I just want to read the whole
thing into a string
03:06 < dgnorton> chrome: also had to "hg pull -u" before ./all.bash would
run clean
03:07 < ajbentley> anyway, i got it to build as far as it did by specifying
bash and gnu make instead of the defaults, but it dies building gopack
03:07 < Ruonkrak> was pleasantly surprised that ./all.bash ran clean (second
time) on Ubuntu after all prereqs were installed (386)
03:07 < Ycros> Rob_Russell: I mean, it works, if I pass in null as a
delimiter byte, and work on err == EOF.  But I have to create a buffered reader in
between as well.  It feels too verbose, and like there should be a simpler way of
doing it
03:07 < bobappleyard1> Ycros: io.ReadAll ??
03:07 < me__> ajbentley: do you have the error message?  also, at least on
dfly, with torque it can be made to build, but 8l will only generate linux
binaries.
03:08 < me__> (linux or $GOOS as the case may be)
03:08 -!- ayo [n=nya@f051102245.adsl.alicedsl.de] has quit
["EXEC_over.METHOD_SUBLIMATION"]
03:08 < Ycros> bobappleyard1: that gets me to a byte array, how do I get
that to a string?
03:08 < ajbentley> quietgcc -ggdb -I/home/anthony/golang/include -O2
-fno-inline -c /home/anthony/golang/src/cmd/gopack/ar.c
03:08 -!- wcr [n=wcr@unaffiliated/warcrime] has joined #go-nuts
03:09 < ajbentley> src/cmd/gopack/ar.c:1222: warning: passing argument 1 of
'ctime' from incompatible pointer type
03:09 < bobappleyard1> Ycros: one minute
03:09 < Rob_Russell> Ycros: bytes.Buffer.String() will do it
03:09 < bobappleyard1> Ycros: there you go
03:09 < Ycros> cool.
03:09 < ajbentley> that's gcc 4.2.4, same message on 3.3.5
03:09 < spvensko> ajbentley: you've convinced me to try it out
03:10 < ajbentley> spvensko: cool
03:10 < PabloG> Google is watching us.
03:10 < mjard> oh shit
03:10 -!- mjard [n=k@70.114.138.168] has left #go-nuts []
03:10 < PabloG> shh
03:10 < me__> ajbentley: that's just a warning; the build should continue
03:10 < Ycros> Rob_Russell: so I guess I have to NewBuffer up a buffer.
Hmmmmm.
03:11 < ajbentley> me__: it stops, next line is "make: *** [ar.o] Error 1"
03:12 -!- mxcl [n=mxcl@94-193-125-246.zone7.bethere.co.uk] has joined #go-nuts
03:12 < Rob_Russell> Ycros: it's messy but this might be enough code to show
where i used it http://pastie.org/694815
03:12 -!- brunov [n=bruno@190.191.110.64] has joined #go-nuts
03:13 -!- catron [n=beta@ip68-97-61-240.ok.ok.cox.net] has joined #go-nuts
03:14 -!- m-takagi_ is now known as m-takagi
03:14 < Ycros> Rob_Russell: I know how to use it, I still feel it's a little
too much work
03:14 < gointrigue> Ok I am stuck on this $PATH deal
03:14 -!- darthlukan [n=darthluk@cpe-75-85-80-48.socal.res.rr.com] has joined
#go-nuts
03:14 -!- muthu [n=chatzill@12.156.138.2] has joined #go-nuts
03:14 < gointrigue> $GOBIN is not a directory or does not exist create it or
set $GOBIN differently
03:14 < darthlukan> good evening everyone
03:15 -!- werdan7 [n=w7@freenode/staff/wikimedia.werdan7] has quit ["Lost
terminal"]
03:15 < Ycros> Rob_Russell: though you get []byte out of ReadFile, whereas I
start from a Reader which I first have to read into a byte array.  Dunno.
03:15 -!- Arek [n=arek@76-10-138-81.dsl.teksavvy.com] has left #go-nuts []
03:15 < darthlukan> gointrigue: $mkdir ~/bin
03:16 < gointrigue> my path
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games
03:16 -!- devewm [n=eric@96.36.85.2] has joined #go-nuts
03:16 < darthlukan> gointrigue: that's great, mkdir /home/yourname/bin
03:16 < kfx> export PATH="$PATH:$HOME/bin"
03:17 -!- matei [n=matei@c-69-181-219-249.hsd1.ca.comcast.net] has quit []
03:17 < ajbentley> me__: looking at gccquiet.bash, it looks like that stops
the build on purpose
03:17 -!- benno [n=benno@vl10.gw.ok-labs.com] has quit ["leaving"]
03:17 < gointrigue> shit, I didn't capitolize path in that
03:17 < gointrigue> how do I delete it?  lol
03:17 < ajbentley> quietgcc.bash*
03:17 < catron> is there any straightforward way to begin wrapping libraries
into Go?
03:18 < catron> C/C++
03:18 < catron> cgo looks pretty rudimentary
03:18 < doublec> cgo seems to be the way
03:18 < catron> hmm..  okay
03:18 < doublec> you could cgo around libffi and then use that maybe
03:19 < catron> I will play around a little more then..  thanks
03:19 < kfx> or just port the library
03:19 -!- SiegeLord [n=siege@pool-71-124-166-56.bstnma.east.verizon.net] has quit
[Remote closed the connection]
03:19 -!- PabloG [n=pablogro@200.61.226.188] has quit [Read error: 60 (Operation
timed out)]
03:19 < kfx> why bother switching to a new language if you're just going to
drag all your old cruft along with you
03:19 < Eridius> heh, /r/golang already exists
03:19 < doublec> because sometimes you just want to get a task done
03:19 < doublec> not implement the world required to even start the task
03:19 -!- mpurcell|afk is now known as mpurcell|bed
03:19 < Ycros> Rob_Russell: what language did you select at pastie - C ?
03:20 < kuroneko> yo Ycros.  fancy running into you here.  :)
03:20 < catron> What support does Go have for X11?  The draw package
mentions it but I haven't found anything else
03:20 < Ycros> kuroneko: hello :)
03:20 -!- Fish-- [n=Fish@78.238.225.114] has quit [Read error: 60 (Operation timed
out)]
03:20 < kfx> doublec: if you're in a hurry to ship a program go might not be
the answer
03:21 < me__> yay!!!  an 8l produced binary is running on bsd!
03:21 -!- asyncster [n=asyncste@206.169.213.106] has quit [Read error: 145
(Connection timed out)]
03:21 < doublec> kfx, I'm mainly referring to playing around with the
language.
03:21 < catron> Go should support all POSIX compliant systems if I am not
mistaken
03:21 < me__> catron: totally not yet.
03:21 < doublec> kfx, in general though I do agree that writing native stuff
in the language is more interesting
03:21 < catron> oh?
03:21 -!- Fish-- [n=Fish@78.238.225.114] has joined #go-nuts
03:22 < me__> look at src/pkg/runtime/linux for good times.
03:22 < gointrigue> I am more or less interested in writing a threaded
non-blocking server daemon for my windows app, if I use Go, then I can host the
server on my existing linux box and still be able to write the UI and what not
with WPF/C# under windows.
03:22 < gointrigue> However, doesn't seem to be many examples of using Go's
netcode.
03:22 < Ycros> Rob_Russell: I mean, look how I'm using it -
http://pastie.org/694825 - seems to me like I should be able to do that with less
code
03:23 < JBeshir> gointrigue: You mean basic sockets?
03:23 < catron> me__: The implementation seems to be minimal
03:23 < rockon> GOT IT!
03:23 < gointrigue> yar
03:23 -!- muri_one [n=muri_one@pool-74-109-192-183.pitbpa.fios.verizon.net] has
joined #go-nuts
03:23 < JBeshir> gointrigue: http://pastebin.com/m55eff7cb <-- I have a
crappy-but-works-20%-of-a-shell-of-an-IRC-bot.
03:23 < gointrigue> nifty
03:23 -!- visionjinx [n=visionji@114.49.220-216.q9.net] has joined #go-nuts
03:23 < gointrigue> More looking for the server side of it though
03:23 -!- red1 [n=red1@115.132.80.145] has joined #go-nuts
03:23 < JBeshir> Ah.
03:23 -!- goto [n=zero@h-74-1-130-205.lsanca54.static.covad.net] has joined
#go-nuts
03:24 < Ycros> gointrigue: there's http serving stuff in go, look at the
sources of that
03:24 < me__> catron: the dependence on the structure of the OS's TLS,
making syscalls by itself (the runtime doesn't link libc),
03:24 < catron> ah
03:24 < Ycros> gointrigue: infact golang.org is running on go I believe
03:24 < me__> catron: knowldege in 8l of how to make linux elfs (and darwin
mach-o) only...
03:24 < doublec> catron, there's some example code using SDL
03:24 < Rob_Russell> Ycros: don't know what language i picked on pastie
03:24 < doublec> catron, http://gist.github.com/232088
03:24 < catron> thanks me__ and doubnlec
03:24 < doublec> (found from the reddit go-lang area)
03:25 < catron> *doublec
03:25 -!- taybin [n=taybin@24.42.93.107] has joined #go-nuts
03:25 < Ycros> Rob_Russell: your code fragment seems to highlight better
than mine - I picked C/C++, but anyway it's still readable
03:25 -!- ryoohki [n=ryoohki@208.96.15.252] has quit [Read error: 110 (Connection
timed out)]
03:25 < Rob_Russell> Ycros: your code looks fine, i think it could look
shorter in other languages if the error-checking is left out
03:26 < gointrigue> Ycros, not HTTP, though.
03:26 < Ycros> Rob_Russell: it could, but I don't like going Reader ->
[]byte -> Buffer -> string, it feels like I should be able to go Reader
-> String
03:26 -!- hennie [n=user@c-98-220-219-111.hsd1.in.comcast.net] has joined #go-nuts
03:26 < gointrigue> Like, straight TCP sockets
03:26 < gointrigue> maybe even UDP
03:26 < Rob_Russell> Ycros: ahh
03:26 < Ycros> gointrigue: yes, but the http server obviously has to use TCP
sockets underneath
03:26 < gointrigue> True
03:27 < rockon> wow i was about to give up, then i got it :)
03:27 < Ycros> gointrigue: ie.  in http://golang.org/src/pkg/http/
03:28 < goto> is windows support planned?
03:28 < Ycros> gointrigue: check func ListenAndServe in server.go in that
dir as an entrypoint
03:28 < Ycros> gointrigue: it uses the "net" package
03:28 < Rob_Russell> Ycros: but io.Reader just gets you the bytes, so you
have to do something to parse it.  with ascii in C we used to be able to skip that
:)
03:28 < catron> Is SWiG integration underway?
03:29 -!- teedex [n=teedex@204.14.155.161] has quit [Remote closed the connection]
03:29 < JBeshir> Hmm.
03:29 -!- spvensko [n=spvensko@rrcs-24-199-144-166.midsouth.biz.rr.com] has quit
[Read error: 104 (Connection reset by peer)]
03:29 < JBeshir> How is Go supposed to compare to C in memory usage?
03:29 < Ycros> Rob_Russell: yes, yes, I just think that I should be able to
get a string without having to allocate and create an intermediary []byte
array/slice and a buffer on top
03:29 -!- ArekZB [n=arek@76-10-138-81.dsl.teksavvy.com] has joined #go-nuts
03:29 < Ycros> Rob_Russell: because getting strings out of readers (ie.  to
print them out) seems commonish
03:29 < ArekZB> gointrigue: are you still having problems ?
03:29 < Rob_Russell> Ycros: yeah, since there's a WriteString in io, i don't
see why there isn't a ReadString
03:30 < Ycros> Rob_Russell: I mean, for the readline case (ie.  parsing
line-based network protocols) we have a ReadString in bufio - but its delimiter is
a mandatory argument
03:31 < kuroneko> Rob_Russell: you'll find readline in bio probably
03:31 -!- red1 [n=red1@115.132.80.145] has quit [Read error: 60 (Operation timed
out)]
03:31 -!- leimy [n=dave@pool-71-164-13-100.sttlwa.fios.verizon.net] has joined
#go-nuts
03:31 -!- slicslak [n=slicslac@c-68-50-207-133.hsd1.dc.comcast.net] has quit [Read
error: 60 (Operation timed out)]
03:32 < kuroneko> sorry, bufio
03:32 -!- ob211 [n=ob211@pool-68-238-116-200.atl.dsl-w.verizon.net] has joined
#go-nuts
03:32 -!- ob211 [n=ob211@pool-68-238-116-200.atl.dsl-w.verizon.net] has left
#go-nuts []
03:33 -!- thomas__ [n=thomas@pool-68-238-116-200.atl.dsl-w.verizon.net] has joined
#go-nuts
03:33 < kuroneko> Rob_Russell: in fact, see ReadString in bufio.Reader
03:33 -!- hiromtz [n=hiromtz@h028.p027.iij4u.or.jp] has quit [Read error: 110
(Connection timed out)]
03:34 -!- goto [n=zero@h-74-1-130-205.lsanca54.static.covad.net] has quit
["Leaving"]
03:34 < Ycros> kuroneko: I just mentioned that :)
03:34 -!- RadSurfer [n=RadSurfe@unaffiliated/radsurfer] has joined #go-nuts
03:34 < kuroneko> Ycros: yeah, ok, I'm a ltitle behind today.  sleepy and
all
03:35 < kuroneko> from too much EVE + fighting with gccgo + work
03:35 < gointrigue> ArekZB: Not at the moment
03:35 -!- benjack [n=Ben@bb220-255-39-201.singnet.com.sg] has quit []
03:35 < Rob_Russell> kuroneko: hehe, yeah, i've been in to bufio already
03:35 < Ycros> kuroneko: I haven't tried gccgo yet, but the default compiler
works wonderfully
03:35 -!- hipe [n=markmeve@pool-96-232-221-238.nycmny.east.verizon.net] has joined
#go-nuts
03:36 < kuroneko> Ycros: I'm only trying gccgo because I want to bridge into
curses
03:36 -!- slicslak [n=slicslac@c-68-50-207-133.hsd1.dc.comcast.net] has joined
#go-nuts
03:36 < kuroneko> and because having an ABI "compatible" interface would be
nice
03:36 -!- dschn [n=dschn@pool-70-19-224-19.bos.east.verizon.net] has quit [Read
error: 60 (Operation timed out)]
03:36 -!- brianski1 [n=ski@c-69-250-146-253.hsd1.dc.comcast.net] has quit
["Leaving."]
03:36 < kuroneko> don't really want to have to reinvent curses for go.
03:36 -!- thomas__ [n=thomas@pool-68-238-116-200.atl.dsl-w.verizon.net] has quit
[Client Quit]
03:37 < Rob_Russell> kuroneko: so gccgo is needed for the C FFI?
03:37 -!- Counterspell [n=noname@adsl-99-18-61-121.dsl.irvnca.sbcglobal.net] has
quit [Read error: 104 (Connection reset by peer)]
03:38 < Ycros> there is cgo, which has been mentioned in here before, don't
know how nice it is to use though
03:39 < rbancroft> they are working on swig
03:39 -!- ajray [n=alex@wvc32563rh.rh.ncsu.edu] has left #go-nuts []
03:40 -!- ob211 [n=thomas@68.238.116.200] has joined #go-nuts
03:40 < rbancroft> rob mentioned it in the google talk
03:40 < kuroneko> cgo compiles C code to match the go compiler's ABI
03:40 < kuroneko> whereas gccgo compiles go code to match the system ABI
03:40 -!- carllerche [n=carllerc@c-69-181-129-204.hsd1.ca.comcast.net] has joined
#go-nuts
03:41 -!- mxcl_ [n=mxcl@94-193-125-246.zone7.bethere.co.uk] has joined #go-nuts
03:41 < dgnorton> guessing debugger support is very limited at this point?
03:41 -!- Skaperen [n=phil@c-76-125-202-149.hsd1.wv.comcast.net] has left #go-nuts
[]
03:41 < Rob_Russell> dgnorton: yeah, but see the Ogle package if you're
curious
03:41 < Ycros> rbancroft: they're working on swig for C++ stuff, not so much
for C stuff
03:41 < kuroneko> also, gccgo uses the gcc linker, etc, and all the
headaches and lack of performance to go with it too I'm sure
03:41 -!- cking [n=chatzill@38.109.100.154] has left #go-nuts []
03:41 < kuroneko> well, lack of compiler performance.
03:42 < dgnorton> Rob_Russell, thx
03:42 < kuroneko> I'm sure the output code is fine :)
03:42 -!- d_rwi1 [n=mael@121.245.73.34] has joined #go-nuts
03:42 -!- wimpog [n=wimpog@pool-151-203-160-148.wma.east.verizon.net] has joined
#go-nuts
03:42 -!- punya [n=punya@24.19.57.173] has quit [Read error: 145 (Connection timed
out)]
03:42 -!- wimpog [n=wimpog@pool-151-203-160-148.wma.east.verizon.net] has left
#go-nuts []
03:43 -!- wimpog [n=wimpog@pool-151-203-160-148.wma.east.verizon.net] has joined
#go-nuts
03:43 -!- wimpog [n=wimpog@pool-151-203-160-148.wma.east.verizon.net] has left
#go-nuts []
03:43 -!- red1_ [n=red1@115.132.80.145] has joined #go-nuts
03:43 -!- wimpog [n=wimpog@pool-151-203-160-148.wma.east.verizon.net] has joined
#go-nuts
03:43 -!- d_rwi1 [n=mael@121.245.73.34] has left #go-nuts []
03:43 -!- gzt [n=gzt@24-151-178-146.dhcp.kgpt.tn.charter.com] has quit []
03:43 < Rob_Russell> kuroneko: sounds good, maybe by the time i'm ready to
call into C libraries someone will have an easy gccgo how-to for me :)
03:43 -!- homovitruvius [n=maurizio@pool-72-95-253-175.pitbpa.east.verizon.net]
has quit [Remote closed the connection]
03:43 < Ycros> kuroneko: so, why'd you pick gccgo over cgo then?
03:44 < kuroneko> Ycros: I'm not compiling ncurses with cgo.
03:44 < Ycros> kuroneko: I'm just looking at the cgo libgmp wrapper in the
source
03:44 -!- slicslak [n=slicslac@c-68-50-207-133.hsd1.dc.comcast.net] has quit [Read
error: 60 (Operation timed out)]
03:44 < kuroneko> also, I'm interested in making gccgo work on insane
platforms ;)
03:44 < kuroneko> I've been busy trying to get it to build on my Sol10 box
at home
03:44 < me__> kuroneko: good luck.
03:44 -!- Neil [n=neil@91.104.17.45] has joined #go-nuts
03:45 < kuroneko> whereas I'm not quite up for rewriting kc/kg/ka/kl yet
03:45 < Ycros> kuroneko: uh, it doesn't look like they compiled libgmp with
cgo, just a wrapper around it
03:45 < me__> kuroneko: they're available, as part of inferno, fwiw.
03:45 < kuroneko> me__: I'm well aware of that
03:45 < kuroneko> you just dont' know kc/ka/kl very well, do you?
03:45 * kuroneko cringes
03:46 < me__> no..  that bad?
03:46 < kuroneko> plan9's use of kc is extremely ABI incompatible
03:46 < me__> cheers.  howso?
03:47 -!- Neil [n=neil@91.104.17.45] has quit [Client Quit]
03:47 < kuroneko> no register window guards or usage - happily stomp all
over the full register set, and ignore the precidence of where SP/FP are supposed
to sit.
03:47 < kuroneko> you can try to stub out, which is what I was doing in my
sun4m tree for plan9
03:47 < catron> I was thinking of writing an eclipse plugin for Go. Is there
such a project already?
03:48 -!- dakii [n=Tyler@c-98-244-28-143.hsd1.ca.comcast.net] has joined #go-nuts
03:48 < Ycros> catron: probably not, go for it
03:48 < catron> cool
03:48 * Ycros happily continues using emacs
03:48 < catron> :P
03:48 < catron> I use emacs for some stuff, but eclipse is very nice
03:48 < kuroneko> but in the end, I had some horribly problem with not being
able to get the SP quite right
03:48 < ajbentley> i got everything except cov and prof to build on openbsd
03:48 < kuroneko> because ABI SP and 9 SP sit on different registers
03:49 < Ycros> catron: I mean, go includes emacs and vim plugins in the
source
03:49 -!- slicslak [n=slicslac@68.50.207.133] has joined #go-nuts
03:49 < kuroneko> kc/ka/kl probably can be made ABI-safe, but i haven't
tried yet
03:49 -!- Fish-- [n=Fish@78.238.225.114] has quit [Remote closed the connection]
03:49 < ajbentley> compiled a hello world with 8g, and when copied to a
linux box it works fine, woohoo
03:49 < dakii> Is there anyway to get a windows version or is Go reverse
chromed?
03:49 < kuroneko> and they generate sparcv8 code, not v9.
03:49 -!- Aria [n=aredride@coriolis.nbtsc.org] has joined #go-nuts
03:49 -!- MonadRagout [n=ksf@2002:4e36:7bb0:0:0:0:0:1] has joined #go-nuts
03:49 < kuroneko> well, actually, sparcv7
03:49 < kuroneko> and v8 if you turn on the magic "use hwmultiply" flag
03:49 -!- wimpog [n=wimpog@pool-151-203-160-148.wma.east.verizon.net] has quit []
03:50 < sstangl> dakii: there is a way; it requires a port.
03:50 < kuroneko> there is a sparcv9 compiler too which newsham worked on
03:50 < kuroneko> but I haven't looked at it in detail
03:50 < MonadRagout> Is it possible to type a map over a structure
statically?
03:50 -!- Fish-- [n=Fish@78.238.225.114] has joined #go-nuts
03:50 < eydaimon> Eridius: you around?
03:50 -!- paddyez [n=paddy@wikipedia/paddyez] has quit ["Leaving"]
03:51 < dgnorton> this is fun and all but "The Gathering Storm" calls before
bed
03:51 -!- luca__ [n=luca@host29.190-230-2.telecom.net.ar] has joined #go-nuts
03:51 < me__> kuroneko: how far did you get with sun4m?
03:51 < kuroneko> me__: MMU headaches.
03:51 < kuroneko> and swearing at the ABI mismatch
03:52 -!- hennie [n=user@c-98-220-219-111.hsd1.in.comcast.net] has quit [Remote
closed the connection]
03:52 < kuroneko> my resolution was if I was going to finish it, I was going
to make the compiler ABI safe at the very least
03:52 -!- travisbrady [n=tbrady@67-207-96-194.static.wiline.com] has quit []
03:52 < luca__> hello, I'm giving Go a try by porting a small program and I
have a doubt about error handling.  I do an os.Open() and I want to peek at the
errno in case of error
03:52 < luca__> how can I do that?
03:52 -!- dgnorton [n=dgnorton@24.224.99.49] has quit ["Ex-Chat"]
03:52 < kuroneko> so I can call openprom to retrive stuff like physpage map
and hardware config
03:52 < kuroneko> rather than leaving the brute-force probing code in there
03:52 < me__> fair.
03:53 < Ycros> luca__: if you look at the docs, it returns the file as well
as the error
03:53 -!- asonge [n=alex@phpurge.com] has joined #go-nuts
03:53 < gointrigue> Argh :(
03:53 < gointrigue> 8g: command not found
03:53 -!- kmc [n=keegan@206-71-236-70.c3-0.nyw-ubr5.nyr-nyw.ny.cable.rcn.com] has
joined #go-nuts
03:53 < luca__> Ycros: yes, I saw, but I still don't know how can I get the
errno from the error
03:53 < asonge> gointrigue: is $GOBIN part of $PATH?
03:53 < kuroneko> luca__: what's this errno thing?
03:53 < kuroneko> ;)
03:54 < luca__> kuroneko: the error number from the OS
03:54 < gointrigue> It was supposed to be >.<
03:54 < ArekZB> luca__: // It returns the File and an Error, if any.
03:54 < gointrigue> I thought I set it
03:54 < ArekZB> luca__: return NewFile(r, name), nil;
03:54 < kfx> gointrigue: you need to put that export PATH="$PATH:$HOME/bin"
line in your .bashrc
03:55 < kfx> so that it's set in your bash shells
03:55 -!- mxcl [n=mxcl@94-193-125-246.zone7.bethere.co.uk] has quit [Read error:
110 (Connection timed out)]
03:55 < luca__> ArekZB: I know that, but Error is defined as an interface
with just the String method
03:55 < luca__> I want to peek at the errno, because it's ok for me if the
file already exist, but it's an error otherwise (permission problems for example)
03:56 -!- mynameiskristoph [n=mynameis@24-151-181-17.dhcp.kgpt.tn.charter.com] has
joined #go-nuts
03:56 -!- leimy [n=dave@pool-71-164-13-100.sttlwa.fios.verizon.net] has quit []
03:56 < Ycros> luca__: I think you just check if err is os.EEXIST then
03:56 < hensonsturg> if your function has multiple return values, how do you
assign it to variables?
03:56 < me__> kuroneko: i think i did something wrong.  :) i got 8l to
generate a mipseb ecoff?
03:57 < hensonsturg> var1, var2 := MultipleFunc() ?
03:57 < Ycros> hensonsturg: yes
03:57 < kuroneko> me__: umm..  err...  "ow"?
03:57 -!- leimy [n=user@pool-71-164-13-100.sttlwa.fios.verizon.net] has joined
#go-nuts
03:57 < leimy> #haskell
03:57 < luca__> ok, a PathError is returned, and it looks like the Error
attribute from PathError is an Errno...  I guess I have to cast a lot to get to
the errno :S
03:57 < leimy> oops
03:57 < Ycros> leimy: no, not really
03:58 < hensonsturg> Ycros, thanks!
03:58 < asonge> there any vim or editor plugins for go yet?
03:58 < kuroneko> luca__: test against the E...  value you want
03:58 -!- kaib [n=kaib@c-76-102-52-156.hsd1.ca.comcast.net] has joined #go-nuts
03:58 -!- mode/#go-nuts [+v kaib] by ChanServ
03:58 < gointrigue> this time it didn't give me an error
03:58 < kuroneko> luca__: don't look for the number.
03:58 < Ycros> asonge: yes, vim and emacs - look in misc
03:58 < gointrigue> but how do I run the go app?  lol
03:58 -!- bryce_ [n=bryce@c-76-121-192-70.hsd1.wa.comcast.net] has joined #go-nuts
03:58 <+kaib> wcn: sorry, priority interrupt
03:58 < Ycros> asonge: and xcode apparently
03:58 < ArekZB> hmm , i'm pretty sure Open will return nil if perms fail
03:58 < asonge> Ycros: tyvm
03:58 <+kaib> wcn: don't know really.  i think the codegen is ancient, you
might be good.
03:59 <+kaib> wcn: as long as you can jtag into them you can figure things
out.
03:59 < luca__> kuroneko: ?!
03:59 < wcn> kaib: ok, thanks.
03:59 < wcn> kaib: lol, that's a truism.
03:59 < kuroneko> luca__: os defines all the common unix errors
03:59 <+kaib> wcn: most of the instruction set used for codgen is the really
old ones, from late eighties, early nineties.
03:59 < gointrigue> nvm duh, got it
03:59 -!- kenthree [n=kenthree@201.237.76.34] has joined #go-nuts
03:59 < kuroneko> EPERM, ENOENT, etc
04:00 <+kaib> wcn: ep, get output and you are fine ..  :-)
04:00 < kuroneko> if you're interested in the error, either use the String
method to get a human readable version of the error
04:00 < gointrigue> damn it my mibbit is not auto-scrolling
04:00 -!- Guest18754 [n=remote@modemcable092.81-201-24.mc.videotron.ca] has quit
[Remote closed the connection]
04:00 < kuroneko> or test against the defined values to se if it's the one
you want
04:00 -!- remote [n=remote@modemcable092.81-201-24.mc.videotron.ca] has joined
#go-nuts
04:00 < luca__> kuroneko: I know, but you said: kuroneko | luca__: don't
look for the number.
04:00 < kuroneko> yes, don't look for the _number_
04:01 < kuroneko> ie: the actual hard defined number itself isn't all that
accessible it seems
04:01 < Ycros> luca__: because you don't need the errno
04:01 -!- kaib_ [n=kaib@216.239.45.130] has joined #go-nuts
04:01 -!- remote is now known as Guest84265
04:01 -!- mode/#go-nuts [+v kaib_] by ChanServ
04:01 < luca__> Ycros: why not?
04:01 < kuroneko> so you work with what you can instead.
04:01 < Ycros> luca__: because the errors are already defined in os and you
can test for them
04:01 < luca__> Ycros: how
04:02 < kuroneko> switch error { case os.EPERM : ...  }
04:02 < kuroneko> or any other method you like.
04:02 -!- Yuffster [n=yuffster@71.181.138.238] has joined #go-nuts
04:03 -!- coldhak [n=coldhak@99.152.25.152] has quit [Read error: 60 (Operation
timed out)]
04:03 -!- kaeso [n=lucab@debian/developer/kaeso] has quit [Read error: 101
(Network is unreachable)]
04:03 -!- drusepth [n=drusepth@174.32.154.79] has quit [Read error: 54 (Connection
reset by peer)]
04:03 -!- archtech [i=stanv@83.228.56.37] has quit [Read error: 60 (Operation
timed out)]
04:04 -!- freenose [n=freenose@204.97.199.7] has joined #go-nuts
04:04 < gointrigue> crap, it has been a while since last I coded under
linux.  What was that one lovely editor, tabs, syntax highlighting
04:04 < gointrigue> beans or something, or I forget
04:04 < the_hoser> gointrigue: netbeans
04:04 < kfx> gointrigue: bim
04:04 < kuroneko> oh god no - not netbeans
04:04 < Ycros> gointrigue: netbeans.  But it won't have support for go yet.
04:04 * kuroneko cringes
04:04 < kfx> vim
04:05 < gointrigue> Wait wait no, that isn't what I meant
04:05 < the_hoser> gointrigue: most get by with gedit.
04:05 < gointrigue> Geany is what I was thinking about
04:05 < kfx> it has tabs and syntax highlighting
04:05 < the_hoser> gointrigue: or vim if you're noraml
04:05 < Ycros> gointrigue: if you don't know vim, try emacs
04:05 < gointrigue> oh god vim
04:05 < kfx> that was the good kind of 'oh god' right
04:05 < gointrigue> no
04:05 < the_hoser> hehe
04:05 < gointrigue> lol
04:05 < gointrigue> I don't have the mental capacity for vim
04:05 < Ycros> gointrigue: in $GOROOT/misc/emacs/ you'll find emacs files
that'll enable hilighting and indentation
04:06 < gointrigue> I get turned into goop
04:06 < kfx> the good kind of turned into goop?
04:06 < gointrigue> No
04:06 < rbancroft> the symbol highlighting is slightly off in emacs
04:06 < gointrigue> it is the "Oh god make it stop make it stop!!" kind of
goop
04:06 * kuroneko seriously considers sticking up a hudson against the go tree
04:06 < Ycros> gointrigue: read the top of go-mode-load.el - it tells you
how to get it to load in emacs
04:06 -!- syd [n=sydcogs@118.127.19.220] has joined #go-nuts
04:06 < gointrigue> I found it, though
04:06 < gointrigue> http://www.geany.org/Documentation/Screenshots
04:06 < gointrigue> Geany is <3
04:07 < Ycros> gointrigue: yeah, but it doesn't have go support yet, does it
:P
04:07 < kfx> yeah geany's okay
04:07 -!- cold-penguin [n=ben@92.8.42.199] has joined #go-nuts
04:07 < kfx> but it doesn't do anything gvim doesn't do
04:07 < gointrigue> I don't doubt that ;D
04:08 < cold-penguin> howdy
04:08 -!- gobhain [n=wIRCer@72-57-194-26.pools.spcsdns.net] has quit [Read error:
104 (Connection reset by peer)]
04:08 < Ycros> each to their own
04:08 -!- brunov [n=bruno@190.191.110.64] has quit [Read error: 110 (Connection
timed out)]
04:08 < Ycros> I was a vim user for years, I only recently (as in, the last
year) switched to emacs
04:08 < mynameiskristoph> i have an odd question...  how steep of a learning
curve will I have with go if I am coming from a few years c# .net and barely any
php/asp !?
04:09 -!- jharrys [n=de043124@c-71-195-253-55.hsd1.ut.comcast.net] has joined
#go-nuts
04:09 < kfx> fortunately, php and asp have nothing to do with programming,
so you can disregard those
04:09 < gointrigue> If only they had named Go something a bit better
04:09 < gointrigue> I can't find shit for it on google hardly *sigh*
04:09 < mrd`> gogurt
04:09 -!- esser [n=marceles@unaffiliated/cobol] has joined #go-nuts
04:10 < mynameiskristoph> I've been using vim for a few months now and love
it (it was the only text editor I could find to open a few hunder meg txt file)
04:10 < rbancroft> that's because it only came out a day ago
04:10 < mynameiskristoph> yeah I just heard about go from a friend on
twitter who saw it on abduzeedo
04:11 < Jerub> i've been a vim user for probably a decade now
04:11 < kuroneko> emacs user for over a decade myself.
04:11 < Jerub> i tried emacs.  it kinda worked.
04:11 < mynameiskristoph> I think I am going to have a steep learning curve
though because all my programming for the past 5 years or so has been web
programming / scripting
04:12 < kuroneko> and microemacs before that.  >_>
04:12 < luca__> kuroneko: my question was, how can I get the "error", I
found an example in the effective go document
04:12 < gointrigue> any way to load the highlighting file into geany in some
fashion?  :3
04:12 < Ycros> gointrigue: search for "go lang" maybe
04:12 < Jerub> but viper-mode et al would randomly switch itself off when
doing complicated tihngs.
04:12 < kuroneko> luca__: oh, easy.
04:12 -!- tuckerkevin [n=kevin@pool-71-125-102-115.atl01.dsl-w.verizon.net] has
joined #go-nuts
04:12 < Ycros> gointrigue: the highlighting files are written for emacs and
vim specifically
04:12 < kuroneko> handle, error := io.Open ....
04:12 < Ycros> gointrigue: feel free to write one for geany :P
04:12 -!- drusepth [n=drusepth@174.32.154.79] has joined #go-nuts
04:12 < asonge> gointrigue: you can use the site: feature in google, not
that many sites with information on go afaik
04:12 < kuroneko> you can have tuples on the left-hand side
04:12 -!- coldhak [n=coldhak@99.152.25.152] has joined #go-nuts
04:13 -!- coldhak is now known as coldhak_
04:13 < kuroneko> in fact, it's an error if the left-hand side doesn't have
enough elements specified to receive the return value
04:13 -!- loureiro [n=loureiro@201008197252.user.veloxzone.com.br] has quit
["Quit"]
04:13 < luca__> kuroneko: that gives me an Error, but the real returned type
is PathError, to get the Errno I have cast the Error to PathError and access the
Error attribute, right?
04:13 < kuroneko> no
04:14 < Ycros> luca__: you don't need the Errno - as we pointed out before
04:14 -!- chipdude [i=chip@feather.perl6.nl] has joined #go-nuts
04:14 < luca__> Ycros: I still don't get why I don't need the Errno
04:14 -!- MacAnthony [n=Anthony@host-70-157-3-96.midco.net] has joined #go-nuts
04:14 -!- drusepth [n=drusepth@174.32.154.79] has quit [Read error: 104
(Connection reset by peer)]
04:14 < luca__> this is the example in effective go:
04:14 < luca__> file, err = os.Open(filename, os.O_RDONLY, 0)
04:15 < luca__> ...
04:15 < luca__> if e, ok := err.(*os.PathError); ok && e.Error == os.ENOSPC
{
04:15 < ArekZB> luca: f, err := os.Open( "file.dat" , os.O_RDONLY, 0444); if
err != nil { fmt.Printf("%v\n" , err.String()) } will print permission denied if
perms fail for example
04:15 -!- drusepth [n=drusepth@174.32.154.79] has joined #go-nuts
04:15 < luca__> the example access e.Error which is an Errno
04:15 < luca__> Ycros: do you have a better way?
04:15 < luca__> kuroneko: do you?
04:15 < Ycros> isn't e.Error an Error not an Errno?
04:15 < luca__> I really don't understand what you mean
04:16 < Ycros> yeah it is
04:16 < luca__> Ycros: os.Open return this: return nil, &PathError{"open",
name, Errno(e)}
04:16 < luca__> Ycros: Error is an interface, Errno is the real type
04:16 < luca__> Ycros: Errno, since it have the String method, satisfy the
Error interface
04:16 < luca__> except I'm getting all this wrong
04:17 -!- MacAnthony [n=Anthony@host-70-157-3-96.midco.net] has left #go-nuts []
04:17 -!- stkerr [n=chatzill@c-98-223-36-41.hsd1.in.comcast.net] has quit
["ChatZilla 0.9.85 [Firefox 3.5.5/20091102152451]"]
04:17 -!- kaib [n=kaib@c-76-102-52-156.hsd1.ca.comcast.net] has quit [Connection
timed out]
04:17 -!- kaib_ is now known as kaib
04:17 < kuroneko> oh bloody hell.
04:17 < kuroneko> stage 2 vs 3 differences again.
04:18 < kuroneko> no wait, it passed!
04:18 < kuroneko> yay!
04:18 -!- freenose [n=freenose@204.97.199.7] has left #go-nuts []
04:19 < luca__> ArekZB: I don't want to print anything
04:19 -!- Whtiger [n=josh@c-68-40-105-104.hsd1.mi.comcast.net] has joined #go-nuts
04:19 < albertito> ArekZB: as I understand it, he wants the errno value so
he can do different things depending on what failed
04:21 -!- dpuser [n=quassel@203.7.140.3] has joined #go-nuts
04:21 < albertito> ArekZB: so neither the string nor the knowledge there was
an error is enough
04:22 < gointrigue> configure: error: Building GCC requires GMP 4.2+ and
MPFR 2.3.2+.
04:22 < cold-penguin> What exactly does ReadFile() in io return?  According
to the source code it's: []byte, os.Error.  Is that a byte array and an error
code?
04:22 < gointrigue> byte slice and error class
04:22 < gointrigue> I believe
04:22 -!- halfdan_ [n=halfdan@87.169.81.225] has joined #go-nuts
04:23 -!- pandrew [n=andrew@79.114.42.43] has joined #go-nuts
04:23 < cold-penguin> gointrigue: is that a pointer or does it just copy the
entire array on return?
04:23 -!- Ruonkrak [n=john@74-140-218-7.dhcp.insightbb.com] has left #go-nuts []
04:23 <+kaib> cold-penguin: os.Error is simply an interface that contains
String() string.
04:23 -!- dpuser [n=quassel@203.7.140.3] has quit [Remote closed the connection]
04:23 < cold-penguin> kaib: ok
04:23 <+kaib> cold-penguin: it's a slice.  think of it as a reference.
04:24 < gointrigue> so pointer, essentually?
04:24 -!- turutosiya [n=turutosi@219.106.251.65] has joined #go-nuts
04:24 < gointrigue> when trying to build gccgo: configure: error: Building
GCC requires GMP 4.2+ and MPFR 2.3.2+.
04:24 < pandrew> hello!  is it possible to do polymorphism when a method is
calling another method from the same object?
04:25 -!- ablegreen [i=a9e54b72@gateway/web/freenode/x-czusstyrwuuvlbbx] has
joined #go-nuts
04:25 < gointrigue> pandrew = writing a virus!  run!  ;P
04:25 < droid0011> kuroneko: you must rm -rf * before ../gccgo/configure ,
the diff prob is then gone here.  I am now figuring out how to solve a missing
linux/user.h problem :(
04:25 < pandrew> gointrigue: huh?  i'm talking about object oriented
polymorphism
04:25 < kuroneko> droid0011: yeah, I'm working on that now too
04:26 < kuroneko> the problem is it's not using the kernel headers
04:26 < kmc> can i write the polymorphic "map" function in Go?
04:26 < gointrigue> I know, last time I heard about polymorphism I was
reading about some nasty malware ;P
04:26 -!- Guest84265 [n=remote@modemcable092.81-201-24.mc.videotron.ca] has quit
[Remote closed the connection]
04:26 -!- ericmoritz\0 [n=ericmori@c-76-123-248-214.hsd1.tn.comcast.net] has
joined #go-nuts
04:26 < Ycros> luca__: yeah, you have to: err.(*os.PathError).Error to get
at the error to compare it to os.EEXIST or os.EACCES or whatever
04:26 -!- remote [n=remote@modemcable092.81-201-24.mc.videotron.ca] has joined
#go-nuts
04:26 < gointrigue> Any reason I am getting: configure: error: Building GCC
requires GMP 4.2+ and MPFR 2.3.2+.  when attempting to configure gccgo?
04:26 < pandrew> as in if A has two methods A1, and A2, and B is a subclass
of A;A1 calls A2; and B overrides A2; i want B.A1 to call B.A2 instead of A.A2
04:26 < Ycros> luca__: I just tested it out - I thought you could compare it
directly
04:27 -!- houst0n [n=houst0n@blastwave/maintainer/houston] has joined #go-nuts
04:27 < Ycros> luca__: since Open returns err as type Error
04:27 < pandrew> i don't think this can be solved with interfaces
04:27 -!- remote is now known as Guest43721
04:27 -!- Rabbitbunny [n=Rabbitbu@unaffiliated/rabbitbunny] has joined #go-nuts
04:27 -!- gg [n=gg@adsl-76-235-65-49.dsl.pltn13.sbcglobal.net] has joined #go-nuts
04:27 -!- halfdan [n=halfdan@p57A94492.dip.t-dialin.net] has quit [Read error: 60
(Operation timed out)]
04:27 < droid0011> kuroneko: well they are gone for userspace :(
http://www.mail-archive.com/linux-kernel@vger.kernel.org/msg225379.html
04:28 -!- ob211 [n=thomas@68.238.116.200] has quit [Read error: 131 (Connection
reset by peer)]
04:28 -!- werdan7 [n=w7@freenode/staff/wikimedia.werdan7] has joined #go-nuts
04:28 < luca__> Ycros: yes, I tested it too, I just wondered if you had a
better way to do it, because it seems a little odd having to "cast" the error to
PathError when PathError is the only error that can be returned
04:28 -!- mynameiskristoph [n=mynameis@24-151-181-17.dhcp.kgpt.tn.charter.com] has
quit [" HydraIRC -> http://www.hydrairc.com <- IRC with a difference"]
04:28 -!- gg [n=gg@adsl-76-235-65-49.dsl.pltn13.sbcglobal.net] has left #go-nuts
[]
04:29 -!- danielrf [n=cgibreak@pool-96-248-174-38.chi01.dsl-w.verizon.net] has
quit ["leaving"]
04:29 < Ycros> luca__: it does seem odd, it feels like Open should actually
return PathError and not Error
04:29 < kmc> can i write a function that applies another function to every
element of a slice?
04:30 < Ycros> luca__: anything with a String() can be passed off as an
Error
04:31 < kuroneko> ok, finally have it dying in a consistant spot
04:31 < gointrigue> apt-get: Setting up The Bomb ...
04:32 < NfNitLoop> pandrew: as far as I can see, there are no "subclasses"
in Go.
04:32 < droid0011> kuroneko: I realy don't grok the grep/sed mksysinfo.sh
hell ;)
04:32 < NfNitLoop> pandrew: so your question doesn't make much sense.
04:32 -!- nigwil [n=chatzill@berkner.ccamlr.org] has quit ["ChatZilla 0.9.85
[Firefox 3.5.5/20091102152451]"]
04:32 < kuroneko> ah
04:32 < kuroneko> found the problem.  tracing.
04:32 < pandrew> NfNitLoop: ok, whathever the mechanism is called to
simulate something like subclasses
04:32 < NfNitLoop> pandrew: you can have class A, and class B, and if you
want to use them interchangably, you define a common interface and just accept
objects of that interface.
04:32 -!- me__ [n=venkates@c-68-55-179-48.hsd1.md.comcast.net] has left #go-nuts
[]
04:33 < Ycros> kmc: yes, but there's already one that does it - iterable.Map
04:33 < NfNitLoop> pandrew: so, since it's not really a subclass, it's not
really an override.
04:33 < chrome> irritable?  :P
04:33 < gointrigue> I think I did something bad lol
04:33 -!- Kniht [n=kniht@c-68-58-17-177.hsd1.in.comcast.net] has joined #go-nuts
04:34 < gointrigue> damn me and my linux noobery
04:34 < gointrigue> I did sudo apt-get upgrade gcc
04:34 -!- dsal [n=Adium@adsl-69-230-8-158.dsl.pltn13.pacbell.net] has joined
#go-nuts
04:34 < Ycros> kmc: there's one in strings and another in bytes too
04:34 < gointrigue> and it is going nuts lol
04:34 < kuroneko> droid0011: you need full kernel source
04:34 < kmc> Ycros, so it uses interface{} for parametric polymorphism?
04:34 < kuroneko> the standard headerset isn't enough
04:35 < dsal> (hopefully) quick question: Is there an easy way to map a
[]byte to and from a struct?  (or otherwise pull out specific bits of data with
endian conversion)
04:36 -!- gointrigue [i=ad1a7bb7@gateway/web/freenode/x-lfgbkojacxwjdjnp] has quit
["Page closed"]
04:36 < kuroneko> basically, it needs the ptrace headers and they're just
not available any other way
04:36 < ablegreen> how do you compile a go program into an .exe file?
04:37 < droid0011> kuroneko: hmm, but how to add to the build-system the
kernel -I path?
04:37 < tuckerkevin> cp foo.go foo.exe
04:37 < kfx> amazing
04:37 < kuroneko> <ksrc>/include
04:37 < kuroneko> yes
04:37 < ablegreen> thanks tucker
04:37 < tuckerkevin> :)
04:38 < mrd`> ablegreen: There's not support for Windows yet.
04:38 -!- Gngsk [n=Gngsk@c-68-33-124-125.hsd1.md.comcast.net] has joined #go-nuts
04:38 -!- trasktrojanek [n=trasktro@c-75-72-133-174.hsd1.mn.comcast.net] has
joined #go-nuts
04:38 < trasktrojanek> I don't seem to have gccgo, isn't it supposed to be
installed by default?
04:38 -!- arty_ is now known as arty
04:38 < ablegreen> mrd: what do you mean?
04:38 < pandrew> NfNitLoop: ok, so let me rephrase: if there is a struct A.
There is struct B having an anonymous field A. stuct A has two methods attached:
A1, and A2. all that A1 does is call A2. B overrides the method A2. if i call
binstance.A2 then i get B.A2.  If i call binstance.A1 then i get A.A2.  is there a
way that i could get B.A2 in both cases?
04:38 < kmc> so is the conversion from my-concrete-type to interface{} and
back going to cause overhead when calling Map?
04:38 < mrd`> ablegreen: Only Linux, OS X, and NaCl right now.
04:39 < kmc> or will that get compiled out?
04:39 < ablegreen> mrd: ah i see...
04:39 < mrd`> ablegreen: And none of those use .exe.
04:39 -!- Guest43721 [n=remote@modemcable092.81-201-24.mc.videotron.ca] has quit
[Remote closed the connection]
04:39 -!- remote [n=remote@modemcable092.81-201-24.mc.videotron.ca] has joined
#go-nuts
04:39 < ablegreen> mrd: read some article saying go can compile into 'native
executables'
04:39 < cold-penguin> We don't have to declare variables that are returned
from function before hand?
04:39 -!- jawbroken [n=jawbroke@c114-76-153-199.sunsh2.vic.optusnet.com.au] has
left #go-nuts []
04:39 -!- remote is now known as Guest56484
04:40 < Ycros> kmc: not sure, it's casting so I think it's runtime type
checks - they're pondering how to add generics to the language
04:40 < tuckerkevin> the have executables, but not exe, use 6g 6l to get an
executable
04:40 -!- webbpa [n=chatzill@c-68-40-49-170.hsd1.mi.comcast.net] has quit
["ChatZilla 0.9.85 [Firefox 3.5.4/20091028153816]"]
04:40 < mrd`> ablegreen: Yes.  On Linux, OS X, and NaCl.  :P
04:40 < NfNitLoop> pandrew: that requires a more traditional OO language
with virtual methods.  I haven't seen virtual methods in Go so far, I assume they
don't exist.
04:40 -!- gointrigue [i=ad1a7bb7@gateway/web/freenode/x-nlfnfcyudhihomnm] has
joined #go-nuts
04:40 < gointrigue> gah, still having issues trying to get gccgo built
04:40 < gointrigue> keeps griping about MPFR library and GMP library
04:41 -!- teedex [n=teedex@204.14.155.161] has joined #go-nuts
04:41 < NfNitLoop> NfNitLoop: now, I only started looking at Go this
morning, so maybe someone else knows better.  ;)
04:41 -!- jeffry [n=jeffry@187.20.216.53] has joined #go-nuts
04:41 -!- javarants2 [n=Adium@c-24-6-187-56.hsd1.ca.comcast.net] has joined
#go-nuts
04:42 < pandrew> NfNitLoop: i am assuming that in case of anonymous fields
the methods are not copied to all types that have them, but only one instance
exists
04:42 < NfNitLoop> pandrew: that is my assumption as well.
04:42 < Ycros> gointrigue: yeah, it seems like there are issues with gccgo -
do you need gccgo as opposed to the default compiler?
04:42 < kmc> NfNitLoop, aren't interface methods basically virtual?
04:42 < NfNitLoop> and in fact, all those methods still seem to operate on a
struct that is the "superclass" equivalent.
04:42 < gointrigue> No, I was merely curious about using itt.
04:42 < ablegreen> what do you guys think of the language so far?  I am
looking at the sample code and it doesn't seem to be simpler than C
04:42 < kmc> otherwise what good are they?
04:42 < NfNitLoop> kmc: In a way, but not like virtual methods in C++ or
Java.
04:42 < pandrew> NfNitLoop: the way i see it each method is both virtual and
static.  depending on how you call it.  if you call it trough an interface it is
virtual.  What i'd like to see is the ability to have a method with an interface
receiver, or something like that.
04:43 -!- iant [n=iant@adsl-71-133-8-30.dsl.pltn13.pacbell.net] has joined
#go-nuts
04:43 -!- mode/#go-nuts [+v iant] by ChanServ
04:43 < NfNitLoop> kmc: see pandrew's example above for the case that
breaks.
04:44 < NfNitLoop> pandrew: Yeah, I tried something like that earlier and it
didn't seem to work.  :p
04:44 < rbancroft> ah, is it just me or is go-mode broken
04:44 -!- javarants2 [n=Adium@c-24-6-187-56.hsd1.ca.comcast.net] has left #go-nuts
[]
04:44 < Ycros> rbancroft: works for me
04:44 -!- svanlund [n=david@cordelia.pingpangdns.com] has quit [Read error: 60
(Operation timed out)]
04:44 < rbancroft> Ycros: does if x == 0 indent properly for you?
04:44 < dsal> rbancroft: go-mode is pretty broken when it comes to
indentation.
04:45 < mrd`> dsal: I've noticed that.  :(
04:45 < rbancroft> dsal: ahh, ok that's what I'm noticing :)
04:45 < Ycros> rbancroft: yes - however leaving semicolons off doesn't
04:45 < houst0n> Hmmm..  So go seems pretty popular already
04:45 < dsal> I end up running ``M-x gofmt'' a lot.
04:45 < Ycros> dsal, rbancroft: if you put all your semicolons in it's fine
04:45 < ablegreen> does anyone have syntax highlighting for Go
04:45 < houst0n> Anyone done anything 'cool' with it yet?
04:45 < rbancroft> dsal: thanks for the tip
04:46 < mrd`> I need to just bind every key to self-insert-and-gofmt.  :P
04:46 -!- ajray [n=alex@wvc32563rh.rh.ncsu.edu] has joined #go-nuts
04:46 < reppie> is there inline assembly in go?
04:46 < houst0n> Also, anyone got it going on BSD or Solaris yet?
04:46 < houst0n> I'm willing to help out there
04:46 <+iant> reppie: no
04:46 < Ycros> ablegreen: yes, look in the misc dir in the sources
04:47 -!- sg [n=sg@83.231.11.70] has joined #go-nuts
04:47 < sg> hi
04:47 < offby1> any know of a _super_ simple example of using gotest?
04:47 < reppie> iant that is unfortunate :(
04:47 < NfNitLoop> pandrew: I've been trying to wrap my head around the
issue you've described for a good portion of the day.  If you find any info on Go
devs.  thoughts, I'd like tos ee it.  ;)
04:47 < Ycros> pandrew, NfNitLoop: I don't think Go is designed to support
that sort of thing
04:48 -!- svanlund [n=david@cordelia.pingpangdns.com] has joined #go-nuts
04:48 < NfNitLoop> Ycros: yeah, that's what I was starting to think.
04:48 < NfNitLoop> More like C than C++.  :p
04:48 -!- travisbrady [n=tbrady@98.210.155.175] has joined #go-nuts
04:48 -!- binaryjohn [n=wweather@cpe-24-30-132-50.san.res.rr.com] has quit []
04:48 < NfNitLoop> (But more like Java than C...!?) ;)
04:49 < trasktrojanek> How do I uninstall Go for the time being?
04:49 -!- quesne [n=tore@186.80-203-226.nextgentel.com] has quit [Read error: 110
(Connection timed out)]
04:49 -!- darthlukan [n=darthluk@cpe-75-85-80-48.socal.res.rr.com] has left
#go-nuts ["nos vemos luego"]
04:49 < sg> how do i write a polymorphic function?
04:49 < jeffry> What is a 'correct' way to skip/ignore return values from
functions with multiple return values (e.g.  http.Get's finalURL ...  how do I
'hide' it in my caller code?)
04:49 < sg> if supported
04:49 <+iant> trasktrojanek: just remove $GOROOT and remove the files from
$GOBIN
04:49 < Ycros> NfNitLoop: well, it's a different kind of object system, very
lightweight
04:49 < trasktrojanek> iant, that's what I figured, thanks.
04:49 < gointrigue> Only thing that made me sad about Go
04:49 <+iant> jeffry: assign to the blank identifier "_"
04:49 < gointrigue> "Go has pointers but not pointer arithmetic.  You cannot
use a pointer variable to walk through the bytes of a string.  "
04:49 -!- quesne [n=tore@186.80-203-226.nextgentel.com] has joined #go-nuts
04:50 < jeffry> iant: ty
04:50 < Ycros> jeffry: use _
04:50 < NfNitLoop> sg: Make an interface with that function in it.  Write
two objects with that interface.  You can then pass them around as that interface
type, but the correct method gets called.
04:50 < Ycros> gointrigue: nothing wrong with that :P
04:50 -!- trasktrojanek [n=trasktro@c-75-72-133-174.hsd1.mn.comcast.net] has left
#go-nuts ["Leaving"]
04:50 < sg> NfNitLoop uhm convoluted, but thanks :)
04:50 < Ycros> gointrigue: the compiler optimises normal iteration for all
that stuff
04:50 < kuroneko> iant: getting headaches with libgo
04:50 < gointrigue> Still....  for devious deeds like memory editing that
seems like a bit of a downside
04:50 -!- leimy [n=user@pool-71-164-13-100.sttlwa.fios.verizon.net] has quit
[Remote closed the connection]
04:51 -!- dakii [n=Tyler@c-98-244-28-143.hsd1.ca.comcast.net] has left #go-nuts []
04:51 <+iant> gointrigue: you can do devious deeds if you import the unsafe
package
04:51 < NfNitLoop> sg: the upshot is you don't have class hierarchies.  like
Ycros said, it's much more lightweight.
04:51 <+iant> http://golang.org/pkg/unsafe
04:51 <+iant> kuroneko: what is happening?
04:51 -!- Arhuaco [n=n@186.80.240.243] has joined #go-nuts
04:52 < sg> i don't like classes and such anyway
04:52 -!- drusepth [n=drusepth@174.32.154.79] has quit [Read error: 54 (Connection
reset by peer)]
04:52 -!- lenst [n=user@90.229.131.67] has joined #go-nuts
04:52 -!- hipe [n=markmeve@pool-96-232-221-238.nycmny.east.verizon.net] has quit
[Client Quit]
04:52 -!- drusepth [n=drusepth@174.32.154.79] has joined #go-nuts
04:53 < kuroneko> iant: issues with ptrace related stuff
04:53 < kuroneko> which kernel were you building against?
04:53 -!- Algo [n=Larry@unaffiliated/algorithmiccontr] has joined #go-nuts
04:53 -!- bluemoon [n=bluemoon@c-98-225-14-178.hsd1.wa.comcast.net] has joined
#go-nuts
04:53 < droid0011> iant: they removed asm/user.h and linux/user.h from
userspace http://www.mail-archive.com/linux-kernel@vger.kernel.org/msg225379.html
04:53 <+iant> kuroneko: mostly 2.6.24
04:53 < kuroneko> right
04:53 -!- Guest56484 [n=remote@modemcable092.81-201-24.mc.videotron.ca] has quit
[Remote closed the connection]
04:53 <+iant> droid0011: OK
04:53 < kuroneko> I'm using 2.6.31
04:53 < kuroneko> ptraceregs.Rip is gone
04:53 < kuroneko> now .Ip
04:53 <+iant> oy
04:53 -!- remote [n=remote@modemcable092.81-201-24.mc.videotron.ca] has joined
#go-nuts
04:54 < kuroneko> actually, no - Rip is return IP isn't it?
04:54 < kuroneko> not actual IP?
04:54 -!- remote is now known as Guest24955
04:54 * kuroneko ponders
04:54 <+iant> that should probably be adjusted in the sed script, that seems
simpler than compiling multiple versions of the Go code which uses it
04:54 -!- drusepth [n=drusepth@174.32.154.79] has quit [Read error: 104
(Connection reset by peer)]
04:55 < kuroneko> also you have to play fun and games to get to the header
04:55 < kuroneko> make prepare no longer links arch/.../include/asm to
include/asm
04:55 < dsal> OK, I'm really quite confused about how to read data...
04:55 <+iant> kuroneko: it must be available somewhere
04:55 < dsal> cannot use hdrBytes (type [24]uint8) as type []uint8
04:55 <+iant> dsal: use *[24]uint8
04:55 <+iant> a pointer to an array can convert to a slice
04:55 < dsal> Ah, thanks.
04:56 < ablegreen> can someone tell me what the point of goroutines are?
04:56 < dsal> How do I write a conversion?
04:56 <+iant> ablegreen: take advatnage of multicore
04:56 <+iant> dsal: TYPE(VALUE)
04:56 < dsal> I want []byte -> my struct.
04:56 -!- drusepth [n=drusepth@174.32.154.79] has joined #go-nuts
04:56 <+iant> oh, that won't convert directly, sorry
04:56 <+iant> you'll just have to convert it manually
04:56 < dsal> Can I note write a conversion to do that?
04:56 < dsal> er, not...
04:56 <+iant> if you are serializing structs into bytes, you might want to
look at the pkg/gob code
04:58 < dsal> I actually have a very specific serialization I'm working on.
04:58 -!- tuckerkevin [n=kevin@pool-71-125-102-115.atl01.dsl-w.verizon.net] has
quit ["Leaving"]
04:58 < tar_> iant: is multi-core supported now?
04:58 <+iant> you'll just have to write a function which pulls bytes from
the array and puts them into fields
04:58 <+iant> tar_: yes, by relying on underlying OS threads
04:58 < ablegreen> so with goroutines, i can have multiple routines, each
running undera different thread?
04:58 -!- iamnafets
[n=iamnafet@r74-192-192-75.bcstcmta02.clsttx.tl.dh.suddenlink.net] has joined
#go-nuts
04:58 < dsal> iant: Is there a way to do that using conversion syntax?
04:59 <+iant> dsal: no
04:59 <+iant> sorry
04:59 < tar_> iant: via go, or some library?
04:59 <+iant> ablegreen: yes
04:59 < dsal> OK, just kind of felt like that might be there.  Thanks.
04:59 <+iant> tar_: this is built in to Go
04:59 < tar_> I mean the "go" keyword
04:59 <+iant> yes, via the go keyword
05:00 -!- red1_ [n=red1@115.132.80.145] has quit [Read error: 110 (Connection
timed out)]
05:00 < KirkMcDonald> Huh.  I got the compiler to segfault.
05:00 -!- armence [n=armence@c-67-188-229-128.hsd1.ca.comcast.net] has quit
["Leaving"]
05:00 <+iant> KirkMcDonald: please report an issue with a test case
05:01 <+iant> I haven't seen it segfault in a while
05:01 < KirkMcDonald> Let me try and narrow it down.
05:01 -!- DarthArachides [n=DarthAra@unaffiliated/dartharachides] has quit [Remote
closed the connection]
05:01 -!- KinOfCain [n=KinOfCai@rrcs-64-183-61-2.west.biz.rr.com] has quit [Remote
closed the connection]
05:02 < KirkMcDonald> Let me try and narrow it down.
05:02 < KirkMcDonald> Ack
05:02 < KirkMcDonald> Wrong window.
05:03 < sg> i have some C code with a struct which has a tagged union inside
05:03 -!- r00ttap [n=wjones@c-98-225-129-81.hsd1.pa.comcast.net] has joined
#go-nuts
05:03 < sg> how do i do unions in go?
05:03 < droid0011> iant: there is similar sys/user.h but it's not enought, I
get still some udefined structures.  How can I add some -I paths to the build
system?
05:03 <+iant> sg: currently there are no unions, sorry
05:03 -!- drusepth [n=drusepth@174.32.154.79] has quit [Read error: 131
(Connection reset by peer)]
05:03 < sg> iant maybe there is other language feature i can use to express
something similar?
05:03 < chrome> iant: my attempt at a telnet talker, with comments.  Would
you mind taking a look, and tell me where I can improve it to be more idiomatic
"go"?
05:03 -!- jharrys [n=de043124@c-71-195-253-55.hsd1.ut.comcast.net] has quit
["Leaving."]
05:03 -!- drusepth [n=drusepth@174.32.154.79] has joined #go-nuts
05:03 < kuroneko> droid0011: I've hacked in some fixes.  I'll roll them
upstream in a bit.
05:03 -!- ineol [n=hal@mar75-9-88-171-191-168.fbx.proxad.net] has joined #go-nuts
05:03 < kuroneko> well
05:04 < kuroneko> to iant to review
05:04 <+iant> droid0011: this is just mksysinfo.sh, you can just add header
at the top of that script
05:04 <+iant> chrome: I can try to take a look, sure
05:04 -!- drusepth` [n=drusepth@174.32.154.79] has joined #go-nuts
05:04 < kuroneko> iant: it should probably honour CFLAGS from the
environment - which was my fix
05:04 < chrome> iant:
http://www.stupendous.net/archives/2009/11/12/google-go/
05:04 -!- melba [n=blee@unaffiliated/lazz0] has joined #go-nuts
05:04 <+iant> sg: not as such; of course you can keep a couple of pointers
to different structs, or something like that
05:04 < dsal> Is there a way to kind of dump some other module's namespace
into mine?  I've got a constants lib and am having to type too much?
05:05 < sg> mmmm, that might work, didn't thought of it
05:05 -!- ggg [n=gus@cpe-72-230-232-184.rochester.res.rr.com] has joined #go-nuts
05:05 <+iant> dsal: you mean like import?
05:05 -!- drusepth`` [n=drusepth@174.32.154.79] has joined #go-nuts
05:05 < dsal> iant: I import some_module_name and I don't want to say
some_module_name.Type all the time.
05:06 -!- drusepth`` [n=drusepth@174.32.154.79] has quit [Read error: 104
(Connection reset by peer)]
05:06 -!- red1_ [n=red1@115.132.80.145] has joined #go-nuts
05:06 <+iant> dsal: you can say import a "some_module" and then say a.Type,
or you can say import . "some_module" and the types are imported into the package
scope
05:06 < kuroneko> aha!
05:06 < kuroneko> success!
05:06 < droid0011> iant: the included headers includes another headers, I
need somehow to add an -I path
05:06 <+iant> that is, you can control the name you use to refer to the
names of the imported package
05:06 <+iant> kuroneko: cool
05:06 < dsal> iant: Ah, great.  Thanks.
05:06 < kuroneko> about to do a make check
05:07 -!- drusepth`` [n=drusepth@174.32.154.79] has joined #go-nuts
05:07 -!- ggg [n=gus@cpe-72-230-232-184.rochester.res.rr.com] has quit [Client
Quit]
05:07 <+iant> kuroneko: I recommend just make check-target-libgo and (cd
gcc; make check-go)
05:07 <+iant> a full make-check will run all the compiler testsuite
05:07 <+iant> droid0011: you can add a -I option to the use of ${CC} in
mksysinfo.sh
05:07 -!- tedster [n=tedster@cpe-008051.dhcp008.wadsnet.net] has left #go-nuts []
05:08 -!- timmcd [n=Adium@97-117-100-106.slkc.qwest.net] has joined #go-nuts
05:08 -!- digimunk [n=chatzill@cpe-173-172-8-43.tx.res.rr.com] has quit
["ChatZilla 0.9.85 [Firefox 3.0.5/2009011112]"]
05:08 < timmcd> Hey, quick question: What is the procedure to port a C/C++
Library to be used with Go? ie, Ncurses?
05:09 <+iant> timmcd: do you mean to rewrite it in Go? Or do you mean to
call the C/C++ library directly from Go?
05:09 < kuroneko> libgo is good so far
05:09 < KirkMcDonald> Hmm.  Not certain how to narrow down this segfault.
05:09 < chrome> timmcd: see misc/gmp
05:09 < KirkMcDonald> iant: So I have a function which returns a
reflect.Value.
05:10 < KirkMcDonald> iant: Only I just had Value (without the package name)
by accident.
05:10 -!- tjake [n=jake@75-44-151-7.lightspeed.smfrct.sbcglobal.net] has quit []
05:10 < KirkMcDonald> iant: If I fix it, the segfault goes away.
05:10 < KirkMcDonald> iant: I can't seem to replicate this in a smaller
module.
05:10 < chrome> timmcd: er misc/cgo/gmp
05:10 -!- stewarj [n=stewarj@24-196-228-105.dhcp.gwnt.ga.charter.com] has joined
#go-nuts
05:10 <+iant> that's OK--attach the whole thing to the issue if you can't
make it smaller
05:11 < timmcd> chrome: What is this?
05:11 <+iant> we won't mind, segfaults are usually easy to debug as long as
we can recreate them
05:11 < chrome> timmcd: an example of a c library wrapped in go.
05:12 < kuroneko> libgo passed!
05:12 < timmcd> What's libgo?
05:12 < rbancroft> is there a reason why you can't specify methods for
non-local types?
05:12 -!- drusepth`` [n=drusepth@174.32.154.79] has quit [Read error: 104
(Connection reset by peer)]
05:12 < rbancroft> technical?  or is it a design choice
05:13 <+iant> chrome: I don't think I would return a string from readline, I
think I would return []byte
05:13 <+iant> chrome: but basically your code looks good to me
05:13 <+iant> chrome: especially if it works
05:13 -!- drusepth`` [n=drusepth@174.32.154.79] has joined #go-nuts
05:13 <+iant> kuroneko: cool
05:13 <+iant> timmcd: libgo is the name of the Go library in gccgo
05:13 < chrome> iant: oh, it works.  With the noted TODO :) doesn't exactly
clean up after itself atm.
05:14 <+iant> rbancroft: design choice; we didn't want types to be different
in different packages
05:14 < kuroneko> go.test/test/env.go failed
05:14 < ablegreen> has anyone written a web app with go?  even though there
aren't any database wrappers yet
05:14 -!- xal [n=tobi@CPE001e527d7ab0-CM001bd71325c0.cpe.net.cable.rogers.com] has
joined #go-nuts
05:14 -!- red1_ [n=red1@115.132.80.145] has quit [Read error: 60 (Operation timed
out)]
05:14 <+iant> kuroneko: that just means that you don't have GOARCH set in
the environment
05:14 -!- debacle [n=chatzill@c-71-203-31-53.hsd1.fl.comcast.net] has quit [Remote
closed the connection]
05:14 <+iant> kuroneko: that test is reliable for 6g/8g, but gccgo doesn't
use GOARCH so it's easy to forget to set it before running the testsuite
05:14 < kuroneko> heh :)
05:14 -!- timmcd [n=Adium@97-117-100-106.slkc.qwest.net] has left #go-nuts []
05:15 < kuroneko> right, that was the only failure.
05:15 -!- drusepth`` [n=drusepth@174.32.154.79] has quit [Read error: 104
(Connection reset by peer)]
05:15 <+iant> cool, a successful gccgo build
05:15 < kuroneko> I'll have to diff out my hacks
05:15 <+iant> glad to hear it
05:15 <+iant> thx
05:15 < dsal> Neat, I got a segfault.
05:16 < kuroneko> in part, I wish I was using git.
05:16 -!- drusepth`` [n=drusepth@174.32.154.79] has joined #go-nuts
05:16 < kuroneko> then I remember how goddamned big the gcc svn repo is
05:16 < kuroneko> then I'm glad I'm not.  :)
05:16 -!- keithcascio [n=keith@pool-96-251-58-223.lsanca.dsl-w.verizon.net] has
quit [Read error: 60 (Operation timed out)]
05:16 -!- swamy [n=chatzill@ppp-70-253-77-2.dsl.austtx.swbell.net] has joined
#go-nuts
05:16 <+iant> kuroneko: some day we will move gcc to git, despite the size,
but probably not today
05:17 < kuroneko> well, it's more that using git-svn to pull an svn repo
into git hurts
05:17 <+iant> yeah
05:17 < kuroneko> and given that gcc is some 120k revisions now?
05:17 < kuroneko> I'd be here all month waiting.
05:17 <+iant> 150K, actually
05:17 -!- ablegreen [i=a9e54b72@gateway/web/freenode/x-czusstyrwuuvlbbx] has quit
["Page closed"]
05:18 -!- swamy [n=chatzill@ppp-70-253-77-2.dsl.austtx.swbell.net] has quit
["ChatZilla 0.9.85 [Firefox 3.5.3/20090824101458]"]
05:18 < droid0011> there is http://git.infradead.org/gcc.git but not the
gccgo branch :(
05:19 < asonge> it can take a lot of time to get projects the size of gcc
moved between versioning systems
05:19 < asonge> specifically when you've got a lot of hooks
05:19 -!- drusepth`` [n=drusepth@174.32.154.79] has quit [Read error: 104
(Connection reset by peer)]
05:19 -!- nexneo [n=niket@115.108.175.41] has joined #go-nuts
05:19 -!- akostrikov [n=user@95.58.67.152] has joined #go-nuts
05:20 < dsal> Ugh, I have a build mess.  My simple Makefile fails horribly
on a clean build due to dependency junk.  Are there any small-project
best-practices?
05:20 -!- drusepth [n=drusepth@174.32.154.79] has quit [Read error: 110
(Connection timed out)]
05:20 -!- cmarcelo [n=cmarcelo@enlightenment/developer/cmarcelo] has quit [Read
error: 104 (Connection reset by peer)]
05:20 -!- drusepth [n=drusepth@174.32.154.79] has joined #go-nuts
05:20 < dsal> I guess a standard .go.6 is not right?
05:20 -!- drusepth` [n=drusepth@174.32.154.79] has quit [Read error: 110
(Connection timed out)]
05:20 -!- drusepth [n=drusepth@174.32.154.79] has left #go-nuts ["Leaving"]
05:21 < chrome> dsal: http://pastie.org/694903 <-- works for me
05:21 < chrome> put .go files in src, make a obj dir
05:21 < asonge> dsal: i just copied the Makefile from src/cmd/godoc/Makefile
and made changes
05:21 < kuroneko> iant: email address for review?
05:21 < droid0011> kuroneko: could you pastebin svn diff?
05:21 -!- comrade [i=comrade@97.107.139.242] has quit ["Patch Tuesday, brb"]
05:21 <+iant> kuroneko: e-mail gccgo patches to ian@google.com, cc
gcc-patches@gcc.gnu.org
05:21 < offby1> any hints for a mercurial problem: hg pull -u => abort:
error: _ssl.c:480: error:140770FC:SSL routines:SSL23_GET_SERVER_HELLO:unknown
protocol
05:22 < offby1> this is in a repository that I got yesterday.
05:22 < kuroneko> it's not a patch for direct inclusion - but it'll tell you
what needs fixing.  :)
05:22 <+iant> note that cc to gcc-patches will get archived on the web
05:22 <+iant> kuroneko: sure
05:22 <+iant> you can omit gcc-patches in that case, I suppose
05:22 <+iant> either way is fine
05:22 < kuroneko> I fix the struct name problems in libgo by changing the
names, not in mksysinfo - the sed line made my head hurt.  :)
05:23 -!- pandrew [n=andrew@79.114.42.43] has quit [Remote closed the connection]
05:23 < kuroneko> I'm sure you want a more elegant way of fixing that
05:23 < dsal> chrome: That's fine for one object.  I've got three and if
they don't compile in the correct order, bad things happen.
05:23 < offby1> gaah, sorry: stupid proxy interfering.  never mind
05:23 < gointrigue> What the shit >.<
05:23 <+iant> yeah, that sed line is pretty bad
05:23 < gointrigue> 8g: command not found
05:23 < gointrigue> I just used it not that long ago!
05:24 < chrome> dsal: list them in the objects line
05:24 < ArekZB> check your PATH
05:24 < chrome> in order
05:24 -!- kill-9 [n=kill-9@cpe-65-24-145-70.columbus.res.rr.com] has quit
[Connection timed out]
05:24 < gointrigue> how come I keep having to set my path
05:24 < dsal> chrome: Yeah, I am listing the objects, but I'm not listing
them in the correct order.  Bad things happen.
05:24 < dsal> If I list them in the right order, good things happen.
05:24 < KirkMcDonald> iant: Ah! I managed to devise a simpler test-case.
05:24 < gointrigue> shouldn't it damn persist?
05:25 < chrome> dsal: make clean all :P
05:25 < chrome> but yeah I havn't tried a multiple file project yet
05:25 -!- rexes13 [n=p_tourna@athedsl-259997.home.otenet.gr] has joined #go-nuts
05:25 < ArekZB> did you put the export PATH in a .profile or .bashrc file
05:25 -!- rexes13 [n=p_tourna@athedsl-259997.home.otenet.gr] has left #go-nuts []
05:25 < dsal> chrome: Yeah, clean == break build unless the objects are in
the right order.  I've just rearranged the objects.
05:26 < chrome> why should it matter what order they are in
05:26 < chrome> weird
05:26 -!- jsgotangco [n=JSG@ubuntu/member/jsgotangco] has quit ["Ciao"]
05:26 -!- depood [n=depood@80.108.55.214] has joined #go-nuts
05:26 < dsal> chrome: Before you can import a module from another source
file, that module has to have been compiled.
05:27 -!- turutosiya [n=turutosi@219.106.251.65] has quit [Read error: 145
(Connection timed out)]
05:27 < rbancroft> gointrigue: no, they don't persist, usually
05:27 -!- kota1111 [n=kota1111@gw2.kbmj.jp] has quit ["Leaving..."]
05:27 -!- Weetbix [n=chatzill@dsl-220-235-182-165.wa.westnet.com.au] has joined
#go-nuts
05:27 < dsal> OK, I'm confused.  Does this actually create a 24 byte buffer?
var thing *[24]byte;
05:28 -!- kc644 [n=keith@Sensitivity.CS.UCLA.EDU] has quit ["Lost terminal"]
05:28 < dsal> Because stuff blows up if I try to use it.
05:28 -!- Wiz126 [n=Wiz@72.20.225.88] has joined #go-nuts
05:28 <+iant> dsal: No, that creates a nil pointer to a 24 byte buffer
05:28 <+iant> this creates a 24 byte buffer: "var thing [24]byte"
05:28 <+iant> you can convert to a slice by doing &thing
05:29 < KirkMcDonald> iant: Posted as issue 80:
http://code.google.com/p/go/issues/detail?id=80
05:29 <+iant> KirkMcDonald: thx
05:30 < kuroneko> droid0011: http://www.pastebin.ca/1667635
05:30 < droid0011> ty
05:30 < dsal> iant: OK, I'm stumbling a bit here.  I need the pointer to
hand to Read, but it's not clear to me how to make it point to something real.
05:31 <+iant> easiest is make([]byte, 24)
05:31 <+iant> or you can do "var buf [24]byte" and pass "&buf" to Read
05:31 < Jerub> my brain parses [24]byte as a pattern matching 2byte and
4byte.  must fix that.
05:31 -!- red1 [n=red1@115.132.80.145] has joined #go-nuts
05:31 < ArekZB> is the a performance hit on using make() versus var
thing[]byte ?
05:32 -!- xor [n=xor@87-196-170-88.net.novis.pt] has joined #go-nuts
05:32 -!- stewarj [n=stewarj@24-196-228-105.dhcp.gwnt.ga.charter.com] has quit []
05:32 < xor> Hi there.
05:32 <+iant> ArekZB: not really; taking the address of thing will make the
compiler move it to the heap anyhow
05:33 < ajray> is anyone working on git tools for go?
05:33 < dsal> iant: passing &buf doesn't compile.  Nor does make: cannot use
make([]uint8, 24) (type []uint8) as type *[24]uint8 :/
05:33 < xor> Where can I find tools to help develop with go?  I mean, is
there an Eclipse plugin, emacs plugin, something?
05:33 < ajray> xor: check the misc dir
05:33 < ajray> in $GOROOT
05:33 <+iant> dsal: read doesn't take *[24]uint8, it takes []uint8, doesn't
it?
05:33 < dsal> Correct.
05:34 < xor> ajray: Thanks, will do.
05:34 <+iant> dsal: so where does *[24]uint8 come from in the above
05:34 < ajray> xor: i thats vim/emacs
05:34 < dsal> var hdrBytes *[24]byte = make([]byte, 24);
05:34 < ajray> i dont know about eclipse, but i'd love an eclipse plugin
05:34 < chrome> dsal: you can just do hdrBytes := make ([]byte, 24);
05:34 <+iant> dsal: ah, no, it has to var hdrBytes []byte = make([]byte, 24)
05:34 < ajray> xor: i'm also playing with the idea of making a cscope-like
goscope for code-diving in go
05:35 <+iant> or just hdrBytes := make([]byte, 24)
05:35 < ArekZB> xor: i don't think there is an eclipse plugin yet . as far
as indentation and highlighting, i'm using the c/c++ file association
05:35 < chrome> iant: beat you :P
05:35 < ArekZB> works really wel
05:35 <+iant> indeed
05:35 < xor> ArekZB: I didn't think of that.  =)
05:35 < xor> ArekZB: Thanks for the suggestion.
05:35 < ArekZB> c/c++ :)
05:35 < Rob_Russell> weird that for a:=0, b:=10 ; a < b ; a++ {} is
invalid but can be rephrased as for a, b := 0, 10 ; a < b ; a++ {}
05:36 < chrome> iant: you just need to get to the critical mass of people
who know enough of the syntax and libs then you can go lurk ;)
05:36 < dsal> iant: yeah, that one works, but it segfaults when I try to
read into it.  :/
05:36 <+iant> chrome: ha, indeed
05:36 < ajray> a couple of us at my university are getting together this
weekend for a go hackfest, and hope to push out some tools in there
05:36 <+iant> ajray: cool
05:36 <+iant> dsal: not sure, must be something else, I guess
05:37 < houst0n> I hope this lang gets renamed soon, go is a stupid name
(and it's stolen, too)
05:37 < ajray> iant: go is what's cool.  now time for me to make myself
useful :-)
05:37 < chrome> go and go!  can coexist
05:37 -!- necromancer [n=necroman@c-69-142-78-178.hsd1.pa.comcast.net] has joined
#go-nuts
05:37 < houst0n> Yeah, but it doesn't take away from that it's a a stupid
name
05:37 < houst0n> ;)
05:37 < chrome> houst0n: obviously some people liked it for it to be named
that
05:38 < houst0n> Seemingly
05:38 < chrome> houst0n: and when you write your own language, you get to
call it whatever you like.  It's one of the perks of being awesome.
05:38 -!- aaront [n=aaront@unaffiliated/aaront] has quit ["And that's all he
wrote..."]
05:38 < Innominate> Show me some way to actually run Go! code without a
pencil
05:39 < Innominate> then the guy might have a claim to the name
05:39 < xal> does anyone have an example make file that runs gotest unit
tests?
05:39 < xal> i can't get it to work
05:39 < dsal> iant: This is my code… just trying to read 24 bytes from a
connected socket.  Bad things happening.  :( http://pastebin.com/d20e575ba
05:39 -!- muthu [n=chatzill@12.156.138.2] has quit [Client Quit]
05:39 <+iant> xal: there are various examples in the library
05:40 < dsal> Oh wait… I think it may have actually worked.  *sigh*
05:40 * dsal thanks the cardboard programmer
05:40 < chrome> dsal: I do some network stuff in my talker, here, which
works: http://www.stupendous.net/archives/2009/11/12/google-go/
05:40 -!- me___|ugrad-lab [i=[U2FsdGV@batman.acm.jhu.edu] has quit ["leaving"]
05:41 -!- mheath [n=michaelh@75-169-103-11.slkc.qwest.net] has quit [Read error:
104 (Connection reset by peer)]
05:41 < dsal> Yeah, sorry for the confusion.  It's working fine.  I just
moved my segfault down slightly.
05:41 < chrome> dsal: though, iant mentioned that readline() was a bit
clumsy
05:41 < chrome> (not his words)
05:41 <+iant> dsal: ah, OK
05:42 <+iant> dsal: code will crash in grokHeader because rv will be nil
05:43 < kmc> If Go is trying to appeal to users of languages like Python and
Ruby, why didn't it launch with a REPL?
05:43 < dsal> iant: Yep, I figured that out by actually looking at the stack
trace instead of assuming it was always the same one.  :)
05:43 < xal> has anyone got a start on memcached bindings?
05:43 <+iant> kmc: because it compiles to machine code; there is an
experimental interpreter, I don't know how well it works
05:43 < kmc> iant, you can write a REPL for a native compiler
05:43 <+iant> kmc: sure, it's just harder, and didn't seem like a priority
for Go
05:44 -!- xor [n=xor@87-196-170-88.net.novis.pt] has left #go-nuts []
05:44 < chrome> oh man, I have gotten no real work done today
05:44 -!- andresambrois [n=aa@r190-135-146-33.dialup.adsl.anteldata.net.uy] has
joined #go-nuts
05:44 < chrome> iant: damn you guys for not releasing on a weekend
05:45 -!- aa__ [n=aa@r190-135-146-33.dialup.adsl.anteldata.net.uy] has joined
#go-nuts
05:45 < chrome> iant: next programming language you develop, please put it
out on a saturday morning
05:45 <+iant> chrome: we'll do better next time.  maybe.
05:45 < chrome> :D
05:45 < devewm> chrome: i'd say the same except that Go was released on my
birthday, so i'm not complaining :)
05:45 -!- robpike [n=r@c-76-21-1-88.hsd1.ca.comcast.net] has joined #go-nuts
05:45 -!- mode/#go-nuts [+v robpike] by ChanServ
05:45 < chrome> "ooh, new shiny", basically sums up my response
05:46 -!- btipling [n=btipling@unaffiliated/sk/x-5968384] has joined #go-nuts
05:46 < ArekZB> ha, shiny indeed
05:47 < kmc> is the type inference in Go described anywhere?
05:48 <+iant> kmc: Go doesn't really have type inference as I use the term
05:48 < KirkMcDonald> kmc: What's to describe?
05:48 < kmc> well, you can declare a variable without giving a type
05:48 < NfNitLoop> it's described in the TechTalk on youtube, and in the
tutorial, and in the other docs...
05:49 < KirkMcDonald> kmc: Only if you also provide it with an initializer.
05:49 -!- itrekkie [n=itrekkie@ip72-200-111-233.tc.ph.cox.net] has joined #go-nuts
05:49 -!- darius_in_time
[n=darius_i@99-162-88-185.lightspeed.irvnca.sbcglobal.net] has joined #go-nuts
05:49 < darius_in_time> hello?
05:49 < kmc> how is the type of an initializer determined?
05:49 < gointrigue> Oh christ on a stick >.<
05:49 < gointrigue> ircbot.go:4: fatal error: can't find import: fmt
05:50 < ArekZB> lol
05:50 -!- comrade [i=comrade@sulaco.darktech.org] has joined #go-nuts
05:50 < dsal> gointrigue: That'll happen if your env vars aren't set up
properly.
05:50 -!- red1 [n=red1@115.132.80.145] has quit []
05:50 < gointrigue> they arrreeee
05:50 * gointrigue cries.
05:50 -!- jeffry [n=jeffry@187.20.216.53] has quit [Remote closed the connection]
05:50 -!- robot12__ is now known as robot12
05:50 <+iant> kmc: the procedure you are after is described in the language
spec
05:51 <+iant> basically you walk down setting the types of constants, and
then walk up setting the types of variables
05:51 <+robpike> gointrigue: are the vars exported?
05:51 -!- bthomson [n=bthomson@pool-71-114-74-245.washdc.dsl-w.verizon.net] has
quit [Read error: 60 (Operation timed out)]
05:51 < kmc> iant, which section is that?  i haven't seen it yet though i
haven't read the entire spec
05:51 <+robpike> gointrigue: "fmt" will be in go/pkg/$GOOS_$GOARCH/fmt.a
05:51 -!- bthomson [n=bthomson@c-69-255-188-5.hsd1.va.comcast.net] has joined
#go-nuts
05:52 <+robpike> gointrigue: where by "go" i mean $GOROOT
05:52 < kmc> it seems to me that REPL and syntactically implicit types are
two features people associate with "interpreted language" that needn't be.  so
it's good to have them in a language like Go that tries to compete with those
languages.
05:52 < ArekZB> gointrigue: heres a snippet from my .profile file for env
variables http://pastebin.com/m36220dfa
05:52 <+iant> kmc: "Variable Declarations"
05:52 -!- kota1111 [n=kota1111@gw2.kbmj.jp] has joined #go-nuts
05:53 < kmc> thanks
05:53 < gointrigue> linux:~$ echo $GOARCH
05:53 < gointrigue> returns 386
05:53 < gointrigue> they are all workin'
05:53 < rbancroft> should it be i386?
05:53 < gointrigue> even path
05:53 <+robpike> echo $GOARCH doesn't tell you it's exported
05:53 -!- madac [n=madac@124-168-60-73.dyn.iinet.net.au] has joined #go-nuts
05:54 <+robpike> gointrigue: try sh -c 'echo $GOARCH'
05:54 <+iant> rbancroft: no, 386 is correct
05:54 < rbancroft> iant: oops!  yeah
05:54 <+robpike> gointrigue: did you see if the fmt.a package exists in the
right place?  if it does, then your environment isn't set up and exported
05:54 -!- level09 [n=chatzill@80.227.125.119] has joined #go-nuts
05:54 -!- sladegen [n=nemo@unaffiliated/sladegen] has joined #go-nuts
05:54 < gointrigue> that returns 386
05:56 <+robpike> gointrigue: do the same for GOOS and GOROOT
05:56 < gointrigue> both are returning correct variable
05:56 < chrome> lol, guy on digg posts "This is worthless.  It doesn't have
the best parts of Java: Generics, hierarchies, object casting, making it useless
for OOP.  Ok, so what about structured?  Oops, no hardware pointers, you know, the
good part of C."
05:56 -!- bill_h
[n=FarOut@CPE00195b075af4-CM00186852110c.cpe.net.cable.rogers.com] has quit
[Remote closed the connection]
05:56 < gointrigue> and now it compiles
05:56 -!- FreshMeat [n=crump@c-67-180-74-9.hsd1.ca.comcast.net] has quit []
05:56 < gointrigue> my linux is twackering with my head
05:57 <+robpike> gointrigue: ls -l $GOROOT/pkg/$GOOS_GOARCH/fmt.a
05:57 < chrome> go is worthless because it isn't java or C!
05:57 < chrome> haha :D
05:57 < tetha> chrome: ahaha, generics a 'best part'.  oh my.
05:57 -!- droid001 [n=g1@p4FDCDB21.dip.t-dialin.net] has joined #go-nuts
05:58 < kmc> object casting is the best part of java?
05:59 < Jerub> kmc: uh, the lack of object casting brought in by generics
and auto-boxing i think he means.
05:59 < chrome> from what I can see, go doesn't *need* generics; it does
essentially the same thing with interfaces, but without the clumsy syntax.
05:59 < itrekkie> hi everyone, can someone clue me in on the -I flag for
6g?  I'm trying to use a makefile to build .6 files (objects?) in a directory
sitting next to a src directory, but I cannot fix this "cannot find import"
problem.  Are there some docs I'm missing; does anyone have a Makefile or similar
solution they'd be willing to share?
06:00 <+robpike> chrome: not quite.  the unboxing is annoying and it's not
trivial to create a type-safe container.  there are subtler advantages of generics
too.  but they are tricky to get right
06:00 < KirkMcDonald> itrekkie: .6 files are both object files and header
files.
06:00 < tetha> chrome: I'd argue that no one needs that akward hack generics
are ;)
06:00 < KirkMcDonald> itrekkie: You use -I to point the compiler at the .6
files required by the package you are compiling.
06:01 -!- Speciak [n=kevinbum@c-98-213-173-184.hsd1.il.comcast.net] has joined
#go-nuts
06:01 < kmc> chrome, with generics you could write "map" without the
unnecessary runtime cast
06:01 < KirkMcDonald> itrekkie: Or, rather, to point the compiler at the
directories in which the .6 files are contained.
06:01 < Speciak> anyone want to give a beginner a quick run down on the go
language?
06:01 < wcn> robpike: as an implementer, what are some of the tricky
aspects?
06:01 < gointrigue> that command is borked
06:01 < itrekkie> KirkMcDonald: and the syntax for the flag is -I dir/,
-Idir/ or does it matter?
06:01 < ment> Speciak: http://golang.org/doc/go_tutorial.html
06:01 < chrome> kmc: coming from C that cast doesn't seem burdensome to me
06:02 < gointrigue> but it compiles now...
06:02 < KirkMcDonald> itrekkie: Both should work.
06:02 <+robpike> itrekkie: there's a subtle issue.  if you don't install the
.a file into the pkg directory, like the makefiles in the existing pkg dirs, then
you probably want to write your imports as ' import "./file" ' so it finds them in
the current directory
06:02 < KirkMcDonald> itrekkie: But it must go first, before any of the .go
files.
06:02 < Speciak> I read the tutorial...  is there any way to program in go
on windows?
06:02 * the_hoser glances up and realizes its midnight.
06:02 < the_hoser> I've been playing with this for four hours :(
06:02 < the_hoser> bed time.
06:02 < chrome> Speciak: install virtualbox and install ubuntu inside it.
06:03 < ment> Speciak: yes, wait for microsoft to release Go# for Visual
Studio
06:03 < rbancroft> Speciak: might work with mingw
06:03 < gointrigue> robpike: that command mucked up
06:03 < gointrigue> I had to write it like: ls -l
$GOROOT/pkg/$GOOS\_$GOARCH/fmt.a
06:03 < Speciak> ok, thanks guys!  have a good night
06:03 < gointrigue> but it worked
06:03 -!- the_hoser [n=patrick@adsl-69-151-250-68.dsl.hstntx.swbell.net] has quit
["Leaving."]
06:03 -!- Speciak [n=kevinbum@c-98-213-173-184.hsd1.il.comcast.net] has quit
[Client Quit]
06:03 < xal> why does gotest simply say
06:03 < xal> make: *** No rule to make target `testpackage-clean'.  Stop.
06:04 < kmc> chrome, the cast is checked
06:04 -!- suraj [n=chatzill@ppp-70-253-77-2.dsl.austtx.swbell.net] has joined
#go-nuts
06:04 -!- m0rra [n=m0rra@233.240.191.90.dyn.estpak.ee] has joined #go-nuts
06:04 < itrekkie> robpike: thanks for that info, does that also stay true of
the .6 files aren't in the same directory as the source .go file that depends on
other compiled code?
06:04 <+iant> xal: gotest is a shell script, and it runs "make
testpackage-clean"
06:04 <+iant> it is expecting the Makefile to look one of the ones under pkg
06:04 < xal> er k
06:04 < dsal> OK, I've moved on to new failures.  What type should I declare
for a dynamically allocated byte slice pointer?
06:05 -!- f0r1z [n=f0r1z@87.117.3.97] has joined #go-nuts
06:05 <+iant> dsal: you should reslice instead of using a pointer
06:05 -!- punya [n=punya@c-24-19-57-173.hsd1.wa.comcast.net] has joined #go-nuts
06:05 -!- skmidry [n=deekay@59.92.148.95] has joined #go-nuts
06:06 <+iant> dsal: you don't usually need a pointer to a slice, because
slices are passed by reference
06:06 <+iant> dsal: if you do need a pointer to a slice, it is *[]byte
06:06 < itrekkie> Ah, I see.  I removed the I removed the ./ from the import
and it works well now, but I wonder if that's a "bad practice" for my own personal
files, since they're not strictly other libraries?
06:06 < sladegen> heh, #go-nuts was 97 peeps yesterday...  damn those
monopolies.
06:06 < dsal> OK. Basically, my struct contains three []bytes, and I don't
know the size until I compute them.  I figured I'd use Make for that.
06:06 -!- aa [n=aa@r190-135-227-187.dialup.adsl.anteldata.net.uy] has quit
[Connection timed out]
06:07 -!- uptown [n=jason@h-64-105-162-139.sttnwaho.static.covad.net] has quit
[Remote closed the connection]
06:07 <+iant> make([]byte, N) returns []byte of size N
06:07 <+iant> note that it doesn't return a pointer, it returns a slice
06:07 -!- IntrigueBot [n=namegduf@173-26-123-183.client.mchsi.com] has joined
#go-nuts
06:07 -!- jmacelro [n=jmacelro@nat/cisco/x-rqpvqsvhimfcceuw] has joined #go-nuts
06:07 < IntrigueBot> Hi jmacelro
06:07 < jb55> itrekkie: I ended up going this route when building my
packages: http://tinyurl.com/y8arlju works quite well
06:07 -!- kenthree [n=kenthree@201.237.76.34] has quit []
06:08 < gointrigue> your bot works namegduf :3
06:08 -!- andresambrois [n=aa@r190-135-146-33.dialup.adsl.anteldata.net.uy] has
quit [Read error: 113 (No route to host)]
06:08 < dsal> iant: Oooh.  It just does what I want.  Sorry for the
confusion.
06:08 < JBeshir> gointrigue: Yeah, I'm sure it could be done much much
better.
06:08 < gointrigue> hah
06:08 < gointrigue> I like
06:08 < JBeshir> Its IRC protocol support is pretty shoddy, it just manages
to 'work'
06:08 < gointrigue> ,3
06:08 < gointrigue> yeah
06:08 < gointrigue> but meh
06:08 < JBeshir> It's not critically wrong, though.
06:08 < itrekkie> jb55: thanks for that!  I think of the hardest things so
far has just been figuring out the way things are or ought to be done
06:09 < gointrigue> bot's don't need to understand damn everything
06:09 < gointrigue> I made an IRC bot in C++
06:09 < gointrigue> did some simple functions
06:09 < JBeshir> It needs NAMES(X) support and user permissions following
06:09 < gointrigue> even was able to pipe console output to it
06:09 < JBeshir> And for that it needs to read ISUPPORT and PREFIX.
06:09 < suraj> Hi, I am new to this.  Is there binary available for windows
to download and try this?
06:09 < JBeshir> I might actually turn it into a package for writing IRC
bots in Go at some point.
06:10 <+iant> suraj: it doesn't run on Windows unless you set up a virtual
machine running GNU/Linux, sorry
06:10 < gointrigue> I could issue linux commands via the bot, and the
console output would write to the channel
06:10 < JBeshir> Neat.
06:10 < JBeshir> Probably only if I get time to put it to practical use,
though.
06:10 -!- artery [n=artery@c-67-180-204-137.hsd1.ca.comcast.net] has joined
#go-nuts
06:10 < IntrigueBot> Hi artery
06:10 < gointrigue> I wish I could find my C++ bot code
06:10 < suraj> iant: thanks.
06:10 -!- IntrigueBot [n=namegduf@173-26-123-183.client.mchsi.com] has quit
[Remote closed the connection]
06:10 -!- Aria [n=aredride@coriolis.nbtsc.org] has quit ["Ta!"]
06:11 -!- suraj [n=chatzill@ppp-70-253-77-2.dsl.austtx.swbell.net] has quit
["ChatZilla 0.9.85 [Firefox 3.5.3/20090824101458]"]
06:12 -!- owen__ [n=owen@ta-1-91.tip.net.au] has quit [Remote closed the
connection]
06:13 -!- nnyby is now known as ToothImprintsOnA
06:13 -!- al-maisan [n=al-maisa@78.49.53.47] has joined #go-nuts
06:13 -!- al-maisan [n=al-maisa@78.49.53.47] has left #go-nuts ["Parting is
tough.."]
06:14 -!- droid0011 [n=g1@p4FDCD99D.dip.t-dialin.net] has quit [Connection timed
out]
06:14 -!- Gngsk [n=Gngsk@c-68-33-124-125.hsd1.md.comcast.net] has quit []
06:14 -!- owen__ [n=owen@ta-1-91.tip.net.au] has joined #go-nuts
06:15 -!- esser [n=marceles@unaffiliated/cobol] has quit []
06:15 -!- delza [n=delza@d66-183-63-49.bchsia.telus.net] has joined #go-nuts
06:17 -!- Fish-- [n=Fish@78.238.225.114] has quit [Read error: 60 (Operation timed
out)]
06:17 -!- q[mrw] [n=russ@24.6.33.44] has joined #go-nuts
06:17 -!- soukHome [n=souk@67-207-110-198.static.wiline.com] has left #go-nuts []
06:18 -!- Fish-- [n=Fish@78.238.225.114] has joined #go-nuts
06:18 -!- ToothImprintsOnA is now known as smudge
06:19 -!- turutosiya [n=turutosi@219.106.251.65] has joined #go-nuts
06:19 -!- tar_ [n=tom@c-67-180-208-162.hsd1.ca.comcast.net] has quit []
06:19 -!- Capso [i=none@about/networking/128.0.0.0/Capso] has joined #go-nuts
06:20 < chrome> iant: you need to add a "THERE IS NO WINDOWS PORT YET" to
the front page with a <blink> tag.
06:20 < Ycros> gointrigue: yeah, I wouldn't let people run linux commands
through a bot
06:20 <+iant> chrome: at least it is in the FAQ now
06:21 < chrome> iant: you know they won't read that.  :P
06:21 -!- MonadRagout [n=ksf@2002:4e36:7bb0:0:0:0:0:1] has left #go-nuts
["Leaving"]
06:21 <+iant> well, yeah
06:22 < ceh> Good morning folks.
06:22 -!- nexneo [n=niket@115.108.175.41] has quit []
06:22 < gointrigue> Ycros: I had it locked with various forms of
authentication
06:22 < gointrigue> Only I could use the command
06:22 -!- samferry [i=sam@unaffiliated/samferry] has joined #go-nuts
06:22 < gointrigue> however, unforunately, I believe I have permanently lost
my days and days of coding
06:23 < gointrigue> I canot find the CPPs anywhere :(
06:24 -!- ThePhred [n=thephred@71.95.107.79] has joined #go-nuts
06:25 -!- AndrewBC [n=Andrew@97.93.242.12] has joined #go-nuts
06:25 < kmc> how much Go code has been written at Google?
06:26 < ThePhred> So I was messing around with go, and I was working with
the 00dffdsexadfsdfsfdsf ddsfdffor spinning off a long running function as a
gorutine
06:26 < ThePhred> (sorry, that was weird)
06:26 < NfNitLoop> heh.
06:27 -!- owen_ [n=owen@ta-1-91.tip.net.au] has joined #go-nuts
06:27 < NfNitLoop> I think I see your problem!  ;)
06:27 -!- existsec_ [n=existsec@76-228-31-64.lightspeed.frokca.sbcglobal.net] has
joined #go-nuts
06:27 -!- Rob_Russell [n=chatzill@206-248-157-156.dsl.teksavvy.com] has quit
["ChatZilla 0.9.85 [Firefox 3.5.5/20091102152451]"]
06:27 -!- mbt [n=mbt@173-15-213-186-BusName-Atlanta.hfc.comcastbusiness.net] has
joined #go-nuts
06:27 <+iant> kmc: there have been a few experimental applications
06:27 -!- Fish-- [n=Fish@78.238.225.114] has quit [Remote closed the connection]
06:28 -!- Fish-- [n=Fish@78.238.225.114] has joined #go-nuts
06:28 < ThePhred> When trying to spin off several long running functions as
goroutines, it seems that the program stays on one cpu core even though it is
using multiple threads
06:28 < ThePhred> so it tacks one cpu core and the rest just sits around
06:28 <+iant> ThePhred: try setting GOMAXPROCS in the environment, e.g.,
GOMAXPROCS=4
06:28 < ThePhred> What am I missing here
06:28 < NfNitLoop> ThePhred: If you're using the 6g compiler, it uses
"segmented stacks" and keeps them all on the same thread.
06:28 < NfNitLoop> oh.  and that.
06:29 < ThePhred> ah ha!
06:29 < ThePhred> Very very useful info
06:29 < ThePhred> thank you very much
06:29 < AndrewBC> Has anyone hooked up Go with Curses functionality, out of
curiosity?
06:29 < chrome> AndrewBC: you just volunteered to wrap the ncurses library!
Thanks!
06:29 < chrome> AndrewBC: You are my hero.
06:29 < AndrewBC> I probably wouldn't mind.  Just didn't want to reinvent
and all that.  :)
06:30 < chrome> AndrewBC: there's been a few people asking about it but its
a lot of work.
06:30 < AndrewBC> Hm. Well it would be a good means to many ends.
06:30 < AndrewBC> Including some of my own
06:30 < AndrewBC> So we'll see.
06:30 < ThePhred> Does channels across processes?
06:30 < chrome> AndrewBC: maybe a script to generate much of the code, would
help
06:31 < chrome> ThePhred: do they cross processors?  Or separate processes?
06:31 < AndrewBC> Ah, from another language already wrapping the API to Go?
That's an idea.
06:31 < ThePhred> can they cross processes (not processors)?
06:31 < chrome> AndrewBC: well, I was thinking more of, parse curses.h and
spit out some .go
06:31 < droid001> Author: Brian Kernighan <bwk@research.att.com>
1988-04-01 09:03:04 last-minute fix: convert to ANSI C, Child: 9f5a335 (Go spec
starting point.) lol ;)
06:32 < AndrewBC> Ah. That's another idea.
06:32 < chrome> ThePhred: No, there is no mechanism to do that; you're
talking about pipes etc.
06:32 < chrome> they're not pipes.
06:32 < ThePhred> gotcha, thx
06:33 -!- ThePhred [n=thephred@71.95.107.79] has left #go-nuts []
06:33 -!- wcn [n=wcn@216.239.45.130] has left #go-nuts []
06:33 < chrome> there is RPC though: http://golang.org/pkg/rpc/
06:34 < JBeshir> How is Go expected to compare with C programs for memory
usage?
06:34 < JBeshir> (As opposed to CPU usage)
06:34 <+iant> JBeshir: I expect it will use more memory, due to GC
06:34 -!- jsgotangco [n=JSG@ubuntu/member/jsgotangco] has joined #go-nuts
06:35 < chrome> but its not going to allocate 500MB ram and grow from there
just to start :P
06:35 -!- badromance [n=aniani@bzq-79-177-238-203.red.bezeqint.net] has quit
["Leaving"]
06:35 < JBeshir> I'm seeing about 6MB used by a ~122 line program, wondering
if that's normal.
06:35 < kmc> haha
06:35 < JBeshir> (RSS)
06:36 < kmc> well that's 50 kB / line
06:36 < vegai> I'm wondering about the packages' namespacing
06:36 < Ycros> JBeshir: is that with RSS data loaded into memory?
06:36 < JBeshir> RSS data?
06:36 < vegai> godoc's main.go has this line: go indexer() and indexer is
defined in godoc.go
06:36 < vegai> main.go doesn't import godoc, however.  It becomes visible by
linking?
06:36 -!- skeeto [n=user@98.204.92.42] has joined #go-nuts
06:36 < chrome> mine uses 370kb
06:37 -!- darius_in_time
[n=darius_i@99-162-88-185.lightspeed.irvnca.sbcglobal.net] has quit ["ChatZilla
0.9.85 [Firefox 3.0.11/2009060215]"]
06:37 < NfNitLoop> vegai: do they have the same package name?
06:37 -!- bobappleyard1 [n=bob@cpc4-macc1-0-0-cust170.bagu.cable.ntl.com] has quit
[Read error: 110 (Connection timed out)]
06:38 < vegai> NfNitLoop: ah.  Yes, they do.
06:38 < JBeshir> I'm using 6g and 6l, if it makes a large difference.
06:38 < vegai> ok, I get it.
06:39 <+iant> good night all
06:39 < chrome> JBeshir: check out the malloc package, there is a GetStats
func
06:39 < chrome> iant: night
06:39 -!- robpike [n=r@c-76-21-1-88.hsd1.ca.comcast.net] has left #go-nuts []
06:39 < skeeto> does the exp/draw library do anything at all yet?  I see
there is code there but the library doesn't actually install.
06:40 -!- sobersabre [n=bilbo@85.64.34.22.dynamic.barak-online.net] has quit
[Connection timed out]
06:41 -!- owen__ [n=owen@ta-1-91.tip.net.au] has quit [Read error: 110 (Connection
timed out)]
06:42 -!- Fish-- [n=Fish@78.238.225.114] has quit [Remote closed the connection]
06:42 -!- Fish [n=Fish@78.238.225.114] has joined #go-nuts
06:42 -!- sjbrown_ [n=sjbrown@69.181.182.137] has joined #go-nuts
06:44 -!- jsgotangco [n=JSG@ubuntu/member/jsgotangco] has quit ["Ciao"]
06:44 -!- iamnafets
[n=iamnafet@r74-192-192-75.bcstcmta02.clsttx.tl.dh.suddenlink.net] has quit
["Leaving"]
06:45 < chrome> skeeto: looks like you answered your own question :)
06:46 -!- interskh [n=interskh@c-67-163-156-103.hsd1.pa.comcast.net] has joined
#go-nuts
06:46 -!- hd_l [i=dce9b0fd@gateway/web/freenode/x-zxtdpscigivbputr] has joined
#go-nuts
06:46 -!- hipe [n=markmeve@pool-74-108-83-4.nycmny.east.verizon.net] has joined
#go-nuts
06:46 -!- annodomini [n=lambda@wikipedia/lambda] has quit []
06:47 < chrome> needs a localization lib
06:47 < skeeto> chrome: just wanted to make sure i wasn't doing something
wrong or missing something
06:48 < chrome> i suspect there are loads of holes
06:48 < gointrigue> Oh thank the caffine gods
06:48 < gointrigue> I found my whole irc bot
06:49 -!- methods [n=daquino@li66-197.members.linode.com] has left #go-nuts
["WeeChat 0.3.0"]
06:49 < gointrigue> I backed it up on my GIT
06:49 * gointrigue dance
06:49 < chrome> repos are handy
06:49 -!- Wiredboy [n=wiredboy@S0106001f5b00a48f.vc.shawcable.net] has joined
#go-nuts
06:50 < AndrewBC> sometimes footy, too
06:50 < gointrigue> Programmer (n): Organism which consumes caffine and
turns it into code.
06:50 -!- bryce_ [n=bryce@c-76-121-192-70.hsd1.wa.comcast.net] has quit []
06:51 < chrome> http://www.youtube.com/watch?v=qYodWEKCuGg <-- code
monkey
06:51 -!- bicepjai [n=chatzill@98.244.21.83] has joined #go-nuts
06:51 -!- hmmb [n=hmmb@187.2.151.142] has joined #go-nuts
06:52 -!- cbeck [n=phylum@c-67-170-181-181.hsd1.or.comcast.net] has left #go-nuts
[]
06:52 -!- hmmb [n=hmmb@187.2.151.142] has quit ["Leaving"]
06:52 < gointrigue> Programmer's Law of C8H10N4O2: It is said that the
quality of code a programmer writes is directly proportional to their intake of
caffine.
06:52 -!- madac [n=madac@124-168-60-73.dyn.iinet.net.au] has left #go-nuts []
06:53 -!- Torstein_Haldors [n=chatzill@230.106.202.84.customer.cdi.no] has joined
#go-nuts
06:53 -!- skeeto [n=user@98.204.92.42] has left #go-nuts ["ERC Version 5.3 (IRC
client for Emacs)"]
06:54 -!- Torstein_Haldors [n=chatzill@230.106.202.84.customer.cdi.no] has quit
[Client Quit]
06:56 < gointrigue> That is a sad fucking video you ass
06:56 * gointrigue cries.
06:56 < itrekkie> is there a foreach type syntax for going through slices?
I can't seem to find it in the docs, but I remember something about it.
06:57 -!- depood [n=depood@80.108.55.214] has quit []
06:57 < gointrigue> I think it is just a for loop
06:57 -!- cn28h [n=cn28h@rrcs-96-10-241-245.midsouth.biz.rr.com] has joined
#go-nuts
06:58 -!- depood [n=depood@80.108.55.214] has joined #go-nuts
06:58 < itrekkie> the range clause looks like it does something similar
06:59 < KirkMcDonald> for index, element := range slice {}
07:00 < itrekkie> KirkMcDonald: thank you
07:00 -!- depood [n=depood@80.108.55.214] has left #go-nuts []
07:00 -!- delza [n=delza@d66-183-63-49.bchsia.telus.net] has quit []
07:00 -!- hd_l [i=dce9b0fd@gateway/web/freenode/x-zxtdpscigivbputr] has quit
["Page closed"]
07:00 -!- ineol [n=hal@mar75-9-88-171-191-168.fbx.proxad.net] has quit [Read
error: 113 (No route to host)]
07:01 -!- RazvanM [n=RazvanM@dazzler.isi.jhu.edu] has quit [Read error: 60
(Operation timed out)]
07:01 -!- oRk-maradatscha [n=Maradats@128.189.230.174] has joined #go-nuts
07:02 -!- nullpo [n=nullpo@221x252x46x83.ap221.ftth.ucom.ne.jp] has joined
#go-nuts
07:02 < oRk-maradatscha> Hi
07:02 -!- aa [n=aa@r190-135-148-125.dialup.adsl.anteldata.net.uy] has joined
#go-nuts
07:03 -!- delza [n=delza@d66-183-63-49.bchsia.telus.net] has joined #go-nuts
07:03 -!- mkanat [n=mkanat@c-67-188-1-39.hsd1.ca.comcast.net] has joined #go-nuts
07:04 -!- gordonbroom [n=gordonbr@S0106001b63f4ab15.gv.shawcable.net] has joined
#go-nuts
07:05 -!- zeebo- [n=zeebo-@pool-74-110-97-28.nrflva.fios.verizon.net] has joined
#go-nuts
07:05 -!- ajray [n=alex@wvc32563rh.rh.ncsu.edu] has left #go-nuts []
07:05 -!- nets [n=nets@bzq-79-178-103-16.red.bezeqint.net] has quit [Read error:
104 (Connection reset by peer)]
07:05 -!- triplez [n=triplez@bb116-14-25-62.singnet.com.sg] has quit []
07:06 -!- remy_ [n=remy@78.117.36.208] has quit [Remote closed the connection]
07:06 -!- triplez [n=triplez@bb116-14-25-62.singnet.com.sg] has joined #go-nuts
07:06 < travisbrady> is there a simple way to read a string from a socket
created with net.Dial ?
07:07 -!- ^self [n=self@i.dont.get.mad.i.get.stabby.net] has joined #go-nuts
07:07 < ^self> hi
07:07 -!- helge [n=helge@ws12.monsternett.no] has left #go-nuts []
07:08 -!- question [n=l@136.176.104.127] has joined #go-nuts
07:08 -!- RoGo [n=rogo@d64-180-45-230.bchsia.telus.net] has joined #go-nuts
07:08 -!- brrant [n=John@65-102-225-252.hlrn.qwest.net] has quit ["Leaving"]
07:09 < question> how can I resolve this error: $GOROOT is not set correctly
or not exported
07:10 < oRk-maradatscha> did you set it in your bashrc?
07:10 -!- Silverwolf [n=silverwo@137.132.208.8] has joined #go-nuts
07:11 -!- artery [n=artery@c-67-180-204-137.hsd1.ca.comcast.net] has quit
["Leaving"]
07:11 -!- decriptor [n=decripto@53.250.sfcn.org] has quit ["Ex-Chat"]
07:12 -!- mkanat [n=mkanat@c-67-188-1-39.hsd1.ca.comcast.net] has quit ["Bye!"]
07:12 -!- f0r1z [n=f0r1z@87.117.3.97] has quit ["--quit--"]
07:12 < Eridius> question: did you set it correctly and export it?
07:13 -!- Wiredboy [n=wiredboy@S0106001f5b00a48f.vc.shawcable.net] has left
#go-nuts ["Ex-Chat"]
07:13 < question> I must not have, but im not quite sure where the error is,
the online instructions were rather bare
07:13 < gointrigue> question.
07:13 < oRk-maradatscha> do you know what the bashrc file is?
07:13 < gointrigue> I had this same issue
07:14 < gointrigue> go into your bashrc (if you are under Ubuntu, go to
home/yourusername/)
07:14 < question> bash rc?
07:14 < gointrigue> make sure to show hidden files, then open .bashrc in
gedit or whatever
07:14 -!- awalton [n=awalton@76.177.53.219] has joined #go-nuts
07:14 < question> ohh ok
07:15 < gointrigue> put in these lines somewheres
07:15 < gointrigue> export $GOOS="linux"
07:15 < gointrigue> wait, drop the $
07:15 < gointrigue> :D
07:15 < gointrigue> export GOOS="linux"
07:15 < gointrigue> export GOARCH="386" (or whatever yours is)
07:15 -!- wcr [n=wcr@unaffiliated/warcrime] has quit []
07:16 < gointrigue> export GOBIN="$HOME/bin"
07:16 < question> ahh ok
07:16 < gointrigue> export GOROOT="$HOME/go"
07:16 < Ycros> GOBIN defaults to ~/bin though
07:16 < KirkMcDonald> The quotes are almost certainly redundant, as well.
07:16 < gointrigue> I know it should default to that, but it did not work
for me
07:17 < KirkMcDonald> GOBIN needs to be on the PATH, too.
07:17 < gointrigue> also, add this too: export PATH="$PATH:$HOME/bin"
07:17 -!- aa__ [n=aa@r190-135-146-33.dialup.adsl.anteldata.net.uy] has quit [Read
error: 110 (Connection timed out)]
07:17 < gointrigue> or even
07:17 < Ycros> gointrigue: it works for me though
07:17 < gointrigue> export PATH="$PATH:$GOBIN"
07:17 < Ycros> gointrigue: I certainly didn't set GOBIN
07:17 < gointrigue> ahh, well mine was finicky with it
07:17 < gointrigue> *shrug*
07:17 < Ycros> I already keep my own bins in ~/bin/
07:17 < gointrigue> w/e
07:18 < gointrigue> I just went through all this shit so glad to help :D
07:18 < itrekkie> is there an easy way to concat an int to a string?
07:18 < KirkMcDonald> itrekkie: What would that even mean?
07:19 < bluemoon> itrekkie, like with a printing function?
07:19 < KirkMcDonald> itrekkie: You may want: fmt.Sprintf("%d%s", i, str)
07:19 -!- travisbrady [n=tbrady@98.210.155.175] has quit [Read error: 131
(Connection reset by peer)]
07:19 < itrekkie> KirkMcDonald: e.g., "# words: " + numOfWords
07:19 < KirkMcDonald> Oh.
07:19 < Ycros> itrekkie: itrekkie you probably want
http://golang.org/pkg/strconv/#tmp_126
07:19 < Ycros> itrekkie: OR, you want Sprintf
07:19 < KirkMcDonald> Or even just Printf, if you're just writing to stdout.
07:19 < bluemoon> fmt.Printf("# words: %d", numOfWords);
07:19 -!- travisbrady [n=tbrady@98.210.155.175] has joined #go-nuts
07:20 < Ycros> indeed
07:20 < KirkMcDonald> I expect he'll want a \n in there.
07:20 < itrekkie> well, I want it for my String() to represent a type, so it
needs to yield a string
07:20 -!- igggy2 [n=iggy@76.104.189.88] has joined #go-nuts
07:20 < KirkMcDonald> Sprintf, then.
07:20 < itrekkie> I don't really want to write it to stdout
07:20 < bluemoon> Sprintf then
07:20 -!- oRk-maradatscha [n=Maradats@128.189.230.174] has quit ["Leaving"]
07:20 < itrekkie> okay, thanks :)
07:20 < gointrigue> brb
07:20 < gointrigue> (fuck I wish chrome worked natively under linux
>.< )
07:21 -!- gointrigue [i=ad1a7bb7@gateway/web/freenode/x-nlfnfcyudhihomnm] has quit
["Page closed"]
07:21 -!- gointrigue [i=ad1a7bb7@gateway/web/freenode/x-csyihkhnmaraicgm] has
joined #go-nuts
07:21 -!- madmoose_ is now known as madmoose
07:21 < gointrigue> Someone port chrome to linux natively, NAO!!
07:21 < KirkMcDonald> I thought it was, for some reason.
07:22 < JBeshir> It...  does, gointrigue.
07:22 < plux> http://code.google.com/intl/sv-SE/chromium/ ?
07:22 * JBeshir has been using it as his primary browser for the last two months
07:22 -!- bthomson [n=bthomson@c-69-255-188-5.hsd1.va.comcast.net] has quit [Read
error: 60 (Operation timed out)]
07:22 -!- xal [n=tobi@CPE001e527d7ab0-CM001bd71325c0.cpe.net.cable.rogers.com] has
quit []
07:22 < gointrigue> since when?  lol
07:22 -!- bthomson [n=bthomson@pool-71-114-74-245.washdc.dsl-w.verizon.net] has
joined #go-nuts
07:23 -!- nets [n=nets@79.178.103.16] has joined #Go-nuts
07:23 < JBeshir> Since quite some time
07:23 < itrekkie> you can add consts to a string though with +, am I
understanding that correctly?
07:23 < Ycros> gointrigue: chrome works on linux, I use it
07:24 < JBeshir> You remember when it came out, the Linux version was in
development, then getting closer, then pre-alpha and running, then alphay with
plugins, then beta?
07:24 < gointrigue> where can I find docs on donwloading/building?
07:24 < JBeshir> Yeah.
07:24 < JBeshir> gointrigue: Distro?
07:24 < JBeshir> It's packaged for Debian and Ubuntu.
07:24 < gointrigue> failbuntu
07:24 < Ycros> yeah, there are debs
07:24 < JBeshir> Oh, then you might have issues.
07:24 < Ycros> and a repo so apt will keep it up to date
07:24 -!- quietdev [n=quietdev@unaffiliated/quietdev] has left #go-nuts []
07:24 < JBeshir> It's distributed, but I don't know how many Ubuntu users
know how to download things
07:24 < JBeshir> :P
07:24 * Ycros is on Debian Unstable
07:24 < JBeshir> Sorry, couldn't help it
07:24 * JBeshir highfives.
07:24 -!- question [n=l@136.176.104.127] has left #go-nuts []
07:25 < JBeshir> (Debian Testing here, actually, but...)
07:25 < JBeshir> http://dev.chromium.org/getting-involved/dev-channel <--
Here.
07:25 < gointrigue> Can I just apt it?  or whut?
07:25 < JBeshir> Scroll down to Linux, there's two .debs.
07:25 < JBeshir> When installed, it adds itself to your sources.list, and
all future upgrades are pulled through apt
07:26 < gointrigue> vundarful!
07:26 < bluemoon> is anyone familiar with the internal types of Go? as in i
want to add a matrix type
07:27 -!- Associat0r [n=Associat@h163153.upc-h.chello.nl] has joined #go-nuts
07:27 < Ycros> gointrigue: I think in ubuntu you can just double click on
the deb
07:28 -!- level09 [n=chatzill@80.227.125.119] has quit ["ChatZilla 0.9.85 [Firefox
3.5.5/20091102152451]"]
07:28 < gointrigue> I see!  Excellent
07:29 -!- bicepjai [n=chatzill@98.244.21.83] has quit ["ChatZilla 0.9.85 [Firefox
3.5.5/20091102152451]"]
07:29 -!- thesteprobe [n=quassel@82-35-165-171.cable.ubr07.nmal.blueyonder.co.uk]
has quit [Read error: 113 (No route to host)]
07:29 < kmc> "For strings, the range does more work for you, breaking out
individual Unicode characters by parsing the UTF-8"
07:29 -!- peterdc [n=peterdc@adsl-76-230-239-33.dsl.pltn13.sbcglobal.net] has
joined #go-nuts
07:29 -!- hd_ [n=hd_@253.176.233.220.static.exetel.com.au] has joined #go-nuts
07:30 -!- trickie [n=trickie@86.93.227.181] has quit ["Computer has gone to
sleep"]
07:30 < kmc> so strings are byte-based, but also specified to use a
particular unicode encoding?
07:31 < Ycros> I think all the strings are UTF8
07:32 -!- q[mrw] [n=russ@24.6.33.44] has quit ["Leaving"]
07:32 < JBeshir> So, hmm, I've no idea how that "GetStats" function could be
used to see what's taking up 6MB of RAM.
07:32 -!- rapidfx [n=host666@vl-cen-ce1.avtlg.ru] has joined #go-nuts
07:32 < JBeshir> It looks like it provides me with much the same information
I can get outside the program.
07:33 -!- red1 [n=red1@115.132.80.145] has joined #go-nuts
07:33 -!- q[mrw] [n=russ@c-24-6-33-44.hsd1.ca.comcast.net] has joined #go-nuts
07:34 -!- hiromtz [n=hiromtz@softbank126104126014.bbtec.net] has joined #go-nuts
07:36 < dsal> OK, I must be doing this wrong… what does while(true) look
like?
07:36 <+kaib> dsal: for {}
07:37 -!- q[mrw] [n=russ@c-24-6-33-44.hsd1.ca.comcast.net] has quit [Client Quit]
07:37 < dsal> Er, while somethingThatIsTrue()
07:37 < dsal> My function was just returning false.  :)
07:37 < JBeshir> for somethingThatIsTrue() {
07:37 < JBeshir> For with a single thing specified, basically.
07:38 <+kaib> ok, night everyone!
07:38 < madmoose> const ever := true; for ever { ...  }
07:38 -!- joeedh is now known as joeedh_sleep
07:39 < dsal> Yeah, I had the syntax right, my function was just wrong.
07:39 -!- kaib [n=kaib@216.239.45.130] has left #go-nuts []
07:40 < kmc> Ycros, are they strings of Unicode code points, or are they
strings of bytes which also encode unicode codepoints via UTF8?
07:40 < kmc> that implies the latter as "erroneous encodings consume one
byte and produce the replacement rune U+FFFD"
07:40 < JBeshir> kmc: What's the differene?
07:40 < kmc> well, for starters, whether indexing is by byte or by codepoint
07:41 < kmc> also whether invalid encodings are possible, which it seems
they are
07:41 -!- cold-penguin [n=ben@92.8.42.199] has left #go-nuts ["Ex-Chat"]
07:41 -!- delza [n=delza@d66-183-63-49.bchsia.telus.net] has quit []
07:41 -!- delsvr [n=delsvr@cpe-67-242-41-219.twcny.res.rr.com] has joined #go-nuts
07:42 < zeebo-> maybe my understanding of the language is wrong, but i would
expect the code at http://pastebin.com/m5c7dc89d to run in multiple threads, but
it appears no matter what i set NUMPROC to, it only runs in one.  can anyone
explain why?
07:42 < JBeshir> Anyone got any idea whether it using 6MB of RSS when
executing a 122 line program is normal?
07:42 < JBeshir> "file" tells me its stripped, although it also says it's
dynamically linked.
07:43 < droid001> try ldd
07:43 -!- Lixivial [n=Lixi@71-10-86-62.dhcp.roch.mn.charter.com] has quit [Read
error: 60 (Operation timed out)]
07:43 -!- weeegod [n=weeegod@187.39.148.176] has joined #go-nuts
07:43 < JBeshir> ldd tells me it's statically linked; not really what I'm
trying to look at, though.
07:44 -!- red1_ [n=red1@115.132.80.145] has joined #go-nuts
07:44 -!- bogen [n=bogen@cpe-76-186-22-145.tx.res.rr.com] has joined #go-nuts
07:44 < kmc> JBeshir, how does the number of lines have anything to do with
how much ram it uses?
07:45 < JBeshir> kmc: Speaks of general complexity, which should relate
unless the program is doing anything hugely complex.
07:45 -!- weeegod [n=weeegod@187.39.148.176] has quit [Read error: 104 (Connection
reset by peer)]
07:45 -!- weeegod [n=weeegod@187.39.148.176] has joined #go-nuts
07:45 < JBeshir> i.e.  I wouldn't be surpriseed to hear a 100,000 line total
program using 60MB+, but something akin to the length of Hello World using it
would be quite weird
07:45 < Ycros> JBeshir: well you could be loading 6MB of data into ram
07:45 < kmc> not really
07:45 < JBeshir> Ycros: I'm not.
07:45 < Ycros> JBeshir: what are you loading into ram?
07:45 < JBeshir> Ycros: It's the crappy bot core I showed earlier.
07:45 < kmc> i can write a 10 line useful program that uses 60 MB of memory
07:45 < Ycros> apart from the program
07:46 < kmc> it depends on what you're doing, not how long it took you to
say what you're doing
07:46 -!- ArekZB_ [n=ArekZB@76.10.138.81] has joined #go-nuts
07:46 < JBeshir> kmc: The key word here is "average case"
07:46 < Ycros> there is no average case
07:46 -!- emg [n=emg@12.230.42.130] has quit [Remote closed the connection]
07:46 < kmc> JBeshir, you have a probability distribution over all programs?
07:47 < zeebo-> what is the average program?
07:47 < JBeshir> kmc: Well, that's not really the question.
07:47 < kmc> i think it would be very common to find a short program that
uses a lot of memory, and a long program that uses very little
07:47 < kmc> they're just not very correlated
07:47 < JBeshir> kmc: The question is, is that even slightly relevant to my
question, and the answer is that it isn't
07:48 -!- red1_ [n=red1@115.132.80.145] has quit [Client Quit]
07:48 -!- alb [n=nil@unaffiliated/alb] has joined #go-nuts
07:48 < Ycros> it is relevant, because you're pointing out how long your
program is, and claiming it shouldn't be using that amount of ram for its length
07:48 < zeebo-> the real question is, what does number of lines have to do
with ram usage of the program, and the answer is nothing
07:48 < kmc> it's maybe a little correlated to the code size, but that's
probably a small component of overall RAM usage
07:48 < Ycros> JBeshir: I never saw your core - do you have a link to it?
07:48 < JBeshir> Ycros: No, I'm saying "Should a fairly typical small
program use 6MB of RAM in Go?"
07:49 < kmc> JBeshir, what does it do?
07:49 < zeebo-> it depends on how much memory it allocates in the program
07:49 < kmc> if you answer that question it will be much more useful than
knowing how many lines of code it is
07:49 < JBeshir> kmc: It opens a socket connection and reads from it.
07:49 < kmc> reads into a buffer of bounded size?
07:49 < JBeshir> Does stuff on each received line then forgets about it.
07:49 < JBeshir> Yes; 512 bytes
07:49 < kmc> are you sure it's forgetting about each line?
07:49 < JBeshir> It's garbage collected and only has so many variables.
07:50 < JBeshir> It's also not receiving anything near that amount of data.
07:50 < JBeshir> A few KB would be a pretty big overestimate
07:50 < Ycros> so on a cold start, it's using 6mb
07:50 -!- btipling [n=btipling@unaffiliated/sk/x-5968384] has quit [Remote closed
the connection]
07:50 < JBeshir> Yeah.
07:51 -!- Fish- [n=Fish@78.238.225.114] has joined #go-nuts
07:51 -!- ArekZB_ [n=ArekZB@76.10.138.81] has left #go-nuts []
07:51 < JBeshir> 6116KB.
07:51 -!- Fish [n=Fish@78.238.225.114] has quit [Dead socket]
07:51 < kmc> and does that grow when you send data?
07:51 < JBeshir> It seems to move around a bit, but not nearly that
significantly.
07:52 < JBeshir> As I said, a few KB would be a severe underestimate of the
amount in question.
07:52 < JBeshir> http://pastebin.com/m55eff7cb <-- This is the program in
question.
07:52 -!- trickie [n=trickie@94.100.112.225] has joined #go-nuts
07:52 -!- logis [n=logis@81-7-97-247.static.zebra.lt] has joined #go-nuts
07:52 -!- ArekZB_ [n=ArekZB@76-10-138-81.dsl.teksavvy.com] has joined #go-nuts
07:53 < JBeshir> Only change I made is a comment fix, where I couldn't
figure out how to get an array of slices to assign at all and eventually resorted
to just having an array of strings and hoping it relied on immutability to not
suck for performance
07:53 < gointrigue> damn it all to hell
07:53 < gointrigue> turns out I didn't back up my bot to GIT
07:54 -!- descendency [n=ldb@wvb31941rh.rh.ncsu.edu] has joined #go-nuts
07:54 -!- red1 [n=red1@115.132.80.145] has quit [Read error: 110 (Connection timed
out)]
07:54 < gointrigue> Just my stupid...  useless attempt at a database server
07:54 * gointrigue cries histerically.
07:54 < chrome> get a grip man
07:54 < chrome> its only code
07:54 -!- travisbrady [n=tbrady@98.210.155.175] has quit []
07:54 < gointrigue> but but but
07:54 < JBeshir> chrome: What were you suggesting I do with GetStats?
07:54 < gointrigue> It was cool code
07:54 < JBeshir> I took a look at it, but I couldn't figure out what it
tells me that I can't see easily enough from an external view.
07:55 < gointrigue> Working IRC bot from scratch in C++, written in a plain
old text editor (mousepad)
07:55 < chrome> I said get a grip!  These trenches won't get dug without you
man!  We need you!  So pick up that damn shovel and dig!  Before the enemy shoots
that blubbering head of yours off
07:55 < chrome> !
07:55 < gointrigue> !!
07:55 < gointrigue> well if you want to see my absolute failure of a
database server
07:55 < chrome> I was going for B&W action movie
07:55 < gointrigue> here: http://173.26.123.183/cgi-bin/gitweb.cgi
07:56 < gointrigue>
http://173.26.123.183/cgi-bin/gitweb.cgi?p=tbase.git;a=blob_plain;f=QUERYLANGUAGE;hb=HEAD
07:56 < madmoose> gointrigue: It'll be better the second time you write it
:P
07:56 < Ycros> gointrigue: that's why I have automated backups for anything
I care about :P
07:56 < gointrigue> Specially cause I would use go
07:56 < gointrigue> I wrote it under vbox
07:56 < gointrigue> but I lost the virtual harddrive image for it
07:56 < gointrigue> [
07:57 < gointrigue> I had thought I backed it up somewhere
07:57 -!- ArekZB_ [n=ArekZB@76-10-138-81.dsl.teksavvy.com] has quit [Client Quit]
07:57 < gointrigue> either zip file on my windows box or git
07:57 < gointrigue> but no :(
07:57 < descendency> does anyone know why there is no current go-compiler
support for Windows (I know...  not a nerd-popular OS)?
07:57 < JBeshir> Hmm.
07:57 < Ycros> descendency: um, probably because nobody has written one yet
07:57 < JBeshir> Okay, looks like it is normal, at least on linux/amd64 with
the 6g/6l stuff.
07:57 < JBeshir> Hello World produces a 5.6MB RAM usage
07:57 < chrome> irc bots are a dime a dozen anyway
07:58 < JBeshir> chrome: I know, the point wasn't the code, which was just
me teaching the language.
07:58 < descendency> Ycros: that's a great reason.  I was more wondering if
anyone knew why google didn't do it.
07:58 < gointrigue> lol wtf JBeshir
07:58 < kmc> but it's only 4 lines!
07:58 < chrome> yeah, oh, I get it, I mean, if you lose it, its not like it
was going to be your legacy
07:58 -!- anders_ [n=anders@c83-253-2-206.bredband.comhem.se] has joined #go-nuts
07:58 < chrome> to future generations
07:58 < gointrigue> here is my command parsing engine for the database
server...  uhggg
07:58 < gointrigue>
http://173.26.123.183/cgi-bin/gitweb.cgi?p=tbase.git;a=blob;f=cmdengine.cpp;h=8f78c5662e80be99c82e639891e7c35a7be73861;hb=HEAD
07:58 < gointrigue> Don't laugh
07:58 < gointrigue> Ok maybe snicker
07:59 < chrome> gointrigue: yeah, your parser is a horror.
07:59 < gointrigue> I know
07:59 < gointrigue> lol
07:59 < JBeshir> How it is for RAM usage affects whether I want to use it or
not/the circumstances I want to use it for, and the RAM usage here is nuts.
07:59 < gointrigue> I was learning C++ still
07:59 < punya> When I try to parallel-assign entries in a map, the compiler
segfault.  Is this a known issue or intended behavior?  I'm just checking before I
file an issue.
07:59 < gointrigue> this was technically my 3rd C++ application
07:59 < JBeshir> I just took the same Hello World from the site and stuck a
"for true { }" on the end so it'd stick around for me to view its usage.
07:59 < Eridius> punya: maps do not have implicit locks
07:59 < zeebo-> maps arent atomic
07:59 < gointrigue> 1st being hello world
07:59 < Eridius> there we go, atomic, the word I'm looking for
07:59 < kmc> JBeshir, if the 4 line program uses 4 MB it doesn't mean the
4000 line program will use 4 GB
07:59 < kmc> there's probably a constant term...
07:59 < JBeshir> kmc: Wait?  REALLY?
08:00 -!- alt^255 [n=k@85.88.27.205] has joined #go-nuts
08:00 < chrome> 4MB seems pretty light once you look at java, hah
08:00 < JBeshir> Wow, I'll best write this down immediately, it isn't as if
I said I was giving a general idea of the complexity of the matter on the simple
script to large system scale
08:00 < sg> so that's why all the programs stop working at 999 lines right?
08:00 < punya> zeebo-, Eridius: but should the *compiler* segfault when I do
this?
08:00 < Eridius> compiler ?eek?
08:01 < punya> yeah, I was surprised too :)
08:01 < Ycros> descendency: maybe because the guys that came up with the
language - initially in their spare time - are all *nix geeks
08:01 -!- hipe [n=markmeve@pool-74-108-83-4.nycmny.east.verizon.net] has quit
[Client Quit]
08:01 < kmc> your general idea was useless.  it'd be much better to say "the
program reads 512 byte lines then discards them" than "the program is 217 lines
long"
08:01 < sg> chrome actually you can write java programs that don't use that
much memory
08:01 -!- mike_storm [n=michael@c-24-12-53-42.hsd1.il.comcast.net] has joined
#go-nuts
08:01 < sg> (and limit the size of the heap and such for the jvm)
08:01 -!- quodt [i=lovely@81.189.156.94] has joined #go-nuts
08:01 < JBeshir> Anyways, I have half my answer from my own testing; it
isn't specific to the program I tried to write, Hello World does it too.
08:01 < punya> When I say "parallel-assign" I just mean a statement like
m[0], m[1] = 2, 3
08:02 -!- ArekZB [n=arek@76-10-138-81.dsl.teksavvy.com] has quit [No route to
host]
08:02 < chrome> sg: go on then, get the vm down to 4mb.
08:02 < chrome> i dare you
08:02 < Ycros> JBeshir: is it the runtime that it's pulling in that's that
big?
08:02 < chrome> no, in fact, I DOUBLE dare you :P
08:02 < bluemoon> JBeshir, it has to do with stack and heap allocation, that
and its a very new language
08:02 < JBeshir> Ycros: I don't know, I thought it was supposed to be
smaller than that
08:02 < Eridius> punya: oh
08:02 < chrome> the compilers aren't optimised yet.
08:02 < JBeshir> Because that's really quite heavy, heavier than Python
easily.
08:02 < sg> chrome how about 10 mb for a scheme interpreter?
08:03 -!- sjbrown_ [n=sjbrown@69.181.182.137] has quit [Read error: 145
(Connection timed out)]
08:03 < sg> (on cold boot)
08:03 < Ycros> JBeshir: that depends - it'd be good to benchmark it for
memory usage
08:03 -!- jcaose [n=jcaose@gw.conveneer.ideon.se] has joined #go-nuts
08:04 < zeebo-> punya: yeah seems like a bug.  no idea if it's known or not
08:04 < zeebo-> i could reproduce it.  http://pastebin.com/ma411e92
08:04 < punya> Eridius: okay, I'll just file an issue then
08:04 < bogen> In Go, how can a type assertion throw a run time exception,
and how can index out of range throw a run time exception, if Go does not have
exceptions?  Are these exceptions essentially un-handled and the app will just
dump core or something?
08:04 < JBeshir> Ycros: So..  question again is, has anyone done those, even
basic ones?
08:04 < Eridius> bogen: there's no exceptions
08:04 < Ycros> JBeshir: I bet the dev team have internally, but I haven't
seen any published ones anywhere
08:05 < punya> zeebo-: Thanks, that's pretty much my example too.  I'll
check once to see if it also fails on arrays.
08:05 < Ycros> JBeshir: ie.  the computer language shootout measures memory
use
08:05 -!- DaNmarner [n=dan@rrcs-24-227-222-36.sw.biz.rr.com] has joined #go-nuts
08:05 < sg> mmmm
08:05 < punya> zeebo-: nope, works fine for arrays
08:05 < sg> that would be a nice project
08:06 < dsal> Is it worth worrying about reusing channels vs.  spinning up a
new one on each function call?
08:06 < sg> implementing the computer language shootout programs in go
08:06 < mike_storm> bogen: I believe it does sort-of throw an exception, in
terms of returning both the value and an error code.
08:06 -!- albertito [n=nil@unaffiliated/alb] has quit [Read error: 110 (Connection
timed out)]
08:06 < mike_storm> By the way, hi all
08:06 < sg> or are there already implementations?
08:06 -!- peterdc [n=peterdc@adsl-76-230-239-33.dsl.pltn13.sbcglobal.net] has left
#go-nuts ["Leaving..."]
08:06 < sg> hi mike_storm
08:06 -!- trasktrojanek [n=trasktro@c-75-72-133-174.hsd1.mn.comcast.net] has
joined #go-nuts
08:07 -!- vasandgvd [n=vk@ppp-94-64-243-16.home.otenet.gr] has joined #go-nuts
08:07 < bogen> Eridius and mike_storm: yeah, according to this there are
exceptions: http://golang.org/doc/go_spec.html#Type_assertions and
http://golang.org/doc/go_spec.html#Indexes
08:07 < Ycros> bogen: error values
08:07 < trasktrojanek> Is there any syntax highlighting available for Go? Or
an IDE/recommended editor?  (Preferably vim syntax)
08:07 -!- DaNmarner [n=dan@rrcs-24-227-222-36.sw.biz.rr.com] has quit [Read error:
104 (Connection reset by peer)]
08:07 < zeebo-> punya: yeah i'd file the issue.  i dont see it on the bug
tracker at googlecode
08:07 < bluemoon> trasktrojanek, check the misc folder
08:07 -!- RazvanM [n=RazvanM@pool-173-75-187-87.bltmmd.east.verizon.net] has
joined #go-nuts
08:07 < bogen> Ycros: ok, I guess I'd just have to try it and see
08:07 < trasktrojanek> bluemoon, wonderful, thank you!
08:08 < Ycros> bogen: as in, it'll return (value, error)
08:08 < Ycros> bogen: if error is not nil, then something's wrong
08:08 < bogen> ok
08:08 -!- tasslehoff [n=tassleho@147.84-49-231.nextgentel.com] has joined #go-nuts
08:09 < mike_storm> bogen: These runtime exceptions seem like something else
entirely; Google's simply calling them exceptions.
08:09 < Ycros> bad use of language imo
08:09 < mike_storm> The docs say that a correctly-defined program will not
throw such exceptions in the first place.
08:09 < mike_storm> Exceptions are used to correctly define error
conditions.
08:09 < punya> Eridius, zeebo-: Thanks for the feedback, I've filed an
issue.
08:09 < __gilles> hi
08:10 < mike_storm> hi __gilles
08:10 -!- DaNmarner [n=dan@rrcs-24-227-222-36.sw.biz.rr.com] has joined #go-nuts
08:10 -!- red1 [n=red1@115.132.80.145] has joined #go-nuts
08:10 < Ycros> actually
08:10 -!- DaNmarner [n=dan@rrcs-24-227-222-36.sw.biz.rr.com] has quit [Client
Quit]
08:10 < Ycros> yeah
08:10 < Ycros> bogen: I think if you're in a case where you're not getting
the error value, it'll probably crash the program
08:11 < Ycros> worth testing
08:11 < bogen> yeah
08:11 -!- DaNmarner [n=dan@rrcs-24-227-222-36.sw.biz.rr.com] has joined #go-nuts
08:11 < kmc> Are there existing libraries for manipulating Go code in any
languages besides C or C++?
08:12 < mike_storm> Ycros: I think that's slightly mistaken :-) Say you have
an array of integers.  A bad index will return (0, errcode).
08:12 < mike_storm> Not a crash.
08:12 < mike_storm> I think.
08:12 -!- blasdelf [n=fred@76.104.181.225] has joined #go-nuts
08:12 < bogen> mike_storm: without exectuting the rest of the function?
(apart from maybe the defered statements)
08:13 < mike_storm> Oops, wait, I'm wrong.
08:13 < mike_storm> That'll show me for speaking without reading.
08:13 -!- nexneo [n=niket@59.96.159.56] has joined #go-nuts
08:13 -!- shambler [n=sil@213.184.241.199] has joined #go-nuts
08:13 < bogen> I've not downloaded/installed Go yet, I was just curious :)
(Definitely looks like something I'll want to play with though)
08:14 -!- DaNmarner [n=dan@rrcs-24-227-222-36.sw.biz.rr.com] has quit [Client
Quit]
08:14 < mike_storm> Okay, out-of-range lookups will throw exceptions on
everything but maps, which return (T, bool).
08:14 < vasandgvd> hi i have an intel quad core q9040 should i use the amd64
or 386 architecture?
08:14 -!- Capso [i=none@about/networking/128.0.0.0/Capso] has quit [Read error:
110 (Connection timed out)]
08:15 -!- dsal [n=Adium@adsl-69-230-8-158.dsl.pltn13.pacbell.net] has quit
["Leaving."]
08:15 < blasdelf> vasandgvd: what kernel are you booting?
08:15 < Ycros> mike_storm: except if you use them like "value, err :=
array[x]" - yes?
08:15 -!- trickie [n=trickie@94.100.112.225] has quit ["outty"]
08:15 -!- igggy2 [n=iggy@76.104.189.88] has quit [Read error: 148 (No route to
host)]
08:16 < vasandgvd> output from uname -a: Linux vk-gvd 2.6.31-14-generic-pae
#48-Ubuntu SMP Fri Oct 16 15:22:42 UTC 2009 i686 GNU/Linux
08:17 < bogen> vasandgvd: 386
08:17 < vasandgvd> thank you!
08:17 < mike_storm> Ycros: I was wrong before.  Out-of-range array indexes
do not return (value, err).  They throw exceptions.
08:17 < mike_storm> If I'm reading the spec right.
08:17 -!- Fish- [n=Fish@78.238.225.114] has quit [Remote closed the connection]
08:17 -!- camfex [n=d@89.163.17.22] has joined #go-nuts
08:18 < Ycros> mike_storm: only for maps?  that's a bit weird
08:18 < mike_storm> vasandgvd: Try amd64.  Intel's page just says "64-bit"
08:18 -!- b0red [n=m@unaffiliated/b0r3d] has joined #go-nuts
08:18 < bogen> mike_storm and Ycros: looks like I'll just have to try
08:18 < mike_storm> Ycros: Hang on, I'll read it again.  I know it's weird.
08:18 -!- depood [n=depood@chello080108055214.19.11.vie.surfer.at] has joined
#go-nuts
08:18 < gointrigue> I have a bit of a misunderstanding of goroutines, when
the goroutine is "forked" off, how does the code know when it returns?
08:18 -!- Fish- [n=Fish@78.238.225.114] has joined #go-nuts
08:18 < Ycros> gointrigue: it doesn't
08:18 < Ycros> gointrigue: it doesn't return
08:18 < b0red> haha.  I just read that Go promotes writing systems and
servers as sets of lightweight communicating processes, called goroutines, with
strong support from the language.  Run thousands of goroutines if you want—and say
good-bye to stack overflows.
08:18 < bogen> mike_storm: 64 bit code won't run on an i686 kernel (usually)
08:19 -!- nexneo [n=niket@59.96.159.56] has quit [Read error: 60 (Operation timed
out)]
08:19 < gointrigue> Like in the tech talk, the forks off the routine, the
code does more stuff, and it reaches a value that accepts the output of the
goroutine.  What if when it reaches there...  that routine isn't done.
08:19 < mike_storm> bogen: Oh, he's running an i686 kernel?  Once again, my
bad :-)
08:19 < gointrigue> Does it just sit there blocking and waiting for it to
evaluate?
08:19 < zeebo-> so i cant manage to get any program to run in more than one
thread.  i thought that was the point of goroutines o.O
08:19 -!- aa [n=aa@r190-135-148-125.dialup.adsl.anteldata.net.uy] has quit [Read
error: 104 (Connection reset by peer)]
08:19 < Ycros> gointrigue: was the code using a channel?
08:19 < Ycros> gointrigue: channels are how you communicate across
goroutines
08:19 -!- nexneo [n=niket@59.96.159.56] has joined #go-nuts
08:19 -!- dRiZzle [n=dRizzle@77.221.236.236] has joined #go-nuts
08:20 < gointrigue> I don't remember off-hand.
08:20 < gointrigue> it was like x <- something
08:20 < gointrigue> in the video
08:20 < gointrigue> LongFunction(17) or whatever
08:20 -!- aa [n=aa@190.135.148.125] has joined #go-nuts
08:20 < Ycros> zeebo-: goroutines don't always run in separate OS threads, I
believe they do that when one of them blocks on IO
08:20 < Ycros> zeebo-: or something.
08:20 < gointrigue> Well, still.
08:21 < Ycros> gointrigue: yes, <- is using a channel
08:21 < gointrigue> yeah, it is on a channel
08:21 < gointrigue> but when the code reaches that point in the execution
08:21 < mike_storm> Does anyone know how the Go compiler looks up imported
packages?  I compiled from source and when compiling a Hello, World program, I
get:
08:21 < Ycros> gointrigue: receiving from a channel blocks if there's
nothing in the channel
08:21 < gointrigue> and the goroutine isn't done yet
08:21 < mike_storm> hello.go:3: fatal error: can't find import: fmt
08:21 < gointrigue> does it just wait there?
08:21 < Ycros> gointrigue: so it will wait until something else sends to the
channel
08:21 < gointrigue> Ok
08:22 < gointrigue> I get it
08:22 < gointrigue> As I figured
08:22 < zeebo-> Ycros: so assuming you did want to write code that ran on
multiple cores, how could you explicitly do that?
08:22 -!- reality|poolboy [n=aol@pool-98-116-11-175.nycmny.fios.verizon.net] has
quit [Read error: 110 (Connection timed out)]
08:22 < Ycros> zeebo-: not sure, I think iant mentioned some env var before
08:22 < zeebo-> i mean it seems to imply at
http://golang.org/doc/effective_go.html#parallel that it runs on multiple cpu
cores
08:23 < mike_storm> zeebo-: You could try linking against pthreads by
compiling with gccgo.
08:24 < Ycros> gccgo does a thread per goroutine at the moment I think,
which is yucky
08:24 < zeebo-> that is yucky
08:24 < Ycros> plus everyone seems to be having huge problems actually
getting gccgo to work
08:24 < olegfink> is there any document discussing the implementation of
closures in go, particularly runtime generation mentioned by russ on the ML?
08:24 -!- fynn [n=fynn@unaffiliated/fynn] has joined #go-nuts
08:24 < olegfink> or should I just ask there?
08:25 -!- yorick [n=Yorick@s55924da0.adsl.wanadoo.nl] has joined #go-nuts
08:25 < yorick> hello, I'd like to install a go compiler on my mingw env
08:26 -!- fynn [n=fynn@unaffiliated/fynn] has left #go-nuts ["Leaving"]
08:26 < mike_storm> yorick: I like your daring.  Have you had success?
08:26 -!- ArekZB [n=ArekZB@76-10-138-81.dsl.teksavvy.com] has joined #go-nuts
08:27 < yorick> this is the first place I'm looking at :)
08:27 < zeebo-> oh.  http://golang.org/doc/GoCourseDay3.pdf has my answer
08:27 < zeebo-> if you call runtime.GOMAXPROCS(n) it will run them across n
processors
08:27 < yorick> I guess there hasn't been any port yet?
08:27 -!- tasslehoff [n=tassleho@147.84-49-231.nextgentel.com] has left #go-nuts
["Leaving"]
08:27 -!- tinker [n=timmy@thbh-ip-vsat-2-p254.vsat.telkom-ipnet.co.za] has joined
#go-nuts
08:27 -!- ArekZB [n=ArekZB@76-10-138-81.dsl.teksavvy.com] has left #go-nuts []
08:28 -!- trickie [n=trickie@94.100.112.225] has joined #go-nuts
08:28 < mike_storm> yorick: Can't speak to mingw.  There aren't ports to a
lot of things.  Have you tried yet?
08:28 -!- b0red [n=m@unaffiliated/b0r3d] has left #go-nuts []
08:28 < yorick> I'm just finding the compiling guide for gcc :)
08:29 -!- Fish- [n=Fish@78.238.225.114] has quit [Remote closed the connection]
08:29 < mike_storm> zeebo-: Is that n processors, n processes, or n native
threads?
08:29 < Ycros> zeebo-: yeah, I just searched my IRC backlog - apparently you
can set GOMAXPROCS as an env var
08:29 < zeebo-> mike_storm: my guess would be threads
08:29 -!- Fish- [n=Fish@78.238.225.114] has joined #go-nuts
08:29 < zeebo-> from the docs: "GOMAXPROCS sets the maximum number of CPUs
that can be executing simultaneously.  This call will go away when the scheduler
improves."
08:29 -!- ArekZB [n=ArekZB@76-10-138-81.dsl.teksavvy.com] has joined #go-nuts
08:29 < mike_storm> zeebo-: Mine too, just thrown by "processors"
08:29 -!- ArekZB [n=ArekZB@76-10-138-81.dsl.teksavvy.com] has quit [Client Quit]
08:29 < mike_storm> zeebo: Oh, that's not threads then.  Huh.
08:29 < yorick> what exactly are the differences between gccgo and gcc, what
do I need to rebuild?
08:30 < zeebo-> it is threads.
08:30 < Ycros> mike_storm: it is threads
08:31 < zeebo-> it has n+1 threads when i run the program no matter what n
is
08:31 < Ycros> mike_storm: but you can end up with more threads than
GOMAXPROCS
08:31 < zeebo-> yeah that too
08:31 < Ycros> because any goroutine blocking on an external call will get
pushed onto another thread
08:31 < mike_storm> Yrcros and zeebo: But it seems to set "maximum
processors".  As in cores.  Not the same as threads.
08:31 < Ycros> mike_storm: yes, but how do you run code on multiple cores
08:32 < mike_storm> yorick: My understanding is that gccgo is a front-end to
gcc.  Look into gcc front-ends.  Don't know more than that.
08:32 < zeebo-> mike_storm: test it out.  i ran the sample sieve program
they gave in the tutorial and changed the value in the function call and looked at
the thread count of the program
08:32 < zeebo-> it spawns threads
08:33 -!- danmarner [n=dan@rrcs-24-227-222-36.sw.biz.rr.com] has joined #go-nuts
08:33 < mike_storm> zeebo: I'm not saying it doesn't.  I'm saying that
GOMAXPROCS is independent of the thread count.
08:33 < mike_storm> You can have a lot of cores and few threads, or lots of
unused cores and 1 thread.
08:33 -!- john [n=john@c-71-198-37-217.hsd1.ca.comcast.net] has joined #go-nuts
08:33 -!- john is now known as Guest39273
08:33 < Ycros> why's everyone going for gccgo, the thing has issues -_-
08:34 < zeebo-> correct.  the go runtime will have GOMAXPROCS threads
running for cpu bound goroutines
08:34 < mike_storm> Ycros: Set GOMAXPROCS greater than 1 and let Go do the
rest.  I haven't read anything about finer-grained thread control.
08:34 -!- sg [n=sg@83.231.11.70] has quit []
08:34 < yorick> because people already have gcc
08:34 < yorick> less change :)
08:34 < mike_storm> zeebo: I believe that's incorrect.  The Go runtime will
have GOMAXPROCS *cores* available to run threads on.
08:34 < mike_storm> You can have a lot of threads running on one core.
08:34 < Ycros> yorick: except you still have to build either compiler
08:34 -!- nahojkap [n=chatzill@yggdrasill.compukos.nl] has quit [Remote closed the
connection]
08:35 < zeebo-> and i can set GOMAXPROCS to 40 and it will spawn 40 threads
for goroutines
08:35 < zeebo-> i dont have 40 cores
08:35 < mike_storm> zeebo: Did it really do that?
08:35 < Ycros> yorick: and the default compiler is faster and works better
at the moment
08:35 < zeebo-> yes
08:35 < yorick> Ycros: but does it work on windows
08:35 < mike_storm> zeebo: Then the docs are incorrect.
08:35 -!- red1 [n=red1@115.132.80.145] has quit []
08:35 < mike_storm> zeebo: Cores are not the same as threads.
08:35 < Ycros> yorick: neither of them do
08:35 < zeebo-> yeah or the implementation :)
08:35 -!- Karethoth [n=Jakiz@dsl-olubrasgw1-fe0bf900-157.dhcp.inet.fi] has joined
#go-nuts
08:35 < Ycros> yorick: but that's mainly because nobody has ported the
language across
08:36 < yorick> no one has tried?
08:36 < mike_storm> zeebo: Haha let's cut Google some slack :-)
08:36 -!- igggy2 [n=iggy@c-76-104-189-88.hsd1.wa.comcast.net] has joined #go-nuts
08:36 < Ycros> yorick: dunno
08:36 < mike_storm> yorick: Considering it was released...  yesterday?
08:36 < mike_storm> When was it released?  I read about it on /.
08:36 < zeebo-> the go day 3 course says this too: "GOMAXPROCS tells the
runtime scheduler how many non-syscall-blocked goroutines to run at once."
08:36 * yorick thinks today
08:36 < Ycros> yeah
08:37 < zeebo-> and that seems accurate so thats probably the better doc for
it
08:37 < Ycros> zeebo-: the document also mentions that in the future the Go
runtime will self-regulate the number of cores thing
08:37 < zeebo-> right.
08:37 < Ycros> yorick: feel free to try - a mingw or cygwin port would be
better than nothing
08:37 < Ycros> yorick: still, people have been complaining about gccgo, so I
suspect you'll have much trouble down that pat
08:38 < mike_storm> yorick: Seriously, look up how GCC front-ends work on
MinGW and give it a go.
08:38 < mike_storm> Ycros: From what I've heard about GCC internals, I'm not
surprised.
08:38 < yorick> mike_storm: where am I supposed to find that
08:38 < mike_storm> yorick: Google?
08:38 < zeebo-> punya: the first comment on your bug is great :)
08:39 < yorick> if only things were that easy
08:39 -!- keithpoole [n=keithpoo@cpc3-bagu8-0-0-cust84.bagu.cable.ntl.com] has
joined #go-nuts
08:39 -!- Hofanoff [n=hofanoff@78.46.41.143] has joined #go-nuts
08:40 < mike_storm> yorick: Wish I could help more.  There will be more docs
popping up about gccgo in the next few days, I think.
08:40 < mike_storm> yorick: There might even be someone who tries it on
mingw...  who knows?
08:40 -!- npe [n=npe@195.207.5.2] has joined #go-nuts
08:40 < Ycros> yorick: does it just not build on mingw?
08:41 -!- Jamone [n=Monie@unaffiliated/monie] has joined #go-nuts
08:41 * yorick is trying
08:41 -!- aa [n=aa@190.135.148.125] has quit [Read error: 131 (Connection reset by
peer)]
08:41 < mike_storm> Back to my original question: Does anyone know how Go
looks up package imports?  I can't even compile "Hello, World".
08:41 * yorick thinks there is a cygwin port
08:42 < mike_storm> Found an include flag.
08:42 -!- jurg [i=jurg@mmmbop.jurg.no] has joined #go-nuts
08:42 -!- aa [n=aa@r190-135-148-125.dialup.adsl.anteldata.net.uy] has joined
#go-nuts
08:42 -!- norbert_ [n=norbert_@82-171-70-54.ip.telfort.nl] has joined #go-nuts
08:43 < Ycros> who else feels that most of the os functions should be
returning PathError types instead of the more general Error interface
08:43 -!- offby1 [n=user@pdpc/supporter/monthlybyte/offby1] has quit [Read error:
113 (No route to host)]
08:43 < Ycros> mike_storm: nfi, I just followed the instructions to install
go
08:43 < Ycros> mike_storm: do you have the env vars set?
08:44 -!- keithpoole [n=keithpoo@cpc3-bagu8-0-0-cust84.bagu.cable.ntl.com] has
quit [Client Quit]
08:44 < mike_storm> Ycros: I have GOOS, GOARCH, GOROOT and GOBIN set.
08:44 < Ycros> hmm.
08:44 < Ycros> how's your import statement look like?
08:45 -!- lesshaste [n=lesshast@87-194-206-189.bethere.co.uk] has quit ["Leaving"]
08:45 < mike_storm> Ycros: import "fmt"
08:45 < yorick> ah, first look at Go, and I'm already fighting with it :(
08:45 < mike_storm> Ycros: It's the example on the "Installing Go" page.
08:45 < shambler> "go" is kinda bad name...  a feel a lot of pain triyng to
google it :)
08:45 < mike_storm> http://golang.org/doc/install.html
08:46 < yorick> my terminal appears to be dropping chars at random
08:46 < mike_storm> Ycros: I also compiled from source.
08:46 -!- kaigan|work
[n=kaigan@c-8290e255.1411-10-64736c14.cust.bredbandsbolaget.se] has joined
#go-nuts
08:47 -!- mesenga [n=cbacelar@189.105.8.44] has quit []
08:47 < Ycros> mike_storm: didn't everyone?
08:47 < Ycros> mike_storm: I haven't seen any binaries
08:47 < mike_storm> Ycros: Of course there aren't; it's late and I'm tired
:-)
08:48 < Ycros> mike_storm: weird
08:48 -!- jbauer [n=jbauer@99.176.8.19] has joined #go-nuts
08:48 < mike_storm> Ycros: weird?
08:49 -!- igggy2 [n=iggy@c-76-104-189-88.hsd1.wa.comcast.net] has quit []
08:49 < yorick> hmm...what do I set $GOOS to
08:49 < Kniht> yorick: the target OS
08:49 < yorick> what is my target OS
08:49 < Kniht> what computer do you want to run the compiled programs on
08:49 < yorick> windows
08:50 -!- aa [n=aa@r190-135-148-125.dialup.adsl.anteldata.net.uy] has quit [Read
error: 54 (Connection reset by peer)]
08:50 < Kniht> golang doesn't support windows yet, as far as I know
08:50 < trasktrojanek> Kniht, correct.
08:50 < yorick> but I still want it :D
08:50 < mike_storm> Kniht: He's trying it on mingw
08:50 < mike_storm> yorick: I'd use linux.
08:50 -!- albertito [n=nil@unaffiliated/alb] has joined #go-nuts
08:50 < Kniht> golang doesn't support mingw on windows yet, as far as I know
08:51 < yorick> bah...linux
08:51 < mike_storm> Kniht: Which is not to say that one can't try.  This is
open source, after all.
08:51 < yorick> thats linuxy
08:51 -!- andresambrois [n=aa@r190-135-148-125.dialup.adsl.anteldata.net.uy] has
joined #go-nuts
08:51 < yorick> would it build if the target platform is not the host one?
08:51 < mike_storm> yorick: Haha yes, but we're tricking it.
08:51 < mike_storm> yorick: Try it and see.
08:51 < Kniht> yorick: that's the whole point of cross-compiling :P
08:52 < mike_storm> yorick: You're compiling this in MinGW, right?
08:52 -!- gl [n=gl@coders.fr] has joined #go-nuts
08:52 < yorick> yes
08:52 -!- sea-gull [n=sea-gull@95-28-0-12.broadband.corbina.ru] has joined
#go-nuts
08:52 < norbert_> Go is a language for people who can't properly program in
C
08:52 < mike_storm> yorick: Making sure you weren't trying some kind of
cross-compile thing.
08:52 < bogen> updating working directory
08:52 < bogen> abort: update.timestamp hook is invalid (import of
"hgext.timestamp" failed)
08:52 < bogen> hmm....  not used hg before...
08:52 < Quadrescence> norbert_: Haha
08:53 < yorick> hmm...it wants me to change my path
08:54 < yorick> how do I change my path in mingw
08:54 < blasdelf> norbert_: like Ken Thomson and Rob Pike?
08:54 * ment had finished his first non-trivial go program:
http://ibawizard.net/~thement/trie.go
08:54 < bogen> rotfl
08:54 < mike_storm> yorick: either set PATH=$PATH:/whateever or export
PATH=$PATH:/whatever
08:54 < blasdelf> yorick: perhaps this is not for you
08:55 < norbert_> blasdelf: no, they just like to have a new project on
their hands
08:55 < Kniht> norbert_: yes, like people that were involved in the early
history of c and unix, they don't know how to properly program in c :P
08:55 < yorick> blasdelf: a lot is not for me :)
08:55 < Quadrescence> Meh, I bet pike et al.  will still use C89
08:55 < mike_storm> norbert_: Since their first project with Unix, I'm not
gonna write this one off so quickly.
08:55 < mike_storm> was*
08:56 < norbert_> that's a logic fallacy, pointing to those guys; has
nothing to do with the language itself
08:56 < norbert_> if it were written by Bill Gates himself, language would
stay the same
08:57 < Quadrescence> norbert_: Are you a C programmer?
08:57 -!- Monie [n=Monie@unaffiliated/monie] has quit [Read error: 110 (Connection
timed out)]
08:57 < yorick> D:/msys/home/Yorick/go/src/include/u.h:80: error:
â?~sigjmp_bufâ?T undeclared here (not in a function)
08:57 < bogen> if C would get rid of #include and have some decent way at
getting at interfaces, it might be worthy...
08:57 < yorick> ah :)
08:57 < yorick> that's quick
08:57 < norbert_> Quadrescence: yes, and I've seen a billion languages come
and 'go', each with its own fan base, and I've just been using C on the sidelines,
smiling
08:57 * bogen is long time C programmer
08:57 < Quadrescence> norbert_: I am as well.  :)
08:57 < Ycros> norbert_: so you can go back to your sidelines now, and smile
08:57 < blasdelf> norbert_: http://pastebin.com/f4fb3bfd9
08:57 < mike_storm> yorick: that's because the MinGW devel headers don't
implement sigjmp/longjmp
08:57 < mike_storm> yorick: Which means, give up now.
08:58 -!- sowa [n=sowa@85.214.104.79] has joined #go-nuts
08:58 -!- depood [n=depood@chello080108055214.19.11.vie.surfer.at] has quit []
08:58 -!- jbauer [n=jbauer@99.176.8.19] has quit [Remote closed the connection]
08:58 < bogen> yorick: as much as you don't like cygwin, you may need to try
that if you want to keep trying this windows
08:58 < bogen> this on...
08:59 < blasdelf> it's not going to work in cygwin either
08:59 < andguent> it wont run on cygwin
08:59 < andguent> damn it
08:59 -!- GeDaMo [n=gedamo@212.225.108.57] has joined #go-nuts
08:59 < andguent> those people seek help
08:59 < andguent> dont tell them crap if you have no idea
08:59 < Quadrescence> norbert_: What is your favorite standard C89
function? :)))
08:59 < mike_storm> anguent: I've been giving him help for the last half an
hour.
09:00 -!- Fish-- [n=Fish@78.238.225.114] has joined #go-nuts
09:00 < norbert_> Quadrescence: snprintf :D
09:00 -!- Barryke [i=5362ea72@gateway/web/freenode/x-wjkogahrkuqfvbir] has joined
#go-nuts
09:00 < mike_storm> anguent: Unless he's going to either remove the sigjmp
references in Go, or implement sigjmp in the MinGW libs, he's screwed.
09:00 < Quadrescence> norbert_: That's not C89, but I guess one can
implement it in C89 okay.
09:00 -!- _64k [n=bbsol@62.172.216.8] has joined #go-nuts
09:00 < Quadrescence> Good choice nonetheless.
09:00 -!- juhunu [n=balaji@c-98-207-80-67.hsd1.ca.comcast.net] has joined #go-nuts
09:00 -!- Fish- [n=Fish@78.238.225.114] has quit [Dead socket]
09:00 < andguent> mike_storm: that has nothing to do with the sigjmp...that
is the least problem.
09:00 < norbert_> Quadrescence: yeah, just use
http://www.ijs.si/software/snprintf/ or something
09:01 < norbert_> Quadrescence: yours?
09:01 < andguent> mike_storm: there are appropriate lib9 ports for windows.
what's rather missing is runtime and PE support
09:01 -!- michal__ [i=c374f6fa@gateway/web/freenode/x-qjtylaorrzmqgoyp] has joined
#go-nuts
09:01 < Quadrescence> norbert_: I guess I like strdup.  That's also not C89,
but it's the easiest thing to progran
09:01 < blasdelf> also a ton of syscalls and libc bits are missing or broken
09:02 < yorick> delete: go...went...gone!  :D
09:02 < norbert_> Quadrescence: ok
09:02 -!- michal__ [i=c374f6fa@gateway/web/freenode/x-qjtylaorrzmqgoyp] has left
#go-nuts []
09:02 < andguent> blasdelf: see 9pf
09:02 < andguent> blasdelf: or even 9pm
09:02 < mike_storm> andguent: I'm sorry, I don't understand.  So you want
him to use a libc implementation external to MinGW?
09:02 < trasktrojanek> I'm probably not going to start using Go until it is
a little more mature (and hopefully has .debs for golang and gccgo ;]).  It looks
great though, and I hope to join you all in programming.
09:02 < blasdelf> that's still dependent on core syscalls that are totally
fucked?
09:02 -!- Barryke [i=5362ea72@gateway/web/freenode/x-wjkogahrkuqfvbir] has quit
[Client Quit]
09:03 < yorick> how long till google appengine will use go?
09:03 < blasdelf> like I dunno, fork()?
09:03 < andguent> mike_storm: i dont want him to do anything.  because he
wont get it running now.  and all the tools use a custom libc anyway...look at the
source code damn it!
09:03 < blasdelf> yorick: until they support NaCL on App Engine
09:03 < andguent> blasdelf: they dont require fork
09:03 -!- juhunu [n=balaji@c-98-207-80-67.hsd1.ca.comcast.net] has left #go-nuts
[]
09:03 < andguent> duh.  people...i am out.  just read the source before
claiming crap
09:03 < mike_storm> andguent: No need to yell.
09:04 < mike_storm> andguent: The source is 120k lines and i diagnosed his
problem in 5 seconds.  Chill.
09:04 < mike_storm> andguent: Bye.
09:04 < andguent> sorry.  i am in kind of a bad mood
09:04 < blasdelf> andguent: it was just one example of a syscall I know to
be completely fucked in Cygwin/MinGW from experience
09:04 -!- yorick [n=Yorick@s55924da0.adsl.wanadoo.nl] has left #go-nuts ["maybe go
on another time, gone now :D"]
09:04 < andguent> blasdelf: the tools use fork() but have special execution
paths for windows.  as far as i can see from inferno times
09:05 -!- miff [n=ww@86.47.255.201] has joined #go-nuts
09:05 -!- trasktrojanek [n=trasktro@c-75-72-133-174.hsd1.mn.comcast.net] has quit
["Leaving"]
09:05 < andguent> at least 8a 8c and 8l did run on windows at some point
09:05 < andguent> s/run/ran/
09:05 -!- miff [n=ww@86.47.255.201] has left #go-nuts []
09:05 < mike_storm> andguent: Really?  It says that somewhere?
09:05 < andguent> ?
09:06 < andguent> can you rephrase.  didnt understand
09:06 < mike_storm> That the compiler ran on Windows at some point.
09:06 < mike_storm> It says that in the docs?
09:06 < blasdelf> the plan9 c compiler
09:06 < andguent> mike_storm: golang contains quite some chunks of plan9
09:06 < mike_storm> andguent: Ah, I see.
09:06 < andguent> mike_storm: and they were part of the infenro toolchain.
which was compilable in windows
09:07 < mike_storm> You're right.  I do need to read the source :-)
09:07 < blasdelf> you'd probably have better luck getting gccgo working on
windows
09:07 -!- groceryheist [n=groceryh@user20.net177.whitworth.edu] has quit [Read
error: 110 (Connection timed out)]
09:07 -!- frokk_ [n=none@host80-117-dynamic.181-80-r.retail.telecomitalia.it] has
joined #go-nuts
09:07 < blasdelf> you'd 'only' need to implement the runtime :P
09:07 < andguent> blasdelf: i dont think so.  at least i am more familiar
with kens stuff then the gcc abomination
09:08 -!- tonfa [n=tonfa@wtf.punw.org] has quit [Read error: 60 (Operation timed
out)]
09:08 -!- teedex [n=teedex@204.14.155.161] has quit [Remote closed the connection]
09:08 < blasdelf> I agree about gcc's abhorrence
09:08 -!- dschn [n=dschn@pool-70-19-224-19.bos.east.verizon.net] has joined
#go-nuts
09:08 -!- F1sh [n=Fish@194.182.65-86.rev.gaoland.net] has joined #go-nuts
09:08 -!- alb [n=nil@unaffiliated/alb] has quit [Read error: 110 (Connection timed
out)]
09:08 < mike_storm> Maybe if someone wrote an LLVM front-end.
09:08 -!- F1sh [n=Fish@194.182.65-86.rev.gaoland.net] has quit [Remote closed the
connection]
09:08 < mike_storm> Seems like a prime candidate.
09:09 < bogen> yeah, I was thinking the same
09:09 -!- blixten [i=blixten@predator.eagle.y.se] has joined #go-nuts
09:09 -!- F1sh [n=Fish@194.182.65-86.rev.gaoland.net] has joined #go-nuts
09:09 < andguent> except it's C++
09:09 < blasdelf> GCC's a compiler toolchain architected to be intentionally
impossible to hack on, for GPL wank reasons
09:09 -!- Fish-- [n=Fish@78.238.225.114] has quit [Remote closed the connection]
09:09 * andguent runs
09:10 -!- logis [n=logis@81-7-97-247.static.zebra.lt] has quit []
09:10 < bogen> well, Go is a systems language, rewrite the llvm tools in
Go...
09:10 < blasdelf> I'd bet that in the next week or two there'll be two new
self-hosting Go compilers: native and LLVM
09:10 < mike_storm> andguent: Well yeah.  But that's the implementation.
09:10 -!- Moligaloo [n=chatzill@222.69.242.154] has joined #go-nuts
09:10 -!- deufrai [n=deu@www.wardsback.org] has joined #go-nuts
09:10 -!- Fish-- [n=Fish@78.238.225.114] has joined #go-nuts
09:10 < blasdelf> especially since there's a Go compiler frontend already
sitting in the standard library
09:11 -!- meunierd [n=devon@76-10-165-175.dsl.teksavvy.com] has quit [Read error:
113 (No route to host)]
09:11 -!- crez [n=crez@122.199.76-86.rev.gaoland.net] has joined #go-nuts
09:11 -!- Moligaloo [n=chatzill@222.69.242.154] has quit [Client Quit]
09:12 -!- nexneo [n=niket@59.96.159.56] has quit []
09:12 < KirkMcDonald> My command-line option parser is progressing decently.
09:12 < KirkMcDonald> It has now, for the first time, parsed an option.
09:13 < mike_storm> KirkMcDonald: Congrats :)
09:13 * mike_storm pops champagne
09:13 -!- jaiwitha1i [n=jaiwitha@99.23.140.204] has joined #go-nuts
09:13 < mike_storm> blasdelf: I'd like to see a C compiler written in Go.
09:14 < mike_storm> That'll throw them for a loop.
09:14 < Associat0r> I am gonna make Go++
09:14 < blasdelf> or Objective-Go
09:14 < sowa> Associat0r: Go away!
09:14 < KirkMcDonald> I am doing something moderately awful, which is
hijacking the struct literal syntax to get keyword arguments.
09:15 < cbus> and I'm trying to install go :)
09:15 < blasdelf> KirkMcDonald: why not use a map?
09:15 < Ycros> mike_storm: apparently they looked at LLVM and ditched it
because it was too slow/bloated
09:15 < __gilles> is mercurial the only way to get src for now ?
09:15 < zeebo-> they should write a c compiler in go and then compile the go
compiler in it and then use that to re-compile oh god
09:15 < mike_storm> Ycros: Bloated already?  I thought it was supposed to be
the future of all computing!  Damn it.
09:15 < KirkMcDonald> blasdelf: This would also work.  But I'm also doing
something clever with the structs themselves.
09:16 < blasdelf> zeebo-: Ken Thomson knows *all* about that
09:16 < mike_storm> zeebo: That's been Google's plan from the beginning.
09:16 < mike_storm> KirkMcDonald: That's exactly what Stroustrup thought.
09:16 < KirkMcDonald> mike_storm: About what?
09:16 < Ycros> KirkMcDonald: about everything.
09:16 < KirkMcDonald> mike_storm: Using this syntax for keyword arguments?
09:16 < KirkMcDonald> Oh. I see.
09:17 < Ycros> Go++
09:17 < mike_storm> Kirk: Wait, keyword arguments?  What?
09:18 -!- jaiwitha3i [n=jaiwitha@99.23.136.198] has joined #go-nuts
09:18 -!- norbert_ [n=norbert_@82-171-70-54.ip.telfort.nl] has quit ["Leaving"]
09:18 < KirkMcDonald> The API will look something like: foo :=
optparse.String("--foo", "-f", optparse.Store{Help: "This option specifies
foo."});
09:18 < KirkMcDonald> This is probably awful.
09:18 < KirkMcDonald> But it gives me an excuse to learn how to do awful
things.
09:19 < KirkMcDonald> And then foo is a *string.
09:19 -!- Max-Might [i=57fca21c@gateway/web/freenode/x-yrgexxpcagvgdwre] has
joined #go-nuts
09:19 -!- ctimmerm [n=ctimmerm@83.150.80.193] has joined #go-nuts
09:19 < blasdelf> KirkMcDonald: please don't clone Python's optparse
09:19 < KirkMcDonald> :-)
09:19 < mike_storm> Oh...  sweet lord, you mean dynamically adding fields to
structs?
09:19 < KirkMcDonald> mike_storm: Not at all.
09:19 -!- Eytre [n=afitz@adsl-190-192-124.asm.bellsouth.net] has quit []
09:19 < KirkMcDonald> The structs are statically defined.
09:20 < andguent> KirkMcDonald: you may want to look at the command line
parsing the golang c tools use.  why do it data dricen when you can do command
line processing process driven
09:20 -!- paraboul [n=para@cnrs.weelya.net] has quit ["This computer has gone to
sleep"]
09:20 -!- DeFender1031 is now known as DeFender|Sleep
09:20 -!- ConSi [i=consi@sh.8px.pl] has joined #go-nuts
09:20 < KirkMcDonald> blasdelf: In truth it is more like I am copying the
optparse clone I wrote for D.
09:20 < blasdelf> KirkMcDonald: at least clone one of the less fucked Python
libs like argparse
09:20 < KirkMcDonald> blasdelf: I keep hearing about argparse.
09:20 < mike_storm> Kirk: In your example, where is Help declared?
09:21 * AirCastle uses optparse..  is there some reason he should use argparse
09:21 < mike_storm> I'm still learning Go's grammar :-)
09:21 -!- cankoy [n=cankoy@94.54.16.217] has joined #go-nuts
09:21 -!- red1 [n=red1@107.94.50.60.cbj05-home.tm.net.my] has joined #go-nuts
09:21 -!- Fish-- [n=Fish@78.238.225.114] has quit [Operation timed out]
09:21 < KirkMcDonald> mike_storm: It is a field of the String struct.
09:21 -!- al-maisan [n=al-maisa@f049053047.adsl.alicedsl.de] has joined #go-nuts
09:21 -!- Fish-- [n=Fish@78.238.225.114] has joined #go-nuts
09:21 < KirkMcDonald> Er.
09:21 < KirkMcDonald> I mean, of the Store struct.
09:22 < KirkMcDonald> String is a function, in this context.
09:22 < blasdelf> blasdelf: the parser Zed Shaw wrote for Lamson is pretty
interesting too, but to clone it in Go you'd have to lex the source code
(thankfully already in the stdlib)
09:22 -!- Max-Might [i=57fca21c@gateway/web/freenode/x-yrgexxpcagvgdwre] has left
#go-nuts []
09:22 -!- al-maisan [n=al-maisa@f049053047.adsl.alicedsl.de] has left #go-nuts
["Parting is tough.."]
09:22 < mike_storm> blasdelf: Are you talking to yourself?
09:22 < mike_storm> ;-)
09:22 < blasdelf> blasdelf: so what if irssi doesn't stop me
09:22 -!- jaiwitha1i [n=jaiwitha@99.23.140.204] has quit [Read error: 104
(Connection reset by peer)]
09:23 -!- jaiwithani [n=jaiwitha@99.23.140.204] has joined #go-nuts
09:23 < mike_storm> Kirk: I shall meditate on this.
09:23 < mike_storm> haha
09:23 < mike_storm> mikestorm: mikestorm: mikestorm: Infinite recursion
09:23 -!- gmarabout [n=marabout@221-204.252-81.static-ip.oleane.fr] has joined
#go-nuts
09:24 -!- andresambrois [n=aa@r190-135-148-125.dialup.adsl.anteldata.net.uy] has
quit [No route to host]
09:24 -!- jaiwitha3i [n=jaiwitha@99.23.136.198] has quit [Read error: 60
(Operation timed out)]
09:25 -!- Boohbah [n=Boohbah@unaffiliated/boohbah] has joined #go-nuts
09:25 < KirkMcDonald> I will say that I regard optparse's limited notion of
what constitutes a valid option (--foo and -f, nothing else) as a positive.
09:25 -!- paraboul [n=para@local.weelya.com] has joined #go-nuts
09:25 -!- quodt [i=lovely@81.189.156.94] has quit ["Leaving."]
09:25 < Boohbah> are there any official gentoo ebuilds for either 6g or
gccgo?
09:26 < blasdelf> might be called Gc
09:27 < blasdelf> though gentoo's packaging pace has slowed significantly in
the last few years, goddamn overlays
09:28 < blasdelf> you're better off just tracking hg and building/keeping it
in your $HOME, on any platform
09:29 < JBeshir> How much RAM is the Hello World app using for other people
here?
09:29 < alt^255> hi all.  I currently work on robotics, and the framework we
use is in C++.  It implements a bunch of libraries, external stuff, etc etc.  I'd
love to start using go, but I wonder if that would be wise or not
09:29 < alt^255> after all, isn't it just another language?
09:29 -!- fivebats [n=anonymou@c-76-115-189-78.hsd1.or.comcast.net] has quit []
09:29 -!- depood [n=daniel@chello080108055214.19.11.vie.surfer.at] has joined
#go-nuts
09:30 < blasdelf> alt^255: FFI isn't so solid yet
09:30 -!- Guest39273 [n=john@c-71-198-37-217.hsd1.ca.comcast.net] has quit []
09:30 -!- level09 [n=chatzill@80.227.125.119] has joined #go-nuts
09:30 < Boohbah> blasdelf: that's what i'll do
09:30 < alt^255> blasdelf: sure, but by the time I get proficient at it I
suppose it will
09:30 < blasdelf> alt^255: and will likely never be for linking against a
C++ library
09:30 < alt^255> (which will be good!  no more C++!  :) )
09:30 -!- jaiwitha3i [n=jaiwitha@99.23.136.198] has joined #go-nuts
09:30 < sowa> blasdelf: what about C?
09:31 < blasdelf> there's already some support for C FFI
09:31 -!- jaiwithani [n=jaiwitha@99.23.140.204] has quit [Read error: 60
(Operation timed out)]
09:31 -!- red1_ [n=red1@60.50.94.107] has joined #go-nuts
09:32 < blasdelf> It's insanely hard to link against a C++ binary unless you
were built by the same compiler
09:32 < sowa> And same version.
09:32 < alt^255> I don't want to
09:32 < wollw> hmmm...  the day 2 pdf givse "var ar =
[10]int{0,1,2,3,4,5,6,7,8,9}; var a = &ar[5:7];" but this doesn't compile (cannot
take the address of (node SLICEARR))...  works if i remove the &
09:32 -!- defish [n=ubuntu@219.95.96.90] has quit [Read error: 110 (Connection
timed out)]
09:32 < blasdelf> even for C++ to C++ interop, using the same leanguage
features
09:32 < wollw> am I missing something or is that a typo?
09:32 < sowa> Anyways, nobody really wants to link against a C++ library.
09:32 < alt^255> also, this framework leaves too much freedom to enduser to
write their own packages.
09:32 -!- Algo [n=Larry@unaffiliated/algorithmiccontr] has quit [Read error: 113
(No route to host)]
09:33 -!- owen_ [n=owen@ta-1-91.tip.net.au] has quit [Remote closed the
connection]
09:33 -!- mesenga [n=cbacelar@189.105.8.44] has joined #go-nuts
09:33 -!- lotrpy [n=lotrpy@202.38.97.230] has joined #go-nuts
09:33 < blasdelf> wollw: would prob also work if you removed the [10] slice
notation
09:33 -!- |Monie| [n=Monie@cpe-098-024-174-083.carolina.res.rr.com] has joined
#go-nuts
09:34 -!- gander [n=gander@unaffiliated/gander] has joined #go-nuts
09:34 -!- zeebo- [n=zeebo-@pool-74-110-97-28.nrflva.fios.verizon.net] has left
#go-nuts []
09:34 -!- gmarabout [n=marabout@221-204.252-81.static-ip.oleane.fr] has left
#go-nuts []
09:34 -!- zeebo- [n=zeebo-@pool-74-110-97-28.nrflva.fios.verizon.net] has joined
#go-nuts
09:34 < gointrigue> rawr rawr rawr
09:34 < wollw> yeah but in that case ar would be a slice, right?
09:34 < lotrpy> Hello, I am a vim newbie, where should I put the
~/go/misc/vim/go.vim?  could I just use it then for syntax highlighting or I must
turning .vimrc file?
09:35 < mike_storm> lotrpy: You're in the wrong channel for that.  Try
Google.
09:35 < lotrpy> mike_storm, isn't it the go lang channle?
09:36 < int-e> lotrpy: you asked a vim question.
09:36 < houst0n> lotrpy: Stick it in your ~/.vim/plugins folder, should work
09:37 < lotrpy> yes, but I just use it for go
09:37 < houst0n> iirc, else check the man page or stick it in /usr or w/e
the rest of the syntax files live
09:37 < lotrpy> houst0n, thanks, let me try.
09:38 < houst0n> /usr/share/vim/vim72/syntax
09:38 < houst0n> on my box, anyway
09:38 -!- aslakransby [n=aslakran@80.199.116.190.static.peytz.dk] has joined
#go-nuts
09:38 -!- Jamone [n=Monie@unaffiliated/monie] has quit [Read error: 60 (Operation
timed out)]
09:38 -!- as [n=Andrey@87.252.227.44] has joined #go-nuts
09:38 -!- mesenga [n=cbacelar@189.105.8.44] has quit []
09:38 -!- as [n=Andrey@87.252.227.44] has quit [Client Quit]
09:40 -!- red1 [n=red1@107.94.50.60.cbj05-home.tm.net.my] has quit [Read error:
110 (Connection timed out)]
09:40 -!- red1_ is now known as red1
09:41 < houst0n> Hmm, I can't seem to get that file to work here...
09:41 < lotrpy> houst0n, it wokrs.  thanks a lot.  I just copy it to
.vim/plugins.
09:41 < cbus> anyone else having issues with aur/go-lang-hg?
09:41 -!- alb [n=nil@host199.190-138-183.telecom.net.ar] has joined #go-nuts
09:42 < lotrpy> and thanks for everyone, I know what a ask is not a dacent
question now.
09:42 < houst0n> Yeah, works in plugins folder....  Strange that...
09:42 < houst0n> I'm a vim maintainer, too...  heh.
09:42 -!- ceh [n=ceh@celsius.it.uu.se] has quit [Read error: 110 (Connection timed
out)]
09:42 * houst0n shrugs
09:42 < lotrpy> houst0n, what's the mean?  isn't it right?  I can read
english well, write is more bad.
09:43 < lotrpy> I can't
09:43 -!- lightpriest__ [n=lightpri@62.219.152.133] has joined #go-nuts
09:43 < houst0n> It should work in the syntax folder I recon, ah well - who
cares.  Should fire it over to the vim guys so they can include it in the next rel
09:44 -!- depood [n=daniel@chello080108055214.19.11.vie.surfer.at] has quit
["leaving"]
09:44 -!- mike_storm [n=michael@c-24-12-53-42.hsd1.il.comcast.net] has quit
["Leaving"]
09:45 -!- Fish-- [n=Fish@78.238.225.114] has quit [Remote closed the connection]
09:45 -!- Fish-- [n=Fish@78.238.225.114] has joined #go-nuts
09:46 -!- tonelu [n=tonelu@80.97.9.145] has joined #go-nuts
09:47 -!- tudorstr [n=Adium@80.97.9.145] has joined #go-nuts
09:47 < lotrpy> emm.  I think I should just stay with plugins at the moment.
I can print hello world with go now :)
09:47 -!- ceh [n=ceh@celsius.it.uu.se] has joined #go-nuts
09:48 -!- houst0n [n=houst0n@blastwave/maintainer/houston] has quit ["laters."]
09:48 -!- carllerche [n=carllerc@c-69-181-129-204.hsd1.ca.comcast.net] has quit []
09:48 -!- crez [n=crez@122.199.76-86.rev.gaoland.net] has quit [Read error: 113
(No route to host)]
09:49 -!- m0rra [n=m0rra@233.240.191.90.dyn.estpak.ee] has quit [Read error: 60
(Operation timed out)]
09:51 < blixten> :D
09:51 -!- anders_ [n=anders@c83-253-2-206.bredband.comhem.se] has left #go-nuts
["Leaving"]
09:52 < blixten> ceh: ;)
09:52 -!- praetorian [i=praetori@unaffiliated/praetorian] has joined #go-nuts
09:53 -!- tonfa [n=tonfa@dhcp-13-109.lip.ens-lyon.fr] has joined #go-nuts
09:54 -!- Snert [n=chatzill@puff.snert.com] has joined #go-nuts
09:55 -!- kos_tom [n=thomas@humanoidz.org] has joined #go-nuts
09:55 -!- roppert [n=roppert@62.205.216.81.static.k.siw.siwnet.net] has joined
#go-nuts
09:55 -!- roppert [n=roppert@62.205.216.81.static.k.siw.siwnet.net] has left
#go-nuts []
09:55 < Snert> Hello.  Anyone know where I can find a Go tar.gz distro?
Would like to try porting to OpenBSD.
09:56 <+danderson> there is currently no distro, you need to clone the
mercurial repository
09:56 <+danderson> (which is a good idea anyway if you're going to do
development)
09:56 -!- raphael_ [n=rgb@did75-11-82-231-40-223.fbx.proxad.net] has joined
#go-nuts
09:57 <+danderson> There was also someone planning to port to DragonflyBSD,
you may want to watch the mailing list for that and cooperate if useful
09:57 < Snert> Well that doesn't work, since I don't want yet another SCM
nor Python on my dev.  system.
09:57 -!- defish [n=ubuntu@219.95.96.90] has joined #go-nuts
09:57 -!- Fish-- [n=Fish@78.238.225.114] has quit [Remote closed the connection]
09:57 -!- mike_storm [n=michael@c-24-12-53-42.hsd1.il.comcast.net] has joined
#go-nuts
09:58 < Snert> Saw the mention of DragonFly else where, but looks like no
movement on it.
09:58 -!- Fish-- [n=Fish@78.238.225.114] has joined #go-nuts
09:59 < tonfa> Snert: if there is mirror somewhere (e.g.  bitbucket) you can
grab a zipfile/tarball
09:59 -!- elliryc [n=chombecq@62.64.32.149] has joined #go-nuts
09:59 < Ycros> someone was in here hours ago that was porting it to openbsd
09:59 -!- ikke [n=ikkibr@unaffiliated/ikkebr] has joined #go-nuts
09:59 -!- dschn [n=dschn@pool-70-19-224-19.bos.east.verizon.net] has quit [Read
error: 60 (Operation timed out)]
09:59 <+danderson> someone on the list made a tarball yesterday and posted a
link to it iirc
09:59 <+danderson> lemme see if I can dig it out
09:59 < Snert> tonfa: that would be great.
10:00 < lotrpy> Snert, why not install python and hg on a testing machine
,just hg clone it, and you get the source.
10:00 -!- albertito [n=nil@unaffiliated/alb] has quit [Read error: 110 (Connection
timed out)]
10:00 -!- dorkalev [n=dorkalev@tony09-124-34.inter.net.il] has quit []
10:00 < tonfa> and hg archive -t bz2 /path/to/tarball
10:00 < Snert> danderson: that would be great
10:01 < Snert> because I have NO interest nor desire to install something
I'm never going to use
10:01 < Snert> a tar ball is far simpler and works every where
10:01 <+danderson> Snert: can't find it, but tell you what, I'll build you a
tarball.
10:01 -!- UKRep547 [n=jcricket@80.68.93.104] has joined #go-nuts
10:02 <+danderson> gimme a sec to finish the clone and I'll pass on the link
10:02 < Snert> danderson: thanks; that's very nice of you
10:02 -!- musty [n=musty@unaffiliated/musty] has joined #go-nuts
10:02 < UKRep547> So, I wonder why Print puts spaces between arguments
whereas Println doesn't.
10:02 < UKRep547> Seems to me neither should automatically insert spaces.
Just one adds a newline and the other doesn't.
10:02 -!- engla [n=ulrik@90-229-231-23-no153.tbcn.telia.com] has joined #go-nuts
10:02 <+danderson> Snert: tgz okay?
10:02 < Snert> yes
10:02 -!- ^self [n=self@i.dont.get.mad.i.get.stabby.net] has left #go-nuts
["Started wasting time elsewhere"]
10:03 < UKRep547> But to be honest excited about this language; and it's
very rare I get excited about languages.  Python never interested me because of
whitespace limitations.  c# too proprietary.  Go seems interesting.
10:03 < freespace> the whitespace limitation is overrated
10:04 < UKRep547> only to a few, freespace, only to a few.  To some it is
important.  I would be one of those some.
10:04 <+danderson> Snert: http://natulte.net/~dave/go-3732030c75.tar.gz
10:04 <+danderson> (the name contains the hg revision at which I dumped, so
that you have some reference as to the time at which the archive was created)
10:04 -!- albertito [n=nil@unaffiliated/alb] has joined #go-nuts
10:05 < tonfa> danderson: there's probably a .hg_archival.txt inside too ;)
10:05 < Snert> danderson: thanks for that; i'll put it up on snert.com for
others too
10:05 -!- nexneo [n=niket@59.96.159.56] has joined #go-nuts
10:06 <+danderson> tonfa: indeed there is, I had no idea hg did that.  Neat
:)
10:06 -!- elliryc [n=chombecq@62.64.32.149] has left #go-nuts ["Ex-Chat"]
10:06 -!- udgover [n=udgover@194.250.173.252] has joined #go-nuts
10:06 < JBeshir> Apologies for harping on about this, but now one of the
devs seems to be around...  I'm trying to figure if I should leave stuff alone to
be optimised for a while, or keep playing with Go now; is it expected for the
Hello World app (plus a "for true { }" at the end to keep it running) to have an
RSS of ~5684KB on linux/amd64?
10:06 <+danderson> sorry, not a dev, I just work here
10:06 < JBeshir> Ah, okay.
10:06 <+danderson> that said
10:06 <+danderson> I may be able to offer non-authoritative thoughts
10:07 <+danderson> you're using 6g/8g to build this I assume?
10:07 < JBeshir> Yeah.
10:07 < JBeshir> That's the detail I forgot.
10:07 < JBeshir> 6g and 6l.
10:07 -!- depood [n=hidden@chello080108055214.19.11.vie.surfer.at] has joined
#go-nuts
10:07 <+danderson> okay, so the large binary size is not a feature of the
language, but of the compiler
10:08 -!- mike_storm [n=michael@c-24-12-53-42.hsd1.il.comcast.net] has quit
["Leaving"]
10:08 <+danderson> the 6* compilers are based on the plan9 compiler
architecture, which can only generate static binaries
10:08 <+danderson> (and references to existing dynamic libs, but no new
dynamic libs)
10:08 < andguent> halleluja for that
10:08 < JBeshir> Hmm, the binary is 'only' 634KB
10:08 < JBeshir> Er, 624KB
10:08 < UKRep547> is it possible to link Go binaries/object files to object
files from other languages?
10:08 -!- jmacelro [n=jmacelro@nat/cisco/x-rqpvqsvhimfcceuw] has quit [Read error:
104 (Connection reset by peer)]
10:09 < UKRep547> e.g.  gd lib
10:09 -!- senneth [i=senneth@irssi/staff/senneth] has joined #go-nuts
10:09 < JBeshir> UKRep547:
http://golang.org/doc/go_faq.html#Do_Go_programs_link_with_Cpp_programs <-- Has
some information about it.
10:09 <+danderson> still quite large.  As for the RSS size, I don't know.  A
good part of it might be inefficiencies in the runtime
10:09 < UKRep547> thanks JBeshir :)
10:10 < Snert> danderson: if anyone else asks about a tar ball, a copy of
the one you just gave me can be found
http://www.snert.com/downloads/go-3732030c75.tar.gz
10:10 < JBeshir> Okay.
10:10 <+danderson> another part could be constant overhead of the runtime,
which looks rather bad on hello world but might be bearable for larger apps
10:10 <+danderson> bottom line, I'm talking out of my ass, and I don't know
:)
10:10 < lotrpy> Snert, It's great
10:10 < JBeshir> Maybe, but that's some constant overhead
10:10 <+danderson> if you wait until western US times, the actual go team
will be online
10:10 <+danderson> and will actually know what they're talking about.
10:10 < JBeshir> Okay, that works.
10:10 <+danderson> I'm just the antispam police :)
10:11 < UKRep547> antispam police are always welcome
10:11 < lotrpy> How can you anti spam when there is no spam
10:11 -!- lambo4jos [n=chatzill@c-76-126-250-10.hsd1.ca.comcast.net] has quit
["ChatZilla 0.9.85 [Firefox 3.5.5/20091102152451]"]
10:11 <+danderson> lotrpy: that's how you know I'm working correctly.
10:11 -!- RayNbow [i=kirika@scientia.demon.nl] has joined #go-nuts
10:11 <+danderson> Snert: noted, cheers
10:11 -!- javax [n=javax@galaxy.infidyne.com] has left #go-nuts []
10:12 -!- ctimmerm [n=ctimmerm@83.150.80.193] has quit ["Leaving..."]
10:12 < Snert> danderson: thanks again for being so helpful
10:12 -!- ToRA [n=tora@ns2.wellquite.org] has joined #go-nuts
10:14 -!- alus [n=gah@64.13.131.178] has joined #go-nuts
10:14 < alus> hi!
10:14 -!- level09 [n=chatzill@80.227.125.119] has quit ["ChatZilla 0.9.85 [Firefox
3.5.5/20091102152451]"]
10:14 < lotrpy> wa!
10:15 < alus> anyone have Go running on Windows yet?
10:15 -!- vertrex [n=vertrex@194.250.173.252] has joined #go-nuts
10:16 -!- chops_tick [n=isilulis@adsl-211.ucnet.uoc.gr] has joined #go-nuts
10:16 < nexneo> alus: no, that is most common question I guess.
10:16 < alus> wow, ok.
10:17 < alus> what's the next step in getting that to work?
10:17 < nexneo> you need linux running under virtualization
10:17 * alus rolls up his sleeves
10:17 < nexneo> try minimal ubuntu install
10:17 -!- insane_coder [n=nach@CBL217-132-121-178.bb.netvision.net.il] has joined
#go-nuts
10:18 -!- spb [i=stephen@freenode/developer/exherbo.spb] has joined #go-nuts
10:18 < alus> er, I mean, what bout getting it to work on mingw?
10:18 -!- SamHoi [n=toor@unaffiliated/coconutcrab] has joined #go-nuts
10:19 < nexneo> I don't know no body said positive about that in last day :)
10:19 < UKRep547> would be interesting to look at the source, alus, to see
whether compiled output (particularly for the threads, goroutines) rely on unix
specific calls like select, poll, etc..
10:19 -!- descendency [n=ldb@wvb31941rh.rh.ncsu.edu] has quit []
10:19 < ment> rewriting plan9 libc to work under windows?
10:19 < ment> alus: ^^
10:19 -!- shinku_ [n=shinku@unaffiliated/shinku] has quit [Read error: 104
(Connection reset by peer)]
10:19 -!- crez [n=crez@dhcp-13-107.lip.ens-lyon.fr] has joined #go-nuts
10:19 < alus> ment: http://swtch.com/usr/local/plan9/9pm/src/libc/ ?
10:20 -!- crez [n=crez@dhcp-13-107.lip.ens-lyon.fr] has quit [Remote closed the
connection]
10:20 -!- m0rra [n=m0rra@90.191.240.233] has joined #go-nuts
10:21 -!- depood [n=hidden@chello080108055214.19.11.vie.surfer.at] has quit
["leaving"]
10:21 < ment> alus: go/src/lib9, go/src/libmach and various asm stubs, also
platform dependent stuff from src/pkg/runtime
10:22 -!- depood [n=depood@chello080108055214.19.11.vie.surfer.at] has joined
#go-nuts
10:22 -!- alb [n=nil@unaffiliated/alb] has quit [Read error: 110 (Connection timed
out)]
10:23 -!- gander [n=gander@unaffiliated/gander] has quit [Read error: 110
(Connection timed out)]
10:23 -!- gander [n=gander@unaffiliated/gander] has joined #go-nuts
10:24 < nexneo> whats go lang course?
10:24 -!- leadnose [i=leadnose@xob.kapsi.fi] has joined #go-nuts
10:25 < musty> It's my assumption that it is expected for one to know a
language, prior to playing in Go's sand.
10:25 < nexneo> I see mentions of that on twitter.  but didn't found any url
or much info
10:25 < nexneo> "go" is very bad search term
10:26 < wollw> nexneo: maybe they mean the pdfs?
10:26 < nexneo> I do know only one pdf Rob Pike's slides :)
10:26 < nexneo> which pdfs?
10:27 < wollw> From the first paragraph of the tutorial's introduction:
"Also, slides from a 3-day course about Go are available: Day 1, Day 2, Day 3.  "
10:27 < wollw> the days each being a link
10:27 < lotrpy> nexneo, yes, search go is not easy.
10:27 <+danderson> alus: currently the go compiler don't know how to produce
win32 binaries
10:27 <+danderson> gccgo might have fewer problems than 6/8g, if you can get
it to compile
10:27 -!- Fish-- [n=Fish@78.238.225.114] has quit [Remote closed the connection]
10:27 < nexneo> wollw: okay, so that something internal stuff.  just pdf
available.
10:28 <+danderson> but, simply put: the go team doesn't use windows, and had
other stuff to worry about.  They would welcome contributions to the code to make
Go usable in win32.
10:28 -!- seymour_ [i=mike@dsl-244-114-37.telkomadsl.co.za] has joined #go-nuts
10:28 < wollw> nexneo: it's pretty easy to follow from what I've looked at
10:28 -!- Fish-- [n=Fish@78.238.225.114] has joined #go-nuts
10:28 < nexneo> wollw: thanks.  right
10:28 <+danderson> In the meantime, to give the language a spin, the
simplest is to grab Virtualbox and install a linux VM.
10:28 < lotrpy> UKRep547, Really?  I just read the tut, It looks Println put
spaces between arguments whereas Print doesn't
10:29 -!- alt^255 [n=k@85.88.27.205] has quit ["leaving"]
10:29 -!- jmacelro [n=jmacelro@c-71-202-111-46.hsd1.ca.comcast.net] has joined
#go-nuts
10:29 < UKRep547> lotrpy you're prob right, but either way, it is
inconsistent, and I don't like it.
10:31 < lotrpy> UKRep547, oh, then what u said is just what u want?  maybe
it still not very late to dicuss these with go team?  after all, it's before the
1.0 release:)
10:31 -!- DrNach [n=nach@85-250-85-159.bb.netvision.net.il] has quit [Read error:
110 (Connection timed out)]
10:31 < UKRep547> I hope so; I'd be afraid lots of junior (and senior)
programmers would decide, hey I want a newline now, and type "ln" on the end of
Print, only to find spaces now inserted between all their arguments.
10:32 -!- seymour [i=mike@dsl-244-114-37.telkomadsl.co.za] has quit [Read error:
104 (Connection reset by peer)]
10:32 < UKRep547> Also, another question: why use capitalisation to
differentiate between private and public?  Isn't that just sticking two fingers up
at people who you lured in with unicode just to say "hey you better have capitals
in your language"..?
10:33 -!- john6 [n=j0nguk@210.107.195.141] has joined #go-nuts
10:34 -!- tor7 [n=tor@c-987a71d5.04-50-6c756e10.cust.bredbandsbolaget.se] has
joined #go-nuts
10:36 -!- imbrandon [n=brandon@ubuntu/member/imbrandon] has joined #go-nuts
10:36 < exch> poor lojban speakers :p
10:37 -!- jaiwitha3i [n=jaiwitha@99.23.136.198] has left #go-nuts []
10:37 -!- Fish [n=Fish@78.238.225.114] has joined #go-nuts
10:37 < musty> I still keep getting: make.bash: line 20:
/home/stinker/bin/quietgcc: No such file or directory
10:38 -!- Fish-- [n=Fish@78.238.225.114] has quit [Read error: 131 (Connection
reset by peer)]
10:38 < wollw> UKRep547: How else would you do it that doesn't require latin
characters?
10:38 < musty> when I build with ./all.bash
10:38 -!- sea-gull [n=sea-gull@95-28-0-12.broadband.corbina.ru] has quit ["Lost
terminal"]
10:38 < UKRep547> wollw if you were Japanese wouldn't you like to name your
subs in Kanji and Kana, even though the keywords of the language were still latin?
10:39 < wollw> UKRep547: maybe hiragana and katakana?
10:39 < GeDaMo> musty, did you do an hg update?
10:39 < wollw> I guess a symbol could be used though
10:39 < dRiZzle> musty: do you have the gobin variable set and is it in the
path?
10:39 -!- musty_ [n=musty@unaffiliated/musty] has joined #go-nuts
10:39 < UKRep547> wollw besides it seems to limit Western speakers as well.
It is a rather odd convention; most languages use a keyword to differentiate and I
see no reason to try and shortcut that..
10:40 < musty> $ env | grep '^GO'
10:40 < musty> GOBIN=/home/stinker/bin
10:40 < musty> GOARCH=amd64
10:40 < musty> GOROOT=/home/stinker/go
10:40 < musty> GOOS=linux
10:40 < wollw> Yeah, it is kinda strange.  I kinda like it though
10:41 < dpb> UKRep547: isn't the unicode just for strings?  you can't use
them for object names..  atleast I get "invalid identifier character" when trying.
10:41 -!- vertrex [n=vertrex@194.250.173.252] has left #go-nuts ["Leaving"]
10:41 < musty> dRiZzle, that's my bashrc ^
10:41 < UKRep547> :) dpb well I haven't tried the language yet, just excited
about it, and would like it to be extensible for the future, especially if it is
likely to become popular.  The spirit of unicode support is embracing foreign
language speakers, so why not go the whole hug and give them lots of love.
10:42 < engla> dpb: identifier = letter { letter | unicode_digit } where
letter = unicode_letter | "_" .
10:42 < wollw> dpb: Yeah, me too
10:42 < engla> dpb: with the example identifier αβ
10:43 < musty> <musty> GOBIN=/home/stinker/bin
10:43 < musty_> dRiZzle, I have "export PATH=$GOBIN:$PATH" in my .bashrc ...
10:43 < dpb> ok, apparently works with only letters then, not any unicode
symbol..
10:43 < dRiZzle> musty: what about your path
10:43 < dRiZzle> yeah that looks ok
10:43 < engla> dpb: no snowmen
10:43 < wollw> Drat, I can't have a ☮ identifier
10:43 < musty> hmm
10:43 < dRiZzle> is quitegcc really there?
10:43 < dpb> Yeah, I couldn't use €..  <.<
10:44 < engla> question is, are there capital letters in japanese?
10:44 < UKRep547> no, engla, and not in Chinese either
10:44 < UKRep547> yes in Russian
10:44 < engla> if kana etc are not unicode letters the question is moot
though
10:44 < UKRep547> not sure about Greek
10:44 < wollw> engla: Hiragana and Katakana could be used that way, I don't
know if that is implemented though
10:44 < wollw> ah
10:44 < Maddas> engla: They are
10:44 < dpb> I think programming languages should be limited to english,
just to make code portable all over the world...  :/
10:44 -!- x2cast [n=alvaro@235.127.222.87.dynamic.jazztel.es] has joined #go-nuts
10:45 < engla> Maddas: thanks.  Lo right?
10:45 < musty> dRiZzle, odd, now I get:
10:45 < Maddas> dpb: Unicode is portable...
10:45 < musty> $ ./all.bash
10:45 < musty> $GOBIN is not a directory or does not exist
10:45 < musty> create it or set $GOBIN differently
10:45 < musty> :/
10:45 < engla> dpb: other way around..  unicode to make code accessible all
over the world
10:45 < dRiZzle> musty, :-) create gobin
10:45 < jdp> dpb, thats pretty silly
10:45 < musty> quitegcc is in my src/
10:45 < musty> well, quitegcc.bash
10:45 -!- Fish- [n=Fish@78.238.225.114] has joined #go-nuts
10:45 < Maddas> engla: I don't know, I'd be surprised if not, though.
10:45 < musty> dRiZzle, I just, er -- mkdir go/bin
10:46 < musty> dRiZzle, still the same :/
10:46 < dRiZzle> musty, but your gobin is different in your env.  its
/home/stinker/bin
10:47 < GeDaMo> Try mkdir $GOROOT/bin
10:47 < dpb> jdp: yeah, write code in japanese, then contractor changes and
some english one should continue it..  oops, it's in japanese, he just has to
rewrite the whole thing.
10:47 < jdp> keywords are still in english for the most part, it's just
function names
10:48 < dpb> it's enough
10:48 -!- ojm [n=ojm@85.76.214.85] has quit [Read error: 145 (Connection timed
out)]
10:48 < Maddas> dpb: The same thing applies if the documentation is in
Japanese or any of the strings are in Japanese.
10:48 < wollw> Looks like hiragana and katakana are both local only
10:48 < jdp> if it really comes to that contrived case, how hard is it to
search/replace that set of characters
10:48 < dRiZzle> GeDamo, his GOROOT is different ..  check the env variables
he has..  root is /home/stinker/go and bin is /home/stinker/bin
10:48 < dpb> it's enough to make the code completely unreadable for someone
who doesn't know the language
10:48 < jdp> too bad
10:48 -!- tinker [n=timmy@thbh-ip-vsat-2-p254.vsat.telkom-ipnet.co.za] has left
#go-nuts ["Leaving"]
10:48 < jdp> lingua franca was a big deal in 1700, not so much anymore
10:49 < GeDaMo> Ah, ok, mkdir $GOBIN should work then, no?
10:49 < engla> dpb: Py 3 code snippet in armenian script
http://wiki.python.org/moin/ArmenianLanguage
10:49 < dRiZzle> musty, mkdir the /home/stinker/bin and not
/home/stinker/go/bin
10:49 < musty> dRiZzle, I'll change the env variables around sorry.
10:49 < jdp> are you really trying to say "hey youre not allowed to program
unless you know english"
10:49 < musty> 120 export PATH=$GOBIN:$PATH
10:49 < dpb> engla: indeed, how horrible :S
10:49 < musty> 121 export GOROOT=$HOME/go
10:49 < musty> 122 export GOARCH=amd64
10:49 < musty> 123 export GOBIN=$HOME/go/bin
10:49 < uriel> alus: andguent is working on a win32 port
10:49 < musty> 124 export GOOS=linux
10:50 -!- p0g0__ [n=pogo@unaffiliated/p0g0] has joined #go-nuts
10:50 -!- Fish [n=Fish@78.238.225.114] has quit [Read error: 145 (Connection timed
out)]
10:50 < dRiZzle> musty, should work then..  changing the variable is better
...  :-)
10:50 -!- c_nick [n=nick@61.12.58.162] has joined #go-nuts
10:50 -!- seymour__ [i=mike@dsl-244-114-37.telkomadsl.co.za] has joined #go-nuts
10:50 -!- seymour_ [i=mike@dsl-244-114-37.telkomadsl.co.za] has quit [Read error:
104 (Connection reset by peer)]
10:50 < musty> how's that
10:50 < alus> andguent: hi!
10:50 < musty> dRiZzle, hmm
10:50 < musty> installed quietgcc as /home/stinker/go/bin/quietgcc but
'which quietgcc' fails
10:50 < musty> double-check that /home/stinker/go/bin is in your $PATH
10:50 < musty> sec
10:50 -!- punya [n=punya@c-24-19-57-173.hsd1.wa.comcast.net] has quit ["leaving"]
10:51 < Kniht> dpb: a russian dictionary is completely unreadable to me.  I
don't insist they write their dictionaries in english any more than I insist they
write their programs in english
10:51 -!- cerv [n=kane@194.1.130.108] has quit [Client Quit]
10:52 < engla> C, ASCII and UNIX are really old technologies..  upgrading to
go, UTF-8 and ???  ..  it's modern technology..  UTF-8 is only 17 years old or
so..
10:52 < Kniht> rather, you don't have to ditch either C or UNIX to use UTF-8
10:53 -!- impeachgod [n=impeachg@195.80.231.65] has joined #go-nuts
10:53 < Kniht> and it's designed to work well with tools that only
understand ascii and are 8-bit clean, anyway
10:54 < dRiZzle> musty, just add this to your PATH /home/stinker/go/bin..
it should be fine
10:54 < vegai> is the semicolon optional for all blocks containing a single
statement?
10:54 -!- meunierd [n=devon@75-119-230-14.dsl.teksavvy.com] has joined #go-nuts
10:54 -!- musty [n=musty@unaffiliated/musty] has quit ["Leaving"]
10:54 -!- sowa [n=sowa@85.214.104.79] has quit ["Lost terminal"]
10:54 < musty_> dRiZzle, Yeah, installing now.
10:54 < engla> vegai: yes
10:54 -!- Suprano [n=anonym00@88-134-180-248-dynip.superkabel.de] has joined
#go-nuts
10:55 < Suprano> Greetings
10:55 < musty_> dRiZzle, Sorry, a little awkward ...  not familiar with bash
whatsoever.  thanks
10:55 < dRiZzle> musty, (y) good luck..
10:55 < dpb> Kniht: maintainership of a russion dictionary wouldn't go to
another country of course, so that comparison doesn't make sense.
10:55 -!- beneth` [n=beneth`@beneth.fr] has joined #go-nuts
10:55 < UKRep547> vegai, engla, technically I believe the same is true for C
10:55 < UKRep547> the last statement in a block shouldn't need a semi-colon;
but it's been a while, I could be wrong
10:56 -!- SRabbelier [n=SRabbeli@ip138-114-211-87.adsl2.static.versatel.nl] has
joined #go-nuts
10:56 -!- hector_ [n=chatzill@client-86-0-126-58.nrth.adsl.virginmedia.com] has
joined #go-nuts
10:56 -!- jaxdahl [i=foobar@cpe-70-112-126-227.austin.res.rr.com] has joined
#go-nuts
10:58 -!- raichoo [n=raichoo@lain.dhcp.uni-bielefeld.de] has joined #go-nuts
10:58 -!- Fish-- [n=Fish@78.238.225.114] has joined #go-nuts
10:58 < Kniht> dpb: that POV seems to be saying that all russian
dictionaries should be written in english so that if one ever manages to get
carried into <some country> (possibly by a tourist), the people there can
pick it up and instantly understand it
10:58 < int-e> UKRep547: Not true in C. It's true in Pascal.  The technical
distinction is between statement terminators and statement separators.
10:59 -!- hector_ [n=chatzill@client-86-0-126-58.nrth.adsl.virginmedia.com] has
quit [Client Quit]
10:59 -!- Fish- [n=Fish@78.238.225.114] has quit [Read error: 104 (Connection
reset by peer)]
11:00 < UKRep547> ah Pascal, that would explain it.  I remember reading
something about it 16 or 17 years ago and I was learning Pascal at the time..
11:00 -!- xMDKx [n=mdkcore@200.140.247.98] has joined #go-nuts
11:00 < UKRep547> whoah 19 years old
11:00 < UKRep547> I'm getting old.
11:00 < UKRep547> 19 years ago I mean.
11:00 < UKRep547> I've been in this industry too long.
11:00 < dpb> Kniht: dictionaries are completely different.
11:01 < xMDKx> morning for all
11:02 < Suprano> I am wondering, did the go devs have a look at D?
11:03 -!- magewhopper [n=magemage@Wikipedia/Mage-Whopper] has joined #go-nuts
11:04 -!- Fish [n=Fish@78.238.225.114] has joined #go-nuts
11:05 -!- Fish-- [n=Fish@78.238.225.114] has quit [Dead socket]
11:05 -!- magewhopper [n=magemage@Wikipedia/Mage-Whopper] has quit [Client Quit]
11:07 -!- xenon_karmic [n=xenon@122.166.152.184] has joined #go-nuts
11:07 -!- m0rra [n=m0rra@90.191.240.233] has quit [Read error: 145 (Connection
timed out)]
11:08 < jlouis> Suprano: perhaps.  There are many similarities with many
other languages.  It is the choice of said features that makes it different
11:08 < Suprano> In the take he states there were no new major system
languages, but isn’t D exactly that?
11:08 < Suprano> *the video
11:09 < Kniht> dpb: sure, it's proof by analogy and that's dangerous, but
what you're saying seems as preposterous to me as how writing all russian
dictionaries in english must appear to you
11:09 -!- Pee [n=paulho@17-82-ftth.onsneteindhoven.nl] has joined #go-nuts
11:09 < blasdelf> D is older, more baroque, and less novel
11:10 < uriel> is there *anything* new or interesting about D? it just seems
like yet another rehash of every random feature out there, just slightly less
insane than c++
11:10 < bartwe_> D seems more c++ derived, where go seems more c/erlang
derived
11:10 < blasdelf> I think they tried to have more rational modules
11:11 < blasdelf> go and erlang are siblings / first-cousins, not
parent/child
11:12 -!- weeegod [n=weeegod@187.39.148.176] has quit []
11:12 < Kniht> uriel: not afaik, but I'd take a perfect amalgamation of
non-new concepts in a heartbeat, and it always seemed that was something of the
goal of D, to me
11:13 -!- camfex [n=d@89.163.17.22] has quit [Read error: 110 (Connection timed
out)]
11:13 < uriel> go is (as I see it) a descendant of Alef and Limbo (although
obviously with many changes), Erlang and Limbo/Inferno are products of paralell
evolution, completelly unrelated, but solve the same kinds of problems with
similarly elegant solutions
11:13 < robot12> uriel, :)
11:14 -!- pyfex [n=patrick@85-127-249-161.dynamic.xdsl-line.inode.at] has joined
#go-nuts
11:14 < uriel> Kniht: many concepts are not orthogonal, and from what I have
seen, D is a mess, just a bit less so than C++, but then it doesn't have the sane
C subset either
11:14 < robot12> Go seems Alef/Limbo derived ...
11:14 -!- alb [n=nil@unaffiliated/alb] has joined #go-nuts
11:15 -!- m0rra [n=m0rra@90.191.240.233] has joined #go-nuts
11:15 -!- turutosiya [n=turutosi@219.106.251.65] has quit [Remote closed the
connection]
11:16 < Kniht> uriel: I agree with you on D's current state (though I
haven't looked deeply because of just that perception), I'm just saying my
understanding wasn't that they tried to introduce new/radical ideas, nor do I
think you must do that to be successful
11:16 < bartwe_> that makes sense seeing the plan9 history of some of the
contributors
11:16 -!- level09 [n=chatzill@80.227.125.119] has joined #go-nuts
11:17 < Kniht> uriel: s/subset/superset/ :P
11:17 -!- BleSS [n=quassel@87.223.179.242] has joined #go-nuts
11:17 -!- AmirMohammad [n=amir@unaffiliated/gluegadget] has quit [Read error: 60
(Operation timed out)]
11:18 -!- mjrosenb [n=mjrosenb@ip68-108-253-68.sb.sd.cox.net] has joined #go-nuts
11:18 -!- seymour_ [i=mike@dsl-244-114-37.telkomadsl.co.za] has joined #go-nuts
11:19 -!- seymour__ [i=mike@dsl-244-114-37.telkomadsl.co.za] has quit [Read error:
104 (Connection reset by peer)]
11:20 -!- BleSS [n=quassel@87.223.179.242] has left #go-nuts
["http://quassel-irc.org - Chat comfortably.  Anywhere."]
11:20 -!- gointrigue [i=ad1a7bb7@gateway/web/freenode/x-csyihkhnmaraicgm] has quit
["Page closed"]
11:20 -!- albertito [n=nil@unaffiliated/alb] has quit [Read error: 60 (Operation
timed out)]
11:20 -!- AmirMohammad [n=amir@unaffiliated/gluegadget] has joined #go-nuts
11:21 -!- amar [i=765f2999@gateway/web/freenode/x-wmxlnpvweufumgtk] has joined
#go-nuts
11:21 -!- SamHoi [n=toor@unaffiliated/coconutcrab] has quit [Read error: 110
(Connection timed out)]
11:22 < amar> not able to install go on ubuntu 9.10
11:23 < defectiv> does this argument hold water?
http://groups.google.com/group/golang-nuts/browse_frm/thread/ef4fa9770514adb2/977acbd74ef02fac
Comment #35 and #36
11:23 < musty_> how big is the gccgo from svn
11:24 < musty_> svn checkout svn://gcc.gnu.org/svn/gcc/branches/gccgo gccgo
<< that gccgo ;P
11:24 < alus> is there an AST printer for Go?
11:24 < Associat0r> Suprano have you heard of felix bitc ats?
11:24 -!- gointrigue [n=metal@173-26-123-183.client.mchsi.com] has joined #go-nuts
11:24 -!- triplez [n=triplez@bb116-14-25-62.singnet.com.sg] has quit []
11:24 < Suprano> no
11:25 -!- Segaja [i=segaja@justbase.fm] has joined #go-nuts
11:25 < Associat0r> Suprano 3 other radical systems languages
11:25 <+danderson> defectiv: those two posts sound like people complaining
that Go is not D
11:25 -!- magewhopper [n=magemage@Wikipedia/Mage-Whopper] has joined #go-nuts
11:25 <+danderson> which is obviously missing the point somewhat
11:26 < Associat0r> http://www.felix-lang.org/
11:26 < Associat0r> http://www.ats-lang.org/
11:26 < Associat0r> http://www.bitc-lang.org/
11:26 -!- Cantareus [n=brendon@121-73-186-98.dsl.telstraclear.net] has joined
#go-nuts
11:26 < defectiv> well, they are complaining that Go is not OO
11:26 < defectiv> and such.
11:27 < musty_> WHO?
11:27 < c_nick> Go is OO..  its a better platform than python
11:27 < blasdelf> don't forget http://ooc-lang.org/ and
http://www.zimbu.org/
11:28 < c_nick> it combines a lot of good stuff and put into one box..
11:28 < garbeam> C is OO as well, you got function pointers
11:28 < defectiv> does Go have inheritance?
11:28 < gl> no
11:28 < blasdelf> of course not
11:28 -!- hector [n=chatzill@client-86-0-126-58.nrth.adsl.virginmedia.com] has
joined #go-nuts
11:28 < defectiv> okay, that barely counts as OO to me.  and a lot of
people.
11:28 < gl> inheritance is probably the worst concept ever thought
11:28 -!- Fish [n=Fish@78.238.225.114] has quit [Dead socket]
11:28 < c_nick> ".bashrc" << where can i find that out
11:28 < uriel> alus: http://golang.org/pkg/go/
11:28 < garbeam> inheritance has nothing to do with OO
11:28 < blasdelf> defectiv: fuck that classicist bullshit
11:29 -!- Segaja [i=segaja@justbase.fm] has left #go-nuts []
11:29 < c_nick> I am a complete newbee with go and system programming
11:29 < GeDaMo> c_nick: .bashrc should be in your home directory
11:29 -!- Fish [n=Fish@78.238.225.114] has joined #go-nuts
11:29 < uriel> c_nick: $HOME/.bashrc but if you don't know where to find it,
you probably don't want to be messing with it
11:29 < defectiv> easy killer.
11:29 < defectiv> just saying inheritance is a nice part of OO.
11:29 -!- keishi [n=keishi@116.0.230.16] has joined #go-nuts
11:29 < p0g0__> c_nick: in your home directory...viz:
http://golang.org/doc/install.html
11:30 < uriel> garbeam: by any generally accepted definition of OO,
inheritance *is* OO, but that doesn't make it any less evil
11:30 -!- lightpriest__ [n=lightpri@62.219.152.133] has left #go-nuts ["Leaving"]
11:30 -!- keishi [n=keishi@116.0.230.16] has left #go-nuts []
11:30 < uriel> defectiv: inheritance is the worst part of OO
11:30 < c_nick> p0g0__: i am on that page precisely doing whats written in
the Environment section
11:30 < defectiv> ah, here he's addressing this.  making an argument that
inheritance may not be worth it.
11:30 -!- engla [n=ulrik@wikipedia/Sverdrup] has quit [Read error: 110 (Connection
timed out)]
11:30 < defectiv> uriel: that's where i'm at in the video.
11:30 < blasdelf> If you want to have some idea of what OO really is, read
the first half of "A Theory of Objects" by Cardelli and Abadi
11:31 < uriel> blasdelf: I fear the battle for the proper deffinition of OO
has been lost long ago
11:31 < blasdelf> Luca Cardelli even wrote CSP languages with Rob Pike at
Bell Labs
11:31 < uriel> blasdelf: indeed http://doc.cat-v.org/bell_labs/squeak/
11:31 < garbeam> uriel: not necessarily
http://en.wikipedia.org/wiki/Object-oriented_programming#Formal_definition
11:31 < dRiZzle> amar, i have it on ubuntu 9.10
11:32 < blasdelf> "A Theory of Objects" takes a different approach,
describing the possibilities and what implements them (and what is untouched)
11:32 < garbeam> uriel: since Go has interfaces that's enough to fulfill the
polymorphism criteria
11:32 < uriel> garbeam: again, nobody uses that definition, and English
words are deffined by usage, not by authority/decree
11:32 < garbeam> uriel: am I nobody?  ;)
11:32 < uriel> yes ;P
11:32 < int-e> uriel: there are delegation based approaches as well
(prototype based languages), and there's the whole type based dispatch idea (which
golang seems to subscribe to)
11:32 < Associat0r> garbeam yes
11:32 < blasdelf> I wish Cardelli worked at google -- then Go would have
user-accessible parametric polymorphism
11:33 < uriel> if you take the original deffinition of OO, as rob points in
the presentation, Go is much more OO than java or c++, but nobody remembers that
stuff
11:33 -!- alt^255 [n=k@85.88.27.205] has joined #go-nuts
11:33 -!- weeegod [n=weeegod@187.39.148.176] has joined #go-nuts
11:33 -!- meunierd [n=devon@75-119-230-14.dsl.teksavvy.com] has quit [Read error:
110 (Connection timed out)]
11:33 < c_nick> I did not understand the environment section of the page
11:33 < Associat0r> to me if it has Subtype Polymorphism it's OO enough for
me
11:33 < c_nick> i found he bash rc file
11:33 < amar> dRiZzle: hey, i am installing it right now...again......just
"hg clone -r release https://go.googlecode.com/hg/ $GOROOT"
11:33 < uriel> note that Cardelly also wrote:
http://doc.cat-v.org/programming/bad_properties_of_OO
11:34 < uriel> er, Cardelli, sorry
11:34 < blasdelf> he also wrote "Crabs: the bitmap terror"
11:34 < dRiZzle> amar, you did the following - sudo apt-get install bison
gcc libc6-dev ed ?
11:34 < musty_> If I have my main user as user_blah, and I have my go in
/home/musty/go I can just mv /home/musty/go to home/main_user/ without any qualms,
and just install again or ...  ?
11:35 < uriel> blasdelf: yes!  once Go has a gui system, we need to write
something like crabs somehow!  ;))
11:35 < garbeam> Let me rephrase: inheritance is one of the main causes for
totally baroque OO design
11:35 < uriel> garbeam: probably the main cause
11:35 < Associat0r> agreed
11:35 < amar> dRiZzle: yeah..did all that and right now installing
again....wait please.....i shall get beack to you as soon as i complete ..success
or failure...
11:36 < uriel> everything else in OO is quite sane, tying up the data
structure design, the type system and the behavior using inheritance just creates
an huge mess
11:36 < JBeshir> Yeah, I agree.
11:36 < blasdelf> garbeam: especially since there's a half-dozen orthagonal
concepts that are overloaded onto 'inheritance'
11:36 -!- gointrigue [n=metal@173-26-123-183.client.mchsi.com] has quit []
11:36 < uriel> blasdelf: exactly
11:37 < garbeam> well then we all agree the decision is right to not support
inheritance
11:37 -!- Lorthirk [n=cm0901@109.114.17.142] has joined #go-nuts
11:37 < uriel> that converts a simply bad idea into a total horrible
disaster that dooms the whole language
11:38 < blasdelf> especially since people will abuse inheritance to
implement every other feature they find missing
11:38 < blasdelf> GADTs would be a much better bludgeon
11:39 -!- SamHoi [n=toor@222.252.112.204] has joined #go-nuts
11:39 -!- hiromtz [n=hiromtz@softbank126104126014.bbtec.net] has quit
["Leaving..."]
11:40 < c_nick> can someone guide me with the bashrc
11:40 < c_nick> what changes should i exactly make and how
11:40 < amar> dRiZzle: in the end..ran all.bash and here's the error msg:
http://pastebin.com/m7c838adb
11:40 < uriel> blasdelf: trying to use inheritance to archive code reuse is
one of the most evil, wicked and harmful ideas in the history of computer science
11:41 < alt^255> uriel: to archive?
11:41 < alt^255> itym achieve..?
11:42 < amar> dRiZzle: my system is not AMD64 as mentioned in the error msg
11:42 -!- Karethoth [n=Jakiz@dsl-olubrasgw1-fe0bf900-157.dhcp.inet.fi] has quit
[Client Quit]
11:43 -!- astrometria [n=matt@host86-129-133-201.range86-129.btcentralplus.com]
has joined #go-nuts
11:43 < uriel> can't type, not awake yet either :)
11:43 < alt^255> heh sorry
11:43 < uriel> amar: set | grep '^GO"
11:43 < hector> has anyone tried using go to write a program yet?
11:44 < xMDKx> c_nick: you must add the system variables as mentioned on
http://golang.org/doc/install.html
11:44 < c_nick> xMDKx: but how
11:44 -!- astrometria [n=matt@host86-129-133-201.range86-129.btcentralplus.com]
has left #go-nuts []
11:44 < dRiZzle> amar, do you have this lib libc6-dev-amd64 try getting it
with apt-get
11:44 < c_nick> I have opened my bashrc file
11:44 < c_nick> in text mode
11:44 < Cantareus> c_nick: Mine looks like this (not too sure if I did it
properly but it works) http://pastebin.com/d65f8c0c9
11:44 < xMDKx> something like: export $GOROOT=/path/to/go/dir
11:45 < alt^255> xMDKx: no $ before GOROOT in bash
11:45 < xMDKx> ops, true
11:45 < xMDKx> typo :)
11:45 < alt^255> c_nick: once done, you need to re-source the .bashrc file
by launching . ~/.bashrc
11:45 < alt^255> then do a set | grep ^GO
11:46 -!- |Briareos| [n=briareos@151.66.43.146] has joined #go-nuts
11:46 -!- jimmy_ [n=rodrigo@189.59.94.3] has joined #go-nuts
11:46 < c_nick> so export GOROOT=HOME/go << this is correct in .bashrc
11:46 -!- _jimmy [n=rodrigo@189.59.94.3] has joined #go-nuts
11:46 < SamHoi> $ ?
11:46 -!- _jimmy [n=rodrigo@189.59.94.3] has quit [Read error: 104 (Connection
reset by peer)]
11:46 < Cantareus> You need $HOME I think
11:47 < dRiZzle> c_nick do add GOBIN to your bashrc file, and mkdir it as
well, i added it to your pastebin http://pastebin.com/m8ac91d5
11:47 < jaxdahl> did you guys do the ./all.bash command as root, and if not,
what are the permissions on your /dev/console ?
11:47 < alt^255> jaxdahl: no
11:47 < SamHoi> sigh, why mecurial, now I have to install another VCS...
11:47 < c_nick> dRiZzle: #export GOROOT=$HOME/go #export GOBIN=$GOROOT/bin
#export GOOS=linux #export GOARCH=386 << correct
11:48 < jaxdahl> why #export, isn't that a comment
11:48 -!- astrometria [n=matt@host86-129-133-201.range86-129.btcentralplus.com]
has joined #go-nuts
11:48 < c_nick> oh yeah sorry without #
11:48 < alt^255> c_nick: remove the # from export ; then at the end add the
line export PATH=$PATH:$GOBIN
11:49 < jaxdahl> alt^255, what are the permissions on your /dev/console
11:49 < dRiZzle> c_nick, add this to the script to0: export
PATH=$GOBIN:$PATH
11:49 < alt^255> jaxdahl: why do you ask?  they are rw by user root only
11:49 -!- Fish- [n=Fish@78.238.225.114] has joined #go-nuts
11:50 < UKRep547> SamHoi maybe because SVN is stupid
11:50 -!- astrometria [n=matt@host86-129-133-201.range86-129.btcentralplus.com]
has left #go-nuts []
11:50 < jaxdahl> i am getting errors such as "testdata/e.txt (level=-1):
open testdata/e.txt: error 530"
11:50 < SamHoi> UKRep547: well, I prefer git
11:50 * UKRep547 signs and remembers the good old CVS days, where your branches
could actually be graphed.
11:50 < alt^255> jaxdahl: you sure you're not out of space?  :)
11:50 < jaxdahl> hmm
11:50 < UKRep547> sighs
11:50 -!- fcn [n=fehmican@wikimedia/fcn] has joined #go-nuts
11:50 < UKRep547> not signs
11:50 < jaxdahl> thank you alt^255
11:50 < alt^255> was it?
11:50 < SamHoi> UKRep547: but after seeing that google support svn &
mercurial only I understand why
11:50 < jaxdahl> probably
11:50 < alus> SamHoi: git!
11:51 < c_nick> ok saved the file now what
11:51 < Associat0r> blasdelf how do you feel about op overloading?
11:51 < alt^255> c_nick: now follow the tutorial
11:51 -!- astrometria [n=matt@host86-129-133-201.range86-129.btcentralplus.com]
has joined #go-nuts
11:51 < jaxdahl> hmm, no, disk is 92% full
11:51 < Cantareus> jaxfahl: try hg pull -u in your GOROOT directory.
11:51 < c_nick> you need to re-source the .bashrc file by launching .
~/.bashrc << how to do this
11:51 < alt^255> jaxdahl: sorry can't help then
11:51 < c_nick> in terminal just go .~/.bashrc
11:51 < alt^255> c_nick: exactly as I told you
11:51 -!- Fish [n=Fish@78.238.225.114] has quit [Read error: 60 (Operation timed
out)]
11:52 < c_nick> yes its ur comments only :) I am following what you are
telling me to do..  but i am not sure how to do it so asking again and again
11:52 < alt^255> c_nick: there's a space between the first . and the ~
11:52 < c_nick> i am nto a system programmer
11:52 < p0g0__> c_nick: you can also just open a new console after you
construct the .bashrc
11:52 < jaxdahl> 46 files updated, Cantareus, re-running
11:52 < p0g0__> c_nick: that will use the new resource file
11:52 < dRiZzle> c_nick, yeah exactly just open up a new console and close
the old one
11:53 < c_nick> konsole is terminal right :)
11:53 < p0g0__> c_nick: yeah, that'll do
11:53 < dRiZzle> c_nick, I hope you did save the .bashrc file..
11:53 < c_nick> yes
11:53 -!- seymour_ [i=mike@dsl-244-114-37.telkomadsl.co.za] has quit [Read error:
104 (Connection reset by peer)]
11:53 < SamHoi> just open a new tab in konsole
11:53 < c_nick> ok
11:53 < c_nick> done
11:53 < c_nick> then
11:53 < fcn> what is the connection between Plan 9 and Go?
11:53 < jaxdahl> yeah then env | grep '^GO'
11:53 < jaxdahl> to see if it worked
11:53 -!- exclipy [n=exclipy@233.135.70.115.static.exetel.com.au] has joined
#go-nuts
11:53 < c_nick> shouldn't i do this first >> you need to re-source the
.bashrc file by launching . ~/.bashrc
11:54 < p0g0__> c_nick: it's the same answer either way
11:54 < amar> dRiZzle: but mine is not an AMD system
11:54 -!- m-takagi is now known as m-takagi_
11:54 -!- lenst [n=user@90.229.131.67] has quit [Remote closed the connection]
11:54 < c_nick> ok p0g0__ i got something
11:54 -!- tablatom [n=tom@93-96-214-231.zone4.bethere.co.uk] has joined #go-nuts
11:55 < amar> uriel: set it..  then??  should i run all.bash again?
11:55 < alt^255> c_nick: the re-sourcing needs to be done only when you want
to update the current bash environment variables without having to open a new
shell.  either way, if you open a new console/tab/shell/whatever it will read the
new .bashrc file and you'll be set
11:55 -!- frokk_ [n=none@host80-117-dynamic.181-80-r.retail.telecomitalia.it] has
left #go-nuts ["Leaving"]
11:55 < jaxdahl> Cantareus, alright it's past where it got stuck before,
hopefully it finishes this time.  the perils of using a language/compiler suite
under rapid development, eh?
11:55 < c_nick> oh ok
11:55 < tablatom> Is there any support for dynamically loading code?
11:55 < c_nick> now i get this in the konsole GOBIN=/home/nathan/go/bin
GOARCH=386 GOROOT=/home/nathan/go GOOS=linux
11:56 < c_nick> should i jump onto Fetch the repository on the install page
11:56 < xMDKx> yataaaa!  :)
11:56 < alt^255> c_nick: yes
11:56 < c_nick> ok thanks
11:56 -!- seymour__ [i=mike@dsl-244-114-37.telkomadsl.co.za] has joined #go-nuts
11:56 < jaxdahl> Open("/etc/no-such-file", 0) = _, "open /etc/no-such-file:
error 530"; want "open /etc/no-such-file: no such file or directory"
11:56 < c_nick> i will be back in sometime
11:56 < Gynvael> hi
11:56 < alt^255> good luck.
11:56 < c_nick> thanks alt
11:57 < alt^255> you're welcome.
11:57 < Cantareus> jaxdahl, :(
11:57 < jaxdahl> open: Failed to open /dev/console : Permission denied
11:57 < Gynvael> does "go" start a new thread, or is it simmilar to a fiber
on Windows within one thread ?
11:57 < alt^255> jaxdahl: you're running it from root?
11:57 < jaxdahl> crw------- 1 root root 5, 1 Aug 18 13:28 /dev/console
11:57 < jaxdahl> no.
11:57 < jaxdahl> why should i have to
11:58 < insane_coder> Window's fibers can lock, since that is cooperative
threading
11:59 -!- Fish- [n=Fish@78.238.225.114] has quit [Connection reset by peer]
11:59 -!- Fish-- [n=Fish@78.238.225.114] has joined #go-nuts
11:59 < Gynvael> anyway, I created a small raytracer in Go, it works cool,
but even with using 4 goroutines, it doesn't seem to use all 4 cores my CPU has
11:59 < alt^255> jaxdahl: I think the console thing is a side effect
12:00 < jaxdahl> a side effect of what?
12:00 < amar> uriel: dRiZzle : new error message :
http://pastebin.com/m2b7ebdf1 (what does it mean actually?  is it because some
file that's on my system is for AMD64 ??  Actually my system is a 32 bit Intel )
12:00 < alt^255> of some previous error
12:00 < Associat0r> Gynvael how many cores does it use?
12:00 < Gynvael> Associat0r: seems like only one
12:00 < alus> Gynvael: which compiler?
12:00 < Gynvael> alus: 6g
12:00 < GeDaMo> There's an environment varaible related to the number of
cores
12:01 < Associat0r> Gynvael I think you have to explicitly state that you
want it to run in parallel
12:01 < SamHoi> from the lang FAQ, goroutines are multiplexed to a set of
threads
12:01 < Associat0r> Gynvael I am not 100% sure but just guessing
12:01 < GeDaMo> I believe it's GOMAXCORES=2 (or however many you have)
12:01 < Gynvael> ok, I'm begining to understand
12:01 < garbeam> amar: look into the stubs.h header file and check which
macro pulls that inclusion in, it's not that hard
12:01 < Gynvael> I'll check, thanks guys ;>
12:01 -!- tablatom [n=tom@93-96-214-231.zone4.bethere.co.uk] has quit []
12:01 < int-e> amar: install libc6-dev-amd64
(http://www.mail-archive.com/debian-glibc@lists.debian.org/msg36983.html)
12:01 < GeDaMo> No, it's GOMAXPROCS
12:01 < Gynvael> yep
12:01 < Gynvael> thats it
12:02 < GeDaMo> Although I haven't tested it
12:02 < Associat0r> Gynvael GoRountines are not really system threads
12:02 -!- Metathink [n=Metathin@ABordeaux-753-1-19-221.w92-136.abo.wanadoo.fr] has
joined #go-nuts
12:02 < Metathink> Hi :)
12:02 < amar> int-e: thanks..but why?  there's nothing AMD on my laptop..
12:03 -!- bzSmari [n=spm@194-144-23-6.du.xdsl.is] has joined #go-nuts
12:03 < Gynvael> http://gynvael.coldwind.pl/img/rt_in_go.png <=- threads
or no threads, it seems too work ;>
12:03 < int-e> amar: but it's a 64 bits x86 processor, I guess?  AMD
invented that instruction set.
12:03 < insane_coder> amar: if you have an Intel Core 2 or i7, you're
running on an AMD arch
12:03 < Gynvael> It's a fun language I must say hehe
12:03 < Associat0r> Gynvael what kind of performance did you get compared to
C/C++
12:04 < Gynvael> Associat0r: it's slower
12:04 < Gynvael> Associat0r: however I didn't play with any optimisation yet
12:04 < Associat0r> Gynvael how much slower?
12:04 < tonfa> Gynvael: isn't gccgo supposed to be faster?
12:04 < jaxdahl> if i re-run the commands before the error, should i expect
to get the same error message?
12:05 < fcn> what is the connection between Plan 9 and Go?
12:05 -!- albertito [n=nil@unaffiliated/alb] has joined #go-nuts
12:05 < insane_coder> fcn: for one thing, the developers of them
12:05 -!- camfex [n=d@89.163.17.22] has joined #go-nuts
12:05 -!- nexneo [n=niket@59.96.159.56] has quit []
12:05 < Gynvael> hmm, do not know yet how much slower ;> however I expect
that if I play with the optimising options of the compiler, it will get better
12:05 -!- Fish [n=Fish@78.238.225.114] has joined #go-nuts
12:05 < fcn> insane_coder, thank you!
12:05 -!- JeffJohnson [n=fho@unaffiliated/jeffjohnson] has joined #go-nuts
12:06 -!- dsop [i=dsp@87.118.104.77] has quit ["leaving"]
12:06 < red1> i wonder if this channel name "go-nuts" is merely some humour
or there is some purposeful meaning to it?
12:06 < amar> int-e: insane_coder : yeah , I am running Intel Core 2 Duo
T7300
12:07 -!- Fish-- [n=Fish@78.238.225.114] has quit [Read error: 131 (Connection
reset by peer)]
12:07 -!- A-Rishi [n=A-Rishi@203.212.210.213] has joined #go-nuts
12:07 < hector> how likely do y'all think that go will be ported to windows?
12:07 < insane_coder> amar: then that is an AMD64 arch.  If you have a 64
bit distro installed, you'll want the AMD64 dev packages
12:07 < SamHoi> most likely it will, I think
12:07 < frodenius> red1: meaning was not seen for at least 3 days
12:07 < hector> SamHoi: by whom?  google or outsiders?
12:07 < amar> insane_coder: how can i get that package on apt?
12:07 -!- seymour__ [i=mike@dsl-244-114-37.telkomadsl.co.za] has quit [Connection
reset by peer]
12:08 < insane_coder> amar: start with apt-get install build-essential
12:08 < amar> insane_coder: did it
12:08 < Associat0r> Gynvael try translate this to Go and see what
performance you get http://metamatix.org/~ocaml/price-of-abstraction.html
12:08 < GeDaMo> amar: when you type uname -m what do you get?
12:09 < jaxdahl> http://pastebin.com/m16e9109e
12:09 < red1> frodenius: well...  go-nuts is kinda simple short and
conveying a promise..  you can really be inventive?
12:09 -!- lotrpy [n=lotrpy@202.38.97.230] has quit []
12:09 < Gynvael> Associat0r: I'll play with it later ;>
12:09 < red1> rather american slang i would say..
12:09 < insane_coder> amar: try now.  If you have a problem, you may need to
apt-get install libc6-dev-amd64
12:09 < amar> GeDaMo: i686
12:09 < red1> cos nuts to others is just that..  a kind of plant
12:10 < frodenius> red1: it's a joke
12:10 < insane_coder> Although a 64 bit Debian distro will not have that
package
12:10 -!- Jan_Flanders [n=chatzill@d54C1E33B.access.telenet.be] has joined
#go-nuts
12:10 < red1> haha..  yeah i know..
12:10 < ikke> is there any way to pass a function as a parameter to another
function?
12:10 < red1> nuts = crazy...
12:10 < Associat0r> Gynvael I got the F# version to run at the same speed as
the C++ version
http://cs.hubfs.net/forums/permalink/6642/10759/ShowThread.aspx#10759
12:10 < GeDaMo> amar: then I would say you don't have a 64-bit OS installed
12:10 -!- brunov [n=bruno@190.191.110.64] has joined #go-nuts
12:10 < Associat0r> Gynvael including the abstraction
12:11 -!- Brakkvatn [n=alex@59.87.202.84.customer.cdi.no] has joined #go-nuts
12:11 < GeDaMo> amar: what do you have GOARCH set to?
12:11 < Gynvael> ;>
12:11 < Brakkvatn> Hey.  Where can I find SDL for Go?
12:11 < insane_coder> Brakkvatn: use FFI
12:11 < A-Rishi> Following the instructions on the go install page, I
reached to this step and got stuck: "hg clone -r release
https://go.googlecode.com/hg/ $GOROOT" , it stops saying 'applying file changes'
12:11 < amar> GeDaMo: yeah..that's what I am saying and my system is not a
64 bi8t system.  It's a 32 bit system.  Even Dell had given me a 32 bit Vista with
the laptop
12:11 < Brakkvatn> insane_coder: What is FFI?
12:12 < GeDaMo> FFI = Foreign Function Interface
12:12 < p0g0__> amar: you can use the 386 version.
12:12 < c_nick> p0g0__: natha@natha-nayak:~/go/src$ ./all.bash $GOBIN is not
a directory or does not exist create it or set $GOBIN differently
12:12 -!- hyn [n=hyn@p9302ab.tokyte00.ap.so-net.ne.jp] has joined #go-nuts
12:12 < jaxdahl> mkdir ~/bin
12:12 < GeDaMo> c_nick: mkdir $GOBIN
12:13 < p0g0__> c_nick: what jaxdahl said
12:13 < c_nick> where to make directory
12:13 < jaxdahl> what did you set $GOBIN to
12:13 < c_nick> just in normal /home/nathan
12:13 < Brakkvatn> GeDaMo: Where can I find documentation about FFI then?
12:13 < jaxdahl> just do mkdir $GOBIN
12:14 < c_nick> ok done
12:14 < GeDaMo> Brakkvatn: sorry, I have no idea
12:14 < amar> p0g0__: so again coming to my problem what should i do to
install go ? my error is here(in case u missed it) http://pastebin.com/m2b7ebdf1
12:14 < GeDaMo> amar: what do you have GOARCH set to?
12:14 < amar> GeDaMo: how to cehck my GOARCH?
12:14 < GeDaMo> echo $GOARCH
12:14 < Brakkvatn> insane_coder: Do you know where I can find some
documentation about FFI?
12:15 -!- A-Rishi [n=A-Rishi@203.212.210.213] has quit ["Leaving"]
12:15 -!- hyn [n=hyn@p9302ab.tokyte00.ap.so-net.ne.jp] has quit [Client Quit]
12:15 -!- hyn [n=hyn@p9302ab.tokyte00.ap.so-net.ne.jp] has joined #go-nuts
12:16 -!- hector [n=chatzill@client-86-0-126-58.nrth.adsl.virginmedia.com] has
quit ["ChatZilla 0.9.85 [Firefox 3.5.5/20091102152451]"]
12:16 -!- pkrumins [i=nhl@unaffiliated/pkrumins] has joined #go-nuts
12:16 < uriel> amar: I'm not sure you answered what your $GOARCH is set to
12:17 < uriel> again: set |grep '^GO'
12:17 < pkrumins> how much has plan9 influenced golang?
12:17 < amar> GeDaMo: amd64 :-o ..  I wsa never given a chance to set it
12:17 < pkrumins> i see references to 9's everywhere,
12:17 < GeDaMo> This much <--------------------------->
12:17 -!- insane_coder [n=nach@CBL217-132-121-178.bb.netvision.net.il] has quit
[Remote closed the connection]
12:17 < GeDaMo> amaryou had to set it, it's not done automatically
12:17 -!- Fish [n=Fish@78.238.225.114] has quit [Dead socket]
12:17 -!- insane_coder [n=nach@CBL217-132-121-178.bb.netvision.net.il] has joined
#go-nuts
12:17 -!- Fish [n=Fish@78.238.225.114] has joined #go-nuts
12:18 < GeDaMo> amar: did you edit .bashrc?
12:18 < musty_> GeDaMo, How does it feel, using pidgin to IRC ?
12:18 -!- nexneo [n=niket@59.96.159.56] has joined #go-nuts
12:18 < GeDaMo> How does it feel?  Squidgy :P
12:18 -!- hugh4life [n=hugh4lif@client-208-124-113-194.consolidated.net] has
joined #go-nuts
12:18 < pkrumins> pike, thompson and cox all praise plan9
12:19 < pkrumins> wondering what's so good in plan9
12:19 < uriel> amar: read the install instructions
12:19 < amar> GeDaMo: hey..just remembered....yeah..it was set amd64 ..
just changed it to i386......
12:19 < vegai> pkrumins: design, mostly.
12:19 < uriel> pkrumins: praise?  they wrote it
12:19 < GeDaMo> amar: I think it's just 386
12:19 < pkrumins> uriel, bad wording.
12:20 -!- Raziel2p` [n=Raziel2p@ti0032a380-dhcp0316.bb.online.no] has quit [Client
Quit]
12:20 < amar> uriel: yeah that was the mistake ..  i ahd set it to amd64 ( i
had done a copy paste without reading it
12:20 < uriel> this is the most hysterical I have read in a long time:
http://scienceblogs.com/goodmath/2009/11/googles_new_language_go.php#comment-2067954
(I almost die laughting)
12:20 < jaxdahl> amar, you want 386, not i386
12:20 < bzSmari> pkrumins, think about all the things that are odd about
Unix implementations.  Plan9 fixes a lot of them.  Look at sockets for example,
sockets are a bit of a bastard in Unix, they're hacked on post hoc without really
thinking about how they fit in with the scheme of things.
12:21 < uriel> bzSmari: sockets are a full son of a bitch bastard
12:21 < JBeshir> Oooh, is it funnier than "Python meets C++"?
12:21 < JBeshir> Because that was pretty funny.
12:21 * c_nick Compiled his First Go Program
12:21 < uriel> when I found go has dial/listen, I was overcome with joy
12:21 < uriel> JBeshir: yes, even funnier than that
12:21 < amar> jaxdahl: you mean i should write "export GOARCH=386" and not
"export GOARCH=i386"?
12:21 < pkrumins> bzSmari, oh yes.
12:22 < dsp_> uriel: ahahaha that is an awesome comment
12:22 < c_nick> $ 8g myfile.go $ 8l myfile.8 $ ./8.out hello, world
12:22 -!- Raziel2p [n=Raziel2p@ti0032a380-dhcp0316.bb.online.no] has joined
#go-nuts
12:22 < GeDaMo> amar: yes
12:22 -!- vasandgvd [n=vk@ppp-94-64-243-16.home.otenet.gr] has quit ["Ex-Chat"]
12:23 -!- f0r1z [n=f0r1z@87.117.3.97] has joined #go-nuts
12:23 < jaxdahl> are the tests run in ./all.bash supposed to all pass?
12:23 -!- the-baker [i=the-bake@blk-30-152-49.eastlink.ca] has joined #go-nuts
12:23 -!- alb [n=nil@unaffiliated/alb] has quit [Read error: 110 (Connection timed
out)]
12:23 -!- gander [n=gander@unaffiliated/gander] has quit [Connection timed out]
12:23 -!- akostrikov [n=user@95.58.67.152] has quit [Connection reset by peer]
12:24 < john6> guys, what's going on the naming problem?  Issue9 got the
most points?
12:24 < the-baker> win32 go compiler?
12:24 < JBeshir> the-baker: Outlook not so good.
12:25 < JBeshir> (No, there isn't one, not yet.)
12:25 < the-baker> Thanks.
12:25 < JBeshir> I find it kinda funny it removes exceptions when deferred
statements make them *relatively* simple and safe to code with them.
12:25 -!- gander [n=gander@unaffiliated/gander] has joined #go-nuts
12:25 -!- insane_coder [n=nach@CBL217-132-121-178.bb.netvision.net.il] has quit
[Read error: 54 (Connection reset by peer)]
12:25 -!- insane_coder [n=nach@CBL217-132-121-178.bb.netvision.net.il] has joined
#go-nuts
12:26 < amar> GeDaMo: jaxdahl: I have messed it up so how do I start all
over again?  I am trying to run "hg clone -r release https://go.googlecode.com/hg/
$GOROOT" but it says "go" directory is not empty
12:26 < jaxdahl> try hg pull -u
12:26 < JBeshir> amar: You could delete the go directory and all its
contents, and recreate it.
12:26 < JBeshir> That seems the sensible way to 'start over' entirely.
12:26 < jaxdahl> why do you feel you need to start over
12:27 < uriel> amar: rm -r $HOME/go
12:27 -!- aotto1968 [n=chatzill@p548D3114.dip.t-dialin.net] has joined #go-nuts
12:27 -!- red1 [n=red1@60.50.94.107] has quit []
12:27 < droid001> if somebody will try, here is my hack to get *gccgo*
compiled on ubuntu x86_64 :P http://pastebin.com/m3fe78788
12:27 < droid001> http://golang.org/doc/gccgo_install.html
12:28 < andguent> amar: try: cd $GOROOT; hg revert --all
12:28 < aotto1968> the presentation video was good
12:28 -!- Lorthirk [n=cm0901@109.114.17.142] has quit [Read error: 131 (Connection
reset by peer)]
12:28 < jaxdahl> any ideas how to diagnose the problem here
http://pastebin.com/m16e9109e ?
12:29 < GeDaMo> jaxdahl: ignore it
12:29 < jaxdahl> make fails
12:30 < GeDaMo> Only the tests fail, try the compiler
12:30 < jaxdahl> so you are saying the tests are broken
12:30 < GeDaMo> That one looks like it is to me
12:30 < amar> andguent: thanks..but i deleted bina nd go dir and now tring
to reinstall..if it fails i will try again as u said...
12:31 < Cantareus> jaxdahl: What OS are you using?
12:31 -!- depood [n=depood@chello080108055214.19.11.vie.surfer.at] has quit []
12:31 -!- depood [n=hidden@chello080108055214.19.11.vie.surfer.at] has joined
#go-nuts
12:32 < jaxdahl> Cantareus, centos
12:32 < jaxdahl> or rhel, something like that
12:33 < jaxdahl> GeDaMo, where does the gccgo compiler come from?
12:33 < GeDaMo> Er, the Internet?
12:33 < GeDaMo> Sorry, I have no idea
12:34 < insane_coder> jaxdahl: Google
12:34 < jaxdahl> does it not get built if the tests fail?
12:34 < jaxdahl> or is it separate from golang
12:34 < Cantareus> It still builds I think
12:34 < GeDaMo> Oh, it's separate
12:35 -!- defectiv [n=clays@c-24-5-65-40.hsd1.ca.comcast.net] has quit ["This
computer has gone to sleep"]
12:35 < Cantareus> Check your GOBIN directory
12:35 -!- Wiebe [n=Wiebe@5356AA0E.cable.casema.nl] has joined #go-nuts
12:35 < jaxdahl> does it get built under GOARCH=386 ?
12:35 < jaxdahl> or is it amd64 only
12:35 < jaxdahl> i have 8g, 8l, etc, but no gccgo
12:35 < GeDaMo> 8g is your compiler
12:36 < aotto1968> hello, the video presentation was good !
12:36 < GeDaMo> 8l is you linker
12:36 < xMDKx> gccgo is third party
12:37 < insane_coder> gccgo is made by the guy here going by the name iant
who works for Google
12:37 <+danderson> not really.  It's developed by iant on the go team, but
it's hosted elsewhere (in the gcc svn repository I believe)
12:37 -!- gander [n=gander@unaffiliated/gander] has quit ["Leaving"]
12:37 < droid001> http://gcc.gnu.org/viewcvs/branches/gccgo/
12:37 -!- plainhao [n=plainhao@mail.xbiotica.com] has quit []
12:37 < Cantareus> jaxdahl: you'll also want to make sure all your packages
are there.
12:38 -!- kill-9 [n=kill-9@cpe-65-24-145-70.columbus.res.rr.com] has joined
#go-nuts
12:38 < jaxdahl> where would they be
12:38 < pkrumins> what does gccgo do?
12:39 < GeDaMo> It's another go compiler built on top of gcc
12:39 < jaxdahl> pkrumins, it appears to be able to take linker output from
C and Go code and compile it
12:39 <+danderson> it's a different compiler for Go, which uses gcc as the
code generation backend.
12:39 -!- alb [n=nil@unaffiliated/alb] has joined #go-nuts
12:39 < pkrumins> ah.
12:39 <+danderson> currently it also has a less complete runtime (eg.  no
garbage collection), but a new common runtime should fix that at some point
soonish
12:40 < chops_tick> hey, can anyone give me some pointers about this error
message: "need type assertion to use interface { } as ..."
12:40 -!- AndrewBC [n=Andrew@97.93.242.12] has quit [Read error: 145 (Connection
timed out)]
12:40 -!- nihilis [n=nihilis@217.117.2.129] has joined #go-nuts
12:40 < jaxdahl> Cantareus: 'packages are there' -- define 'there'
12:40 < Cantareus> ~/go/pkg/linux_386
12:40 < chops_tick> it happens when trying to convert a type to an interface
it does not satisfy
12:41 < Wiebe> Hmm..  Didnt i read everything or does Go have no OOP ?
12:41 -!- Fish [n=Fish@78.238.225.114] has quit [No route to host]
12:41 < GeDaMo> Depends how you define OOP
12:41 < jaxdahl> they are there
12:41 < Cantareus> I think those and the compiler + linker are all you need?
12:41 < Wiebe> With classes and all..  :)
12:41 < GeDaMo> My understanding is that it has interfaces but no
inheritance
12:42 < vegai> well, nothing is an object
12:42 < vegai> right?
12:43 < pkrumins> just noticed how similar plan9 and go lang logos are!
12:43 < pkrumins> :)
12:43 -!- aotto1968 [n=chatzill@p548D3114.dip.t-dialin.net] has quit ["ChatZilla
0.9.85 [Firefox 3.5.4/2009101600]"]
12:43 -!- ajhager [n=ajhager@c-69-136-3-186.hsd1.in.comcast.net] has quit ["A way
a lone a last a loved a long the..."]
12:43 -!- beshrkayali [n=beshrkay@91.144.25.143] has joined #go-nuts
12:43 < Wiebe> http://golang.org/doc/effective_go.html#interfaces_and_types
<= Aah :)
12:44 < eekee> pkrumins: I looked at Go's logo & thought "gotta be Renee
French"
12:44 <+danderson> pkrumins: both drawn by the same artist
12:44 -!- cmarcelo [n=cmarcelo@200.184.118.130] has joined #go-nuts
12:44 <+danderson> Wiebe: Go is object oriented, but probably not in the way
that you meant.
12:44 < beshrkayali> hi guys...  when i hg the golang rep i'm getting a 403:
Forbidden error
12:44 <+danderson> read the docs for more information :)
12:45 < Wiebe> Yes i see danderson thanks :)
12:45 -!- albertito [n=nil@unaffiliated/alb] has quit [Read error: 60 (Operation
timed out)]
12:45 < Wiebe> I was thinking in the Python / PHP way of OOP..
12:45 < vegai> not even that much
12:46 < vegai> of the languages I know, it reminds me of Haskell's "OOP" the
most
12:46 <+danderson> vegai: that's because Go interfaces are very nearly
Haskell type classes.
12:46 < vegai> the interface inferring is quite nice
12:46 <+danderson> there are a couple of nuances, but they're close cousins
12:47 -!- the-baker [i=the-bake@blk-30-152-49.eastlink.ca] has quit []
12:47 < vegai> I haven't seen that anywhere.  *Is* it new?
12:47 < vegai> a new idea, I mean
12:47 < ptrb> Can one have multiple packages in the same .go file?
12:48 < ptrb> Specifically, including a main package in a library package
for testing purposes
12:48 <+danderson> vegai: the general idea is not completely new, other
languages in the past have had similar OO setups, and haskell has type classes
today
12:48 <+danderson> but the details of how the object model works are
probably "new"
12:49 < wollw> ptrb: that is what foo_test.go are for
12:49 < vegai> danderson: haskell either doesn't infer instances, though
12:49 < vegai> like go seems to
12:49 < ptrb> wollw: ah yes, I remember reading about that
12:49 < ptrb> thanks
12:50 <+danderson> vegai: right.  As I said, cousins, not identical concepts
12:50 < pkrumins> danderson, and who is the artist?  thompson?  :)
12:50 <+danderson> haskell also has default implementation for type class
functions, which Go doesn't have
12:50 -!- chiefpad [n=ph@CPE-124-181-142-157.vic.bigpond.net.au] has joined
#go-nuts
12:51 <+danderson> eg.  in the haskell type class Eq, == and /= are defined
in terms of each other
12:51 <+danderson> so each implementation of the type class need only
implement one of the two, and it gets the other "for free" if it doesn't need
fancy logic
12:51 -!- loureiro [n=loureiro@189.2.128.130] has joined #go-nuts
12:51 < pkrumins> foung it http://glenda.cat-v.org/
12:52 < pkrumins> what eekee said.
12:52 < jaxdahl> does ~/go/doc/progs/helloworld3.go compile for you guys?
(make a file called ./file)
12:52 <+danderson> my personal feeling is that automagic matching of
interfaces to objects is much cooler, but both languages are neat in my book.
12:54 < Associat0r> danderson I think Go's interfaces are closer to OCaml's
12:54 -!- ojm [n=ojm@85.77.237.184] has joined #go-nuts
12:54 < bzSmari> Has anybody tried the ebnf module yet?
12:54 <+danderson> Associat0r: ah, I can't comment on that, I don't have
enough ocaml-fu.
12:54 < Associat0r> danderson haskell doesn't have subtype polymorphism
12:54 <+danderson> I've heard that said though, now that you mention it.
12:55 < GeDaMo> jaxdahl: I think for that one you have to have compiled
file.go
12:55 < Associat0r> danderson with extensible records it would have subtype
polymorphism
12:55 -!- Wiz126 [n=Wiz@72.20.225.88] has quit [Read error: 110 (Connection timed
out)]
12:56 < madmoose> I was expecting the gopher to be called Glen instead of
Gordon.
12:56 < GeDaMo> jaxdahl: note compiled, not linked
12:56 < JBeshir> Hmm, as a random matter of interest, does Go optimise tail
recursion?
12:56 < tonfa> Associat0r: but in ocaml you can't have a function that works
with unrelated types, right?
12:56 < Associat0r> it's basically structural subtyping instead of
nominative
12:56 < JBeshir> (Well...  does the Go implementation, is it defined as
something implementations should do, etc)
12:57 < Associat0r> tonfa yes it's all implicit there
12:57 < JBeshir> (*Go implementations)
12:57 < eekee> Oh it's a gopher?  I thought it was a bit long for a hamster
12:57 -!- drusepth [n=drusepth@174.32.154.79] has joined #go-nuts
12:57 -!- jepler [n=jepler@emc/developer/jepler] has quit [Remote closed the
connection]
12:57 < Associat0r> tonfa you don't specify the interface you subtype from
12:58 < tonfa> then you have a hierarchy
12:58 -!- fcn [n=fehmican@wikimedia/fcn] has quit ["Ex-Chat"]
12:58 < madmoose> eekee: Gordon the gopher, but I was hoping for Glen to go
with Glenda :)
12:58 < tonfa> that you haven't in go
12:58 < Associat0r> tonfa that's why it's structural, nominative is like you
have to nominate something explicitly to be a subtype
12:58 < jaxdahl> that worked GeDaMo
12:58 < eekee> madmoose: I see :)
12:58 -!- chiefpad [n=ph@CPE-124-181-142-157.vic.bigpond.net.au] has quit [Remote
closed the connection]
12:58 < GeDaMo> jaxdahl: I think file.go is from the tutorial
12:59 < Associat0r> tonfa there is no hiearchy
12:59 < Associat0r> tonfa it's all inferred
12:59 < tonfa> ok
12:59 < Associat0r> tonfa that's a major difference in the OO of F# vs OCaml
13:01 < madmoose> eekee: http://golang.org/doc/gordon/
13:01 -!- raichoo [n=raichoo@lain.dhcp.uni-bielefeld.de] has quit []
13:01 -!- ajhager [n=ajhager@c-69-136-3-186.hsd1.in.comcast.net] has joined
#go-nuts
13:01 < eekee> madmoose: hehe ty
13:01 -!- musty_ [n=musty@unaffiliated/musty] has quit ["Leaving"]
13:01 -!- paraboul [n=para@local.weelya.com] has quit ["This computer has gone to
sleep"]
13:01 -!- nihilis [n=nihilis@217.117.2.129] has quit ["leaving"]
13:02 -!- jepler [n=jepler@dsl.unpythonic.net] has joined #go-nuts
13:02 -!- Cantareus [n=brendon@121-73-186-98.dsl.telstraclear.net] has quit
["Ex-Chat"]
13:02 < pkrumins> oh i see now who renee french is.
13:02 < amar> GeDaMo: jaxdahl: uriel : andguent : JBeshir : and all ...
thanks....sucessfully installed it..
13:02 < uriel> amar: congrats
13:04 < __gilles> erf :/
13:04 < __gilles> the use of bash and explicit `make` in the src makes it
hard to port :/
13:04 -!- x2cast [n=alvaro@235.127.222.87.dynamic.jazztel.es] has left #go-nuts []
13:05 -!- paraboul [n=para@local.weelya.com] has joined #go-nuts
13:05 -!- eek [n=eivind@213-155-151-233.customer.teliacarrier.com] has joined
#go-nuts
13:05 < __gilles> well not so much for bash
13:06 -!- weeegod [n=weeegod@187.39.148.176] has quit []
13:06 -!- Spetznaz [n=spetznaz@195.234.148.29] has joined #go-nuts
13:06 < uriel> the bash probably can be trivially rewritten (and should be),
I don't see why the makefiles should make it hard to port
13:07 * uriel wishes go used mk, but I'm sure rob and ken have some surprise
planned for a new build system ;)
13:07 < uriel> shameless plug: there is a reddit for Go stuff at
http://www.reddit.com/r/golang
13:08 < ptrb> uriel: your own creation?
13:08 -!- chops_tick [n=isilulis@adsl-211.ucnet.uoc.gr] has quit [Read error: 110
(Connection timed out)]
13:08 -!- savy [n=z@z.dark.sk] has joined #go-nuts
13:08 < amar> uriel: thanks....
13:08 < jaxdahl> isn't there an open issue in the tracker for makefile
portability (specifically the bash specific stuff)
13:09 -!- raichoo [n=raichoo@lain.dhcp.uni-bielefeld.de] has joined #go-nuts
13:09 < jaxdahl> and make vs gmake
13:09 < ptrb> jaxdahl: there was definitely a thread on the mailing list
about it
13:09 < __gilles> the issue with bash is that it is not always installed as
/bin/bash
13:10 < jaxdahl> http://code.google.com/p/go/issues/detail?id=97
13:10 < uriel> the issue with bash is that it is truly horrible
13:11 -!- amar [i=765f2999@gateway/web/freenode/x-wmxlnpvweufumgtk] has quit
["(thank you #go-nuts )"]
13:12 < ptrb> bash is sort of like democracy, it's a terrible form of
government, but all the alternatives are worse :)
13:12 < JBeshir> Except all the alternatives are much, much better.
13:12 -!- Lixivial [n=Lixi@71-10-86-62.dhcp.roch.mn.charter.com] has joined
#go-nuts
13:12 < __gilles> yeah but that put aside it's still an issue that it's
spread all over the place
13:12 < uriel> ptrb: wrong
13:12 < JBeshir> (As scripting goes)
13:12 < uriel> JBeshir: exactly
13:12 < eekee> csh is not better :]
13:12 < vegai> perl is not better!  :P
13:12 < uriel> eekee: ok, except csh and perl ;P
13:12 < JBeshir> Perl actually IS better than BASH
13:12 * vegai shudders
13:12 < uriel> JBeshir: you are right again, perl at least is funny, bash
isn't
13:12 < __gilles> since there are sed|@CC@|gcc anyway
13:12 < ptrb> if you're going to argue that, for example, zsh is better than
bash, then we're just going to have to agree to disagree because we clearly have
no common ground
13:12 < __gilles> it could have been patched somehow
13:13 < JBeshir> Python beats it by a distance which requires arbitrary
length numbers to record.
13:13 < uriel> anyway, if shell is the question, rc is the answer:
http://rc.cat-v.org
13:13 -!- Drakeson [n=user@69-196-172-71.dsl.teksavvy.com] has joined #go-nuts
13:13 < __gilles> lol, i started a shell war yeeaaah
13:13 < eekee> rc though..  ye gods why do shells even have trouble with
spaces in filenames?  there's no need for it :)
13:13 * uriel is considering a rewrite of rc in Go
13:13 < madmoose> Obviously the build system should be written in go.
13:13 < __gilles> what's the best editor for programming in Go ? emacs ? vi
?
13:13 < __gilles> :p
13:13 < eekee> hehe madmoose
13:13 < Metathink> is go will be as fast as C++ ?
13:13 -!- frozenmouse [i=722ccaf8@gateway/web/freenode/x-jewmjgnidebwyiju] has
quit ["Page closed"]
13:13 < uriel> __gilles: http://acme.cat-v.org (at least it is what rob and
russ use ;)
13:13 < pbunbun> __gilles: vim is ALWAYS the best editor
13:13 < uriel> I'm sure ken uses sam: http://sam.cat-v.org
13:13 < Snert> neat; almost finished porting to OpenBSD; everything compiles
and install, but the tests didn't start
13:14 < uriel> Snert: nice!
13:14 < __gilles> Snert !
13:14 < __gilles> that's what i was initiating
13:14 < __gilles> :p
13:14 -!- catron [n=beta@ip68-97-61-240.ok.ok.cox.net] has quit [Read error: 110
(Connection timed out)]
13:14 < __gilles> i can go back to slacking again then !
13:14 -!- GeDaMo [n=gedamo@212.225.108.57] has quit ["Leaving."]
13:14 < Snert> well maybe we can compare notes after
13:14 < eekee> Metathink: I was reading yesterday that it's nearly as fast.
of course this depends how you write your C++ and how much resources the target
machine has...
13:15 < Snert> I did the brain stupid port first, after which I'll probably
have to refine some of the things in libmach/openbsd.c
13:15 < Metathink> thank you eekee
13:15 < __gilles> Snert: well if your doing it, id rather not spend much
time duplicating your effort
13:15 < __gilles> im doing other stuff for openbsd :p
13:15 -!- jimmy_ [n=rodrigo@189.59.94.3] has quit [Read error: 113 (No route to
host)]
13:15 -!- nihilis [n=nihilis@217.117.2.129] has joined #go-nuts
13:15 -!- Irssi: #go-nuts: Total of 498 nicks [0 ops, 0 halfops, 2 voices, 496
normal]
13:15 -!- eduardoboss [n=boss@189.114.200.69.dynamic.adsl.gvt.net.br] has joined
#go-nuts
13:15 -!- nihilis [n=nihilis@217.117.2.129] has quit [Client Quit]
13:16 < Snert> well it has taken me about 3 hours to do the quick port
13:16 < __gilles> but ill volunteer to test
13:16 < Snert> not sure how well it works yet
13:16 -!- h4xOr [n=prudhvi@aldebaran.surapaneni.in] has joined #go-nuts
13:16 < __gilles> do you plan to make a port as in openbsd's port
terminology ?
13:16 < h4xOr> Hi, any plans on porting Golang to *BSD ?
13:16 < Snert> no; just going to make it build and run then submit the
changes back
13:17 -!- nihilis [n=nihilis@217.117.2.129] has joined #go-nuts
13:17 -!- Wiz126 [n=Wiz@72.20.223.242] has joined #go-nuts
13:17 < Snert> though I suppose i could make a package
13:17 -!- c_nick [n=nick@61.12.58.162] has quit [Read error: 113 (No route to
host)]
13:18 < maruel> Snert: please send small changes and not one code dump if
possible :)
13:18 < Snert> __gilles: have you done much with you own libmach/openbsd.c ?
13:18 -!- drry [n=drry@unaffiliated/drry] has joined #go-nuts
13:19 < __gilles> Snert: nope, i just checked out the src and did a few
changes in the shell scripts and makefiles here and there
13:19 < Snert> maruel: I know.
13:19 < __gilles> but i will scratch and come up with a patching script, it
will be simpler i guess
13:19 -!- jwnz [n=user@CPE001839f8e82b-CM0017ee6363de.cpe.net.cable.rogers.com]
has quit [Remote closed the connection]
13:20 -!- ojm [n=ojm@85.77.237.184] has quit ["Lost terminal"]
13:20 < Snert> __gilles: well I saved my copy under git and documented some
things I did;
13:21 < __gilles> care to share ?
13:21 < ptrb> When one uses the suggested Makefile, it sems like it can only
produce a library, and not an executable for eg.  a simple hello-world program.
Is there some make target I'm overlooking, to get a runnable binary?
13:21 < Snert> once I know it works; have to get the tests to run first
13:22 < Snert> so far i just have binaries that may or may not work
13:24 -!- cfq [n=cfq@94-194-98-91.zone8.bethere.co.uk] has quit [Read error: 60
(Operation timed out)]
13:25 -!- raichoo [n=raichoo@lain.dhcp.uni-bielefeld.de] has quit []
13:26 -!- pyfex [n=patrick@85-127-249-161.dynamic.xdsl-line.inode.at] has left
#go-nuts []
13:27 -!- ambackstrom [n=adam@sixohthree.com] has joined #go-nuts
13:28 -!- vdrab [n=vdrab@cap005-089.kcn.ne.jp] has joined #go-nuts
13:32 -!- hector [n=chatzill@client-86-0-126-58.nrth.adsl.virginmedia.com] has
joined #go-nuts
13:32 -!- drusepth [n=drusepth@174.32.154.79] has quit [Read error: 104
(Connection reset by peer)]
13:33 -!- bzSmari [n=spm@194-144-23-6.du.xdsl.is] has quit [Read error: 110
(Connection timed out)]
13:35 < jaxdahl> no ternary operator?
13:36 -!- albertito [n=nil@host142.190-139-219.telecom.net.ar] has joined #go-nuts
13:37 < __gilles> mh
13:37 -!- xMDKx [n=mdkcore@200.140.247.98] has quit []
13:37 < __gilles> snert
13:37 < __gilles> you made changes to src ?
13:37 < __gilles> i mean besides libmach
13:37 < level09> I dont know why but I have the feeling that golang website
is targeted towards linux users
13:37 < level09> XD
13:38 -!- ToRA [n=tora@ns2.wellquite.org] has quit [Remote closed the connection]
13:38 < Snert> yes; I'm going through the other missing pieces now
13:39 -!- xenon_karmic [n=xenon@122.166.152.184] has quit ["Leaving"]
13:39 < no_mind> level09, I think golang website is targeted towards system
programmers/users.  Most of which happen to be linux users too :)
13:39 < level09> XD so that's right
13:40 -!- wolfdart [n=wolfdart@200.131.139.2] has joined #go-nuts
13:40 -!- wolfdart_ [n=wolfdart@200.131.139.2] has joined #go-nuts
13:40 -!- wolfdart_ [n=wolfdart@200.131.139.2] has quit [Client Quit]
13:42 < Wiebe> Programming on Windows sucks imho :P
13:42 * Wiebe (L) Linux shell :)
13:42 < Wiebe> cmd @ windows is worthless..
13:43 < hyn> Anyone know how to integrate Go with Xcode?
13:44 < eekee> hyn: I've never needed to integrate stuff to build it on a
mac
13:44 < eekee> hyn: gotta make sure then you install xcode that building
from the command line is supported
13:44 -!- mesenga [n=cbacelar@189.105.8.44] has joined #go-nuts
13:45 < eekee> (it's a normally-off option)
13:45 -!- hugh4life [n=hugh4lif@client-208-124-113-194.consolidated.net] has left
#go-nuts ["Leaving"]
13:45 < hyn> Ok, I'll take a look.
13:45 -!- wolfdart [n=wolfdart@200.131.139.2] has quit ["Leaving"]
13:46 -!- paraboul [n=para@local.weelya.com] has quit ["This computer has gone to
sleep"]
13:46 < hyn> Can't seem to get Xcode to recognize go.pbfilespec and
go.xclangspec (found in misc/xcode/)
13:48 -!- paraboul [n=para@local.weelya.com] has joined #go-nuts
13:49 < level09> windows is essential if you want to develop for the
majority
13:49 < level09> its not like that I like it or anything XD
13:49 < level09> tho win7 is not THAT BAD
13:49 < level09> XD
13:51 < vegai> not essential
13:51 < ptrb> yeah i agree, Go is pretty clearly not targeted at Windows or
consumer apps
13:51 < SamHoi> not now, not yet
13:52 < brontide> if windows is your goal, just use .net...  problem solved
13:52 < droid001> you don't need a cool language for an dogged system ;)
13:52 -!- hanse [n=hanse@188-23-184-88.adsl.highway.telekom.at] has joined
#go-nuts
13:52 -!- x-ip [n=sakura@unaffiliated/x-ip] has joined #go-nuts
13:52 -!- osaunders [n=osaunder@89.240.201.38] has joined #go-nuts
13:52 < SamHoi> let just leave the politic aside
13:52 < SamHoi> we can't abandon windows users, right?
13:52 < x-ip> omg ...  seems this is getting popular ...
13:53 < droid001> why not ?
13:53 < hanse> if i try to install go I get the this error:
http://pastebin.com/d503eb07a
13:53 < ptrb> of course you can; they don't comprise even a significant
percentage of Go's target audience
13:53 < SamHoi> hmm, then who are Go's target audiences?
13:53 < SamHoi> because I haven't read about that in the FAQ yet :P
13:54 < ptrb> systems programmers
13:54 < SamHoi> note that I use linux, but I want everyone to be able to use
Go
13:54 < tetha> I'd say that not supporting windows implies difficulties with
some professional use (as they could be tied to windows via windows-only
software).  If this is not the target audience right now, it is correct that
windows can be disregarded until they become an audience
13:54 < __gilles> Snert: how much have you done in libmach/openbsd.c ?
13:54 -!- alb_ [n=nil@host54.190-30-6.telecom.net.ar] has joined #go-nuts
13:54 -!- alb [n=nil@unaffiliated/alb] has quit [Read error: 110 (Connection timed
out)]
13:54 -!- dRiZzle [n=dRizzle@77.221.236.236] has quit ["Leaving"]
13:55 < syd> even if windows is overlooked natively, cygwin should still be
an option.
13:55 < Snert> mine should be complete
13:55 -!- Jayp1981 [n=chatzill@pool-71-176-56-115.nrflva.east.verizon.net] has
joined #go-nuts
13:55 -!- Nemesis][ [i=nemesis2@nemesis2.qx.net] has joined #go-nuts
13:55 < eekee> is cygwin any acceptable solution?
13:55 < eekee> hehe
13:55 < alus> no :O
13:55 < Snert> just filling in the other os specific gaps in other places
13:55 < eekee> doh
13:55 < osaunders> Can you compile programs that run in windows?
13:55 < SamHoi> well, since Go is open source software, someone will port it
to windows soon
13:55 < syd> let me rephrase that question, is cygwin a better option than
nothing
13:55 < syd> :)
13:55 < ptrb> this has all been hashed out on the mailing list, in any case
13:55 < alus> cygwin is like buying an animated picture frame which says
"go" on it
13:56 -!- ambackstrom [n=adam@sixohthree.com] has left #go-nuts []
13:56 < eekee> ouch!
13:56 < jaxdahl> what is the golang equivalent of for(x=y=0;...
13:56 < syd> it's as much a real environment as any other in my opinion
13:56 < syd> not that you asked for it
13:56 < syd> :)
13:57 < syd> not that I'd want to deploy anything on it...
13:57 < syd> but I wouldn't want to deploy anything on windows
13:57 -!- tarekkk [n=tarek@41.98.77.116] has joined #go-nuts
13:58 < alus> I do!  there are lots of those user things there
13:58 -!- aslakransby [n=aslakran@80.199.116.190.static.peytz.dk] has left
#go-nuts []
13:58 -!- spm_ [n=spm@tgad63.rhi.hi.is] has joined #go-nuts
13:58 * eekee chuckles.  "No comment here until I've used cygwin extensively"
13:58 < ptrb> Go is not a langauge designed to build user-facing apps
13:58 < ptrb> this seems pretty obvious to me
13:59 < ptrb> (though it could easily be used to do that)
13:59 < frodenius> ? why not?
13:59 < JBeshir> Seems like it definitely has a lot of applications on that
level.
13:59 -!- alt^255 [n=k@85.88.27.205] has left #go-nuts []
13:59 < JBeshir> I mean, they wrote a HTTPD in it.
13:59 -!- yungyuc [n=yungyuc@unaffiliated/yungyuc] has left #go-nuts []
13:59 -!- HunterCool [i=hunter@210.80.143.64.mel.sisgroup.net.au] has joined
#go-nuts
13:59 < eekee> httpd is almost as far from user-facing as you can get
13:59 < ptrb> the impetus i get out of the design docs is that they want to
use it to drive client/server machine traffic in their backend
13:59 < alus> ptrb: sure, but user facing apps do need to be fast and easy
to write.
14:00 < syd> generally I wouldn't consider a httpd as user facing
14:00 < frodenius> eekee: what?
14:00 < maruel> eekee: that's not my vision :)
14:00 -!- f0r1z [n=f0r1z@87.117.3.97] has quit ["--quit--"]
14:00 -!- nihilis [n=nihilis@217.117.2.129] has quit ["SIGINT"]
14:00 -!- albertito [n=nil@unaffiliated/alb] has quit [Read error: 60 (Operation
timed out)]
14:00 < frodenius> http is /the/ common language that all web users
understand
14:00 < ptrb> alus: of course, and with proper 3rd-party support like UI
toolkits, Go could get there -- but -- my point is it was clearly not designed to
service that market
14:00 < maruel> exactly
14:00 < frodenius> 404, 302 etc
14:00 -!- nexneo [n=niket@59.96.159.56] has left #go-nuts []
14:01 < JBeshir> Fair enough, but godoc and HTML generation definitely is
userfacing.
14:01 < syd> qt seems to be getting pushed to just about everything now.
14:01 < eekee> maruel JBeshir frodenius: you're getting the supply of
'pages' to another computer mixed up with the apps those 'pages' sometimes
comprise
14:01 < syd> goQT could be interesting
14:01 < maruel> eekee: is javascript user facing?
14:01 < alus> ptrb: why is immaturity in library support an indication of
design goals?
14:01 < JBeshir> My point with the HTTPD thing was that it was good for
complex (but not essentially vast) applications; sticking an interface on it
doesn't really affect the appropriateness of the language for the role, IMO.
14:02 < alus> syd: boo QT. yay native.
14:02 -!- m-takagi_ is now known as m-takagi
14:02 < eekee> maruel: it's often used directly to build user interfaces, is
it not?
14:02 < Kniht> alus: what?
14:02 < ptrb> alus: immaturity isn't -- but the support that exists in the
language today indicates the designers' (at least initial) concerns
14:02 < syd> native..what?  :)
14:02 < syd> and where
14:03 < alus> Kniht: native interface APIs are great.  no toolkit I've ever
used has been as easy and flexible to make a real UI
14:03 < Kniht> alus: in other words, "I want to use something other than Qt,
therefore I must use something other than Qt."?
14:03 < saati> alus: native interfaces are by definition not portable
14:03 < saati> Qt runs on everything that has a gui
14:03 < alus> ptrb: sure.  I think their concerns are well-placed too.  I
don't want a new UI system, just some hooks to call the existing API.
14:03 < alus> Kniht: basically
14:04 < alus> saati: turns out portability is not as valuable as good UI
14:04 -!- Axman6 [n=Axman6@pdpc/supporter/student/Axman6] has joined #go-nuts
14:04 -!- ishmael [n=marcoant@189.98.60.251] has joined #go-nuts
14:04 < JBeshir> Qt is fine if you hate your users
14:04 < Kniht> alus: I don't see the sense in that, you're assuming the
proposition instead of making a coherent argument
14:04 < syd> yes, but *what* existing api?  for win32/darwin I can see the
merit
14:04 -!- dRiZzle [n=dRizzle@77.221.236.236] has joined #go-nuts
14:04 < Axman6> goodness me, hell of a lot of people here
14:04 < saati> alus: my whole ui is qt
14:04 < alus> Kniht: well I'm not sure what you want me to say.
14:04 < Kniht> alus: (though I agree I'm not a fan of Qt, but for other
reasons :P)
14:04 < ptrb> alus: fine and fair enough.  my point is only that "an awesome
___ app for windows" was clearly not anywhere on the go designers' list
14:04 < Kniht> alus: syd's points are relevant.  for one, how do you know Qt
*isn't* native here?
14:04 < alus> ptrb: but they hit suprisingly close to the mark!
14:04 -!- ericmoritz\0 is now known as Guest44334
14:05 < JBeshir> ptrb: I'd note previous Google projects approaches to
portability.
14:05 -!- cshrpusr [i=5746f241@gateway/web/freenode/x-omxlijbbogbgbrqk] has joined
#go-nuts
14:05 < osaunders> Go is a general purpose programming language.  It *can*
be used for most anything.
14:05 -!- chachan [n=chachan@ccscliente156.ifxnetworks.net.ve] has joined #go-nuts
14:05 < alus> Kniht: if you have a native Qt system and there are any of my
users there, I might consider writing an interface to support you guys
14:05 -!- magglass1 [n=notroot@unaffiliated/magglass1] has joined #go-nuts
14:05 < JBeshir> (Nameably, it seems to tend to be "build for one, then make
cross-platform")
14:05 < eekee> Tk might just be more portable than Qt
14:05 < cshrpusr> is there an article talking about the planned IBM garbage
collector planned to be used in future versions of G ?
14:05 < cshrpusr> GO
14:06 < alus> cshrpusr: http://www.research.ibm.com/people/d/dfb/papers.html
14:06 < cshrpusr> does GO have already some IDE support ? how about planned
GUI framework ?
14:06 -!- GoNoGo_ [n=penalva@pc115.pallas.cines.fr] has joined #go-nuts
14:07 < cshrpusr> is there a list of planned future builtin packages ?
14:07 -!- red1 [n=red1@115.83.48.60.klj04-home.tm.net.my] has joined #go-nuts
14:07 < ptrb> cshrpusr: no, and no, and no
14:07 -!- Jayp1981 is now known as Jayp1981_AFK
14:07 < SamHoi> lol?
14:07 < eekee> IMHO a good GUI interface isn't a solved problem so you may
just as well let people write the interfaces you like
14:07 < eekee> *SIGH*
14:07 -!- ericmoritz\0 [n=eric@67-207-143-216.slicehost.net] has joined #go-nuts
14:07 -!- seymour [i=mike@dsl-244-114-37.telkomadsl.co.za] has joined #go-nuts
14:07 < alus> cshrpusr: check back in about 10 years?  ;)
14:07 -!- Cameron [n=Cameron@203.217.12.139] has joined #go-nuts
14:08 < Cameron> Go sure does
14:08 * alus swings the reality stick
14:08 -!- ineol [n=hal@mar75-9-88-171-191-168.fbx.proxad.net] has joined #go-nuts
14:08 < cshrpusr> alus: 10 years ? .net was faster
14:08 < cshrpusr> and microsoft snatches less experts then these people :)
14:09 < tetha> cshrpusr: who knows, maybe microsoft is faster just because
of that
14:09 < alus> but .NET is only those things.  C# was faster, but C# was
largely based on Java...
14:09 -!- plainhao [n=plainhao@mail.xbiotica.com] has joined #go-nuts
14:09 < eekee> commercially owned systems tend to come up faster, but have
more serious faults.  That's the impression I get.  Also they tend to be targetted
at people who want Solutions NOW...
14:09 < cshrpusr> dunno, c# seems like a very good experience
14:09 -!- Norgg [n=norgg@norgg.org] has joined #go-nuts
14:09 < eekee> Java was a lie
14:10 -!- weeegod [n=weeegod@187.39.148.176] has joined #go-nuts
14:10 < cshrpusr> ofc it's not for everyione
14:10 < cshrpusr> where can i read about go reflection capabilities ? is it
readonly?
14:10 < alus> cshrpusr: I don't think that's really relevant here.  which
team is going to stop working on C and start working on go?
14:10 < cshrpusr> also the runtime is compiled in the binary, or it's an
external lib dependency ?
14:10 < cshrpusr> alus: it's problem finding people ? hire all the gcc
people, like apple did with llvm :)
14:11 < ptrb> cshrpusr: you can answer all of your own questions at
http://golang.org
14:11 < cshrpusr> where are the days people would answer on IRC instead of
linking to URLs :)
14:11 -!- delza [n=delza@d66-183-63-49.bchsia.telus.net] has joined #go-nuts
14:11 -!- level09 [n=chatzill@80.227.125.119] has quit [Read error: 110
(Connection timed out)]
14:11 < saati> cshrpusr: why would you waste others time with questions you
can look up
14:12 < melba> lazy bastard
14:12 < ptrb> cshrpusr: i'm not certain those days ever existed
14:12 -!- rogue [n=quassel@75-145-199-97-Richmond.hfc.comcastbusiness.net] has
quit [Remote closed the connection]
14:12 < cshrpusr> rofl
14:12 < cshrpusr> ptrb: 15 years ago it was like that :)
14:12 < Cameron> are there plans on adding removal support to vector ?
14:12 -!- gcopenhaver [n=greg@c-68-43-205-148.hsd1.mi.comcast.net] has joined
#go-nuts
14:12 < tetha> those days probably died 500 users earlier
14:12 < alus> cshrpusr: I've seen quite a few READMEs these days which only
contain a URL
14:13 < alus> that makes version control quite hilarious
14:13 -!- annodomini [n=lambda@c-75-69-96-104.hsd1.nh.comcast.net] has joined
#go-nuts
14:13 -!- triplez [n=triplez@cm52.sigma225.maxonline.com.sg] has joined #go-nuts
14:13 < eekee> cshrpusr: find a sufficiently relaxed community and it can be
like that today.  Try Source Mage Linux for an example
14:14 < cshrpusr> don't see anything about reflection cpaabilities on site
14:14 < osaunders> I think they should have called gccgo, gccgc.
14:14 < saati> http://golang.org/pkg/reflect/
14:14 < osaunders> Would have been fun.
14:14 < saati> cshrpusr: ^^
14:15 * Axman6 would have preferred gocc
14:15 < Axman6> or goc
14:15 < Zaba> ggoc
14:15 -!- dRiZzle [n=dRizzle@77.221.236.236] has quit ["Leaving"]
14:15 < Axman6> g = Google?
14:16 < eekee> lol
14:16 -!- shambler_ [n=sil@213.184.241.199] has joined #go-nuts
14:16 < cshrpusr> what about the runtime ? is it a lib or compiled into each
binary ?
14:16 < Norgg> gnugle
14:17 -!- MyNick_ [n=rakd@219.117.252.7.static.zoot.jp] has joined #go-nuts
14:17 < MyNick_> hi
14:17 < eekee> Norgg: augh no XD
14:17 -!- MyNick_ is now known as rakd
14:17 * Axman6 gnugles Norgg
14:17 < cshrpusr> can't find info not he site regarding that
14:17 -!- hector [n=chatzill@client-86-0-126-58.nrth.adsl.virginmedia.com] has
quit ["ChatZilla 0.9.85 [Firefox 3.5.5/20091102152451]"]
14:18 < Snert> __gilles: its going to take a little longer than planned
14:18 -!- seymour [i=mike@dsl-244-114-37.telkomadsl.co.za] has quit [Operation
timed out]
14:19 -!- NotDigital [n=sdyoung@vt220.org] has joined #go-nuts
14:19 -!- visionjinx [n=visionji@114.49.220-216.q9.net] has left #go-nuts []
14:20 -!- beshrkayali [n=beshrkay@91.144.25.143] has quit [Read error: 110
(Connection timed out)]
14:20 < Boohbah> cshrpusr:
http://golang.org/doc/go_faq.html#How_is_the_runtime_implemented
14:21 -!- osaunders [n=osaunder@89.240.201.38] has quit ["Bye"]
14:21 -!- Jayp1981_AFK is now known as Jayp1981
14:21 -!- kill-9 [n=kill-9@cpe-65-24-145-70.columbus.res.rr.com] has quit [Read
error: 104 (Connection reset by peer)]
14:23 -!- cyberwiz [n=mitashki@Bolt.marketxs.com] has quit [Remote closed the
connection]
14:23 -!- cyberwiz [n=mitashki@Bolt.marketxs.com] has joined #go-nuts
14:24 < cshrpusr> i see, so thats sorta like what obj-c does
14:24 -!- mwarning [n=mwarning@ip-78-94-226-217.unitymediagroup.de] has joined
#go-nuts
14:24 -!- mwarning [n=mwarning@ip-78-94-226-217.unitymediagroup.de] has left
#go-nuts ["Leaving"]
14:24 -!- Juul_ [n=Juul@h55eb1609.dkkoost.sta.perspektivbredband.net] has joined
#go-nuts
14:24 -!- Xnybre [n=Xnybre@int.xnybre.dk] has joined #go-nuts
14:25 < cshrpusr>
http://en.wikipedia.org/wiki/Limbo_programming_language#Examples <-- this looks
allot like GO
14:25 -!- spm_ is now known as bzSmari
14:26 -!- dRiZzle [n=dRizzle@77.221.236.236] has joined #go-nuts
14:26 < UKRep547> how do I write an e-mule compatible KAD network server in
go?
14:26 * UKRep547 grins cheekily
14:26 < ribo> with programming!
14:26 < cshrpusr> what is programming ?
14:26 -!- clajo04_ [n=clajo04_@74.72.55.57] has joined #go-nuts
14:27 < alus> UKRep547: pish.  BitTorrent!
14:27 < UKRep547> ah cshrpusr that's something for all of us to ponder as we
sit in meditation..  what IS programming.  Hmmmmm
14:27 < bzSmari> UKRep547, c'mon, that's a oneliner.  :D
14:27 < __gilles> Snert: here too ;-)
14:27 -!- Jayp1981 is now known as Jayp1981_AFK
14:27 < Zaba> cshrpusr, creating a sequence of instructions to enable the
computer to do something
14:27 < __gilles> Snert: it's kind of trickier than what i assumed and being
at work i cant spend too much time on it today :-)
14:27 < cshrpusr> i decided that the thing i like most about this project is
that it was released in an experimntal stage
14:27 < UKRep547> bzSmari, you mean I can write it in one GO? hehehe
14:27 -!- seymour [i=mike@dsl-244-114-37.telkomadsl.co.za] has joined #go-nuts
14:28 -!- hiromtz [n=irchon@pw126245059178.5.tik.panda-world.ne.jp] has joined
#go-nuts
14:28 -!- mwarning [n=mwarning@ip-78-94-226-217.unitymediagroup.de] has joined
#go-nuts
14:30 -!- trutkin [n=trutkin@64.1.25.210.ptr.us.xo.net] has joined #go-nuts
14:30 -!- Jayp1981_AFK is now known as Jayp1981
14:30 < mesenga> hi
14:30 < cshrpusr> the reflection support seems very limited compared to
lagnuagesl ike c#
14:31 -!- hiromtz [n=irchon@pw126245059178.5.tik.panda-world.ne.jp] has quit
[Client Quit]
14:32 < UKRep547> reflection??
14:32 -!- annodomini [n=lambda@wikipedia/lambda] has quit []
14:32 < UKRep547> cshrpusr, just cat <source> |sort -r
14:32 -!- aaront [n=aaront@d24-141-25-171.home.cgocable.net] has joined #go-nuts
14:32 -!- AndrewBC [n=Andrew@97.93.242.12] has joined #go-nuts
14:32 < Zaba> UKRep547, useless use of cat
14:32 -!- kill-9 [n=kill-9@cpe-65-24-145-70.columbus.res.rr.com] has joined
#go-nuts
14:33 -!- harryv [n=harry@vangberg.name] has left #go-nuts []
14:33 -!- cankoy [n=cankoy@94.54.16.217] has quit ["<-"]
14:33 -!- skmidry [n=deekay@59.92.148.95] has quit [Read error: 110 (Connection
timed out)]
14:33 < cshrpusr> he wanted to demonstrate the goroutine concept as well
14:33 < mesenga> i'm trying to configure go on ubuntu . (acctually i don`t
have experiencie wit linux), and had a little problem when i typed
../gccgo/configure --enable-languages=c,c++,g
14:33 < cshrpusr> pastebin the problem ?
14:33 -!- shambler [n=sil@213.184.241.199] has quit [Read error: 110 (Connection
timed out)]
14:33 -!- skmidry [n=deekay@59.96.130.171] has joined #go-nuts
14:33 < mesenga> commnd not found
14:34 < Snert> __gilles: I think they could have done better in the area of
portability; Mac, Lnux, OpenBSD conform to POSIX so, it should have been possible
to make most of the packages portable.
14:34 -!- nexneo [n=niket@115.108.175.41] has joined #go-nuts
14:34 -!- paraboul [n=para@local.weelya.com] has quit ["This computer has gone to
sleep"]
14:34 -!- ArekZB [n=ArekZB@76-10-138-81.dsl.teksavvy.com] has joined #go-nuts
14:35 < tonfa> mesenga: you're probably not in the right directory
14:35 < cshrpusr> Snert: this is an exerpimental release, give it time
14:35 < cshrpusr> it will even work on windows in the end :)
14:35 < SamHoi> cshrpusr: sure, it is open source
14:36 < bogen> hello.go:3: fatal error: can't find import: fmt
14:36 -!- impeachgod [n=impeachg@195.80.231.65] has quit []
14:36 < cshrpusr> just d/l a VM machine with go pre-compiled :)
14:36 < SamHoi> bogen: check your environment var?
14:37 < mesenga> tonfa: i`m trying to do using this tutorial:
http://golang.org/doc/gccgo_install.html
14:37 < SamHoi> env | grep '^GO'
14:37 < SamHoi> stolen from someone above
14:37 -!- rminnich_ [n=rminnich@32.97.110.63] has joined #go-nuts
14:37 < bogen> SamHoi: yeah, I got past that: source
/etc/profile.d/go-lang.sh
14:37 < Snert> cshrpusr: i've noticed, but even when I wrote my SMTP proxy
filter, it could build on any POSIX system and Windows native; mind you i've built
up my portablity library over the years
14:37 < mesenga> i did all steps
14:37 -!- mennis [n=mennis@adsl-068-016-104-079.sip.asm.bellsouth.net] has joined
#go-nuts
14:37 -!- paraboul [n=para@local.weelya.com] has joined #go-nuts
14:37 < bogen> SamHoi: works no
14:37 < bogen> works now
14:37 < __gilles> Snert: there's stuff that lower level here
14:37 < __gilles> i see ptrace() calls
14:38 -!- albertito [n=nil@unaffiliated/alb] has joined #go-nuts
14:38 < __gilles> and register names
14:38 -!- Jayp1981 is now known as Jayp1981_AFK
14:38 < Juul_> the spoonerism of this channel's name is no-guts
14:38 < Snert> __gilles: I took the libmach linux version can converted it
to openbsd ptrace
14:38 < __gilles> i just overlooked as i got caught into something else
14:38 < __gilles> yeah the ptrace call probable
14:38 < __gilles> but the fact that there's stuff called LinuxThread
14:39 < __gilles> and structs containing register names
14:39 -!- nuvem [n=nu@CPE0019b92225c9-CM00195edd2c24.cpe.net.cable.rogers.com] has
joined #go-nuts
14:39 -!- Jayp1981_AFK is now known as Jayp1981
14:39 < Snert> __gilles: their LinuxThread is internal structure to Go
14:39 < __gilles> oh
14:39 < __gilles> i need to look at it anyway, i just overlooked it
14:40 < Snert> the register names and such still map onto the OBSD ptrace ;
maybe not as many regs, but it is doable
14:40 < __gilles> i thought Darwin was closer than Linux, but apparently im
wrong :p
14:40 < __gilles> yeah the register names will map but the real question was
what does it do with them ?
14:40 < __gilles> if it's to retrieve args to functions or something like
that
14:40 -!- erik__ [n=erik@rrcs-71-42-227-214.sw.biz.rr.com] has joined #go-nuts
14:40 < __gilles> it's not going to work
14:40 < Snert> i compared the two implementations and thought the linux
version using ptrace was easier to port
14:40 -!- exclipy [n=exclipy@233.135.70.115.static.exetel.com.au] has left
#go-nuts []
14:41 < Snert> i suppose it has its own debugger
14:41 < mesenga> tonfa, i found the error, tks
14:41 < bogen> cgo -o hello hello.go
14:41 < bogen> cannot find import "C"
14:41 < bogen> cannot parse gcc output _cgo_.o as ELF or Mach-O object
14:41 -!- singh [i=8984fa0d@gateway/web/freenode/x-gjfgfrhjcmsqcdwu] has joined
#go-nuts
14:41 < UKRep547> good question Snert re debugging
14:41 < __gilles> what are you building on ?
14:41 < __gilles> OpenBSD/i386 ?
14:41 < Snert> yes
14:41 < __gilles> 'k
14:42 < __gilles> on amd64 there's a compilation breakage because of a long
that should be a time_t
14:42 < Snert> older distro though (my file server and dev box)
14:42 -!- Pee [n=paulho@17-82-ftth.onsneteindhoven.nl] has quit ["2.8.2-EPIC3.004
-- just do it."]
14:42 < bogen> hmmm, ok, got to run, I'll look more this later, looks, Go
looks cool though, even though I can't get Go to work yet
14:42 -!- singh [i=8984fa0d@gateway/web/freenode/x-gjfgfrhjcmsqcdwu] has left
#go-nuts []
14:42 -!- bogen [n=bogen@cpe-76-186-22-145.tx.res.rr.com] has left #go-nuts []
14:42 < mesenga> tonfa, my keyboard is unconfigured :x i on`t know how to
use the linux yet.
14:43 < Snert> __gilles: make sure to use time_t because on 64-bit
platforms, time_t is often long long
14:43 < __gilles> yeah
14:43 < __gilles> i fixed it
14:43 < Snert> i got bit by that at one time
14:43 < __gilles> arg, got to get back to work ...
14:43 -!- ScriptDevil [n=scriptde@122.174.73.151] has joined #go-nuts
14:43 < __gilles> catch you later
14:44 < __gilles> will you be here ?
14:44 < Snert> __gilles: ya, you can only have so much fun while you work
14:44 < __gilles> i mean, in the next few days ?
14:44 < Snert> i think so
14:44 < __gilles> 'k
14:44 < Snert> i work from home
14:44 < __gilles> ok good
14:44 < rmt> Hmm, 3 google engineers choose a name for a programming
language that's both somewhat hard to google, and is already taken by another
programming language..  to implement a systems programming language in a similar
vain to another system's programming language, which they don't mention anywhere
(D)..  I think the 20% project aspect shines through.  :-) But I love to see it
happen anyway.
14:44 < __gilles> lucky :-)
14:44 -!- Jayp1981 is now known as Jayp1981_AFK
14:44 < Snert> and tend to be online most of the time,
14:45 < Snert> that's what comes from being a self-employ software author
14:45 -!- nekschot [i=nekschot@82.171.143.27] has quit []
14:45 < __gilles> im trying to become one
14:45 < UKRep547> rmt yeah a different name would be good; could be a mix of
"Go" for Google and "D" for the successor to C. How would you mix "Go" and "D"
into a language name?
14:45 < __gilles> im quitting my job in a month to start a new one that
gives me more time to prepare for freelance ;-)
14:46 -!- tuples_ [i=55006f4d@gateway/web/freenode/x-nevezkeyhpipiyfg] has joined
#go-nuts
14:46 * rmt grins at UKRep547 :-)
14:46 < SamHoi> DoG?
14:46 < tuples_> To go from "[]uint8" to "string" I can use string([]uint8),
how does the other way work?
14:46 < Zaba> it should've been called 'good'.  Although that'd probably a
bit too arrogant.
14:46 < UKRep547> What about GOoD?
14:46 < ScriptDevil> Zaba: lame
14:46 < UKRep547> snap Zaba
14:47 < SamHoi> go-ogle
14:47 < Snert> __gilles: well I had already built up a large product base
before I went solo
14:47 < SamHoi> wait, they have that alread
14:47 < rmt> The []string syntax makes me think it's actually April 1...
wonder if that's when it all started.
14:47 < Cameron> why not just 'google c'
14:47 < UKRep547> Java was successful with 4 letters, what about Godo
14:47 < UKRep547> oooor like Dojo, but Dogo!
14:47 -!- hiromtz [n=irchon@pw126248126094.8.tss.panda-world.ne.jp] has joined
#go-nuts
14:47 < Zaba> UKRep547, dotcoms were successful with e-...  what about Ego?
14:47 < UKRep547> yes, I'm calling it Dogo now
14:47 < ScriptDevil> Are we the naming authority?  Well.  I think it is up
to Russ, Pile, Ian and co
14:47 < Norgg> Cameron: 'cause it's not C?
14:47 < __gilles> im hoping my work at openbsd will bring some customers ;-)
14:47 < __gilles> its kind of a resume
14:47 < Cameron> nor is objective c
14:48 -!- coliv [n=Coliveir@173.12.30.65] has joined #go-nuts
14:48 -!- hiromtz [n=irchon@pw126248126094.8.tss.panda-world.ne.jp] has quit
[Client Quit]
14:48 < ScriptDevil> s/Pile/Pile
14:48 < ScriptDevil> s/Pile/Pike
14:48 * UKRep547 goes and registers dogo.com
14:48 < ScriptDevil> I hate this laptop keyboard :-(
14:48 < UKRep547> darn, it's taken already
14:48 < UKRep547> ScriptDevil, ASUS?
14:49 < Cameron> how about 'google func'
14:49 < UKRep547> Cameron, go-fu?  gofu language?
14:49 < Zaba> what about foofle?
14:49 -!- cax_ [n=cax@124-148-169-9.dyn.iinet.net.au] has joined #go-nuts
14:49 -!- Tak [n=nnnnnnnn@cpe-24-160-108-174.tampabay.res.rr.com] has left
#go-nuts ["Leaving"]
14:49 < __gilles> anyway, back to work
14:49 < ScriptDevil> UKRep547: Nope.  Acer.  It a great keyboard.  Flat and
stylish.  Typing on it needs you to have a straight palm.
14:49 < UKRep547> or goru - cause it is based on "goroutines"
14:49 -!- brrant [n=John@65-102-225-252.hlrn.qwest.net] has joined #go-nuts
14:49 < ScriptDevil> UKRep547: Goof :P
14:50 < ScriptDevil> Guru
14:50 -!- vongodric [n=albeva@79-74-159-4.dynamic.dsl.as9105.com] has joined
#go-nuts
14:50 < Cameron> google lang
14:50 < UKRep547> ScriptDevil, I have 2 ASUS laptops and they suck.  If you
go anywhere near your touch pad the keyboard won't respond to key presses
14:50 < ScriptDevil> Never mind.  Lets keep this naming off topic.
14:50 -!- imbrandon [n=brandon@ubuntu/member/imbrandon] has quit [Read error: 104
(Connection reset by peer)]
14:50 < rmt> goolang!
14:50 < tuples_> To go from "[]uint8" to "string" I can use string(str
[]uint8), how does the other way work?  Anyone knows?
14:50 < ScriptDevil> Do it in #go-nuts-ot
14:50 -!- kayo [i=c9090089@gateway/web/freenode/x-qjzkcdsxixkojhpw] has joined
#go-nuts
14:50 -!- imbrandon [n=brandon@ubuntu/member/imbrandon] has joined #go-nuts
14:51 < ScriptDevil> tuples_: I was thinking of that too.  Just loop around
:)
14:51 -!- rhc [n=matt@qnan.org] has joined #go-nuts
14:51 < Cameron> how is it off topic ?
14:51 < UKRep547> ScriptDevil, I think it's on topic, because if you
"Google" for the language name you won't get far with "Go".  "Gofu" or "Goru" or
"Dogo" or something similar would be a lot more helpful for developers.  Ever
tried to search for a C job on a programming website?  Most search engines will
return any job with the letter c in any word!
14:51 < tuples_> ScriptDevil: Ew
14:51 -!- wcr [n=wcr@unaffiliated/warcrime] has joined #go-nuts
14:51 -!- ishmael [n=marcoant@189.98.60.251] has quit ["Leaving."]
14:52 < ScriptDevil> Cameron: UKRep547 We are *NOT* the naming authority.
They did the language.  Kudos to them.  They get the right to name it
14:52 < Cameron> google should just generate a GUID and use that as the
language name - that's not too extreme right ?
14:52 < UKRep547> ScriptDevil, and Goru translates into Japanese, too: "ゴル"
14:52 -!- pkrumins [i=nhl@unaffiliated/pkrumins] has left #go-nuts []
14:52 < UKRep547> Cameron, love it.
14:53 < ScriptDevil> Cameron: acolonf6 is a great name.  Was a great SNL :P
14:53 -!- coliv [n=Coliveir@173.12.30.65] has left #go-nuts []
14:53 < ScriptDevil> UKRep547: Sounds evil.  Like Goro of Mortal Kombat
14:53 < ScriptDevil> BinGo :P Play on the term that it produces binaries
14:53 < tuples_> ScriptDevil: strings.NewReader("hello").Read(c); ...  haha
14:53 -!- aaront [n=aaront@unaffiliated/aaront] has quit ["And that's all he
wrote..."]
14:53 < tuples_> reads "hello" into c.
14:54 < ScriptDevil> tuples_: Neat :)
14:54 < tuples_> kiiiind of.
14:54 -!- bzSmari [n=spm@tgad63.rhi.hi.is] has quit [Success]
14:54 < tuples_> why is there no documentation on byte(), string(), int()?
14:55 < ScriptDevil> tuples_: You have the source :P
14:55 -!- Wiz126 [n=Wiz@72.20.223.242] has quit [Read error: 110 (Connection timed
out)]
14:55 < tuples_> ah I'm silly.  string.Bytes() ...  does the same...
14:55 < ScriptDevil> tuples_: And yeah.  I second having a toy REPL for Go
:) It would help stuff liek this
14:56 < olegfink> tuples_: http://golang.org/doc/go_spec.html#Conversions ?
14:56 -!- alb_ [n=nil@host54.190-30-6.telecom.net.ar] has quit [Read error: 110
(Connection timed out)]
14:56 < tuples_> olegfink: I see.  thanks
14:56 < ScriptDevil> I am not able to keep up with this mailing list.  It
has new 100 threads every 6 hours
14:57 < Cameron> is TCP listener thread safe ?
14:57 < SamHoi> wow
14:57 -!- exxe [n=asdf@62.93.117.105] has joined #go-nuts
14:58 < ScriptDevil> SamHoi: Astounded at the 500+ people in a 3 day old
language's channel?
14:58 * ScriptDevil is happy Anslem Garbe is doing Go. We are sure to find
Suckless Go now.
14:59 -!- xal [n=tobi@CPE001e527d7ab0-CM001bd71325c0.cpe.net.cable.rogers.com] has
joined #go-nuts
14:59 -!- tarek__ [n=tarek@41.98.77.116] has joined #go-nuts
14:59 < ScriptDevil> garbeam: Write a book on Suckless Go. Please!  Your
code is an inspiration for me.  DWM, dmenu...  The best :)
15:01 < Juul_> can go channels be used to communicate over a network?  or
only on the same computer?
15:02 < Cameron> Juul_, only in the same runtime
15:02 -!- gokoon [n=gokoon@stp25-1-82-225-19-48.fbx.proxad.net] has joined
#go-nuts
15:02 -!- Phantm_ [n=Phantm@rpi-wl-626.dynamic.rpi.edu] has joined #go-nuts
15:02 < Juul_> Cameron, ok thanks
15:02 < Cameron> Juul_, for networking, see the rpc package
15:02 < Cameron> Juul_, as one example
15:02 -!- niekie [i=quasselc@dreamworld.bergnetworks.com] has joined #go-nuts
15:03 < ScriptDevil> Cameron: I think breaking the networking using
transparent channels would add clutter, but would be a good research project.
15:03 -!- Jan_Flanders [n=chatzill@d54C1E33B.access.telenet.be] has quit [Read
error: 104 (Connection reset by peer)]
15:03 < Cameron> ScriptDevil, yeah, I think so too
15:03 -!- Jayp1981_AFK is now known as Jayp1981
15:03 -!- dsal [n=Adium@147.sub-70-212-141.myvzw.com] has joined #go-nuts
15:05 -!- Jan_Flanders [n=chatzill@d54C1E33B.access.telenet.be] has joined
#go-nuts
15:06 < Cameron> it would be nice if select could work on a []chan
15:06 < gokoon> Is there already something to use o3d with go ?
15:07 < gokoon> or is o3d dedicated to js ?
15:07 -!- ahf [i=ahf@irssi/staff/ahf] has quit [Client Quit]
15:07 < jaxdahl> hmmmm..  string i/o seems to be really really slow
15:07 -!- ahf [i=ahf@irssi/staff/ahf] has joined #go-nuts
15:07 < Vanadium> Cameron: Would you pass an array of cases?
15:09 < UKRep547> is there a default test suite harness for writing go
libraries?
15:10 -!- kayo [i=c9090089@gateway/web/freenode/x-qjzkcdsxixkojhpw] has left
#go-nuts []
15:10 -!- nuvm [n=nu@CPE0019b92225c9-CM00195edd2c24.cpe.net.cable.rogers.com] has
quit [Connection timed out]
15:10 -!- PhantmShado [n=Phantm@cpe-74-70-29-98.nycap.res.rr.com] has quit [Read
error: 110 (Connection timed out)]
15:10 < Drakeson> is there any alternative syntax for Go?
15:11 -!- Guest44334 [n=ericmori@c-76-123-248-214.hsd1.tn.comcast.net] has quit
[Read error: 110 (Connection timed out)]
15:11 < UKRep547> Drakeson, it's called Ho.
15:11 -!- tarekkk [n=tarek@41.98.77.116] has quit [Read error: 110 (Connection
timed out)]
15:11 < Cameron> Vanadium, http://pastebin.com/m4411cfc9
15:11 < garbeam> ScriptDevil: I considered that as an extra income ;)
15:12 < Drakeson> UKRep547: do you have a link?
15:12 -!- zero-x [n=c80eed42@gateway/web/cgi-irc/irc.wikia.com/x-pgzwhkbbyojfngef]
has joined #go-nuts
15:12 < zero-x> buenas
15:12 < Cameron> Vanadium, would be handy for writing a server where there
is a messaging channel form each connected client
15:12 -!- Latexxx_ [i=hahnel@mozart.cc.tut.fi] has quit [Read error: 60 (Operation
timed out)]
15:12 < Vanadium> Cameron: I think the idea is that you spawn a goroutine
for every connected client.
15:12 < ScriptDevil> Drakeson: He was kidding.  Write it in your style and
use gofmt
15:12 < ScriptDevil> Drakeson: But.  The syntax remains
15:13 -!- xal [n=tobi@CPE001e527d7ab0-CM001bd71325c0.cpe.net.cable.rogers.com] has
quit []
15:13 -!- vdrab [n=vdrab@cap005-089.kcn.ne.jp] has quit []
15:13 < Cameron> Vanadium, yeah, but using select means the processing of
the selected object can occur on the same thread, otherwise you need to use sync
15:13 -!- mog [n=mog@c-68-62-169-247.hsd1.al.comcast.net] has quit [Read error:
110 (Connection timed out)]
15:13 -!- Xnybre [n=Xnybre@int.xnybre.dk] has left #go-nuts []
15:14 < Vanadium> more threads make it faster anyway
15:14 < Drakeson> ScriptDevil: I am looking for an alternative *syntax*, but
something that parses to the same AST.
15:14 -!- wgl [n=wgl@216.145.227.9] has joined #go-nuts
15:14 -!- SamHoi [n=toor@222.252.112.204] has left #go-nuts []
15:15 -!- SamHoi [n=toor@222.252.112.204] has joined #go-nuts
15:15 < ScriptDevil> Drakeson: It does not exist.
15:15 -!- HunterCool [i=hunter@210.80.143.64.mel.sisgroup.net.au] has left
#go-nuts []
15:15 < Drakeson> is the parsing tree accessible in Gc or Gccgo?
15:15 < ScriptDevil> Drakeson: Anyway.  Why not this syntax?  It feels fine
as we write more code ;)
15:16 -!- dRiZzle [n=dRizzle@77.221.236.236] has quit ["Leaving"]
15:16 -!- magewhopper [n=magemage@Wikipedia/Mage-Whopper] has quit ["This computer
has gone to sleep"]
15:16 < Cameron> is there an equivalent of instanceof (from java) in go ?
15:17 -!- Jayp1981 [n=chatzill@pool-71-176-56-115.nrflva.east.verizon.net] has
quit ["ChatZilla 0.9.85 [Firefox 3.5.5/20091102152451]"]
15:17 < insane_coder> Cameron: I'm scratching my head trying to think of a
reason why you would need such a function in Go
15:17 < garbeam> Go's syntax is a little bit odd in the beginning for a C
programmer, but the more code I read in pkg the more I like it
15:17 < int-e> Cameron: the type cast returns two values.  the second one is
a bool saying whether the cast succeeded.
15:18 < Cameron> int-e, aah
15:18 < Cameron> int-e, nice
15:18 -!- JeffJohnson [n=fho@unaffiliated/jeffjohnson] has quit [Read error: 104
(Connection reset by peer)]
15:18 -!- JeffJohnson [n=fho@2001:6f8:1c00:cb:0:0:0:2] has joined #go-nuts
15:18 < Drakeson> ScriptDevil: to begin with, is there any macro system for
the current syntax?
15:19 < Drakeson> (a search for macro in golang.org returns nothing)
15:19 < ScriptDevil> Drakeson: I am not a developer of Go.
15:19 -!- andresambrois [n=aa@r190-135-222-119.dialup.adsl.anteldata.net.uy] has
joined #go-nuts
15:19 < ScriptDevil> But I dont think so.
15:19 < Cameron> int-e, nice
15:20 < ScriptDevil> Cameron: You are repeating yourself :P
15:20 < Cameron> ScriptDevil, whoops
15:20 -!- MX80 [n=MX80@cust92.177.113.38.dsl.g3telecom.net] has joined #go-nuts
15:20 -!- tarek__ is now known as tarek
15:20 -!- tarek is now known as tarekkkk
15:20 < Drakeson> I am afraid it sounds hard to develop a (reasonable) macro
system for the current syntax.
15:20 -!- tarekkkk is now known as tarekkk
15:20 < Cameron> insane_coder, so that I can use make(chan interface{}) and
then identify the types sent via the chan
15:20 -!- sea-gull [n=sea-gull@95-28-43-249.broadband.corbina.ru] has joined
#go-nuts
15:21 < Cameron> insane_coder, one alternative could be to use : type
Command interface { commandType() int; }
15:21 < Cameron> insane_coder, then create structs for each type of command
with a different commandType int
15:22 -!- ifoo [n=ifoo@h-237-142.A193.priv.bahnhof.se] has joined #go-nuts
15:22 < jaxdahl> why is printf 100 times slower in go than in c
15:22 -!- impeachgod [n=impeachg@96-173-133-95.pool.ukrtel.net] has joined
#go-nuts
15:23 -!- hanse [n=hanse@188-23-184-88.adsl.highway.telekom.at] has left #go-nuts
["Verlassend"]
15:23 < ScriptDevil> jaxdahl: How does os.Stdout.WriteString compare?
15:23 < JBeshir> I only want a macro system so implementing polyglots lacks
any challenge at all.
15:24 < JBeshir> ScriptDevil: Is that the canonical way to do non-printf
output?
15:24 -!- x2cast1 [n=alvaro@72.127.222.87.dynamic.jazztel.es] has joined #go-nuts
15:24 -!- x2cast1 [n=alvaro@72.127.222.87.dynamic.jazztel.es] has left #go-nuts []
15:24 < jb55> Cameron: I assume your looking for reflect.Typeof() ?
15:24 < jaxdahl> about 10-15 times slower than C, ScriptDevil
15:25 -!- decriptor [n=decripto@137.65.132.18] has joined #go-nuts
15:25 < JBeshir> Hello World using printf annoyed me, because everything
called "printf" is the right way to do what its namesake did, but the right way to
do plain, fast and clean I/O is less consistent.
15:25 < Cameron> jb55, I can use : x, ok := o.(X)
15:25 -!- hensonsturg [n=henson@68-119-32-060.dhcp.spbg.sc.charter.com] has quit
["Leaving"]
15:25 -!- GeDaMo [n=gedamo@212.225.108.57] has joined #go-nuts
15:26 -!- zerofluid [n=zeroflui@68.227.10.141] has quit [Read error: 145
(Connection timed out)]
15:26 -!- eduardoboss [n=boss@189.114.200.69.dynamic.adsl.gvt.net.br] has quit []
15:26 -!- tonyg [n=tonyg@host238.lshift.net] has joined #go-nuts
15:27 -!- SamHoi is now known as Repentance
15:27 < ScriptDevil> JBeshir: Things will improve, (I hope)!
15:28 -!- Spetznaz [n=spetznaz@195.234.148.29] has quit [Client Quit]
15:30 < Cameron> i've come to Go from the land of java, and I havn't ever
done c programming..  so, I don't really understand when to use pointers and when
to use values
15:30 < JBeshir> Hmm, the rules are different in Go to C
15:30 -!- MattCampbell [n=matt@75.19.73.109] has joined #go-nuts
15:30 -!- weeegod [n=weeegod@187.39.148.176] has quit []
15:31 -!- kcwu [i=fakeidkc@kcwu.csie.org] has joined #go-nuts
15:31 < JBeshir> C pointers are dangerous things in a way, so whenever
you're passing them around you need a memory management/pointer validity plan.
15:31 < JBeshir> Go could probably safely use pointers everywhere.
15:31 < alus> pointer validity plan?
15:31 < alus> don't screw up :P
15:31 < MattCampbell> Would Go be a good language for desktop applications?
Or is it mainly intended for server apps?
15:32 -!- alt^255 [n=k@85.88.27.205] has joined #go-nuts
15:32 < MattCampbell> Never mind, just remembered there's a NaCl port.
15:32 < JBeshir> MattCampbell: I think it looks good for most substantial
development, personally, but you'd need more bindings for things than exist right
now.
15:32 < JBeshir> Or not.
15:32 < Boohbah> MattCampbell: we need some more libraries first
15:32 < JBeshir> alus: Hehe, basically.
15:33 < Norgg> Are there any examples of playing with pkg/exp/draw around
yet?
15:33 < JBeshir> Yeah, coming from C is a bit weird, because I can't decide
when using pointers is good or bad in this right now, haha.
15:34 < JBeshir> Slices make them redundant for strings, in general...
15:34 < JBeshir> (I love slices)
15:34 -!- MattCampbell [n=matt@75.19.73.109] has quit [Client Quit]
15:34 < Cameron> JBeshir, so, I could probably just use * everwhere ?
15:34 -!- brothers [n=brothers@38.126.129.222] has joined #go-nuts
15:34 < Norgg> There's Pointer in unsafe if you need it.
15:34 < JBeshir> Norgg: I don't.
15:34 < Norgg> For the most part I like that they've avoided them.
15:34 -!- jeng [n=chatzill@75.110.231.66] has joined #go-nuts
15:34 < JBeshir> Norgg: They exist everywhere, and outside "unsafe"
15:34 -!- ctimmerm [n=ctimmerm@83.150.80.193] has joined #go-nuts
15:35 < JBeshir> The Pointer in unsafe is a "special" one that allows stuff
that regular pointers in Go don't.
15:35 -!- chid [n=dorl@c122-106-95-175.rivrw1.nsw.optusnet.com.au] has quit
["NIGHT!"]
15:35 < JBeshir> (Like conversion to a uint-something)
15:35 < Norgg> Well, it allows pointer arithmetic, not just references.
15:35 < JBeshir> (And back, allowing pointer arithmetic)
15:35 -!- andresambrois [n=aa@r190-135-222-119.dialup.adsl.anteldata.net.uy] has
quit [Remote closed the connection]
15:35 -!- laurin [n=lek@host245-241.excalibur.tvcconnect.net] has joined #go-nuts
15:36 < JBeshir> Right, but they're still called pointers without the
arithmetic; by the language and in general.  I think.
15:36 -!- mmartin [n=maxi@87.216.160.123] has joined #go-nuts
15:36 < Norgg> Yeah, I'd prefer if they were just called references though,
would avoid the confusion.
15:36 < JBeshir> Which confusion?
15:36 < JBeshir> I don't think it has references.
15:37 < Cameron> if I pass a struct value to a function, does it get coppied
?
15:37 < JBeshir> Yes.
15:37 < Smari> The EBNF parser module ("ebnf") supports loading and
verifying a grammar, but doesn't seem to be able to actually parse input according
to the grammar.  Am I misunderstanding something or is this simply not implemented
yet?
15:37 < jaxdahl> what would the equivalent of printf("%d",5) be in
WriteString?
15:37 < Cameron> where as passing a pointer allows the function to mutate
the 'original' ?
15:37 < alus> is that copy, or copy on write?
15:37 -!- alt^255 [n=k@85.88.27.205] has left #go-nuts []
15:38 < JBeshir> jaxdahl: WriteString(string(5)), or WriteString(Iota(5))
15:38 < JBeshir> I don't know which.
15:38 < jaxdahl> looking at Iota
15:38 -!- hnaz [n=hannes@85.214.51.133] has joined #go-nuts
15:38 < JBeshir> As a *general* rule, there's not equivalents for everything
in WriteString.
15:38 < jaxdahl> what pkg is Iota in
15:38 < JBeshir> strconv, I *think*
15:38 -!- ivanwong [n=quassel@cm218-253-157-27.hkcable.com.hk] has joined #go-nuts
15:39 < JBeshir> WriteString looks to be "plain" I/O, while Printf is for
complex formated I/O, if they follow the typical pattern (not at all guaranteed
with Go)
15:39 < JBeshir> So for jobs actually calling for formatting multiple things
into a string, Printf might be the right tool, while WriteString is useful to just
output a damn string.
15:39 -!- inetava [n=ava@80.64.175.72.sta.211.ru] has joined #go-nuts
15:40 -!- delza [n=delza@d66-183-63-49.bchsia.telus.net] has quit []
15:42 < jaxdahl> test.go:5: imported and not used: strconv ..  test.go:11:
undefined: Itoa
15:42 < jaxdahl> that's weird
15:42 -!- nexneo [n=niket@115.108.175.41] has quit []
15:42 -!- Plest [n=efedin@91.192.150.1] has joined #go-nuts
15:43 -!- zero-x [n=c80eed42@gateway/web/cgi-irc/irc.wikia.com/x-pgzwhkbbyojfngef]
has left #go-nuts []
15:44 < JBeshir> jaxdahl: The syntax is strconv.Itoa()
15:44 < JBeshir> Similar to fmt.Printf()
15:44 -!- mmartin [n=maxi@87.216.160.123] has left #go-nuts []
15:45 -!- philcrissman [n=philcris@174-20-188-170.mpls.qwest.net] has joined
#go-nuts
15:45 < Cameron> how come "y:=func() {}; go y();" runs, but "go func(){};"
gives a syntax error ?
15:45 < tarekkk> Iota or Itoa ?
15:45 < UKRep547> JBeshir, technically java uses pointers too.
15:46 < jaxdahl> Itoa is not the same thing as iota
15:46 < JBeshir> UKRep547: I know little Java, not hugely concerned about
its featureset for the context of this.
15:46 < JBeshir> tarekkk: The latter.
15:46 < UKRep547> JBeshir, just saying, a lot of other languages use
pointers in disguise.
15:46 * UKRep547 loves pointer arithmetic..  mmmm
15:46 -!- maxi_ [n=maxi@87.216.160.123] has joined #go-nuts
15:47 -!- teedex [n=teedex@204.14.155.161] has joined #go-nuts
15:47 < Cameron> UKRep547, JBeshir
http://javadude.com/articles/passbyvalue.htm
15:47 < JBeshir> Those last three words could make an awesome feature movie,
UKRep547
15:47 < Cameron> Java is Pass-by-Value, Dammit :)
15:47 < tarekkk> ahahaha
15:47 < jaxdahl> changing from Printf to Stdout.WriteString made my
mandelbrot program run about 3 times faster
15:47 -!- limec0c0nut [n=michael@c-24-12-53-42.hsd1.il.comcast.net] has joined
#go-nuts
15:48 < Cameron> but lets not get into a debate :)
15:48 < Cameron> i'm just trying to understand how Go goes
15:48 < UKRep547> Cameron, yes, passing pointers by value..  so?
15:48 < JBeshir> jaxdahl: Really?  Nice.
15:48 -!- hipe [n=markmeve@pool-74-108-83-4.nycmny.east.verizon.net] has joined
#go-nuts
15:48 -!- impeachgod_ [n=impeachg@96-173-133-95.pool.ukrtel.net] has joined
#go-nuts
15:48 -!- dsal [n=Adium@147.sub-70-212-141.myvzw.com] has quit ["Leaving."]
15:48 < JBeshir> That's very bad in a "finished" library, but makes sense if
it's really not optimised yet.
15:48 < UKRep547> to be honest references is one thing I hated in C++
15:48 -!- maxi_ [n=maxi@87.216.160.123] has quit [Client Quit]
15:48 < JBeshir> (i.e.  Printf doesn't check if it's got no format
specifiers to handle or something)
15:49 -!- eduardoboss [n=boss@189.114.200.69.dynamic.adsl.gvt.net.br] has joined
#go-nuts
15:49 < UKRep547> confusing & (reference) with & (address-of) was ridiculous
and unnecessary.  Stupid.
15:49 -!- cax_ [n=cax@124-148-169-9.dyn.iinet.net.au] has quit []
15:49 < jaxdahl> the C version is another 3 times faster than my current go
version, not bad
15:49 < JBeshir> That's pretty bad
15:49 -!- maxi_ [n=maxi@87.216.160.123] has joined #go-nuts
15:49 -!- aimxhaisse [n=rannou_s@ks356253.kimsufi.com] has joined #go-nuts
15:49 < JBeshir> Go's supposedly much faster than that; I want to figure
where the slowdown is.  Probably just in the unoptimised runtime?
15:49 < Cameron> can more than one goroutine read from / write to a socket
at a time ?
15:50 < jaxdahl> lemme see how much of it is due to printing
15:50 < JBeshir> Cameron: A single socket?  Seriously doubt it.
15:50 -!- ScriptDevil [n=scriptde@122.174.73.151] has quit ["leaving"]
15:50 < Smari> Cameron, If it is possible, it might lead to race conditions.
15:50 < Cameron> there's no mention of 'goroutine safety' in any of the docs
for net
15:51 < JBeshir> Cameron: There is for maps, and only those.
15:51 < Cameron> so, should I use locks then ?
15:51 < jaxdahl> C version spends about 25% of user time printing
15:51 < JBeshir> Cameron: Generally, however, when things don't say they're
safe to access that way, I assume they're not.
15:51 < JBeshir> Cameron: Probably.
15:52 -!- dsal [n=Adium@2.sub-70-212-243.myvzw.com] has joined #go-nuts
15:52 < jaxdahl> GO version spends roughly 66% of its time printing
15:52 < JBeshir> Might want to wait until you get an answer from someone who
knows rather than is guessing, though.
15:52 < jaxdahl> and is 2x slower than the C version w/o printing
15:52 < JBeshir> That's *closer*.
15:52 < JBeshir> Does it do anything else external?
15:52 < jaxdahl> no
15:53 -!- annodomini [n=lambda@130.189.179.215] has joined #go-nuts
15:53 < JBeshir> I mean, in terms of packages/functions other than basic
maths and string ops?
15:53 -!- red1 [n=red1@115.83.48.60.klj04-home.tm.net.my] has quit [Read error:
104 (Connection reset by peer)]
15:53 -!- dchest [n=dchest@81.5.81.249] has joined #go-nuts
15:53 < Cameron> what about reading and writing from the same
bufio.ReadWriter in different goroutines
15:53 < JBeshir> It's good to get some idea how perfomrnace changed there,
though.
15:53 < dchest> hi all.  so, I made a command-line Twitter client in Go:
http://codingrobots.org/p/gotweet/.  K thx bye
15:53 -!- Wiz126 [n=Wiz@72.20.223.242] has joined #go-nuts
15:54 < JBeshir> Cameron: The aanswer for maps is "have a goroutine own it,
and respond to requests to do stuff"
15:54 -!- devewm [n=eric@96.36.85.2] has quit []
15:54 -!- aimxhaisse [n=rannou_s@ks356253.kimsufi.com] has left #go-nuts []
15:54 < JBeshir> Cameron: If it's not safe and needs some locking setup,
that might have the same one, maybe.  (speculation)
15:54 -!- dchest [n=dchest@81.5.81.249] has quit [Client Quit]
15:54 -!- jimmy_ [n=rodrigo@189.59.94.3] has joined #go-nuts
15:55 -!- smooge [n=smooge@int.smoogespace.com] has quit ["-ENOBRAIN"]
15:55 < Cameron> JBeshir, thanks
15:55 -!- srspencer [n=srs@akira.umd.edu] has joined #go-nuts
15:56 -!- oleganza [n=oleganza@pro75-5-88-162-202-183.fbx.proxad.net] has joined
#go-nuts
15:56 -!- oleganza [n=oleganza@pro75-5-88-162-202-183.fbx.proxad.net] has left
#go-nuts []
15:57 -!- oleganza [n=oleganza@pro75-5-88-162-202-183.fbx.proxad.net] has joined
#go-nuts
15:57 -!- ceh [n=ceh@celsius.it.uu.se] has left #go-nuts []
15:57 -!- laurin [n=lek@host245-241.excalibur.tvcconnect.net] has left #go-nuts []
15:59 -!- Ioneye [n=ioneye@unaffiliated/ioneye] has joined #go-nuts
15:59 -!- red1 [n=red1@166.64.49.60.klj04-home.tm.net.my] has joined #go-nuts
15:59 -!- alt^255 [n=k@85.88.27.205] has joined #go-nuts
15:59 -!- GoNoGo_ [n=penalva@pc115.pallas.cines.fr] has quit [Client Quit]
16:00 -!- jshriver [n=jshriver@cblmdm24-53-165-86.buckeyecom.net] has quit [Remote
closed the connection]
16:00 -!- Repentance is now known as RepentanceX2
16:00 -!- oleganza [n=oleganza@pro75-5-88-162-202-183.fbx.proxad.net] has left
#go-nuts []
16:00 -!- kayo [i=c9090089@gateway/web/freenode/x-qjzkcdsxixkojhpw] has joined
#go-nuts
16:00 -!- harryv [n=harry@vangberg.name] has joined #go-nuts
16:02 < harryv> hm.  no bsd support?
16:02 < JBeshir> Not yet.
16:02 < JBeshir> Some are working on it.
16:02 < harryv> good :)
16:02 -!- Venom_X [n=pjacobs@cpe-67-9-131-167.austin.res.rr.com] has joined
#go-nuts
16:02 -!- Wiz126 [n=Wiz@72.20.223.242] has quit [Read error: 60 (Operation timed
out)]
16:03 < dho> I'm working on FreeBSD
16:03 -!- ianto [n=chris@pdpc/supporter/student/ianto] has quit ["Lost terminal"]
16:03 < dho> the libmach stuff is sufficiently different from P9P that I
need to re-read what it's doing.
16:03 -!- Thorn [n=thorn@unaffiliated/thorn] has joined #go-nuts
16:03 < dho> Probably wouldn't hurt to get some pointers on what it's doing
on Linux, and I'd really like to use a different facility than ptrace(2) since
that sucks balls on FreeBSD
16:03 < andguent> dho: hey do.  whats up?  havent heard from you in a while
16:03 -!- offby1 [n=user@q-static-138-125.avvanta.com] has joined #go-nuts
16:03 < dho> been busy
16:03 < dho> lots of work at work :)
16:03 < andguent> dho even
16:03 -!- impeachgod [n=impeachg@96-173-133-95.pool.ukrtel.net] has quit
[Connection timed out]
16:03 < andguent> sry
16:04 < dho> np :)
16:04 < dho> how've you bene
16:04 < dho> s/ene/een/
16:04 -!- mike_storm [n=michael@c-24-12-53-42.hsd1.il.comcast.net] has joined
#go-nuts
16:05 < Metathink> Hi, is there a french community project ?
16:05 -!- Kopaczka [n=Kopaczka@host8514106134.wnue.3s.pl] has joined #go-nuts
16:05 -!- gcopenhaver [n=greg@c-68-43-205-148.hsd1.mi.comcast.net] has quit
["Leaving."]
16:06 -!- devewm [n=eric@erc-avl-ptp62.net.ercbroadband.org] has joined #go-nuts
16:06 < Kopaczka>
http://www.dobreprogramy.pl/Go-nowy-jezyk-programowania-od-Google,Aktualnosc,15297.html
16:06 -!- sm [n=sm@cpe-76-173-194-242.socal.res.rr.com] has joined #go-nuts
16:07 -!- connerk [n=connerk@cpe-069-134-147-205.nc.res.rr.com] has joined
#go-nuts
16:07 -!- bbeck [n=bbeck@dxr-fw.dxr.siu.edu] has joined #go-nuts
16:07 < mwarning> iant, may I ask if there is a strategy involving Go and
NaCl?  I see that things that may fit together.
16:07 < mwarning> s/that//
16:08 -!- Plest [n=efedin@91.192.150.1] has left #go-nuts []
16:08 -!- gcopenhaver [n=greg@c-68-43-205-148.hsd1.mi.comcast.net] has joined
#go-nuts
16:08 -!- jeff__ [n=jeff@nat/google/x-fgtlwjkyaelawbmw] has quit ["Leaving"]
16:09 < jaxdahl> Z := fmt.Sprintf("foo%d",5); is this incorrect use of
Sprintf ?
16:09 -!- cold-penguin [n=ben@92.8.42.199] has joined #go-nuts
16:09 -!- Necrathex [n=bleptop@212-123-163-12.ip.telfort.nl] has joined #go-nuts
16:11 -!- limec0c0nut [n=michael@c-24-12-53-42.hsd1.il.comcast.net] has quit [Read
error: 110 (Connection timed out)]
16:11 -!- Kopaczka [n=Kopaczka@host8514106134.wnue.3s.pl] has left #go-nuts
["Leaving"]
16:12 -!- sleepdragon [n=user@123.118.1.243] has joined #go-nuts
16:12 < GeDaMo> I'd suspect so, where's the string the result's going into?
16:12 -!- bzSmari [n=spm@tgad68.rhi.hi.is] has joined #go-nuts
16:13 -!- maxi_ [n=maxi@87.216.160.123] has quit ["Saliendo"]
16:13 < jaxdahl> wouldn't it be Z
16:13 -!- bitcirkel [n=bitcirke@213.21.118.43] has joined #go-nuts
16:13 -!- hanse [n=hanse@188-23-184-88.adsl.highway.telekom.at] has joined
#go-nuts
16:14 < GeDaMo> Ah, you're right
16:14 -!- ag90 [n=ag90@nat/ibm/x-khltxjvxgrairqtz] has joined #go-nuts
16:14 < GeDaMo> So what problem are you having with it?
16:14 < jaxdahl> "Z declared and not used" is the error i get
16:15 -!- dpb9cpu [n=dpb@65.46.56.98] has joined #go-nuts
16:15 -!- ag90 [n=ag90@nat/ibm/x-khltxjvxgrairqtz] has left #go-nuts []
16:15 -!- inetava [n=ava@80.64.175.72.sta.211.ru] has quit ["Leaving"]
16:16 < jaxdahl> is assigning a value to it not the definition of 'using'
it?
16:16 < GeDaMo> What do you do with Z afterwards?
16:16 < jaxdahl> nothing.
16:16 < exch> simply assigning a value to it is not the same as using it in
go
16:16 < GeDaMo> Try printing it out, see if it still complains
16:16 < jaxdahl> why is it considered an error
16:16 < exch> had this happen in my code a few times as well
16:17 < jaxdahl> GeDaMo, it makes the error go away
16:17 < GeDaMo> Success!  :P
16:17 < jaxdahl> i wanted to benchmark it
16:17 < exch> the compiler is apparently very strict about unused vars and
imports
16:17 -!- eno [n=eno@nslu2-linux/eno] has quit [Read error: 60 (Operation timed
out)]
16:17 -!- kaigan|work
[n=kaigan@c-8290e255.1411-10-64736c14.cust.bredbandsbolaget.se] has quit []
16:17 -!- clajo04_ [n=clajo04_@74.72.55.57] has quit []
16:17 -!- alt^255 [n=k@85.88.27.205] has quit ["leaving"]
16:18 -!- sleepdragon [n=user@123.118.1.243] has quit [Client Quit]
16:18 < mike_storm> exch: Yeah it is.  If you want to discard the result of
something, use _.
16:18 < exch> ah.  was wondering what that was for
16:18 < jaxdahl> using _ is something i commonly see in Lua
16:19 -!- hipe [n=markmeve@pool-74-108-83-4.nycmny.east.verizon.net] has quit
[Client Quit]
16:19 < saati> or in any functional/declarative language
16:20 -!- eno [n=eno@nslu2-linux/eno] has joined #go-nuts
16:20 -!- aatifh [n=atif@117.195.97.235] has quit [Read error: 110 (Connection
timed out)]
16:20 -!- rbohn [n=rbohn@192.206.100.4] has joined #go-nuts
16:20 -!- aa [n=aa@r200-40-114-26.ae-static.anteldata.net.uy] has joined #go-nuts
16:20 -!- jmacelro [n=jmacelro@c-71-202-111-46.hsd1.ca.comcast.net] has quit
[Remote closed the connection]
16:21 -!- cshrpusr [i=5746f241@gateway/web/freenode/x-omxlijbbogbgbrqk] has quit
["Page closed"]
16:21 -!- RepentanceX2 [n=toor@222.252.112.204] has quit ["more"]
16:22 -!- hipe [n=hipe@pool-74-108-83-4.nycmny.east.verizon.net] has joined
#go-nuts
16:22 < Metathink> Is the possibity of this language is as powerful as the
Object oriented of C++ ?
16:23 < Cameron> pubsub chan would be a nice addition
16:23 -!- delza [n=delza@209-52-232-202.vlan452.static.ucc-net.ca] has joined
#go-nuts
16:23 < saati> Metathink: have you ever heard of turing-completeness
16:23 -!- tonelu [n=tonelu@80.97.9.145] has quit []
16:24 < Metathink> No
16:24 -!- tuples_ [i=55006f4d@gateway/web/freenode/x-nevezkeyhpipiyfg] has quit
["Page closed"]
16:25 < kfx> Metathink: the answer is yes
16:25 -!- gokoon [n=gokoon@stp25-1-82-225-19-48.fbx.proxad.net] has quit []
16:25 < saati> Metathink: almost all languages have the same power, you can
do anything in any of them that could be algorithmized
16:25 < jaxdahl> speed and memory usage greatly vary
16:26 -!- brown [n=user@72.14.228.129] has joined #go-nuts
16:26 < saati> and comfortability too
16:26 -!- mycroftiv [n=drabgah@h69-128-47-245.mdsnwi.dedicated.static.tds.net] has
quit ["leaving"]
16:26 -!- brown is now known as Guest30625
16:26 * RayNbow is going to incant the magical words "yaourt -S golang" on his
netbook
16:27 -!- ribo [i=ribo@pfsense/mirrors/ribo] has left #go-nuts []
16:27 < Metathink> thank you kfx
16:27 -!- dpb9cpu [n=dpb@65.46.56.98] has quit [Read error: 131 (Connection reset
by peer)]
16:27 -!- proltessio
[n=proltess@host217-121-dynamic.116-80-r.retail.telecomitalia.it] has joined
#go-nuts
16:28 -!- hyn [n=hyn@p9302ab.tokyte00.ap.so-net.ne.jp] has quit [Read error: 60
(Operation timed out)]
16:29 < asonge> are there any plans to make networkable channels so that
channels can work like erlang IPC (transparently cross into networking to access
other machines)?
16:29 -!- hipe [n=hipe@pool-74-108-83-4.nycmny.east.verizon.net] has quit [Remote
closed the connection]
16:29 -!- tudorstr [n=Adium@80.97.9.145] has quit ["Leaving."]
16:29 -!- danmarner [n=dan@rrcs-24-227-222-36.sw.biz.rr.com] has quit ["leaving"]
16:29 -!- hipe [n=hipe@pool-74-108-83-4.nycmny.east.verizon.net] has joined
#go-nuts
16:31 -!- teedex [n=teedex@204.14.155.161] has quit [Remote closed the connection]
16:31 -!- mycroftiv [n=drabgah@h69-128-47-245.mdsnwi.dedicated.static.tds.net] has
joined #go-nuts
16:31 -!- hipe [n=hipe@pool-74-108-83-4.nycmny.east.verizon.net] has quit [Remote
closed the connection]
16:31 -!- hyn [n=hyn@p0a38f8.tokyte00.ap.so-net.ne.jp] has joined #go-nuts
16:31 -!- hipe [n=hipe@pool-74-108-83-4.nycmny.east.verizon.net] has joined
#go-nuts
16:31 < mike_storm> asonge: I think that would make channels more
heavyweight that they want.
16:32 -!- ddp [n=ddp@65.255.53.171] has joined #go-nuts
16:32 -!- hipe [n=hipe@pool-74-108-83-4.nycmny.east.verizon.net] has quit [Remote
closed the connection]
16:32 -!- hipe [n=hipe@pool-74-108-83-4.nycmny.east.verizon.net] has joined
#go-nuts
16:34 -!- teedex [n=teedex@204.14.155.161] has joined #go-nuts
16:35 -!- vu2swx [n=vu2swx@116.68.88.168] has joined #go-nuts
16:35 -!- Skel [n=JustinHo@cpe-024-211-196-059.nc.res.rr.com] has joined #go-nuts
16:35 -!- GeDaMo [n=gedamo@212.225.108.57] has quit ["Leaving."]
16:36 -!- mejja [n=user@c-49b6e555.023-82-73746f38.cust.bredbandsbolaget.se] has
joined #go-nuts
16:37 -!- poucet [n=poucet@li23-146.members.linode.com] has joined #go-nuts
16:37 < vu2swx> i am getting this error while installing go on ubuntu 8.94
make: quietgcc: Command not found
16:37 < jaxdahl> the Pentium 4 is a 32 bit processor, right?
16:37 < vu2swx> any idea
16:37 < kfx> vu2swx: make sure $GOBIN is in your path
16:37 < kfx> jaxdahl: yes
16:37 -!- hipe [n=hipe@pool-74-108-83-4.nycmny.east.verizon.net] has quit [Read
error: 104 (Connection reset by peer)]
16:37 < vu2swx> let me check
16:37 -!- hipe [n=hipe@pool-74-108-83-4.nycmny.east.verizon.net] has joined
#go-nuts
16:37 -!- shambler_ [n=sil@213.184.241.199] has quit ["Super perfundo on the early
eve of your day."]
16:38 -!- AlanT [n=Work@69.15.110.53] has joined #go-nuts
16:39 < jaxdahl> kfx, er, it seems some P4s are x86-64 capable
16:40 -!- rando [n=markd@c-24-4-237-105.hsd1.ca.comcast.net] has joined #go-nuts
16:40 < saati> but the emt p4s are slower in 64bit mode than in 32
16:40 < saati> so dont use that
16:40 -!- engla [n=ulrik@90-229-231-23-no153.tbcn.telia.com] has joined #go-nuts
16:40 -!- anupam [n=anupam@122.169.89.6] has joined #go-nuts
16:41 < jaxdahl> my main question is whether 64 bit float multiplication
would be any slower than 32 bit float
16:41 < asonge> kfx: use uname -a to see what your OS is in (386 or x86_64)
16:41 -!- nexneo [n=niket@115.108.175.41] has joined #go-nuts
16:41 < jaxdahl> says i686 i386
16:41 < saati> jaxdahl: floats are 80 bits by default in 32bit x86s
16:41 -!- dpb9cpu [n=dpb@ip65-46-56-98.z56-46-65.customer.algx.net] has joined
#go-nuts
16:41 -!- Demp [i=sbnc@13.f.cali.vgames.co.il] has joined #go-nuts
16:41 < saati> the 32/64 bit thing is about ints and pointers
16:41 < jaxdahl> float32 vs float64 in go
16:41 < jaxdahl> hm
16:41 < KirkMcDonald> That reminds me of another D feature.
16:41 -!- m-takagi is now known as m-takagi_
16:42 < kfx> asonge: uh, I was answering jaxdahl's question
16:42 < KirkMcDonald> Which is the 'real' type, which represents whatever
the highest-precision floating-point type supported by the hardware is.
16:42 < asonge> blah, highlighted wrong person
16:42 -!- Counterspell [n=noname@12.237.249.2] has joined #go-nuts
16:42 -!- hipe [n=hipe@pool-74-108-83-4.nycmny.east.verizon.net] has quit [Read
error: 104 (Connection reset by peer)]
16:42 -!- ajray [n=alex@wvc32563rh.rh.ncsu.edu] has joined #go-nuts
16:42 -!- hipe_ [n=hipe@pool-74-108-83-4.nycmny.east.verizon.net] has joined
#go-nuts
16:44 < ajbouh> does a "go" statement have a return value?  docs don't seem
to specify
16:44 -!- Athas [n=athas@0x50a157d6.alb2nxx15.dynamic.dsl.tele.dk] has joined
#go-nuts
16:44 < Athas> Is there a precompiled Go compiler binary available?
16:45 -!- jcaose [n=jcaose@gw.conveneer.ideon.se] has quit [Read error: 104
(Connection reset by peer)]
16:45 < jaxdahl> oh now i remember
16:45 < jaxdahl> float64 is a double in C right
16:46 -!- hipe [n=hipe@pool-74-108-83-4.nycmny.east.verizon.net] has joined
#go-nuts
16:46 -!- nixfreak [n=nixfreak@mn-10k-dhcp1-3174.dsl.hickorytech.net] has joined
#go-nuts
16:46 < mike_storm> jaxdahl: Depends on the hardware.
16:46 -!- hipe_ [n=hipe@pool-74-108-83-4.nycmny.east.verizon.net] has quit [Read
error: 104 (Connection reset by peer)]
16:46 -!- sgodofsky [n=2011sgod@katla.csl.tjhsst.edu] has joined #go-nuts
16:47 < nixfreak> just installed archlinux aur package go-lang-hg
16:47 -!- robertpateii [n=robertpa@207-114-244-5.static.twtelecom.net] has joined
#go-nuts
16:47 -!- Snert [n=chatzill@puff.snert.com] has quit ["ChatZilla 0.9.85 [Firefox
3.5.5/20091102152451]"]
16:47 < nixfreak> created a dir called go and used 8g hello.go to compile
16:47 < nixfreak> and nothing happened
16:47 -!- robpike [n=robpike@nat/google/x-cqalqreqxeqjoodd] has joined #go-nuts
16:47 -!- mode/#go-nuts [+v robpike] by ChanServ
16:48 < nixfreak> I am using a netbook with i686 arch
16:48 -!- rapidfx [n=host666@vl-cen-ce1.avtlg.ru] has left #go-nuts []
16:48 -!- john [n=john@71.198.37.217] has joined #go-nuts
16:48 < int-e> nixfreak: you'll still have to set GOROOT and so on as
described in http://golang.org/doc/install.html I suppose.
16:48 -!- vu2swx [n=vu2swx@116.68.88.168] has quit [Read error: 104 (Connection
reset by peer)]
16:48 -!- john is now known as Guest50569
16:48 < nixfreak> ahhok
16:48 -!- h3r3tic [n=heretic@208.75.87.105] has joined #go-nuts
16:49 < kfx> nixfreak: you'll have to ask the maintainer of the AUR build
script, or else follow the instructions on golang.org
16:49 < mwarning> hai h3r3tic
16:49 < h3r3tic> mroing
16:50 -!- travisbrady [n=tbrady@67-207-96-194.static.wiline.com] has joined
#go-nuts
16:51 -!- carllerche [n=carllerc@c-69-181-129-204.hsd1.ca.comcast.net] has joined
#go-nuts
16:51 < Thorn> hello
16:51 -!- oleganza_ [n=oleganza@pro75-5-88-162-202-183.fbx.proxad.net] has joined
#go-nuts
16:51 < plainhao> just did a pull and update, should be a doc page for that
too, imo
16:51 -!- robpike [n=robpike@nat/google/x-cqalqreqxeqjoodd] has left #go-nuts []
16:51 -!- FreshMeat [n=crump@c-67-180-74-9.hsd1.ca.comcast.net] has joined
#go-nuts
16:51 < anupam> i am getting a bunch of errors while compiling stuff from
the 'test' directory.
16:51 -!- trickie [n=trickie@94.100.112.225] has quit [Read error: 113 (No route
to host)]
16:51 < anupam> cat: /tmp/gotest1-6078-anupam: No such file or directory
16:51 < anupam> fail: ./235.go
16:51 < anupam> help !!!
16:51 -!- JustinHoMi [n=JustinHo@cpe-024-211-196-059.nc.res.rr.com] has quit [Read
error: 110 (Connection timed out)]
16:52 -!- kayo [i=c9090089@gateway/web/freenode/x-qjzkcdsxixkojhpw] has left
#go-nuts []
16:52 < Thorn> why does go need pointers?  why not do it java way (values
are references)?
16:52 -!- sgodofsky [n=2011sgod@katla.csl.tjhsst.edu] has left #go-nuts []
16:52 < oleganza_> hello guys!  i've just installed go (amd64, darwin, mac
os x 6) and i'm trying to write a simple http program.  Seems like to couldn't
find package "http":
16:52 < oleganza_> fatal error: can't find import: http
16:52 < oleganza_> s/os x 6/os x 10.6/
16:52 < UKRep547> Thorn, java uses pointers too.
16:52 -!- bitcirkel [n=bitcirke@213.21.118.43] has quit ["Leaving"]
16:53 < oleganza_> how do i install standard packages?
16:53 -!- sku [n=sk@217.175.4.207] has joined #go-nuts
16:53 < RayNbow> hmm...  Arch package for go is broken...
16:53 -!- proltessio
[n=proltess@host217-121-dynamic.116-80-r.retail.telecomitalia.it] has quit ["Sto
andando via"]
16:53 < UKRep547> Thorn, in java, let's say you define two object
"references".  A and B. Then you say A = B, all you have is A pointing to B. The
dot (A.method) is the deferencer, and deferencing is an operation you do on
pointers.
16:54 < UKRep547> sorry, I mean A points to what B was pointing to.
16:54 < oleganza_> however, http and friends are built successfully
16:54 < Thorn> UKRep547: exactly, like in python
16:54 -!- PhantmShado [n=Phantm@bugs-bunny-68.dynamic2.rpi.edu] has joined
#go-nuts
16:54 -!- boondox [n=boondox@ninthfloor.org] has joined #go-nuts
16:54 < Thorn> so what do explicit pointers give beyond that?
16:55 < plainhao> i thought go pointers are just references
16:55 < UKRep547> what is a reference plainhao?
16:55 < Thorn> not really, they're real pointers like in c except
arithmetics
16:56 -!- wcn [n=wcn@216.239.45.130] has joined #go-nuts
16:56 -!- armence [n=armence@c-67-188-229-128.hsd1.ca.comcast.net] has joined
#go-nuts
16:56 -!- whiteley [n=bart@nat/novell/x-jglizdtuehlrrmup] has joined #go-nuts
16:56 < Thorn> java values are references, so void f(Foo foo)
{foo.setBar(3);} modifies Foo instance passed to it
16:57 < Thorn> in go it appears you can have both pass by value and by
reference however, like c++
16:57 -!- Phantm_ [n=Phantm@rpi-wl-626.dynamic.rpi.edu] has quit [Read error: 60
(Operation timed out)]
16:57 < whiteley> I just joined, this looks like a discussion of "why does
go have pointers?", which is just what I came here for.
16:57 < UKRep547> but foo can = null, Thorn.  How is foo a reference?
16:57 < Athas> Is there a collection of simple Go programs (so I can learn
how to deal with command line arguments and file I/O) somewhere?
16:58 < Thorn> UKRep547: if you consider null to be an instance of Foo it is
a reference
16:58 < UKRep547> what?  Thorn?  Are you seriously saying null is an object?
16:58 < Thorn> and null is an instance of Object which is a superclass of
Foo
16:58 < UKRep547> omg you've never seen C have you Thorn
16:59 < Thorn> why, I have
16:59 < Thorn> you don't need pointers to have null
16:59 -!- pass007 [n=passang@119.2.106.187] has joined #go-nuts
16:59 < Thorn> as in 'distinct data type holding a memory address'
17:00 < oleganza_> Thorn: so what is null then?
17:00 < Thorn> a null can be considered a special instance which throws NPEs
on all method calls :)
17:01 -!- Guest50569 [n=john@71.198.37.217] has quit []
17:02 -!- littleodie914 [n=Craig@rover-210-5.rovernet.mtu.edu] has joined #go-nuts
17:02 < littleodie914> Hi guys!
17:03 < oleganza_> Thorn: null is not something designed to throw exceptions
on method calls.  E.g.  in ObjC null returns itself for all messages sent to it.
17:03 < oleganza_> Thorn:
http://en.wikipedia.org/wiki/Null_(computer_programming)
17:04 < Thorn> I meant java
17:04 -!- tasklist7 [n=tasklist@166.193.92.163] has joined #go-nuts
17:05 -!- littleodie914 [n=Craig@rover-210-5.rovernet.mtu.edu] has quit [Client
Quit]
17:05 < Thorn> btw, can't you have a reference to a null in c++?  int &foo =
&((int*)0); (I haven't used c++ for a while though)
17:05 -!- anupam [n=anupam@122.169.89.6] has quit ["Leaving"]
17:05 < vongodric> no you can't
17:06 -!- Cy-4- [i=cy-4@1-1-9-15a.hka.j.bostream.se] has left #go-nuts []
17:06 -!- rutkowski [n=adrian@078088213039.walbrzych.vectranet.pl] has joined
#go-nuts
17:07 -!- xk0der [n=xk0der@122.171.5.148] has joined #go-nuts
17:07 < oleganza_> Thorn: you may have a reference to a variable containing
null.  null is a value, not a place in memory which you may refer to
17:07 -!- dsal [n=Adium@2.sub-70-212-243.myvzw.com] has quit [Read error: 60
(Operation timed out)]
17:08 -!- carllerche [n=carllerc@c-69-181-129-204.hsd1.ca.comcast.net] has quit []
17:08 -!- callahad [n=dan@198.179.137.21] has joined #go-nuts
17:08 < oleganza_> does anybody know how to let Go know where packages are
located?  I have proper GOROOT and packages are in GOROOT/pkg/darwin_amd64
17:08 < callahad> Damn, someone beat me to filing issue 27 by 19 hours :(
17:08 < oleganza_> but i cannot compile anything that imports any package
17:09 < callahad> er, 34 hours.  I can't read.
17:09 * mennis wonders if oleganza_ is compiling in the wrong directory.
17:09 < vongodric> i think you can use path in import
17:09 -!- tasklist7 [n=tasklist@166.193.92.163] has quit ["Colloquy for iPhone -
http://colloquy.mobi"]
17:09 -!- zeebo- [n=zeebo-@pool-74-110-97-28.nrflva.fios.verizon.net] has quit
[Read error: 60 (Operation timed out)]
17:09 -!- hat0 [n=hat@cpe-67-9-132-238.austin.res.rr.com] has quit ["Leaving"]
17:10 < oleganza_> mennis: i'm going to GOROOT/src and running ./all.bash
17:10 < Thorn> so, if null is a value, we don't need pointers for nulls do
we?
17:10 < oleganza_> --- cd ../test
17:10 < oleganza_> 0 known bugs; 0 unexpected bugs
17:11 < oleganza_> null is not something pointers may *refer* to, but
something they could be *equal* to
17:11 -!- wcn_ [n=wcn@ip68-3-237-83.ph.ph.cox.net] has joined #go-nuts
17:11 -!- srdjan [n=srdjan@84.88.50.46] has joined #go-nuts
17:11 -!- x2cast1 [n=alvaro@72.127.222.87.dynamic.jazztel.es] has joined #go-nuts
17:11 < oleganza_> GOROOT is /Users/oleganza/opensource/go/golang
17:12 -!- carllerche [n=carllerc@c-69-181-129-204.hsd1.ca.comcast.net] has joined
#go-nuts
17:12 -!- JohnNy_cz [i=JohnNy_c@jhn4.kolej.mff.cuni.cz] has joined #go-nuts
17:13 < Thorn> oleganza_: that's correct, I'm not disputing that
17:13 -!- undernode [n=noname@12.237.249.2] has joined #go-nuts
17:13 < Thorn> I'm saying we can have nulls without a language element
called 'pointer'
17:13 -!- tasklist7 [n=tasklist@166.193.92.163] has joined #go-nuts
17:14 -!- ctimmerm [n=ctimmerm@83.150.80.193] has quit [Remote closed the
connection]
17:14 -!- ineol [n=hal@mar75-9-88-171-191-168.fbx.proxad.net] has left #go-nuts []
17:14 -!- ineol [n=hal@mar75-9-88-171-191-168.fbx.proxad.net] has joined #go-nuts
17:14 -!- ineol [n=hal@mar75-9-88-171-191-168.fbx.proxad.net] has left #go-nuts []
17:15 -!- ineol [n=hal@mar75-9-88-171-191-168.fbx.proxad.net] has joined #go-nuts
17:15 < Thorn> I still can't find the rationale for having pointers in go
anywhere on golang.org
17:15 < Thorn> is it to enable pass by value?
17:15 -!- Guest34451 [n=irc@209.17.191.58] has joined #go-nuts
17:15 < scandal> Thorn: if I had to guess, it would be so that you can
allocate on the stack when need be
17:15 -!- cablehead [n=Adium@nat/slide/x-ndjtyjsdrpikjfwz] has joined #go-nuts
17:15 < saati> Thorn: there are no c style pointers
17:15 < saati> they are more like refs
17:15 < saati> no arithmetic allowed on them
17:16 < Thorn> scandal: given you can return a local variable from a
function this doesn't seem to be the case
17:16 < UKRep547> saati just because you can't perform arithmetic on a
variable doesn't change the TYPE of a variable.  Pointers do not magically become
references when you're not allowed to perform subtraction or addition on them.
17:16 -!- coldhak_ [n=coldhak@99.152.25.152] has left #go-nuts []
17:16 -!- luc_ [n=luc@88.207.134.113] has joined #go-nuts
17:17 < Thorn> UKRep547: exactly
17:17 < oleganza_> well, what is the recommended way to compile/install go?
17:17 -!- Irssi: #go-nuts: Total of 543 nicks [0 ops, 0 halfops, 2 voices, 541
normal]
17:17 < oleganza_> i was following instructions on the website, but packages
are invisible to compiler
17:17 < Thorn> go pointers seem to be similar to fortran 90 pointers
actually
17:17 < scandal> Thorn: isn't it just like in c or c++ where you can return
by value?
17:17 -!- Hfuy [n=user@91.85.182.165] has joined #go-nuts
17:18 < homa_ran1> what is the benefit of allowing a initialization
statement in an if/switch?  when is this preferable over just putting the
statement before it?
17:18 -!- x2cast1 [n=alvaro@72.127.222.87.dynamic.jazztel.es] has left #go-nuts []
17:18 -!- luc_ [n=luc@88.207.134.113] has left #go-nuts []
17:18 < Hfuy> Will someone shoot me if I mention the word "windows"?
17:18 -!- pass007 [n=passang@119.2.106.187] has left #go-nuts ["Leaving"]
17:18 < Thorn> scandal: no, you can return a pointer and it will be watched
by the GC
17:18 < UKRep547> Hfuy, there's a great comic that has a mac user, windows
user, and linux user sitting next to each other on an airplane..  title "the
beginning of a long flight"
17:18 * mwarning shoots Hfuy
17:19 -!- hanse_ [n=hanse@188-23-91-165.adsl.highway.telekom.at] has joined
#go-nuts
17:19 -!- pawaca_ [n=pawaca@125.34.214.207] has joined #go-nuts
17:19 -!- hanse [n=hanse@188-23-184-88.adsl.highway.telekom.at] has quit [Read
error: 54 (Connection reset by peer)]
17:19 * kill-9 gasps at Hfuy
17:19 < mwarning> anyone else?  ;)
17:19 * Hfuy keels over backward
17:19 < kill-9> (actually I've als been wondering about Windows)
17:19 < scandal> homa_ran1: to reduce the scope of the variable to the
if/switch block
17:19 < Thorn> there's no concept of stack in go if I'm not mistaken
17:19 < Hfuy> My girlfriend has been going on and on at me about "a compiled
version of javascript", to which Go seems amazingly similar.
17:19 -!- zeebo- [n=zeebo-@pool-74-110-97-28.nrflva.fios.verizon.net] has joined
#go-nuts
17:19 < Hfuy> I'd love to be able to tell her a windows toolset was in the
works.
17:20 < homa_ran1> scandal: ah, that makes sense
17:20 < dho> I don't think it's really that similar to Javascript.
17:20 < exch> your girlfriend is mighty sexy just for talking about that
17:20 < Thorn> Hfuy: there is actionscript, flex sdk includes a free
compiler :)
17:20 < Hfuy> Well, it's not, but it's closer than much else.
17:20 < Hfuy> exch: Careful :)
17:20 -!- tonfa [n=tonfa@dhcp-13-109.lip.ens-lyon.fr] has left #go-nuts []
17:20 < exch> hehe
17:20 -!- tarekkk [n=tarek@41.98.77.116] has quit ["Leaving"]
17:20 -!- jbergstroem [n=lfe@bergstroem.nu] has left #go-nuts []
17:21 < Hfuy> We have a project where we need to pull some frame data out of
AVI files.
17:21 < Hfuy> We can actually do it in JS, but it's hopelessly slow.
17:21 < Hfuy> Unfortunately until they release for windows, Go is useless to
me.
17:21 < exch> most women I meet will stare at me as if I escaped from a
nuthouse when I mention compilers or code
17:21 < Hfuy> exch: She's better at it than I am.
17:21 -!- tasklist7 [n=tasklist@166.193.92.163] has quit ["Colloquy for iPhone -
http://colloquy.mobi"]
17:21 < exch> that's a keeper!
17:22 * Hfuy sighs.  Honestly!
17:22 < Thorn> btw, can := be considered to do type inference?
17:22 < Hfuy> We've been together for nearly ten years, I suspect I'm a bit
ahead of you there.
17:22 -!- connerk [n=connerk@cpe-069-134-147-205.nc.res.rr.com] has left #go-nuts
[]
17:22 -!- Counterspell [n=noname@12.237.249.2] has quit [Read error: 104
(Connection reset by peer)]
17:22 < exch> probably :p
17:22 -!- connerk [n=connerk@cpe-069-134-147-205.nc.res.rr.com] has joined
#go-nuts
17:23 < Hfuy> What's even better - and I feel the need to tell complete
strangers about this - is that one of her schoolfriends is a fast jet pilot in the
RAF, and has invited us to go for a ride.
17:23 * Hfuy is indeed a happy man
17:23 < sku> oleganza_: The source code for the package with import path x/y
is, by convention, kept in the directory $GOROOT/src/pkg/x/y.  ( from
golang.org/doc/contribute.html )
17:24 -!- pawaca_ [n=pawaca@125.34.214.207] has quit ["Leaving..."]
17:24 <+danderson> Hfuy: patches for windows support are welcome, and I
believe a couple of folks are planning to announce intent to port (rather than
just "are we there yet?" and "Vague threat to lose my patronage if you don't
support windows!") on the mailing list.
17:24 < sku> oleganza_: and your path is '$GOROOT/pkg/...'.  maybe there is
a point
17:24 -!- rog [n=rog@78.151.49.70] has joined #go-nuts
17:25 < Thorn> from the c++ spec: "the only way to create such a reference
[that is null] would be to bind it to the "object" obtained by dereferencing a
null pointer"
17:25 < Hfuy> danderson: Oh, dear, this is one of them there "open source
projects", is it?
17:25 < Thorn> which means it's possible?
17:25 -!- ericvh [n=ericvh@32.97.110.65] has joined #go-nuts
17:25 < exch> I was quite surprised by the lack of windows support, though I
suppose it does make sense if you consider Go is meant for systems programming
17:25 <+danderson> It's an open source project developed by 5-6 people, none
of which use windows at all.
17:25 < oleganza_> sku: i have all the packages in $GOROOT/src/pkg as well
17:25 -!- tasklist7 [n=tasklist@c-98-208-175-116.hsd1.fl.comcast.net] has joined
#go-nuts
17:25 < Hfuy> danderson: Ah.
17:25 * Hfuy stops being excited about it
17:25 <+danderson> it appears they have different priorities, that is all :)
17:26 <+danderson> good for you.
17:26 < tonyg> Hfuy, have you heard of V8
17:26 < Hfuy> Isn
17:26 < tonyg> it may provide a fast-enough JS envt for you
17:26 <+danderson> win32 support is on the list, but the main devs have
other priorities.  They would welcome people who know about win32 to make it
happen, however.
17:26 -!- Arhuaco [n=n@186.80.240.243] has quit [Remote closed the connection]
17:27 < Hfuy> Yes!  V8 Aston Martin, mmm.
17:27 < Hfuy> ...I get the impression that wasn't what you meant.
17:27 -!- robpike [n=robpike@nat/google/x-cqalqreqxeqjoodd] has joined #go-nuts
17:27 -!- mode/#go-nuts [+v robpike] by ChanServ
17:27 < tonyg> Hfuy, http://code.google.com/p/v8/
17:27 -!- littleodie914 [n=Craig@rover-210-5.rovernet.mtu.edu] has joined #go-nuts
17:27 < Hfuy> tonyg: we would be using that if it supported critical bits of
windows-related stuff, like activeX objects.
17:27 < littleodie914> I'm writing a multithreaded program in Go as a
beginning tutorial, but I'm having problems with thread synchronization.  Would
someone be willing to take a look?
17:28 -!- aclements [n=aclement@c-66-31-201-199.hsd1.ma.comcast.net] has quit
[Read error: 60 (Operation timed out)]
17:28 -!- freenose [n=freenose@204.97.199.7] has joined #go-nuts
17:29 < whiteley> can anyone provide an URL to a page explaining the
reasoning why go has pointers?
17:29 < whiteley> (unfortunately this new lang was given a name that isn't
google-able)
17:29 < Hfuy> I'm not even sure if it's possible to use V8 standalone
17:29 -!- wcn [n=wcn@216.239.45.130] has quit [Connection timed out]
17:30 -!- wcn_ is now known as wcn
17:30 -!- mike_storm [n=michael@c-24-12-53-42.hsd1.il.comcast.net] has quit
["Leaving"]
17:30 <+danderson> "V8 can run standalone"
17:30 <+danderson> from the 4th paragraph of the front page
17:30 < Hfuy> Well sure it can -run- but what can it -do-.
17:30 -!- Juul_ [n=Juul@h55eb1609.dkkoost.sta.perspektivbredband.net] has left
#go-nuts ["Leaving"]
17:30 < Hfuy> In JScript you're heavily reliant on activeX controls to
actually do any real work.
17:31 < kfx> hahaha you're using javascript to parse video files
17:31 <+danderson> really?  Surprising, ActiveX doesn't run on my OS, and js
gets quite a lot done :)
17:31 < kfx> I love this world we live in
17:31 < littleodie914> http://craigotis.com/beta/main.go <- Would someone
be willing to sneak a peak at this, and help me determine why the channel
synchronization is failing?
17:31 < Hfuy> kfx: I'm not really a programmer, as you'll doubtless have
realised.
17:31 < littleodie914> If this is not the proper place to ask, I apologize.
:)
17:31 < RadSurfer> Fortunately Delphi out performs VB
17:31 <+danderson> but you can also embed V8 into a C++ program that exposes
bindings to the JS environment.
17:31 < exch> kfx, it's quite feasible
17:31 < Hfuy> danderson: Well, maybe -you- can :D
17:31 < kfx> yeah good thing 'feasibility' isn't the only criterion for a
good idea
17:32 < mrd`> danderson: In fairness to Hfuy, JScript is the name of
Microsoft's ECMAScript interpreter.  :)
17:32 <+danderson> anyway, can we try to stay on topic?  V8, javascript,
activex and the like would be a different channel's problem
17:32 -!- jeremybanks [n=jeremyba@75-119-248-154.dsl.teksavvy.com] has joined
#go-nuts
17:32 < Hfuy> Hey, you suggested it.
17:32 < kfx> I suggest you use Go
17:32 < Hfuy> I can't, there's no win32 toolset.
17:32 < RadSurfer> Ick.
17:33 < RadSurfer> People still even use Win32?
17:33 < exch> feasibility is all you can really rely on.  Whether it's
actually a 'good idea' depends entirely on your needs
17:33 < kfx> that's a feature
17:33 < Athas> What's the way to do interactive console I/O (eg.  like I
would just read/write stdio in C) in Go?
17:33 < whiteley> RadSurfer: heh.  that's what I was going to say.
17:33 < RadSurfer> Linux was created for a reason.
17:33 < Zaba> heh, funny how windows is yet to support what is considered a
portable operating system interface!
17:33 <+danderson> littleodie914: you appear to be overwriting sem in
strange ways
17:33 -!- tasklist7 [n=tasklist@c-98-208-175-116.hsd1.fl.comcast.net] has left
#go-nuts []
17:33 < Hfuy> In that context, I suspect that linux was created to
demonstrate just exactly how terribly bad it is possible for an OS to be at media
production work.
17:34 <+danderson> I suggest you try passing the channel you make in
runForThreads to each threadRun call, rather than keep it around as a global
17:34 < kfx> I'm glad there's in win32 port of go; this channel would be
full of people whining about visual studio plugins
17:34 < Hfuy> Which is what we're doing.  Hence windows.
17:34 < kfx> Hfuy: is that a troll or just ignorance
17:34 < kfx> you know what I guess it doesn't really matter
17:34 <+danderson> either way, it's offtopic
17:34 < kfx> sorry I asked
17:34 -!- jahluv [n=noneyah@port0109-ahp-adsl.cwjamaica.com] has joined #go-nuts
17:34 <+robpike> littleodie914: what goes wrong when you run that program?
17:34 < Hfuy> Well a visual studio plugin would be nice.
17:34 < Hfuy> Don't you think?
17:34 -!- wedgie [n=wedgie@pool-71-177-36-2.lsanca.ftas.verizon.net] has joined
#go-nuts
17:34 -!- Ioneye [n=ioneye@unaffiliated/ioneye] has quit ["Because There Is No
Patch For Human Stupidity."]
17:34 < RadSurfer> MS--a company that refused to reimburse users for their
UNiopened CDROM OS, even though it is clearly stated in MS license agreements.
Sheesh.
17:35 <+danderson> RadSurfer: also offtopic.  Please, take it to reddit :)
17:35 < Hfuy> Now -that- is how you troll.
17:35 -!- srspencer [n=srs@akira.umd.edu] has left #go-nuts []
17:35 -!- keithcascio [n=keith@Sensitivity.CS.UCLA.EDU] has joined #go-nuts
17:35 -!- callahad [n=dan@198.179.137.21] has quit ["."]
17:35 < aa> Hfuy: that was advanced trolling right there!
17:35 < Hfuy> It was.
17:35 -!- carllerche [n=carllerc@c-69-181-129-204.hsd1.ca.comcast.net] has quit []
17:35 < littleodie914> robpike: Here's my output:
17:35 * Hfuy holds up a card with a "9.8" on it
17:35 < littleodie914> Running...
17:35 < littleodie914> Running for 1 threads took 529787000 nanoseconds
17:35 < littleodie914> Running for 2 threads took 520801000 nanoseconds
17:35 < littleodie914> Running for 3 threads took 528948000 nanoseconds
17:35 < littleodie914> Running for 4 threads took 521422000 nanoseconds
17:35 < littleodie914> Running for 5 threads took 528153000 nanoseconds
17:35 < RadSurfer> The last "exotic new language" I looked at recently was
"D" -- I wonder how "D" will work with "Go" ?
17:35 -!- tasklist7 [n=tasklist@c-98-208-175-116.hsd1.fl.comcast.net] has joined
#go-nuts
17:35 < littleodie914> Running for 6 threads took 518221000 nanoseconds
17:35 < littleodie914> Running for 7 threads took 524376000 nanoseconds
17:35 < littleodie914> Running for 8 threads took 523553000 nanoseconds
17:36 < blackmagik> since this is the go-nuts channel it's not really
trolling--it's people that went nuts
17:36 < exch> ...  :p
17:36 -!- dpb9cpu [n=dpb@ip65-46-56-98.z56-46-65.customer.algx.net] has left
#go-nuts []
17:36 <+danderson> littleodie914: please use a pastebin next time.  Don't
flood the channel.
17:36 < littleodie914> Oh sorry, new to IRC :)
17:36 < uman> RadSurfer, "why do ppl stil use windoze lolol?!?!?!?!?!!!?!!"
is an incredibly useless contribution
17:36 < Hfuy> But seriously.  Linux doesn't really have much by way of a
competitor to things like Final Cut and After Effects and the drivers for a lot of
the video I/O hardware are either nonexistent or very immature, so it's not really
an option.
17:36 < littleodie914> I'm running a dual-core machine, so it should drop
from 1 thread to 2, but I'm not seeing any improvement.
17:36 < Hfuy> No offence, that's just the situation.
17:36 < RadSurfer> Considering that Linux User-ship is rising -- not so
irrelevant.
17:37 < kfx> Hfuy: thanks for letting us know let's talk about go now
17:37 -!- jimmy_ [n=rodrigo@189.59.94.3] has quit ["Saindo"]
17:37 < RadSurfer> and if "Go" is expected to "catch on", it will have to
run on Linux too anyway
17:37 < jeremybanks> Hey.  I was trying to install go from the instructions
on golang.org, but I keep getting the error "make: *** No rule to make target
`~/go/src/Make.'.  Stop.".  I'm on Ubuntu, anyone else have this issue?
17:37 < Hfuy> Time to buy a Frankenmac of dubious legality from Psystar,
perhaps :D
17:37 < uman> RadSurfer, But "use Linux!!!" does not respond to questions
about whether and when the toolchain will be ported to Windows
17:38 < Thorn> Hfuy: there's Nuke for linux :)
17:38 < Hfuy> uman: don't worry, I'm a windows user on freenode, I'm used to
RadSurferisms :)
17:38 <+robpike> littleodie914: do you have a multicore CPU?  if so, try
this: GOMAXPROCS=4 program_name
17:38 < Hfuy> Thorn: What's that
17:38 < RadSurfer> In any event, "win32 side" can be evaluated under
WinE,VirBox if one cares too
17:38 -!- undernode [n=noname@12.237.249.2] has left #go-nuts ["Leaving"]
17:38 -!- Tommeh [n=Tommeh@80.82.116.12] has joined #go-nuts
17:38 <+robpike> littleodie914: there is no blocking in your programs so
they're running by default as simple coroutines.
17:38 < Thorn> Hfuy: thefoundry.co.uk
17:38 < uman> Hfuy, I use both.  I outgrew Linux fanboyism in 9th grade or
so
17:38 < Hfuy> Oh, that Nuke.
17:39 <+danderson> please, stop with the random talk.  Seriously.
17:39 < littleodie914> robpike: I do have a multicore CPU.
17:39 <+robpike> littleodie914: set GOMAXPROCS to get more cores active
simultaneously.  i tried it and can get 4x speedup on my 4-core CPU
17:39 < Tommeh> Wooh, active peoples :)
17:39 < littleodie914> robpike: Where do I add the GOMAXPROCS?
17:39 <+danderson> littleodie914: set it as an environment variable
17:39 < littleodie914> I have a binary 6.out
17:40 <+danderson> same as GOROOT and friends
17:40 -!- hector [n=chatzill@client-86-0-126-58.nrth.adsl.virginmedia.com] has
joined #go-nuts
17:40 < littleodie914> Ah, thanks danderson, I can do that.
17:40 <+robpike> littleodie914: try GOMAXPROCS=4 6.out
17:40 < scandal> Thorn: re: stacks vs heap
http://groups.google.com/group/golang-nuts/msg/db4f5e85b0b63a78
17:40 -!- boondox [n=boondox@ninthfloor.org] has quit ["leaving"]
17:40 < RadSurfer> MS QuickC, and VisualC, weren't they heavy on Environment
Variables -- not my favorite approach
17:40 < Tommeh> I'm trying to build Go on an Ubuntu Server 9.04 x64 openvz
VE - got as far as running /root/go/src/.all-bash and it's exited with a few
errors.
17:40 < Tommeh> make[1]: *** [test] Error 2
17:40 < Tommeh> make[1]: Leaving directory `/root/go/src/pkg/net'
17:40 < Tommeh> make: *** [net.test] Error 2
17:40 < Tommeh> Anyone have any idea on a remedy, and/or something I might
have done wrong?
17:41 <+robpike> Tommeh: try make.bash instead.  if that runs you're good to
go.  there are some problems with the networking tests
17:41 -!- raichoo [n=raichoo@i577B88E4.versanet.de] has joined #go-nuts
17:41 < Tommeh> All env's are present and correct :)
17:41 < Tommeh> Ah, OK
17:41 -!- ajray [n=alex@wvc32563rh.rh.ncsu.edu] has quit ["Leaving."]
17:41 < littleodie914> Thanks to robpike and danderson.  That was exactly
the fix I was looking for.  :D
17:41 < UKRep547> robpike, why does Print and Println have different
behaviour on arguments?
17:41 < Tommeh> robpike: Running :)
17:41 < Thorn> scandal: interesting
17:41 < Tommeh> And finished!
17:41 <+robpike> littleodie914: you can also import runtime and do
runtime.GOMAXPROCS(4) or whatever
17:42 <+robpike> UKRep547: different because useful in different situations
17:42 < RadSurfer> Only language I ever liked in Win32 was Delphi.  Nothing
else seemed to have appeal.  It's been awhile since I have use that seriously.
17:42 < littleodie914> robpike: I'll try that also.
17:42 < RadSurfer> So is there a particularly niche that Go fulfills?
17:42 -!- Merlin83b [n=Daniel@office.34sp.com] has joined #go-nuts
17:42 < RadSurfer> ie.  what sort of applications are best suited for it
17:42 < blackmagik> RadSurfer, rtfm
17:43 -!- tonyg [n=tonyg@host238.lshift.net] has quit ["Leaving"]
17:43 < UKRep547> robpike, but as a programmer, I might just want to change
whether my print statement outputs a newline or not.  Instead now I have to worry
whether spaces will be interspersed throughout my arguments, also.
17:43 < Hfuy> (if you'll forgive a minor offtopic: hmm, nuke for linux is
cheaper than it used to be - almost competitive!)
17:43 < RadSurfer> The impression was it is meant to be a "general purpose"
language I believe
17:43 < littleodie914> radsurfer:
http://golang.org/doc/effective_go.html#introduction
17:43 -!- twdsje [n=kvirc@64.147.152.13] has joined #go-nuts
17:44 <+robpike> UkReps547: sorry :(
17:44 < UKRep547> it's ok robpike I just see it as potential confusion..
17:44 < Tommeh> Woohoo!  :)
17:44 < Tommeh> root@gotest:~# nano hello.go
17:44 < Tommeh> root@gotest:~# 6g hello.go
17:44 < Tommeh> root@gotest:~# 6l hello.6
17:44 < Tommeh> root@gotest:~# ./6.out
17:44 < Tommeh> hello, world
17:44 < Merlin83b> :>
17:44 < Tommeh> robpike: thank you very much for that :)
17:44 -!- hipe_ [n=hipe@pool-74-108-83-4.nycmny.east.verizon.net] has joined
#go-nuts
17:44 <+robpike> robpike: we aim to please
17:44 < Tommeh> And please you do.
17:44 -!- hipe [n=hipe@pool-74-108-83-4.nycmny.east.verizon.net] has quit [Read
error: 104 (Connection reset by peer)]
17:45 -!- AndrewBC_ [n=Andrew@97.93.242.12] has joined #go-nuts
17:45 < RadSurfer> A shell script would be nice.
17:45 < Tommeh> I'll be back when I break it.  ;D
17:45 -!- artefon [n=thiago@187.20.142.134] has joined #go-nuts
17:46 -!- tasklist7_ [n=tasklist@166.193.92.163] has joined #go-nuts
17:46 < RadSurfer> of course I also like Fortran.  Wonder how much help that
will be :-)
17:47 -!- jarfhy [n=jeff@68.146.152.204] has quit ["Leaving"]
17:47 < UKRep547> robpike, the language looks exciting; besides Print vs
Println, I also worry about capitalisation requirements of private vs public
functions..  this might affect foreign language users of the language, plus it
restricts western developers, too..
17:48 -!- moty66 [n=chatzill@host144-202-static.24-87-b.business.telecomitalia.it]
has joined #go-nuts
17:48 < asonge> UKRep547: it's unicode-safe
17:48 < exch> ruby does the capitalization difference to.  it's no problem
really
17:48 < Thorn> I wonder how well go is suted for parallel number crunching,
e.g.  a rendering engine
17:48 <+robpike> UKRep547: capitalization works great in practice.  your
point about foreign languages is well known and we're thinking about it -
shouldn't be hard to address.
17:48 < asonge> UKRep547: many languages require capitalization of certain
letters for things
17:48 < asonge> (erlang as well as ruby)
17:49 < eno> haskell too
17:49 -!- AndrewBC [n=Andrew@97.93.242.12] has quit [Nick collision from
services.]
17:49 < UKRep547> asonge Japanese, Chinese, for starters don't have
capitalisation
17:49 -!- AndrewBC_ is now known as AndrewBC
17:49 < exch> tbh I think the foreign language argument doesn't hold much
water.  When you are programming in go, you are writing Go. Not chinese.
17:49 < huf> yep
17:49 < sstangl> exch: the goal would be to have Go easy to use.
17:49 < UKRep547> asonge, and it limits those who like typing with the caps
lock key on
17:49 < huf> unicode identifiers should be shot ;)
17:49 < asonge> UKRep547: you'll get no pity from me for caps-lock people.
17:49 -!- tasklist7_ [n=tasklist@166.193.92.163] has quit [Client Quit]
17:50 -!- Rint [i=john@static-71-244-60-125.dllstx.fios.verizon.net] has quit
[Read error: 60 (Operation timed out)]
17:50 -!- Rint [i=john@static-71-244-60-125.dllstx.fios.verizon.net] has joined
#go-nuts
17:50 < Zaba> personally I think that things like where a capital letter
should go and where it shouldn't should be mere conventions of the language, of
its community.
17:50 < sstangl> exch: if you've made a design choice that complicates the
language for a certain base of your users, that's an issue of the language.
17:50 < UKRep547> Zaba, I agree with you; it would be nice if it was a
convention, not a restriction
17:50 < exch> true, but is this really that much of an issue?
17:50 < eno> UKRep547: i'm definitely sure chinese keyboard have Caps-lock
and shift
17:50 -!- camfex [n=d@89.163.17.22] has left #go-nuts []
17:50 < asonge> it just works really well in practice.
17:50 < sstangl> asonge: "suitable for enterprise-class software" ;)
17:50 < UKRep547> asonge, I don't disagree; I'm just thinking this language
will probably really take off, and surely it should be as extensible as possible
17:51 < asonge> sstangl: i'd consider applications that have run for a
decade with 9 9's uptime to be enterprise.
17:51 -!- camfex [n=d@89.163.17.22] has joined #go-nuts
17:51 -!- camfex [n=d@89.163.17.22] has left #go-nuts []
17:51 < asonge> UKRep547: i don't think the language's extensibility was a
goal, honestly.
17:51 < UKRep547> asonge, particularly given how much go has opened the door
to UTF-8 and, in spirit, is designed to be foreigner friendly as much as possible
17:51 < uriel> people using foreign languages in variable names should be
burned at the stake
17:51 < eno> so, what is the syntax for map of string to map of string to
int?
17:51 < Zaba> it's not about extensible, but hey, what if I want _my_ code
to use underscores_between_words rather than camelCase or MixedCase?  No dice, I
need 'em capital letters if I want things public...
17:51 < sstangl> asonge: I don't see what that has to do with the merits of
certain language design.  People always work around stupidity (see: C++).
17:51 < hnaz> uriel: english is foreign to me ;p
17:51 <+robpike> eno: map[string]map[string]int
17:52 < uriel> hnaz: English is foreign to me too, if you can learn to
program, you can learn english
17:52 < huf> hnaz: immaterial.  programming is done in english.
17:52 < UKRep547> shouldn't have to be, huf
17:52 < blackmagik> uriel, that's a little bigoted
17:52 < hnaz> strcpy is not english
17:52 < huf> UKRep547: yes it should.
17:52 < huf> ;)
17:52 < asonge> UKRep547: are you going to i18n every library?
17:52 -!- tasklist7 [n=tasklist@c-98-208-175-116.hsd1.fl.comcast.net] has quit
[Read error: 60 (Operation timed out)]
17:52 < eno> robpike: thx, seems a bit crowded.  one usually recommend type,
right?
17:52 < huf> i cant read weird localized code ;)
17:52 < huf> not even in my native language
17:52 < sstangl> huf: it's difficult to teach children who do not natively
speak English both English and a programming language.
17:53 <+robpike> eno: not sure i understand your question
17:53 < uriel> huf: exactly, should rename Print() Imprimir() because
spanish is my native tongue?  ridiculous
17:53 < UKRep547> I only speak English, myself, huf, but I sometimes wonder
if the Chinese wouldn't take over the world if their language didn't hold them
back computer-wise
17:53 < eno> map[string]T
17:53 < saati> without english you could never read the whole documentation
17:53 < eno> type T map[string]int
17:53 <+robpike> eno: sure, if you've defined T
17:53 < eno> ?
17:53 < eno> ok
17:53 <+robpike> eno: that works great but you don't need that
17:53 -!- F1sh [n=Fish@194.182.65-86.rev.gaoland.net] has quit [Read error: 104
(Connection reset by peer)]
17:53 < hnaz> huf: that's really interesting, I noticed that as well.  it's
probably just being used to stuff
17:53 < sstangl> UKRep547: they certainly can create a Chinese programming
language.  They tried this in Russia, but it didn't catch on.
17:53 < huf> UKRep547: they can learn english like anyone else.
17:54 < huf> it's not fair, but it's how it is.
17:54 < uriel> UKRep547: it is funny that those that care most about
'supporting' programming in other languages are english speakers
17:54 < exch> it's a bit like that klingon programming language..  novelty
at best :p
17:54 < huf> uriel: probably because they've never tried it :)
17:54 < uriel> UKRep547: political correctness is a disease
17:54 < huf> we know how horrible it is
17:54 < UKRep547> possibly, uriel, maybe we're the ones that are thankful
we're not forced to learn another language.
17:54 -!- moty66 [n=chatzill@host144-202-static.24-87-b.business.telecomitalia.it]
has left #go-nuts []
17:54 -!- vmx [n=vmx@dslb-084-056-015-068.pools.arcor-ip.net] has joined #go-nuts
17:55 < sstangl> UKRep547: although, in all honesty, we would probably just
fork the language >_>
17:55 < huf> UKRep547: yes, forced to learn a language you can then use to
communicate with half the world
17:55 < eno> robpike: how do you simulate async message with channel?
17:55 < huf> UKRep547: really terrible ;)
17:55 < Zaba> UKRep547, exactly.  We aren't forced.  We're the ones learning
it because we understand how useful it is.
17:55 < blackmagik> maybe it's the ones that think globally and see value in
internationalization
17:55 < uriel> UKRep547: I had to learn another language, and I'm thankful
that programming is done in a single mostly consistent language, and when people
add comments to code in non-english languages or use non-english var names, I want
to stab them with a pitchfork
17:55 -!- kizzo [n=kizzo@c-24-6-50-117.hsd1.ca.comcast.net] has joined #go-nuts
17:55 < int-e> I wonder how often the glyph o appears in unicode.  Yay for
code obfuscation.
17:55 <+robpike> eno: use a buffered channel.  instead of make(chan int) say
make(chan int, 10) for a channel with 10 buffer slots
17:55 -!- hector_ [n=chatzill@client-86-0-126-58.nrth.adsl.virginmedia.com] has
joined #go-nuts
17:55 -!- npe [n=npe@195.207.5.2] has quit []
17:55 -!- jA_cOp [n=yakobu@ti0043a380-3093.bb.online.no] has joined #go-nuts
17:56 < UKRep547> I'd still like identifiers to be utf-8, and a keyword
instead of capitalisation so I'm free to put whatever chars I want into my
identifier (whitespace and symbols excepted)
17:56 -!- Koen_ [n=Koen@83.101.24.153] has joined #go-nuts
17:56 < sstangl> uriel: English is nice because our keywords skip much of
the grammar complexities other languages have; e.g., gender.  That was claimed as
the reason why the Russian nationalistic programming language failed -- the
programmers were already used to English keywords, and all of the Russian keywords
were subtly wrong.
17:56 <+robpike> UKRep547: try it this way.  you'll likely find it a little
annoying at first but soon realize the advantage of being able to glance at a
piece of code and be able to identify the private and exported pieces
17:56 < sstangl> uriel: so I agree that English makes sense
17:56 < huf> sstangl: also because there's an estabilished jargon in english
17:56 < sstangl> huf: yep
17:57 < uriel> UKRep547: I think it is cool that identifiers are utf-8, I
don't think there is a need to support much more than [A-Z] as first letter to
signal public, perhaps adding greek and latin just for fun
17:57 -!- Silverwolf [n=silverwo@137.132.208.8] has quit [Read error: 60
(Operation timed out)]
17:57 < huf> sstangl: other languages tend to have a cobbled together pile
of shit ;)
17:57 -!- kizzo [n=kizzo@c-24-6-50-117.hsd1.ca.comcast.net] has left #go-nuts []
17:57 -!- Hfuy [n=user@91.85.182.165] has left #go-nuts []
17:57 < UKRep547> robpike, I worked in a company whereby classes and hosts
were identified by leading lowercase or uppercase character.  I understand the
convenience value.  Anyway I've had my say on the topic and I appreciate you've
heard me :) Time for me to go home..
17:57 < huf> so i can say "closure" and everyone knows what i mean.  i cant
find a word like that in hungarian (for example)
17:57 -!- F1sh [n=Fish@86.65.182.194] has joined #go-nuts
17:57 -!- hector__ [n=chatzill@client-86-0-126-58.nrth.adsl.virginmedia.com] has
joined #go-nuts
17:57 -!- joeedh_sleep is now known as joeedh
17:57 < sstangl> to be fair, Russia mostly uses C++ and Delphi, so they're
still wrong ;0
17:58 < exch> english is far from 'pure' as well, but it's very well
established.  So there's little reason to devate from it unless you are
deliberately trying to obfuscate
17:58 < huf> yep.
17:58 -!- Raziel2p [n=Raziel2p@ti0032a380-dhcp0316.bb.online.no] has quit [Read
error: 110 (Connection timed out)]
17:58 < huf> it's not perfect but it's what we got, and there's no advantage
in breaking the standards ;)
17:58 < uriel> huf: yup, I worked with others on translating the Plan 9
papers to spanish, it was a nightmare, most stuff is either impossible to
translate, or when translated makes no sense
17:58 -!- oleganza_ [n=oleganza@pro75-5-88-162-202-183.fbx.proxad.net] has left
#go-nuts []
17:59 < Associat0r> sstangl http://www.youtube.com/watch?v=YJZqq8UdtqE
17:59 < uriel> (somebody please tell me how one translates 'namespace' to
spanish, and don't tell me 'espacio de nombers')
17:59 < depood> mh..  maybe a stupid question but map[string]int ...  a map
of strings ..  but whats this int ? :X
17:59 < huf> uriel: yep ;) that's why i'm generally against software
translation.  translate the manuals if you have to, but better yet, teach people
to speak english :)
17:59 < jA_cOp> So I was wondering how I'd make my own packages in Go, I
tried making a file test.go and then: import "./test" but that threw a compiler
error as it could not find "./test"...  how is it supposed to be done?
17:59 < Thorn> sstangl: Russia mostly uses microsoft (meaning c# at best)
and the horrible 1c language with Russian keywords
17:59 <+danderson> depood: string keys, int values.
17:59 < sstangl> Associat0r: they still teach Pascal in school :<
17:59 < uriel> so, given that complete translation is impossible, it means
you end up mixing languages, which is much worse
17:59 < saati> depood: its a map with string keys and int values
17:59 < exch> I tried translating some code related stuff to Dutch once..
Only then I realized how much we rely on English.  We don't even have words for
half of the programming concepts commonly used
17:59 < depood> ah ok thanks :)
18:00 < huf> uriel: well, using the english terms is one better than
translating them
18:00 < uriel> exch: exactly
18:00 < huf> uriel: but just one.
18:00 < Zaba> sstangl, visual basic too
18:00 < hnaz> exch: germans do, that's even worse
18:00 -!- UKRep547 [n=jcricket@80.68.93.104] has quit ["Was an honour to get to
chat with a developer of a new language."]
18:00 -!- kaib [n=chatzill@nat/google/x-voxltlpvxoyvokrj] has joined #go-nuts
18:00 -!- mode/#go-nuts [+v kaib] by ChanServ
18:00 < unomystEz> if someone is considering you for a position, should
write to them like "Thank you for your consideration..."?
18:00 < exch> heh that should be fun to read sometime
18:00 < uriel> and the least said about the French the better ;P
18:00 <+kaib> morning everyone
18:00 -!- afurlan [n=afurlan@scorpion.mps.com.br] has joined #go-nuts
18:00 < hnaz> exch: because in german universities you learn the german
nomenclature and have no idea how the rest of the world calls stuff
18:01 -!- hector [n=chatzill@client-86-0-126-58.nrth.adsl.virginmedia.com] has
quit [Read error: 60 (Operation timed out)]
18:01 < unomystEz> or is it "...  my consideration" or "...  the
consideration"?
18:01 -!- hector__ is now known as hector
18:01 < Associat0r> sstangl what should be thaught according to you?
18:01 * uriel had a friend (boyd for those that knew him :)) that used to program
using azerty, he was mad, mad, mad :))
18:01 < exch> hnaz: is that an extension of the german's habit to dub all tv
series and movies?
18:01 < sstangl> Associat0r: Scheme or Python
18:01 < AndrewBC> G'morning kaib.
18:01 -!- slide_rule [i=81028675@gateway/web/freenode/x-qvvrpojrlctkmluh] has
joined #go-nuts
18:02 < jA_cOp> I tried looking, but is there a document strictly related to
packages?  I looked around on golang.org, but there's no info on making your own
packages.
18:02 < hnaz> exch: don't get me started on this one...
18:02 -!- FireSlash [n=mew@rrcs-96-11-129-63.central.biz.rr.com] has joined
#go-nuts
18:02 < exch> fair enough :)
18:02 < afurlan> how can I lookup if there's in a map?  like the following
in python "if my_dict.get(x): ..."
18:02 < sstangl> Associat0r: CMU (my university) currently teaches intro
courses using Java, but we're considering a switch to Python.
18:03 -!- golangguru [n=chatzill@124.125.104.56] has joined #go-nuts
18:03 -!- hipe_ [n=hipe@pool-74-108-83-4.nycmny.east.verizon.net] has quit [Remote
closed the connection]
18:03 < sstangl> Associat0r: mostly because Python has less syntax, and
students are frequently confused by syntax instead of logic.
18:03 < scandal> afurlan: val, ok := a[x] ok is bool which indicates if
present
18:03 < Associat0r> sstangl yeah that is true
18:03 -!- smooge [n=smooge@int.smoogespace.com] has joined #go-nuts
18:03 < uriel> sstangl: I'm thinking go might be a very good introductory
language for CS courses (perhaps along with Scheme)
18:03 < huf> sstangl: i dont think it's a good sign if you're cofused by
syntax :) how will you ever program in the real world then?
18:04 -!- brianmac [n=Brian@75-151-32-30-Naples.hfc.comcastbusiness.net] has
joined #go-nuts
18:04 < sstangl> uriel: It would certainly be much, much better than what is
currently being proposed by our faculty, which is a "type-safe C" variant
18:04 < golangguru> hi all how is GoLang?
18:04 < sstangl> huf: when students start learning Java, we tell them to
ignore all the class, import, and package boilerplate, and just accept that it has
to exist and look that way.
18:04 < afurlan> scandal, thanks
18:05 < unomystEz> so what can I use golang for?
18:05 <+iant> mwarning: your question from a while back: 6g/8g do generate
NaCl code today, but I think that closures don't work yet because they need some
support from the NaCl side
18:05 < Quadrescence> unomystEz: One can use golang to write programs, among
other things.
18:05 < golangguru> can we use golang for web apps like PHP?
18:05 -!- Nemesis][ [i=nemesis2@nemesis2.qx.net] has left #go-nuts []
18:05 < huf> sstangl: oh, that kind of syntax.  boilerplate.  well yeah,
*that* is hard on a beginner
18:05 < asonge> golangguru: it won't work the same way, honestly
18:05 < unomystEz> Quadrescence: where does it accel?
18:05 < unomystEz> Quadrescence: excel
18:05 < Quadrescence> unomystEz: Did you read the tutorial/FAQ?
18:05 < saati> unomystEz: have you read the site?
18:05 < asonge> golangguru: there's a templating library based on
jsontemplate
18:06 < unomystEz> I will now
18:06 < asonge> golangguru: golang's would be much more useful for something
more complicated
18:06 * asonge can't english today
18:06 < golangguru> asonge:oh ok
18:06 < mwarning> iant, ok, thanks for answering.  I thought you were way to
busy.  :)
18:06 <+iant> mwarning: just starting late today
18:07 < mwarning> hehe
18:07 < Thorn> oh, btw, how good is go at using native code?
18:07 < hector> iant: is Google considering porting Go to Windows, and if so
will it be sooner rather than later?
18:07 < golangguru> asonge: what golang is for?
18:07 <+iant> Thorn: Go generates native code, not sure if that is what you
are asking
18:07 < uriel> iant: do you actually *sleep*?  you are going to make us
believe you are actually human...
18:07 < sstangl> hector: afaik Google is not, but others are welcome to port
it.
18:07 <+iant> hector: the current Go team doesn't have the people or
knowledge to port to Windows
18:07 < sstangl> hector: I believe this is now addressed in the FAQ
18:07 < uriel> hector: andguent is working on a windows port
18:07 < Thorn> iant: I mean using native libraries like OpenGL for example
18:08 <+iant> uriel: hey, I was just away for 12 hours....
18:08 < asonge> golangguru: best answer is probably modern programs...web
applications would fit into that...it's a general purpose language
18:08 -!- srdjan [n=srdjan@84.88.50.46] has quit [Read error: 110 (Connection
timed out)]
18:08 < jA_cOp> I'll try with a shorter question: How do I make and import
my own packages?
18:08 < Thorn> web apps need a database interface don't they?
18:08 -!- glewis [n=chatzill@cpe-98-154-103-91.socal.res.rr.com] has quit
["ChatZilla 0.9.85 [Firefox 3.5.4/20091028153816]"]
18:08 -!- engla [n=ulrik@wikipedia/Sverdrup] has quit [Read error: 60 (Operation
timed out)]
18:08 <+iant> jA_cOp: I think the site answers that fairly well
18:09 <+iant> Thorn: most do, yes, some database work is happening
18:09 < jA_cOp> iant: I've looked around, but I can't find it.  The
specification says it's implementation specific and not much else.  I'll keep
looking though.
18:09 -!- dsal [n=Adium@75-149-58-110-SFBA.hfc.comcastbusiness.net] has joined
#go-nuts
18:09 -!- joxer [n=shrdlu@93-63-202-2.ip29.fastwebnet.it] has joined #go-nuts
18:10 < joxer> hello world
18:10 < keeto> jA_cOp:
http://jb55.com/114/building-and-installing-your-first-go-package/
18:10 -!- jahluv [n=noneyah@port0109-ahp-adsl.cwjamaica.com] has quit []
18:10 < asonge> i can see some really great libraries where the db
interaction can happen in goroutines while other utility things are being run then
the page is assembled when the db stuff comes in.
18:10 <+iant> jA_cOp: maybe I misunderstand the question; are you asking how
import works?
18:10 < Thorn> ...then someone should bite the bullet and write an orm...
18:10 < jA_cOp> Thanks keeto!
18:10 < keeto> np.  :)
18:10 -!- garfield [n=uwekloss@p548668B5.dip.t-dialin.net] has joined #go-nuts
18:10 -!- raichoo [n=raichoo@i577B88E4.versanet.de] has quit [Read error: 104
(Connection reset by peer)]
18:10 < asonge> Thorn: ORM isn't the end-all be-all of db interaction...sql
is quite powerful...and no ORM's can really completely replace it, imho
18:10 < jA_cOp> iant: No, you're probably understanding it correctly
18:10 < asonge> but, let's avoid an ORM war.
18:10 < twdsje> For what it's worth I really don't think the majority of
people jump on board until you have a windows installer.  An ide like eclipse
would also be helpful.
18:11 -!- raichoo [n=raichoo@i577B88E4.versanet.de] has joined #go-nuts
18:11 < dsal> (got kicked off earlier): I'm a bit confused by interfaces and
references: *net.Conn is not io.Reader (net.Conn itself is ioReader, AFAICT)
18:11 -!- lux` [n=lux@151.54.240.177] has joined #go-nuts
18:11 < lux`> hi all
18:11 <+iant> twdsje: likely enough
18:11 <+danderson> twdsje: yes, and contributions to get the port working
are most welcome :)
18:11 -!- raichoo [n=raichoo@i577B88E4.versanet.de] has quit [Read error: 104
(Connection reset by peer)]
18:11 < slide_rule> twd: I don't think anyone's *looking* for a majority yet
- I've been thinking of it as a massive beta.
18:11 <+iant> dsal: if net.Conn is io.Reader, then *net.Conn should be as
well
18:12 < joxer> hi lux`
18:12 -!- raichoo [n=raichoo@i577B88E4.versanet.de] has joined #go-nuts
18:12 < AndrewBC> it'd be good to have an IDE, but personally I'm going to
crawl before I walk.  Get some Curses functionality working, then making a simple
nano-like editor.
18:12 <+iant> dsal: there must be something else going wrong there, I think
18:12 -!- temoto [n=temoto@217.173.74.146] has joined #go-nuts
18:12 -!- temoto [n=temoto@217.173.74.146] has left #go-nuts ["WeeChat 0.3.1-dev"]
18:12 -!- limec0c0nut [n=michael@c-24-12-53-42.hsd1.il.comcast.net] has joined
#go-nuts
18:12 < twdsje> Well it's really just a matter of starting the project :)
18:12 < asonge> is there going to be any way to create custom channels?
18:12 < Thorn> asonge: a good orm lets you use the full power of sql while
doint trivial crud stuff automagically
18:12 < twdsje> Eclipse is great and all but come on we all hate how slow it
is.  There'd be plenty of interest to get it going.
18:12 <+robpike> dsal: see
http://golang.org/doc/effective_go.html#pointers_vs_values
18:13 < dsal> iant: OK, that's what I thought.  I'm confused, then.  :/
net.Conn has Read(b []byte) (n int, err os.Error) and io.Reader is Read(p []byte)
(n int, err os.Error)
18:13 < Thorn> what would it take to write a Qt adaptation layer for go?  is
it even feasible?
18:14 <+iant> Thorn: it is feasible; see misc/cgo for a small example
18:14 < saati> the site mentions an ffi for 6g if i am not mistaken
18:14 < slide_rule> i've been playing around with implementing a binary
search tree in go (just to get familiar), and I've run across some stumbling
blocks.  Is there an implementation out there I could peruse?
18:14 <+robpike> dsal: i know what's confusing you.  net.Conn is an
interface, not a struct.  there's likely no need to take its address/make a
*net.Conn
18:14 < saati> where can i find it's docs?
18:14 <+iant> saati: see misc/cgo, not much in the way of docs yet
18:15 < saati> ty
18:15 -!- hector_ [n=chatzill@client-86-0-126-58.nrth.adsl.virginmedia.com] has
quit [No route to host]
18:15 -!- redcuber [n=tiju@65.242.175.35] has joined #go-nuts
18:15 < dsal> robpike: Yeah, it's clearer after that file finished compiling
and got to the place where I was creating it.
18:15 -!- dbtid [i=u70dt0x7@unaffiliated/dbtid] has joined #go-nuts
18:15 -!- udgover [n=udgover@194.250.173.252] has quit ["Leaving"]
18:15 < keeto> I wish someone would write go materials for people learning
go without the need for a background in C or C++.
18:16 -!- jcfiala [n=jfiala@12.129.230.76] has joined #go-nuts
18:16 < uriel> Thorn: not all web apps need a database, see for example
werc: http://werc.cat-v.org (I'm planning to port werc to go, once I have
rewritten the tools it uses in go too)
18:16 <+robpike> keeto: please do!
18:16 -!- sea-gull_ [n=sea-gull@95-28-26-0.broadband.corbina.ru] has joined
#go-nuts
18:16 < keeto> wish I could.  x)
18:16 -!- rakd [n=rakd@219.117.252.7.static.zoot.jp] has quit [Read error: 104
(Connection reset by peer)]
18:16 < keeto> I could grapple the basic concepts, but pointers make me
woozy.
18:16 * keeto comes from a js background...
18:16 < JBeshir> Hmm, so, it's the right time of day to ask now.  There's
some mention in the FAQ about the implementation of the runtime of concern for the
footprint.  I'm wondering if it's expected at current for it to be a bit over
5600KB using 6g and 6l on linux/amd64, and if so, whether that's planned to be
improved, and if so, whether that's "slight longterm optimisation" or "drastic
optimisation relatively soon".
18:16 -!- Tommeh [n=Tommeh@80.82.116.12] has left #go-nuts ["Leaving"]
18:17 -!- freenose [n=freenose@204.97.199.7] has left #go-nuts []
18:17 < dsal> Yeah, that was completely obvious once I got this file to
compile and I saw what I did wrong in the other file.  This is a refactoring
exercise.  :)
18:17 <+iant> JBeshir: no drastic optimizationexpected relatively soon, at
any rate
18:17 <+robpike> JBeshir: i think you're off by an order of magnitude.
also, the runtime footprint includes a lot of type info for reflection.  the text
of the runtime is around 120KB
18:18 < Thorn> uriel: the only web app w/o db I've come across is wakaba if
I'm not mistaken, this is very rare even though possible
18:18 -!- sea-gull [n=sea-gull@95-28-43-249.broadband.corbina.ru] has quit [Read
error: 60 (Operation timed out)]
18:18 < asonge> my hello world was 500K-ish
18:18 < JBeshir> robpike: That's what htop displays.
18:18 < JBeshir> And top, for that matter.
18:18 < JBeshir> And ps aux.
18:18 < JBeshir> I just stuck a for true { } at the end to make it persist
for a moment, hit Ctrl+Z, and looked, and I saw 56XX as the value for that field.
18:18 <+robpike> jBeshir: the current allocator grabs a big piece of memory
when it starts.  that number you're seeing is artificially large, i suspect
18:19 < asonge> Thorn: i think the point of the language being open-sourced
now was library support for all the standard
stuff...mysql/pgsql/couchdb/memcached/etc
18:19 -!- kayo [i=c9090089@gateway/web/freenode/x-qjzkcdsxixkojhpw] has joined
#go-nuts
18:19 < jA_cOp> Ah, thanks keeto, that worked great
18:19 < Thorn> ah, werc seems a wakaba clone
18:19 < JBeshir> That's pretty high, though, isn't it?  I mean, as I heard,
Java only starts with 4MB
18:19 -!- connerk [n=connerk@cpe-069-134-147-205.nc.res.rr.com] has quit ["Bye"]
18:19 -!- flyfish [n=flyfish@pixout.appriss.com] has joined #go-nuts
18:19 -!- callahad [n=dan@198.179.137.23] has joined #go-nuts
18:19 <+danderson> ...  and immediately balloons to 2GB...
18:19 <+iant> JBeshir: the amount of virtual address space isn't very
interesting, though
18:19 * asonge was waiting for that one
18:19 < JBeshir> iant: I'm referring to RSS
18:20 <+danderson> sorry, it was easy, and I should have known better.
18:20 < JBeshir> Haha.
18:20 <+iant> you're saying the RSS was 5600K == 5M?
18:20 < JBeshir> Yes.
18:20 < Thorn> asonge: let's hope that this is true, don't forget
sdl/opengl/GUIs/whatever other popular non-web-related libraries remain :)
18:20 -!- jchico [n=jchico@user-387hok4.cable.mindspring.com] has joined #go-nuts
18:20 < JBeshir> I've been trying to find out if that's supposed to be that
way.
18:20 <+iant> JBeshir: I don't see anything like that, I see more like 200K
<< 5M
18:21 <+iant> that is, I see 200K, which is much less than 5M
18:21 < Thorn> virtual address space is important in a virtuozzo container,
it's a big pain with java
18:21 <+iant> the VSZ is much larger, gratned
18:21 -!- shinh [n=i@w133104.ppp.asahi-net.or.jp] has joined #go-nuts
18:21 <+iant> I see 1.5M there
18:21 < JBeshir> "namegduf 32763 0.0 0.2 6816 5092 pts/13 T 09:18 0:03
./6.out" Is the line I see in ps aux for my hello-work-with-infinite-loop
'program'.
18:22 <+robpike> JBeshir: i just tried it on mac and saw 1.2M, which feels
about right
18:22 < uriel> Thorn: not using a db (specially not an SQL db) also allows
your app to be much simpler (and actually faster)
18:22 < JBeshir> The 5092 is the RSS, and the man page stats it's in
"kiloBytes"
18:22 <+iant> JBeshir: odd, what system is this on?  and do you allocate any
memory in the loop?
18:22 -!- katratxo [n=katratxo@ec2-79-125-6-47.eu-west-1.compute.amazonaws.com]
has left #go-nuts []
18:22 < JBeshir> iant: No, it's literally "for true { }"
18:23 <+iant> huh
18:23 -!- boebbel [n=magnus@dslb-084-056-030-134.pools.arcor-ip.net] has joined
#go-nuts
18:23 -!- littleodie914 [n=Craig@rover-210-5.rovernet.mtu.edu] has quit []
18:23 <+robpike> JBeshir: write that as for {}
18:23 < asonge> uriel: next time i need to write some statistically-based
aggregation queries, i'll be sure to forego the 10-line sql query for however long
iterating over that data would take in the normal course of things :)
18:23 < boebbel> if *extract
18:23 -!- jarfhy [n=jeff@68.146.152.204] has joined #go-nuts
18:23 < boebbel> {
18:23 < boebbel> os.Stdout.WriteString("hello")
18:23 -!- Koen_ [n=Koen@83.101.24.153] has quit ["leaving"]
18:23 < boebbel> }
18:23 < boebbel> where is the syntax error?
18:23 < JBeshir> Hold on a sec.
18:23 -!- Koen_ [n=Koen@83.101.24.153] has joined #go-nuts
18:23 < boebbel> i cant find it :(
18:23 < dsal> OK, as of now, I'm pretty happy with my memcached server.
18:23 < JBeshir> http://pastebin.com/m445fee03 <-- This is the script.
18:23 -!- jcfiala [n=jfiala@12.129.230.76] has left #go-nuts []
18:23 <+robpike> boebbel: perhaps it's before or after, like a missing
semicolon before the if
18:24 <+iant> JBeshir: I tried an infinite loop, and RSS does get up to 1M
18:24 < boebbel> i thougt i dont need a semicolon
18:24 < JBeshir> iant: It's linux/amd64
18:24 < JBeshir> Using 6g and 6l
18:24 <+iant> JBeshir: I'm not sure where your additional memory usage is
coming from
18:24 <+robpike> you don't inside the if.  but let's say you have x=1 on the
line before the if; it needs a semicolon
18:24 -!- core|Greenberet [n=green@chello213047159123.33.11.vie.surfer.at] has
joined #go-nuts
18:24 < core|Greenberet> hi
18:25 < JBeshir> Yeah...  I'm glad to hear it's not SUPPOSED to be that way,
which is the first thing I've been trying to find out.
18:25 < dsal> Is there any kind of timer module?  I'd like to call a
function after a certain amount of time has passed.
18:25 < uriel> asonge: I'd rather use Sawzall ;P
18:25 < JBeshir> (Because it looks like a good language and I want to use it
for small stuff whose traditional finished memory usage is below that)
18:25 -!- lux` [n=lux@151.54.240.177] has quit [Remote closed the connection]
18:25 <+robpike> dsal: time.Tick and time.Ticker might help
18:25 < JBeshir> So...  next thing is, do people on linux/amd64 see that as
not happening
18:25 < uriel> robpike: btw, any chance Sawzall will ever be released?
18:26 < JBeshir> And if not, where should I look next?
18:26 <+robpike> dsal: or just go func() { time.Sleep(someTime); f() }();
18:26 <+robpike> uriel: very unlikely
18:26 < JBeshir> I cloned yesterday and built pretty quickly, and this is a
pretty unmodified Debian Squeeze system.
18:26 < uriel> robpike: oh :/ well, maybe somebody should do a
re-implementation in Go ^_^
18:26 <+iant> JBeshir: offhand I'm not sure, though I guess it must have
something to do with the memory allocation system
18:26 < limec0c0nut> JBeshir: I'm linux/amd64, what's your code?
18:26 <+danderson> uriel: that would be cool.
18:26 <+iant> JBeshir: I'm sure that that could be tuned downward
18:26 -!- lasko [n=lasko@70.99.232.187] has joined #go-nuts
18:26 < JBeshir> limec0c0nut: http://pastebin.com/m445fee03
18:26 <+iant> JBeshir: that is all in runtime/m*
18:26 -!- gri [n=gri@nat/google/x-mqivzbkqoljrbfms] has joined #go-nuts
18:26 < uriel> danderson: indeed
18:26 < core|Greenberet> im new to go and i couldn't find the answer to this
question on the website: Can i write if( 0 < x < 10 ) instead of if( 0 <
x && x < 10 ) in go?
18:27 <+danderson> uriel: although to completely reproduce Sawzall you'd
need a mapreduce implementation as well, to distribute the work
18:27 < dsal> robpike: I like that one, I'll worry about what happens when
there are millions of those later.  :)
18:27 -!- travisbrady_ [n=tbrady@67-207-96-194.static.wiline.com] has joined
#go-nuts
18:27 < JBeshir> Ctrl+Z it as soon as it starts, look at ps
aux/top/htop/something and see how big the RSS/RES is.
18:27 <+danderson> but I've often missed a sawzall to analyze my own logs.
18:27 -!- Spion [n=spion@unaffiliated/spion] has quit [Read error: 104 (Connection
reset by peer)]
18:27 -!- steinrs [n=steinrs@unaffiliated/steinrs] has joined #go-nuts
18:27 -!- mode/#go-nuts [+v gri] by ChanServ
18:27 <+iant> core|Greenberet: no
18:27 < uriel> danderson: yea, we would need a go-map-reduce, should be fun
:)
18:27 < steinrs> wassup in issue9 land'
18:28 -!- freenose [n=freenose@204.97.199.7] has joined #go-nuts
18:28 -!- Husio [i=husiatyn@oceanic.wsisiz.edu.pl] has joined #go-nuts
18:28 < Husio> hello
18:28 < JBeshir> I mean, it could be something about my setup, now I know it
isn't supposed to be using 5.6MB for this, but I wouldn't know where to search.
18:28 -!- kayo [i=c9090089@gateway/web/freenode/x-qjzkcdsxixkojhpw] has left
#go-nuts []
18:28 <+danderson> JBeshir: glad you found out that it's not expected at
least.
18:28 < core|Greenberet> damnit =(
18:28 < JBeshir> Yeah.
18:29 <+danderson> JBeshir: what OS/architecture is this?
18:29 < JBeshir> linux/amd64
18:29 -!- Merlin83b [n=Daniel@office.34sp.com] has quit [Read error: 104
(Connection reset by peer)]
18:29 <+danderson> strange
18:29 < JBeshir> It doesn't go up over time, it just starts huge and stays
huge.
18:29 <+danderson> dumping a core of the runtime might provide the basis for
some analysis
18:30 <+danderson> gotta run for now, but a little later I could try to
reproduce and see if something can be derived
18:30 < limec0c0nut> JBeshir: My RSS is 5712
18:30 < JBeshir> limec0c0nut: Okay, so you see it too.
18:30 < limec0c0nut> Yup.  Wish I could valgrind this.
18:30 < limec0c0nut> Well maybe I can...
18:30 <+iant> I was giving numbers for 386, so it's possible that the memory
allocator grabs a bunch of memory at startup
18:30 -!- morganq [n=kriuq@68-112-229-129.dhcp.oxfr.ma.charter.com] has joined
#go-nuts
18:30 <+robpike> iant: i was using amd64 and still seeing only a megabyte
18:31 <+iant> ah, OK
18:31 <+iant> good
18:31 -!- core|Greenberet [n=green@chello213047159123.33.11.vie.surfer.at] has
quit ["( www.nnscript.com :: NoNameScript 4.2 :: www.regroup-esports.com )"]
18:31 -!- flu [n=jogoodma@conger.bio.indiana.edu] has joined #go-nuts
18:31 < JBeshir> Hmm, okay...  next step, then...
18:31 < JBeshir> limec0c0nut: What distro?
18:32 -!- fejes [n=fejes@134.87.4.251] has joined #go-nuts
18:32 < JBeshir> There's some commonality between our stuff that robpike
lacks, or something.
18:32 < limec0c0nut> JBeshir: Ubuntu 9.04
18:32 < JBeshir> I'm on Debian Squeeze, as I mentioned...  both
Debian-derived, but not much else in common on the surface.
18:32 < rog> http://pastebin.com/f11af9204
18:32 <+robpike> JBeshir: i'm betting on the os version.  we can try to find
an instance to play with here
18:33 < JBeshir> I was thinking about GCC version, since I know the compiler
is written in C.
18:33 <+robpike> rog: how does it compare with the one in test/bench?
18:33 < limec0c0nut> Maybe we have different libc's?
18:33 < JBeshir> (Well, IIRC)
18:33 -!- redcuber [n=tiju@65.242.175.35] has left #go-nuts ["Ex-Chat"]
18:33 < JBeshir> limec0c0nut: What's your version of GCC?
18:33 -!- Wiz126 [n=Wiz@72.20.223.242] has joined #go-nuts
18:33 < rog> robpike: it's about 20% faster
18:33 < JBeshir> Oh, libc, let me look.
18:33 -!- AndrewBC [n=Andrew@97.93.242.12] has quit [Read error: 60 (Operation
timed out)]
18:33 <+iant> JBeshir: the compiler is written in C but that seems to me to
be unlikely to affect the RSS of the Go program
18:33 < rog> and about 35 lines shorter :-0
18:33 < rog> :-)
18:34 < JBeshir> iant: Okay.
18:34 -!- faceface [n=dmb@bioinformatics.org] has joined #go-nuts
18:34 < rog> i just sent an email to the list with it in
18:34 <+robpike> rog: great!  do you know why?  we'd be happy to accept it
as the official version in the benchmarks....
18:34 < poucet> danderson: hey
18:34 < rog> robpike: i think it's just much simpler
18:34 < steinrs> does Go use a backend like llvm, or is everything made
in-house?
18:34 < boebbel> what means "test.go:22: extract(flag.Arg(2)) used as
value"?
18:34 < rog> robpike: it uses a really straightforward monitor technique
18:35 <+robpike> boebbel: give us some context please
18:35 -!- faceface [n=dmb@bioinformatics.org] has left #go-nuts []
18:35 < limec0c0nut> steinrs: Not currently.  There's gccgo, which uses the
GCC backend.  Otherwise in-house.
18:35 -!- jmacelro [n=jmacelro@nat.ironport.com] has joined #go-nuts
18:35 < steinrs> k
18:35 <+iant> steinrs: there are two compilers.  One is in-house based on
plan9/inferno compilers, the other is gcc
18:35 <+robpike> rog: i wrote all those benchmarks in a great hurry one
week.  delighted you found a better method
18:35 < JBeshir> I'm using libc-2.10.1
18:35 < JBeshir> Also labeled as libc.so.6
18:35 < boebbel> i am trying to give the function extract(string) the string
flag.Arg(2)
18:35 < rog> robpike: the technique is a useful one that i've used a lot in
limbo.
18:35 < limec0c0nut> boebbel: My guess is extract returns void and you're
using its return value.
18:36 < JBeshir> (I'm not sure what to call it, it's not the major
version...  API version?)
18:36 < rog> i think there's room for a "concurrent programming patterns in
go" web page
18:36 <+robpike> rog: you mean chan-as-montor?  we use it in go a lot too
18:36 < rog> robpike: yup.
18:36 < limec0c0nut> Mine is 2.9-4ubuntu6.1
18:36 < limec0c0nut> The package version, at least...
18:36 < JBeshir> Not that far off.
18:36 < boebbel> thats right
18:36 -!- flu [n=jogoodma@conger.bio.indiana.edu] has left #go-nuts []
18:37 < boebbel> how can i return true like in c or c++ ?
18:37 < rog> robpike: in this case it's a chan-as-monitor guarding some
shared state which includes a chan-as-RPC
18:37 -!- argon [i=argon@bshellz/developer/argon] has joined #go-nuts
18:37 <+robpike> rog: believe me, i know we need more patterny documentation
especially for concurrency
18:37 <+iant> boebbel: is extract a function you wrote?  just give it a
return type
18:37 -!- x-ip [n=sakura@unaffiliated/x-ip] has quit [Read error: 60 (Operation
timed out)]
18:38 < boebbel> yes it is
18:38 < slide_rule> why can't I use cmp (type func(this Foo, that Foo)
(int)) as type func(a interface { }, b interface { }) (int)?
18:38 < boebbel> i wrote at the end return true;
18:38 < rog> robpike: the nice thing is that a lot of the patterns compose
really nicely
18:38 -!- AlanT1 [n=Work@69.15.110.53] has joined #go-nuts
18:38 <+iant> boebbel: what is the function signature?
18:38 < boebbel> but then there is the error too many arguments to return
18:38 <+iant> is it something like func extract(s string) bool { ...  } ?
18:38 < boebbel> no it is void ^^
18:38 < boebbel> sry
18:38 <+robpike> slide_rule: because the static type of the funcs differs.
see the section on type equality in the spec.
18:39 -!- ebolaflu [n=ebolaflu@adsl-068-016-104-079.sip.asm.bellsouth.net] has
joined #go-nuts
18:39 < boebbel> now it works thanks
18:39 <+robpike> robpike: if v satisfies interface I, then v can be assigned
to I but v does not have the same static type as I
18:39 < JBeshir> So, what should I do for this bug?
18:39 -!- clearscreen [n=clearscr@e248070.upc-e.chello.nl] has joined #go-nuts
18:40 -!- AlanT [n=Work@69.15.110.53] has quit [Read error: 104 (Connection reset
by peer)]
18:40 < JBeshir> I can try testing on more stuff, but I basically only have
Debian Stable available.
18:40 -!- travisbrady__ [n=tbrady@67-207-96-194.static.wiline.com] has joined
#go-nuts
18:40 -!- gokoon [n=gokoon@stp25-1-82-225-19-48.fbx.proxad.net] has joined
#go-nuts
18:40 < limec0c0nut> JBeshir: Memory usage isn't really a bug...  they
probably already know.
18:40 <+robpike> rog: do you want to submit your cham as a CL? it's a minor
hassle - you need to set yourself in CONTRIBUTORS etc.
18:40 -!- existsec [n=existsec@yosemite.yosemite.edu] has joined #go-nuts
18:40 <+iant> JBeshir: file an issue, I suppose, with OS information, we can
try to recreate it or at least understand it
18:40 < rog> robpike: unrelated question: chans are used as iterators a lot
- but what happens if the reader doesn't want to consume the entire stream?  close
doesn't seem to stop a writer writing.
18:40 < JBeshir> limec0c0nut: It is in this case, we were just discussing
it; rob measures 1MB where we measure 5.6MB
18:40 < rog> robpike: yeah, why not
18:40 < JBeshir> iant: Okay.
18:40 <+robpike> rog: known issue very high on our to-fix list
18:41 < limec0c0nut> I see
18:41 <+robpike> rog: we wanted to fix it before release but couldn't find
the tme
18:41 < rog> robpike: cool.  what's the fix?
18:41 -!- Lucas_BR [i=c8661f4b@gateway/web/freenode/x-bbtgsdgqxogxcrvh] has joined
#go-nuts
18:41 <+robpike> rog: not thought out yet or else it would be done....
18:42 < Lucas_BR> hey everyone
18:42 -!- travisbrady [n=tbrady@67-207-96-194.static.wiline.com] has quit
[Connection timed out]
18:42 -!- travisbrady__ is now known as travisbrady
18:42 < rog> robpike: ok.  FWIW my initial assumption was that writing to a
closed channel killed the process.
18:42 -!- travisbrady [n=tbrady@67-207-96-194.static.wiline.com] has quit [Remote
closed the connection]
18:42 -!- travisbrady [n=tbrady@67-207-96-194.static.wiline.com] has joined
#go-nuts
18:43 -!- xk0der [n=xk0der@122.171.5.148] has quit [Read error: 104 (Connection
reset by peer)]
18:43 -!- bbeck [n=bbeck@dxr-fw.dxr.siu.edu] has quit ["leaving"]
18:43 <+robpike> rog: not sure actually.  i've been on other things lately.
drop a note to rsc
18:43 < Lucas_BR> okay, i'm having problems when setting up gccgo...  anyone
can help me?
18:43 -!- xk0der [n=xk0der@122.171.5.148] has joined #go-nuts
18:43 -!- indy [n=chris@p4FC17C44.dip.t-dialin.net] has joined #go-nuts
18:43 <+iant> rog: writing to a closed channel doesn't kill the process,
that would be painful because you would have to coordinate before all closes
18:43 < slide_rule> robpike: ok, I think I understand: so is there a way to
declare a variable that's a function with general arguments and then assign to it
a function with specific arguments?  (does that make sense?)
18:43 <+iant> rog: continually writing to a closed channel does kill the
process eventually
18:44 <+iant> Lucas_BR: what are your problems?
18:44 < indy> quit
18:44 -!- indy [n=chris@p4FC17C44.dip.t-dialin.net] has quit [Client Quit]
18:44 -!- bbeck [n=bbeck@dxr-fw.dxr.siu.edu] has joined #go-nuts
18:44 -!- amacleod [n=amacleod@c-71-192-107-59.hsd1.ma.comcast.net] has joined
#go-nuts
18:44 <+iant> slide_rule: If I understand the question, the answer is no
18:44 <+robpike> slide_rule: assign it directly?  no.  wrapping using args
with type interface{} can help, as can using ..., but those aren't as convenient.
18:45 < rog> iant: how much later?
18:45 < Lucas_BR> +iant i kinda need to install some prerequisites, but i
cant find them
18:46 <+iant> I'm not sure, I think it counts the number of writes
18:46 <+robpike> rog: iant's right.  there's a count but it's fairly large
18:46 <+robpike> iant, rog: yes
18:46 <+iant> Lucas_BR: you can probably get some help from
http://gcc.gnu.org/install/
18:46 -!- Orang [n=Orang@125.163.43.219] has joined #go-nuts
18:46 < rog> probably a count > 1 would be ok...
18:47 <+iant> rog: I think it is a count of all the writes total, not all
the write from a particular goroutine, so we need some number of permit various
goroutines to notice that the channel is closed
18:47 < rog> iant: i see, it's a count in the channel, not in the process.
hmm.
18:48 -!- mtz [n=jaan@165.206.191.90.dyn.estpak.ee] has quit [Read error: 110
(Connection timed out)]
18:48 <+robpike> rog: yes
18:48 -!- Lucas_BR [i=c8661f4b@gateway/web/freenode/x-bbtgsdgqxogxcrvh] has quit
[Ping timeout: 180 seconds]
18:49 -!- slide_rule [i=81028675@gateway/web/freenode/x-qvvrpojrlctkmluh] has quit
[]
18:49 -!- newsham [n=chat@thenewsh.com] has joined #go-nuts
18:49 -!- mtz [n=jaan@165.206.191.90.dyn.estpak.ee] has joined #go-nuts
18:50 -!- Iszak [n=Iszak@unaffiliated/supavisah] has joined #go-nuts
18:50 < newsham> will the go compiler suite or runtime be rewritten in go?
18:50 < Iszak> Holy crap, already 500 people in this channel?  Amazing
reception.
18:50 <+iant> newsham: probably at some point
18:50 -!- golangguru [n=chatzill@124.125.104.56] has quit [Read error: 145
(Connection timed out)]
18:50 -!- Omega [n=Omega@204-212-121-211.setardsl.aw] has joined #go-nuts
18:50 < newsham> also who is responsible for the tribute in the early
repository commits?
18:50 < limec0c0nut> newsham: The docs say it "might as well be"
18:50 -!- exDM69 [n=riku@entropy.fi] has joined #go-nuts
18:51 < Iszak> So what's Go doing about the name controversy?
18:51 < limec0c0nut> But I think they're going to wait for someone else to
do it.
18:51 < exDM69> whoa, lotsa people have gone nuts already
18:51 -!- pquerna [n=chip@apache/committer/pquerna] has joined #go-nuts
18:51 -!- tumdum [n=tumdum@unaffiliated/tumdum] has quit []
18:51 < amacleod> Name controversy?
18:51 < rog> oh here's a question: is there any support for
dynamically-loaded modules?
18:51 < Iszak> yeah
18:51 <+iant> rog: some, yes, see misc/cgo
18:51 < exDM69> Iszak: what name controversy?
18:51 < amacleod> go board game vs.  go programming language?
18:51 -!- nathanielk [n=quassel@frigga.summersault.com] has joined #go-nuts
18:51 < Iszak> Here http://bit.ly/T8ZoL
18:51 < amacleod> They're distinct enough concepts that disambiguation is
easy.
18:52 < limec0c0nut> amacleod: Someone else named their language "Go!"
18:52 < trutkin> let's not talk about this now?
18:52 < Iszak> Wayy before Google Go too.
18:52 < limec0c0nut> Like 10 years ago.
18:52 < limec0c0nut> Dude wrote a book about it too.
18:52 < limec0c0nut> Look on Go's issue tracker, first item.
18:52 -!- AlanT1 [n=Work@69.15.110.53] has quit [Read error: 104 (Connection reset
by peer)]
18:52 < Thorn> rename it to ogle
18:52 < Iszak> Issue 9?
18:52 -!- sanooj [i=jpihlaja@unaffiliated/joonas] has joined #go-nuts
18:53 -!- AlanT [n=Work@69.15.110.53] has joined #go-nuts
18:53 < Thorn> does go have riaa?
18:53 < Omega> Thorn: lol
18:53 < limec0c0nut> Iszak: Yup
18:53 -!- clearscreen [n=clearscr@e248070.upc-e.chello.nl] has quit [Read error:
104 (Connection reset by peer)]
18:53 -!- clearscreen [n=clearscr@e248070.upc-e.chello.nl] has joined #go-nuts
18:53 < Thorn> s/riaa/raii/ sorry
18:53 < rog> iant: misc/cgo doesn't seem to be in the distribution
18:54 < Iszak> Can Go compile to EXE?
18:54 <+iant> rog: really?  I see it still
18:54 <+iant> Thorn: Go does not have RAII, no, though it does have a defer
statement
18:54 < Omega> Would making a Go interpreter be "easy"?
18:54 < rog> iant: oh yes, it's just not in pkg
18:54 <+iant> Iszak: if you mean: does it work on Windows, then, no
18:54 <+iant> rog: ah, yes
18:54 < limec0c0nut> Omega: Depends on your definition of "easy" :-)
18:54 <+iant> Omega: there is an experimental interpreter in exp/eval
18:54 < Iszak> I'm devastated, why not?  The single biggest platform in the
world and it's not supported?
18:54 <+iant> Iszak: see the FAQ
18:54 < Omega> iant: Hmm, thanks.
18:54 < limec0c0nut> Iszak: That's a matter of interpretation.
18:55 < vmx> hi.  i try to compile go.  it "hangs" for ages (20mins, when i
tried it yesterday even longer), it takes up about 100% cpu (one core).  last
message is: make[2]: Leaving directory `/home/vmx/src/go/lang/src/pkg/net' (full
output (as far as it was possible to scroll up):
http://friendpaste.com/3xnAvDro1VlfOv8ruSKrXi
18:55 -!- defectiv [n=clays@c-24-5-65-40.hsd1.ca.comcast.net] has joined #go-nuts
18:55 < AmirMohammad> something offtopic, is there something for hg like
git's tig?
18:55 < Iszak> limec0c0nut, definitely not, it has the most uses
18:55 < exDM69> Iszak: because computer geeks who like to create their own
languages don't often use windows :)
18:55 < vmx> i'm on linux (debian testing) amd64
18:55 < depood> is there any deeper dokumentation about type "type T struct
{ a, b int }"?  comming from java and this is just a big "?" for me :/
18:55 <+iant> vmx: the net test can hang behind some firewalls; at that
point the compilers and libraries have been built, so you can just ignore this;
sorry about it
18:55 < limec0c0nut> Iszak: Among people who use computers to create things
for computers...  not even close :-)
18:55 < exDM69> Iszak: secondly, it may be in their intrests to use unixes
instead
18:55 < Iszak> iant, I can't find anything on the FAQ's about it..
18:56 < limec0c0nut> Iszak: Plus Ken Thompson invented Unix...
18:56 < Iszak> I bet they're using Unix to cover up performance.
18:56 < vmx> iant: i've disabled my firewall (as i was reading the wiki :)
18:56 <+iant> depood: not sure what your question is....
18:56 < Iszak> It's a conpiracy I tell you.
18:56 <+iant> vmx: Hmmm, dunno, then
18:56 -!- travisbrady_ [n=tbrady@67-207-96-194.static.wiline.com] has quit
[Success]
18:56 < saati> Iszak: the developers are not using window
18:56 < saati> s
18:56 < Iszak> saati, but I'd like to make an application for windows?
18:56 -!- ArekZB [n=ArekZB@76-10-138-81.dsl.teksavvy.com] has quit []
18:56 < vmx> iant: but if it is build, i'm happy.  thanks for the info
18:56 < saati> Iszak: use something else, or port it
18:56 < Venom_X> Iszak: use .net
18:56 < limec0c0nut> Iszak: How would using Unix "cover up" performance?
18:56 < boebbel> how can i make a new obejct of io.Reader ?
18:57 < Iszak> limec0c0nut, we all know Unix is far superior than Windows.
18:57 < depood> iant: the syntax ..  i know what a struct is, but what is
the "T" ?
18:57 <+robpike> vmx: is that where it stops?  if you do a ps in another
window, what's taking the cpu time?
18:57 <+iant> boebbel: var v io.Reader
18:57 < dsal> boebbel: You just need something that supports read.
18:57 < Iszak> saati, I don't know how to port it..  Venom_X, but I want to
use Go :(
18:57 -!- |Omega [n=Omega@199-2-117-160.setardsl.aw] has joined #go-nuts
18:57 < limec0c0nut> Iszak: Er, okay.  I was just confused by what you
meant.
18:57 < boebbel> thx
18:57 <+iant> depood: T is the name of the type you are defining
18:57 < rog> iant: erm, i don't see anything related to dynamically loaded
modules in misc/cgo.  i'm probably blind
18:57 < newsham> Iszak: if that is true, isnt that an obvious reason for
them to use it?
18:57 < Venom_X> Iszak: pick your battles..
18:57 < sstangl> Iszak: you can install it in a virtual machine, or install
Linux, or use a Linux live CD, or...
18:57 < saati> Iszak: wait a few years
18:58 -!- insane_coder [n=nach@CBL217-132-121-178.bb.netvision.net.il] has quit
[Read error: 104 (Connection reset by peer)]
18:58 < Iszak> Heh, way too long for my liking..
18:58 < limec0c0nut> saati: I doubt it'll be a few years.
18:58 < Iszak> sstangl, it still doesn't tackle the problem of wanting to
create an application on windows?
18:58 < vmx> robpike: damit.  i just killed it.  the cpu was taken by
something6.out.  but i can run it again
18:58 <+iant> Iszak: hmmm, it's in the FAQ in the sources but it's not on
the web site yet for some reason
18:58 < dsal> Iszak: If you want to use it, make it work.  No need to get
upset because other people won't do work for you.
18:58 < Iszak> iant, update time?  :) dsal like I said - I don't know how to
port it.
18:59 -!- boebbel [n=magnus@dslb-084-056-030-134.pools.arcor-ip.net] has quit
[Remote closed the connection]
18:59 < morganq> hello!  anyone want to suggest something to try writing as
a nontrivial introduction to Go?
18:59 < Iszak> I wonder how long it'll take before there's a Go Web
Framework.
18:59 < Venom_X> Iszak: if you can't port it, then look at learning to use a
unix variant.  It might be easier
18:59 < depood> ow, thats ..  simple.  i was thinking this is like a generic
:)
18:59 < rog> robpike: it doesn't seem obvious how to add to CONTRIBUTORS
18:59 < dsal> morganq: My first go program was a memcached server.
18:59 <+iant> rog: perhaps I misunderstood your question; what are you
after?  There is no way to get 6g/8g generate a dynamically loaded module, if that
is what you mean
18:59 -!- dbtid [i=u70dt0x7@unaffiliated/dbtid] has left #go-nuts []
18:59 -!- Omega [n=Omega@204-212-121-211.setardsl.aw] has quit [Nick collision
from services.]
18:59 -!- |Omega is now known as Omega
18:59 <+robpike> vmx: more important might be to find out which test was
hanging.  cd src/pkg/net; gotest; cd ../once; gotest etc.
18:59 < Iszak> Venom_X, you're probably right, I'm just disappointed..
18:59 < morganq> dsal: okay, maybe i'll try something like that
19:00 < Iszak> I mean considering Windows is a big market for applications
it should be ported to Windows.
19:00 -!- Phantm_ [n=Phantm@rpi-wl-981.dynamic.rpi.edu] has joined #go-nuts
19:00 -!- homovitruvius [n=maurizio@pool-72-95-253-175.pitbpa.east.verizon.net]
has joined #go-nuts
19:00 < delsvr> Iszak: what do you want to write anyway
19:00 < delsvr> Iszak: in windows
19:00 < rog> iant: that's what i was wondering - currently everything's
statically linked, but i was wondering if there might be some way to load new
(type safe) code into a running program
19:00 <+robpike> rog: send us a code review adding yourself to CONTRIBUTORS
and whatever organization belongs in AUTHORS
19:00 < asonge> Iszak: it's only 1/3 of the server market anyway :P
19:00 < limec0c0nut> Iszak: They're not selling Go. Markets are irrelevant.
19:00 -!- mtz [n=jaan@165.206.191.90.dyn.estpak.ee] has quit [Read error: 60
(Operation timed out)]
19:00 <+iant> rog: I see, no, not yet with 6g/8g, although you could with
gccgo
19:00 < limec0c0nut> They might sell support, though.
19:00 < Iszak> limec0c0nut, no but what you make out of go may be sold.
19:00 -!- teop [n=teop@89.232.105.11] has joined #go-nuts
19:00 < limec0c0nut> Iszak: Which benefits Google how?
19:00 < Iszak> asonge, Yeah I know, Windows blows for a server, I wouldn't
be surprised if its' like 1/10
19:01 < Iszak> limec0c0nut, bigger range of developers / contributors
19:01 <+iant> Iszak: "We understand that a significant fraction of computers
in the world run Windows and it would be great if those computers could run Go
programs.  However, the Go team is small and we don't have the resources to do a
Windows port at the moment.  We would be more than willing to answer questions and
offer advice to anyone willing to develop a Windows version."
19:01 < dsal> Iszak: You will not convince anyone here to do work for you.
If you are a programmer, start porting.  You seem to care more about that platform
than anyone else here.  That makes it your responsibility to satisfy your needs.
19:01 < Iszak> Ah thanks iant :)
19:01 < rog> iant: i suppose i'm wondering if there's some global type
analysis that might preclude doing it.  but presumably not.  i should really take
a look at the runtime internals.
19:01 -!- leafo [n=leafo@leafo.rh.rit.edu] has joined #go-nuts
19:02 < asonge> quick question: epoll/kqueue/etc...any plans for kernel
polling?
19:02 < leafo> is there a vim syntax for go yet?
19:02 <+iant> rog: No, there is nothing like that
19:02 < limec0c0nut> Iszak: Once again, they're seeling nothing right now.
19:02 -!- joxer [n=shrdlu@93-63-202-2.ip29.fastwebnet.it] has left #go-nuts ["Sto
andando via"]
19:02 < asonge> leafo: misc/
19:02 < leafo> thanks
19:02 <+iant> asonge: Go uses epoll internally
19:02 < Iszak> dsal, What are you implying?  I'm some sort of Windows
fanboy?  Then you'll be correct, but I do agree that Unix systems are far
superior.
19:02 < newsham> rog: there are type safe languages that support dynamic
loading in a type safe manner
19:02 -!- resistor [n=theresis@98.237.248.99] has joined #go-nuts
19:02 < vegai> I would imagine go never being as good as .NET in the windows
world
19:02 < zeebo-> is there a function for reading lines from a file into a
buffer?
19:02 <+robpike> rog: biggest worry is correct stack management
19:02 < vegai> for the windows world, that is.
19:02 < rog> newsham: sure.  and go is well placed to do it, in principle
19:02 < Iszak> yeah I have to agree with you vegai.
19:02 <+iant> zeebo-: bufio.ReadBytes
19:03 < limec0c0nut> vegai: .NET and Go have different goals.
19:03 -!- awg [n=awg@xvx.ca] has joined #go-nuts
19:03 < limec0c0nut> "Good" is pretty subjective.
19:03 < zeebo-> iant: thanks
19:03 < droid001> iant: this let me the gccgo compile with sys/user.h
instead of the vanished linux/user.h http://pastebin.com/m3fe78788
19:03 -!- AlanT [n=Work@69.15.110.53] has left #go-nuts []
19:03 < vegai> I also cannot imagine anything being particularily good in
the windows world :P
19:03 < rog> robpike: interesting.  that's not where i'd've thought the
issues would lie.
19:04 -!- luc_ [n=luc@88.207.134.113] has joined #go-nuts
19:04 < Iszak> I can't imagine how suited Go would be for a Web Framework
considering most web servers as asonge stated run Unix systems.
19:04 <+robpike> rog: well there are others but if you call a function that
doesn't know about segmented stacks you can make a big mess
19:04 <+iant> droid001: thanks!
19:04 < limec0c0nut> Iszak: Wait, what?  Go runs on Unix.  That's what we've
been talking about.
19:04 -!- voxadam [n=voxadam@24.20.147.228] has quit []
19:04 < Iszak> limec0c0nut, yeah I know and that's why a web framework in go
would own.
19:05 < dho> limec0c0nut: no, it runs on linux and os x.  there's a
difference.
19:05 -!- x-ip [n=sakura@unaffiliated/x-ip] has joined #go-nuts
19:05 -!- delsvr [n=delsvr@cpe-67-242-41-219.twcny.res.rr.com] has left #go-nuts
[]
19:05 < Iszak> Heh, OSX.
19:05 < depood> if this T (from type T struct ..) is just a name ..  why
type Car struct won't work ? (realy sorry for those basic questions)
19:05 -!- delsvr [n=delsvr@cpe-67-242-41-219.twcny.res.rr.com] has joined #go-nuts
19:05 -!- delsvr [n=delsvr@cpe-67-242-41-219.twcny.res.rr.com] has left #go-nuts
[]
19:05 < rog> robpike: oh, i wasn't thinking of external C modules, but
external Go module
19:05 < rog> s
19:05 < Venom_X> Iszak: go would be better at replacing a webserver..  not
sure about a web framework..
19:05 <+iant> depood: what is the whole statement?
19:05 < Iszak> ahaha
19:05 < limec0c0nut> Iszak: You said, "can't imagine", which confused me.
19:05 -!- Phantm__ [n=Phantm@rpi-wl-981.dynamic.rpi.edu] has joined #go-nuts
19:05 < Iszak> limec0c0nut, I can't..  yet because there is none?
19:05 <+robpike> rog: i see.  not so much a problem then but you still need
to stitch it into the current runtime
19:06 < rog> robpike: yup.
19:06 < amacleod> can't imagine != don't know
19:06 < limec0c0nut> dho: They're both POSIX.  You know what I mean.
19:06 < Iszak> amacleod, stop splitting hairs...
19:06 < Iszak> Anyhow, great talking to you, and answering my questions,
might come back in a year or two, later.
19:06 < amacleod> Has go been installed on other *nix systems, like *BSD?
19:06 -!- Iszak [n=Iszak@unaffiliated/supavisah] has left #go-nuts ["Leaving"]
19:06 < dho> amacleod: i'm working on getting the runtime working in freebsd
19:06 < dho> it's not trivial
19:07 < rog> dho: what's the hardest bit?
19:07 < amacleod> dho, differences in system libraries?
19:07 < depood> iant: http://pastie.org/695994
19:07 < uriel> amacleod: afaik the runtime doesn't even use libc...
19:08 < dho> rog: I haven't gotten to the compiler stuff yet, i'm poking at
the libmach bits which are different enough from the p9p bits that i need to read
over them
19:08 -!- PhantmShado [n=Phantm@bugs-bunny-68.dynamic2.rpi.edu] has quit [Read
error: 110 (Connection timed out)]
19:08 < dho> uriel: there are at least malloc/realloc calls.
19:08 <+iant> depood: that looks fine, what error do you get?
19:08 < depood> test.go:17: type Car is not an expression
19:08 < dho> rog: and I just started looking at it yesterday so I haven't
had a lot of time
19:08 < rog> dho: :-)
19:08 -!- aho [n=nya@e179090024.adsl.alicedsl.de] has joined #go-nuts
19:08 < uriel> i think somebody said this morning that they got it going on
openbsd
19:08 < vmx> robpike: i've run all tests (alphabetically) after /net
manually.  all pass.  the /net test is still running and takes up 100% cpu
19:09 <+iant> depood: I do not get that
19:09 <+robpike> vmx: best bet is to move net into the NOTEST part of
src/pkg/Makefile and move on..
19:09 <+iant> I get an error imported and not used: os", and when I remove
the import statement, it compiles
19:10 -!- limec0c0nut [n=michael@c-24-12-53-42.hsd1.il.comcast.net] has quit
["Leaving"]
19:10 < dho> uriel: yeah, I think I may be able to keep it using ptrace and
just modify the register structures it looks at
19:10 < dho> uriel: but again, I've spent about 1 hour looking at it
19:10 -!- PhantmShado [n=Phantm@rpi-wl-981.dynamic.rpi.edu] has joined #go-nuts
19:10 <+robpike> dho: i don't think you need libmach to get go compilers and
go programs running, only tools like prof
19:10 < dho> and even then, that doesn't take into account the 8g/6g
toolchain
19:10 < depood> ow, i had some code in main()..  this was the error
19:10 < dho> robpike: aha.
19:10 -!- gri [n=gri@nat/google/x-mqivzbkqoljrbfms] has quit []
19:11 < uriel> dho: 'me__' who was doing the dfbsd port found kris kencc
port code useful, not sure why...
19:11 < uriel> (see #plan9 backlog)
19:11 -!- feydr [n=feydr@d4-111.rb2.clm.centurytel.net] has joined #go-nuts
19:11 -!- blackrain [i=blackrai@86.63.158.4] has joined #go-nuts
19:11 < dho> sigh
19:11 < blixten> sigh :D
19:11 < dho> fine :)
19:12 * dho builds 6g
19:12 < FireSlash> Has anyone looked into the viability of Go for game
development?
19:12 < JBeshir> Hmm, grrr
19:12 < JBeshir> My plan to test my bug on Debian Stable is foiled by a
build error
19:12 < uriel> FireSlash: yes: http://golang.org/pkg/exp/spacewar/
19:12 < depood> Car -> car and now i understand those structs ..  thanks
:)
19:12 < uriel> ;P
19:12 < rog> *** failed to import extension codereview from
/Users/rog/other/go/lib/codereview/codereview.py:
19:12 < rog> The code review extension requires Mercurial 1.3 or newer.
19:12 < rog> darn.
19:12 -!- nullpo_ [n=nullpo@221x252x46x83.ap221.ftth.ucom.ne.jp] has joined
#go-nuts
19:13 -!- Messi [n=n@13.231.221.87.dynamic.jazztel.es] has joined #go-nuts
19:13 < FireSlash> uriel, Awesome.
19:13 <+robpike> rog: sorry about that.
19:13 < Messi> juego de boxeo online
http://www.kobox.org/kobox-fande-Nourine.html
19:13 -!- Messi [n=n@13.231.221.87.dynamic.jazztel.es] has quit [Read error: 54
(Connection reset by peer)]
19:13 -!- ChOcO-Bn [n=choco@18.17.98-84.rev.gaoland.net] has joined #go-nuts
19:13 < Associat0r> FireSlash it should be good, only issue I have with it
it is lack of op overloading
19:13 -!- Phantm_ [n=Phantm@rpi-wl-981.dynamic.rpi.edu] has quit [Read error: 145
(Connection timed out)]
19:13 -!- ChOcO-Bn [n=choco@18.17.98-84.rev.gaoland.net] has left #go-nuts []
19:13 < JBeshir> http://pastebin.com/m6fb224b9 <-- Anyone got any idea
what would cause this on Debian Stable?
19:14 <+iant> JBeshir: running the test as root
19:14 < JBeshir> Ah.
19:14 -!- ojm [n=ojm@MCLIII.gprs.sl-laajakaista.fi] has joined #go-nuts
19:14 < vmx> robpike: cheers, it builds cleanly without the /net tests
19:14 -!- zeroish [n=zeroish@135.207.174.50] has joined #go-nuts
19:14 < dho> robpike: gopack as well
19:14 < JBeshir> iant: I'm trying to install it system wide...
19:14 < amacleod> uriel, I don't see anything at the spacewar link.
19:14 <+iant> yeah, the test should check whether it is being run by root
19:14 -!- Husio [i=husiatyn@oceanic.wsisiz.edu.pl] has left #go-nuts []
19:14 < FireSlash> Associat0r, I've been writing games in Java recently to
reduce dev time, which shares that limitation, so no biggie there
19:14 < JBeshir> Okay.
19:14 <+robpike> dho: oh...
19:14 < FireSlash> Though I'll have to run some benchmarks to see if it's
worth the transition
19:14 <+robpike> vmx: good to hear
19:15 < JBeshir> File a bug, or is that one simple enough that mentioning it
here's enough?
19:15 < Associat0r> FireSlash you might miss generics but they will come
19:15 <+robpike> JBeshir: might be fixed.  try hg pull -u
19:15 < Associat0r> FireSlash what kind of gams btw?
19:15 < JBeshir> robpike: Okay.
19:15 <+iant> JBeshir: if not fixed, filing an issue might help, unless
there already is one--I haven't checked
19:15 -!- mtz [n=jaan@165.206.191.90.dyn.estpak.ee] has joined #go-nuts
19:15 < dho> robpike: and cov and nm
19:16 < uriel> amacleod: see go/src/pkg/exp/spacewar/
19:16 < FireSlash> Associat0r, mostly 2d stuff; currently a side scroller...
I can never seem to find a good team for 3d dev
19:16 < rog> when converting between interface types, or struct to
interface, does the runtime use constant time?  does it do an allocation?
19:16 < amacleod> uriel, ok..  I'll look there.
19:16 <+robpike> dho: cov and nm can wait although i think gotest needs nm.
gopack cannot, unfortunately
19:16 <+iant> rog: it does do an allocation
19:16 < wcn> What exactly is the runtime cost of a goroutine?  The segmented
stack initially starts off how large?  If I have thousands of goroutines sitting
on a channel to serialize access to an struct, is this going to cost memory much
larger than the size of the structs themselves?
19:17 < wcn> Clarification: each goroutine sits on its own channel.
19:17 <+iant> rog: I think the time depends on the number of methods in the
interface
19:17 <+robpike> rog: first time a pair of types gets together, a data
structure is built for that pair.  after that, it's O(1)
19:17 < amacleod> Has anyone written go-mode for Emacs yet?
19:17 <+iant> amacleod: misc/emacs
19:17 < amacleod> awesome.
19:17 < rbohn> Do I put a test driver in my package, or do I make a separate
test package?
19:17 < rog> robpike: ah, of course!  nice.
19:18 <+robpike> wcn: you'll have the memory for the stacks plus a little
bit more for some data structs.  stacks start at 4k at the moment i believe
19:18 -!- nullpo__ [n=nullpo@221x252x46x83.ap221.ftth.ucom.ne.jp] has joined
#go-nuts
19:18 < rog> robpike: presumably that could build up garbage in pathalogical
cases
19:18 <+robpike> rog: presumably
19:18 < rbohn> (where do the tests belong?)
19:18 -!- carllerche [n=carllerc@enginey-9.border1.sfo002.pnap.net] has joined
#go-nuts
19:18 <+iant> but pathological cases are limited to the number of types in
the program
19:18 -!- ajray [n=alex@nom26759d.nomadic.ncsu.edu] has joined #go-nuts
19:18 <+iant> rbohn: usually tests live next to the code
19:18 -!- Venom_X is now known as Venom_lnch
19:18 -!- robpike [n=robpike@nat/google/x-cqalqreqxeqjoodd] has left #go-nuts []
19:18 < rbohn> just found time_test in pkg.  Thanks!
19:18 < JBeshir> Okay, that test (presumably) passed, or at least didn't
send an error.
19:19 -!- msciab [i=5d2aafed@gateway/web/freenode/x-bjviizirddsxdfly] has joined
#go-nuts
19:19 < newsham> uriel: who wrote spacewar?
19:19 < JBeshir> Instead, path.TestWalk failed.
19:19 < dho> shouldn't be too bad, I think the big deal is just figuring out
how the ptrace(2) syscall works for following syscalls and figuring out whether it
was fork/vfork/whatever.  for the rest i think the libmach/linux.c will work
19:19 <+iant> JBeshir: I can't recall seeing that one
19:19 -!- blackrain [i=blackrai@86.63.158.4] has left #go-nuts []
19:19 < rog> i'd spent quite a bit of time thinking about how to do a
similar type system in limbo, but always came down to linear time.  where's the
salient code, out of interest?
19:19 < JBeshir> http://pastebin.com/m3499ce26 <-- This is the one in
question.
19:19 <+iant> rog: pkg/runtime/iface.c
19:20 < newsham> dho: isnt osx closer to fbsd?
19:20 -!- hipe [n=hipe@69.193.196.185] has joined #go-nuts
19:20 < dho> newsham: no, all that stuff is mach.
19:20 -!- blixten [i=blixten@predator.eagle.y.se] has quit ["leaving"]
19:20 < soul9> mach?!
19:21 -!- nmichaels [n=nathan@dhcp-0-50-ba-58-39-ed.cpe.townisp.com] has joined
#go-nuts
19:21 < wcn> robpike: thanks.  i may start with a coarse-grained approach
and consider 'channel striping' as an enhancement.
19:21 < uriel> newsham: see the top of the file:
http://golang.org/src/pkg/exp/spacewar/spacewar.go
19:21 < soul9> darwin is mach?  ☺
19:21 < nmichaels> yes
19:21 < dho> soul9: OS X is a hybrid mach/bsd kernel
19:21 -!- RazvanM [n=RazvanM@pool-173-75-187-87.bltmmd.east.verizon.net] has quit
[Read error: 113 (No route to host)]
19:22 < soul9> nmichaels:oh wow, didn't know that
19:22 -!- keithpoole [n=keithpoo@cpc3-bagu8-0-0-cust84.bagu.cable.ntl.com] has
joined #go-nuts
19:22 < reppie> hi dho
19:22 < dho> hey reppje
19:22 < freenose> macinshits?
19:22 -!- n30m45t3r [n=Z4i0@82.113.106.153] has joined #go-nuts
19:23 < n30m45t3r> hi guys :)
19:23 < soul9> machinbsd
19:23 < scandal> i see that in the special case of a funcall f(g(params))
that if g returns multiple values they are automaticall assigned in order to the
args of f.  does this work for tuples, or is there an apply() type function?
19:24 <+iant> scandal: I'm not sure I understand the question; there is no
apply() function; it is a special case for function calls
19:24 -!- jabb [n=grue@71.94.31.166] has joined #go-nuts
19:24 < n30m45t3r> does anybody know a link which shows the os plattform
possibilities 4 go?
19:24 <+iant> n30m45t3r: just darwin and GNU/Linux for now
19:25 -!- necromancer [n=necroman@c-69-142-78-178.hsd1.pa.comcast.net] has quit
[Read error: 113 (No route to host)]
19:25 -!- dagle [n=dagle@host162-104.bornet.net] has joined #go-nuts
19:25 < asonge> n30m45t3r: it's just darwin (osx) and linux for now
19:25 < Omega> Is there a page with some programs written in Go?
19:25 < n30m45t3r> iant: no way :(
19:25 -!- ukl [n=ukl@f053120073.adsl.alicedsl.de] has joined #go-nuts
19:25 < scandal> iant: say given a func f(int,int) , being able to do this:
x: 1,2; f(x) or apply(f,x);
19:25 -!- Orang [n=Orang@125.163.43.219] has quit ["sleep"]
19:25 <+iant> scandal: no, nothing like that at present
19:25 < n30m45t3r> ok so lets hope for more tolerance...
19:26 <+iant> n30m45t3r: we would love to work on more machines, we just
don't have the resources
19:26 -!- PhantmShado [n=Phantm@rpi-wl-981.dynamic.rpi.edu] has quit [Read error:
60 (Operation timed out)]
19:26 < n30m45t3r> hm, google should have^^
19:27 < newsham> there'll be an incompatible visual go sharp soon enough ;-)
19:27 < asonge> it's not really google as much as a handful of guys.
19:27 < nmichaels> Is panic() really different from assert(0)?
19:27 -!- KillerX [n=anant@145-116-234-40.uilenstede.casema.nl] has joined
#go-nuts
19:27 -!- mkanat [n=mkanat@c-67-188-1-39.hsd1.ca.comcast.net] has joined #go-nuts
19:27 < Thorn> I find the lack of exceptions disturbing.
19:27 -!- juhunu [n=banatara@inet-nc01-o.oracle.com] has joined #go-nuts
19:28 -!- awg [n=awg@xvx.ca] has left #go-nuts []
19:28 <+iant> nmichaels: not really
19:28 < nmichaels> Omega: if you check out the project, doc/progs has a big
honking pile of them.
19:28 -!- KillerX [n=anant@gentoo/developer/KillerX] has quit [Client Quit]
19:28 < asonge> Thorn: the problem is how you have to handle goroutines that
may be "orphaned" or something
19:28 -!- necromancer [n=necroman@c-69-142-78-178.hsd1.pa.comcast.net] has joined
#go-nuts
19:28 < Omega> nmichaels: Thanks.
19:28 < nmichaels> iant: so the faq is a bit misleading about the lack of
assertions then...
19:29 < nmichaels> Omega: any time
19:29 < asonge> Thorn: if a goroutine throws an exception and the only way
to reach the goroutines it generated were through it, you have problems after the
exception.
19:29 <+iant> nmichaels: well, panic() is not an assertion, because there is
no condition; you still have to write if cond { panic() }
19:29 < Thorn> asonge: erlang seems to have solved that, no?
19:29 -!- juhunu [n=banatara@inet-nc01-o.oracle.com] has left #go-nuts []
19:29 < asonge> Thorn: i think the argument is there's no decision on how/if
to kill orphans in go
19:29 < soul9> bah erlang is waaay slow
19:29 < n30m45t3r> asonge: ok, but the other hand can be filled with googles
financial support, they'll have enough information feedback from the
'customers'...  so they should give the ressources to the progGuys!
19:29 -!- ambv [n=lukasz@c42-76.icpnet.pl] has joined #go-nuts
19:30 -!- Zaba_ [n=zaba@about/goats/billygoat/zaba] has joined #go-nuts
19:30 < soul9> (compared to go)
19:30 -!- bzSmari [n=spm@tgad68.rhi.hi.is] has quit [Read error: 110 (Connection
timed out)]
19:30 -!- nullpo [n=nullpo@221x252x46x83.ap221.ftth.ucom.ne.jp] has quit
[Connection timed out]
19:31 < soul9> n30m45t3r: google doesn't use this language in production
yet.
19:31 < JBeshir> So...  should I file an issue about that test failure?
19:31 -!- jamesr [n=jamesr@nat/google/x-cuacymebsgkzpbfi] has joined #go-nuts
19:31 <+danderson> n30m45t3r: google is currently hiring.  This means that
we already have more work than people to do it.  Everything needs to be
prioritized.
19:31 <+iant> JBeshir: yes, please, thanks
19:31 <+danderson> soul9: and even if we did, we'd care only about linux for
our production universe.
19:31 < soul9> right
19:31 <+danderson> (unless you're talking about client apps, in which case
maybe)
19:31 < nmichaels> iant: I guess if you're going to look at assert() as
syntactic sugar for if !condition {panic()} then go doesn't have them.
19:32 < soul9> though e.g.  talk is windows-only :P
19:32 < soul9> yeah
19:32 <+iant> nmichaels: and that is what we mean; also, when people talk
about assert, they usually have a command line option to disable the assertion
(e.g., -DNDEBUG); we don't have that either
19:32 -!- Athas [n=athas@0x50a157d6.alb2nxx15.dynamic.dsl.tele.dk] has quit
[Remote closed the connection]
19:32 -!- Hofanoff [n=hofanoff@78.46.41.143] has quit [Read error: 131 (Connection
reset by peer)]
19:32 -!- nullpo [n=nullpo@221x252x46x83.ap221.ftth.ucom.ne.jp] has joined
#go-nuts
19:32 < nmichaels> iant: ah
19:32 < zeebo-> has anyone ever worked with syntax highlighting in textmate?
19:33 -!- Omega [n=Omega@199-2-117-160.setardsl.aw] has quit [Nick collision from
services.]
19:33 -!- |Omega [n=Omega@199-2-117-160.setardsl.aw] has joined #go-nuts
19:33 < nmichaels> That reminds me: has anyone made a go-mode for emacs yet?
19:33 -!- rminnich_ [n=rminnich@32.97.110.63] has quit ["Leaving"]
19:33 < asonge> nmichaels: misc/
19:33 < nmichaels> thanks
19:33 -!- |Omega is now known as Omega
19:33 -!- ZombieCrab [n=toor@unaffiliated/coconutcrab] has joined #go-nuts
19:33 -!- dRiZzle [n=dRizzle@0x4dd49336.adsl.cybercity.dk] has joined #go-nuts
19:34 -!- muri_one [n=muri_one@pool-74-109-192-183.pitbpa.fios.verizon.net] has
quit ["leaving"]
19:34 -!- ifoo [n=ifoo@h-237-142.A193.priv.bahnhof.se] has quit ["Leaving"]
19:34 -!- nullpo_ [n=nullpo@221x252x46x83.ap221.ftth.ucom.ne.jp] has quit
[Connection timed out]
19:34 < ddp> look in misc/emacs
19:34 < n30m45t3r> danderson: yes, but why don't care about the other os
user?  unix is the 'Big Bang' thats ok, but the others should have a fair chance
too, using the privilegs of go-code...  ;)
19:34 < n30m45t3r> so visual go sharp keeps my hope alive^^ :D
19:35 -!- dRiZzle [n=dRizzle@0x4dd49336.adsl.cybercity.dk] has left #go-nuts
["Leaving"]
19:35 < soul9> anyone know how the draw interface worksß
19:35 -!- kapone [n=kapone@208-168-235-183-dynamic.dsl.candw.ky] has joined
#go-nuts
19:35 < asonge> n30m45t3r: someone will provide a windows port...eventually
19:35 -!- SuD [n=alex@90.169.90.115] has joined #go-nuts
19:35 < soul9> s/ß/?
19:35 -!- cmarcelo [n=cmarcelo@enlightenment/developer/cmarcelo] has quit [Read
error: 104 (Connection reset by peer)]
19:35 < sm> g'day all, thank you for go.
19:35 < steinrs> i9
19:35 < steinrs> :-D
19:35 < asonge> soul9: since exp/ is for experimental, i think it might be
"rtfs" for now
19:35 < sm> fyi I see this panic during or after building pkg/net on linux
x86-64: http://paste.lisp.org/display/90248
19:35 < mesenga> hi, where can i to find examples for download.  i installed
according tutorial (http://ubuntuforums.org/showthread.php?p=8291692#post8291692)
but I don`t know how to test
19:36 < asonge> mesenga: golang.org check the examples?
19:36 -!- Phantm__ [n=Phantm@rpi-wl-981.dynamic.rpi.edu] has quit [Connection
timed out]
19:36 < soul9> okey, i see
19:36 <+iant> sm: don't worry about failures in the net test for now; some
of them have been fixed already
19:36 < n30m45t3r> asonge: 4 sure, even i will :)
19:36 -!- asyncster [n=asyncste@206.169.213.106] has joined #go-nuts
19:36 < kapone> is there a way to join the go-nuts mailing list without
having a google account?
19:37 < mesenga> asonge: i`ll try
19:37 < jabb> So I'm running through the tutorials and I encountered a
problem where I can't import a package in the same directory.  (import "./file")
It's probably something simple.  :P
19:37 <+iant> kapone: hmmm, I don't think so, but you might want to see if
nabble has picked it up yet
19:37 < amacleod> Can I search-and-replace 8 to 6 in
pkg/exp/spacewar/Makefile to make it work on my amd64?
19:37 < sm> I see, thanks iant
19:37 <+iant> jabb: what is the error message?
19:37 < kapone> iant: thanks, seems annoying to have to have it if so
19:38 <+iant> amacleod: that seems likely
19:38 <+iant> kapone: well, I'm not sure, but I think googlegroups does
require a Google ID
19:38 <+iant> kapone: in this regard it's no different from Yahoo!  Groups
or other similar web sites
19:38 < amacleod> spacewar.go:26: fatal error: can't find import: exp/draw
...  did I not install things properly?
19:38 <+iant> you just have to sign up
19:38 < ojm> it reguired Google ID for me
19:38 -!- braims [n=each@sisotowbell.org] has joined #go-nuts
19:39 <+iant> amacleod: draw is also experimental and not built by default
19:39 < n30m45t3r> does anybody know which linux distribution is used by
Kenneth Thompson?
19:39 <+iant> I guess you have to build it first
19:39 < jabb> iant: main.go:4: fatal error: can't find import: file
19:39 <+iant> jabb: and you said import "./file" ?
19:39 < jabb> yup
19:39 <+iant> jabb: and file.a exists in the directory?
19:39 < kapone> id just prefer the mailing list be open too
19:39 < jabb> it has to be file.a?
19:39 < kapone> but thanks still
19:39 <+iant> or file.6/file.8?
19:39 < zeebo-> is there a .go file i can use to test my syntax
highlighting?  like it contains everything already
19:39 < jabb> ahh, I have to compile it first
19:39 -!- artefon [n=thiago@187.20.142.134] has quit [Read error: 60 (Operation
timed out)]
19:40 -!- fejes [n=fejes@134.87.4.251] has left #go-nuts ["Konversation
terminated!"]
19:40 -!- luc_ [n=luc@88.207.134.113] has left #go-nuts []
19:41 < n30m45t3r> Kenneth Thompson, where are you my mentor?
19:41 < braims> syntax question: is there a way to declare an interface
which is the union of two or more other interfaces?  (i.e., an object which is
guaranteed to implement all the methods for both interfaces)
19:41 <+iant> braims: type I3 interface { I1; I2; }
19:42 < braims> thank you
19:42 < amacleod> How do I build experimental packages?  I tried 'make' and
'make install' in pkg/exp/draw, but neither fixed the "can't find import" error.
19:42 < ambv> iant: I9 interface ;)
19:42 <+iant> amacleod: you might have to use a -I option or move the .a
around or something; the exp Makefiles are not clean, as you've discovered
19:43 < amacleod> Indeed.
19:43 < amacleod> I'll try putting the .a right in exp/draw
19:43 -!- craig [n=craig@71-13-209-72.dhcp.mrqt.mi.charter.com] has joined
#go-nuts
19:43 <+iant> amacleod: it might also work to simply explicitly run "make
install" in exp/draw
19:43 -!- lenst [n=user@90-229-131-67-no52.tbcn.telia.com] has joined #go-nuts
19:44 < amacleod> Actually, what sort of search-path does importing use?  Is
there a doc about the functioning of import?
19:44 < craig> Does Go provide the ability to take two int types, divide,
them, say 2/4, and store this into a double?
19:44 -!- Zaba [n=zaba@about/goats/billygoat/zaba] has quit [Read error: 110
(Connection timed out)]
19:44 -!- n30m45t3r [n=Z4i0@82.113.106.153] has left #go-nuts []
19:44 < amacleod> iant, tried that already..  that's what I meant by make
install.  It put draw.a in exp/draw/_obj
19:44 <+iant> amacleod: by default it just looks in
$GOROOT/pkg/$GOOS_$GOARCH
19:44 <+iant> amacleod: you can add -I options to tell 6g/8g to look
elsewhere; -I takes a directory
19:44 < poucet> danderson: are goroutines gc'd if there's no reference to
them and they are stalled by a mutex?
19:44 < asonge> craig: you'd have to explicitly convert the ints, otherwise
it's integer division
19:45 -!- nullpo__ [n=nullpo@221x252x46x83.ap221.ftth.ucom.ne.jp] has quit
[Connection timed out]
19:45 <+iant> craig: float64(2)/4 or 2.0/4
19:45 < amacleod> iant, ok cool.
19:45 -!- brothers_ [n=brothers@38.126.129.222] has joined #go-nuts
19:45 < craig> Ah, thank you.  I was unable to find syntax for type-casting.
19:45 <+danderson> poucet: better ask iant, I have no idea.
19:45 <+iant> poucet: I don't know if we gc goroutines yet, we plan to at
some point
19:46 -!- brothers_ [n=brothers@38.126.129.222] has quit [Read error: 104
(Connection reset by peer)]
19:46 < amacleod> iant, ok..  moving draw.a from $GOROOT/pkg/$GOOS_$GOARCH
to $GOROOT/pkg/$GOOS_$GOARCH/exp worked.
19:46 -!- engla [n=ulrik@90-229-231-23-no153.tbcn.telia.com] has joined #go-nuts
19:46 -!- brothers_ [n=brothers@38.126.129.222] has joined #go-nuts
19:46 <+iant> OK
19:46 < poucet> iant: it would work if the mutex is not reachable from
anywhere else.  the reason i ask is because i'm thinking of implementing
continuations on top
19:46 < asyncster> does go have any kind of introspection?  like being able
to inspect the members of a type?
19:47 <+iant> asyncster: pkg/reflect
19:47 < amacleod> Should I submit a patch to the makefile that tells it to
put draw.a under pkg/exp?
19:47 < newsham> iant: you have mentioned several todo items.  Does the team
have an approximate feel for how much of the way there you are and when it should
be done?
19:47 -!- paraboul [n=para@local.weelya.com] has quit ["This computer has gone to
sleep"]
19:47 < asyncster> ah cool :)
19:47 -!- DeFender|Sleep is now known as DeFender1031
19:47 <+iant> amacleod: sure, I think you just have to set TARG
19:47 <+iant> it should be exp/draw
19:47 * amacleod tries.
19:47 <+iant> newsham: is a computer language ever done?
19:48 < amacleod> yepz
19:48 < mennis> APL is.
19:48 <+iant> newsham: we don't have any real timelines at the moment; all
of our timelines ended at the open source release; we're going to have to go back
and plan what to do next
19:48 < nmichaels> So...a computer language is done once nobody uses it
anymore?
19:48 < Omega> ASM is.
19:49 <+iant> we have lots of ideas, but no specific order or time yet
19:49 < saati> Omega: new processors bring in new operations and mnemonics
19:50 < newsham> also people write new assemblers with wacky new features.
19:50 -!- jfluhmann [n=jfluhman@72.21.102.30] has left #go-nuts ["Leaving"]
19:50 -!- SuD [n=alex@90.169.90.115] has left #go-nuts ["Leaving."]
19:50 -!- jA_cOp [n=yakobu@ti0043a380-3093.bb.online.no] has quit [Read error: 104
(Connection reset by peer)]
19:50 -!- msciab [i=5d2aafed@gateway/web/freenode/x-bjviizirddsxdfly] has quit
["Page closed"]
19:50 -!- jA_cOp [n=yakobu@ti0043a380-3093.bb.online.no] has joined #go-nuts
19:50 -!- RazvanM [n=RazvanM@dazzler.isi.jhu.edu] has joined #go-nuts
19:51 -!- feydr [n=feydr@d4-111.rb2.clm.centurytel.net] has left #go-nuts []
19:52 < jchico> that's like asking if English, Spanish, or Chinese is done
:P
19:52 -!- craig [n=craig@71-13-209-72.dhcp.mrqt.mi.charter.com] has quit
["Leaving"]
19:52 < amacleod> Spanish is at least codified.
19:52 -!- armence [n=armence@c-67-188-229-128.hsd1.ca.comcast.net] has quit
[Connection timed out]
19:52 < braims> spanish is done.  :)
19:52 < saati> which spanish
19:52 < Thorn> Latin is done.
19:53 < jchico> nobody expects the Spanish Inquisition!!!
19:53 < steinrs> so Go re-introduces global variables
19:53 < Thorn> (if you don't count drug names)
19:53 <+iant> steinrs: were they ever gone?
19:53 < nmichaels> Is there a way to create a bool array or slice with every
value set to true?  Or an int array or slice with all its values set to 7?  I'd
rather not type {7, 7, 7, 7, 7...}
19:53 < steinrs> iant: in some languages, yeah
19:53 -!- Jan_Flanders [n=chatzill@d54C1E33B.access.telenet.be] has quit [Read
error: 104 (Connection reset by peer)]
19:54 < amacleod> nmichaels, you mean the equivalent of python's [7] * 7?
19:54 <+iant> nmichaels: no, you would have to write a loop
19:54 < Thorn> iant: java lacks them for one, thus the singleton pattern
19:54 < nmichaels> amacleod: Yeah, that
19:54 < nmichaels> oh well
19:54 < jchico> good old loops!  is there a macro type system in Go?
19:54 < jchico> haven't gotten into it that much
19:54 -!- spb-vlan [n=vlan@ip230.172.adsl.wplus.ru] has joined #go-nuts
19:55 <+iant> jchico: no
19:55 -!- Jan_Flanders [n=chatzill@d54C1E33B.access.telenet.be] has joined
#go-nuts
19:55 < ment> jchico: you can run your code through cpp first
19:55 < ajray> has anyone worked on go bindings for postgreSQL?
19:55 -!- Jan_Flanders [n=chatzill@d54C1E33B.access.telenet.be] has quit [Read
error: 104 (Connection reset by peer)]
19:56 < ajray> or google wave?
19:56 < jchico> ah I guess, you never know when you need to hack it!
19:56 < Thorn> I wonder why go isn't more functional
19:56 -!- asdfs [n=asdf@lawn-128-61-124-45.lawn.gatech.edu] has joined #go-nuts
19:56 < asdfs> how do I get go working in debian
19:56 -!- Jan_Flanders [n=chatzill@d54C1E33B.access.telenet.be] has joined
#go-nuts
19:57 -!- artefon [n=thiago@187.20.142.134] has joined #go-nuts
19:57 < eydaimon> are all data types inferred, or do some get decided at
run-time?
19:57 < ZombieCrab> iant: you said that you have no specific timeline, but
can I ask you what are you doing with go right now or in the near future?
19:57 < nmichaels> asdfs: check out the sources and run the script, like it
says to on the tutorial page
19:57 <+iant> eydaimon: all data types are determined at compile time,
though of course some of those types can be interface types
19:58 <+iant> ZombieCrab: I personally will continue working on the gccgo
frontend, at least after I stop answering IRC and e-mail messages full time
19:58 < asdfs> im stuck at adding the environment variables
19:58 < exch> hmm Not sure if I should start porting my irc bot to go..
would be a nice excercise to play with the threading a bit.  The limited regex
support could be a problem though
19:58 < mennis> Thorn: by functional do you mean the programming paradigm ?
19:58 <+iant> ZombieCrab: for the team as a whole, FFI is high priority
19:58 < eydaimon> iant: are floats and ints distinguished?  How does it
infer wether something is float or int?
19:58 <+iant> asdfs: see the wiki mentioned in the channel topic
19:58 < asonge> asdfs: after you put them in ~/.bashrc or ~/.profile, you
have to open a new terminal or export them again to use them
19:58 < eydaimon> iant: and you're one of the implementors of this language,
correct?
19:58 < ZombieCrab> iant: ok, thank you for your answer
19:59 < spb-vlan> hi!  will the go language support (in the specs) tail
recursion or tail call optimization?  i haven't found anything related to
recursion (even just the ability to make recursive calls) in the current spec
19:59 < Thorn> mennis: sure
19:59 < asdfs> what should they look like if i put them in my .bashrc
19:59 <+iant> eydaimon: do you mean for constants?  constants are untyped,
but a '.' or 'E' implies a float; see the language spec
19:59 -!- dRiZzle [n=dRizzle@0x4dd49336.adsl.cybercity.dk] has joined #go-nuts
19:59 <+iant> eydaimon: I am one of the implementors, yes
19:59 -!- morganq [n=kriuq@68-112-229-129.dhcp.oxfr.ma.charter.com] has left
#go-nuts []
19:59 < nmichaels> asdfs: export VAR_NAME=value
19:59 -!- brothers_ [n=brothers@38.126.129.222] has quit [Read error: 104
(Connection reset by peer)]
20:00 -!- brothers_ [n=brothers@38.126.129.222] has joined #go-nuts
20:00 < asdfs> with or without a $
20:00 <+iant> spb-vlan: tail recursion is a compiler feature, not a language
feature; 6g/8g support it in limited cases, gccgo supports it pretty generally
20:00 < nmichaels> without
20:00 < eydaimon> iant: so have you done just like OCaml?  a +.  3 ?
20:00 < braims> looking at the pkg/runtime, and I keep seeing functions
identified with compound names like main·main -- what is that · character?  (and
how do I type it, other than cutting and pasting as I've just done now?  :) )
20:00 <+iant> eydaimon: no--I meant a dot in the number, as in 3.0
20:00 < asdfs> so something like, export GOROOT=/home/me/workspace/go/ ?
20:00 < eydaimon> iant: oh ok.  thanks.
20:01 -!- Xavvy [i=kintoen@bitchx/dev/eth0] has joined #go-nuts
20:01 < ZombieCrab> asdfs: yes
20:01 < amacleod> asdfs, that looks good..  put that at the end of your
.bashrc
20:01 -!- keithpoole [n=keithpoo@cpc3-bagu8-0-0-cust84.bagu.cable.ntl.com] has
quit []
20:01 <+iant> braims: the center dot character is an implementation
artifact--it's how 6g/8g separate the package name from the function/variable name
20:01 -!- brothers [n=brothers@38.126.129.222] has quit [Success]
20:01 -!- brothers_ is now known as brothers
20:01 <+iant> it's used in the runtime to get the same name in the C code
and the Go code
20:01 < mennis> Thorn: I think that must just be cultural.
20:01 <+iant> I think the center dot is going away
20:02 -!- nofoo [n=nofoo@helixnetworks.de] has left #go-nuts ["None Of Us Is As
Dumb As All Of Us."]
20:02 -!- freenose [n=freenose@204.97.199.7] has left #go-nuts []
20:02 < braims> iant: thanks
20:02 < Thorn> it could actually make syntax more elegant if nothing else
20:02 < spb-vlan> iant: in some languages this optimization is mandatory
(scheme, haskell, etc.).  can one rely on tail recursion optimization in his go
programs or relying on it in go is considered a bad practice?
20:02 -!- Rabbitbu1ny [n=Rabbitbu@unaffiliated/rabbitbunny] has joined #go-nuts
20:02 -!- satanowski [i=satanows@gateway/shell/rootnode.net/x-yhepccjceaarwzqe]
has joined #go-nuts
20:03 < newsham> thorn: while keeping it simple to parse?
20:03 -!- nikolaj_a [n=na@88.130.232.50] has joined #go-nuts
20:03 <+iant> spb-vlan: it's mandated in Scheme because there is no goto; Go
has a goto; I think relying on tail recursion optimization would be a bad idea if
the recursion gets deep; same guideline as in C, really
20:03 < nikolaj_a> hi guys
20:03 < spb-vlan> iant: thanks
20:04 < Thorn> newsham: I never designed a language so I don't see why not
:D
20:04 -!- livewire88 [n=livewire@145-116-230-43.uilenstede.casema.nl] has joined
#go-nuts
20:04 < asonge> iant: as an implementation detail, the stack for each tail
call in these languages are just flat out dumped when the recursion
happens...which kinda weirds up the backtraces
20:04 * asonge is sure you knew that, now that i think about it
20:04 <+iant> asonge: yes, the same thing happens when gcc does tail call
optimizations
20:04 < asonge> ah, good
20:04 -!- Mimisbrunnr [n=Mimisbru@modemcable114.96-131-66.mc.videotron.ca] has
joined #go-nuts
20:05 -!- twdsje [n=kvirc@64.147.152.13] has quit ["KVIrc Insomnia 4.0.0,
revision: , sources date: 20090520, built on: 2009/06/08 19:18:46 UTC
http://www.kvirc.net/"]
20:05 -!- ZombieCrab [n=toor@unaffiliated/coconutcrab] has quit ["đì đùng banh
bóp"]
20:05 < afurlan> how can I convert a string to an integer (like atoi()
does)?
20:05 < newsham> asonge: why does the implementation detail of the call
stack have to be tied to the mental model of call nesting?
20:05 -!- PhantmShado [n=Phantm@cpe-72-231-169-4.nycap.res.rr.com] has joined
#go-nuts
20:05 <+iant> afurlan: pkg/strconv
20:06 -!- x-ip [n=sakura@unaffiliated/x-ip] has quit [Remote closed the
connection]
20:06 < Mimisbrunnr> Hey, does anyone know if there is an extension for
Emacs for the coding of Go?
20:06 < newsham> programmers today might expect it, but programmers are
flexible.
20:06 -!- x-ip [n=sakura@unaffiliated/x-ip] has joined #go-nuts
20:06 < asonge> newsham: it doesn't...it just so happens in the real world
that you can make things messy if tail calls aren't optimized
20:06 -!- brothers [n=brothers@38.126.129.222] has quit [Read error: 104
(Connection reset by peer)]
20:06 < asonge> newsham: and you try to use really deep recursion
20:06 -!- brothers [n=brothers@38.126.129.222] has joined #go-nuts
20:06 < asonge> Mimisbrunnr: misc/emacs
20:06 < Mimisbrunnr> danke
20:07 < nmichaels> Are there profiling tools for go programs?
20:07 < JBeshir> I think it's a bit soon.
20:07 -!- ksf [n=ksf@2002:55b0:3dad:0:0:0:0:1] has joined #go-nuts
20:08 < nmichaels> To be profiling?
20:08 < JBeshir> It's really not heavily optimised, so things which could be
fast aren't.
20:08 -!- Mimisbrunnr [n=Mimisbru@modemcable114.96-131-66.mc.videotron.ca] has
left #go-nuts []
20:08 < asonge> nmichaels: the debugger isn't even finished...
20:08 < ksf> so, why are you guys rejecting your haskell heritage?
20:08 <+iant> nmichaels: there is cmd/prof, I haven't used it myself
20:08 < JBeshir> My reasoning is that that means that performance of some
things might change.
20:08 < nmichaels> ah
20:08 < ksf> are you ashamed?
20:08 -!- asdfs [n=asdf@lawn-128-61-124-45.lawn.gatech.edu] has quit ["Leaving"]
20:08 < afurlan> iant, thanks
20:08 <+iant> ksf: who are you talking to?
20:08 < JBeshir> I could see Printf getting a lot faster, unless it's really
that slow next to puts() when printing regular strings in C, too.
20:08 < ojm> How do I give user input to my program?  :D
20:08 < JBeshir> ojm: Read from stdin
20:08 < poucet> iant: Is it possible to hook into the garbage collection
system, for instance registering finalizers?
20:09 <+iant> ojm: see os.Args
20:09 <+iant> poucet: not at present, it's one of the ideas being considered
20:09 < ksf> uh.  whoever wrote the homepage and didn't mention haskell
while listing langues that influenced go
20:09 < ojm> JBeshir: That much I know, but I don't know how :)
20:09 -!- pieterc` [n=user@78-21-39-126.access.telenet.be] has joined #go-nuts
20:09 <+iant> I don't know that Haskell was a big influence, except
indirectly; sorry if we offended anybody
20:10 < JBeshir> I had some guy ranting at me that it was clearly Javalike.
20:10 < nmichaels> Yeah, Printf is amazingly slow right now...
20:10 < ksf> interfaces are clearly haskell typeclasses, albeit rendered
quite useless due to lack of polymorphism.
20:10 -!- armence [n=armence@c-67-188-229-128.hsd1.ca.comcast.net] has joined
#go-nuts
20:10 < Koen_> guys, i constantly get the following error: variable declared
and not used, even though i use it a couple of statements later, what am i missing
20:10 -!- dchest [n=dchest@81.5.81.249] has joined #go-nuts
20:11 -!- armence [n=armence@c-67-188-229-128.hsd1.ca.comcast.net] has quit [SendQ
exceeded]
20:11 <+iant> ksf: so the lack of polymorphism shows that they aren't
haskell typeclasses after all; they are also clearly smalltalk objects, only they
aren't; lots of ideas are around
20:11 -!- satanowski [i=satanows@gateway/shell/rootnode.net/x-yhepccjceaarwzqe]
has left #go-nuts []
20:11 <+iant> Koen_: that shouldn't happen if the variable is in fact used
20:11 < JBeshir> It's clearly Python meets C++
20:11 -!- spb-vlan [n=vlan@ip230.172.adsl.wplus.ru] has left #go-nuts []
20:11 -!- ozzloy [n=ozzloy@unaffiliated/ozzloy] has joined #go-nuts
20:11 < JBeshir> TechCrunch said so
20:11 < asonge> hahaha
20:11 < vomjom> it's python meets C++ taking out the python and the C++
20:11 < Koen_> iant: thats what i'm thinking :)
20:12 <+danderson> unfortunately, tech crunch don't share their magic
mushroom stockpile
20:12 <+danderson> but the headline was funny.
20:12 <+iant> Koen_: can you paste an example somewhere?
20:12 < poucet> ksf: the difference between haskell and Go, is that Go's
type system is based on subclass polymorphism
20:12 -!- ConSi [i=consi@sh.8px.pl] has left #go-nuts ["."]
20:13 -!- Rabbitbunny [n=Rabbitbu@unaffiliated/rabbitbunny] has quit [Connection
timed out]
20:13 < Koen_> iant: http://pastebin.com/d718b1fcd
20:13 < ksf> that's not polymorphism, that's overloading.
20:14 < poucet> ksf: it is not parametric polymorphism, it's subtype
polymorphism, different type of polymorphism.
20:14 <+iant> Koen_: you are setting conn and err but never using the value
you set
20:14 <+iant> maybe the error message is just on the wrong line or something
20:14 -!- nullpo_ [n=nullpo@221x252x46x83.ap221.ftth.ucom.ne.jp] has joined
#go-nuts
20:15 < wcn> Koen_: you need more code to use conn and err.
20:15 < wcn> Koen_: if you never intend to use them, use the _ to signify
that intent.
20:15 < Thorn> does anyone recall Dylan?  seems like go has taken some ideas
from it
20:15 -!- adam_godev [n=adam@001a4b73f651.click-network.com] has joined #go-nuts
20:15 < chrome> morning chaps
20:16 < Koen_> wcn: i'll try that, this is quite confusing for me since i
feel this to be ignored automatically
20:16 < JBeshir> The only language I don't *think* I can think of a reason
Go took stuff from it would be TCL.
20:16 < JBeshir> Which I'm not sure counts as a language.
20:16 * ksf shudders
20:16 < ksf> I just noticed that you can't properly type fold, map etc.
statically, that's why I'm trolling.
20:17 < JBeshir> You should be careful.  By trolling, you become a troll,
and thus vulnerable to acid and fire.  Someone may throw a beaker of acid into
your eyes.
20:17 < asonge> JBeshir: always add acid to base.
20:17 < newsham> you cant use an interface to define map?
20:17 -!- ryniek [n=RYNIEK@host-89-231-127-96.warszawa.mm.pl] has joined #go-nuts
20:18 < ryniek> hi
20:18 -!- hebroon [n=hebroons@p4bcd08.hkidnt01.ap.so-net.ne.jp] has quit [Read
error: 110 (Connection timed out)]
20:18 < nmichaels> But then you get regeneration powers!
20:18 < nmichaels> asonge: Mmmm, salty
20:18 < ksf> well, do what you can't leave be.
20:18 < newsham> ksf: the online talk mentioned that generics might be
present in the future
20:18 -!- slicslak [n=slicslac@68.50.207.133] has quit [Read error: 148 (No route
to host)]
20:18 -!- Dysiode [n=pakattac@66.129.59.88] has joined #go-nuts
20:19 < wcn> does the := operator have a special name?
20:19 < ksf> yep, at which point there's going to be either java/c++-style
awkwardness or a HM type system.
20:19 -!- demonstar55 [n=mike@74.10.161.252] has joined #go-nuts
20:19 <+iant> wcn: colon-equals?
20:20 < JBeshir> It looks like a little face.
20:20 < sstangl> wcn: assign?
20:20 -!- dstien [n=daniel@89.236.202.84.customer.cdi.no] has joined #go-nuts
20:20 < wcn> iant: something more along the lines of 'declaration/assign
operator'
20:20 < wcn> = is the assign operator.
20:20 <+danderson> wcn: ot
20:20 < jessta> wcn: initalise
20:20 < adam_godev> I have a question about some of the function header
syntax I've been finding.  What would this header syntax mean: fun (T
<type>) <nameOfFunc>(T <type>, T <type>) { ...  }
20:20 <+iant> wcn: We don't have a name for it
20:20 < aho> "assign and initialize"
20:20 <+danderson> oops
20:20 <+danderson> wcn: it's been called "declare and initialize" before
20:20 < adam_godev> *func
20:20 < aho> that's how it's called in that 1h presentation :>
20:21 < aho> or that...  hum
20:21 -!- shanmuha [n=shanmuha@nsabfw1.nsab.se] has joined #go-nuts
20:21 <+iant> adam_godev: that is a method definition
20:21 < scandal> wcm: the go spec refers to it as "short variable
declaration"
20:21 < adam_godev> I know that, but what is being sent and what is being
returned in that statement?
20:21 -!- FreshMeat [n=crump@c-67-180-74-9.hsd1.ca.comcast.net] has quit []
20:21 -!- slicslak [n=slicslac@c-68-50-207-133.hsd1.dc.comcast.net] has joined
#go-nuts
20:22 <+iant> adam_godev: I'm not sure I understand; the method is being
defined on the first type; when you call it, you have to pass the next two types
20:22 -!- tminos [n=bowens@lampbuilder.com] has joined #go-nuts
20:22 -!- ddp [n=ddp@65.255.53.171] has left #go-nuts ["Leaving"]
20:23 < chrome> adam_godev: the first T is the type that that func operates
on, the second and third T are types that the func is passed as parameters.  It
returns nothing.
20:23 < dho> cool, I think I figured out ptrace.
20:24 < adam_godev> so when you define it on the first type (T
<type>), that is not the return type?
20:24 < chrome> snap
20:24 < ajray> dho: using it to debug?
20:24 <+iant> adam_godev: right, the return type follows the parameter types
20:24 < sstangl> adam_godev: no, that's the type that it operates over, for
example when fulfilling an interface.
20:24 -!- demonstar55 [n=mike@74.10.161.252] has quit [Client Quit]
20:24 -!- brrant [n=John@65-102-225-252.hlrn.qwest.net] has quit [Remote closed
the connection]
20:24 < adam_godev> Oh, ok
20:24 < dho> ajray: re-looking at libmach/freebsd.c
20:24 -!- shambler [i=sil@mm-216-160-84-93.dynamic.pppoe.mgts.by] has joined
#go-nuts
20:25 < adam_godev> return types appear after the (T <type>, ...)?
20:25 < sstangl> adam_godev: right
20:25 -!- brrant [n=John@65-102-225-252.hlrn.qwest.net] has joined #go-nuts
20:25 < sstangl> adam_godev: func foo(x int) n int {} // takes x, returns n
20:25 < sstangl> err
20:25 < sstangl> adam_godev: func foo(x int) int {} // takes x, returns int
20:25 -!- bohsain [n=bohsain@adsl6-8.qualitynet.net] has joined #go-nuts
20:26 < adam_godev> Thanks for the clarification.  I couldn't find a concise
definition of that in the docs.  (not to say that it isn't there)
20:26 < ajray> iant: is there a google internal go reference card?  or do
you all just know of it off the top of your head?
20:26 < KirkMcDonald> I for one just read the spec.
20:27 -!- nullpo__ [n=nullpo@221x252x46x83.ap221.ftth.ucom.ne.jp] has joined
#go-nuts
20:27 < KirkMcDonald> Top to bottom.
20:27 <+iant> ajray: so far we just know it; we've been working with it for
over a year
20:27 < depood> sometimes the docs requires too much c knowhow..  but i
think go isnt a language to start with ^
20:27 < KirkMcDonald> Clarifies matters nicely.
20:27 -!- pieterc` [n=user@78-21-39-126.access.telenet.be] has quit [Remote closed
the connection]
20:27 -!- afurlan [n=afurlan@scorpion.mps.com.br] has quit ["Leaving"]
20:27 <+iant> depood: I think it *could* be a good language but it would
definitely need a different sort of doc
20:28 -!- lbrandy_ [n=lbrandy_@206.210.81.55] has joined #go-nuts
20:28 -!- Seldon75 [n=chatzill@74.13.106.205] has joined #go-nuts
20:28 < jessta> I'm sure by tommorrow someone will have written a "dive in
to Go" book
20:28 -!- Guest24955 [n=remote@modemcable092.81-201-24.mc.videotron.ca] has quit
[Remote closed the connection]
20:28 -!- NoOneButMe [i=znc@unaffiliated/noonebutme] has joined #go-nuts
20:28 -!- tessier [n=treed@kernel-panic/sex-machines] has left #go-nuts []
20:28 -!- armence [n=armence@c-67-188-229-128.hsd1.ca.comcast.net] has joined
#go-nuts
20:28 -!- gokoon [n=gokoon@stp25-1-82-225-19-48.fbx.proxad.net] has left #go-nuts
[]
20:28 -!- remote [n=remote@modemcable092.81-201-24.mc.videotron.ca] has joined
#go-nuts
20:29 < chrome> jessta: nearly done, just getting the contract sorted with
oreillys
20:29 -!- remote is now known as Guest74963
20:29 < chrome> j/k
20:29 < Seldon75> is there a particular part of the APIs that need
contributions?
20:29 < chrome> :P
20:29 -!- armence [n=armence@c-67-188-229-128.hsd1.ca.comcast.net] has quit [SendQ
exceeded]
20:29 <+iant> Seldon75: we need more and better libraries
20:29 < depood> Head first Go ? ;)
20:29 -!- GGLucas [n=GGLucas@5357F9E6.cable.casema.nl] has joined #go-nuts
20:29 < uriel> Seldon75: I think that like most open source projects: just
find something you want that is missing, and start to hack on it
20:30 -!- nullpo___ [n=nullpo@221x252x46x83.ap221.ftth.ucom.ne.jp] has joined
#go-nuts
20:30 -!- encolpe [n=encolpe@gai69-3-82-235-15-3.fbx.proxad.net] has joined
#go-nuts
20:30 < Seldon75> hmm
20:30 -!- nullpo [n=nullpo@221x252x46x83.ap221.ftth.ucom.ne.jp] has quit
[Connection timed out]
20:30 < Seldon75> that might take a while
20:30 < KirkMcDonald> My current Go project is a new command-line option
parser.
20:31 -!- pierron [n=pierron@91.164.247.161] has joined #go-nuts
20:31 < Seldon75> I was thinking maybe someone already doing work in a
particular area needs another hand
20:31 < KirkMcDonald> I ended up doing some stuff with reflection, with I
always reflexively regard as nasty.
20:31 -!- callahad [n=dan@198.179.137.23] has quit ["out."]
20:31 -!- Rabbitbu1ny is now known as Rabbitbunny
20:31 < Seldon75> nice pun ;)
20:31 < KirkMcDonald> But Go's reflection capabilities are actually very
nice.
20:31 -!- Dreamr_3 [n=Dreamer3@96-28-100-3.dhcp.insightbb.com] has joined #go-nuts
20:31 < uriel> KirkMcDonald: ugh, the current one is great already!
20:31 < KirkMcDonald> Oh, that was a pun, wasn't it.
20:31 < KirkMcDonald> uriel: Not great enough!  Heh.
20:32 -!- larryobrien [n=larryobr@cpe-70-95-121-199.hawaii.res.rr.com] has joined
#go-nuts
20:32 -!- h3r3tic [n=heretic@208.75.87.105] has left #go-nuts ["return this;"]
20:32 * uriel doesn't want silly(to be polite) --gnu-style-options GAG
20:32 < KirkMcDonald> uriel: Sorry, but that's precisely what I'm doing.
:-)
20:32 < Seldon75> it's not really about good/bad reflection implementations
(see Java), but OO purists object to reflection in principle
20:32 -!- nullpo_ [n=nullpo@221x252x46x83.ap221.ftth.ucom.ne.jp] has quit [Read
error: 145 (Connection timed out)]
20:32 < uriel> KirkMcDonald: you should get burned at the stiacke
20:32 < mkanat> KirkMcDonald: Good, that's the most robust implementation of
command-line options I know of.
20:32 < JBeshir> uriel: Are you not a fan of splitting things into flags and
arguments in general, or do you have an alternative sceme?
20:32 -!- Wiz126 [n=Wiz@72.20.223.242] has quit [Read error: 110 (Connection timed
out)]
20:32 < JBeshir> *scheme
20:32 -!- Venom_lnch is now known as Venom_X
20:33 -!- exxe [n=asdf@62.93.117.105] has quit ["Byee"]
20:33 < KirkMcDonald> Specifically, the built-in stuff doesn't permit e.g.
command --foo=bar --foo=baz and getting an array with ["bar", "baz"] in it.
20:33 -!- dakii [n=dakorma@c-98-244-28-143.hsd1.ca.comcast.net] has joined
#go-nuts
20:33 < JBeshir> I'm fond of the long/short form flags, any position, setup,
but I want to know if other people have neat ideas.
20:33 < jabb> so files can't depend on eathother?
20:33 < jabb> packages, rather
20:33 < JBeshir> jabb: By importing them, they depend on them.
20:33 < uriel> JBeshir: I'm a fan of simple commands, few flags and just one
list of arguments, standard sane unix style, the morons that came up with the gnu
style will burn in hell
20:33 < JBeshir> Ew
20:33 < jabb> well I mean depend on eachother simulataneously
20:33 < jabb> a imports b, b imports a
20:34 < JBeshir> I hate "every app does its own flag-reading logic with
random and sometimes inexplicable flag positioning"
20:34 < KirkMcDonald> jabb: It should always be possible to factor out
circular references.
20:34 < Koen_> wcn: can i simplify the following or am i doing it wrong
again: var text string = ""; _ = text;
20:34 < KirkMcDonald> JBeshir: Exactly.
20:34 -!- staunch [n=Adium@60-242-0-47.static.tpgi.com.au] has joined #go-nuts
20:34 < dakii> Question I was wondering I'm kinda a linux noobie what should
the lines in my bashrc look like for a linux 386 os?
20:34 < uriel> JBeshir: go already has a flag parsing lib, it is all anyone
should need
20:34 <+iant> dakii: see the common problems link in the topic
20:34 < KirkMcDonald> command --foo=bar +blah @blargh /foobar
20:34 < KirkMcDonald> Ugh.
20:34 -!- depood [n=hidden@chello080108055214.19.11.vie.surfer.at] has quit ["Lost
terminal"]
20:34 <+iant> Koen_: I think you are doing it right
20:34 < Koen_> wcn: ok thanks :)
20:35 < dakii> Thanks iant
20:35 < uriel> KirkMcDonald: /me throws up
20:35 < asonge> dakii: export GO...=...  where ...  is the rest of the name
and the value on the other side the = sign
20:35 < wcn> iant: Koen_ says thanks.  :)
20:35 < KirkMcDonald> uriel: What about parsing the equivalent of "gcc
-Ipath1 -Ipath2"?
20:35 -!- gabomagno [n=gabomagn@131.178.65.106] has joined #go-nuts
20:35 <+iant> wcn: thanks for passing it on!
20:35 < uriel> KirkMcDonald: silly and useless
20:35 -!- ericvh [n=ericvh@32.97.110.65] has quit []
20:35 < KirkMcDonald> uriel: That is, specifying an option multiple times,
and getting all of them?
20:35 < ojm> dakii: http://ubuntuforums.org/showthread.php?p=8294158 This is
where I got help
20:35 < KirkMcDonald> uriel: I don't think so at all.
20:35 < JBeshir> uriel: How would you implement that functionality of GCC,
then?
20:35 < Koen_> iant: : thanks indeed sorry :D
20:36 < uriel> really, if gcc is your guide on how to pass arguments, you
are doomed
20:36 < KirkMcDonald> uriel: Another feature: Collecting unknown options as
positional options.
20:36 < KirkMcDonald> uriel: Well, the option to do so, I mean.
20:36 < dho> JBeshir: environment
20:36 < JBeshir> Interesting.
20:36 -!- camedee [i=40ecf5f3@gateway/web/freenode/x-jmqrnyucmzckzynz] has quit
[Ping timeout: 180 seconds]
20:36 -!- gabomagno [n=gabomagn@131.178.65.106] has left #go-nuts ["Leaving"]
20:36 -!- ajray [n=alex@nom26759d.nomadic.ncsu.edu] has quit ["Leaving."]
20:36 < KirkMcDonald> uriel: This vastly simplifies passing unknown options
through to some subprocess.
20:36 < asonge> JBeshir: and there's already a generally accepted way of
expressing multiple paths
20:36 -!- clearscreen [n=clearscr@e248070.upc-e.chello.nl] has quit [Read error:
104 (Connection reset by peer)]
20:36 < KirkMcDonald> uriel: Which is useful in a number of contexts.
20:36 < asonge> JBeshir: path/to/foo:path/to/bar
20:36 < dho> or using PATH_SEP
20:37 < dho> asonge++
20:37 -!- nullpo__ [n=nullpo@221x252x46x83.ap221.ftth.ucom.ne.jp] has quit [Read
error: 145 (Connection timed out)]
20:37 < KirkMcDonald> Excellent, then I must be on the right track.
20:37 -!- wabbott81 [n=wabbott8@adsl-19-88-184.asm.bellsouth.net] has joined
#go-nuts
20:37 < staunch> why does the test/run script replace the PATH instead of
supplementing it?  I get errors at the end of the test since I use the macports
grep and have GREP_OPTIONS set with options the included grep doesn't understand
20:38 -!- mulander [i=mulander@078088239019.lubin.vectranet.pl] has left #go-nuts
[]
20:38 -!- drugo_ [n=drugo@187.23.80.176] has joined #go-nuts
20:38 < drugo_> Hi!
20:39 < dho> staunch: it should at least restore it.  i'd file an issue and
send a patch.
20:39 < adam_godev> iant: Is there a difference between: var k = 0 and k :=
0 other than being easier to type?
20:39 < rog> is there a technical reason why the type always needs to be
mentioned when creating an array or slice literal.  []{....} would be nice and
concise...
20:39 <+iant> adam_godev: there is no difference
20:39 -!- Irssi: #go-nuts: Total of 557 nicks [0 ops, 0 halfops, 3 voices, 554
normal]
20:39 < adam_godev> thanks!
20:40 <+iant> rog: I don't think there is a technical reason for that
particular case, but in general you would need to specify the type for a slice, so
that would be a special case
20:40 -!- ikke [n=ikkibr@unaffiliated/ikkebr] has quit []
20:41 -!- drugo_ is now known as drugowick
20:42 -!- fincher [n=jfincher@cpe-76-92-185-76.kc.res.rr.com] has joined #go-nuts
20:42 < drugowick> hi, I would like some help installing Go. Anyone?
20:42 < rog> yeah, but often (as with variables) you don't.  just makes it
almost as convenient as :=.  and you can get lisp-style list literals quite
easily.  just convert everything to array interface {} if the element types are
incompatible
20:42 -!- joeedh [n=chatzill@c-24-10-97-83.hsd1.ca.comcast.net] has quit [Read
error: 110 (Connection timed out)]
20:43 < drugowick> I am having problems with ./all.bash
20:43 <+iant> drugowick: first see the common problems link in the channel
topic
20:43 < amacleod> What kind of problems?
20:43 -!- xlene [n=xlene@404ed.org] has joined #go-nuts
20:44 < drugowick> when making libcgo
20:44 -!- Caul [n=AlexFilo@87.228.69.253] has joined #go-nuts
20:44 < Caul> hi guys
20:44 < drugowick> iant: when making libcgo
20:44 < Caul> plz tell me what is all.bash
20:45 <+iant> Caul: it is a file in the src directory
20:45 <+iant> drugowick: what is the problem?
20:45 -!- AndrewBC [n=Andrew@97.93.242.12] has joined #go-nuts
20:45 < drugowick> iant: can I past here the problem?
20:45 < Caul> $ cd $GOROOT/src
20:45 < Caul> $ ./all.bash
20:45 <+iant> drugowick: use a paste side if it is more than one or two
lines, e.g., pastebin.com
20:45 -!- plainhao [n=plainhao@mail.xbiotica.com] has quit []
20:45 < Caul> this
20:45 <+iant> Caul: it is a shell script
20:45 <+iant> Caul: you do need to know some programming in order to use Go
at this point
20:46 < ojm> is that err mandatory when I use ReadByte?
20:46 < drugowick> iant: http://pastebin.com/d3e5a7113
20:46 <+iant> ojm: you have to explicitly ignore it using _
20:46 < dho> iant: what's the general suggestion for handling registers in
libmach for platforms that support multiple targets?  e.g.  for FreeBSD/amd64,
syscall numbers will be in rax/rdi while i386 will have them in eax/edi, but I
don't have i386 struct reg on amd64 and vice versa
20:47 -!- XoniX [n=XoniX@HSI-KBW-091-089-017-044.hsi2.kabelbw.de] has joined
#go-nuts
20:47 -!- pierron_ [n=pierron@91-164-162-231.rev.libertysurf.net] has quit [Read
error: 110 (Connection timed out)]
20:47 < ericmoritz\0> given a []byte, how do I cast that to a string?  Is it
as simple as string(bytes)?
20:47 <+iant> kaib: see paste by drugowick
20:47 < Caul> of i see
20:47 <+iant> drugowick: kaib is the ARM guy
20:47 < Caul> it's working
20:47 < ojm> iant: thanks, was funny to need to make reduntant loop there :D
20:47 -!- armence [n=armence@c-67-188-229-128.hsd1.ca.comcast.net] has joined
#go-nuts
20:47 -!- DavidT [n=anonymou@12.173.51.158] has joined #go-nuts
20:47 < drugowick> iant: oh!  thanks...
20:48 < dho> i'm wary of putting #ifdef ARCH in there
20:48 -!- FreshMeat [n=crump@173-11-70-13-SFBA.hfc.comcastbusiness.net] has joined
#go-nuts
20:48 <+iant> dho: I think the idea would be to make those two different
targets, just as 386 and amd64 are different on GNU/Linux
20:48 -!- Alfarin [n=Alfarin@unaffiliated/alfarin] has joined #go-nuts
20:49 -!- bohsain [n=bohsain@adsl6-8.qualitynet.net] has quit ["Leaving"]
20:49 <+iant> dho: maybe have two different files?  I'm not really sure; I'm
not familiar with that code
20:49 < dho> ok.
20:49 < chrome> ericmoritz\0: take a look at the strings package
20:49 * dho does amd64 for now
20:49 -!- fs111 [n=fs111@d54C37AAB.access.telenet.be] has joined #go-nuts
20:49 < dho> i'll poke russ on gmail later
20:49 -!- sandb [n=sandbend@d54C37AAB.access.telenet.be] has joined #go-nuts
20:49 <+iant> yeah
20:49 < chrome> ericmoritz\0: and the bytes package
20:50 -!- nullpo [n=nullpo@221x252x46x83.ap221.ftth.ucom.ne.jp] has joined
#go-nuts
20:50 -!- DavidT [n=anonymou@12.173.51.158] has left #go-nuts []
20:51 -!- schererg [n=chatzill@c-71-237-69-197.hsd1.co.comcast.net] has joined
#go-nuts
20:51 -!- mainman__ [n=Adium@host74-135-static.29-79-b.business.telecomitalia.it]
has joined #go-nuts
20:51 < drugowick> kaib: can u help me?
20:52 <+iant> I'm off, back in a while
20:52 -!- nullpo___ [n=nullpo@221x252x46x83.ap221.ftth.ucom.ne.jp] has quit [Read
error: 60 (Operation timed out)]
20:52 < chrome> iant: it occurs to me, package bytes needs a func String(b
[]byte) string
20:53 -!- schererg [n=chatzill@c-71-237-69-197.hsd1.co.comcast.net] has quit
[Client Quit]
20:54 < staunch> http://code.google.com/p/go/issues/detail?id=116
20:54 < synx`> ...or does it?
20:54 -!- staunch [n=Adium@60-242-0-47.static.tpgi.com.au] has left #go-nuts []
20:54 < chrome> oh you can just do string(b)
20:54 -!- hackbench [n=hackbenc@88.242.238.228] has joined #go-nuts
20:55 -!- bedwards [n=bedwards@rrcs-24-173-187-218.sw.biz.rr.com] has joined
#go-nuts
20:55 < NaN> go is weird
20:55 < AndrewBC> Hm, cgo gives undescriptive enough errors for me.  If it's
warning me about an unexpected type, does this mean I have to wrap the type, or
what?
20:55 -!- rhaggert [n=rhaggert@pool-173-69-176-242.bltmmd.fios.verizon.net] has
joined #go-nuts
20:56 -!- skyyy [i=caw@129.21.116.238] has joined #go-nuts
20:56 < NaN> I find the if init construct odd
20:56 -!- |Monie| [n=Monie@cpe-098-024-174-083.carolina.res.rr.com] has quit
[Client Quit]
20:56 < newsham> hmm, I'm getting a hang if I pass a bad path to
os.ForkExec: http://hpaste.org/fastcgi/hpaste.fcgi/view?id=12095#a12095
20:56 -!- Monie [n=Monie@unaffiliated/monie] has joined #go-nuts
20:56 -!- clearscreen [n=clearscr@e248070.upc-e.chello.nl] has joined #go-nuts
20:56 < NaN> I don't think it really improves the readability of code...
20:56 -!- fgb [n=fgb@190.246.85.45] has joined #go-nuts
20:57 -!- bshi [n=bshi@65.211.22.82] has joined #go-nuts
20:57 <+kaib> drugowick: back
20:57 < NaN> I always thought the for init construct was a little odd too
20:57 <+kaib> drugowick: looking
20:57 -!- Xavvy [i=kintoen@bitchx/dev/eth0] has quit ["leaving"]
20:57 < NaN> Unless the initialized variables can be scoped to only exist
for the if or for statement
20:57 <+kaib> drugowick: source make-arm.bash and all-arm.bash instead.
20:58 -!- fynn [n=fynn@unaffiliated/fynn] has joined #go-nuts
20:58 -!- Xavvy [i=kintoen@bitchx/dev/eth0] has joined #go-nuts
20:58 -!- dgnorton [n=dgnorton@97.65.135.119] has joined #go-nuts
20:58 -!- ajray [n=alex@nom25861c.nomadic.ncsu.edu] has joined #go-nuts
20:58 <+kaib> drugowick: arm is missing some bits and pieces (including
cgo), those two files build everything that currently works.
20:58 < fynn> are there any benchmarks of Go?
20:58 -!- FreshMeat [n=crump@173-11-70-13-SFBA.hfc.comcastbusiness.net] has quit
[]
20:59 < chrome> fynn: don't think benchmarks would be particularly useful
right now
20:59 < rog> i can iterate through runes in a string easily.  is there an
easy way of creating an array of runes from a string?
20:59 < fynn> chrome: hm, why not?
20:59 < chrome> fynn: they've said that the gc is poor right now, and the
compilers are not optimised.
20:59 < nmichaels> NaNaoeu
20:59 -!- bartwe_ [n=bartwe@pluk-lang.org] has left #go-nuts []
20:59 < nmichaels> whoops
20:59 -!- dakii [n=dakorma@c-98-244-28-143.hsd1.ca.comcast.net] has left #go-nuts
[]
20:59 < drugowick> kaib: thanks, I will try it now.
21:00 -!- bbeck [n=bbeck@dxr-fw.dxr.siu.edu] has quit [Read error: 104 (Connection
reset by peer)]
21:00 <+kaib> drugowick: keep me posted, i'll stick around for a bit.
21:00 < rbohn> rog: buffer.NewBufferString ??
21:00 < uriel> kaib: so, one can already run go programs on Android?
(outside the java vm, obviously)
21:01 -!- vongodric [n=albeva@79-74-159-4.dynamic.dsl.as9105.com] has quit []
21:01 < fynn> chrome: interesting.  so the verse on the homepage about Go
being "nearly as quickly as comparable C or C++ code" should be in the future
tense?
21:01 <+kaib> uriel: yes.  the big things missing currently is soft float
support and i'm pretty certain some of the syscall linkage is broken (i haven't
paid too much attention to it)
21:01 < dgnorton> do i need to import anything other than "os" to open a
file?
21:01 < uriel> fynn: it is already just 10%-20% slower than C, so they are
quite close
21:02 < uriel> newsham: take note of what kaib said ;)
21:02 -!- zariok [n=zariok@pdpc/supporter/active/zariok] has joined #go-nuts
21:02 < rog> rbohn: what package is that in?  i can't find a buffer package
in http://golang.org/pkg/
21:02 -!- nddrylliog [n=nddrylli@ile74-2-82-247-195-175.fbx.proxad.net] has joined
#go-nuts
21:02 -!- PhantmShado [n=Phantm@cpe-72-231-169-4.nycap.res.rr.com] has quit [Read
error: 110 (Connection timed out)]
21:02 -!- nddrylliog [n=nddrylli@ile74-2-82-247-195-175.fbx.proxad.net] has left
#go-nuts ["*flash*"]
21:02 -!- zariok [n=zariok@pdpc/supporter/active/zariok] has left #go-nuts []
21:02 -!- keturn [n=kevint@c-98-246-6-235.hsd1.or.comcast.net] has joined #go-nuts
21:02 <+kaib> newsham: are you running on arm?
21:02 < rbohn> rog: bytes
21:02 -!- PhantmShado [n=Phantm@porky-75.dynamic2.rpi.edu] has joined #go-nuts
21:02 -!- xlene [n=xlene@404ed.org] has quit ["Lost terminal"]
21:03 < fynn> uriel: is the benchmark showing it to be 10-20% slower than C
published anywhere?
21:03 < newsham> kaib: i'm considering replacing a few small C programs for
android linux
21:03 < nmichaels> actually, I wrote a little prime sieve in go that runs
several times faster than C with -O0.
21:03 < newsham> with go code
21:03 -!- nullpo_ [n=nullpo@221x252x46x83.ap221.ftth.ucom.ne.jp] has joined
#go-nuts
21:03 <+kaib> newsham: cool, but like i said, syscall is a terrible hack
currently.
21:03 < newsham> its just an early thought, i might not doit :)
21:03 -!- hanse_ [n=hanse@188-23-91-165.adsl.highway.telekom.at] has quit [Remote
closed the connection]
21:03 < eno> kaib: so any arm platforms with soft float cannot run Go yet?
21:04 -!- aa [n=aa@r200-40-114-26.ae-static.anteldata.net.uy] has quit [Remote
closed the connection]
21:04 < AndrewBC> I'm trying to wrap some C code in Go, but I'm not sure
whether I need to wrap _Bool first, or if I'm doing something else wrong.  I'm
using cgo, not the usual compilers.  Anyone have any insight that I'm missing?
http://cgo.pastebin.com/m38c3b5f8
21:04 <+kaib> newsham: soft floats are the big thing i have left before
tackling syscall.
21:04 < eno> maybe that's why I got "illegal instruction"
21:04 <+kaib> eno: :-)
21:04 -!- bshi [n=bshi@65.211.22.82] has left #go-nuts []
21:04 <+kaib> eno: correct.  use ints ..
21:04 -!- trutkin [n=trutkin@64.1.25.210.ptr.us.xo.net] has left #go-nuts
["Leaving"]
21:04 < rog> i saw here yesterday a way of downloading the docs locally.
anyone remember how?
21:04 < adam_godev> Is &string[k] the only illegal use of the '&' operator?
What I had in mind is an array of T (being struct, int, string etc.).  So, fill an
array of T to amount k, then get &T[k] and fill another array of pointers to &T[k]
for respective k's.  (so long as all k are of the same type)
21:04 < ojm> I can't just declare "var1, var2 = foo", but I need to "var1,
var2 = foo, foo"?
21:04 -!- WalterMundt [n=waltermu@twiki/developer/EtherMage] has joined #go-nuts
21:05 < rog> rbohn: that doesn't give me the unicode chars AFAIK
21:05 <+kaib> eno: the code generator for 5g is the old 5l from plan9.  i'm
starting to suspect the float code targets an architecture version that no longer
is deployed.
21:05 < fynn> rog: they're inside the distribution package.
21:05 <+kaib> eno: in any case, when the code generator was written most arm
cores had float support, now very few have.
21:05 < eno> kaib: but does hello.c involve fp at all?  it just uses fmt
21:05 < rbohn> rog: how about the range example in 'Effective Go'?
21:05 < newsham> kaib: how do I get 5?  installed?  I noticed I'm only
getting [68]* installed with "all.bash"
21:05 -!- jcowan [n=jcowan@72.14.228.129] has joined #go-nuts
21:06 -!- x-ip [n=sakura@unaffiliated/x-ip] has quit [Read error: 110 (Connection
timed out)]
21:06 < eno> newsham: you can build with all-arm.bash
21:06 < ojm> Is there a reason to what I just asked?
21:06 <+kaib> eno: hello.c works, as does a lot of other stuff.  channels,
closures, interfaces etc.  as long as you don't actually do floats you should be
fine.
21:06 < eno> probably set GOARCH=arm first
21:06 < newsham> eno: I did that.  i didnt get 5?  in my $HOME/bin
21:06 < drugowick> kaib: make-arm.bash finished ok and them on all-arm.bash
i'm having a lot of fails.
21:07 <+kaib> drugowick: that's probably ok.
21:07 < drugowick> kaib: but no other error messages.
21:07 < rog> rbohn: yeah, that's how i'd do it i guess.  just allocate
len(s) runes and range it.  just wondered if there was a more idiomatic way
21:07 < drugowick> kaib: yeap!
21:07 <+kaib> drugowick: once make-arm has run you are fine.
21:07 < eno> kaib: i got problem even with just hello.go
21:08 <+kaib> drugowick: all-arm just runs the tests.  actually, i'll fix
them to just target current hardware.
21:08 -!- bedwards [n=bedwards@rrcs-24-173-187-218.sw.biz.rr.com] has left
#go-nuts []
21:08 <+kaib> eno: paste please, it should definitely work.
21:08 < tromp_> wonder if anyone is working on a go program to play the game
of go...
21:08 -!- nullpo [n=nullpo@221x252x46x83.ap221.ftth.ucom.ne.jp] has quit [Read
error: 145 (Connection timed out)]
21:08 -!- Cantareus [n=brendon@121-73-186-98.dsl.telstraclear.net] has joined
#go-nuts
21:09 < ojm> does anyone here play go?
21:09 < cbus> yes :)
21:09 < drugowick> kaib: thanks a lot!
21:09 < NaN> I do
21:09 < tromp_> i do
21:09 < ojm> :) I've played some too, but not lately
21:09 < ojm> even translated a book
21:09 -!- nullpo [n=nullpo@221x252x46x83.ap221.ftth.ucom.ne.jp] has joined
#go-nuts
21:10 < nmichaels> I know the rules for go...can't claim to be any good.
21:10 < jcowan> You could fire up goroutines to work the search tree.
21:10 -!- dRiZzle [n=dRizzle@0x4dd49336.adsl.cybercity.dk] has quit ["Leaving"]
21:10 < ojm> hmm...  porting gnugo to go?  :D
21:10 <+kaib> newsham, eno, drugowick: if i'm not around and you have arm
questions just mail golang-nuts@googlegroups.com and cc kaib@golang.org
21:10 < tromp_> i wrote some rules of go
21:11 -!- GarethTheGreat [i=gareth@autopia.garethnelson.com] has left #go-nuts []
21:11 < eno> kaib: http://codepad.org/5pdwR6Wx
21:11 < newsham> kaib: I have a question.  how do I get 5[gl] ? I tried
running all.bash and all-arm.bash and still nothing.
21:11 < tromp_> yes, monte carlo tree search parallelizes well
21:12 < dgnorton> zcf.go:9: undefined: Open ...  what am I missing?
21:12 < dgnorton> trying to open a file
21:13 -!- Guest74963 is now known as remote
21:13 -!- aaront [n=aaront@mc-126-182.IPReg.McMaster.CA] has joined #go-nuts
21:13 -!- Egyptian[Home] [n=Egyptian@62.117.46.69] has joined #go-nuts
21:13 < Egyptian[Home]> beep
21:13 -!- klusias [i=klusias@87.110.86.98] has joined #go-nuts
21:13 -!- eiro [n=marc@phear.org] has joined #go-nuts
21:13 < eiro> hello world
21:13 < Egyptian[Home]> eiro: this is cairo, come in
21:14 < jcowan> Hwæt!
21:14 <+kaib> eno: can you paste the source and build output?
21:14 < eiro> :)
21:14 < eiro> thanks Egyptian[Home]
21:14 < Egyptian[Home]> nope ..  i dont even have the source for the
pyramids
21:14 -!- rfunduk [n=rfunduk@208.124.249.146] has joined #go-nuts
21:14 <+kaib> newsham: make-arm.bash should get it for you.  can you run it
and paste the build output?
21:14 < newsham> sure
21:14 <+kaib> newsham: also try doing 'make install' in src/cmd/5g and see
what it gives.
21:15 <+kaib> newsham: are you cross compiling or running on native arm?
21:15 -!- jkp [n=jkp@growl/jkp] has quit [Read error: 60 (Operation timed out)]
21:15 < newsham> i'm building on 386 linux (ubuntu)
21:15 < nmichaels> Who was it that managed to get spacewar.go to work by
doing something with exp/draw?  Also, what was the something?
21:15 < mainman__> hi, i can't build go ( http://pastebin.com/m559752e4 )
darwin (leopard) goarch amd64 last hg clone (few minutes ago)
21:15 < shanmuha> Hi, I just installed go but gccgo doesnot seem to be
built?
21:15 -!- jcowan [n=jcowan@72.14.228.129] has left #go-nuts ["Leaving"]
21:15 <+kaib> newsham: that sounds sane.
21:16 < aaront> mainman__: was it working before?
21:16 < eno> kaib: http://codepad.org/5r5I2BqK
21:16 < mainman__> uhm first try
21:17 < newsham> kaib: http://www.thenewsh.com/~newsham/x/make-arm-out.txt
21:17 -!- hector [n=chatzill@client-86-0-126-58.nrth.adsl.virginmedia.com] has
quit ["ChatZilla 0.9.85 [Firefox 3.5.5/20091102152451]"]
21:17 < rbohn> So 5*3600 is a number, but 5*HOUR is a TZ (from RPike's
Google Tech Talk slide).
21:18 < aaront> mainman__: what is your GOROOT?
21:18 < nmichaels> mainman__: try closing terminal and starting it again
after you've modified your .profile.
21:18 <+kaib> eno: oops.  you are right.
21:18 < newsham> manually buliding in 5[lg] seemed to work
21:18 < mainman__> aaront: pastbin (my GOROOT was really GOROOT )
21:18 < aaront> haha
21:18 < eno> kaib: any further explanation?  fmt using fp?
21:19 < mainman__> nmichaels: i'll try now
21:19 < newsham> built I dont have pkg/linux_arm/*
21:19 < newsham> s/built/but/
21:20 < Eridius> d/m
21:20 <+kaib> eno: right.  so this is what's happening.  when you import fmt
you also import math.  and the math package initializer has a few floating point
constants.
21:20 < newsham> fwiw, this is with "-r release"
21:20 < eno> i c, thx
21:21 -!- Walt [n=hehu@h95n2fls308o253.telia.com] has joined #go-nuts
21:21 <+kaib> eno: so the initializer is crashing on the float instructions.
you can get around it by using plain "print" or "println" instead.  but beware
that they might go away.
21:21 < eno> so right now i can only write "side-effect free" programs
21:21 -!- aaront [n=aaront@unaffiliated/aaront] has quit ["And that's all he
wrote..."]
21:21 <+kaib> eno: incorrect.  you can write normal programs, just don't
import fmt.
21:21 < eno> alright
21:21 < eno> i'll try
21:21 < dgnorton> http://pastebin.com/d417a5a0d ...  doesn't build
"zcf.go:9: undefined: Open" ...what am I missing?
21:21 <+kaib> eno: fmt depends on almost all the code in pkg (it pulls in
reflection, math etc)
21:21 < eno> ah, that's painful
21:22 < eno> hopefully arm with soft fp gets support soon
21:22 <+kaib> eno: yep.  it does quite a bit.  print is an ok substitute for
debugging.
21:22 -!- JohnNy_cz [i=JohnNy_c@jhn4.kolej.mff.cuni.cz] has left #go-nuts []
21:22 <+kaib> eno: :-)
21:22 -!- Egyptian[Home] [n=Egyptian@62.117.46.69] has left #go-nuts []
21:23 -!- nullpo_ [n=nullpo@221x252x46x83.ap221.ftth.ucom.ne.jp] has quit
[Connection timed out]
21:23 < mjrosenb> is there a complete list of language features somewhere?
21:24 <+kaib> eno: try this hello world instead:
http://pastebin.com/m75ba6b77
21:24 <+kaib> newsham: ok, let's look at what you have now.
21:25 < asonge> mjrosenb: there's the specification for the language:
http://golang.org/doc/go_spec.html
21:25 -!- swamy [n=chatzill@nat/sun/x-uadndxqvbuzovkzl] has joined #go-nuts
21:25 -!- owen__ [n=owen@ta-1-91.tip.net.au] has joined #go-nuts
21:25 < adam_godev> I came across this in the docs: var s uint = 33; then
var i = 1<<s //has type int; then var j = int32(1<<s); //has type
int32; j == 0.  What is going on with this code?
21:25 <+kaib> newsham: you need to 'export GOARCH=arm', you are building for
386.
21:25 -!- trutkin [n=trutkin@64.1.25.210.ptr.us.xo.net] has joined #go-nuts
21:25 < Alfarin> http://pastebin.ca/1668858 <-- any idea why I'd get
start, end, inner, start, end, inner in this instead of start, inner, end, start,
inner, end?
21:25 <+kaib> newsham: remember that the environment variables GOARCH and
GOOS always specify the *target* system you are compiling for.
21:25 < newsham> kaib: I want to build 5g for 386.
21:25 < mainman__> nmichaels: i've reopen term, checked envs (now they are
in .profile and auto loaded) , i've retried to build , but is still not working (
i've the some error )
21:25 < trutkin> is there a replacement for #ifdef if I want different code
for different platforms/endians/whatever?
21:26 <+kaib> newsham: ok.  so you want a 5g (which always produces arm
code) that can run on a 386 machine, correct?
21:26 -!- ajray [n=alex@nom25861c.nomadic.ncsu.edu] has quit ["Leaving."]
21:26 < newsham> (and the accompanying runtime and libs)
21:26 < newsham> kaib: exactly
21:26 < mjrosenb> asonge: that also has a large amount of things that are
not different from C, but I suspect that it will have to do
21:26 < Eridius> trutkin: well in theory you could still use the C
preprocessor, though you'd have to run it yourslef
21:26 <+kaib> newsham: that way to do that is to get a 386 box, set
GOOS=linux GOARCH=arm and bash -e make-arm.bash
21:26 < mjrosenb> so go does not support tagged unions?
21:26 -!- melba [n=blee@unaffiliated/lazz0] has quit ["MICROSOFT WORD IS A FUN
GAME"]
21:26 < KirkMcDonald> Ugh.  Please don't throw a preprocessor at stuff.  For
everyone's sake.
21:27 < Eridius> :p
21:27 < newsham> kaib: thank you.  i'll do that.
21:27 -!- nullpo_ [n=nullpo@221x252x46x83.ap221.ftth.ucom.ne.jp] has joined
#go-nuts
21:27 <+kaib> newsham: the machine you build on determines on what machine
the toolchain runs.  GOARCH determines what toolchain you build.
21:27 < trutkin> KirkMcDonald: what's the better method?
21:27 < mainman__> nmichaels: i'll retry building arch 386
21:27 <+kaib> newsham: make-arm.bash is identical to make.bash except it
skips a few directories not building on arm.
21:27 < KirkMcDonald> trutkin: No idea.  :-)
21:27 < trutkin> KirkMcDonald: I was thinking maybe go might have an
improved cpp too.
21:28 < mainman__> nmichaels: but seems me problem on some test unit /
scripting stuff / not really in building/linking something
21:28 -!- m-takagi_ is now known as m-takagi
21:28 < KirkMcDonald> trutkin: I would prefer something like D's "static
if".
21:28 < newsham> kaib: then how come with GOARCH=386 GOOS=linux all.bash
built 6g as well as 8g?
21:28 < KirkMcDonald> trutkin: That is, not a textual pre-processor.
21:28 < newsham> what you are saying inmplies that it should only have built
8g and not 6g
21:28 * rog has just realised you can do: type L []interface{}; v := L{"hello",
int64(576), &x,45,6,4,}; great!
21:28 <+kaib> newsham: it shouldn't.
21:28 < KirkMcDonald> trutkin: But something which can interact with
compile-time values.
21:28 < eno> kaib: unfortunately it still "Illegal instruction"
21:28 -!- sm [n=sm@cpe-76-173-194-242.socal.res.rr.com] has left #go-nuts []
21:29 < shanmuha> Hi, I just built go, but unable to find gccgo in the bin
directory..can someone please help>
21:29 < shanmuha> ?
21:29 <+kaib> eno: build output please and make sure 5.out has been updated.
21:29 < blasdelf> trutkin: There's a full lexer and whatnot in Go's stdlib
21:29 < trutkin> well, if go defined a global variable I could check, that'd
work too
21:29 <+kaib> eno: actually, can you run 5l with -a and paste the output (it
will be long)
21:29 < blasdelf> shanmuha: gccgo is independent
21:29 < Eridius> shanmuha: I'm told gccgo is part of a separate repo
21:29 < trutkin> if __PLATFORM__ == "amd64" {} or something
21:29 < eno> kaib: build without problem, the size is much smaller, around
69kB this time
21:30 <+kaib> eno: ok, better.
21:30 < shanmuha> Eridius: thanks!
21:30 < newsham> kaib: I stand corrected, I have 6{cov,nm,prof} but not
6[gacl]
21:30 < shanmuha> blasdelf: thanks!  any idea where I can find it?
21:30 <+kaib> newsham: aah, that's an old naming bug.  6g was first so some
of the generic tools are still labeled 6*
21:30 < blasdelf> shanmuha: from the FSF, I think, a link to the repo is on
golang.org
21:31 <+kaib> newsham: i'll add a check for GOARCH in make-arm.bash.
21:31 -!- remote [n=remote@unaffiliated/remote] has quit [Remote closed the
connection]
21:31 < KirkMcDonald> trutkin: You could do it with make magic.
21:31 -!- remote [n=remote@modemcable092.81-201-24.mc.videotron.ca] has joined
#go-nuts
21:31 < KirkMcDonald> trutkin: Have one .go file in your package for each
platform.
21:31 < KirkMcDonald> trutkin: Only compile in the correct one.
21:31 -!- Fl1pFl0p [i=fl1pfl0p@unaffiliated/fl1pfl0p] has joined #go-nuts
21:31 < trutkin> KirkMcDonald: yeah, that would work.
21:31 < blasdelf> trutkin: that's actually a decent approach -- the compiler
could optimize out constant 1==1 at compile time
21:31 -!- rog [n=rog@78.151.49.70] has quit []
21:31 -!- remote is now known as Guest14027
21:32 < shanmuha> blasdelf: found it thanks!
21:32 < rbohn> woot!  now I have the ARM toolchain!
21:32 < blasdelf> trutkin: though you'd make it a 'platform' package with
multiple constants rather than gross globals
21:32 < trutkin> blasdelf: yeah, exactly
21:32 < rbohn> (where is my ARM emulator?)
21:32 < trutkin> blasdelf: System.platform
21:32 <+kaib> rbohn: i've used qemu
21:32 < newsham> kaib: ok, I have 5 suite with pkg's.  builds 5.out.
21:32 < newsham> ty.
21:33 < newsham> I'm confused with I need to set "GOARCH=arm" when running
5l.  without it, it tries to link the wrong pkgs.  but you'd think the "5l" would
imply GOARCH=arm.
21:33 < newsham> s/with/why/
21:33 -!- tor7 [n=tor@c-987a71d5.04-50-6c756e10.cust.bredbandsbolaget.se] has quit
[Read error: 104 (Connection reset by peer)]
21:33 -!- tor7 [n=tor@c-987a71d5.04-50-6c756e10.cust.bredbandsbolaget.se] has
joined #go-nuts
21:34 -!- sku [n=sk@217.175.4.207] has quit [Remote closed the connection]
21:34 -!- ponce [n=ponce@paradisia.net] has left #go-nuts []
21:34 < eno> newsham: i think that's a valid complain
21:34 < newsham> my 5.out doesnt run, though..  oh well.
21:34 <+kaib> newsham, eno: agreed.  it's just been the convention.
21:34 -!- nullpo__ [n=nullpo@221x252x46x83.ap221.ftth.ucom.ne.jp] has joined
#go-nuts
21:34 < eno> newsham: did you get "Illegal instruction"?
21:34 <+kaib> newsham: can you paste source for what you are running?
21:35 <+kaib> eno: how are we doing on that 5l -a output?
21:35 < newsham> fmt.Printf("hello, world\n")
21:35 < newsham> oh, wait, you said dont use fmt :)
21:35 <+kaib> newsham: look at the link i pasted earlier to eno
21:36 -!- sbrandt [n=sbrandt@sbrand3-3.lsu.edu] has joined #go-nuts
21:36 < newsham> ok, execution works.  thank you very much.
21:37 < sbrandt> hi.  I'm trying to figure out if it is possible to use my
own types as map keys.  Is it?
21:37 -!- nikolaj_a [n=na@88.130.232.50] has left #go-nuts []
21:37 <+kaib> newsham: cool.  keep me posted when you run into issues.
21:38 < KirkMcDonald> sbrandt: You can use pointers as map keys.
21:38 -!- ianmartin [n=ian@92.25.205.219] has joined #go-nuts
21:38 < KirkMcDonald> sbrandt: Other than that, I don't think so.
21:38 < sbrandt> if I use a pointer as a map key, won't that just compare
the pointer value?
21:38 -!- steinrs [n=steinrs@unaffiliated/steinrs] has left #go-nuts []
21:38 < KirkMcDonald> sbrandt: Correct.
21:39 -!- ctimmerm [n=ctimmerm@cs71226.pp.htv.fi] has joined #go-nuts
21:39 < uriel> newsham: cool!
21:39 -!- pace_t_zulu [n=pacetzul@unaffiliated/pacetzulu/x-585030] has joined
#go-nuts
21:39 < sbrandt> what if I want it to compare using the actual contents of
my objects?
21:39 < newsham> heh, 5.out doesnt like to be stripped :)
21:39 < KirkMcDonald> sbrandt: But as in all things, you can fake it.
21:39 < blasdelf> I thought the only verboten map keys were array-slices and
maps?
21:39 < newsham> kaib: is it much effort to just hack out the few math
constants in fmt ?
21:39 -!- no_mind [n=orion@122.177.51.74] has quit [Remote closed the connection]
21:40 < drugowick> kaib: are you there?
21:40 < dsal> sbrandt: This suggest it's possible:
http://golang.org/doc/go_spec.html#Map_types
21:40 < sbrandt> What do you mean I can fake it?
21:40 <+kaib> newsham: it's probably better to just get done with soft
floats.
21:40 -!- no_mind_ [n=orion@122.177.51.74] has joined #go-nuts
21:40 < eno> kaib: http://pastebin.com/m52d3e9e
21:40 < KirkMcDonald> "...  thus the key type must be a boolean, numeric,
string, pointer, function, interface, map, or channel type."
21:40 < newsham> fair enough
21:40 -!- nullpo [n=nullpo@221x252x46x83.ap221.ftth.ucom.ne.jp] has quit
[Connection timed out]
21:40 <+kaib> newsham: it's literally top of my list, but it might take me a
few days to get done.
21:40 -!- no_mind_ is now known as no_mind
21:40 < sbrandt> right, I saw that in the spec
21:40 -!- larryobrien [n=larryobr@cpe-70-95-121-199.hawaii.res.rr.com] has quit []
21:40 < KirkMcDonald> sbrandt: Give your objects a method which returns a
string, and hash that string.
21:40 < sbrandt> but I can't figure out how to do it
21:40 < mainman__> uhm..  --- FAIL: os_test.TestRemoveAll ..  is it a fatal
error in building?  (cause binaries are successfully built in GOBIN and i can use
it )
21:41 < eno> newsham: what target are you running 5.out on?
21:41 < sbrandt> but if I do the string suggestion, then I have to make the
string the key--correct?
21:41 < drugowick> kaib: I am trying to execute a hello world and I am
having the "cannot execute binary file" error.
21:41 < KirkMcDonald> sbrandt: Yes.
21:41 -!- no_mind [n=orion@122.177.51.74] has quit [Client Quit]
21:41 < newsham> hello world is 695kb, 68kb stripped.  but stripped binary
doesnt work (seg fault)
21:41 < newsham> eno: android ADP1
21:41 -!- Caul [n=AlexFilo@87.228.69.253] has quit ["Ухожу"]
21:41 -!- no_mind_ [n=orion@122.177.51.74] has joined #go-nuts
21:41 < blasdelf> KirkMcDonald: they should have really shipped it with Hash
and Equals interfaces like python's __hash__ and __eq__
21:41 < eno> i c
21:42 -!- no_mind_ is now known as no_mind
21:42 < KirkMcDonald> blasdelf: This is basically a question of whether the
language should support operator overloading, ultimately.
21:42 < drugowick> kaib: I've already compiled and linked the file, without
any aparent error.
21:42 < KirkMcDonald> More generally, whether user-defined types should be
able to look and behave like the built-in types.
21:42 <+kaib> eno: that looks ok.  can you either send me the 5.out that
doesn't work or run it in gdb and catch the address where it's failing?
21:43 <+kaib> drugowick: how are you trying to execute it?
21:43 < drugowick> ./5.ou
21:43 < drugowick> kaib: ./5.out
21:43 -!- NoOneButMe [i=znc@unaffiliated/noonebutme] has left #go-nuts []
21:43 < KirkMcDonald> I for one thing the answer is yes, of course they
should.  But it can be tricky to do this without compromising the clarity of the
language.
21:43 < mainman__> drugowick: ( uname -a ; file 5.out )
21:43 < KirkMcDonald> s/thing/think/
21:43 -!- sbrandt [n=sbrandt@sbrand3-3.lsu.edu] has quit ["Leaving"]
21:43 < blasdelf> KirkMcDonald: not quite, aren't there already interfaces
like 'String'?
21:43 -!- aidecoe [n=aidecoe@etiriah.aidecoe.name] has quit [Read error: 104
(Connection reset by peer)]
21:43 -!- Floppy [n=stranded@134.74.100.210] has joined #go-nuts
21:43 -!- aidecoe [n=aidecoe@2001:470:1f0b:77d:0:0:a1d:3c0e] has joined #go-nuts
21:44 <+kaib> drugowick: what mainman__ said.
21:44 < blasdelf> it's more like allowing operator(cast) overloads than
anything else
21:44 -!- uxp [n=uxp@uxp.dsl.xmission.com] has joined #go-nuts
21:44 -!- NoOneButMe [i=znc@unaffiliated/noonebutme] has joined #go-nuts
21:44 -!- sm [n=sm@cpe-76-173-194-242.socal.res.rr.com] has joined #go-nuts
21:45 < eno> kaib: how to 5l that's not stripped?
21:45 -!- stefanc [n=stefanc@188.25.244.29] has joined #go-nuts
21:45 <+kaib> eno: doesn't parse?
21:45 < drugowick> kaib: http://pastebin.com/d1edb11a
21:46 -!- nullpo_ [n=nullpo@221x252x46x83.ap221.ftth.ucom.ne.jp] has quit
[Connection timed out]
21:46 < eno> kaib: how to generate a 5.out that's not stripped?
21:46 -!- masaki[WORK] [n=masaki@201-95-15-44.dsl.telesp.net.br] has joined
#go-nuts
21:46 < eno> i have it stripped by default
21:46 <+kaib> drugowick: oh, you are running on a intel system.  5.out is an
arm binary.
21:47 < masaki[WORK]> hi
21:47 <+kaib> eno: 5l does not strip the binary, it just doesn't include any
symbols that are useful for gdb.
21:47 -!- masaki[WORK] [n=masaki@201-95-15-44.dsl.telesp.net.br] has quit [Client
Quit]
21:47 -!- Koen_ [n=Koen@83.101.24.153] has quit [Read error: 60 (Operation timed
out)]
21:47 <+kaib> eno: so just load up the file in gdb and do 'c', that should
tell you which memory address you crashed on.  that let's us figure out where the
bad instruction came from.
21:48 <+kaib> drugowick: ie.  you need to run the binary on a system that
has an arm core.
21:49 -!- shanmuha [n=shanmuha@nsabfw1.nsab.se] has left #go-nuts []
21:49 -!- akus85 [n=akus@87.19.169.34] has joined #go-nuts
21:49 < akus85> Hello chan...!!!!  :-)
21:50 -!- mxcl_ [n=mxcl@94-193-125-246.zone7.bethere.co.uk] has quit [Remote
closed the connection]
21:50 < eno> kaib: http://pastebin.com/m60a73e50
21:50 -!- impeachgod_ [n=impeachg@96-173-133-95.pool.ukrtel.net] has quit [No
route to host]
21:50 -!- NaN [n=josh@unaffiliated/nan] has quit ["Leaving."]
21:50 -!- stefanc [n=stefanc@188.25.244.29] has quit ["Leaving"]
21:51 < drugowick> kaib: yeap!  stupid mistake here!  thanks again!
21:51 < eno> kaib: LDREX ?
21:51 -!- braims [n=each@sisotowbell.org] has quit ["Leaving."]
21:51 -!- hackbench [n=hackbenc@88.242.238.228] has quit [Read error: 110
(Connection timed out)]
21:51 <+kaib> eno: aah.  you are running on an arm7 aren't you?
21:52 <+kaib> eno: did you already do an uname -a somewhere?
21:52 < eno> armv5tejl
21:53 < eno> ARM926EJ-S
21:53 < drugowick> kaib: I was told to use arm in the installation and iant
told me to talk to you when he saw the error on pastebin.
21:53 -!- ch4w [n=ch4w@62.57.138.69.dyn.user.ono.com] has joined #go-nuts
21:54 < mainman__> drugowick: but if you want to test it, i'll need arm
platform at least qemu
21:54 < drugowick> kaib: so I am a little confuse right now.  I think I
cannot install Go (!?!?)
21:54 <+kaib> drugowick: what machine do you want to build go programs for?
21:54 -!- ambv [n=lukasz@c42-76.icpnet.pl] has quit []
21:54 < mainman__> drugowick: or u'll test go on your x86 with 6x stuff
21:55 -!- rutkowski [n=adrian@078088213039.walbrzych.vectranet.pl] has quit
["WeeChat 0.3.1-dev"]
21:55 < drugowick> mainman, kaib: i will test on my x86...
21:55 -!- niterain [n=niterain@c-76-108-29-82.hsd1.fl.comcast.net] has joined
#go-nuts
21:55 -!- m-takagi is now known as m-takagi_
21:56 -!- jeng [n=chatzill@75.110.231.66] has quit ["ChatZilla 0.9.85 [Firefox
3.5.5/20091102152451]"]
21:56 -!- ukl [n=ukl@f053120073.adsl.alicedsl.de] has quit ["..."]
21:56 < mainman__> drugowick: ehm sorry use 8g 8l
21:56 -!- m-takagi_ is now known as m-takagi
21:56 < ojm> Is there an example somewhere to exec.Run or os.ForkExec or
something?  Or some tutorial for deciphering those arguments in docs?
21:56 <+kaib> eno: yep.  architecture v5.  doesn't include LDREX/STREX.  can
you file a bug for it and ping me when you have it (or assign to me if you can)
21:56 -!- RoGo [n=rogo@d64-180-45-230.bchsia.telus.net] has quit ["Java user
signed off"]
21:57 < eno> kaib: alright, will do
21:57 <+kaib> eno: this is a know issue that can be resolved.  sadly it
doesn't unblock you immediately.
21:57 < KirkMcDonald> ojm: Yeah, I had a thing.
21:57 < KirkMcDonald> ojm: Let me track it down.
21:57 <+kaib> eno: your easiest option is probably to use an emulator until
it's fixed.
21:57 <+kaib> eno: or find a chip that runs architecture v6 on it.
21:58 -!- limec0c0nut [n=limec0c0@lib-113-68.lib-lab.depaul.edu] has joined
#go-nuts
21:58 <+kaib> eno: i need to fix this myself pretty soon, i have an AT91SAM7
based board that is v5 and i want to run some go on it.
21:58 < KirkMcDonald> ojm: My first Go program:
http://paste.pocoo.org/show/150042/
21:59 < KirkMcDonald> ojm: The call() function is probably what you're
interested in.
21:59 <+kaib> eno: sorry for blocking you currently.
21:59 -!- m-takagi is now known as m-takagi_
21:59 -!- adam_godev [n=adam@001a4b73f651.click-network.com] has left #go-nuts []
22:00 < KirkMcDonald> (The program itself is vastly inferior to just writing
a Makefile, I have discovered.)
22:00 < mainman__> kaib: so now that you are free of that arm problems (:P)
is my 'osx bulding problem' blocking ? (FAIL: os_test.TestRemoveAll) ?
22:01 <+kaib> mainman__: :-)
22:01 <+kaib> mainman__: it sounds like you are running as root?
22:01 < eno> kaib: http://code.google.com/p/go/issues/detail?id=121 thx for
your help
22:01 < mainman__> it sounds right
22:01 < KirkMcDonald> ojm: If you've ever used Python's subprocess module,
for instance, then the exec module makes a lot of sense.
22:02 -!- hemsley [n=chatzill@189.107.32.28] has joined #go-nuts
22:02 < mainman__> i mean, you are right
22:02 -!- Gamara [n=Gamara@nat/google/x-ryfgcjyrovvslowq] has joined #go-nuts
22:02 -!- magewhopper [n=magemage@Wikipedia/Mage-Whopper] has joined #go-nuts
22:02 <+kaib> mainman__: run as a normal user.  this is a known bug.
22:02 < mainman__> uhm oh.  tnx
22:02 <+kaib> mainman__: TestRemoveAll tries to remove a file and expects to
fail ..  :-)
22:03 <+kaib> mainman__: root does not fail ..
22:03 < amacleod> root is incapable of failure
22:03 -!- WalterMundt [n=waltermu@twiki/developer/EtherMage] has quit ["Leaving."]
22:03 <+kaib> eno: np, i'll keep you posted on the bug once it's fixed.
22:04 < amacleod> Is there any way for TestRemoveAll to check and see if uid
= 0?
22:04 -!- travisbrady [n=tbrady@67-207-96-194.static.wiline.com] has quit []
22:04 < drugowick> mainman__: yeap, it was the first thing i've tried but it
says command not found
22:04 -!- xk0der [n=xk0der@122.171.5.148] has quit [Read error: 110 (Connection
timed out)]
22:04 -!- Daminvar [n=Daminvar@129.21.81.77] has joined #go-nuts
22:05 -!- Yaquishael [n=Yaquisha@unaffiliated/yaquishael] has joined #go-nuts
22:05 < drugowick> mainman__: is it because i've installed with all-arm.bash
and make-arm.bash?
22:05 -!- livewire88 [n=livewire@145-116-230-43.uilenstede.casema.nl] has quit
["leaving"]
22:05 -!- Kaipi [n=newbie@dhcp-v014-228.mobile.uci.edu] has joined #go-nuts
22:06 < Kaipi> hello
22:06 < Kaipi> anybody in?
22:06 < Kaipi> i need help with setting up go on a mac
22:06 -!- bguimberteau [n=bguimber@78.236.214.16] has joined #go-nuts
22:07 < mainman__> drugowick: could be (really dunno) try to install as it's
described on golang site (remember GOARCH=386) and use ./8g ./8l stuff
22:07 < uriel> Kaipi: what is your problem?
22:07 -!- Irssi: #go-nuts: Total of 556 nicks [0 ops, 0 halfops, 3 voices, 553
normal]
22:07 < Kaipi> i want to use xcode to program go, but the webpage doesnt say
how to do it
22:07 -!- Kniht [n=kniht@c-68-58-17-177.hsd1.in.comcast.net] has quit [Read error:
60 (Operation timed out)]
22:07 -!- loureiro [n=loureiro@189.2.128.130] has quit [Read error: 113 (No route
to host)]
22:08 < bguimberteau> i have the same question as Kaipi : How use xCode with
Go :)
22:08 -!- fynn [n=fynn@unaffiliated/fynn] has left #go-nuts ["Leaving"]
22:08 < drugowick> mainman__: I will try again.  I got an error while
installing all.bash and could be because my GOARCH env...
22:09 < mainman__> drugowick: k
22:09 < Kaipi> :)
22:10 -!- nutate [n=rseymour@cacsag4.usc.edu] has joined #go-nuts
22:10 -!- ch4w [n=ch4w@62.57.138.69.dyn.user.ono.com] has quit [Read error: 104
(Connection reset by peer)]
22:10 < drugowick> mainman__: be back soon.
22:10 -!- drugowick [n=drugo@187.23.80.176] has quit ["Ex-Chat"]
22:10 -!- limec0c0nut [n=limec0c0@lib-113-68.lib-lab.depaul.edu] has left #go-nuts
[]
22:10 < Kaipi> nobody does go on the mac?
22:10 < ni|> i do go on the mac
22:10 < Kaipi> how??  :)
22:10 < mainman__> i've just installed few minutes ago, and seems work :p
22:10 < ni|> rsc (an google employee) does go on the mac
22:11 < ni|> Kaipi: read directions :)
22:11 < ni|> golang.org
22:11 < trutkin> Kaipi: a programmer's editor is all you need.
22:11 < trutkin> Kaipi: there isn't an IDE.
22:11 < bguimberteau> i hope Go will be succesful
22:11 < Kaipi> i read them, but i want to set it up with xcode...  and the
webpage doesnt say how to do ut
22:11 < rup> There is xcode support, look in the misc/xcode folder
22:11 < Kaipi> it
22:11 < trutkin> rup: yeah?  that's cool.  sorry for spreading the wrong
info.
22:12 < bguimberteau> but with xcode it's sure for Go
22:12 -!- drugo [n=drugo@187.23.80.176] has joined #go-nuts
22:12 -!- Daminvar [n=Daminvar@129.21.81.77] has left #go-nuts ["Leaving"]
22:12 -!- drugo is now known as drugowick
22:12 -!- nigwil [n=chatzill@berkner.ccamlr.org] has joined #go-nuts
22:12 -!- Daminvar [n=Daminvar@129.21.81.77] has joined #go-nuts
22:13 < drugowick> mainman__: Do I have to do any kind of uninstalation or
something?
22:13 < bguimberteau> i think we are using 6g hello.go and not xCode :)
22:13 < ojm> KirkMcDonald: I'm just looking a way to execute "clear" command
to clear my terminal
22:14 < mainman__> drugowick: uhm ./clean.bash i guess
22:14 -!- triton [i=tritao@81.84.157.2] has joined #go-nuts
22:15 < mainman__> ojm: ioctl termios stuff ? (deos go support that stuff?)
22:15 < ojm> iowhatnow?  With C I can just use System("clear") iirc, so I'm
just looking a way to do that
22:15 -!- Yaquishael [n=Yaquisha@unaffiliated/yaquishael] has quit ["Leaving"]
22:16 < JBeshir> Hmm.
22:16 < JBeshir> "accounting error in top"
22:17 < JBeshir> Curious, I wonder at any unaffected metrics I could use to
test it; "free" reports the same kind of increase in total used RAM across the
system when run in a script right before and after it starts.
22:17 -!- aa [n=aa@r190-135-222-119.dialup.adsl.anteldata.net.uy] has joined
#go-nuts
22:17 -!- jmahoney [n=jmahoney@209.203.86.33] has joined #go-nuts
22:17 -!- ropiku [n=ropiku@cpc1-with1-0-0-cust448.bagu.cable.ntl.com] has joined
#go-nuts
22:17 -!- hemsley [n=chatzill@189.107.32.28] has quit ["ChatZilla 0.9.85 [Firefox
3.5.5/20091107195454]"]
22:17 -!- brunov [n=bruno@190.191.110.64] has quit [Read error: 110 (Connection
timed out)]
22:18 -!- npe [n=npe@94-224-251-223.access.telenet.be] has joined #go-nuts
22:18 < akus85> Bye Bye
22:18 -!- Kaipi [n=newbie@dhcp-v014-228.mobile.uci.edu] has quit ["Quit"]
22:18 -!- akus85 [n=akus@87.19.169.34] has quit ["Leaving."]
22:18 -!- jcgregorio [n=chatzill@203.39.247.241] has joined #go-nuts
22:18 -!- devinus [n=devin@65.107.181.222.ptr.us.xo.net] has joined #go-nuts
22:19 -!- Metathink_ [n=Metathin@ABordeaux-753-1-5-55.w90-38.abo.wanadoo.fr] has
joined #go-nuts
22:19 < jmahoney> a := new([1000]bool);
22:19 < jmahoney> works, but
22:19 < jmahoney> size := 1000;
22:19 < jmahoney> a := new([size]bool);
22:19 < jmahoney> doesn't?
22:19 < jmahoney> ./my.go:7: invalid array bound size
22:19 < nsz> maybe it should be const and not var..
22:19 < npe> jmahoney: don't you want make?
22:20 < Eridius> jmahoney: maybe you should make a slice with size
capacity/length?
22:20 < jmahoney> i wanted to just use array in this case
22:20 < Eridius> the size of an array is part of the type, so I'm not
surprised you can't use a variable there
22:20 -!- rom1504 [n=rom1504@120.2.91-79.rev.gaoland.net] has joined #go-nuts
22:20 -!- anders_ [n=anders@c83-253-2-206.bredband.comhem.se] has joined #go-nuts
22:20 < jmahoney> not for any particular reason...
22:20 -!- rom1504 is now known as rom1504_
22:20 < nsz> jmahoney: then don't use var as size
22:20 -!- Alfarin [n=Alfarin@unaffiliated/alfarin] has quit []
22:20 -!- voxadam [n=voxadam@c-24-20-147-228.hsd1.or.comcast.net] has joined
#go-nuts
22:20 -!- rom1504_ is now known as rom1504__
22:20 < jmahoney> ok, so can't use vars as sizes for arrays.  that's what I
was curious about.  use slices for var sizes?
22:21 -!- rom1504__ is now known as rom1504_
22:21 -!- clearscreen [n=clearscr@e248070.upc-e.chello.nl] has quit [Read error:
104 (Connection reset by peer)]
22:21 < npe> size := 1000; v := make([]int, size) ?
22:21 < drugowick> mainman__: by the way it is going, I think it's
working...
22:21 -!- lux` [n=lux@151.54.240.177] has joined #go-nuts
22:22 < drugowick> mainman__: i have this problem knowing my architecture...
=S
22:22 < jmahoney> size := 1000;
22:22 < jmahoney> a := make([size]bool);
22:22 < jmahoney> ./my.go:7: invalid array bound size
22:22 < npe> jmahoney: you're using make wrong.
22:22 < npe> jmahoney: look at my example.
22:22 < jmahoney> whoops
22:22 < voxadam> Is this channel logged somewhere?
22:23 -!- lov is now known as likeso
22:23 -!- likeso is now known as lov
22:23 < Eridius> voxadam: http://go-lang.cat-v.org/irc-logs/go-nuts
22:23 < jmahoney> that worked, thx npe.  any drawback to using slices with
very large sizes relative to arrays?
22:23 < voxadam> Eridius: merci
22:24 < gl> uriel is everywhere
22:24 < npe> jmahoney: it's not a slice when you use make like that.
22:25 < jmahoney> oh ok, I thought using make meant slice automatically.
thx!
22:25 < npe> jmahoney: If you use 3 args, the middle arg is the slice size.
22:25 < voxadam> I recently watched Pike's Go presentation at Google on
YouTube.  He mentioned that there was work underway (or maybe scheduled) to
replace the current mark-and-sweep GC with something more advanced.  Specifically,
he mentioned The Recycler from IBM.  IBM claims a maximum pause time of 2.6 ms.
If this is true what are the chances of Go being suitable for
real-time/deterministic programming?
22:25 < nmichaels> Does Go do ada-style array re-bounding and bounds
checking?  For example, can I declare a slice with indices 7-12?
22:25 -!- sjungling [n=sjunglin@sjc.CSUChico.EDU] has joined #go-nuts
22:25 < drugowick> mainman__: it worked!
22:25 -!- sjungling [n=sjunglin@sjc.CSUChico.EDU] has left #go-nuts []
22:25 -!- ishmael [n=marcoant@189.96.97.4] has joined #go-nuts
22:25 -!- stilldavid [n=admin@c-71-193-16-166.hsd1.ca.comcast.net] has joined
#go-nuts
22:26 -!- ishmael [n=marcoant@189.96.97.4] has left #go-nuts []
22:26 < npe> voxadam: The inferno GC was realtime compatible IIRC.  Try
Lorenz's paper for a start.
22:26 < drugowick> mainman__, kaib: it worked.  thanks a lot, again!
22:27 -!- GUcko1 [n=rockyroc@78.110.108.226] has joined #go-nuts
22:27 < devinus> is there a go ForEach or Range operator?
22:27 < drugowick> mainman__, kaib: are you responsible for the project or u
help for fun?
22:27 < GUcko1> oh WOW!
22:27 -!- ericmoritz\0 [n=eric@67-207-143-216.slicehost.net] has quit ["Lost
terminal"]
22:27 -!- Ishmael [n=ishamael@189.96.97.4] has joined #go-nuts
22:27 < GUcko1> all these people here already!
22:28 < npe> devinus: for i,e := range <array> { }
22:28 -!- x-ip [n=sakura@unaffiliated/x-ip] has joined #go-nuts
22:28 < nmichaels> GUcko1: Yeah, way to come late to the party :oP
22:28 < GUcko1> I guess there are Google employees here
22:28 -!- pace_t_zulu [n=pacetzul@unaffiliated/pacetzulu/x-585030] has quit []
22:29 < Eridius> GUcko1: anybody with voice is a member of the go team
22:29 -!- nihilis [n=nihilis@217.194.147.131] has joined #Go-nuts
22:29 -!- leafo [n=leafo@leafo.rh.rit.edu] has quit ["leaving"]
22:29 -!- adam_godev [n=adam@001a4b73f651.click-network.com] has joined #go-nuts
22:29 < devinus> is there any chance we may get Guido to help Go out with a
little syntax advice...?  :-(
22:29 <+kaib> drugowick: more like the second part.  i work for google and i
did the arm port.
22:30 <+kaib> drugowick: as eno can testify, i'm mostly responsible for
non-working bits ..  :-)
22:31 < nihilis> devinus: What do you mean, what's wrong with the syntax?
22:31 < npe> kaib: what's the idiomatic way for doing a chained hash with
possible collisions?  Can you use maps or are you constrained to defining your own
hash types using arrays?
22:31 -!- Alfarin [n=Alfarin@unaffiliated/alfarin] has joined #go-nuts
22:31 * kuroneko sets up a hudson
22:31 <+kaib> voxadam: there has been a few threads on the mailinglist about
this.  it depends a lot on how you integrate with the OS.
22:31 -!- homovitruvius [n=maurizio@pool-72-95-253-175.pitbpa.east.verizon.net]
has quit [Remote closed the connection]
22:31 < mainman__> drugowick: nonono i've just installed go today, just for
fun
22:31 < eno> we only see kaib's non-working and the soon-to-be-working bits
:-)
22:31 -!- weggpod [n=weggpod@ivr94-12-78-224-16-145.fbx.proxad.net] has joined
#go-nuts
22:31 < weggpod> hy all
22:32 < uriel> gl: I'm everywhere, like the pig flu
22:32 < bguimberteau> nobody have configure Xcode for Go
22:32 < bguimberteau> ?
22:32 <+kaib> npe: your own type.
22:32 < npe> kaib: thanks.
22:32 < gl> heh
22:32 < adam_godev> what tools can be used to accept and read user input?
chan's?
22:32 -!- gl is now known as poz
22:32 -!- Amaranth [n=travis@ubuntu/member/Amaranth] has quit [Read error: 60
(Operation timed out)]
22:32 < npe> bguimberteau: The start is there.
22:32 < drugowick> kaib: cool, i've never talking to any googler...
hehehehe.
22:32 -!- jshriver [n=jshriver@cblmdm24-53-165-86.buckeyecom.net] has joined
#go-nuts
22:32 < Eridius> adam_godev: chans are for communicating between goroutines
22:32 -!- stilldavid [n=admin@c-71-193-16-166.hsd1.ca.comcast.net] has left
#go-nuts []
22:33 < drugowick> mainman__: hum...  me too...  hehehe
22:33 < dgnorton> where can I find examples of using the containers...vector
specifically?
22:33 < npe> bguimberteau: $GOROOT/misc/xcode and mdfind to put the files
in the right spots.
22:33 < adam_godev> i found src/pkg/go/scanner/scanner.go but it looks as if
it is used for file processing.
22:33 < harryv> does the stdlib have anything like the Append() in the
slices-part of effective go?
22:33 < sm> fyi, a project updates announcebot can be found in #go-updates
22:33 -!- GUcko1 [n=rockyroc@78.110.108.226] has left #go-nuts []
22:33 < voxadam> kaib: Thanks.  I'll take a look at the list archives.
22:33 < mainman__> drugowick: is really fun see me in a new word where 10
lines code segfault :p
22:33 < Eridius> harryv: doesn't that part of effective go say that's part
of the Buffer type?
22:33 -!- amacleod [n=amacleod@c-71-192-107-59.hsd1.ma.comcast.net] has quit [Read
error: 110 (Connection timed out)]
22:34 < bguimberteau> ok ty i try it
22:34 -!- Eytre [n=afitz@adsl-190-192-124.asm.bellsouth.net] has joined #go-nuts
22:34 -!- nexneo [n=niket@115.108.175.41] has quit []
22:34 -!- teedex [n=teedex@204.14.155.161] has quit [Remote closed the connection]
22:34 < harryv> Eridius: not as far as I can tell
22:34 -!- decriptor [n=decripto@137.65.132.18] has quit [Read error: 110
(Connection timed out)]
22:34 < dgnorton> dgnorton: /test/vectors.go
22:34 -!- armence [n=armence@c-67-188-229-128.hsd1.ca.comcast.net] has quit
[Connection timed out]
22:35 -!- fgb [n=fgb@190.246.85.45] has quit [Read error: 104 (Connection reset by
peer)]
22:35 < dgnorton> dgnorton: thanks.  just what i was looking for
22:35 -!- Metathink [n=Metathin@ABordeaux-753-1-19-221.w92-136.abo.wanadoo.fr] has
quit [Read error: 110 (Connection timed out)]
22:35 < adam_godev> harryv: if slices are dynamic then simply using +=
should work so long as both operands are of the same type.
22:35 < drugowick> mainman__: :P
22:35 < ojm> So, how should implement C "System("clear")" in Go?
22:35 < adam_godev> harryv: I cant recall if they are dynamic though.
22:35 <+kaib> voxadam: the short summary is that it's doable, a few people
are planning to do so, and it's much easier of you can control the OS (like
writing firmware in Go).
22:36 < jA_cOp> that's platform specific ojm, just like doing
system("clear") in C
22:36 < chrome> ojm: why don't you find the terminal codes for the clear and
send that?
22:36 <+kaib> voxadam: s/doable/probably doable/ given nobody has really
tried yet ..
22:36 -!- jcgregorio [n=chatzill@203.39.247.241] has quit ["ChatZilla 0.9.85
[Firefox 3.5.5/20091102152451]"]
22:37 -!- ryniek [n=RYNIEK@host-89-231-127-96.warszawa.mm.pl] has quit ["X-Chat
det :"<"]
22:37 -!- rom1504_ [n=rom1504@120.2.91-79.rev.gaoland.net] has quit [Read error:
54 (Connection reset by peer)]
22:37 < voxadam> kaib: That's great to hear.  Realtime programming in a GCed
language would be amazing.
22:38 < ojm> chrome: because I have no idea what you are talking about?  I'm
quite a newbie...
22:38 -!- hoodow [n=hoodow@2001:41d0:1:f5e5:0:0:0:666] has joined #go-nuts
22:38 -!- ddp [n=ddp@65.255.53.171] has joined #go-nuts
22:39 -!- gasreaa [n=atwong@nat/slide/x-zmnpkdwnytjkfeth] has joined #go-nuts
22:39 -!- poz is now known as gl
22:40 < vhold> ojm: You could use ForkExec and immediately wait on the
pid...
22:40 -!- ph [n=ph@a88-115-235-232.elisa-laajakaista.fi] has joined #go-nuts
22:40 < adam_godev> would Reader (pkg/bufio) handle user input?
22:40 < nmichaels> voxadam: hear hear
22:40 < ojm> jA_cOp: but it just says System is not defined
22:40 < ojm> vhold: If I knew how to use ForkExec, I wouldn't have these
problems
22:41 -!- clearscreen [n=clearscr@e248070.upc-e.chello.nl] has joined #go-nuts
22:41 < vhold> ojm: Take a look at src/pk/os/os_test.go
22:41 < vhold> *pkg
22:41 -!- mennis [n=mennis@adsl-068-016-104-079.sip.asm.bellsouth.net] has quit []
22:41 < vhold> There's a ton of example code within the test code in the pkg
src
22:41 -!- plainhao [n=plainhao@mail.xbiotica.com] has joined #go-nuts
22:41 -!- dopplerD2oid [n=doppler@ip70-190-186-61.ph.ph.cox.net] has joined
#go-nuts
22:42 -!- dopplerD2oid is now known as dopplerDroid
22:42 -!- artefon [n=thiago@187.20.142.134] has quit [Read error: 110 (Connection
timed out)]
22:42 < npe> voxadam:
http://agni.csa.iisc.ernet.in/OperatingSystems/Inferno/rtinferno/realtime.html
22:42 -!- artefon [n=thiago@187.20.142.134] has joined #go-nuts
22:42 -!- adam_godev [n=adam@001a4b73f651.click-network.com] has left #go-nuts []
22:42 < voxadam> npe: Thanks.  I was looking for that.
22:42 -!- ddp [n=ddp@65.255.53.171] has left #go-nuts ["Leaving"]
22:43 -!- Amaranth [n=travis@ubuntu/member/Amaranth] has joined #go-nuts
22:43 < drugowick> see you soon!
22:43 < ojm> vhold: thanks!  This may help
22:43 < drugowick> bye
22:43 -!- drugowick [n=drugo@187.23.80.176] has quit ["Ex-Chat"]
22:43 < npe> voxadam: np :)
22:43 < Associat0r> npe wasn't inferno's kernel done in C?
22:44 < npe> Associat0r: yes.
22:44 -!- mjl- [n=none@knaagkever.ueber.net] has quit [Remote closed the
connection]
22:44 -!- FreshMeat [n=crump@c-67-180-74-9.hsd1.ca.comcast.net] has joined
#go-nuts
22:44 < Associat0r> npe I thought only user mode stuff was done in limbo
22:44 < npe> Associat0r: Inferno's kernel is the vm.
22:44 -!- quesne [n=tore@186.80-203-226.nextgentel.com] has quit ["Leaving"]
22:44 < npe> limbo -> dis -> kernel interprets/jits the dis.
22:45 -!- joeedh [n=chatzill@c-24-10-97-83.hsd1.ca.comcast.net] has joined
#go-nuts
22:45 < sandb> exit
22:45 -!- sandb [n=sandbend@d54C37AAB.access.telenet.be] has left #go-nuts []
22:45 < weggpod> How is implement Channel ? on pipe?  on socket?
22:45 < chrome> executing a shell command to clear the screen is The Wrong
Way
22:45 < Associat0r> npe dis?
22:45 < npe> Associat0r: Inferno's virtual machine language.
22:46 < npe> Associat0r: limbo is just a language that compiles to dis.
22:46 -!- drusepth [n=drusepth@75.50.51.169] has joined #go-nuts
22:46 < Associat0r> ok
22:46 -!- level09 [n=chatzill@91.75.244.132] has joined #go-nuts
22:46 < eno> we don't have bytecode and vm in golang as in inferno, right?
22:47 < nsz> y
22:47 < eno> it's compiled down to native code
22:47 < saati> eno: yes
22:48 < mrd`> Also, it's just go, not golang.
22:48 -!- mgraves [n=mike@c-75-72-114-208.hsd1.mn.comcast.net] has joined #go-nuts
22:48 < mrd`> :)
22:48 < eno> inferno is pretty cool, i even tried acme-sac for a while
22:48 * npe <3's acme-sac
22:49 < npe> check out the octopus for another take on inferno too.
22:49 -!- Raziel2p [n=Raziel2p@ti0032a380-dhcp0316.bb.online.no] has joined
#go-nuts
22:49 < Gynvael> http://gynvael.coldwind.pl/?id=249 (I've published my
raytracers code, at the end of the post)
22:49 -!- Seldon75 [n=chatzill@74.13.106.205] has quit [Remote closed the
connection]
22:49 < eno> i bet there might be some old timers in google using acme for
go
22:49 < kuroneko> ok, I think I've now got hudson monitoring upstream
properly :)
22:50 < npe> eno: that's a good guess ;)
22:50 < Gynvael> any comments are welcomed, espessially about the go feature
I might have used (but had not) in the code ;>
22:50 -!- newsham [n=chat@thenewsh.com] has left #go-nuts []
22:50 < npe> eno: I'm using p9p acme here.
22:50 < mgraves> cool Gynvael!
22:50 -!- highb [n=highb@shell.onid.oregonstate.edu] has joined #go-nuts
22:50 < eno> after all, Russ is the man for p9p
22:50 -!- FireSlash [n=mew@rrcs-96-11-129-63.central.biz.rr.com] has quit [Read
error: 104 (Connection reset by peer)]
22:51 -!- tonyb486 [n=tonyb@libre.fm/hacker/tonyb486] has joined #go-nuts
22:51 -!- robpike [n=robpike@nat/google/x-cqalqreqxeqjoodd] has joined #go-nuts
22:51 -!- mode/#go-nuts [+v robpike] by ChanServ
22:51 -!- sirob [n=nicolas@83.212.108.191] has joined #go-nuts
22:51 < npe> eno: indeed.
22:51 < kuroneko> I'll see about exposing the hudson so people can watch it
pass/fail.
22:51 -!- keithpoole [n=keithpoo@cpc3-bagu8-0-0-cust84.bagu.cable.ntl.com] has
joined #go-nuts
22:52 -!- fivebats [n=anonymou@c-76-115-189-78.hsd1.or.comcast.net] has joined
#go-nuts
22:52 <+kaib> eno: r, rsc and i are on acme (and sam), ken seems to be on
sam, don't know what gri, iant or agl uses.
22:52 <+robpike> gri uses xcode, iant and agl emacs
22:52 < nsz> Gynvael: i dont get this line
22:52 < nsz> SpherePosMap = SpherePosMap;
22:52 -!- chachan [n=chachan@ccscliente156.ifxnetworks.net.ve] has quit ["KVIrc
Insomnia 4.0.0, revision: , sources date: 20090520, built on: 2009/06/06 11:44:47
UTC http://www.kvirc.net/"]
22:53 <+kaib> robpike: eno was speculating if anyone uses acme at google.
22:53 < harryv> how do you use acme w/ a mac?  doesn't it require 3 mouse
buttons?
22:53 < eno> cool!
22:53 < Gynvael> nsz: ahahha sorry, it's a left over after some tests ;>
(to make an error stop showing for a second)
22:53 < kuroneko> harryv: external mouse would be one easy way
22:53 < Gynvael> nsz: I forgot to remove it ;>
22:53 -!- Associat0r [n=Associat@h163153.upc-h.chello.nl] has quit []
22:53 -!- dsal [n=Adium@75-149-58-110-SFBA.hfc.comcastbusiness.net] has left
#go-nuts []
22:53 <+robpike> harryv: i havea 3-button mouse
22:53 -!- armence [n=armence@c-67-188-229-128.hsd1.ca.comcast.net] has joined
#go-nuts
22:53 < harryv> kuroneko: I've grown unable to use an external mouse :P
22:54 <+robpike> sam works fine with a trackpad because there's no chording
22:54 -!- flyfish [n=flyfish@pixout.appriss.com] has quit []
22:54 <+robpike> but enough about me....
22:54 < dho> is there any way to get the allocated stack size of a given
goroutine that's passed into newosproc?
22:55 <+robpike> dho: get in what sense?
22:55 -!- rfunduk [n=rfunduk@208.124.249.146] has quit ["sudo
get-the-hell-off-irc"]
22:55 < dho> `determine so i can pass it to the os threading syscalls'
22:55 < eno> robpike: is there any "structural regex" in go?
22:55 < dho> the stack base is stored, but it doesn't seem possible to get
the addr of the top to do math
22:56 < dho> given an M and a G
22:56 < RadSurfer> stack-manipulation is taboo these days is it not?
22:56 <+robpike> dho: the guard gives you an indication of the other end.
you need to offset it by the safety zone
22:56 <+robpike> eno: not yet
22:56 -!- only482 [n=only482@99-57-244-217.uvs.rcsntx.sbcglobal.net] has joined
#go-nuts
22:57 -!- paraboul [n=para@local.weelya.com] has joined #go-nuts
22:57 < only482> i have what may seem like a pretty simple question, i'm
just not grasping the concept of how to do it
22:57 < only482> how do i grab user input from stdin
22:57 < dho> robpike: StackGuard seems local to proc.c
22:57 -!- dchest [n=dchest@81.5.81.249] has quit []
22:58 < dho> (or is that not what you mean by safety zone)
22:58 <+robpike> os.Stdin is a *os.File.  read from it: os.Stdin.Read(...)
etc.
22:58 -!- dchest [n=dchest@81.5.81.249] has joined #go-nuts
22:58 <+robpike> dho: are you grubbing around the runtime code (C) or some
place in Go?
22:59 < only482> i'm guessing i need to read to a byte array?
22:59 < dho> robpike: runtime code, porting to freebsd
22:59 < dho> thr_new wants the size of the stack you're passing it
22:59 <+iant> only482: Read expects a slice
22:59 <+robpike> dho: runtime.h declares the fields in G
23:00 <+robpike> only482: you probably want to wrap os.Stdin using bufio.
there's a version doing this with Stdout and Write in the tutorial.  should be
easy to adapt
23:00 < ojm> only482: Here's a demo asking for a letter and printing it
http://pastebin.com/m7cb73c6
23:00 <+robpike> only482: then you can read lines using ReadBytes etc.
23:00 <+robpike> ojm: yes that's the way
23:01 < only482> thank you gentlemen, it's much appreciated
23:01 -!- binaryjohn [n=binaryjo@cpe-24-30-132-50.san.res.rr.com] has joined
#go-nuts
23:01 -!- josh [n=josh@c-67-177-6-66.hsd1.ut.comcast.net] has joined #go-nuts
23:01 < harryv> hm.  a slice can't just have variable length?
23:02 <+iant> harryv: a slice can have variable length but it can't have
variable capacity
23:02 < dho> robpike: Right, but the size would effectively be
G->stackbase - G->stackguard + StackGuard, right?
23:02 < harryv> iant: so, in a struct, how do I specify the capacity?
23:02 < dho> robpike: but StackGuard is in an enum in proc.c
23:02 <+robpike> i think so.  that was a long time ago.
23:02 < dho> (so is it cool to move it?)
23:02 <+iant> harryv: the capacity of a slice is defined when you make() it
23:02 <+robpike> dho: if that fixes the problem,, sure
23:02 < dho> okydoke
23:03 < harryv> right.
23:03 <+iant> harryv: so it comes from the struct initializer
23:03 < harryv> yes
23:03 -!- yaroslav [n=yaroslav@91.78.215.1] has joined #go-nuts
23:03 -!- tunnuz [n=tunnuz@adsl-ull-248-53.48-151.net24.it] has joined #go-nuts
23:03 < tunnuz> hello
23:03 < harryv> iant: is there something for adding to a slice, or do I have
to loop through to find somewhere free?
23:03 < harryv> (hope that made sense at all.)
23:04 <+iant> harryv: you may want to look at pkg/container/vector
23:04 <+robpike> harryv: also look at bytes.Add()
23:04 < ojm> why is my Pipes and DevNull undefined when I have imported
exec?
23:04 < harryv> iant: ah, neat.
23:05 < sm> is there a way to see only the go-related issues in codereview ?
23:05 < mainman__> obj
23:05 -!- erik__ [n=erik@rrcs-71-42-227-214.sw.biz.rr.com] has quit ["Leaving"]
23:05 < yaroslav> Hi, can anyone help with building on os x?  I'm pretty
sure this is a common problem, any FAQs maybe?
http://pastie.org/private/or5e31zds8bslrjfplzz3q
23:05 < harryv> iant: that's pretty much the array I know from ruby, it
seems.
23:06 <+iant> ojm: are you using exec.DevNull?
23:06 <+robpike> yaroslav: see CommonProblems link aboe
23:06 <+robpike> above
23:06 < yaroslav> robpike: thanks
23:06 < ojm> iant: No, because that stupid example code from exec_test.go
didn't?
23:06 <+robpike> yaroslave: also hg pull -u might help you
23:07 <+iant> ojm: exec_test is actually in package exec, so it doesn't need
to qualify the names
23:07 < ojm> this stuff is hard...
23:07 -!- magewhopper [n=magemage@Wikipedia/Mage-Whopper] has quit ["This computer
has gone to sleep"]
23:07 < yaroslav> robpike: just did a fresh pull, will try to fool around
and remove that test
23:07 <+robpike> yaroslav: cool
23:08 < ojm> couldn't someone type that piece of information IN the
documentation on webpage?
23:08 <+iant> ojm: the language spec covers use of imported symbols
23:08 -!- Cantareus [n=brendon@121-73-186-98.dsl.telstraclear.net] has quit
["Ex-Chat"]
23:08 <+iant> ojm: but we're always happy to hear specific suggestions for
how to improve the docs
23:09 < weggpod> iant, what system mechanism used to implement chan?
23:09 < mainman__> are there namespace or something like "from x import y /
import x.y" ?
23:09 < ojm> "he choices are DevNull (connect to /dev/null), PassThrough
(connect to the current process's standard stream), Pipe (connect to an operating
system pipe), and MergeWithStdout (only for standard error; use the same file
descriptor as was used for standard output)."
23:09 <+robpike> ojm: does "godoc gotest" tell you what you needed to know?
23:09 -!- juico [i=5592b540@gateway/web/freenode/x-gpvtocneoxptgiws] has joined
#go-nuts
23:09 < ojm> it would be cool if that would have that exec.  in there
somewhere
23:10 -!- aaront [n=aaront@d24-141-25-171.home.cgocable.net] has joined #go-nuts
23:10 <+iant> weggpod: channels in the 6g/8g runtime are implemented in user
space
23:10 <+robpike> ojm: probably not
23:10 <+iant> mainman__: you can set the name used for imported symbols--see
the language spec
23:10 <+robpike> ojm: for brevity most of the package docs leave out the
package prefix.  perhaps it shouldn't but it does
23:10 < yaroslav> what's the state of unicode (8/16) support in go?..
didn't yet see anything on subject
23:10 < weggpod> iant, it's crazy how it's possible
23:10 -!- shambler [i=sil@mm-216-160-84-93.dynamic.pppoe.mgts.by] has quit ["What
you've been is not on boats."]
23:10 < blup> i thionk it says its all utf8ta say the syntax for go is
turning off alot of people i know at least :/ not critisising but
23:10 < blup> hmm
23:10 -!- ebolaflu [n=ebolaflu@adsl-068-016-104-079.sip.asm.bellsouth.net] has
left #go-nuts []
23:11 < blup> the horror of writing soemthing then hitting home instead of
delete
23:11 <+iant> yaroslav: everything is UTF-8
23:11 < yaroslav> awesome
23:11 <+robpike> yaroslav: what do you mean by support?  input text is in
utf-8.  libraries know about utf-8 and unicode but not utf-16
23:11 <+iant> yaroslav: also see pkg/unicode and pkg/utf8
23:12 < harryv> it's ok that a channel is shared by more than two
goroutines, right?
23:12 < ojm> Well that seems to work now thank you.
23:12 < ojm> exec.Run("/bin/clear", []string{"clear"}, nil, exec.Pipe,
exec.Pipe, exec.DevNull);
23:12 <+robpike> harryv: of course
23:13 < ojm> nooo, it's not working
23:13 < weggpod> iant, how i can make this in C? I search to understand how
it's possible
23:13 <+robpike> harryv: probably want one end sending and one receiving
23:13 < taybin> iant: I've been thinking of adding a Platform package that
would contain constants related to the architecture and endianness.  would that be
something you guys would be interested in?
23:13 -!- lindsayd [n=lindsayd@nat/cisco/x-oqldonjgbbuleieq] has joined #go-nuts
23:13 < ojm> but it compiles and doesn't whine...  Just doesn't work :(
23:13 < taybin> iant: I didn't see anything like that already existing
23:13 < harryv> robpike: I have one goroutine receiving, and a whole bunch
sending.  a small message router.
23:13 <+iant> weggpod: you have to provide a library down to the system call
level, and then use coroutines multiplexed onto OS threads; all the code is in
pkg/runtime
23:13 <+robpike> harryv: cool!
23:13 -!- jasom [n=aidenn@ip70-177-2-232.sb.sd.cox.net] has joined #go-nuts
23:14 <+iant> taybin: that makes sense to me but I would put it in
pkg/runtime
23:14 -!- SaB [i=545b7b8f@gateway/web/freenode/x-fldhslzvypdjbzgj] has joined
#go-nuts
23:14 <+iant> or maybe unsafe, not suare
23:14 <+robpike> iant: i would say runtime offhand
23:14 < blup> is the limit to how many routines you can make from pthreads?
23:14 <+iant> blup: 6g/8g don't use pthreads
23:14 < npe> robpike: does idiomatic go use the plan 9 style of portability
wrt to untyped byte arrays?  Or should you use gob for everything?
23:14 < zeebo-> is it possible to convert []byte to string?
23:14 <+iant> the main limit on them is virtual memory space
23:14 < blup> oh thats what i automatically assumed
23:15 <+robpike> npe: gobs are meant for network transport
23:15 < ojm> might have something to do with the fact, that clear isn't in
/bin but /usr/bin ...
23:15 <+iant> zeebo-: string([]byte) works
23:15 -!- sea-gull_ [n=sea-gull@95-28-26-0.broadband.corbina.ru] has quit [Read
error: 113 (No route to host)]
23:15 < blup> iant, does the gcc one?
23:15 -!- nihilis [n=nihilis@217.194.147.131] has quit [Connection timed out]
23:15 -!- kizzo [n=kizzo@c-24-6-50-117.hsd1.ca.comcast.net] has joined #go-nuts
23:15 < zeebo-> iant: oh thanks.
23:15 -!- engla [n=ulrik@wikipedia/Sverdrup] has quit ["leaving"]
23:15 <+iant> blup: the gccgo runtime does currently use pthreads, and that
is indeed the limit on gccgo
23:15 <+iant> I hope to eventually move gccgo to the 6g/8g runtime
23:16 <+iant> the main blocking point was segmented stacks, but that seems
to be working now in gccgo
23:16 <+robpike> iant: w00t
23:16 -!- nightmouse [n=nightmou@75-146-142-42-NewMexico.hfc.comcastbusiness.net]
has quit [Read error: 104 (Connection reset by peer)]
23:16 -!- necromancer [n=necroman@c-69-142-78-178.hsd1.pa.comcast.net] has quit
[Read error: 113 (No route to host)]
23:16 < npe> robpike: sorry, I wasn't specific enough.  If you want to
serialize and store your data(say a personal database or something that would say
get mmapped and written using the Linux way of doing things) how should you do it
in go?
23:17 <+robpike> gobs
23:17 < npe> robpike: cool, thanks.
23:18 -!- kongtomorrow [n=kongtomo@17.214.88.220] has joined #go-nuts
23:18 -!- fs111 [n=fs111@d54C37AAB.access.telenet.be] has quit ["leaving"]
23:18 < tunnuz> robpike, I'm taking a look to the go tutorial, I just
installed it
23:18 < ni|> the suggested way is to use the plan9 style compiler right
23:18 < ni|> with 6g and 6l as opposed to gccgo
23:19 < chrome> robpike: any reason why this wouldn't work as expected to
remove 2 characters off the end of a byte array and then convert it to a trimmed
string?  line = strings.TrimSpace(string(bytes[0 : len(bytes)-2]));
23:19 <+kaib> eno: are you still around?
23:19 < harryv> hm.  I can't pass a channel in its own right through a
channel?  it has to be encapsulated in a struct?
23:19 < tunnuz> robpike, I'd love to love Go, in the meanwhile tank you
23:19 <+iant> ni|: depends on your goals
23:20 <+iant> harryv: you can pass a channel on a channel
23:20 < jaxdahl> ie, foo chan chan ?
23:20 <+robpike> the two compilers are packaged separately.  6g etc.  are
faster at compiling, don't generate quite such good code, have more advanced
runtime.  gccgo is slower at compiling (but not bad), generates better code, is a
little behind on runtime but catching up fast.  it's up to you
23:20 <+iant> chrome: that looks right to me
23:20 < harryv> foo := make(chan chan); gives syntax error
23:20 < jasom> From the tech-talk slides, it looks like 6g should be
parallel on an SMP machine?
23:20 < ni|> robpike: thanks!
23:20 <+iant> harryv: well, you need to say the full type of the channel, as
in foo := make(chan chan int)
23:20 <+robpike> jasom: 6g is the compiler.  it's a c program, doesn't run
in parallel
23:20 < harryv> ah.
23:21 < Gynvael> lol
23:21 < jasom> er, it should generate code that runs in parallel
23:21 < Gynvael> a chan for chans ;> good one ;> i like it
23:21 -!- Necrathex [n=bleptop@212-123-163-12.ip.telfort.nl] has quit [Remote
closed the connection]
23:21 <+robpike> harrvy: the tutorial and effective go both have examples
doing this
23:21 < harryv> robpike: I checked them.  no chan chan as far as I can see.
23:21 <+robpike> jasom: yes if you use goroutines
23:21 -!- tunnuz [n=tunnuz@adsl-ull-248-53.48-151.net24.it] has quit ["Leaving"]
23:21 < eno> kaib: here
23:21 < jlouis> harryv: I've stumbled upon one
23:22 < jasom> I've been unable to get cpu time > realtime spawning a few
goroutines on my dual-core machine
23:22 < harryv> curl | grep disagrees
23:22 < blasdelf> plus I imagine that in the next couple weeks some clever
cats will release an LLVM-targeted Gc
23:22 < Gynvael> Since the go routines use a set of threads, how to change
the number of threads they use?  I've tried playing with GOPROCS, but it doesn't
seem to work the way I wanted.  I would like to make 4 threads to use the 4 cores
my CPU has (it's for the raytracing engine I've written)
23:22 < nmichaels> jasom: do any of them block?
23:22 -!- jessicara [n=nya@unaffiliated/jessicara] has joined #go-nuts
23:22 -!- binaryjohn [n=binaryjo@cpe-24-30-132-50.san.res.rr.com] has quit []
23:22 -!- Guest14027 [n=remote@modemcable092.81-201-24.mc.videotron.ca] has quit
[Read error: 54 (Connection reset by peer)]
23:22 <+robpike> jasom: see effective go and the discussion of GOMAXPROCS
23:22 < jasom> nmichaels: nope, they just calculate fib(n) and write it out
to a channel
23:22 -!- remote [n=remote@modemcable092.81-201-24.mc.videotron.ca] has joined
#go-nuts
23:23 < Gynvael> *GOMAXPROCS ofc
23:23 <+robpike> jasom: oops except i didn't put anything about it in there
23:23 <+kaib> eno: can you sync and rebuild with export GOARM=5
23:23 -!- remote is now known as Guest15094
23:23 <+kaib> eno: that should get you a swp based cas.
23:23 <+robpike> jasom: export GOMAXPROCS=4 and it will use 4 cores.  or
call runtime.GOMAXPROCS(4)
23:23 -!- patrick_eh [n=patrick@pool-71-249-10-210.nycmny.east.verizon.net] has
joined #go-nuts
23:23 <+robpike> jasom: godoc runtime
23:23 -!- xkpe [n=xkpe@81.84.175.144] has joined #go-nuts
23:23 -!- level09 [n=chatzill@91.75.244.132] has quit [Connection timed out]
23:23 <+kaib> eno: what was your cpu again?
23:23 < jasom> thanks :) I didn't see anything in the tutorial or effective
go about this on my first readthrough
23:24 -!- Pilate is now known as PPilate
23:24 < eno> kaib: ARM926EJ-S rev 1 (v5l)
23:24 < jaxdahl> i'm doing something rougly like loop1( ..  go foo(out) ..
) loop2( print<-out ) where foo is O(rand(1000)) efficiency, so i'd expect
randomly ordered output, but i'm getting it back in the same order i put it in,
what might i not be understanding?
23:24 <+kaib> eno: right, it seems to work at least in the emulator.
23:24 < eno> doing that right now
23:24 < chrome> any chance we could get nightly snapshots of the go
repository as a tarball?  my company's proxy doesn't like hg.
23:24 -!- alb [n=nil@unaffiliated/alb] has joined #go-nuts
23:25 < blasdelf> chrome: but it abides by IRC?
23:25 <+robpike> jaxdahl: jasom knows the answer
23:25 < chrome> blasdelf: leet tunnel hax to ssh server
23:25 -!- Veejay [n=carcajou@rps1954.ovh.net] has joined #go-nuts
23:25 < chrome> blasdelf: said leet tunnel hax won't work with hg
23:25 < mrd`> jaxdahl: Is out a buffered or unbuffered channel?
23:25 <+kaib> eno: btw you need to rebuild the whole system using
make-arm.bash
23:25 < chrome> not without some screwing around at least.
23:26 < jaxdahl> mrd`, i do not know how to answer you
23:26 -!- brothers [n=brothers@38.126.129.222] has quit []
23:26 < blasdelf> chrome: I often do the same, just use hg on the box you're
sshed to and then scp
23:26 < mrd`> jaxdahl: make(chan x) or make(chan x, N)
23:26 -!- anders_ [n=anders@c83-253-2-206.bredband.comhem.se] has quit ["Leaving"]
23:26 < nmichaels> leet ssh tunnel hax: ssh -R 2222:127.0.0.1:22
user@outsidehost
23:26 -!- adam_godev [n=adam@001a4b73f651.click-network.com] has joined #go-nuts
23:27 < blup> iant, 0008 (hiw.go:6) CALL ,runtime.newproc+0(SB) <- is
this the part where the thread is made?
23:27 -!- lasko [n=lasko@70.99.232.187] has left #go-nuts []
23:27 -!- Godfath3r_ [n=godfath3@athedsl-4489942.home.otenet.gr] has joined
#go-nuts
23:27 < mrd`> jaxdahl: (I'm assuming also that "print<-out" is meant to
be something like fmt.Println(<-out), and not actually print<-out.)
23:27 < jaxdahl> mrd`, yes it is psuedocode
23:27 < jaxdahl> using os.Stdout.WriteString
23:27 <+iant> blup: yes, I think that is where a new goroutine is created
23:27 <+robpike> blup: yes
23:28 < sm> lunch time for me..  reminder, you can listen to commits and
issue updates in #go-updates
23:28 < blup> so wait i think i missed something but this is kinda new to me
23:28 < mrd`> jaxdahl: But so which make expression did you use to create
the 'out' channel?  The former will be unbuffered, meaning sends block until
there's a reader; the latter is buffered, meaning it only blocks if there's not
enough space in the channel.
23:28 < blup> there is a runtime that is built into the executables?
23:28 < jaxdahl> mrd` out := make(chan *mb_out)
23:28 < adam_godev> why would these two return different vals?: var p struct
{
23:28 < adam_godev> x, y, area int;
23:28 < adam_godev> }
23:28 < adam_godev> p.x, p.y = 3, 5;
23:28 < adam_godev> p.area = getArea(p.x, p.y);
23:28 -!- adam_godev [n=adam@001a4b73f651.click-network.com] has left #go-nuts []
23:28 <+kaib> blup: yes.  the runtime is statically linked into the
executables (in gc)
23:28 <+robpike> blup: and dynamically in gccgo
23:28 < jaxdahl> i added a 2nd parameter but it seems to have made no
difference
23:28 -!- Veejay [n=carcajou@rps1954.ovh.net] has left #go-nuts ["WeeChat 0.3.0"]
23:29 -!- Godfath3r [n=godfath3@ppp-94-69-67-135.home.otenet.gr] has quit [Read
error: 60 (Operation timed out)]
23:29 -!- m0rra [n=m0rra@90.191.240.233] has quit ["Ex-Chat"]
23:29 < chrome> ojm: http://www.termsys.demon.co.uk/vtansi.htm
23:29 <+robpike> jaxdahl: show your work
23:29 -!- robpike [n=robpike@nat/google/x-cqalqreqxeqjoodd] has left #go-nuts []
23:29 -!- adam_godev [n=adam@001a4b73f651.click-network.com] has joined #go-nuts
23:29 -!- Aria [n=aredride@eridani.theinternetco.net] has joined #go-nuts
23:29 -!- robpike [n=robpike@nat/google/x-cqalqreqxeqjoodd] has joined #go-nuts
23:29 -!- mode/#go-nuts [+v robpike] by ChanServ
23:29 < adam_godev> Oops, sorry about that
23:29 < jaxdahl> i'm going to distill this down to the bare essentials
23:29 < adam_godev> clumsy clumsy
23:30 < blup> so basically the last question for now, if i were to run the
executable on a different computer would it run?
23:30 < chrome> ojm: <ESC> is character code 27 in asci.  So you can
clear the screen with <ESC>[2J
23:30 < mrd`> blup: On a different computer of the same architecture.
23:30 < blup> that had nothing go related on it?
23:30 < jlouis> blup: yes.  Statically linked.  If the arch+os matches...
23:30 < adam_godev> where is a good site to host temporary code that is easy
to update/maintain etc?
23:30 < jaxdahl> \033 is <ESC>
23:30 < blup> yes but he said its dynamically in the gccgo thats where i got
lost
23:30 <+iant> blup: yes, assuming correct architecture and OS
23:30 < kuroneko> adam_godev: github?
23:30 < kuroneko> :)
23:31 < yaroslav> adam_godev: github
23:31 < eno> kaib: $ ./5.out
23:31 < eno> hello, world
23:31 < adam_godev> fair enough, thanks
23:31 < ojm> chrome, how do I give it?  And it would be nice to learn to
start external programs anyway...
23:31 <+kaib> eno: cool.  :-)
23:31 <+iant> when using gccgo, you would have to have the dynamic libgo
library there
23:31 -!- SunlessHalo [n=[Prior]@193.87.112.223] has joined #go-nuts
23:31 < yaroslav> i wonder if github guys are actually rewriting something
in go right now
23:31 <+iant> although you can also statically link with gccgo
23:31 < eno> kaib: thanks a lot
23:31 < Gynvael> hmmm, does the GOMAXPROCS work on Linux 64-bit ?
23:31 < mrd`> yaroslav: Why?
23:31 < chrome> ojm: just write the characters to the screen.
23:31 <+iant> Gynvael: it should
23:31 <+robpike> eno: cool!
23:32 <+kaib> eno: np, rsc did a quick turnaround on the code review.  the
change was straightforward.
23:32 < blup> ok ill go read the whole spec thing then come back if i have
questions, thanks
23:32 < Gynvael> iant: can't get it to run on more then 1 core ;/
23:32 <+robpike> Gynvael: yes
23:32 -!- lux` [n=lux@151.54.240.177] has quit [Read error: 60 (Operation timed
out)]
23:32 -!- jcowan [n=jcowan@72.14.228.129] has joined #go-nuts
23:32 <+robpike> Gynvael: did you export it?  or call runtime.GOMAXPROCS?
23:32 < Gynvael> robpike: tried both
23:32 < ojm> chrome: I'm trying to make tictactoe-game, so that it would
clear the screen between plays.  It's not good if players need to type those in or
something?
23:32 < Gynvael> robpike: no luck so far...
23:32 < Gynvael> I'll download a new version from repo and recompile it or
sth
23:33 < chrome> ojm: the program prints it.
23:33 <+robpike> Gynvael: try test/bench/spectral-norm-parallel.go it
parallelizes on 64-bit linux for me.
23:33 < jasom> jaxdahl: if GOMAXPROCS is 1 then all the go routines will run
on a single thread I imagine
23:33 < Gynvael> robpike: ok, I will
23:34 -!- devinus [n=devin@65.107.181.222.ptr.us.xo.net] has quit [Read error: 60
(Operation timed out)]
23:34 < chrome> ojm: probably fmt.Printf("\033[2J") will clear the screen
for you.
23:34 -!- kertak_ [n=kertak@83.145.103.84] has joined #go-nuts
23:35 <+iant> jasom: only all CPU-bound goroutines, it's still true that if
a goroutine blocks on the OS it will be moved to a different thread
23:36 -!- Bun [n=kgm@69.60.117.186] has joined #go-nuts
23:36 < ojm> chrome, thanks it does work
23:36 -!- ianmartin [n=ian@92.25.205.219] has left #go-nuts ["Ex-Chat"]
23:36 -!- robertpateii [n=robertpa@207-114-244-5.static.twtelecom.net] has quit
["Leaving."]
23:36 -!- ineol [n=hal@mar75-9-88-171-191-168.fbx.proxad.net] has quit []
23:37 < chrome> ojm: cool, check that page I linked for other useful codes.
Like, \033[f
23:37 < kuroneko> is there a way to make cgo keep intermediate bits?
23:37 < jasom> iant: so if I have hundreds of goroutines do a blocking read
on, say a socket, lots of threads will get spawned?
23:37 -!- sg [i=3e164621@gateway/web/freenode/x-rraiygftgvazmeaj] has joined
#go-nuts
23:37 < sg> hi
23:37 < jlouis> 2.75user 0.01system 0:01.49elapsed 184%CPU -- not too shabby
for that parallel spectral norm.  Intel C2 Duo P8600
23:37 -!- rogue780 [n=rogue780@c-68-34-234-213.hsd1.md.comcast.net] has joined
#go-nuts
23:37 < rogue780> woohoo!
23:37 <+iant> jasom: yes
23:38 < sg> may i ask ¿has someone implemented the computer language
benchmarks in Go?
23:38 <+iant> jasom: at least, that can happen in principle
23:38 <+iant> sg: see test/bench
23:38 -!- tuples_ [i=55006f4d@gateway/web/freenode/x-wiaefacplivkqhnp] has joined
#go-nuts
23:38 < Ycros> kuroneko: eh, so you've switched to cgo now?  :)
23:38 < sg> iant: sorry i'm on windows, i didn't even download the src
23:38 < rbohn> hmm, built 5g ok, but now my gofmt executable is ARM.
23:38 < bguimberteau> someone have configure Xcode for build auto Go program
?
23:38 < kuroneko> Ycros: yes.
23:38 < bguimberteau> i try it but i dont found :(
23:38 < only482> if i wanted to flip off visible input, would i have to use
exec to run "stty -echo" or is there a simple way to replace chars as they are
typed, like using getch() in c?
23:38 <+robpike> iant, jasom: in 6g etc.  it uses epoll and doesn't consume
threads like that
23:38 < kuroneko> Ycros: I also have 386 and amd64 go under CI via Hudson
23:38 <+iant> rbohn: that is a drawback
23:38 -!- GGLucas [n=GGLucas@5357F9E6.cable.casema.nl] has quit [Read error: 60
(Operation timed out)]
23:38 < kuroneko> so I can see when they break it ;)
23:39 < Ycros> kuroneko: neat
23:39 < jasom> robpike: that's the behavior I would have expected
23:39 -!- kassens [n=kassens@P3106.pallas.wh.tu-darmstadt.de] has joined #go-nuts
23:39 < kassens> hi
23:39 -!- robpike [n=robpike@nat/google/x-cqalqreqxeqjoodd] has left #go-nuts []
23:39 < tuples_> http://pastebin.com/m70849c4b - I tried to be as concise as
possible.  What is wrong here?!
23:39 <+iant> only482: I don't think we have termio in the syscall package
yet, so you probably would have to run stty I think
23:39 < yaroslav> did anyone already code a toy http server in go?  any
benchs?
23:39 < rbohn> fix was simple, go/src/cmd/gofmt, make install.
23:39 < rogue780> go *really* needs a windows port
23:40 -!- jcowan [n=jcowan@72.14.228.129] has left #go-nuts ["Leaving"]
23:40 < chrome> rogue780: you just volunteered!  :D
23:40 < only482> iant: okie dokie
23:40 < chrome> rogue780: let us know when you're done :D
23:40 < Ycros> rogue780: some people were trying for a mingw/cygwin port -
not sure how they went
23:40 < rbohn> go *really* needs a vmware appliance...
23:40 < tuples_> (line 17 is line 19 in the pastebin=
23:40 < sg> i would help on the win32 port if necessary
23:40 < ojm> yaroslav: didn't Google already do that?
23:40 -!- lazzurs [n=lazzurs@77.74.198.235] has quit [Remote closed the
connection]
23:41 -!- philcrissman [n=philcris@174-20-188-170.mpls.qwest.net] has quit [Remote
closed the connection]
23:41 < nmichaels> Is this the go way of spelling a cast of variable foo to
type bar: foo.(bar)?
23:41 < rogue780> Ycros, i was thinking taht might be the best way,
especially since there seems to be a wrapper for gcc already.  Unfortunately, my
programming experience is PHP,Python&Java...I'm not nearly skilled enough to
undertake something such as this.
23:41 < kassens> i'm all cool with gofmt, just the tab size seems way to
wide
23:41 < mrd`> yaroslav:
http://timyang.net/programming/c-erlang-java-performance/
23:41 -!- akdom [n=akesling@wvc32573rh.rh.ncsu.edu] has quit ["Leaving."]
23:42 < Ycros> kassens: it's just tabs, you can change how they look in your
editor
23:42 < rbohn> kassens tab size is set in your editor
23:42 -!- danly [n=danlesli@S010600226b5eab8e.vs.shawcable.net] has joined
#go-nuts
23:42 -!- only482 [n=only482@99-57-244-217.uvs.rcsntx.sbcglobal.net] has left
#go-nuts []
23:42 -!- SRabbelier [n=SRabbeli@ip138-114-211-87.adsl2.static.versatel.nl] has
quit ["Leaving."]
23:42 -!- albertito [n=nil@unaffiliated/alb] has quit [Read error: 110 (Connection
timed out)]
23:42 < kassens> nope, it does matter, since the formatter uses tabs to
align stuff @Ycros, rbohn
23:42 < yaroslav> mrd`: sigh
23:43 <+iant> nmichaels: that is a type assertion, a cast is type(value)
23:43 -!- schultzi [n=schultzi@99-57-244-217.uvs.rcsntx.sbcglobal.net] has joined
#go-nuts
23:43 -!- Ishmael [n=ishamael@189.96.97.4] has quit [Read error: 104 (Connection
reset by peer)]
23:43 <+iant> nmichaels: a type assertion is how you convert an interface
type to a real type or to a different interface type
23:44 -!- dgquintas [n=dgquinta@93.21.93.31] has joined #go-nuts
23:44 < mrd`> yaroslav: ?
23:44 < rbohn> kassens: Ah, you're right.  Not line indentation, but the
layout within the lines.
23:44 < kuroneko> Oh. Crud.
23:44 < kuroneko> now I know what's wrong
23:44 < yaroslav> mrd`: would love to see Go making 2 times that rps :)
23:44 < Omega> How old is Go?
23:45 < kassens> 2 days or something
23:45 < Omega> Publicly.
23:45 < kassens> i think they started development in 2007
23:45 < blup> more like hwo new then :P
23:45 < mrd`> yaroslav: Oh, you mean you wouldn't want it to be 1/10th?
23:45 < Omega> Hmm.
23:46 < kuroneko> cgo / debug/dwarf doesn't understand Bool types
23:46 < kuroneko> crap crap crap
23:46 -!- amacleod [n=amacleod@c-71-192-107-59.hsd1.ma.comcast.net] has joined
#go-nuts
23:46 -!- robpike [n=robpike@nat/google/x-cqalqreqxeqjoodd] has joined #go-nuts
23:46 -!- mode/#go-nuts [+v robpike] by ChanServ
23:46 -!- defectiv [n=clays@c-24-5-65-40.hsd1.ca.comcast.net] has quit ["This
computer has gone to sleep"]
23:46 -!- lux` [n=lux@151.54.240.177] has joined #go-nuts
23:47 < tuples_> iant: can you take a look: http://pastebin.com/m70849c4b ?
23:47 -!- alb [n=nil@unaffiliated/alb] has quit ["q"]
23:47 < weggpod> thanks iant
23:47 -!- Floppy [n=stranded@134.74.100.210] has quit ["carrot is a compound word
ok"]
23:48 <+iant> tuples_: bar.Bar.a is not visible outside of the package bar
23:48 <+iant> because it is not capitalized
23:48 -!- lazzurs [n=lazzurs@77.74.198.235] has joined #go-nuts
23:48 < tuples_> But it's not used outside bar?
23:48 -!- artefon [n=thiago@187.20.142.134] has quit [Read error: 110 (Connection
timed out)]
23:48 <+iant> tuples_: hmmm, yeah, wait
23:48 < tuples_> thanks
23:49 -!- goloo [n=goloo@host189-202-dynamic.36-79-r.retail.telecomitalia.it] has
joined #go-nuts
23:49 -!- artefon [n=thiago@187.20.142.134] has joined #go-nuts
23:49 < tuples_> iant: though capitalizing does indeed "fix" it
23:49 -!- SaB [i=545b7b8f@gateway/web/freenode/x-fldhslzvypdjbzgj] has quit ["Page
closed"]
23:49 < ni|> i'm going to put go on my palm pre too; i expect it will work
since its linux and arm7
23:49 < rbohn> kassens: gofmt -tabwidth=3
23:50 < danly> Omega:
http://code.google.com/p/go/source/detail?r=4e9a5b0955321f15379f80dcc96cdb8b3eb4eb0d
23:50 < danly> First meaningful commit
23:51 <+iant> tuples_: ouch, this is tricky; it's because Len() takes a Bar
rather than a *Bar; that means that calling Len copies Bar, which is not permitted
23:51 <+iant> tuples_: change it to func (b *Bar) Len() int {
23:51 < tuples_> iant: oooooooo!
23:51 < blasdelf> danly: bwk is more meaningful than you or I!
23:51 <+iant> that needs a much better error message, please file an issue
if you can
23:51 -!- CVirus [n=Satan@41.153.196.116] has joined #go-nuts
23:51 < tuples_> iant: will do tomorrow.  thank you so much
23:52 -!- bguimberteau [n=bguimber@78.236.214.16] has quit []
23:52 < mainman__> is there a way to set 'unused vars' as a warning instead
as an error?
23:53 <+iant> mainman__: no, the solution is to put _ = var at the bottom of
your function
23:53 -!- chid [n=dorl@c122-106-95-175.rivrw1.nsw.optusnet.com.au] has joined
#go-nuts
23:53 < mainman__> uhm tnx
23:53 -!- AndrewBC [n=Andrew@97.93.242.12] has left #go-nuts []
23:54 -!- CVirus [n=Satan@41.153.196.116] has left #go-nuts ["I was somebody who,
is no business of yours !"]
23:54 -!- dgquintas [n=dgquinta@93.21.93.31] has quit ["Leaving"]
23:54 -!- mwarning [n=mwarning@ip-78-94-226-217.unitymediagroup.de] has quit
[Client Quit]
23:55 < npe> robpike: there anything like ndb(2) for parsing standard format
config files or am I attacking the problem the wrong way?
23:55 < kuroneko> Go switch has spillthrough, doesn't it?
23:55 <+iant> kuroneko: not by default, but you can use the fallthrough
keyword
23:55 < mrd`> kuroneko: If you explicitly use 'fallthrough'.
23:55 <+robpike> npe: nothing i know of but i'm not a networking expert.
see package net
23:55 < kuroneko> trying to add bool support to cgo
23:55 -!- Katai [n=xxx@unaffiliated/katai] has joined #go-nuts
23:56 -!- tuples_ [i=55006f4d@gateway/web/freenode/x-wiaefacplivkqhnp] has quit
["Page closed"]
23:56 < Quadrescence> "fallthrough" should be changed to "spill", only
because that sounds neater.
23:56 < kuroneko> because C99 bool gets mapped to BoolType in DWARF, and cgo
is ignorant about such things at the moment >_<
23:56 < Quadrescence> <_<
23:56 < yaroslav> Now this error is weird.  Fresh pull
http://pastie.org/696557 anyone?
23:56 <+iant> kuroneko: sounds good
23:56 < x-ip> Katai, did u finished the app that the CIA ask us ?
23:56 < npe> robpike: sorry, unclear again, what do you guys use when you
want to parse a simple config file?  the xml parser?
23:56 -!- hynirc [n=hyn@p020080.tokyte00.ap.so-net.ne.jp] has joined #go-nuts
23:56 -!- Katai [n=xxx@unaffiliated/katai] has left #go-nuts ["oh crap"]
23:56 -!- m-takagi_ is now known as m-takagi
23:57 <+robpike> npe: if it's XML yes.  there's also a JSON parser.
23:57 <+iant> yaroslav: are you running the test as root?
23:57 < yaroslav> iant: yeah
23:57 < yaroslav> bad idea?
23:57 <+iant> I think that is the cause though I haven't looked to figure
out why
23:57 <+iant> well, it will cause this test to fail....
23:57 < npe> robpike: sorry, still unclear, what is the idiomatic way for
you guys?
23:57 -!- Wi11 [n=william@dhcp-0-14-bf-38-80-9c.cpe.powergate.ca] has joined
#go-nuts
23:58 <+robpike> npe: sorry to be difficult but it depends on the input
format.  if you're asking what input format we use, it honestly hasn't happened
yet for something of our own creation
23:58 -!- goloo [n=goloo@host189-202-dynamic.36-79-r.retail.telecomitalia.it] has
quit ["Ex-Chat"]
23:58 -!- lenst [n=user@90-229-131-67-no52.tbcn.telia.com] has quit [Read error:
110 (Connection timed out)]
23:59 < jlouis> npe: for some configurations a list of key value pairs might
be adequate.  But you can do more with an AST-format as JSON og XML
23:59 -!- teedex [n=teedex@204.14.155.161] has joined #go-nuts
23:59 < Quadrescence> Or sexps.  :))))
--- Day changed Fri Nov 13 2009
00:00 < jaxdahl> mrd`, http://pastebin.com/m32d8215 when i uncomment line
11, results come out of order, otherwise they come in the same order i put them in
00:00 < jlouis> Quadrescence: I've heard through the soil that sexps are
completely unreadable by human beings :)
00:00 < Quadrescence> jlouis: The soil must have muffled the word
"readable".  Weird.  :)
00:01 -!- vcgomes [n=vcgomes@li17-238.members.linode.com] has quit ["Coyote
finally caught me"]
00:01 -!- Raziel2p [n=Raziel2p@ti0032a380-dhcp0316.bb.online.no] has quit
["Leaving"]
00:01 < npe> robpike: thanks, I think I may port the ndb parsing libs then,
if you guys are interested I'll submit them to the main repo.  jlouis: I tend to
avoid JSON or XML, I was traumatized by them in my youth.
00:02 -!- sm_ [n=sm@cpe-76-173-194-242.socal.res.rr.com] has joined #go-nuts
00:02 -!- kertak_ [n=kertak@83.145.103.84] has quit [Client Quit]
00:02 <+robpike> jaxdahl: that program can run deterministically
00:02 <+robpike> jaxdahl: the sleep breaks that property
00:03 -!- ruda [n=ruda@200-180-176-25.paemt706.dsl.brasiltelecom.net.br] has
joined #go-nuts
00:03 -!- zuhaib [n=zuhaib@netblock-68-183-230-200.dslextreme.com] has joined
#go-nuts
00:03 -!- Spaghettini [n=Spaghett@vaxjo6.150.cust.blixtvik.net] has quit [Read
error: 110 (Connection timed out)]
00:03 < soul9> aye
00:03 < jaxdahl> hmmm
00:03 < jaxdahl> i'll have to read up on that
00:03 < soul9> trying to compile spacewars here..
00:03 < ruda> Hi there, is fail to build on macosx-386 (snow leopard)
already reported?
00:04 < ruda> in fact, it's not a fail in build, but in test cases
00:04 <+iant> ruda: no, it has worked for other people, see the wiki page in
the channel topic
00:04 -!- hyn [n=hyn@p0a38f8.tokyte00.ap.so-net.ne.jp] has quit [Read error: 110
(Connection timed out)]
00:04 < ruda> iant, ok, i'm gonna see
00:05 < ruda> test fails :D
00:05 < ruda> looks like my problem
00:06 < mrd`> robpike: Does go only switch tasks on blocking operations
then?
00:06 <+robpike> mrd: communications operations too
00:06 -!- KinOfCain [n=KinOfCai@rrcs-64-183-61-2.west.biz.rr.com] has joined
#go-nuts
00:06 < mrd`> robpike: Send or just receive?
00:06 <+robpike> mrd: no pre-emption yet, although it's likely to come
00:06 -!- kjk1 [n=Adium@67.215.69.90] has joined #go-nuts
00:06 < mrd`> robpike: Okay, cool.
00:06 <+robpike> mrd: either
00:07 -!- lambo4jos [n=chatzill@c-76-126-250-10.hsd1.ca.comcast.net] has joined
#go-nuts
00:07 < mainman__> can i cast strings (or bytearrays) to a pointer of a
struct?  (uhm maybe the best way to parse binary files/network protocols with
fixed field sizes, very c style) ?
00:07 -!- Gracenotes [n=person@wikipedia/Gracenotes] has joined #go-nuts
00:07 <+iant> mainman__: no, but you may want to look at pkg/gob
00:08 < mainman__> i'll
00:08 < kuroneko> ugh.
00:08 < kuroneko> cgo also can't do opaque pointers.
00:08 -!- akdom [n=akesling@nat/redhat/x-qicbhpsmghxltguq] has joined #go-nuts
00:08 < kuroneko> well, opaque types
00:11 -!- sm [n=sm@cpe-76-173-194-242.socal.res.rr.com] has quit [Nick collision
from services.]
00:11 -!- sm_ is now known as sm
00:11 -!- Alfarin [n=Alfarin@unaffiliated/alfarin] has quit []
00:12 -!- kertak [n=kertak@83.145.103.84] has joined #go-nuts
00:12 < zuhaib> anyone had any luck building it on snow leopard?
00:13 -!- Z41d [n=Z41d@41.250.103.237] has joined #go-nuts
00:13 < soul9> building go error:
http://friendpaste.com/4Oru9adsmjm0M17cNIiQvW anyone?  :)
00:13 -!- ctimmerm_ [n=ctimmerm@cs71226.pp.htv.fi] has joined #go-nuts
00:14 <+iant> zuhaib: yes, I know some people have
00:14 < Venom_X> zuhaib: I have
00:14 <+iant> soul9: hmmm, haven't seen that one before
00:14 < soul9> i have :(
00:14 < soul9> but it went away
00:14 < soul9> now it's back :P
00:14 -!- SunlessHalo [n=[Prior]@193.87.112.223] has left #go-nuts ["I'll guide
the blind."]
00:14 < zuhaib> Venom_X: did you run in to a Permission denied on line 41
when trying to run all.bash
00:15 < scandal> i'm trying to use the ast module to run through the top
level declarations, but I can't figure out how to convert each elem of the []Decl
into FuncDecl, for instance.  http://codepad.org/e9QtWnuD
00:15 < Venom_X> zuhaib: no
00:15 < zuhaib> what did you set on your export command?
00:15 < soul9> iarwain: gentoo ~x86, so fairly new everything...but that
shouldn't be that big of a problem or?  :)
00:15 < chrome> hey, is there a way to serialise and unserialise complex
types with go?
00:15 < scandal> in the cast statement i'm doing node.(FuncDecl).Name , but
the compiler tells me that ast.FuncDecl is not a ast.Decl
00:15 < soul9> er sorry, tab complete
00:15 < Venom_X> zuhaib: Have you set your GOROOT?
00:15 <+iant> chrome: look at pkg/gob
00:15 < soul9> iant*
00:15 < chrome> iant: thanks
00:15 < zuhaib> Venom_X: yes
00:16 -!- grncdr [n=stephen@S01060018f8f966ac.gv.shawcable.net] has joined
#go-nuts
00:16 < zuhaib> i set that, GOARCH, and GOOS
00:16 <+iant> soul9: I don't know what is happening there, perhaps there is
some parallel make problem?  Though I don't see how that could cause this error
00:16 < grncdr> 2 words: vim plugin?
00:16 <+iant> grncdr: misc/vim
00:16 -!- gri [n=gri@nat/google/x-dtskwovlrysqokow] has joined #go-nuts
00:16 < aaront> where do i place the go.vim file?
00:16 < Venom_X> zuhaib: is it in a path that your user has privs for?
00:16 * soul9 didn't set MAKEOPTS..
00:16 < aaront> .vim/syntax/?
00:16 -!- mode/#go-nuts [+v gri] by ChanServ
00:16 -!- r00ttap [n=wjones@c-98-225-129-81.hsd1.pa.comcast.net] has quit [Read
error: 110 (Connection timed out)]
00:16 < grncdr> iant: thx
00:16 < mainman__> aaront: yes
00:16 < zuhaib> yeah its my home path
00:16 < eydaimon> zuhaib: I have no problem building it on snow leopard.
I'm working on a Port now, fyi
00:17 <+iant> soul9: it looks like you use a -j option, try omitting that
00:17 < eydaimon> zuhaib: I can give you a script to make it easy for you
00:17 -!- nonet [n=nonet@c-69-181-203-73.hsd1.ca.comcast.net] has left #go-nuts []
00:17 <+iant> hmmm, but you probably didn't run make directly, never mind
00:17 < mainman__> aaront: and also you have to edit filetypes
00:17 <+iant> I do not know
00:17 < soul9> ¬pe
00:17 < zuhaib> eydaimon: you have it online, i can look at it
00:17 < soul9> nope*
00:17 -!- vmx [n=vmx@dslb-084-056-015-068.pools.arcor-ip.net] has quit ["Leaving"]
00:17 < aaront> mainman__: thanks
00:17 < Venom_X> zuhaib: and when you downloaded the go codebase, did you do
that as the user you're currently logged in as?
00:17 < zuhaib> yeah
00:17 -!- nmichaels [n=nathan@dhcp-0-50-ba-58-39-ed.cpe.townisp.com] has left
#go-nuts []
00:17 < soul9> lemme see on other gentoo ~x86 system
00:18 < eydaimon> zuhaib: http://pastie.org/696576 just copy and paste it
into a file in the root dir
00:18 < Venom_X> it sounds like a privs issue..  double check everything
related to that
00:18 < eydaimon> zuhaib: then run it with /bin/bash <whatever you called
the file>
00:18 -!- keithpoole [n=keithpoo@cpc3-bagu8-0-0-cust84.bagu.cable.ntl.com] has
quit []
00:18 < kuroneko> is there a make without clean script?
00:18 < zuhaib> thanks eydaimon, yeah i am looking in to that Venom_X
00:18 < mainman__> aaront: filetype.vim, append au BufNewFile,BufRead *.go
set filetype=go
00:18 < aaront> got it :P
00:18 < aaront> thanks anyway
00:19 < aaront> brainfart today
00:19 -!- devewm [n=eric@erc-avl-ptp62.net.ercbroadband.org] has quit []
00:19 -!- r00ttap [n=wjones@c-98-225-129-81.hsd1.pa.comcast.net] has joined
#go-nuts
00:19 <+gri> scandal: i've been told you're having trouble with go/ast
00:19 < soul9> uh weird, it looks like it builds on the other machine :(
00:20 -!- garfield [n=uwekloss@p548668B5.dip.t-dialin.net] has quit [Read error:
110 (Connection timed out)]
00:20 < scandal> gri: hi, yes.  i'm trying to run through the slice of
[]Decl in the File struct returned by ParseFile()
00:20 < KirkMcDonald> mainman__: Or just add that line to
~/.vim/ftdetect/go.vim
00:20 -!- garfield [n=uwekloss@p54865826.dip.t-dialin.net] has joined #go-nuts
00:20 < scandal> gri: but when I try to cast the Decl node to FuncDecl, I
get an error:
00:20 < scandal> gotags.go:20: ast.FuncDecl is not ast.Decl missing Pos()
(token.Position)
00:20 -!- Raziel2p [n=Raziel2p@ti0032a380-dhcp0316.bb.online.no] has joined
#go-nuts
00:20 -!- dacc [n=dan@D-128-95-10-110.dhcp4.washington.edu] has joined #go-nuts
00:21 < scandal> I don't understand because I see the Pos() method defined
in go/ast/ast.go
00:21 < mainman__> KirkMcDonald: nice to know
00:21 -!- wcn [n=wcn@ip68-3-237-83.ph.ph.cox.net] has quit []
00:21 <+gri> i see - hold on, need to look a the source myself
00:21 < KirkMcDonald> mainman__: Particularly when you don't have root.  :-)
00:21 -!- devinus [n=devin@cpe-66-25-177-158.austin.res.rr.com] has joined
#go-nuts
00:21 < jaxdahl> robpike, i don't understand the difference between sleeping
for a random time and iterating a random amount of times
00:22 -!- kjk [n=Adium@67.215.69.74] has quit [Read error: 110 (Connection timed
out)]
00:22 < aho> sleep uses less energy
00:22 < aho> <:
00:22 < scandal> gri: fyi, this is the code i'm working on
http://codepad.org/Q07YlO5B
00:22 -!- Chaze [n=Chase@dslb-094-219-214-241.pools.arcor-ip.net] has joined
#go-nuts
00:22 <+gri> scandal: it probably should be *ast.FuncDecl, not ast.FuncDecl
00:23 -!- mush06 [n=mush@lam06-4-88-174-45-116.fbx.proxad.net] has joined #go-nuts
00:23 <+gri> scandal: node(*ast.FuncDecl)
00:23 < mush06> hi all
00:23 < scandal> gri: ah, indeed!  thanks
00:23 < scandal> the error is confusing :/
00:23 < soul9> :(
00:23 -!- armence [n=armence@c-67-188-229-128.hsd1.ca.comcast.net] has quit
[Connection timed out]
00:24 -!- garslo [n=user@99.54.133.82] has joined #go-nuts
00:24 < mush06> I've got a strange behavior when mixin "pseudo inheritance"
and interface
00:24 <+gri> scandal: the method set for *ast.FuncDecl is not the same as
for ast.FuncDecl (see method sets under: http://golang.org/doc/go_spec.html#Types
)
00:24 -!- |Briareos| [n=briareos@151.66.43.146] has quit ["bb!"]
00:24 -!- ajray [n=alex@nat/redhat/x-kgcvyclfwlqdnfag] has joined #go-nuts
00:24 < mainman__> iant: i've looked to gob, but i guess is useless for me,
i've to parse a well defined network protocol, i can't control both endpoints or
change it.
00:25 -!- weggpod [n=weggpod@ivr94-12-78-224-16-145.fbx.proxad.net] has quit
[Remote closed the connection]
00:25 < scandal> gri: right, but if it had said that *ast.Decl is not
ast.FuncDecl I would have known it was a pointer conversion problem.
00:25 <+iant> mainman__: ah, OK
00:25 <+iant> mush06: yes?
00:25 < jaxdahl> robpike, actually i think i have an inkling now.
00:25 < scandal> gri: or am i confused on what the compiler is telling me?
00:26 < mush06> I've got a field in a struct s1 , an other struct definition
that contain an anonymous s1
00:26 <+gri> scandal: the compiler tells you that the Pos method is missing
00:26 -!- FreshMeat [n=crump@c-67-180-74-9.hsd1.ca.comcast.net] has quit []
00:26 < Brakkvatn> Go nuts!
00:26 -!- Thorn [n=thorn@unaffiliated/thorn] has quit [Read error: 110 (Connection
timed out)]
00:27 <+gri> scandal: which it is for ast.FuncDecl (note that the receiver
for that struct is of type *ast.FuncDecl, not ast.FuncDecl)
00:27 -!- KillerX [n=anant@145.116.234.40] has joined #go-nuts
00:27 -!- bgs100 [n=ian@unaffiliated/bgs100] has joined #go-nuts
00:27 -!- jmacelro [n=jmacelro@nat.ironport.com] has quit ["Leaving"]
00:27 -!- lilvin [i=425a760c@gateway/web/freenode/x-ehozqfeohrvokkex] has joined
#go-nuts
00:27 -!- devinus [n=devin@cpe-66-25-177-158.austin.res.rr.com] has quit []
00:28 < soul9> mmmh :(
00:28 < mush06> iant: i've past it http://pastebin.com/d54ac8c45
00:28 < soul9> i don't understand
00:28 < yaroslav> oh hmm, hello world binary is 600kb in size
00:28 -!- lilvin [i=425a760c@gateway/web/freenode/x-ehozqfeohrvokkex] has quit
[Client Quit]
00:28 < soul9> "0 known bugs; 0 unexpected bugs; test output differs"
00:28 < scandal> gri: ah ok, that will take me a minute to process.  thanks!
00:28 < soul9> is this right?
00:29 <+iant> yaroslav: static linking
00:29 -!- amacleod [n=amacleod@c-71-192-107-59.hsd1.ma.comcast.net] has quit [Read
error: 110 (Connection timed out)]
00:29 < mush06> iant: the second http://pastebin.com/d46226ec9
00:29 <+iant> mush06: what is the issue?
00:29 < mush06> iant: I've got a SIGSEGV: segmentation violation
00:29 -!- ctimmerm [n=ctimmerm@cs71226.pp.htv.fi] has quit [Read error: 110
(Connection timed out)]
00:29 -!- pilt [n=pilt@h-60-10.A163.priv.bahnhof.se] has joined #go-nuts
00:30 -!- kapone [n=kapone@208-168-235-183-dynamic.dsl.candw.ky] has quit [Read
error: 104 (Connection reset by peer)]
00:30 <+iant> mush06: do you get a stack trace?
00:30 -!- encolpe [n=encolpe@gai69-3-82-235-15-3.fbx.proxad.net] has quit [Read
error: 113 (No route to host)]
00:30 < mush06> yes
00:30 -!- kapone [n=kapone@208-168-235-183-dynamic.dsl.candw.ky] has joined
#go-nuts
00:30 <+iant> where does it crash?
00:30 -!- Luyt [n=Luyt@gandhi.xs4all.nl] has joined #go-nuts
00:30 < blup> i had the same soul9, it seems to work fine
00:30 < mush06> iant: line 23 of the first
00:30 < soul9> k
00:30 -!- Luyt [n=Luyt@gandhi.xs4all.nl] has left #go-nuts []
00:30 < mush06> iant: when i try to set the template
00:30 < jaxdahl> mandelbrot generator in Go, enjoy:
http://pastebin.com/d32e77ffa -- i recommend a terminal window size of at least
87x35
00:31 <+iant> mush06: where do you allocate the PageImpl?
00:31 -!- schultzi [n=schultzi@99-57-244-217.uvs.rcsntx.sbcglobal.net] has left
#go-nuts []
00:31 < mush06> iant: it's seems that i can't set the inherited field from
the interface
00:31 <+iant> are you sure p is not nil at that point?
00:32 -!- Chaze [n=Chase@dslb-094-219-214-241.pools.arcor-ip.net] has left
#go-nuts []
00:32 < mush06> iant: a third fille here : http://pastebin.com/d5938efdb
00:32 -!- h3htimo [n=Brad@host45-001.walsh.edu] has joined #go-nuts
00:32 -!- bogen [n=bogen@cpe-76-186-22-145.tx.res.rr.com] has joined #go-nuts
00:32 <+iant> mush06: you allocated MainPage, but that contains a *PageImpl,
and I don't see where the *PageImpl is set
00:33 -!- aaront [n=aaront@unaffiliated/aaront] has quit ["And that's all he
wrote..."]
00:33 < h3htimo> Hi All!  I am new to go and am wondering if it is possible
to install it in cygwin?  Any input is appreciated
00:33 <+iant> h3htimo: unfortunately not
00:33 < mush06> iant: PageImpl is anonymous no ?
00:33 < mush06> iant: does it need a specific initialization ?
00:33 <+iant> mush06: it is anonymous, but it is a pointer and still has to
get a value form somewhere
00:33 -!- FreshMeat [n=crump@c-67-180-74-9.hsd1.ca.comcast.net] has joined
#go-nuts
00:33 < h3htimo> iant, ok, thanks anyways
00:34 -!- yaroslav [n=yaroslav@91.78.215.1] has quit []
00:34 -!- h3htimo [n=Brad@host45-001.walsh.edu] has quit [Client Quit]
00:34 -!- PhantmShado [n=Phantm@porky-75.dynamic2.rpi.edu] has quit [Read error:
110 (Connection timed out)]
00:34 <+iant> mush06: you could simply make it not be a pointer
00:34 < mush06> iant: how can I set it something else thant just
new(MainPage)
00:34 < mush06> ?
00:35 < Amaranth> so does go not use libc at all then?
00:35 < mush06> iant: ok
00:35 <+iant> You can refer to the field as p.PageImpl, or you can say
&MainPage{new(PageImpl)}
00:35 <+iant> Amaranth: 6g/8g do not use libc, correct
00:35 < Amaranth> Interesting
00:35 < mush06> iant: big Thx, I'll try in a sec
00:35 -!- Spaghettini [n=Spaghett@vaxjo6.150.cust.blixtvik.net] has joined
#go-nuts
00:35 < Amaranth> No wonder it doesn't work with cygwin, it must be making
syscalls directly to the kernel
00:36 -!- damian [n=damian@202.154.158.2] has joined #go-nuts
00:36 <+iant> Amaranth: yes
00:36 -!- kapone_ [n=kapone@208-168-235-183-dynamic.dsl.candw.ky] has joined
#go-nuts
00:36 < chrome> This was a triumph!  I'm making a note here: Huge success.
00:36 -!- Z41d [n=Z41d@41.250.103.237] has quit ["Always code as if the guy who
ends up maintaining your code will be a violent psychopath who knows where you
live."]
00:36 < mush06> iant: it works better when experts gives answers ;-)
00:36 -!- damian [n=damian@202.154.158.2] has left #go-nuts []
00:37 -!- theriffer [n=Adium@pool-71-105-65-88.lsanca.dsl-w.verizon.net] has
joined #go-nuts
00:37 <+kaib> later everyone+
00:37 -!- kaib [n=chatzill@nat/google/x-voxltlpvxoyvokrj] has quit ["ChatZilla
0.9.85 [Firefox 3.0.14/2009090216]"]
00:38 < theriffer> Hey All!  Is there a good article on installing on Mac
w/Snow Leopard?
00:39 -!- lux` [n=lux@151.54.240.177] has quit [Read error: 110 (Connection timed
out)]
00:39 < Eridius> theriffer: why do you need an article?  The standard
installation instructions work fine
00:39 < rup> theriffer: http://golang.org/doc/install.html
00:39 < mush06> iant: just for curiosity, is it the right way to do this ?
because I've search how to this king of things without constructor
00:40 -!- JMowery [n=JMowery@pool-72-82-74-153.nrflva.east.verizon.net] has joined
#go-nuts
00:40 -!- Dysiode [n=pakattac@66.129.59.88] has left #go-nuts []
00:40 <+iant> mush06: it seems like a fine approach
00:40 < mush06> iant: Is there a way to call something like "super"
00:40 <+iant> you can also write your own New method; see, e.g., vector.New
00:40 <+iant> mush06: no, sorry
00:40 < mush06> ok
00:40 -!- Walt [n=hehu@h95n2fls308o253.telia.com] has quit [Read error: 145
(Connection timed out)]
00:40 -!- kapone [n=kapone@208-168-235-183-dynamic.dsl.candw.ky] has quit [Read
error: 145 (Connection timed out)]
00:40 -!- alamar [i=alamar@oops.kernel.de] has joined #go-nuts
00:41 -!- armence [n=armence@c-67-188-229-128.hsd1.ca.comcast.net] has joined
#go-nuts
00:41 < mush06> iant: that's why i don't use New (like vector) in my case
00:41 -!- evilhackerdude [n=stephan@e181089221.adsl.alicedsl.de] has joined
#go-nuts
00:41 < mush06> iant:
00:41 < dacc> if go doesn't have headers, is it possible to link against
preexisting binaries, or do you always have to build all of your dependencies?
00:42 -!- XoniX [n=XoniX@HSI-KBW-091-089-017-044.hsi2.kabelbw.de] has quit ["Get
MacIrssi - http://www.sysctl.co.uk/projects/macirssi/"]
00:42 -!- armence [n=armence@c-67-188-229-128.hsd1.ca.comcast.net] has quit [SendQ
exceeded]
00:42 <+iant> dacc: you build packages; you can import preexisting packages
00:42 < dacc> iant: ok, thanks
00:42 < mush06> iant: the goal is to make something like wicket where i make
many new type implements page and override needed method
00:42 <+iant> mush06: ok
00:43 * Amaranth wonders why the build would need ed
00:43 < Amaranth> once hg finishes downloading I can find out :)
00:43 < mush06> thx for all, good bye see u later
00:44 -!- mush06 [n=mush@lam06-4-88-174-45-116.fbx.proxad.net] has quit []
00:44 < blasdelf> Amaranth: the Go authors wrote ed
00:44 < Amaranth> blasdelf: I know that, I'm asking why it would need it :)
00:45 < blasdelf> Ken Thomson used it as his primary editor into the 90s,
before he switched to Rob Pike's acme
00:45 < dacc> will / does go have the ability to communicate with channels
over the network?
00:45 <+robpike> blasdelf: ken uses sam, not acme.  i wrote sam too :)
00:45 <+iant> dacc: no, you have to use sockets over the network; a small
goroutine could feed a socket into a channel, of course
00:46 -!- angasule [n=angasule@201.250.126.65] has joined #go-nuts
00:46 -!- kertak [n=kertak@83.145.103.84] has quit [Client Quit]
00:46 -!- ArekZB
[n=ArekZB@CPE0013f7bcc78a-CM0013f7bcc786.cpe.net.cable.rogers.com] has joined
#go-nuts
00:46 <+robpike> Amaranth: ed is used in a shell script at some point
00:46 < dacc> iant: ah ok.  i guess it'd be nice to have first class
support, because then all the nice typing features would be there
00:46 < Amaranth> whoa
00:46 * Amaranth tries not to get all fanboi
00:46 -!- vmac [n=vmac@h69-128-47-244.mdsnwi.dedicated.static.tds.net] has joined
#go-nuts
00:47 -!- Daminvar [n=Daminvar@129.21.81.77] has quit ["Leaving"]
00:47 -!- kertak [n=kertak@78.233.124.158] has joined #go-nuts
00:47 -!- chuck [n=charlie@yourwiki/staff/charlie] has left #go-nuts []
00:47 <+iant> back in a while
00:48 -!- Arhuaco [n=n@186.80.240.243] has joined #go-nuts
00:48 -!- ArekZB_ [n=ArekZB@76-10-138-81.dsl.teksavvy.com] has joined #go-nuts
00:48 -!- ArekZB_ [n=ArekZB@76-10-138-81.dsl.teksavvy.com] has quit [Client Quit]
00:50 < Amaranth> hehe, `file` fails on go binaries
00:50 < Amaranth> it says it's dynamically linked but ldd disagrees
00:50 < whiteley> Amaranth: I noticed that as well.
00:51 < bogen> I've see file and ldd mess up like before, but yeah, I
noticed that as well with go binaries this morning
00:51 -!- triplez [n=triplez@cm52.sigma225.maxonline.com.sg] has quit []
00:51 -!- Biscuits [i=Biscuits@s5593f0f9.adsl.wanadoo.nl] has joined #go-nuts
00:52 < Biscuits> Is there any info on using Go on Windows ?
00:52 < Amaranth> Biscuits: It isn't possible
00:52 -!- gri [n=gri@nat/google/x-dtskwovlrysqokow] has quit []
00:52 < dacc> Biscuits:
http://code.google.com/p/go/issues/detail?id=107&colspec=ID%20Type%20Status%20Owner%20Summary
00:52 -!- kapone_ [n=kapone@208-168-235-183-dynamic.dsl.candw.ky] has quit [Read
error: 110 (Connection timed out)]
00:53 < kuroneko> oh dear.
00:53 -!- JMowery [n=JMowery@pool-72-82-74-153.nrflva.east.verizon.net] has quit
[]
00:53 -!- Godfath3r_ [n=godfath3@athedsl-4489942.home.otenet.gr] has quit [Read
error: 110 (Connection timed out)]
00:53 < kuroneko> cgo can't do varargs either.
00:53 < kuroneko> ugh.
00:53 < bogen> hmm
00:53 < kuroneko> looks like I'm going to be spending serious time pulling
it apart this weekend and working out how to fix that
00:53 -!- Godfath3r_ [n=godfath3@athedsl-4489942.home.otenet.gr] has joined
#go-nuts
00:55 < mainman__> about 'windows' version, i don't care, but there's no way
to try it on cygwin ?
00:55 -!- ericmaxey [n=ericmaxe@c-98-203-198-10.hsd1.wa.comcast.net] has joined
#go-nuts
00:55 < Amaranth> sweet, a zlib package
00:55 <+robpike> kuroneko: cool!
00:55 -!- ArekZB_ [n=ArekZB@76-10-138-81.dsl.teksavvy.com] has joined #go-nuts
00:55 < dacc> mainman__: i expect that'd work
00:56 -!- artefon [n=thiago@187.20.142.134] has quit [Remote closed the
connection]
00:56 < dacc> mainman__: ..  building it under cygwin using the standard
instructions, i mean.
00:56 < mainman__> dacc: i excpect it too, but i'don't know go internals,
so...
00:56 -!- eaouaoeuaeou [n=testetes@p1158-ipbf602souka.saitama.ocn.ne.jp] has
joined #go-nuts
00:56 -!- teedex [n=teedex@204.14.155.161] has quit [Remote closed the connection]
00:56 < kuroneko> robpike: well, it's either that, or I spend my weekend
stubbing all the varargs stuff in curses >_<
00:56 < kuroneko> I vote for fixing cgo :)
00:56 <+robpike> kuroneko: go for it
00:57 -!- ArekZB_ [n=ArekZB@76-10-138-81.dsl.teksavvy.com] has left #go-nuts []
00:57 -!- ph [n=ph@a88-115-235-232.elisa-laajakaista.fi] has quit ["leaving"]
00:57 < jamesr> booo
00:57 -!- nonet [n=nonet@c-69-181-203-73.hsd1.ca.comcast.net] has joined #go-nuts
00:57 < mainman__> Biscuits: maybe u will try it over cygwin, and after that
tell us if it works :)
00:58 < bogen> whiteley and Amaranth: well, I can see why file thinks it is
dynamically linked.  do an objdump -h on a go binary
00:58 < olegfink> kuroneko: you could also probably throw libffi in the
middle, but that's cheating
00:58 < bogen> whiteley and Amaranth: and then to the same on a static gcc c
binary
00:58 < Amaranth> bogen: ah, I see
00:58 -!- armence [n=armence@c-67-188-229-128.hsd1.ca.comcast.net] has joined
#go-nuts
00:58 < kuroneko> actually, it might make sense to implement the cross
calling convention work in ffi and have cgo use it?
00:59 -!- ArekZB_ [n=ArekZB@76-10-138-81.dsl.teksavvy.com] has joined #go-nuts
00:59 < bogen> stripping a go binary messes it up though
00:59 -!- defectiv [n=clays@c-24-5-65-40.hsd1.ca.comcast.net] has joined #go-nuts
00:59 < blasdelf> "[Rob Pike] is a Canadian citizen and has never written a
program that uses cursor addressing."
00:59 -!- kjk2 [n=Adium@67.215.69.74] has joined #go-nuts
00:59 < kuroneko> heh
00:59 -!- timepilot [n=timepilo@c-24-91-16-174.hsd1.ma.comcast.net] has joined
#go-nuts
01:00 -!- PhantmShado [n=Phantm@cpe-72-231-169-4.nycap.res.rr.com] has joined
#go-nuts
01:00 < dacc> is there any type of ipc for channels planned, network or
otherwise?
01:00 < dacc> i'd be interesting in experimenting, but don't want to
duplicate effort
01:01 <+robpike> dacc: pkg/rpc
01:01 -!- Brakkvatn [n=alex@59.87.202.84.customer.cdi.no] has quit ["Leaving."]
01:01 < olegfink> kuroneko: you mean make cgo use the code from libffi?
01:02 -!- drusepth` [n=drusepth@ppp-70-247-248-65.dsl.spfdmo.swbell.net] has
joined #go-nuts
01:03 -!- ag90 [n=ag90@bas3-unionville55-1279752520.dsl.bell.ca] has joined
#go-nuts
01:03 -!- ag90 [n=ag90@bas3-unionville55-1279752520.dsl.bell.ca] has left #go-nuts
[]
01:03 -!- ag90 [n=ag90@bas3-unionville55-1279752520.dsl.bell.ca] has joined
#go-nuts
01:03 -!- rhaggert [n=rhaggert@pool-173-69-176-242.bltmmd.fios.verizon.net] has
quit [Read error: 110 (Connection timed out)]
01:03 < chrome> Canadian?  Well, that's torn it!  No way we could trust go
now!
01:03 -!- delza [n=delza@209-52-232-202.vlan452.static.ucc-net.ca] has quit []
01:04 -!- drusepth`` [n=drusepth@ppp-70-247-248-65.dsl.spfdmo.swbell.net] has
joined #go-nuts
01:04 < mainman__> robpike: the best way to parse a 'binary stream' from
external source (ex.  network prococol) is to slice the string read and use
strconv.* ? is there a smarter way?
01:04 -!- KillerX [n=anant@gentoo/developer/KillerX] has quit ["Leaving."]
01:04 <+robpike> mainmain_: if it's binary you won't want strconv...  but
generally, yeah
01:05 -!- tasklist7 [n=tasklist@c-98-208-175-116.hsd1.fl.comcast.net] has joined
#go-nuts
01:05 -!- patrick_eh [n=patrick@pool-71-249-10-210.nycmny.east.verizon.net] has
quit []
01:06 -!- eaouaoeuaeou [n=testetes@p1158-ipbf602souka.saitama.ocn.ne.jp] has left
#go-nuts []
01:06 < sladegen> was there ever a thought of doing better than cpp
syntactic abstractions in go...  something akin to ometa?
01:06 < sladegen> better is of course matter of taste...
01:06 < mainman__> so it means there isn't stuff like python's
struct.pack/unpack , and also thereisn't a way to use cast&pointers to fill a
struct , is it right?
01:07 < blup> do you mean macros?
01:07 <+robpike> mainman_: see pkg/gob for the first part, no for the second
unless you use package unsafe, which you should not
01:07 -!- Gracenotes [n=person@wikipedia/Gracenotes] has quit [Remote closed the
connection]
01:07 -!- kjk1 [n=Adium@67.215.69.90] has quit [Read error: 145 (Connection timed
out)]
01:07 < sladegen> blup: yes
01:08 < mainman__> robpike: but gob (if i've understood well) has his own
format (stream = type + data)
01:08 < mainman__> i can't use to parse a well definited protocol
01:08 < mainman__> example: i've to parse a tcp packet , that i've read raw
01:08 -!- ArekZB
[n=ArekZB@CPE0013f7bcc78a-CM0013f7bcc786.cpe.net.cable.rogers.com] has quit [Read
error: 110 (Connection timed out)]
01:08 -!- ArekZB_ is now known as ArekZB
01:08 <+robpike> mainman_: that's true.  but it's not hard to pack/unpack.
see pkg/json for instance
01:09 -!- jabb [n=grue@71.94.31.166] has quit ["leaving"]
01:09 < blasdelf> OMeta is macros, but at a level so high it's astronomical
-- implementing TCP by parsing the ASCII-art in the RFC
01:09 -!- jsa_ [n=jsa@r11mw54.net.upc.cz] has joined #go-nuts
01:09 < dacc> robpike: cool, thanks
01:09 < Amaranth> hrm, it seems I can't make an http Handle for *
(everything)
01:09 < Amaranth> Guess that means I need to use a custom Handler in
ListenAndServe
01:09 -!- blup is now known as pulb
01:09 <+robpike> Amaranth: you mean http.Hander?
01:09 < mainman__> robpike: i'll se json internals,..  tnx
01:09 <+robpike> Handler
01:09 < mrd`> blasdelf: That makes it harder to build tools to parse and
manipulate source code.
01:10 < mrd`> blasdelf: (Or at least I would imagine it does; I've not
looked at Ometa.)
01:10 -!- pulb is now known as blup
01:10 -!- Guest15094 is now known as remote
01:10 < Amaranth> robpike: Nope, http.Handle("*", http.HandlerFunc(Test))
01:10 -!- juico [i=5592b540@gateway/web/freenode/x-gpvtocneoxptgiws] has quit
[Ping timeout: 180 seconds]
01:10 < jsa_> hi, very basic question about go compilation (ubuntu
9.10/64bit), after running ./all.bash i get "make: *** [path.test] Error 2", any
ideas?
01:10 -!- RayNbow [i=kirika@scientia.demon.nl] has quit ["When science finally
locates the center of the universe, some people will be surprised to learn they're
not it"]
01:10 -!- adam_godev [n=adam@001a4b73f651.click-network.com] has left #go-nuts []
01:11 <+robpike> Amaranth: what type is Test?  it must implement the correct
method.  see effective go for a long list of examples
01:11 <+robpike> jsas_: have you updated recently?  that might be fixed
01:11 -!- gasreaa [n=atwong@nat/slide/x-zmnpkdwnytjkfeth] has left #go-nuts []
01:11 < Amaranth> robpike: Actually I just modified the example given for
http.ListenAndServe and changed the function name
01:11 < Amaranth> robpike: error is http: invalid pattern *
01:12 -!- RadSurfer [n=RadSurfe@unaffiliated/radsurfer] has left #go-nuts
["Leaving"]
01:12 <+robpike> Amaranth: you can't change the name of ServeHTTP
01:12 <+robpike> Amaranth: i see.  use "/"
01:12 < jsa_> robpike: yes, "hg pull -u" few minutes ago
01:12 <+robpike> jsa_: does make.bash run to completion?
01:13 < Amaranth> robpike: Oh, of course that would match everything too,
thanks
01:13 -!- drusepth [n=drusepth@75.50.51.169] has quit [Read error: 110 (Connection
timed out)]
01:13 * Amaranth was trying * and /*
01:13 -!- BryanWB [n=BryanWB@c-68-48-36-68.hsd1.md.comcast.net] has joined
#go-nuts
01:13 -!- bortzmeyer [n=stephane@host-19-21.meeting.ietf.org] has joined #go-nuts
01:14 < BryanWB> are functions treated as data in go?  can i pass a function
as an argument to a go function?
01:14 -!- HeckleJeckle1 [n=hangeles@ool-44c55d89.dyn.optonline.net] has joined
#go-nuts
01:14 -!- Drakeson [n=user@69-196-172-71.dsl.teksavvy.com] has quit [Remote closed
the connection]
01:14 < Amaranth> BryanWB: they're first class types, yes
01:14 <+robpike> BryanWB: yes
01:14 -!- Drakeson [n=user@69-196-172-71.dsl.teksavvy.com] has joined #go-nuts
01:14 < BryanWB> awesome
01:14 < blasdelf> BryanWB: yes, but it'll need to type-check
01:14 -!- foxspurlock [n=Brian@cpe-74-66-16-82.nyc.res.rr.com] has joined #go-nuts
01:14 < jsa_> robpike: yes, postitive, the "./make.bash" finishes ok
01:15 <+robpike> jsa_: you're probably fine then.  if you don't see your
issue already there, please file it on the site if you want
01:15 < olegfink> hmm, is that intentional that 8g remove()s the object file
before it considers the source?
01:16 <+robpike> olegfink: not sure i understand
01:16 < jsa_> robpike: roger
01:16 < BryanWB> sorry to ask random questions, but r there any plans for a
toy interpreter/REPL so n00bs like me can figure out the right command syntax by
trial and error?
01:16 < jsa_> robpike: thank you
01:17 -!- Ix-Xitan [n=sfsd@195.158.78.96] has quit [Client Quit]
01:17 < olegfink> robpike: in case of an error reported by 8g, I'm left
without the old .8 though the new one doesn't get created
01:17 -!- Metathink_ [n=Metathin@ABordeaux-753-1-5-55.w90-38.abo.wanadoo.fr] has
quit [Read error: 110 (Connection timed out)]
01:17 <+robpike> olegfink: yes, deliberate or perhaps just always-been-true
01:17 -!- jebblue [n=jebblue@cpe-66-68-154-241.austin.res.rr.com] has joined
#go-nuts
01:18 -!- jsa_ [n=jsa@r11mw54.net.upc.cz] has quit ["Leaving"]
01:18 < doublec> does go do any form of tail call optimisation?
01:18 -!- jebblue [n=jebblue@cpe-66-68-154-241.austin.res.rr.com] has left
#go-nuts []
01:18 -!- skmidry [n=deekay@59.96.130.171] has quit [Read error: 110 (Connection
timed out)]
01:18 <+robpike> BryanWB: no but there is an embryonic interpreter in
src/pkg/exp/ogle
01:18 -!- zuhaib [n=zuhaib@netblock-68-183-230-200.dslextreme.com] has quit []
01:18 < doublec> a func foo() { foo(); } seemed to quickly consume all
memory in my system so I'm assuming not?
01:19 <+robpike> doublec: on our list but not yet
01:19 < BryanWB> robpike: so perhaps eventually, i will have the right tool
for crafting the perfect regex ;) tks
01:19 < doublec> ok, thanks
01:19 -!- BryanWB [n=BryanWB@c-68-48-36-68.hsd1.md.comcast.net] has quit
["Ex-Chat"]
01:19 -!- dejones [n=donnie@cpe-24-28-73-216.austin.res.rr.com] has joined
#go-nuts
01:20 -!- Null_ [n=xxxx@216.40.38.232] has joined #go-nuts
01:20 -!- drusepth` [n=drusepth@ppp-70-247-248-65.dsl.spfdmo.swbell.net] has quit
[Read error: 110 (Connection timed out)]
01:20 -!- robpike [n=robpike@nat/google/x-cqalqreqxeqjoodd] has left #go-nuts []
01:20 < bogen> where can I find examples of the use of reflection in go?
01:20 -!- huntertehawesome [i=a652d45a@gateway/web/freenode/x-wenivgzqxcydjxkz]
has joined #go-nuts
01:20 -!- philcrissman [n=philcris@c-75-72-98-108.hsd1.mn.comcast.net] has joined
#go-nuts
01:20 -!- Suprano [n=anonym00@88-134-180-248-dynip.superkabel.de] has quit [Remote
closed the connection]
01:21 < huntertehawesome> could anyone on here help me?
01:21 < huntertehawesome> i'm trying to install go
01:21 -!- Vanadium [n=v@dslb-088-066-014-240.pools.arcor-ip.net] has quit [Read
error: 60 (Operation timed out)]
01:21 < huntertehawesome> on ubuntu 9.10
01:21 < dacc> huntertehawesome: sure
01:21 < blasdelf> and?
01:21 < blup> whats wrong o.o
01:21 < huntertehawesome> and it keeps poping up errors
01:21 < olegfink> robpike: oh, haven't used 8c for too long it seems, sorry.
01:22 -!- kapone [n=kapone@208-168-235-183-dynamic.dsl.candw.ky] has joined
#go-nuts
01:22 < huntertehawesome> like $GOROOT is not specified
01:22 < blup> pastebin
01:22 < blup> ...
01:22 < Ycros> huntertehawesome: did you specify GOROOT?
01:22 < blup> the guide says what to do
01:22 -!- defectiv [n=clays@c-24-5-65-40.hsd1.ca.comcast.net] has quit ["This
computer has gone to sleep"]
01:22 < huntertehawesome> i did all it says to do, and it still wont wor
01:22 < huntertehawesome> *work
01:22 < blup> did you refresh your console?
01:22 -!- Aria [n=aredride@eridani.theinternetco.net] has quit ["Ta!"]
01:22 < huntertehawesome> 3 times
01:22 -!- fultilt [n=steve@netblock-66-159-209-175.dslextreme.com] has joined
#go-nuts
01:23 -!- sea-gull [n=sea-gull@95-28-44-112.broadband.corbina.ru] has joined
#go-nuts
01:23 < blup> whats in your .bashrc put it in pastebin
01:23 -!- r00ttap [n=wjones@c-98-225-129-81.hsd1.pa.comcast.net] has quit [Read
error: 110 (Connection timed out)]
01:23 < mrd`> huntertehawesome: What does 'printenv | grep ^GO' output?
01:23 -!- bortzmeyer [n=stephane@host-19-21.meeting.ietf.org] has quit [Remote
closed the connection]
01:23 < huntertehawesome> ok...
01:23 < mainman__> bogen: not examples, but you can look at pkg/reflect
01:23 < huntertehawesome> wait a sec
01:23 < aho> golang.org links and code are both #0F398D...  that's pretty
irritating
01:23 < bogen> mainman__: ok, thanks, I'll take a look
01:23 -!- bortzmeyer [n=stephane@host-19-21.meeting.ietf.org] has joined #go-nuts
01:24 < Ycros> aho: yes it is, I keep thinking things are clickable when
they're not
01:24 < blup> basically, you made the environmental variables maybe but do
those folders exist?  o.o
01:24 < Drakeson> is there an emacs mode for go?
01:24 < Ycros> Drakeson: yes
01:24 < huntertehawesome> @blup http://pastebin.com/m11c20b32
01:24 < sladegen> huntertehawesome: . $HOME/.bashrc
01:24 < aho> Ycros, would be ok if links were underlined...  or if code
would use a different color
01:24 < sladegen> or relogin into your X...
01:25 < mainman__> mainman__: ah and i've seen some reflect used in
pkg/json..  but i guess if you search you also can find in testunits
01:25 < eydaimon> is there any reason tests fail to run when things are
being compiled as root?
01:25 -!- ropiku [n=ropiku@cpc1-with1-0-0-cust448.bagu.cable.ntl.com] has quit []
01:25 -!- Dam0 [n=damian@202.154.158.2] has joined #go-nuts
01:25 -!- jmahoney [n=jmahoney@209.203.86.33] has left #go-nuts []
01:25 < huntertehawesome> yep
01:25 < mainman__> bogen: and i've seen some reflect used in pkg/json..  but
i guess if you search you also can find in testunits
01:25 -!- npe [n=npe@94-224-251-223.access.telenet.be] has quit [No route to host]
01:26 < blup> i dont see a goroot in your bashrc
01:26 < blasdelf> eydaimon: yes, because a test checks that you can't delete
something only root can
01:26 < huntertehawesome> i dont know how to put in goroot!
01:26 -!- r00ttap [n=wjones@c-98-225-129-81.hsd1.pa.comcast.net] has joined
#go-nuts
01:26 < blup> let me show you mine
01:26 < eydaimon> blasdelf: well, that makes it really hard to get a package
system to install it
01:26 < huntertehawesome> ok
01:26 < mrd`> ugh
01:26 -!- PhantmShado [n=Phantm@cpe-72-231-169-4.nycap.res.rr.com] has quit [Read
error: 110 (Connection timed out)]
01:26 -!- Petein [n=elias85@78.144.245.1] has joined #go-nuts
01:26 < eydaimon> blasdelf: I've written the macport for it, but I can't get
past the tests
01:26 < blasdelf> eydaimon: why isn't your package system dropping
priveledges?
01:27 < dho> bleh i have no motivations
01:27 -!- Axman6 [n=Axman6@pdpc/supporter/student/Axman6] has quit
["Reconnecting"]
01:27 < eydaimon> blasdelf: is it common to?
01:27 < dho> s/s$//
01:27 < Petein> hi.  535 people already here.  what background do you have?
python, c, java?
01:27 < blasdelf> eydaimon: Gentoo
01:27 -!- Axman6 [n=Axman6@pdpc/supporter/student/Axman6] has joined #go-nuts
01:27 < bogen> mainman__: ok, what I'm looking for specifically is a way to
get the name for an enumerated constant list (iota), without having to create a
separate list of strings, match up the indices, use some other language as a
preproc, etc
01:27 < blasdelf> eydaimon: Gentoo's portage does it
01:27 < mainman__> eydaimon: y it is
01:27 < blup> huntertehawesome, http://pastebin.com/m7bcf889d
01:27 < Drakeson> Ycros: do you know where I can find it?  google is very
uneffective since the term "go" is very common.
01:28 < blup> this is something like what it should look like
01:28 * blasdelf 's apostrophe is right next to enter
01:28 < eydaimon> mainman__: what other port systems do?
01:28 < Ycros> Drakeson: in the sources, in the misc dir - sorry I got
distracted
01:28 -!- Dam0 [n=damian@202.154.158.2] has left #go-nuts []
01:28 < mrd`> Drakeson: misc/emacs
01:28 * sladegen w00ts
01:28 < huntertehawesome> @blup so if i copy this and change the home user
name it should work for me
01:28 < Eridius> eydaimon: so what tests does it fail?
01:28 < mainman__> eydaimon: drop priv
01:29 < huntertehawesome> @blup and the arch
01:29 < dho> grmbl.
01:29 < huntertehawesome> i have 386
01:29 < Eridius> eydaimon: also, why does your portfile hardcode 386?  amd64
is appropriate for x86_64 machines
01:29 < Drakeson> thanks, sorry for missing that
01:29 < eydaimon> Eridius: gopack grc _test/path.a _gotest_.8
01:29 < blup> huntertehawesome, append those lines
01:29 -!- Dam0k [n=damian@202.154.158.2] has joined #go-nuts
01:29 < blup> but removed the /opt/gnat thing
01:29 < huntertehawesome> ok
01:29 < huntertehawesome> ok
01:29 < blasdelf> eydaimon: FreeBSD ports lets a semi-priveledged user
'make' but not 'make install'
01:30 < huntertehawesome> get rid of /opt/gnat only and leave bin?
01:30 < blup> and then you make go and gobin in your home and it works ^^
01:30 < bogen> Petein: C, Forth, Assembler, Lua...
01:30 < blup> PATH=/home/youruser/gobin:$PATH; export PATH
01:30 < eydaimon> Eridius: because uname -a says i386
01:30 -!- tasklist7 [n=tasklist@c-98-208-175-116.hsd1.fl.comcast.net] has quit
["Colloquy for iPhone - http://colloquy.mobi"]
01:30 < Petein> bogen: never heard of assembler or forth before
01:30 -!- binaryjohn [n=binaryjo@cpe-24-30-132-50.san.res.rr.com] has joined
#go-nuts
01:31 < blasdelf> eydaimon: Portage has a dedicated portage user that
downloads, copies, and builds the software, then installs it to a fakeroot --
another more priveledged process then does the real install from the fakeroot
01:31 -!- kapone [n=kapone@208-168-235-183-dynamic.dsl.candw.ky] has quit []
01:31 < bogen> Petein: Well, I can understand not knowing with Forth is, but
assembly language...  hmmm
01:31 < bogen> :)
01:32 < Petein> bogen: i know assembly
01:32 < eydaimon> blasdelf: nice
01:32 < bogen> Petein: ok :)
01:32 < Eridius> eydaimon: I'm guessing uname is telling you what the kernel
is running, but `sysctl hw.cpu64bit_capable` returns 1 on all modern Macs
01:32 < Petein> bogen: so how do you deal with exceptions when there 's no
try catch in go?
01:32 < NoOneButMe> it won't on first gen intel mac's, which should be
accounted for
01:32 < mrd`> Petein: You return error codes.
01:33 < Eridius> eydaimon: at the moment only Xserves/the Mac Mini Server
will run the kernel in 64-bit mode by default
01:33 < bogen> Petein: you can use defer'ed statements as well
01:33 < eydaimon> Eridius: ok, changed it to that
01:33 < scandal> i'm having an issue with StringVector.Data().  getting a
runtime error when trying to println() the elements of the slice in a for/range
http://codepad.org/QauhhAih
01:33 -!- august [n=DCFC@unaffiliated/august] has joined #go-nuts
01:33 < bogen> Petein: defer'ed statements can act as finally
01:33 < blasdelf> Eridius: Any 64-bit mac can run 64-bit processes on a
32-bit kernel
01:34 < mainman__> uhm my mac has 32bit kernel but execute 64bit stuff
01:34 < scandal> "interface is nil, not string
01:34 < mainman__> blasdelf: y
01:34 < Eridius> blasdelf: right
01:34 < huntertehawesome> @blup still wont work
01:34 < Eridius> mainman__: because there's too many 32-bit kexts out there,
including some that ship with the OS, so Apple is defaulting the kernel to 32-bit
01:35 < scandal> trying to use this: for _, s := range tags.Data() {
println(s) }
01:35 < Petein> bogen: aha
01:35 < Eridius> they default to 64-bit on the servers because those are far
less likely to need 32-bit kexts
01:35 < Eridius> you can instruct your system to boot the 64-bit kernel
instead by holding down the 6 and 4 keys during startup
01:35 < blup> wtite bash in your console then the output of env | grep GO
01:35 < huntertehawesome> ok
01:36 < mainman__> Eridius: but also snowleopard has 32bit k ?
01:36 < huntertehawesome> blup: IT WORKS!!!
01:36 -!- tonytony [n=anthony@S0106000024c8e523.cg.shawcable.net] has joined
#go-nuts
01:36 < blup> :)
01:36 < huntertehawesome> :D
01:36 < Eridius> mainman__: pardon?
01:36 < tonytony> Hello.  I have a question about goroutines.
01:37 < eydaimon> Eridius: seems the other problem will be harder to solve
if it's not possible to drop privs :/
01:37 -!- kjk2 [n=Adium@67.215.69.74] has quit [Read error: 54 (Connection reset
by peer)]
01:37 -!- c0denewb [n=chatzill@71.23.197.77] has joined #go-nuts
01:37 < c0denewb> hi
01:37 < mainman__> uhm i've read that snowleopard is a milestone to switch
to a full 64bit env, i'm asking if SL also runs 32bit kernel by default or not
01:37 < blasdelf> eydaimon: I think it's on their radar to add a special
case to the test
01:37 -!- aa [n=aa@r190-135-222-119.dialup.adsl.anteldata.net.uy] has quit [Remote
closed the connection]
01:37 -!- Nikty [n=nicholas@217.197.7.176] has joined #go-nuts
01:37 -!- Nikty [n=nicholas@217.197.7.176] has left #go-nuts []
01:38 < blasdelf> mainman__: 10.6 has a full x86_64 userland
01:38 < Eridius> mainman__: I'm talking about Snow Leopard here.  That's all
I've been talking about
01:38 -!- Daminvar [n=Daminvar@129.21.81.77] has joined #go-nuts
01:38 < mainman__> k my leopard executes 64bit stuff too ;) but good to know
thx
01:38 < Eridius> mainman__: Snow Leopard is a dual environment.  It can run
entirely as 32-bit, or as 64-bit, or as a hybrid 64-bit with 32-bit kernel
01:38 < Eridius> the default is to run a 32-bit kernel but launch apps in
64-bit if possible
01:38 < Eridius> and all Apple-shipped apps are compiled 64-bit
01:38 < august> not all of them
01:39 < c0denewb> how do you know if your running in 32 or 64?
01:39 < august> just most of them
01:39 < Eridius> august: everything on the user DVD should be
01:39 < august> nope
01:39 < august> front row isn't
01:39 < Eridius> august: no?  for shame, Apple, for shame!
01:39 < august> and grapher
01:39 < tonytony> How is I/O accommodated from a goroutine?  Is it possible
to do a blocking I/O call from a goroutine without tying up one of the OS threads?
Eg, does the runtime do some asynchronous I/O behind the scenes?
01:39 < huntertehawesome> blup: thank you!
01:39 < Eridius> c0denewb: presumably by typing `uname -m` :p
01:39 -!- Floppy [n=stranded@ool-18bf4330.dyn.optonline.net] has joined #go-nuts
01:39 < august> and itunes (assuming it's installed by default)
01:39 < august> i cannot recal
01:40 < august> l
01:40 < Eridius> tsk tsk
01:40 < blup> welcome :)
01:40 * huntertehawesome hi-fives blup
01:40 < alexsuraci> is there a go pastie site?
01:40 -!- c0denewb [n=chatzill@71.23.197.77] has quit [Client Quit]
01:41 < august> did you read the topic?
01:41 -!- xal [n=tobi@CPE001e527d7ab0-CM001bd71325c0.cpe.net.cable.rogers.com] has
joined #go-nuts
01:41 -!- mainman__ [n=Adium@host74-135-static.29-79-b.business.telecomitalia.it]
has quit ["Leaving."]
01:41 -!- hebroon [n=hebroons@p57bdc5.hkidnt01.ap.so-net.ne.jp] has joined
#go-nuts
01:41 < alexsuraci> august: yes, that's not what i'm asking
01:41 < Eridius> oh goodie, I just confirmed, `uname -m` returns x86_64 on
OS X Server
01:41 -!- blue_hair_thom [n=thom@216-75-237-251.static.wiline.com] has joined
#go-nuts
01:41 -!- wcn [n=wcn@216.239.45.130] has joined #go-nuts
01:41 < Eridius> and `sysctl hw.machine` returns the same as `uname -m`
01:41 < ned> what's the StringBuilder equivalent in go?
01:41 -!- teedex [n=teedex@204.14.155.161] has joined #go-nuts
01:42 -!- Petein [n=elias85@78.144.245.1] has quit ["Leaving."]
01:43 < dho> blue_hair_thom: not true
01:43 < dho> blasdelf rather
01:43 < blue_hair_thom> hi
01:43 < dho> sorry, tab complete fail
01:43 < blue_hair_thom> true
01:44 < blasdelf> dho: yeah, there's iTunes and DVD Player and other
nonsense
01:44 < blue_hair_thom> i hope someone can help me, when i run gotest it
cant find the test for archive/tar
01:44 < dho> waitwut
01:44 < dho> 20:30 < blasdelf> eydaimon: FreeBSD ports lets a
semi-priveledged user 'make' but not 'make install'
01:45 -!- karl [n=karl@wads-5-233-224.resnet.mtu.edu] has joined #go-nuts
01:45 < doublec> tonytony, someone mentioned in the channel earlier that a
blocking socket call in a goroutine would result in that OS thread being tied up
iirc
01:45 < dho> blue_hair_thom: i have no idea.  i'm not using go until it
works in freebsd.
01:45 -!- adam_godev [n=adam@001a4b73f651.click-network.com] has joined #go-nuts
01:45 < blue_hair_thom> i looks like the version of egrep cant handle the
8bit chars in the regex
01:45 < eydaimon> dho: what about that?
01:45 < blasdelf> dho: I thought you were respondind to a different truthy
statement of mine :)
01:45 < scandal> can anyone help me determine why i get a runtime error when
using StringVector.Data() http://codepad.org/f96Lkm7H
01:45 < eydaimon> dho: freebsd will have the same issues during testing :/
01:45 < dho> waitwut?
01:45 <+iant> doublec: rather, a new OS thread will be created for a
blocking goroutine
01:45 < dho> hold on
01:45 -!- Dysiode [n=pakattac@66.129.59.88] has joined #go-nuts
01:45 < dho> 1) freebsd has a local install target for ports
01:46 < dho> so you can run make install as a user
01:46 < blasdelf> dho: at least years ago when I ran FreeBSD, my ports tree
was owned by a non-root user
01:46 < doublec> iant, right, poor wording on my part, sorry
01:46 < fultilt> How on earth does one use interfaces?  In
<http://gist.github.com/233504>, no matter what I try, it won't accept
TestClass as a TestInterface.
01:46 < jasom> tonytony: it either spawns an additional thread (gccgo) or
does an epoll (6g)
01:46 < dho> 2) is someone else working on go for freebsd or something?
01:46 < blasdelf> dho: oh sweet!
01:46 < karl> how do you get input for standard in?
01:46 <+iant> blue_hair_thom: set LANG=C when running gotest, I think that
might be in there now in the current sources
01:46 < karl> from*
01:46 < adam_godev> what purpose does the period server when importing:
import { "testing"; . "time"; )
01:46 < tonytony> Thanks!
01:46 < dho> because i really don't feel like wasting my time if so
01:46 <+iant> adam_godev: it imports into package scope
01:46 < eydaimon> dho: no, I wrote a macport for go, but I'm stuck because
the tests fail when run as root
01:46 < dho> oh
01:47 < dho> i don't have any other platforms to test on
01:47 < dho> i have windows and freebsd at home
01:47 < blue_hair_thom> tried that.  no go
01:47 < dho> i guess i have linux too, but i don't really
01:47 < adam_godev> iant: what if it were to be omitted?
01:47 <+iant> fultilt: newTestInterface should return TestInterface, not
*TestInterface
01:47 -!- turutosiya [n=turutosi@219.106.251.65] has joined #go-nuts
01:47 < blue_hair_thom> i am run it on a gentoo linux.  i have another that
works on a redhat linux
01:48 <+iant> adam_godev: then you would have to refer to the
consts/types/funcs using a time.X rather than just saying X
01:48 < eydaimon> dho: well, you'll run into the same problem if you're
doing a bsd port
01:48 -!- tedster [n=tedster@cpe-008051.dhcp008.wadsnet.net] has joined #go-nuts
01:48 <+iant> fultilt: you rarely want a pointer to an interface
01:48 < tonytony> jasom: it sounds like goroutines could be used as a
convenient way to write state machines for epoll stuff.
01:48 < adam_godev> iant: thanks!
01:48 < eydaimon> if I knew enough about this test thing, I'd patch it so it
didn't run that particular test
01:49 < fultilt> iant: That's it!  Thanks!
01:49 -!- huntertehawesome [i=a652d45a@gateway/web/freenode/x-wenivgzqxcydjxkz]
has quit [Ping timeout: 180 seconds]
01:49 < karl> Does anyone have an example of getting user input from the
command line?  or know how to do it?
01:49 <+iant> karl: use os.Args
01:49 <+iant> or pkg/flag
01:49 < karl> thanks iant
01:49 < KirkMcDonald> Oh yeah, I should get back to work on my command-line
option parser.
01:50 -!- triplez [n=triplez@203.92.122.206] has joined #go-nuts
01:50 -!- rhaggert [n=rhaggert@pool-173-69-176-242.bltmmd.fios.verizon.net] has
joined #go-nuts
01:50 < jasom> KirkMcDonald: what does it offer above pkg/flag?
01:50 < KirkMcDonald> Another feature I'm missing in the "flag" package:
Callbacks.
01:50 < KirkMcDonald> jasom: Are you familiar at all with Python's optparse
module?
01:50 < jasom> KirkMcDonald: very
01:50 < KirkMcDonald> jasom: I hope to duplicate as much of that
functionality as possible.
01:50 < karl> iant: is os.Args for command line arguments such as program
--help or for user input during the programs execution?
01:51 -!- mangloid [n=mangloid@adsl-76-215-79-29.dsl.rcsntx.sbcglobal.net] has
joined #go-nuts
01:51 -!- NintendoBoy13 [n=TheStud@c-67-180-120-225.hsd1.ca.comcast.net] has
joined #go-nuts
01:51 < eydaimon> karl: that's what pkg/flag is for
01:51 <+iant> karl: os.Args is simply the command line, it's not for user
input
01:51 < blue_hair_thom> iant setting LANG=C is unset inside of the gotest
01:51 -!- A_Nub1 [n=Adium@ip68-5-64-171.oc.oc.cox.net] has joined #go-nuts
01:51 < eydaimon> karl: one of the examples on the page uses pkg/flag I
believe
01:51 < blasdelf> KirkMcDonald: optparse has several very nasty behaviors
that you should not dupe
01:51 < HeckleJeckle1> any known vim plugins?
01:51 < nutate> is there a obvious way to send messages across a network ...
like MPI ...  for go?  that is start 101 programs on 101 machines with them all
communicating via language primitives?
01:51 < KirkMcDonald> jasom: Currently I'm grappling with implementing
"nargs".
01:51 < A_Nub1> Is this for real or is this a hoax
01:51 <+iant> blue_hair_thom: hmmm, so it is, but it sets LC_ALL which
should have the same effect, that ought to fix the egrep issue, I would hop
01:51 < KirkMcDonald> blasdelf: Such as?
01:51 <+iant> nutate: pkg/net
01:52 -!- timepilot [n=timepilo@c-24-91-16-174.hsd1.ma.comcast.net] has quit
["WeeChat 0.3.0"]
01:52 <+iant> HeckleJeckle1: misc/vim
01:52 < blasdelf> KirkMcDonald: like the way it deals with options you don't
declare handlers for
01:52 < A_Nub1> Honestly
01:52 < A_Nub1> this language makes me want to hurl
01:52 < KirkMcDonald> blasdelf: Ah, yes, I hope to make this an option.
01:52 < blasdelf> KirkMcDonald: it blows up instead of passing you the
remainder
01:52 < blue_hair_thom> iant, could i be a problem with egrep versioning ?
01:52 -!- interskh [n=interskh@c-67-163-156-103.hsd1.pa.comcast.net] has quit ["88
Everyone~~!"]
01:52 -!- maxyz [n=maxy@186.18.92.38] has joined #go-nuts
01:52 < HeckleJeckle1> iant: thanks
01:52 < KirkMcDonald> blasdelf: Yes, I will support both behaviors.
01:52 <+iant> blue_hair_thom: I don't really know what the problem is
01:52 < KirkMcDonald> blasdelf: I've found this annoying, myself.
01:52 -!- ag90 [n=ag90@bas3-unionville55-1279752520.dsl.bell.ca] has quit []
01:52 < KirkMcDonald> blasdelf: (Though the default will be to error out.)
01:53 < KirkMcDonald> blasdelf: (Since that is the most commonly-useful
case.)
01:53 < nutate> iant: so PacketConn would work, but the types would not
necessarily be transmitted...with MPI for example you make the type explicit in
the communication command
01:53 -!- triton [i=tritao@81.84.157.2] has quit ["( www.nnscript.com ::
NoNameScript 4.22 :: www.esnation.com )"]
01:53 < blasdelf> KirkMcDonald: isn't the idiomatic Go a second return
value?
01:53 < blue_hair_thom> iant, running gotest (in src/pkg/archive/tar)
returns gotest: error: no tests matching Test([^a-z].*)?  in _test/archive/tar.a
01:53 -!- segy [n=segfault@mail.hasno.info] has joined #go-nuts
01:53 <+iant> nutate: pkg/gob, pkg/rpc
01:53 -!- sea-gull [n=sea-gull@95-28-44-112.broadband.corbina.ru] has quit [Client
Quit]
01:53 < KirkMcDonald> blasdelf: Perhaps so.
01:54 <+iant> blue_hair_thom: I've seen that report before but I don't know
what causes it; there may be an open issue on it, I'm not sure
01:54 < jessta> A_Nub1: watched the video?  read the docs?
01:54 < blasdelf> KirkMcDonald: optparse makes it very annoying to write a
utility with subcommands (like a version control frontend)
01:54 < KirkMcDonald> blasdelf: Or, really, it would be *a* return value,
since I don't intend my Parse function to have one.
01:54 -!- NintendoBoy13 [n=TheStud@c-67-180-120-225.hsd1.ca.comcast.net] has quit
["Dont miss me too much.  :P"]
01:54 < nutate> iant: great!  this will help me convince my coconspirators
(aka research group members) to actually use this.  :-) gobs look cool!
01:55 < KirkMcDonald> blasdelf: Does it?  Just instantiate a different
OptionParser for each subcommand, use an option group for the common options...
01:55 < blasdelf> KirkMcDonald: in such a utility I wrote recently, I ended
up having to decorate each of the subcommand methods with their own OptionGroup
01:55 < blasdelf> KirkMcDonald: bingo
01:55 -!- xuser [n=xuser@unaffiliated/xuser] has joined #go-nuts
01:55 -!- fgb [n=fgb@190.246.85.45] has joined #go-nuts
01:55 < A_Nub1> THis language seems so fake
01:55 < blup> why?
01:55 < alus> hahah
01:55 < KirkMcDonald> A_Nub1: That's just, like, your opinion, man.
01:55 < aho> compared to what?
01:55 -!- Selar [n=hussain@wire.dsl.frii.net] has joined #go-nuts
01:55 < karl> eydaimon: im trying to get user input during the execution of
the command line, similiar to using cin/stdin in C
01:56 < blue_hair_thom> iant: i can think of only two places for the problem
'egrep' or 'bash' it is clean that there are tests in _test/archive/tar.a (i ran
6nm on it) but the hidden chars are not being matched by egrep
01:56 -!- A_Nub1 [n=Adium@ip68-5-64-171.oc.oc.cox.net] has left #go-nuts []
01:56 -!- tonytony [n=anthony@S0106000024c8e523.cg.shawcable.net] has quit
["Leaving"]
01:56 -!- Dysiode [n=pakattac@66.129.59.88] has left #go-nuts []
01:56 <+iant> blue_hair_thom: I get change that character to a . (a single
dot) and see if that fixes it
01:56 -!- petercooper [n=petercoo@81-86-235-109.dsl.pipex.com] has joined #go-nuts
01:56 < blup> i think you use read from the io package
01:56 < blue_hair_thom> iant: and i cant think of a different regex that
will find them
01:57 < alus> it's just Google's attempt to get in the compiler chain for an
attempt at craking "Reflections on Trusting Trust."
01:57 < jessta> karl: bufio package
01:57 < eydaimon> karl: dunno about reading during execution.
01:57 < blue_hair_thom> iant: i will try
01:57 < eydaimon> Anyonw know how to disable a specific test during compile
so I can get the rest of the tests to run?
01:57 < blasdelf> alus: from ken himself!  WE SHOULD HAVE KNOWN...
01:57 <+iant> eydaimon: for the tests in pkg, add the directory to NOTESTS
in pkg/Makefile
01:58 < adam_godev> why is: t(k) := new(T) not valid in a for loop?  How
else would an array of nil T be initialized?
01:58 -!- Jan_Flanders [n=chatzill@d54C1E33B.access.telenet.be] has quit
["Chatzilla 0.9.75.1 [SeaMonkey 1.1.18/2009082513]"]
01:58 < adam_godev> oops
01:58 < adam_godev> t[k]
01:58 -!- tjake [n=jake@75-44-151-7.lightspeed.smfrct.sbcglobal.net] has joined
#go-nuts
01:58 < jamesr> := declares, don't you just want = ?
01:58 < blup> karl, i assume you use readall with the os.stdin thing
01:59 <+iant> adam_godev: that should be valid, assuming the types are
correct (i.e., t has type []*T)
01:59 < Selar> what's the os that google uses most, is it x64 ubuntu?
01:59 <+iant> adam_godev: oh yeah, don't use :=
01:59 < blup> haha
01:59 < blup> Selar, :P
01:59 < KirkMcDonald> Selar: Secretly it is BeOS.  Shocking!
01:59 -!- foxspurlock [n=Brian@cpe-74-66-16-82.nyc.res.rr.com] has left #go-nuts
[]
01:59 < Selar> ha
01:59 < eydaimon> iant: thanks
02:00 -!- delza [n=delza@d66-183-63-49.bchsia.telus.net] has joined #go-nuts
02:00 < Selar> KirkMcDonald: a non-unix os that's not windows ;)
02:00 -!- foxspurlock [n=Brian@cpe-74-66-16-82.nyc.res.rr.com] has joined #go-nuts
02:00 -!- theriffer [n=Adium@pool-71-105-65-88.lsanca.dsl-w.verizon.net] has quit
["Leaving."]
02:01 < adam_godev> when i remove the := and put in = i get: cannot use
new(T) (type *T) as type T
02:01 < petercooper> Anyone got any thoughts on eventually using Golang to
more easily write high performance libraries for languages like Ruby and Python?
Or even inlining..
02:01 < jamesr> is t an array of Ts or of *Ts?
02:01 < adam_godev> Goodness, i need a pointer array to T
02:01 < KirkMcDonald> adam_godev: new(T) returns a *T.  So if your array is
a []T, then of course that assignment will fail.
02:01 < Selar> maybe it's haiku, KirkMcDonald
02:01 < KirkMcDonald> Heh.
02:01 -!- Biscuits [i=Biscuits@s5593f0f9.adsl.wanadoo.nl] has quit []
02:01 < xuser> Selar: your question should be what do they use for Go dev
02:01 < adam_godev> thanks for the help!
02:01 -!- jasom [n=aidenn@ip70-177-2-232.sb.sd.cox.net] has quit ["leaving"]
02:02 -!- tagx [n=thomas@pool-71-178-10-152.washdc.fios.verizon.net] has left
#go-nuts ["Konversation terminated!"]
02:02 < Selar> xuser: ok, then that's my question.
02:02 < kuroneko> actually, I'm sure it's the super-secret GoogleOS
02:02 -!- carllerche [n=carllerc@enginey-9.border1.sfo002.pnap.net] has quit []
02:02 < KirkMcDonald> Given that Go is for Linux and OS X, I would think the
answer to that is obvious...
02:02 < kuroneko> ;)
02:02 < Selar> i sort of figured the context of this channel would cover
that, but sure
02:02 < jlouis> petercooper: why not?  try it!
02:02 < petercooper> jlouis: I want to bone up on my straight Go coding
first, but I certainly hope to!
02:02 -!- aanderse
[n=aanderse@CPE001b11cc67d3-CM0019475d7f5e.cpe.net.cable.rogers.com] has joined
#go-nuts
02:03 < alus> petercooper: you know I always thought that would be a good
thing to have - even just C/C++.  turns out python and ruby are so slow you have
to write all the interesting parts of you app in C/C++, and you're left with a
command line options parser in python
02:03 < petercooper> Once I get a hang on the interface, writing the inliner
is pretty easy (for Ruby, at least).
02:03 < kuroneko> I think the point is that you don't really need Python and
Ruby when you have Go
02:03 < alus> petercooper: that said.  Go on Rails, plskthx
02:04 < kuroneko> yeah, I'm thinking Go on Rails too actually :)
02:04 < petercooper> alus: There's a project in Ruby land where parts of
Rails are being rewritten in C and linked in to improve performance.
02:04 < petercooper> So, yeah, I guess there's a demand ;-)
02:04 < alus> petercooper: which parts?  I use Erubis already
02:04 < blasdelf> petercooper: that'll be hilarious considering how shitty
MRI is
02:04 -!- Issue-9 [n=Issue-9@76.73.16.26] has joined #go-nuts
02:04 < petercooper> alus: Swathes of ActiveSupport.
02:05 < alus> petercooper: url?
02:05 < kuroneko> Go on Rails: for programmers who have better things to do
than try to work out where they screwed up a type conversion ;)
02:05 -!- i9 [n=Issue-9@76.73.16.26] has joined #go-nuts
02:05 < soul9> heh issue-9 from bugs space :P
02:05 < petercooper> alus:
http://www.railsinside.com/misc/315-monkeysupport-boosting-rails-with-patches-of-c.html
02:05 -!- dddd [n=none@pool-71-190-187-50.nycmny.fios.verizon.net] has joined
#go-nuts
02:05 < blasdelf> petercooper: method dispatch in MRI from a native library
is not dynamic, so any overloads are skipped entirely, but only from the native
code
02:05 < jlouis> petercooper: seriously though, Go in itself is capable of
solving many of the problems Python/Ruby tend to be used for....  with a decent
type system.
02:06 -!- DeFender1031 is now known as DeFenderm
02:06 -!- DeFenderm is now known as DeFender1031
02:06 < petercooper> jlouis: At the lower/daemon/system end, I'm 100%
confident of that.  I'm not so sold on higher level stuff (yet) :-)
02:06 < blasdelf> jlouis: not being able to implement your own parametric
types is indecent
02:06 -!- zuhaib [n=zuhaib@adsl-75-37-25-254.dsl.pltn13.sbcglobal.net] has joined
#go-nuts
02:07 -!- dchest [n=dchest@81.5.81.249] has quit []
02:07 < blasdelf> if only Luca Cardelli worked at Google...
02:07 < jlouis> blasdelf: it is much better than no type system I think.
02:07 -!- maennj [n=maannj@pool-98-113-42-8.nycmny.fios.verizon.net] has joined
#go-nuts
02:07 < dacc> is there any reason go couldn't support an interactive
interpreter similar to what python and ruby have?
02:07 < eydaimon> Eridius: alright, got a patch to get it to compile and
pass tests :)
02:07 < jlouis> dacc: no, and there is pkg/go iirc
02:08 < KirkMcDonald> dacc: Forward declarations.
02:08 -!- red1 [n=red1@166.64.49.60.klj04-home.tm.net.my] has quit []
02:08 < blasdelf> jlouis: Learn what a type system is before spouting off
like that: http://www.pphsg.org/cdsmith/types.html
02:08 -!- piksel [n=user@pool-71-127-155-153.bltmmd.fios.verizon.net] has joined
#go-nuts
02:08 < bogen> Forward declarations....  shudder....  yuck.....
02:08 < petercooper> I suspect the concurrency might force one to use
ncurses when writing such a thing..  :-)
02:08 -!- beadle [n=rhenders@173-27-220-160.client.mchsi.com] has joined #go-nuts
02:08 < jamesr> it turns out people have different ideas about type systems
02:08 -!- akdom [n=akesling@nat/redhat/x-qicbhpsmghxltguq] has quit ["Leaving."]
02:09 < jlouis> blasdelf: Some type theorists say that a dynamically typed
language is untyped i.e.  has no type system
02:09 < bogen> Forward declarations make for spaghetti organization of code
02:09 < eydaimon> jamesr: oh yeah?
02:09 < alus> petercooper: neat, thanks
02:09 < jlouis> blasdelf: the notion stems from the (untyped) lambda
calculus
02:09 -!- HeckleJeckle1 [n=hangeles@ool-44c55d89.dyn.optonline.net] has left
#go-nuts []
02:09 < eydaimon> I think my next language to learn is still going to be
OCaml
02:09 < dacc> KirkMcDonald: forward declarations prevent an interactive
interpreter?  i thought go didn't use them.
02:09 -!- Issue-9 [n=Issue-9@76.73.16.26] has quit [Client Quit]
02:09 < blasdelf> jlouis: use "type checked", not "typed", and the notion
becomes clearer
02:10 < Selar> good url, blasdelf
02:10 < KirkMcDonald> dacc: What I really meant was forward *references*.
02:10 -!- ajray [n=alex@nat/redhat/x-kgcvyclfwlqdnfag] has quit ["Leaving."]
02:10 < KirkMcDonald> dacc: Using symbols which are declared later.
02:10 < dacc> KirkMcDonald: ooh, gotcha
02:10 -!- ctimmerm_ [n=ctimmerm@cs71226.pp.htv.fi] has quit [Remote closed the
connection]
02:11 < blasdelf> What's really "Dynamic" in a type systems is the
type-checks, not the types
02:11 < KirkMcDonald> blasdelf: Depends on the language, really.  But this
is certainly the case in e.g.  Python.
02:11 < bogen> one can use function pointers and assign them later
02:11 -!- delza [n=delza@d66-183-63-49.bchsia.telus.net] has quit []
02:12 < dacc> KirkMcDonald: seems like even with forward references you
could have an interactive interpreter for exploring package apis
02:12 -!- hoisam [n=toor@unaffiliated/coconutcrab] has joined #go-nuts
02:12 -!- devewm [n=eric@96.36.85.2] has joined #go-nuts
02:12 < Drakeson> what is the deal with the *error* "foo declared and not
used"?
02:12 < KirkMcDonald> dacc: Or a language which is like Go except it lacks
forward references.
02:12 < dacc> that's mostly what i use e.g.  ipython for anyway
02:13 < jlouis> KirkMcDonald: one way around it is to let the interpreter
load complete files and only allow backward declarations inside its REPL, if that
is what you are aiming for
02:13 < jlouis> references to backward declarations
02:14 < dacc> cheers all
02:14 -!- dacc [n=dan@D-128-95-10-110.dhcp4.washington.edu] has quit ["poof"]
02:14 -!- defectiv [n=clays@c-24-5-65-40.hsd1.ca.comcast.net] has joined #go-nuts
02:14 -!- SirClueless [n=Clueless@dynamic-oit-vapornet-c-1492.Princeton.EDU] has
joined #go-nuts
02:14 < jlouis> of course dependencies may mean it has to pull even more in
02:14 < KirkMcDonald> A flag demoting unused symbols to a warning would be a
nice debugging aid.
02:14 -!- Gussi [n=gussi@gussi.is] has joined #go-nuts
02:16 -!- Vanadium [n=v@dslb-088-064-186-124.pools.arcor-ip.net] has joined
#go-nuts
02:16 -!- august [n=DCFC@unaffiliated/august] has quit ["Leaving..."]
02:18 -!- bgs100 [n=ian@unaffiliated/bgs100] has quit []
02:18 -!- DeFender1031 is now known as DeFenderm`n
02:18 -!- yonkeltron [n=user@unaffiliated/yonkeltron] has joined #go-nuts
02:19 < beadle> Hello everyone.  I tried compiling under x86 cygwin and
didn't have much luck.  Is that a planned arch?
02:19 -!- treitter [n=treitter@c-98-210-72-59.hsd1.ca.comcast.net] has joined
#go-nuts
02:19 < blasdelf> beadle: no
02:20 < beadle> blasdelf: thanks.
02:22 < beadle> that was at work.  here at home amd64 is flawless ;)
02:22 < beadle> errr linux amd64
02:22 < yonkeltron> blasdelf: ha.
02:22 -!- ruda [n=ruda@200-180-176-25.paemt706.dsl.brasiltelecom.net.br] has quit
[]
02:23 < bogen> beadle: http://www.andlinux.org/ for work?
02:23 -!- jamesr_ [n=jamesr@nat/google/x-uvyraqbenikzinsd] has joined #go-nuts
02:23 -!- jamesr_ [n=jamesr@nat/google/x-uvyraqbenikzinsd] has quit [Client Quit]
02:24 < jessta> Drakeson: it detects typos, you can use _= a at the end of
your function to use the variable
02:25 -!- cameron_ [n=cameron@d24-150-97-19.home.cgocable.net] has joined #go-nuts
02:25 < Amaranth> hrm, there is an io.ReadAll but not an io.WriteAll?
02:25 < aho> i get "Command terminated by signal 4" if i try to run hello
world on arm (was compiled on linux/32bit with 5g)
02:26 < Drakeson> jessta: I mean, can it be turned into a warning?
02:26 < jessta> Drakeson: nope, it's an error
02:27 -!- dwery [n=dwery@nslu2-linux/dwery] has joined #go-nuts
02:27 < blue_hair_thom> iant: you still there ?
02:27 < dwery> hello.  how do I obtain the fd underlying an UDPConn?
02:27 -!- jamesr_ [n=jamesr@nat/google/x-zjwongnehsifdeqf] has joined #go-nuts
02:27 < Drakeson> jessta: I see, thanks.  Still, it is making testing and
playing with Go a bit harder.
02:28 < ned> is anyone having problems with the resolution of
time.Nanoseconds() ?
02:28 < aho> (might help if you'd tell us what resolution you get)
02:29 -!- bzSmari [n=spm@194-144-23-6.du.xdsl.is] has joined #go-nuts
02:29 -!- xuser [n=xuser@unaffiliated/xuser] has left #go-nuts []
02:29 < ned> aho, millisecond resolution
02:29 < aho> good enough for games .)
02:30 < aho> (according to id software) :>
02:31 < karl> aho: what os is the arm computer running?
02:31 < aho> linux
02:31 -!- blue_hair_thom [n=thom@216-75-237-251.static.wiline.com] has left
#go-nuts []
02:31 < aho> (busybox)
02:31 -!- jamesr [n=jamesr@nat/google/x-cuacymebsgkzpbfi] has quit [Read error:
145 (Connection timed out)]
02:31 -!- jamesr_ is now known as jamesr
02:32 -!- jamesr [n=jamesr@nat/google/x-zjwongnehsifdeqf] has quit [Client Quit]
02:32 < aho> it's OABI btw
02:32 < doublec> aho, is it a pre v6 arm?
02:32 < aho> (if that matters...  i'm not sure)
02:33 -!- xuser [n=xuser@unaffiliated/xuser] has joined #go-nuts
02:33 < doublec> ahf, I ask because a recent commit to the repository says:
add support for pre arm v6 cas.  set GOARM=5 to enable
02:33 < doublec> s/ahf/aho
02:33 < aho> ARM926EJ-S
02:33 -!- ericmoritz\0 [n=ericmori@c-76-123-248-214.hsd1.tn.comcast.net] has
joined #go-nuts
02:34 -!- Gamara [n=Gamara@nat/google/x-ryfgcjyrovvslowq] has quit ["Leaving"]
02:35 -!- angasule [n=angasule@201.250.126.65] has quit [Remote closed the
connection]
02:35 -!- dwery [n=dwery@nslu2-linux/dwery] has left #go-nuts ["Leaving."]
02:36 < beadle> bogen: I think I'd have trouble with the admins.  :(
02:36 -!- piksel [n=user@pool-71-127-155-153.bltmmd.fios.verizon.net] has quit
[Read error: 54 (Connection reset by peer)]
02:36 < bogen> beadle: yeah...
02:36 -!- nigwil [n=chatzill@berkner.ccamlr.org] has quit ["ChatZilla 0.9.85
[Firefox 3.5.5/20091102152451]"]
02:36 -!- Rob_Russell [n=chatzill@206-248-157-156.dsl.teksavvy.com] has joined
#go-nuts
02:37 -!- jefferson_ [n=jefferso@189.71.87.229] has joined #go-nuts
02:37 * sladegen hmmms: http://paste.lisp.org/display/90270
02:37 < aho> <aho> ARM926EJ-S <- is that a pre v6 one?  :>
02:37 < bogen> beadle: I run Windows XP in a VirtualBox at work, but I
really want to get rid it....
02:38 -!- dddd [n=none@pool-71-190-187-50.nycmny.fios.verizon.net] has quit ["dddd
has no reason"]
02:39 -!- r00ttap [n=wjones@c-98-225-129-81.hsd1.pa.comcast.net] has quit [Read
error: 110 (Connection timed out)]
02:39 -!- bortzmeyer [n=stephane@host-19-21.meeting.ietf.org] has quit [Read
error: 145 (Connection timed out)]
02:39 < aho> oh yea it is
02:39 -!- brunov [n=bruno@190.191.110.64] has joined #go-nuts
02:39 < aho> http://en.wikipedia.org/wiki/ARM_architecture
02:39 < aho> thanks wikipedia :>
02:40 < doublec> aho, try getting latest go source and setting GOARM=5
02:40 < aho> how do i update with hg?  (this checkout was the first time i
used it)
02:40 < beadle> bogen: I run XP in VirtualBox here at home and do a fair
amount of remote work.  Fedora X86_64 host.  GO works great here!  But I'm
wondering about applying the work to the windows environment.  a little surprised
that cygwin isn't considered.
02:40 -!- tsuru` [n=user@c-174-50-217-160.hsd1.tn.comcast.net] has quit [Read
error: 104 (Connection reset by peer)]
02:41 < doublec> aho, hg pull -u
02:41 < aho> ty
02:41 -!- jefferson_ [n=jefferso@189.71.87.229] has quit ["Ex-Chat"]
02:42 < aho> it pulled something...  hope it works now :)
02:42 -!- yonkeltron [n=user@unaffiliated/yonkeltron] has left #go-nuts ["ERC
Version 5.3 (IRC client for Emacs)"]
02:42 < treitter> the policy for semicolons seems a little odd..  I imagine
it will quickly become a best practice to just always include them (otherwise you
have to add them to a single line in a block as soon as you add another, and of
course it adds a little noise to diffs as a result)
02:42 < bogen> beadle: well, that is one of the reasons Go is open
source....  for those that need it on Cygwin or MingW, nothing is stopping them...
02:42 -!- triplez [n=triplez@203.92.122.206] has quit []
02:43 -!- ajray [n=alex@wvc32563rh.rh.ncsu.edu] has joined #go-nuts
02:43 < beadle> bogen: yeah.  I hit a problem in jmp.c and found out it has
been a *long* time since C
02:43 -!- spook[]_ [n=RevSpook@173-20-203-218.client.mchsi.com] has joined
#go-nuts
02:43 < beadle> sig
02:44 < beadle> sigh
02:44 -!- Monie [n=Monie@unaffiliated/monie] has quit [Read error: 104 (Connection
reset by peer)]
02:45 -!- raichoo [n=raichoo@i577B88E4.versanet.de] has quit []
02:45 < jessta> treitter: yeah, it is kind of odd
02:45 -!- petercooper [n=petercoo@81-86-235-109.dsl.pipex.com] has quit
["Leaving..."]
02:45 < jessta> saves very few key strokes and confuses confusion
02:45 < jessta> *causes
02:45 < treitter> yeah
02:45 -!- rhaggert [n=rhaggert@pool-173-69-176-242.bltmmd.fios.verizon.net] has
quit [Read error: 113 (No route to host)]
02:45 -!- joeedh is now known as joeedh_away
02:46 -!- r00ttap [n=wjones@c-98-225-129-81.hsd1.pa.comcast.net] has joined
#go-nuts
02:46 < treitter> I think I'd much prefer Python-style block delimitation,
but it wasn't my call to make :)
02:46 -!- resistor [n=theresis@98.237.248.99] has quit []
02:47 < jessta> with indentation?
02:47 -!- rhaggert [n=rhaggert@pool-173-69-176-242.bltmmd.fios.verizon.net] has
joined #go-nuts
02:47 < kuroneko> bwahahah.  :) my cgo supports opaque types now
02:47 < kuroneko> although I'm not it's actually completely correct
02:47 < kuroneko> not sure even
02:47 < jessta> treitter: scoping with indentation causes tabs vs spaces
debates
02:47 < kuroneko> certainly, it works well enough to get the version number
of the sqlite library :)
02:48 -!- ni|phone [n=wIRCer@72-59-207-165.pools.spcsdns.net] has joined #go-nuts
02:48 < jessta> treitter: and vim always seens to screw up the indetnation
of python code that I paste
02:49 -!- nigwil [n=chatzill@berkner.ccamlr.org] has joined #go-nuts
02:49 < blasdelf> jessta: ":set paste"
02:49 < doublec> kuroneko, nice!
02:49 < jessta> blasdelf: seriously?
02:49 -!- slicslak_ [n=slicslac@c-68-50-207-133.hsd1.dc.comcast.net] has joined
#go-nuts
02:49 < jessta> I only just started using gvim, I don't really like it
02:49 < blasdelf> jessta: it toggles off the auto-formatting
02:49 -!- tetha [n=hk@pD9EE4847.dip.t-dialin.net] has quit [Nick collision from
services.]
02:49 -!- tetha [n=hk@217.238.122.244] has joined #go-nuts
02:49 < treitter> jessta: the solution is easy: always only spaces :)
02:49 < blasdelf> set nopaste to turn it back on
02:50 -!- zepolen [n=zepolen@athedsl-407846.home.otenet.gr] has quit [Remote
closed the connection]
02:50 -!- lotrpy [n=lotrpy@202.38.97.230] has joined #go-nuts
02:50 < harryv> map it to <leader>p
02:50 < treitter> as far as I know, though, it's not a big problem in the
Python community (though I don't follow it much at all)
02:50 < kuroneko> oh, and to open a new database :)
02:50 < jessta> treitter: you're a bad person
02:50 < harryv> nmap <silent> <leader>p :set paste!<CR>
02:50 < aho> doublec, i still get that signal 4 error :/
02:50 < blasdelf> treitter: fie!  you say that in the new sanctuary of tabs!
02:50 -!- slicslak [n=slicslac@c-68-50-207-133.hsd1.dc.comcast.net] has quit [Read
error: 113 (No route to host)]
02:50 -!- beadle [n=rhenders@173-27-220-160.client.mchsi.com] has quit ["Ex-Chat"]
02:50 < jessta> treitter: notice how go uses tabs, like all sane programmers
should
02:51 < doublec> aho, does 'hg log' show the commit with the message about
GOARM?
02:51 < treitter> it does?  In the library code?  (I haven't looked very
carefully yet)
02:51 < doublec> aho, just checking to see if the fix is actually in your
tree
02:51 -!- tor7 [n=tor@c-987a71d5.04-50-6c756e10.cust.bredbandsbolaget.se] has quit
[]
02:52 -!- Rob_Russell [n=chatzill@206-248-157-156.dsl.teksavvy.com] has quit [Read
error: 104 (Connection reset by peer)]
02:52 < jessta> I have found it hard to find a good text editor, I've tried
many and they all seem to suck
02:52 -!- diltsman [n=diltsman@64.122.18.77] has joined #go-nuts
02:52 < aho> ye, it's there
02:52 < treitter> hmm, so it does
02:53 < doublec> aho, alas I don't know the reason then
02:53 -!- dschn [n=dschn@pool-70-19-224-19.bos.east.verizon.net] has joined
#go-nuts
02:53 -!- tsuru [n=user@c-174-50-217-160.hsd1.tn.comcast.net] has joined #go-nuts
02:54 < diltsman> Can anybody recommend an editor for Go? Like a Vim module
or somethin.
02:54 -!- garslo [n=user@99.54.133.82] has quit ["ERC Version 5.3 (IRC client for
Emacs)"]
02:54 -!- spook[] [n=RevSpook@173-20-203-218.client.mchsi.com] has quit
[Connection timed out]
02:54 < treitter> diltsman: vim :)
02:54 < harryv> diltsman: go/src/misc/go.vim
02:54 < blasdelf> jessta: the Go authors wrote their own multiple times
02:54 < treitter> what harryv said
02:55 -!- matt7340 [n=matt@71-217-240-206.dlth.qwest.net] has quit ["Leaving"]
02:55 -!- nutate [n=rseymour@cacsag4.usc.edu] has quit ["I'm outta heee-eere"]
02:55 < blasdelf> use ed on a line printer
02:55 < jessta> blasdelf: I know, I've tried acme and sam
02:55 < sfuentes> sam
02:56 < harryv> htm
02:56 < blasdelf> Ken Thomson: "I've seen [visual] editors like that, but I
don't feel a need for them.  I don't want to see the state of the file when I'm
editing."
02:56 -!- cameron_ [n=cameron@d24-150-97-19.home.cgocable.net] has quit
["Leaving"]
02:56 < blasdelf> in college my friends and I made a thing out of trying to
use ed for everything :/
02:56 -!- rando [n=markd@c-24-4-237-105.hsd1.ca.comcast.net] has quit ["That's
enough for now....:-)"]
02:57 -!- lotrpy [n=lotrpy@202.38.97.230] has quit []
02:57 < harryv> weird.  program aborts, without any messages.
02:57 < harryv> just quits.
02:57 < ni|phone> sam > ed ; however learning ed is invaluable
02:57 < kuroneko> http://github.com/kuroneko/gosqlite3
02:57 < diltsman> I'm not seeing go/src/misc/go.vim in the directory I
checked out with Mercurial.
02:57 -!- eduardoboss [n=boss@189.114.200.69.dynamic.adsl.gvt.net.br] has quit []
02:57 < harryv> even tried sticking a for {} in the end of main
02:57 < treitter> diltsman: no src/ in the path
02:57 < kuroneko> for the start of sqlite3 bindings and the patch for cgo
02:57 < jessta> sfuentes: I couldn't stand the lack of ability to navigate
between lines with keyboard, same with acme
02:58 < kuroneko> the cgo patch make break your cgo - be careful!
02:58 < harryv> diltsman: $GOROOT/misc/go.vim ..  should be possible to
figure out.
02:58 < jessta> kuroneko: yay!
02:58 -!- tjake [n=jake@75-44-151-7.lightspeed.smfrct.sbcglobal.net] has left
#go-nuts []
02:58 < kuroneko> I haven't had enough time to actually make sure it's not
more destructive than I thought
02:58 < diltsman> Thanks, that found it.
02:58 < kuroneko> anyway, horribly incomplete
02:58 < kuroneko> I'll probably finish off the basic functions tonight
02:58 < kuroneko> but it gives you the idea :)
02:58 -!- CFlux [n=CFlux@pool-98-108-155-174.ptldor.fios.verizon.net] has joined
#go-nuts
02:58 < harryv> this is gonna keep me up :/
02:59 < tsuru> awww..  I thought golang wasn't going to let you put type
ugliness between func and <function name> or var and <varname> etc...
02:59 < harryv> it happens when I close a channel.  it just dies.
02:59 -!- Irssi: #go-nuts: Total of 531 nicks [0 ops, 0 halfops, 2 voices, 529
normal]
02:59 < sladegen> any thoughts about this
http://paste.lisp.org/display/90270 ? besides commenting them tests out?
02:59 -!- ericmoritz\0 [n=ericmori@c-76-123-248-214.hsd1.tn.comcast.net] has quit
[Read error: 110 (Connection timed out)]
02:59 -!- HeckleJeckle [n=hangeles@ool-44c55d89.dyn.optonline.net] has joined
#go-nuts
03:00 < kuroneko> sladegen: that bug I believe is already on the tracker
03:00 * sladegen nods
03:01 < aho> doublec, oh well...  maybe it will work next week ;)
03:01 -!- Alfarin [n=Alfarin@unaffiliated/alfarin] has joined #go-nuts
03:03 -!- punya [n=punya@DN800ce20e.Stanford.EDU] has joined #go-nuts
03:03 < CFlux> can anyone tell me if there is a way to set the cursor
postion in the consol from go?
03:04 < punya> Are there any plans to add scanf (or something similar) to
the fmt package?
03:05 < Selar> what do people use to edit go?  are there any editors that
can do syntax highlighting?
03:05 < blasdelf> CFlux: [Rob Pike] is a Canadian citizen and has never
written a program that uses cursor addressing.
03:05 < ni|phone> sladegen: when did you pull last?
03:05 < tsuru> Selar: emacs
03:06 < blasdelf> Selar: Go ships with a Vim plugin and an emacs mode
03:06 < ni|phone> sladegen: I think its accounted for on the tracker
03:06 < Selar> for reals (both)
03:06 < Selar> ok, i'll try it
03:06 < CFlux> currently I'm using kate and it does some highlighting
03:06 < ni|phone> oh sorry my phone is delayed
03:06 < jessta> CFlux: such as ncurses?
03:06 < punya> Selar: also XCode, though I haven't tried it
03:06 -!- super__ [n=super_@unaffiliated/lolsuper-/x-9881387] has joined #go-nuts
03:06 * ni|phone wanders off
03:06 -!- super__ is now known as super_
03:06 -!- hebroon [n=hebroons@p57bdc5.hkidnt01.ap.so-net.ne.jp] has quit [Read
error: 110 (Connection timed out)]
03:06 < Selar> vim straight up doesn't do it...
03:06 -!- x-ip [n=sakura@unaffiliated/x-ip] has quit ["Leaving"]
03:06 -!- super_ is now known as lolsuper_
03:07 -!- ni|phone [n=wIRCer@72-59-207-165.pools.spcsdns.net] has left #go-nuts []
03:07 -!- i9 [n=Issue-9@76.73.16.26] has quit ["CGI:IRC"]
03:07 -!- Glao [n=raskc@c-71-198-186-8.hsd1.ca.comcast.net] has joined #go-nuts
03:07 -!- kmc [n=keegan@206-71-236-70.c3-0.nyw-ubr5.nyr-nyw.ny.cable.rcn.com] has
quit ["Leaving"]
03:07 -!- kmc [n=keegan@206-71-236-70.c3-0.nyw-ubr5.nyr-nyw.ny.cable.rcn.com] has
joined #go-nuts
03:07 < CFlux> jessta: ya I'm looking for something to let me write a string
over the previous console line, so I can output a status for example then
overwrite it
03:07 < hnsr> read :help 44.11 on how to install the go vim syntax file
03:07 < diltsman> harryv: Any suggestions on how to modify the .vimrc or
something so that the .vim file will be used when necessary?
03:07 < Selar> hnsr: thx
03:08 < diltsman> harryv: nm
03:08 < hnsr> (also 43.2)
03:08 < treitter> Selar: copy $GOROOT/misc/vim/go.vim to ~/.vim/syntax, then
add "augroup filetypedetect <newline> au BufNewFile,BufRead *.go setf go
<newline> augroup END" to your ~/.vimrc
03:08 -!- seliq [n=sel@cpc1-nthc3-0-0-cust438.nrth.cable.ntl.com] has joined
#go-nuts
03:09 < treitter> diltsman: ^
03:10 -!- triplez [n=triplez@203.92.122.206] has joined #go-nuts
03:10 -!- lindsayd [n=lindsayd@nat/cisco/x-oqldonjgbbuleieq] has quit ["Client
exiting"]
03:10 -!- hypertux [n=kvirc@71.186.236.9] has joined #go-nuts
03:10 -!- carllerche [n=carllerc@99-8-186-86.lightspeed.snfcca.sbcglobal.net] has
joined #go-nuts
03:10 -!- sergio [n=sergio@unaffiliated/sergio] has joined #go-nuts
03:10 < Selar> treitter: thanks.
03:11 < Selar> hmm, i didn't have a .vimrc to begin with, so I added it.  No
luck in highlights.
03:11 -!- hyn [n=hyn@p0200e3.tokyte00.ap.so-net.ne.jp] has joined #go-nuts
03:11 -!- watermind [n=watermin@bl8-121-164.dsl.telepac.pt] has quit [Read error:
113 (No route to host)]
03:12 < chrome> syntax on
03:12 < ajray> Selar: you have to add the filetype detection
03:12 < jessta> CFlux: I don't think such a thing exists currently, you
could make ncurses bindings for go
03:12 < Selar> oh snap, chrome - that did it
03:12 -!- formode [n=Administ@S0106001e90da4679.gv.shawcable.net] has joined
#go-nuts
03:14 -!- diltsman [n=diltsman@64.122.18.77] has quit []
03:14 -!- Dysiode [n=pakattac@66.129.59.88] has joined #go-nuts
03:14 -!- justin- [n=justin`@cpe-76-179-254-13.maine.res.rr.com] has quit [Read
error: 104 (Connection reset by peer)]
03:14 < Selar> can someone pastebin a basic .vimrc?
03:15 -!- justin- [n=justin`@cpe-76-179-254-13.maine.res.rr.com] has joined
#go-nuts
03:15 -!- justin- [n=justin`@cpe-76-179-254-13.maine.res.rr.com] has quit [Read
error: 54 (Connection reset by peer)]
03:15 < formode> Selar: Here you go: syntax on
03:15 < CFlux> ok thanks jessta
03:15 -!- justin- [n=justin`@cpe-76-179-254-13.maine.res.rr.com] has joined
#go-nuts
03:15 -!- justin- [n=justin`@cpe-76-179-254-13.maine.res.rr.com] has quit [Read
error: 104 (Connection reset by peer)]
03:16 -!- justin- [n=justin`@cpe-76-179-254-13.maine.res.rr.com] has joined
#go-nuts
03:17 -!- justin- [n=justin`@cpe-76-179-254-13.maine.res.rr.com] has quit [Read
error: 54 (Connection reset by peer)]
03:17 -!- justin- [n=justin`@cpe-76-179-254-13.maine.res.rr.com] has joined
#go-nuts
03:17 -!- justin- [n=justin`@cpe-76-179-254-13.maine.res.rr.com] has quit [Read
error: 54 (Connection reset by peer)]
03:17 -!- justin- [n=justin`@cpe-76-179-254-13.maine.res.rr.com] has joined
#go-nuts
03:18 -!- xuser [n=xuser@unaffiliated/xuser] has left #go-nuts []
03:18 -!- justin- [n=justin`@cpe-76-179-254-13.maine.res.rr.com] has quit [Read
error: 104 (Connection reset by peer)]
03:18 -!- brrant [n=John@65-102-225-252.hlrn.qwest.net] has quit [Read error: 113
(No route to host)]
03:19 -!- owen__ [n=owen@ta-1-91.tip.net.au] has quit [Remote closed the
connection]
03:19 -!- justin- [n=justin`@cpe-76-179-254-13.maine.res.rr.com] has joined
#go-nuts
03:19 < Jerub> Selar: if you want more vim setting tips, we can help you
out.
03:19 -!- mejja [n=user@c-49b6e555.023-82-73746f38.cust.bredbandsbolaget.se] has
quit [Remote closed the connection]
03:19 -!- jshriver [n=jshriver@cblmdm24-53-165-86.buckeyecom.net] has quit [Read
error: 131 (Connection reset by peer)]
03:20 -!- jshriver [n=jshriver@cblmdm24-53-165-86.buckeyecom.net] has joined
#go-nuts
03:20 -!- aanderse
[n=aanderse@CPE001b11cc67d3-CM0019475d7f5e.cpe.net.cable.rogers.com] has quit
[Remote closed the connection]
03:20 < Selar> Jerub: thanks.  I'm messing around now.  It's been years
since I used vi.
03:20 < scandal> i wrote a tags generator for use with vim if anyone is
interested https://www.cs.hmc.edu/~me/gotags.go
03:20 -!- brrant [n=John@65-102-195-20.hlrn.qwest.net] has joined #go-nuts
03:20 < formode> Selar: Tons of resources online.  :)
03:20 -!- aa [n=aa@r190-135-128-116.dialup.adsl.anteldata.net.uy] has joined
#go-nuts
03:20 < formode> What's the word on this?
http://code.google.com/p/go/issues/detail?id=9&colspec=ID%20Type%20Status%20Owner%20Summary
03:21 < Selar> formode: too many :)
03:21 -!- r00ttap [n=wjones@c-98-225-129-81.hsd1.pa.comcast.net] has quit [Read
error: 110 (Connection timed out)]
03:21 < hnsr> scandal, cool, might give that a try alter
03:21 < hnsr> lateR*
03:21 < formode> Selar: What are you looking for it too do?  Want me to ask
around for some samples?
03:21 < hnsr> ugh
03:21 * hnsr has had too much alcohol and is going to sleep
03:21 -!- teedex [n=teedex@204.14.155.161] has quit ["Leaving..."]
03:22 < formode> hnsr: Seeya
03:22 < Selar> formode: I was hoping for syntax highlighting, colors, that
sort of thing.
03:22 < Selar> formode: but those are hopes, not needs
03:22 < formode> Selar: syntax enable
03:22 -!- ajray [n=alex@wvc32563rh.rh.ncsu.edu] has quit ["Leaving."]
03:22 < adam_godev> selar: do you have gedit?
03:22 -!- red1 [n=red1@211.24.237.3] has joined #go-nuts
03:22 -!- aanderse
[n=aanderse@CPE001b11cc67d3-CM0019475d7f5e.cpe.net.cable.rogers.com] has joined
#go-nuts
03:22 < scandal> has anyone cobbled together the proper settings for
auto/smartindent, etc?
03:22 < Selar> adam_godev: /usr/bin/gedit yes
03:22 < formode> Selar: Ops, it's syntax on
03:23 < formode> Selar:
http://www.cyberciti.biz/faq/turn-on-or-off-color-syntax-highlighting-in-vi-or-vim/
03:24 < Selar> formode: thanks...  maybe my securecrt term emu is wrong,
then.  :) I'll have to mess with that, too
03:24 < adam_godev> if you insert a /**/ at the top of your .go file, it
should provide some base syntax highlighting for dev (switch, return, int) etc
03:24 < formode> Selar: For color schemes, you can get them off vim's site,
and you can find how to enable:
http://www.kavoir.com/2009/05/how-to-change-vim-syntax-highlighting-colors.html
03:24 -!- diltsman [n=diltsman@64.122.18.77] has joined #go-nuts
03:24 < KirkMcDonald> I believe "syntax enable" is also valid.
03:24 < formode> Selar: Make sure it supports colors.  :)
03:24 -!- hynirc [n=hyn@p020080.tokyte00.ap.so-net.ne.jp] has quit [Read error:
110 (Connection timed out)]
03:25 -!- Rob_Russell [n=chatzill@206-248-157-156.dsl.teksavvy.com] has joined
#go-nuts
03:25 -!- FreshMeat [n=crump@c-67-180-74-9.hsd1.ca.comcast.net] has quit [Read
error: 110 (Connection timed out)]
03:26 < Selar> formode: whee!  vt220 works; now there's some greens and reds
and brownishes.  :)
03:26 < Selar> thanks guys
03:26 -!- UnorthodoxCodeFu [n=bastian_@97-114-33-229.roch.qwest.net] has joined
#go-nuts
03:26 < formode> Selar: \D
03:27 -!- rebel09 [n=rebel09@140-182-190-137.dhcp-bl.indiana.edu] has joined
#go-nuts
03:27 < Selar> I think I'll be changing these colors shortly, with that url
you'd given me, formode.
03:27 < rebel09> hey guys
03:27 < rebel09> i have an issue
03:27 < formode> Selar: Want me to find my favorite scheme for you?
03:27 < Selar> that'd be awesome, formode
03:28 < formode> Selar: http://slinky.imukuppi.org/zenburn/zenburn.vim
03:28 < rebel09> its noobish
03:28 < KirkMcDonald> I believe that Go's reflection capabilities are
sufficiently powerful for me to make a "callback" command-line option type, where
the number and types of the options are automatically derived from the signature
of the function used as the callback.
03:28 < rebel09> i'm having installation issues
03:28 < formode> rebel09: What OS?
03:28 < KirkMcDonald> Which is awesome.
03:28 < rebel09> os x
03:28 < alexsuraci> rebel09: probably get a quicker response if you just say
the problem
03:28 < rebel09> i have developer tools installed
03:28 < formode> Selar: Screenit:
http://slinky.imukuppi.org/zenburn/zenburn.png
03:28 < rebel09> but i can't call the make command in the terminal
03:28 -!- HeckleJeckle [n=hangeles@ool-44c55d89.dyn.optonline.net] has left
#go-nuts []
03:28 < treitter> scandal: I just used "set cindent", and that seemed to do
what I wanted.  But now it's screwing things up in some cases
03:28 < formode> rebel09: What distro?
03:28 -!- aaront [n=aaront@d24-141-25-171.home.cgocable.net] has joined #go-nuts
03:29 -!- ericmoritz\0 [n=ericmori@c-76-123-248-214.hsd1.tn.comcast.net] has
joined #go-nuts
03:29 < rebel09> snow leopard?
03:29 -!- adam_godev [n=adam@001a4b73f651.click-network.com] has left #go-nuts []
03:29 < rebel09> no real distros in mac os x
03:29 < formode> Oh I read "Linux" somehow
03:29 < scandal> treitter: i just added cino+=:0 to get case statements
aligned with switch
03:29 -!- hoisam is now known as RepentanceX3
03:29 -!- theriffer [n=Adium@cpe-76-174-46-7.socal.res.rr.com] has joined #go-nuts
03:30 < rebel09> i've got python installed, but i can't even get mercurial
to install
03:30 -!- ryan___ [i=442e5355@gateway/web/freenode/x-ifsywuxryjtojqfb] has joined
#go-nuts
03:30 < formode> rebel09: I don't thiunk you have GCC installed.
03:31 < formode> rebel09: Try installing xcode
03:31 < rebel09> i have xcode installed
03:31 < formode> rebel09: http://golang.org/doc/install.html#tmp_57
03:31 < Selar> formode: good call on zenburn, looks much better.
03:31 -!- ryan___ is now known as ybits
03:31 < rebel09> also on that page formode
03:31 < treitter> scandal: cool.  I'm not sure what statement is doing it
for me, but opening a new line is no longer getting properly indented for me.
It's either a := or the "for foo in array" statement
03:31 < formode> Selar: I zenburned my entire linux desktop once, it was
amazing.
03:31 < jA_cOp> rebel09: Does it say that it cannot find the mercurial
package or something?  I got that
03:32 < rebel09> my terminal throws the error that it couldn't excecute
gcc-4.2
03:32 < rebel09> even though i have xcode already
03:32 -!- Daminvar [n=Daminvar@129.21.81.77] has quit ["Leaving"]
03:32 < formode> Try executing make
03:32 < treitter> scandal: actually, it's definitely a lone s := "";
03:32 -!- diltsman [n=diltsman@64.122.18.77] has quit []
03:32 < rebel09> command not found for make
03:32 < formode> Odd
03:32 < rebel09> could it be becuase i had developer tools and then upgraded
to SL maybe?
03:32 < rebel09> could have screwed something up
03:33 < formode> rebel09: Try upgrading developer tools
03:33 < formode> Last I checked Xcode only runs on the version it was built
for
03:34 < scandal> treitter: hrm, might need to mess with cinkeys.  probably
thinks s is a label?
03:34 < rebel09> formode: are you on mac and if so what version and what
version is your xcode?
03:34 < formode> rebel09: I'm not.
03:34 < rebel09> formode: darn
03:34 < formode> rebel09: What version is yours?
03:34 < rebel09> 3.2
03:35 < formode> Seems to be the newest
03:35 < formode> Can you open xcode?
03:35 < ybits> does the semicolon paradigm bother anyone else?  seems like
it actually adds complexity by trying to remove it.  maybe i'm just not used to it
yet.
03:35 < rebel09> yes i can open it
03:35 < hypertux> ybits: what do you mean?
03:35 -!- danly [n=danlesli@S010600226b5eab8e.vs.shawcable.net] has quit []
03:35 < formode> rebel09: Looks like 3.2.1 is out.
03:35 -!- Wiz126 [n=Wiz@24.102.254.150.res-cmts.sm.ptd.net] has joined #go-nuts
03:35 < formode> rebel09: "Xcode 3.2.1 is an update release of the developer
tools for Mac OS X. "
03:35 -!- seliq [n=sel@cpc1-nthc3-0-0-cust438.nrth.cable.ntl.com] has quit [Client
Quit]
03:35 < blasdelf> ybits: it's the same as pascal and some other languages
03:35 < formode> rebel09: "This release provides bug fixes in gdb, Interface
Builder, Instruments, llvm-gcc and Clang optimizer, Shark, and Xcode and must be
installed on Mac OS X 10.6 Snow Leopard and higher."
03:35 < ybits> hypertux: that they're optional in certain instances, but not
others
03:36 < rebel09> formode: do you think that would really cause an issue
though, i mean, if i have xcode installed shouldn't i have gcc?
03:36 < hypertux> ybits: you are free to use the semicolon as a terminator,
but it is only required as a seperator
03:36 < blasdelf> ybits: they're seperators, not terminators
03:36 -!- danly [n=danlesli@S010600226b5eab8e.vs.shawcable.net] has joined
#go-nuts
03:36 < formode> rebel09: You should, yeah.
03:36 < rebel09> will do
03:36 < ybits> hypertux: yeah i've already found myself using them as
terminators
03:36 -!- UnorthodoxCodeFu [n=bastian_@97-114-33-229.roch.qwest.net] has left
#go-nuts []
03:36 < rebel09> i will let you guys know if i have any other issues, i'm
looking forward to learning the new language
03:36 -!- Fruktsoda [i=EchoB@unaffiliated/fruktsoda] has joined #go-nuts
03:36 < blasdelf> what a lot of languages do is just make \n == ;
03:36 < formode> rebel09: Is it possible you're using the wrong kernel?
(Can't you swap kernels in snow lepord?)
03:36 < hypertux> ybits: nothing wrong with that, just an extra character
here and there
03:36 < ybits> to be consistent.  but again, i'm not used to it yet, so
maybe i will be
03:37 -!- FreshMeat [n=crump@c-67-180-74-9.hsd1.ca.comcast.net] has joined
#go-nuts
03:37 < blasdelf> at least you don't have to terminate statements with
periods
03:37 < hypertux> ybits: Yeah, it takes time.  I find myself deleting the
"final" semicolon to get used to it
03:37 < blasdelf> like Prolog, made worse in Erlang
03:37 < rebel09> formode: its only possible to swap to a 64 bit kernal on
start up by holding "6" and "4", pretty sure SL runs a 32 bit kernal but some 64
bit apps on most macs other than the xserve
03:37 -!- danly [n=danlesli@S010600226b5eab8e.vs.shawcable.net] has quit [Client
Quit]
03:37 < uriel> blasdelf: hehe.
03:38 < kuroneko> uriel: seen my tainting of go?  :)
03:38 < rebel09> formode: the thing is that i haven't even gotten to the
installation of go yet, i'm stuck on mercurial
03:38 < formode> rebel09: Ew :(
03:38 < formode> rebel09: Maybe try using macports or fink to get some
packages?
03:39 < uriel> kuroneko: no, sorry, could not keep up with backlog
03:39 < formode> rebel09: http://www.finkproject.org/
http://www.macports.org/
03:39 < kuroneko> uriel: http://github.com/kuroneko/gosqlite3
03:39 < Selar> not having to use parens around the test for an if statement
or having to use semicolons to terminate statements is throwing me off :)
03:39 < ybits> blasdelf: yeah, but at least the \n is always there.  i guess
that takes some getting used to as well, if aren't familiar with it ;)
03:39 < rebel09> formode: i'll try those
03:39 < uriel> kuroneko: heh, I see now, YUCK ;P
03:39 < formode> rebel09: Be careful.  :)
03:39 < uriel> kuroneko: implement pq or bigtable in go ;P
03:39 < harryv> anybody knows a nice way to force a shared-data issue?  in
ruby it's ridiculously easy: http://pastie.org/696758
03:39 < harryv> not-so-much in go.
03:39 -!- Venom_X [n=pjacobs@cpe-67-9-131-167.austin.res.rr.com] has quit []
03:40 < rebel09> formode: oh i will be, i've a time machine backup from
earlier today, no worries
03:40 < formode> =D
03:40 < Selar> is there a way in vim, in edit mode, to have a return auto
indent or tab?
03:41 < formode> YEah
03:41 < formode> Selar: Auto tab
03:41 -!- thedevel [n=thedevel@pool-72-78-219-199.phlapa.fios.verizon.net] has
joined #go-nuts
03:41 < formode> Selar: Just a sec, getting a friends vimrc
03:41 < Selar>
http://stackoverflow.com/questions/234564/tab-key-4-spaces-and-auto-indent-after-curly-braces-in-vim
03:41 < Selar> found it
03:41 -!- carllerche [n=carllerc@99-8-186-86.lightspeed.snfcca.sbcglobal.net] has
quit []
03:42 < formode> Selar: Be aware that it can screw up pastes.
03:42 < rebel09> formode: i think the problem is definitely xcode because
fink is claiming there is no c-compiler installed
03:42 < rebel09> so i will have to wait untill tomorrow to work on this
03:42 < formode> rebel09: Reinstall xcode
03:42 < Selar> formode: aha, good to know
03:42 < rebel09> :(
03:42 < thedevel> where do we submit doc bugs?
03:42 < formode> rebel09: Remove it, (appzapper?) and install it again fresh
from the site
03:43 < rebel09> formode: thanks for the help, go will have to be played
with tomorrow after class
03:43 < formode> rebel09: Good luck.  :)
03:43 -!- evilhackerdude [n=stephan@e181089221.adsl.alicedsl.de] has quit [Read
error: 60 (Operation timed out)]
03:43 -!- brrant [n=John@65-102-195-20.hlrn.qwest.net] has quit [Read error: 113
(No route to host)]
03:44 < harryv> anyways, yay, my gochat-server is almost done.  ~110 LOC
03:44 < thedevel> actually a tutorial bug
03:44 < formode> harryv: Holy cow, nice.
03:44 < Selar> vim's neat, but i hope they're working on an Eclipse syntax
highligting dealy
03:44 < Amaranth> harryv: Can I see?  :)
03:44 < formode> Selar: Vim is *awesome*
03:44 < ybits> Selar: there's already a TextMate bundle :)
03:44 < formode> Selar: I just moved to windows and miss it *dearly*
03:44 < Selar> formode: http://fprintf.net/vimCheatSheet.html I'm using this
03:45 -!- wcn [n=wcn@216.239.45.130] has quit []
03:45 < formode> Selar: My friend's very simple vimrc:
http://sprunge.us/IVLD
03:45 < Selar> I've got linux vms...  i guess i can fireup a ui if
necessary, but i'm ssh'ing mostly.
03:45 -!- Iszak [n=Iszak@unaffiliated/supavisah] has joined #go-nuts
03:45 -!- paul_irish [i=4160a209@gateway/web/freenode/x-autsdythuuqlqdlx] has
joined #go-nuts
03:45 < formode> Selar: gvim.  :)
03:45 < harryv> formode: https://gist.github.com/68c3cd3af3f0848b5542
03:45 < harryv> Amaranth: ^
03:45 -!- rebel09 [n=rebel09@140-182-190-137.dhcp-bl.indiana.edu] has quit []
03:45 < formode> harryv: Ty sir!
03:46 -!- temp01 [n=temp01@unaffiliated/temp01] has joined #go-nuts
03:46 -!- vladikoff_ [n=armagste@bas1-woodbridge48-2925111726.dsl.bell.ca] has
joined #go-nuts
03:46 < vladikoff_> Go!
03:46 < formode> To the moon!
03:47 -!- mxcl [n=mxcl@94-193-125-246.zone7.bethere.co.uk] has joined #go-nuts
03:47 -!- Issue9 [n=Issue9@c-76-108-93-32.hsd1.fl.comcast.net] has joined #go-nuts
03:47 < Selar> harryv: neat!
03:48 < formode> Haha I need to learn programming
03:48 -!- kaib [n=kaib@216.239.45.130] has joined #go-nuts
03:48 -!- mode/#go-nuts [+v kaib] by ChanServ
03:48 < Amaranth> harryv: ah, so you ignore the return value of Write
03:48 -!- thedevel [n=thedevel@pool-72-78-219-199.phlapa.fios.verizon.net] has
left #go-nuts []
03:48 < harryv> yeah
03:48 < formode> afk flirting with girl.
03:48 < Amaranth> Was hoping to see someone handling that properly since the
documentation says err will be set if Write doesn't write all the bytes even
though it also gives you the number of bytes
03:49 -!- limec0c0nut [n=michael@c-24-12-53-42.hsd1.il.comcast.net] has joined
#go-nuts
03:49 < harryv> there's not much error handling yet :)
03:49 -!- wcn [n=wcn@ip68-3-237-83.ph.ph.cox.net] has joined #go-nuts
03:50 -!- cold-penguin [n=ben@92.8.42.199] has quit [Remote closed the connection]
03:50 -!- ksf is now known as ComonadDessert
03:51 < paul_irish> afk flirting with boy.
03:51 -!- punya [n=punya@DN800ce20e.Stanford.EDU] has quit [Connection timed out]
03:51 < Glao> lol
03:52 < Iszak> You suck paul_irish !
03:52 -!- vcgomes [n=vcgomes@li17-238.members.linode.com] has joined #go-nuts
03:52 -!- ericmoritz\0 [n=ericmori@c-76-123-248-214.hsd1.tn.comcast.net] has quit
[Connection timed out]
03:52 < paul_irish> afk flirting with Iszak.
03:53 < uriel> reminder before going to sleep: there is a reddit dedicated
to go programming for anyone interested in posting/reading stuff:
http://www.reddit.com/r/golang/
03:53 -!- Iszak [n=Iszak@unaffiliated/supavisah] has left #go-nuts ["Leaving"]
03:53 < harryv> neat
03:53 < saati> uriel: thanks
03:54 < uriel> saati: :)
03:54 -!- fgb [n=fgb@190.246.85.45] has quit [Read error: 104 (Connection reset by
peer)]
03:54 -!- delsvr [n=delsvr@cpe-67-242-41-219.twcny.res.rr.com] has joined #go-nuts
03:55 < ybits> kudos to the devs for providing a native associative array.
thank god.
03:55 <+kaib> iant: ping
03:55 -!- Irssi: #go-nuts: Total of 534 nicks [0 ops, 0 halfops, 3 voices, 531
normal]
03:56 -!- asyncster [n=asyncste@206.169.213.106] has quit [Read error: 110
(Connection timed out)]
03:56 < Selar> how do I cast an int to a string?
03:57 -!- delza [n=delza@66.183.63.49] has joined #go-nuts
03:57 < scandal> Selar: fmt.Sprintf("%d", intVal)
03:57 < Selar> ah, Sprintf, der.
03:57 < Selar> thx scandal
03:57 -!- drusepth` [n=drusepth@ppp-70-247-248-65.dsl.spfdmo.swbell.net] has
joined #go-nuts
03:57 < alus> intVal.String() doesn't work?
03:57 -!- paul_irish [i=4160a209@gateway/web/freenode/x-autsdythuuqlqdlx] has left
#go-nuts []
03:58 < Selar> trying
03:58 -!- drusepth`` [n=drusepth@ppp-70-247-248-65.dsl.spfdmo.swbell.net] has quit
[Read error: 110 (Connection timed out)]
03:58 < alus> I have no idea.  I was just guessing based of the intro video
03:59 < Selar> nope: j.String undefined (type int has no field String)
03:59 < ybits> yeah apparently no casts, everything is a conversion
03:59 < alus> well you could easily define String()
03:59 < Selar> I suppose so
04:00 < scandal> i appears that you can't attach methods to types defined
outside your package (ala ruby)
04:00 < alus> oh, interesting
04:00 < alus> I guess that makes sense, because of the way linking works
04:01 < alus> you would need to go back to the beginning and recompile
everything if that was allowed
04:01 -!- BlackM [n=BMeph@65.103.151.24] has joined #go-nuts
04:01 -!- dragon3 [n=dragon3@122.208.75.82] has joined #go-nuts
04:02 < kizzo> Any plans/ideas about using CMake as a build system for
gccgo?
04:02 -!- Cantareus [n=brendon@121-73-186-98.dsl.telstraclear.net] has joined
#go-nuts
04:02 < Selar> speaking of gccgo, where do I get that, doesn't seem to be in
$GOBIN
04:03 < Jerub> Selar: gccgo is maintained in a separate, subversion
repository.
04:03 < ybits> Selar: http://golang.org/doc/gccgo_install.html
04:03 < Selar> Jerub: I see
04:03 -!- BlackM is now known as BMeph
04:04 -!- nixfreak [n=nixfreak@mn-10k-dhcp1-3174.dsl.hickorytech.net] has quit
["Lost terminal"]
04:05 -!- tonyb486 [n=tonyb@libre.fm/hacker/tonyb486] has left #go-nuts []
04:06 -!- delza [n=delza@66.183.63.49] has quit []
04:06 -!- delza [n=delza@d66-183-63-49.bchsia.telus.net] has joined #go-nuts
04:07 < BMeph> Any plans about seeing whether LLVM really is unacceptable?
It'd be interesting if that were more than just a "hunch".  :)
04:07 < Selar> ok, so help me out here...  i'm used to Eclipse where it auto
compiles.  how do i set up my env?  I'm using screen and I have 0 with vim on it
and 1 where I can type: 8g proggy.go
04:07 < Selar> But that seems crazy
04:08 -!- turutosiya [n=turutosi@219.106.251.65] has quit [Read error: 110
(Connection timed out)]
04:08 < alus> yeah I'm curious why it's "too large and slow", but clang wins
against gcc
04:08 -!- toumbia [n=toumbia@216.144.118.20] has quit [Read error: 110 (Connection
timed out)]
04:09 -!- Thales [n=ths@unaffiliated/helpsys] has joined #go-nuts
04:10 -!- r00ttap [n=wjones@c-98-225-129-81.hsd1.pa.comcast.net] has joined
#go-nuts
04:10 -!- triplez [n=triplez@203.92.122.206] has quit []
04:11 < Wiz126> Selar, take a look at the strconv lib, used to convert data
types from/to strings: http://golang.org/pkg/strconv/
04:11 < Wiz126> strconv.Itoa();
04:11 < Thales> hi all, plis, i'm trying set $GOBIN, but no success.
Someone can help me about this?
04:11 < karl> GOBIN=/...
04:12 < alus> I read that strconv.Iota();
04:12 < Selar> Wiz126: thank you...  alus, i did too :)
04:12 < Wiz126> set it in your .bashrc, Thales
04:12 < Thales> thx
04:12 < Wiz126> export GOBIN=$HOME/go
04:13 < Wiz126> or whereever your go dir is
04:13 -!- maxyz [n=maxy@186.18.92.38] has quit [Read error: 60 (Operation timed
out)]
04:13 -!- KurtKraut [n=Kurt@unaffiliated/kurtkraut] has joined #go-nuts
04:13 -!- Rob_Russell [n=chatzill@206-248-157-156.dsl.teksavvy.com] has left
#go-nuts []
04:13 < Thales> Wiz126, thx
04:13 -!- rhelmer [n=rhelmer@adsl-69-107-65-242.dsl.pltn13.pacbell.net] has joined
#go-nuts
04:14 < Wiz126> your bin dir, so*
04:14 < Wiz126> your go dir will be the GOROOT variable
04:14 -!- maxyz [n=maxy@186.18.92.38] has joined #go-nuts
04:15 -!- jabb [n=grue@adsl-75-54-112-77.dsl.renocs.sbcglobal.net] has joined
#go-nuts
04:15 < Selar> Hmm, if I import something but don't use the package, I can't
compile?
04:15 -!- Omega [n=Omega@199-2-117-160.setardsl.aw] has quit [Read error: 60
(Operation timed out)]
04:15 -!- bortzmeyer [n=stephane@host-19-21.meeting.ietf.org] has joined #go-nuts
04:15 < Wiz126> correct, no point to include something if its not used.
same goes with unused variables
04:15 -!- Omega [n=Omega@199.2.117.160] has joined #go-nuts
04:16 -!- aho [n=nya@e179090024.adsl.alicedsl.de] has quit
["EXEC_over.METHOD_SUBLIMATION"]
04:16 -!- punya [n=punya@punya.Stanford.EDU] has joined #go-nuts
04:16 < Dam0k> Thales: You'll want to add $GOBIN to your $PATH too IIRC
04:17 -!- kassens [n=kassens@P3106.pallas.wh.tu-darmstadt.de] has quit []
04:17 < Thales> Dam0k, so ?
04:18 < alus> man, this whole channel talks about GOBIN instead of Go
04:18 -!- wcn_ [n=wcn@216.239.45.130] has joined #go-nuts
04:18 < Selar> heh
04:18 < Dam0k> Could be talking about Go! :P
04:18 -!- CryptoQuick [n=CryptoQu@c-24-9-232-39.hsd1.co.comcast.net] has joined
#go-nuts
04:18 < jessta> Selar: it's a great feature
04:19 < Thales> lol :D
04:19 < Selar> strip it for me, you naughty compiler, you
04:19 < Eridius> eydaimon: did you ever fix the failing tests, or did you
just disable them?
04:19 -!- formode [n=Administ@S0106001e90da4679.gv.shawcable.net] has left
#go-nuts []
04:20 -!- rhelmer [n=rhelmer@adsl-69-107-65-242.dsl.pltn13.pacbell.net] has quit
[]
04:20 < jessta> Selar: nah, because then you'll leave it there forever
04:20 < bogen> heh, I just "yaourt -S go-lang-hg" every few hours, and leave
the installation details to the package management....  So I don't have to mess
with GOBIN or anything else like that.
04:20 < jessta> human beings are as lazy as they are allowed to be
04:20 < Selar> jessta, that's a good point.
04:20 -!- halfdan [n=halfdan@p57A94147.dip.t-dialin.net] has joined #go-nuts
04:21 -!- diego [n=diego@203.41.127.66] has joined #go-nuts
04:21 < Selar> this whole 'less typing' thing, though, what with compiling
and linking and running seems like more typing.
04:21 -!- diego is now known as drylight
04:21 < hypertux> Selar: that's what Makefiles are for
04:21 -!- CryptoQuick [n=CryptoQu@c-24-9-232-39.hsd1.co.comcast.net] has left
#go-nuts []
04:21 < Selar> feh, another thing to learn ;)
04:22 -!- Eytre [n=afitz@adsl-190-192-124.asm.bellsouth.net] has quit []
04:22 -!- drylight [n=diego@203.41.127.66] has left #go-nuts []
04:22 < jessta> Selar: how have you gotten by currently without some form of
makefile?
04:22 < Selar> Can I hook vim into executing a make file?
04:22 < saati> Selar: you have to compile almost anything that has
comparable performance
04:22 -!- roxan [n=roxan@unaffiliated/roxan] has joined #go-nuts
04:23 < Selar> jessta: Poorly.  I have screen open with two windows, one for
my editor, one for a command line to up-arrow 8g...
04:23 -!- hypertux [n=kvirc@71.186.236.9] has left #go-nuts ["No matter how dark
the night, somehow the Sun rises once again"]
04:23 < jessta> Selar: very likely
04:23 < jabb> any GUI or graphics libraries yet?
04:24 -!- john6 [n=j0nguk@210.107.195.141] has quit ["Ex-Chat"]
04:24 < jessta> Selar: I do that too for small projects, 8g *.go && 8l *.8
&& ./8.out
04:24 < Wiz126> http://golang.org/pkg/exp/draw/
04:25 < Selar> jessta: Yeah, that's where I'm at now.  I haven't gotten to
the point of needing a make file, though.
04:25 < jessta> Wiz126: does draw work?
04:26 < Wiz126> i thought it did, it was just buggy
04:26 < Wiz126> now you have me wondering
04:26 < Selar> I'd almost want to use ant.
04:26 * Wiz126 goes to play around more
04:26 < jessta> Selar: a makefile will save you from recompiling parts that
you haven't modified, thus faster compiles
04:27 -!- KinOfCain [n=KinOfCai@rrcs-64-183-61-2.west.biz.rr.com] has quit [Remote
closed the connection]
04:27 < Wiz126> in the google video, it took him 8s to compile everything
and .200 for the math lib, my desktop does .85s for everything and .01 for the
math lib
04:27 -!- Kniht [n=kniht@c-68-58-17-177.hsd1.in.comcast.net] has joined #go-nuts
04:27 < Wiz126> i wonder if anyone else timed his
04:28 -!- jabb [n=grue@adsl-75-54-112-77.dsl.renocs.sbcglobal.net] has quit [Read
error: 54 (Connection reset by peer)]
04:28 < Selar> compiling everthing from all.bash?
04:28 -!- temp01 [n=temp01@unaffiliated/temp01] has left #go-nuts ["temp01,
Miranda, Windows"]
04:28 -!- swamy [n=chatzill@nat/sun/x-uadndxqvbuzovkzl] has quit ["ChatZilla
0.9.85 [Firefox 3.5.3/20090824101458]"]
04:28 -!- rhelmer [n=rhelmer@adsl-69-107-65-242.dsl.pltn13.pacbell.net] has joined
#go-nuts
04:28 < sm> if so, that's a fast machine
04:28 < ybits> my laptop took well over 8s
04:28 -!- r00ttap [n=wjones@c-98-225-129-81.hsd1.pa.comcast.net] has quit [Read
error: 110 (Connection timed out)]
04:28 < ybits> for the whole thing
04:29 -!- halfdan_ [n=halfdan@87.169.81.225] has quit [Read error: 145 (Connection
timed out)]
04:29 < jessta> the compilers are in C, so not the compiling of the
compilers
04:30 <+iant> kaib: ping
04:30 < jessta> I'm yet to see the video, terrible bandwidth at home and my
laptop speakers don't work
04:31 -!- wcn__ [n=wcn@ip68-3-237-83.ph.ph.cox.net] has joined #go-nuts
04:32 < Wiz126> cd $GOROOT/src/pkg
04:32 < Cantareus> How do you time the compile?  I recompiled my math
package with make and it didn't tell me.
04:32 -!- jabb [n=grue@adsl-75-54-112-124.dsl.renocs.sbcglobal.net] has joined
#go-nuts
04:32 -!- wcn__ [n=wcn@ip68-3-237-83.ph.ph.cox.net] has quit [Client Quit]
04:32 < Wiz126> time make?
04:32 < saati> Cantareus: time make
04:32 < Cantareus> Haha
04:33 -!- Gracenotes [n=person@wikipedia/Gracenotes] has joined #go-nuts
04:33 -!- decriptor [n=decripto@174-23-163-211.slkc.qwest.net] has joined #go-nuts
04:33 < RepentanceX3> while ARM was chosen
04:34 < RepentanceX3> why ARM was chosen as one of the architects?  :-/
04:34 <+iant> RepentanceX3: Android
04:34 < mjrosenb> how does it build the libraries for arm?
04:34 < RepentanceX3> iant: I see
04:34 -!- dopplerDroid [n=doppler@ip70-190-186-61.ph.ph.cox.net] has quit [Read
error: 110 (Connection timed out)]
04:34 < mjrosenb> does it assume that you have an arm cross cimpiler for C
installed
04:34 < Selar> After doing a 'make clean', a 'time make' in $GOROOT/src/pkg
got me real 0m8.815s
04:34 -!- inittab- [n=dlbeer@ip-118-90-30-86.xdsl.xnet.co.nz] has joined #go-nuts
04:34 < mjrosenb> *compiler
04:34 <+iant> mjrosenb: if you set GOARCH=arm, the Go compiler is built as a
cross-compiler for ARM
04:35 < Selar> Yeah, I'm interested to see where the intersection of Android
and Go are...  ndk?
04:35 < mjrosenb> iant: yes, but the libraries were all C files from what i
could tell
04:35 <+iant> They are built using 5c, which is a cross-compiler too
04:35 <+iant> really the compilers are always cross-compilers
04:35 -!- RepentanceX3 [n=toor@unaffiliated/coconutcrab] has quit ["té bùm bùm"]
04:35 < mjrosenb> iant: oh, the libraries are written in go, not in C?
04:35 < Cantareus> 0m24.505s I need a new computer.  :(
04:36 < karl> 0m4.957s :)
04:36 <+iant> mjrosenb: the libraries are mostly in Go; there are a few C
files in pkg/runtime
04:36 -!- drusepth` [n=drusepth@ppp-70-247-248-65.dsl.spfdmo.swbell.net] has quit
[Read error: 110 (Connection timed out)]
04:36 -!- drusepth [n=drusepth@ppp-70-247-248-65.dsl.spfdmo.swbell.net] has joined
#go-nuts
04:36 -!- wcn [n=wcn@ip68-3-237-83.ph.ph.cox.net] has quit [Read error: 110
(Connection timed out)]
04:37 -!- Dam0k [n=damian@202.154.158.2] has left #go-nuts []
04:37 < Selar> I wonder if I gave this vm use of 2cpus if that'd make my
build times better.  I'll have to try that next reboot.
04:37 < mjrosenb> iant: oh, the files in src/lib* are libraries for the
compiler, not for the runtime of compiled go programs
04:37 < mjrosenb> i hope
04:37 <+iant> mjrosenb: right
04:37 -!- punya [n=punya@punya.Stanford.EDU] has quit [Read error: 60 (Operation
timed out)]
04:37 < mjrosenb> why does the compiler need .S files?
04:38 -!- drusepth` [n=drusepth@ppp-70-247-248-65.dsl.spfdmo.swbell.net] has
joined #go-nuts
04:38 -!- r00ttap [n=wjones@c-98-225-129-81.hsd1.pa.comcast.net] has joined
#go-nuts
04:39 < eydaimon> portfile for macports has been submitted
04:39 < jessta> 21.210s for me
04:40 -!- wcn_ [n=wcn@216.239.45.130] has quit [Read error: 60 (Operation timed
out)]
04:40 <+iant> mjrosenb: the code in libcgo is really for calling C code from
Go, it's not part of the compilers
04:42 -!- JBdiGriz [n=dbw@adsl-71-137-6-235.dsl.sndg02.pacbell.net] has joined
#go-nuts
04:43 -!- rhelmer [n=rhelmer@adsl-69-107-65-242.dsl.pltn13.pacbell.net] has quit
[]
04:43 -!- UnorthodoxCodeFu [n=bastian_@97-114-33-229.roch.qwest.net] has joined
#go-nuts
04:43 -!- uman [n=brennan@unaffiliated/uman] has quit ["Leaving"]
04:44 -!- drusepth [n=drusepth@ppp-70-247-248-65.dsl.spfdmo.swbell.net] has quit
[Read error: 60 (Operation timed out)]
04:45 -!- UnorthodoxCodeFu [n=bastian_@97-114-33-229.roch.qwest.net] has left
#go-nuts []
04:46 < Gracenotes> it seems people have written ray tracers
04:46 -!- loureiro [n=loureiro@201.8.204.229] has joined #go-nuts
04:47 -!- rhelmer [n=rhelmer@adsl-69-107-65-242.dsl.pltn13.pacbell.net] has joined
#go-nuts
04:47 * Gracenotes still needs to install it..
04:50 < eydaimon> I think 'go' should be renamed to 'go-lang'
04:50 < eydaimon> website is already golang.org
04:51 -!- freerobby [n=Adium@209-6-90-125.c3-0.smr-ubr1.sbo-smr.ma.cable.rcn.com]
has joined #go-nuts
04:51 -!- sm [n=sm@cpe-76-173-194-242.socal.res.rr.com] has quit []
04:53 < jessta> eydaimon: it's unlikely that people are going to confuse go
with Go! becuase until now nobody had actually heard of Go!
04:53 < eydaimon> jessta: but there's go the board game
04:53 < eydaimon> not to mention the fact that searcing for anything online,
is going to be a pain
04:53 < swolchok> and there's C the letter
04:53 < eydaimon> and as a search company, they should know
04:53 < eydaimon> tutorial on go?  "go language tutorial"
04:53 < Jerub> google has magic that will make everything perfect.
04:53 < Jerub> stop worrying.
04:53 < Ycros> there's Python, the snake.
04:54 -!- Method` [n=method@unaffiliated/method/x-0038564] has joined #go-nuts
04:54 < eydaimon> you're going to have to stick language in there
04:54 -!- KurtKraut [n=Kurt@unaffiliated/kurtkraut] has quit [Remote closed the
connection]
04:54 < KirkMcDonald> There's "forth," the perfectly good English word.
04:54 < eydaimon> as someone else said, it's going to be interesting to find
out how this "do no evil" works out in the case with the other go language
04:54 < bogen> yeah, searching for forth stuff is difficult
04:54 < jessta> and lisp the speach problem
04:54 < eydaimon> well, if search for forth is hard, then wait to search for
go stuff
04:55 < bogen> well, the wikipedia page for go!  is likely going to be
removed
04:55 < Selar> what's Go! ?
04:55 < bogen> as it was just started over this controversy
04:55 < KirkMcDonald> bogen: Let me guess: It doesn't meet their
"notability" requirements.
04:55 < Selar> The game?
04:55 < bogen> KirkMcDonald: correct
04:55 < jessta> makes sense
04:55 < sladegen> issue9 ftw!
04:55 < bogen> http://en.wikipedia.org/wiki/Go!_%28programming_language%29
04:56 < bogen> yeah, issue 9, plan 9 :)
04:56 * Issue9 coughs
04:56 -!- mxpxpod [n=bryan@unaffiliated/mxpxpod] has joined #go-nuts
04:56 < mxpxpod> how do I round a number?
04:56 < Selar> Yeah, never heard of "Go!"
04:57 -!- nigwil [n=chatzill@berkner.ccamlr.org] has left #go-nuts []
04:57 < eydaimon> Selar: like you'd heard of "go" a few days ago?
04:57 < Ycros> I think some people care about this too much
04:57 < eydaimon> or still haven't heard of half the languages out there?
04:57 * Ycros carries on writing actual code
04:57 < Selar> eydaimon: this go is new.  That one's old.
04:57 < wcr> So doing a little dance is obvious, making a little love is
obvious...  what then, is getting down tonight?
04:57 < eydaimon> Selar: touche.  they should be able to keep their name
04:57 < Selar> eydaimon: why wouldn't they?
04:58 <+iant> mxpxpod: do you want to round to integer?  you can just use
int(f)
04:58 < Selar> They've a "!"
04:58 < eydaimon> and the new "go" not
04:58 < eydaimon> or I think the author of "go!" should be able to start a
company named "google!"
04:58 < Selar> They're clearly distinct.
04:58 < eydaimon> seems only fair
04:58 < Selar> go!ogle?
04:58 < sladegen> !go!
04:58 < Selar> Only in .es and .mx
04:58 -!- binaryjohn [n=binaryjo@cpe-24-30-132-50.san.res.rr.com] has quit []
04:58 < mxpxpod> iant: is that accurate?  or does it just chop off the
decimal?
04:59 < eydaimon> and someone should start a company named "yahoo"
04:59 < antarus> mxpxpod: I think it depends by what you mean by 'round' ;)
04:59 < wcr> It's called natural selection, and it's been around long before
our time.  I think Go is a very fair name.
04:59 -!- _rata_ [n=rata@190.162.60.76] has joined #go-nuts
04:59 -!- reid [n=reid@209-6-43-251.c3-0.smr-ubr1.sbo-smr.ma.cable.rcn.com] has
joined #go-nuts
04:59 -!- _rata_ [n=rata@190.162.60.76] has left #go-nuts ["Leaving"]
04:59 < mxpxpod> antarus: 2.5 -> 3, 2.4 -> 2
04:59 <+iant> mxpxpod: the fractional part is discarded
04:59 < antarus> (as in there are a number of rounding algorithms)
05:00 < Selar> http://golang.org/src/pkg/math/floor.go
05:00 <+iant> mxpxpod: you can get what you want using int(f + 0.5)
05:00 < Selar> (and fmod.go, too)
05:00 <+iant> well, except for doing round-to-even
05:00 -!- jabb [n=grue@adsl-75-54-112-124.dsl.renocs.sbcglobal.net] has quit [Read
error: 110 (Connection timed out)]
05:01 -!- jabb [n=grue@76.247.206.215] has joined #go-nuts
05:01 < jabb> I DCed, does exp/draw actually work?
05:01 < mxpxpod> so, there's no round function included with go
05:01 -!- kill-9 [n=kill-9@cpe-65-24-145-70.columbus.res.rr.com] has quit [Read
error: 110 (Connection timed out)]
05:01 <+iant> mxpxpod: I would encourage you to contribute one
05:01 < antarus> seems like a useful addition to pkg/math ;)
05:02 -!- bortzmeyer [n=stephane@host-19-21.meeting.ietf.org] has quit
["Leaving."]
05:02 -!- hyn [n=hyn@p0200e3.tokyte00.ap.so-net.ne.jp] has quit ["Get MacIrssi -
http://www.sysctl.co.uk/projects/macirssi/"]
05:02 -!- voxadam [n=voxadam@c-24-20-147-228.hsd1.or.comcast.net] has quit []
05:02 < antarus> I was supposed to look at the crazy log module...
05:02 < KirkMcDonald> There's math.Ceil and math.Floor, but no math.Round.
05:02 < KirkMcDonald> Curious.
05:02 < ybits> iant: didn't you just contribute one?  ;)
05:02 < mxpxpod> KirkMcDonald, yeah, I thought that as well
05:02 -!- karl [n=karl@wads-5-233-224.resnet.mtu.edu] has quit [Remote closed the
connection]
05:03 <+iant> ybits: well, doing round to even correctly is a little bit
harder, and that is what people usually want
05:03 -!- hyn [n=hyn@p0200e3.tokyte00.ap.so-net.ne.jp] has joined #go-nuts
05:03 <+iant> i.e., 2.5 rounds to 2, not 3, and 3.5 rounds to 4, not 3
05:03 -!- remote [n=remote@unaffiliated/remote] has quit [Read error: 110
(Connection timed out)]
05:04 <+iant> using round to even avoids systematic bias when you round a
large number of numbers
05:04 < antarus> once again proving why I'm not a software engineer; heh
05:04 -!- Method` [n=method@unaffiliated/method/x-0038564] has left #go-nuts
["Leaving"]
05:04 < ybits> iant: fair enough
05:06 -!- bortzmeyer [n=stephane@host-19-21.meeting.ietf.org] has joined #go-nuts
05:07 -!- delsvr [n=delsvr@cpe-67-242-41-219.twcny.res.rr.com] has quit []
05:08 < freerobby> iant: for statistically significant stuff, is round to
even used more often than dithering?
05:08 -!- ineol [n=hal@mar75-9-88-171-191-168.fbx.proxad.net] has joined #go-nuts
05:09 <+iant> freerobby: I don't know, that exceeds my experience
05:09 < freerobby> iant: ahh, just curious.  i know dithering is pretty
popular in the audio world for that reason but i'm not sure how widespread the use
case is
05:09 < mxpxpod> are maps immutable?
05:10 <+iant> mxpxpod: no, you can add and delete items
05:10 -!- zuhaib [n=zuhaib@adsl-75-37-25-254.dsl.pltn13.sbcglobal.net] has quit []
05:11 < scandal> are the values in a map stored by reference, or by value?
05:11 < jabb> exp/draw work?
05:11 <+iant> scandal: by value
05:11 <+iant> jabb: don't know, it's experimental--that is, even more
experimental than everything else
05:11 -!- wcn [n=wcn@ip68-3-237-83.ph.ph.cox.net] has joined #go-nuts
05:11 < jabb> ah, haha
05:12 < mxpxpod> iant, am I just missing the docs on how to add to them?
05:12 -!- tedster [n=tedster@cpe-008051.dhcp008.wadsnet.net] has left #go-nuts []
05:12 <+iant> mxpxpod: hmmm, I guess.  If m is a map, you can just m[k] = v
05:12 -!- wcn_ [n=wcn@216.239.45.130] has joined #go-nuts
05:13 -!- dschn [n=dschn@pool-70-19-224-19.bos.east.verizon.net] has quit [Read
error: 60 (Operation timed out)]
05:13 <+iant> mxpxpod: if you look in "Effective Go" there is a section on
maps
05:13 < keeto> any, ahem, pointers, for understanding pointers in go?
05:13 < keeto> I come from a dynamic language background, so pointer are a
bit foreign to me.  :/
05:13 < keeto> *pointers
05:13 < mxpxpod> iant, yeah, I saw that...  it's late, and I only saw the
section on deleting from a map
05:13 < KirkMcDonald> keeto: They point to things.
05:13 <+iant> keeto: well, pointers in Go are just like pointers in C except
that you can't do pointer arithmetic
05:13 <+iant> keeto: but maybe that doesn't help
05:14 -!- armence [n=armence@c-67-188-229-128.hsd1.ca.comcast.net] has quit
["Leaving"]
05:14 <+iant> keeto: given a variable v, you can get its address using &v
05:14 <+iant> &v is a pointer to v
05:14 <+iant> if you say p := &v
05:14 <+iant> then later you can say *p = 1
05:14 <+iant> and that will set v to 1
05:14 <+iant> that's pretty much it
05:14 < KirkMcDonald> If v is an int, then p will be a *int.
05:15 < jchico> anybody already made a syntax highlighter for Go in a text
editor?
05:15 < keeto> yeah, I kinda get the & to return the address and * to get
the value thing.
05:15 <+iant> the main reason to have pointers in a language like Go is that
it lets you pass large values by reference, i.e., efficiently
05:15 < keeto> but why the need for them in go?
05:15 < KirkMcDonald> jchico: The repository has some for vim, emacs, and
textmate.
05:15 < KirkMcDonald> Er.
05:15 < KirkMcDonald> Not textmate.
05:15 < dblaine> sadfsf
05:15 < dblaine> `.
05:15 < KirkMcDonald> xcode.
05:15 < jchico> KirkMcDonald: Thanks, will check it out
05:15 < keeto> iant: ah, that answered my question.  :)
05:15 -!- seank [n=sean@64-184-238-2.mammothnetworks.com] has joined #go-nuts
05:15 <+iant> keeto: in a language like Java, basically everything is
secretly a pointer
05:15 < KirkMcDonald> (All those non-vim editors look alike...(
05:15 <+iant> (modulo unboxing)
05:16 < KirkMcDonald> In Python, everything is basically a pointer.
05:16 < keeto> so why the need for them to be explicit?
05:17 -!- binaryjohn [n=binaryjo@cpe-24-30-132-50.san.res.rr.com] has joined
#go-nuts
05:17 <+iant> keeto: part of what it means for Go to be a "systems language"
is that you have control over details like this
05:17 <+iant> because it affects the efficiency of your code
05:17 < jchico> yeah I remember making a linked list in Java while in
school...  I got all confused because the next variable looked like a regular
variable to me
05:17 < jb55> I'm working on a go twitter library, with an interface similar
to python-twitter if anyone is interested in contributing :)
http://github.com/jb55/go-twitter
05:17 -!- sg [i=3e164621@gateway/web/freenode/x-rraiygftgvazmeaj] has quit ["Page
closed"]
05:17 < jchico> so used to seeing it as a pointer in C
05:17 < KirkMcDonald> keeto: If you declare a variable of type 'int', that
means you're setting aside a bit of storage on the stack big enough to hold an
int.
05:18 < keeto> I see.
05:18 < KirkMcDonald> keeto: Whereas if you say "x = 12" in Python, that
means something...  else.
05:18 < keeto> so when are where would you use pointers?
05:19 < keeto> *and
05:19 < KirkMcDonald> keeto: Say you have a struct, and it has many data
members.
05:19 < KirkMcDonald> keeto: You might not want to copy this struct every
time you pass it to a function.
05:19 -!- gcopenhaver [n=greg@c-68-43-205-148.hsd1.mi.comcast.net] has quit
["Leaving."]
05:19 < KirkMcDonald> keeto: So you pass a pointer to it instead.
05:19 < keeto> ah, because structs are copied when they're passed to
functions right?
05:19 < KirkMcDonald> They are value types.
05:20 < keeto> I see.
05:20 -!- r00ttap [n=wjones@c-98-225-129-81.hsd1.pa.comcast.net] has quit [Read
error: 110 (Connection timed out)]
05:20 < keeto> so what are the non-value types in go?
05:20 < jchico> keeto: you can also use pointers as arguments in a function
so you can 'return' more than one value.
05:20 <+iant> keeto: the non-value, or reference, types are slices, maps,
and channels
05:21 -!- brunov [n=bruno@190.191.110.64] has quit [Read error: 60 (Operation
timed out)]
05:21 < Jerub> ah, the pass-by-reference technique for multiple return
values.  I hoped we'd seen the back of that :/
05:21 < keeto> iant: so when a slice is passed to a function, is it
automatically passed as a reference?
05:21 <+iant> well, Go does allow multiple return values
05:21 <+iant> keeto: right
05:21 <+iant> which means that if the function changes a value in the slice,
the caller will see the change after the function returns
05:21 <+iant> unlike, say, a struct
05:22 -!- annodomini [n=lambda@wikipedia/lambda] has quit []
05:22 <+iant> if you pass a struct to a function, and the function changes a
field, the caller will not see the change
05:22 < jchico> Jerub: yup, hate to do myself, but it's good to keep in mind
if you ever come accross it
05:22 < keeto> I see.
05:22 < keeto> I think it's making sense now.  :)
05:22 < keeto> thanks guys.
05:23 < Jerub> hm, looking at it, i can't see a good reason to not use the
multiple return value functionality built in.
05:23 -!- bzSmari [n=spm@194-144-23-6.du.xdsl.is] has quit [Read error: 60
(Operation timed out)]
05:24 < Jerub> func complex_f1() (re float, im float) {
05:24 < Jerub> return -7.0, -4.0
05:24 < Jerub> etc.
05:24 * Jerub potters off to do more playing.
05:24 -!- triplez [n=triplez@203.92.122.206] has joined #go-nuts
05:25 -!- drusepth [n=drusepth@adsl-70-134-52-239.dsl.spfdmo.swbell.net] has
joined #go-nuts
05:25 <+kaib> iant: does gccgo support compiling against arm currently?
05:26 <+iant> kaib: to be honest I'm not sure; it may
05:26 <+iant> I haven't tried it in a long time
05:26 <+iant> It wouldn't surprise me if there is some bug
05:26 < jabb> any way to wrap C functions to Go?
05:26 <+iant> jabb: see misc/cgo
05:26 -!- jwzn [n=user@CPE001839f8e82b-CM0017ee6363de.cpe.net.cable.rogers.com]
has joined #go-nuts
05:27 < jabb> lovely
05:27 -!- drugo_ [n=drugo@187.23.80.176] has joined #go-nuts
05:27 -!- ybits [i=442e5355@gateway/web/freenode/x-ifsywuxryjtojqfb] has quit
[Ping timeout: 180 seconds]
05:27 -!- drusepth`` [n=drusepth@adsl-70-134-52-239.dsl.spfdmo.swbell.net] has
joined #go-nuts
05:28 -!- punya [n=punya@punya.Stanford.EDU] has joined #go-nuts
05:30 < freerobby> jb55: awesome!
05:30 -!- fgb [n=fgb@190.246.85.45] has joined #go-nuts
05:30 -!- drugo_ is now known as drugowick
05:30 -!- decriptor [n=decripto@174-23-163-211.slkc.qwest.net] has quit [Read
error: 110 (Connection timed out)]
05:31 -!- nexneo [n=niket@115.108.175.41] has joined #go-nuts
05:31 -!- itrekkie [n=itrekkie@ip72-200-111-233.tc.ph.cox.net] has quit []
05:31 -!- Dysiode [n=pakattac@66.129.59.88] has left #go-nuts []
05:31 < mxpxpod> ok, I'm trying to write a fibonacci number calculator
05:31 -!- depood [n=hidden@80.108.55.214] has joined #go-nuts
05:32 < mxpxpod> but I can only go so high
05:32 <+iant> mxpxpod: I suppose you could try using the bignum package
05:32 < mxpxpod> from the google tech talk, it sounded like go had unlimited
space for numerics
05:32 -!- drugowick [n=drugo@187.23.80.176] has quit ["Ex-Chat"]
05:32 -!- drugowick [n=drugo@187.23.80.176] has joined #go-nuts
05:32 -!- wcn [n=wcn@ip68-3-237-83.ph.ph.cox.net] has quit [Connection timed out]
05:33 <+iant> mxpxpod: not exactly; constants are stored in very high
precision at compile time; at runtime you are restricted to 64-bit integers
05:33 < mxpxpod> ah, ok
05:33 <+iant> unless you use something like pkg/bignum
05:33 < mxpxpod> gotcha
05:33 -!- vladikoff_ [n=armagste@bas1-woodbridge48-2925111726.dsl.bell.ca] has
quit [Success]
05:34 -!- wcn_ [n=wcn@216.239.45.130] has quit [Read error: 110 (Connection timed
out)]
05:35 < drugowick> exit
05:35 < Wiz126> consts have arbitrary precision according to the video
05:35 -!- drugowick [n=drugo@187.23.80.176] has quit [Client Quit]
05:35 <+iant> Wiz126: yes
05:37 < Rabbitbunny> I'm not quite sure I understand the niche Go is to
fill.  Is it Lua easy but compiled?  C without memory management but keeps the
crazy syntax?  Does it require an interest in compsci?
05:37 -!- Ankit[m] [n=o@117.98.136.130] has joined #go-nuts
05:37 -!- catron [n=beta@ip68-97-61-240.ok.ok.cox.net] has joined #go-nuts
05:37 -!- catron [n=beta@ip68-97-61-240.ok.ok.cox.net] has left #go-nuts []
05:38 -!- catron [n=beta@ip68-97-61-240.ok.ok.cox.net] has joined #go-nuts
05:38 -!- drusepth` [n=drusepth@ppp-70-247-248-65.dsl.spfdmo.swbell.net] has quit
[Read error: 110 (Connection timed out)]
05:39 < Ycros> Rabbitbunny: seems to me like "almost as fast and light as C,
but easier and cleaner"
05:39 < KirkMcDonald> Rabbitbunny: I am confused by the last question.  Yes?
05:40 < anticw> iant: when wrapping C code...  i assume it's necessary to
hold references to any memory used by the code code for the duration of it's use
05:40 < anticw> (that the gc won't scan over the C codes data)
05:40 < Rabbitbunny> Ycros: Oh. That's nice, Thanks for the synopsis.
05:40 < ned> "In testing, if the amount of extra code required to write good
errors seems repetitive and overwhelming, it might work better as a table-driven
test instead." what data structures are these specificalyl referring to?
05:41 -!- smudge is now known as nnyby
05:41 -!- nnyby is now known as BackendBill
05:41 < Rabbitbunny> KirkMcDonald: Answering that completly would probably
upset half the channel.  Suffice to say I have intricate MechE questions I want
answered, But i'm too cheap to buy commercial packages.
05:42 <+iant> Rabbitbunny: see the FAQ for one answer
05:42 -!- giancarlo84
[n=Giancarl@173-8-25-129-WashingtonDC.hfc.comcastbusiness.net] has joined #go-nuts
05:42 -!- aaront [n=aaront@unaffiliated/aaront] has quit ["And that's all he
wrote..."]
05:43 -!- drusepth [n=drusepth@adsl-70-134-52-239.dsl.spfdmo.swbell.net] has quit
[Read error: 110 (Connection timed out)]
05:45 -!- loureiro [n=loureiro@201.8.204.229] has quit ["Quit"]
05:46 -!- Repent [n=toor@unaffiliated/coconutcrab] has joined #go-nuts
05:46 < KirkMcDonald> Rabbitbunny: I would say that Go is no more concerned
with the academic pursuit of computer science than, say, C.
05:46 -!- aanderse
[n=aanderse@CPE001b11cc67d3-CM0019475d7f5e.cpe.net.cable.rogers.com] has quit
[Remote closed the connection]
05:46 < Quadrescence> C was very concerned with academic pursuit.
05:48 -!- punya [n=punya@punya.Stanford.EDU] has quit [Read error: 60 (Operation
timed out)]
05:48 -!- ojm [n=ojm@MCLIII.gprs.sl-laajakaista.fi] has quit ["Lost terminal"]
05:48 -!- nigwil [n=chatzill@59.167.73.225] has joined #go-nuts
05:49 -!- bnijk_ [n=ush@unaffiliated/octopuswitharms] has quit ["Lost terminal"]
05:51 -!- evilhackerdude [n=stephan@e181074230.adsl.alicedsl.de] has joined
#go-nuts
05:51 -!- nexneo [n=niket@115.108.175.41] has quit []
05:53 <+iant> anticw: yes
05:54 -!- giancarlo84
[n=Giancarl@173-8-25-129-WashingtonDC.hfc.comcastbusiness.net] has left #go-nuts
[]
05:55 < anticw> iant: explicitly?  i assume w/ swig support and some point
it could be done in the glue?
05:55 < mxpxpod> wow
05:56 < kuroneko> ooh.  defer is neat
05:56 -!- droid0011 [n=g1@p4FDCDF3A.dip.t-dialin.net] has joined #go-nuts
05:56 -!- keturn [n=kevint@c-98-246-6-235.hsd1.or.comcast.net] has left #go-nuts
["Client exiting"]
05:57 < kuroneko> and it fixes the multilevel break issue.
05:57 < mxpxpod> just computed the 700th fibonacci number in no time at all
05:57 -!- rhelmer [n=rhelmer@adsl-69-107-65-242.dsl.pltn13.pacbell.net] has quit
[]
05:58 < antarus> iant: do you know if anyone is working on replicating glog?
05:59 < anticw> iant: the the ABI set in stone?  being completely stack
based on amd64 seems potentially a step backwards when compared to other ABIs
05:59 -!- Null-A [n=jason@c-76-21-4-0.hsd1.ca.comcast.net] has joined #go-nuts
06:00 < Null-A> a lot of members for a new language.
06:00 -!- turutosiya [n=turutosi@219.106.251.65] has joined #go-nuts
06:00 -!- triplez [n=triplez@203.92.122.206] has quit []
06:01 -!- rhelmer [n=rhelmer@adsl-69-107-65-242.dsl.pltn13.pacbell.net] has joined
#go-nuts
06:03 -!- mxpxpod [n=bryan@unaffiliated/mxpxpod] has left #go-nuts ["Ex-Chat"]
06:03 -!- al-maisan [n=al-maisa@f048160178.adsl.alicedsl.de] has joined #go-nuts
06:04 -!- Yossi [n=Yossi@adsl-75-36-134-122.dsl.pltn13.sbcglobal.net] has joined
#go-nuts
06:05 -!- eydaimon [n=eydaimon@unaffiliated/anywho] has quit ["WeeChat 0.3.0"]
06:06 -!- freerobby [n=Adium@209-6-90-125.c3-0.smr-ubr1.sbo-smr.ma.cable.rcn.com]
has quit ["Leaving."]
06:07 < bogen> kuroneko: yeah, defer rocks
06:08 < Null-A> During the talk rob says the from-scratch compiler is 20%
slower on average compared to GCC compiled C code.  Is this compared to -O2, -O3,
?
06:08 -!- bortzmeyer [n=stephane@host-19-21.meeting.ietf.org] has quit
["Leaving."]
06:08 < Null-A> Part of the reason GCC is such a slow compiler is because of
how well it optimizes.
06:08 -!- freerobby [n=Adium@209-6-90-125.c3-0.smr-ubr1.sbo-smr.ma.cable.rcn.com]
has joined #go-nuts
06:09 -!- freerobby [n=Adium@209-6-90-125.c3-0.smr-ubr1.sbo-smr.ma.cable.rcn.com]
has quit [Client Quit]
06:11 -!- necromancer [n=necroman@c-69-142-78-178.hsd1.pa.comcast.net] has joined
#go-nuts
06:11 -!- droid001 [n=g1@p4FDCDB21.dip.t-dialin.net] has quit [Read error: 110
(Connection timed out)]
06:12 < bogen> Null-A: yeah, and another reason is all the silly includes to
get the interfaces.  Yes, I know, ccache and distcc can help solve that issue, but
header files to get interfaces is an abomination in my opinion
06:13 -!- rhelmer [n=rhelmer@adsl-69-107-65-242.dsl.pltn13.pacbell.net] has quit
[]
06:13 < Null-A> Yeah I suppose that helps, in the context of using an API
which requires a certain interface, you still need to include the APIs functions.
06:14 -!- blackmagik [n=blackmag@unaffiliated/blackmagik] has quit [Read error:
104 (Connection reset by peer)]
06:14 -!- ssantino [n=ssantino@c-76-29-212-41.hsd1.in.comcast.net] has quit [Read
error: 104 (Connection reset by peer)]
06:14 < bogen> well, Go gets the interface from the compiled objects
06:14 -!- blackmagik [n=blackmag@c-98-213-173-53.hsd1.il.comcast.net] has joined
#go-nuts
06:14 -!- al-maisan [n=al-maisa@f048160178.adsl.alicedsl.de] has left #go-nuts
["Parting is tough.."]
06:14 < bogen> like delphi pascal does
06:15 -!- lstoll [n=lstoll@randall.lstoll.net] has joined #go-nuts
06:15 -!- bortzmeyer [n=stephane@host-19-21.meeting.ietf.org] has joined #go-nuts
06:15 < bogen> well, maybe not "like", but similar
06:15 < Null-A> it queries the object files for the API function decls?
06:15 -!- slicslak_ [n=slicslac@c-68-50-207-133.hsd1.dc.comcast.net] has quit
[Read error: 113 (No route to host)]
06:16 -!- spooktino [n=ssantino@c-76-29-212-41.hsd1.in.comcast.net] has joined
#go-nuts
06:16 -!- spooktino is now known as ssantino
06:16 -!- Ankit[m] [n=o@117.98.136.130] has quit ["ltr"]
06:16 < bogen> Null-A, yeah, so it does not need to reparse them, they are
already there, cooked and ready
06:16 -!- dragon3 [n=dragon3@122.208.75.82] has left #go-nuts []
06:16 < andguent> Null-A: how well it optimized?  i think you mean: how well
it mutilates your code and miscompiles every shit starting from -O2
06:16 < Null-A> ah cool, so yeah that would speed up compilation quite a lot
=)
06:17 -!- dejones [n=donnie@cpe-24-28-73-216.austin.res.rr.com] has quit [Remote
closed the connection]
06:17 < Null-A> Well..  rob pike compliments the GCC binary output
06:17 -!- bortzmeyer [n=stephane@host-19-21.meeting.ietf.org] has quit [Client
Quit]
06:17 < Null-A> i'll leave the discussion at that
06:17 -!- dejones [n=donnie@cpe-24-28-73-216.austin.res.rr.com] has joined
#go-nuts
06:18 -!- existsec_ [n=existsec@76-228-31-64.lightspeed.frokca.sbcglobal.net] has
quit ["Leaving"]
06:18 < Null-A> bogen: Have you just started playing around with the
compiler yourself?
06:18 < bogen> Null-A: I won't disagree with about the quality of gcc's
output, at all
06:18 < bogen> Null-A: yeah
06:18 -!- samferry [i=sam@unaffiliated/samferry] has quit [Remote closed the
connection]
06:18 < Null-A> I have to admit, a lot of these concepts aren't new, but its
the first time i've seen them in a 'systems language'
06:18 -!- jchico [n=jchico@user-387hok4.cable.mindspring.com] has quit ["Leaving"]
06:19 < Null-A> erlang's had cheap processes for years
06:19 < Null-A> haskell has a very robust type system, where you can
accomplish similar things to 'interfaces'
06:19 < Null-A> 30 years*
06:19 < dejones> Null-A: So far, my two favorite things about Go are fast
compilation and types-made-easy.  :)
06:20 < dejones> Null-A: I like Haskell, but sometimes I feel the
type-system bogs me down.  :/
06:20 < Null-A> *nods* I really like channels
06:20 < Null-A> and interfaces (as you said)
06:20 < dejones> Null-A: Probably due to my own inexperience with Haskell,
but it is still frustrating.
06:20 < sstangl> Null-A: Concurrent ML had channels for years ;)
06:20 < Null-A> *nods*
06:20 -!- zuhaib [n=zuhaib@netblock-68-183-230-200.dslextreme.com] has joined
#go-nuts
06:20 < bogen> kuroneko: http://nopaste.inside-irc.net/paste/NYexAgj/
interesting uses of defer.  think of defer as a "push this statement on to stack
that is popped and executed when the function returns"
06:20 < Null-A> Actually I think rob was the first person to do channels
with newsqeak in like the 1980s
06:22 < Null-A> cool
06:23 -!- maennj [n=maannj@pool-98-113-42-8.nycmny.fios.verizon.net] has quit []
06:23 -!- maruel [n=maruel_2@google1.osuosl.org] has quit [Remote closed the
connection]
06:24 -!- Tonic1 [n=tonic@222-152-95-52.jetstream.xtra.co.nz] has joined #go-nuts
06:24 -!- hmmb [n=henry@187.2.151.142] has joined #go-nuts
06:25 <+iant> anticw: the ABI is not set in stone, though changing it would
not be trivial
06:26 < Quadrescence> Does this channel support 90s karaoke?
06:26 < anticw> iant: well...  i should maybe ask why it's the way it is,
clearly you more than most people would understand subtleties here
06:27 <+iant> I haven't done much work on that compiler; a big part of the
way it is is because, as I understand it, it does register allocation on a
statement by statement basis
06:27 <+iant> that is fast but obviously limits optimization
06:27 <+iant> and it means that it's hard for it pass registers in
parameters because it would mean that it has to reserve those registers when
computing the other parameters to pass
06:28 < Quadrescence> Come on, Go team, step up to the power of Aldor or
MLton
06:28 <+iant> that is, after computing the first parameter, where do you put
it, if you aren't doing global register allocation?
06:28 < KirkMcDonald> iant: And this can't be helped by the limited number
of registers on x86.
06:28 < anticw> iant: but all that seems more specific to the 6g
implementation, not something more intrinsic
06:28 <+iant> right, well, on 32-bit x86 stack passing is standard anyhow
06:28 < bogen> yeah, that is why the x86_64 one is more mature I think
06:29 <+iant> anticw: yes, it is; gccgo passes parameters in registers
06:29 < anticw> right, but amd64 has more registers
06:29 -!- reid [n=reid@209-6-43-251.c3-0.smr-ubr1.sbo-smr.ma.cable.rcn.com] has
quit ["Leaving"]
06:29 <+iant> gccgo uses the standard ABI for any target
06:29 -!- drusepth`` [n=drusepth@adsl-70-134-52-239.dsl.spfdmo.swbell.net] has
quit [Read error: 110 (Connection timed out)]
06:30 -!- ambv [n=lukasz@c42-76.icpnet.pl] has joined #go-nuts
06:32 < fgb> give me ken's compiler any day
06:32 -!- axisys [n=axisys@ip68-98-177-71.dc.dc.cox.net] has joined #go-nuts
06:32 < anticw> whilst fast compilation is nice ...  i really think it's
value is overplayed
06:32 < fgb> it's not
06:32 < anticw> CPUs are sick fast these days, and we have lots of core to
abuse
06:33 < fgb> how much time do you need to build a linux kernel?
06:33 < anticw> <30s
06:33 < anticw> in fact, it was ~30s when i did it in 2003
06:33 < fgb> I need 6.5secs in a q8200
06:33 -!- BMeph [n=BMeph@65.103.151.24] has quit ["What do you mean
'distractable'?  My mind's like a steel --Ooh, Shiny!"]
06:33 < fgb> (with ken's c compiler)
06:33 -!- mbuf [n=mbuf@118.102.130.6] has joined #go-nuts
06:33 < blasdelf> dirty tree with no changes, right?
06:34 < Null-A> bogen: Another interesting defer
http://nopaste.inside-irc.net/paste/aHvdIL/
06:35 < bogen> fast compilation is only one side effect of the way Go gets
it's interfaces from objects.  Another side effect is that layering can't be
broken (At least I hope not, because then a project turns to spaghetti).  In other
words, for me, a decent programming language should not support the following:
package A depends on package B depends on package C depends on package D depends
on package B
06:35 < Null-A> I wonder how does Ken's compiler compare to TinyC which is
pretty fast too
06:35 -!- ineol [n=hal@mar75-9-88-171-191-168.fbx.proxad.net] has quit []
06:36 < anticw> it's interesting to strace various channel abuse cases ...
there are NO os calls at all in some cases, it's done entirely in the run-time if
things are blocking all over the place
06:36 < Null-A> TinyCC compiles "859000lines/sec"
06:36 -!- RazvanM [n=RazvanM@dazzler.isi.jhu.edu] has quit [Read error: 113 (No
route to host)]
06:36 < andguent> fgb: didnt know kencc can compile the linux kernel?  do
you got any resources for that?
06:36 < fgb> you know it's not linux's kernel
06:37 < andguent> fgb: ah.
06:37 < dejones> It is still so surprising to me to see closures in a
language that superficially looks like C. :
06:37 < dejones> :)
06:37 -!- bortzmeyer [n=stephane@219.163.11.104] has joined #go-nuts
06:37 < fgb> null-a, I can compile something big like gs and show you the
numbers
06:38 < blasdelf> dejones: C has closures too -- Apple's blocks in clang and
gcc
06:38 < Null-A> fbg: like lines/sec?
06:38 < anticw> gcc for something like the kernel isn't that bad on modern
hardware, gcc is dog slow but CPUs are fast and cores plentiful
06:38 < Null-A> sure
06:38 < anticw> link dominates often
06:38 < bogen> Null-A: yeah, but that lock/unlock example won't protect the
"Do some logic"
06:38 < fgb> null-a, like mk all
06:38 < fgb> err, time mk
06:38 < bogen> defer's are done with the function returns
06:38 < dejones> blasdelf: Hmm, never heard of Apple's blocks.
06:38 <+iant> As I understand it, Apple's blocks are not as powerful as Go's
closures; I know for sure that gcc's closures are not as powerful as Go's
06:39 < bogen> hmm
06:39 < blasdelf> yes, Go's are far more powerful
06:39 < Null-A> bogen: why not?
06:39 < dejones> blasdelf: how more powerful?
06:39 < bogen> Null-A: Well, I'll try it
06:39 < dejones> iant, blasdelf: How are Go's closures more powerful?
06:39 < fgb> anticw, it's also crappy code and header bloat as well
06:40 <+iant> dejones: you can create a closure which refers to variables in
the enclosing function, and then return the closure
06:40 < Eridius> iant: err yes, that's kind of the definition of a closure
06:40 < blasdelf> dejones: always-on garbage collection for all atoms makes
a big difference :)
06:40 < Eridius> iant: Blocks can do that
06:40 < dejones> blasdelf: Ha, definitely.  :)
06:40 <+iant> Eridius: my understanding is that they can not refer to
variables in the enclosing function after the enclosing function has returned
06:41 < Eridius> iant: sure they can - the compiler moves those variables
into heap storage when the block is copied
06:41 < blasdelf> iant: unless they are objects
06:41 < bogen> Null-A: hmmm....  ok, I'm confused on that lock/unlock, I
thought I knew how defers worked
06:41 < Null-A> bogen: lol ;)
06:41 <+iant> Eridius: can you just return the block?
06:41 <+iant> If so, I am mistaken; sorry
06:41 < Eridius> iant: no, the block is a stack object by default.  But you
can return a copied version of the block
06:41 < Eridius> return [myBlock copy]
06:41 < Eridius> or return Block_copy(myBlock)
06:41 <+iant> so similar but not the same
06:42 < bogen> Null-A: Oh, the expression is partially evaluated
06:42 < Eridius> teh copy takes it off the stack, puts it in the heap, and
moves all referenced __block variables into the heap
06:42 <+iant> and are the __block variables in the heap shared with other
closures in the same enclosing function?
06:42 < Null-A> bogen: it has to evaluate the inner arguments of the
function, since, the expression might not be valid during function return
06:42 < bogen> yeah
06:42 < Eridius> iant: yes
06:42 <+iant> ok
06:42 < Eridius> iant: the __block storage class is required to make the
variables mutable, and to share the variable with the enclosing scope
06:42 -!- kaib [n=kaib@216.239.45.130] has quit []
06:42 < Eridius> if you don't use __block, the block actually copies the
value of the variable when it's created
06:42 < bogen> Null-A: yeah, like my example with the for loop
06:43 -!- necromancer [n=necroman@c-69-142-78-178.hsd1.pa.comcast.net] has quit
[Read error: 60 (Operation timed out)]
06:43 <+iant> It sounds more awkward than it is in Go
06:43 < Eridius> a bit, but that's the consequence of living in a C world,
and one that must support manual memory management
06:43 < blasdelf> iant: for sure, and the syntax is much noisier
06:43 < kongtomorrow> iant: awkward in implementation or in use?
06:44 <+iant> kongtomorrow: in use, I know nothing about the implementation
06:44 < kongtomorrow> the user doesn't really need to know all of what
Eridius just said
06:44 < Eridius> yeah, especially if you're in a GC world
06:44 -!- Alfarin [n=Alfarin@unaffiliated/alfarin] has quit []
06:44 < kongtomorrow> to the user, it's just that a captured variable works
the way you'd expect
06:44 < Eridius> if you're in GC, all you really ahve to know is that you
need to give variables the __block storage class if they're supposed to be mutable
within the block
06:44 <+iant> having to know to use the __block storage class seems like
something the user has to know
06:45 -!- lgarron [n=Adium@DN800c140d.Stanford.EDU] has joined #go-nuts
06:45 -!- Tonic1 [n=tonic@222-152-95-52.jetstream.xtra.co.nz] has quit [Connection
timed out]
06:45 < kongtomorrow> ah.  true enough, though that's sort of intended.  if
you don't use that storage class, variables are captured by copying, as a
snapshot.
06:45 -!- turutosiya [n=turutosi@219.106.251.65] has quit [Success]
06:45 < kongtomorrow> which is also thought of as a feature.
06:45 < Eridius> well, it prevents a lot of accidental state-sharing
06:45 < Eridius> having everything be mutable would let you easily shoot
yourself in the foot when using GCD
06:46 <+iant> since I used to use Scheme, I tend to think of the state
sharing as the point
06:46 <+iant> maybe that is just me
06:46 < Eridius> iant: it would be like in Go, having all your goroutines
trying to write to the same map.  That's not exactly a good idea
06:46 < kongtomorrow> iant: if the point is to grab a block and throw it
over to another thread to be performed, it's often a snapshot that you want.
06:46 < Null-A> When are you passing mutable data through channels, when are
you not?  maps are mutable?
06:47 <+iant> we're still talking about closures, right?  If I name a
variable, I want that variable.  If I want a copy of that variable, I make a copy
of it.  That is just how variables work
06:47 <+iant> to me
06:47 < Eridius> iant: except if you want the variable to be mutable within
the block, this also changes the storage characteristics of the variable in the
function, it's no longer a stack-based object (assuming you copy the block) and
accesses have to go through one layer of indirection
06:47 <+iant> Null-A: maps are mutable, yes, and they can be passed on
channels, yes
06:47 < Eridius> so making them mutable by default has performance
implications
06:48 <+iant> Eridius: What happens in Go is that they move onto the heap if
a closure refers to them, otherwise they stay on the stack
06:48 -!- DeFenderm`n is now known as DeFender|Sleep
06:48 <+iant> this could be better optimized, of course, but currently isn't
06:49 -!- KurtKraut [n=Kurt@unaffiliated/kurtkraut] has joined #go-nuts
06:49 <+iant> the variable only has to be moved on to the heap if the
closure is captured or escapes
06:49 < Eridius> yeah that's what happens with blocks
06:49 < Eridius> but my point is that mutability is usually not required for
the captured variables
06:49 <+iant> sure
06:49 <+iant> it's easy to look at the code and see whether the function
changes the variable
06:50 * Eridius wouldl ike to keep discussing this, but must tank an instance in
WoW now ;)
06:50 <+iant> k
06:50 < Null-A> iant: So can you pass a map by value?
06:50 <+iant> my point is just that people are accustomed to how variables
work, and in Go closures they work in the accustomed way
06:50 -!- philosodad [n=paul@adsl-211-143-22.asm.bellsouth.net] has joined
#go-nuts
06:51 <+iant> Null-A: no, maps are a reference type
06:51 < Null-A> Have you guys used go to build any production software?
06:51 < philosodad> hello go-nuts.  May I ask what you are using for an
IDE/Editior?
06:52 < Repent> vim?
06:52 < Null-A> vim
06:52 <+iant> Null-A: no, it is still an experimental language; although
golang.org is running a web server written in Go
06:52 < Repent> you could use anything that can edit text
06:52 < philosodad> I'm wondering if there's an emacs mode
06:52 < Null-A> *nods*
06:52 <+iant> philosodad: see misc/emacs
06:52 < Repent> maybe someone has written that already
06:52 < Yossi> philosodad, paper, pencil, scanner and OCR
06:53 < philosodad> Typically, I use butterflys.
06:53 < philosodad> But I thought I'd get all high tech on this one.
06:54 -!- xk0der [n=xk0der@122.171.5.157] has joined #go-nuts
06:54 < Repent> well, I don't think I will write anything non trivial using
go in near future, so an IDE is overkill for me
06:54 -!- lenst [n=user@90-229-131-67-no52.tbcn.telia.com] has joined #go-nuts
06:54 -!- kcollins [n=kcollins@pool-173-71-105-240.cmdnnj.fios.verizon.net] has
joined #go-nuts
06:54 -!- fgb [n=fgb@190.246.85.45] has quit [Read error: 54 (Connection reset by
peer)]
06:54 -!- chr45 [n=chr45@89.42.89.61] has joined #go-nuts
06:54 -!- wcr [n=wcr@unaffiliated/warcrime] has quit []
06:55 < anticw> the emacs bindings work acceptably for the most part ...
M-X gofmt though is a bit harsh if you have a syntax error
06:55 -!- kcollins [n=kcollins@pool-173-71-105-240.cmdnnj.fios.verizon.net] has
left #go-nuts ["Konversation terminated!"]
06:55 < anticw> the entire buffer is replaced with the error (you can undo
but it's a bit scary the first time)
06:55 -!- temme [n=kcollins@pool-173-71-105-240.cmdnnj.fios.verizon.net] has
joined #go-nuts
06:56 -!- prem_ [n=quassel@117.192.224.65] has joined #go-nuts
06:56 < philosodad> anticw: it used to do that with a LaTeX mode I was
using.  Terror inducing.
06:56 -!- diagonalfish [n=muffin@r57h112.res.gatech.edu] has joined #go-nuts
06:56 < prem_> Hi All,
06:56 < kongtomorrow> iant: if you are curious,
http://clang.llvm.org/docs/BlockLanguageSpec.txt
06:56 -!- ctimmerm [n=ctimmerm@cs71226.pp.htv.fi] has joined #go-nuts
06:57 -!- existsec_ [n=existsec@76-228-31-64.lightspeed.frokca.sbcglobal.net] has
joined #go-nuts
06:57 < Null-A> Where are the destructors?
06:57 -!- anders_ [n=anders@c83-253-2-206.bredband.comhem.se] has joined #go-nuts
06:57 < prem_> I am trying to compile on linux amd64, GOARCH=arm, GOOS=linux
ends up in unable to make arm.o needed by libcgo.so
06:57 < bogen> Null-A, yeah, I was kind of wondering myself
06:58 -!- blackmagik [n=blackmag@c-98-213-173-53.hsd1.il.comcast.net] has quit
[Client Quit]
06:58 <+iant> prem_: that might have been fixed if you hg pull -u
06:58 <+iant> No destructors yet
06:58 < anticw> iant: what's the proposed syntax for that (is there one?)
06:58 <+iant> there isn't one
06:59 < prem_> iant: nope, I did that an hour before, just to confirm i did
it again, no updates from hg
06:59 <+iant> prem_: try just commenting out libcgo in pkg/Makefile, you
only need it for calling C code from Go anyhow
06:59 -!- delza [n=delza@d66-183-63-49.bchsia.telus.net] has quit []
07:00 < bogen> any plans for destructors?  On a similar note, any plans for
a compliment to "init" functions as well?
07:00 < philosodad> also, is go known not to compile/run under OSX 10.4?
The site only mentions .5, .6
07:00 < Null-A> bogen: I imagine they want you to write manual init
functions
07:00 <+iant> bogen: no particular plans at present
07:00 < Null-A> bogen: package.createX()
07:00 <+iant> philosodad: it does not build under 10.4 at present
07:00 -!- delza [n=delza@66.183.63.49] has joined #go-nuts
07:00 < dejones> Is this an error in the function declaration in the docs?
"func (v Vector) DoAll(u Vector) {" from the Paralleization section on
http://golang.org/doc/effective_go.html
07:00 < dejones> ?
07:00 < bogen> Null-A: Go already has proper init and initializor support
07:01 -!- melba [n=blee@unaffiliated/lazz0] has joined #go-nuts
07:01 < dejones> I thought (v Vector) would go after DoAll()
07:01 < philosodad> iant: thanks for the info.
07:01 < prem_> iant: Oh Ok, I did comment out the $(ARCH).o in the Makefile,
it did compile but didnot run gotest resulted in segfault (ubuntu 9.10 i had to
install qemu-arm-static)
07:01 <+iant> dejones: that is a method declaration
07:01 -!- philosodad [n=paul@adsl-211-143-22.asm.bellsouth.net] has left #go-nuts
[]
07:01 < dejones> iant: Oh! Methods have the type first for which they are
creating the method, forgot!
07:02 -!- seank [n=sean@64-184-238-2.mammothnetworks.com] has quit [Read error:
104 (Connection reset by peer)]
07:02 -!- seank [n=sean@64-184-238-2.mammothnetworks.com] has joined #go-nuts
07:02 -!- macjosh [n=jnjosh@cpe-098-026-029-147.nc.res.rr.com] has joined #go-nuts
07:03 -!- chr45 [n=chr45@89.42.89.61] has quit []
07:03 -!- prem_ [n=quassel@117.192.224.65] has quit [Remote closed the connection]
07:03 < dejones> iant: thanks
07:04 -!- kertak [n=kertak@78.233.124.158] has quit ["Changing server"]
07:06 -!- macjosh [n=jnjosh@cpe-098-026-029-147.nc.res.rr.com] has left #go-nuts
[]
07:06 -!- gointrigue [n=metal@173-26-123-183.client.mchsi.com] has joined #go-nuts
07:06 -!- keithcascio [n=keith@Sensitivity.CS.UCLA.EDU] has left #go-nuts []
07:06 < lgarron> There's no preprocessor?
07:07 <+iant> lgarron: right
07:07 < lgarron> Nice.
07:07 < lgarron> But I want more functional programming.  :-/
07:07 < Null-A> Channels facilitate concurrent programming on a single
machine, but how well do these primitives work for distributed computing?  With
erlang communications you can easily scale.
07:07 * andguent gives lgarron a lolly
07:07 <+iant> Null-A: we'll just have to see
07:07 < andguent> lollie even
07:08 < lgarron> andguent: Thanks.  I'll just go learn more Haskell when I
feel like it.
07:08 -!- tudorstr [n=Adium@92.86.128.149] has joined #go-nuts
07:08 <+iant> good night all
07:08 < Null-A> night
07:08 < eno> in "func f4(ch <- chan cmd2) int {", does "ch <= chan
cmd2" mean it's a sending only channel?
07:08 < dejones> iant: g'night
07:08 -!- Lixivial [n=Lixi@71-10-86-62.dhcp.roch.mn.charter.com] has quit [Read
error: 60 (Operation timed out)]
07:08 < bogen> nite
07:09 < Null-A> does rob come here?
07:09 < bogen> lgarron: nothing to prevent you using some other preprocessor
07:09 < dejones> lgarron: I think both Go and Haskell have their appropriate
place.  :)
07:09 < Eridius> Null-A: yes
07:10 < dejones> Null-A: CSP is what Erlang uses, just as Go does, so I
don't see why the channels won't scale, at least conceptually.
07:10 < lgarron> bogen: I don't want to.  But it's nice to see something
like this getting along without preprocessing.
07:10 < alus> is there a way to use select to wait on any one of a dynamic
list of channels?
07:10 < bogen> yeah
07:10 < alus> how?
07:10 < bogen> preproc is a klude "most" of the time
07:11 -!- rob- [n=rob@95-90-45-206-dynip.superkabel.de] has joined #go-nuts
07:11 < Null-A> dejones: Well Erlang has error support if a process fails
for one.
07:11 < dejones> Null-A: Yea, I'm just saying conceptually it should work
fine...  Of course, Go has a long way to go to be as robust as Erlang.
07:11 -!- KurtKraut [n=Kurt@unaffiliated/kurtkraut] has left #go-nuts ["Leaving"]
07:11 < Null-A> dejones: It seems like the only way to expose a channel
interface for network communication is if its typed for empty interface
07:12 < Null-A> *nods*
07:12 < Null-A> Sure on the single-node concurrency, they're pretty
equivilent
07:13 < Null-A> They'd have to change the primitives in a fundamental way to
gain erlang's robustness
07:14 < dejones> Null-A: I think you could define the channel type as a
TCPConn or something related.
07:15 < Null-A> ? The channel type is the data being passed around
07:15 < Null-A> your passing TCPConn?
07:16 < dejones> Null-A: I haven't done it...  just guessing here, but I was
thinking something similar to this "cs := make(chan *os.File, 100); // buffered
channel of pointers to Files"
07:16 -!- lgarron [n=Adium@DN800c140d.Stanford.EDU] has quit ["Leaving."]
07:16 < dejones> but rather than a channel of pointers to files, you could
have pointers to TCPConns
07:16 < Null-A> To 100 different nodes?
07:16 < dejones> Sure, if you wanted...heh
07:17 -!- gointrigue [n=metal@173-26-123-183.client.mchsi.com] has quit []
07:17 -!- zhanxw [i=44205e2b@gateway/web/freenode/x-edzsmqxvyfjpnyjv] has joined
#go-nuts
07:17 -!- SirClueless [n=Clueless@dynamic-oit-vapornet-c-1492.Princeton.EDU] has
quit [Remote closed the connection]
07:17 < Null-A> Yeah I think its a stretch, we'll see.
07:17 < dejones> :)
07:18 < Null-A> Also, Axum by MS does some interesting scheduling of the CSP
07:19 < Null-A> if you have shared data among the Processes, you can specify
which agents are readers, which are writers
07:19 -!- TerMight [n=metal@173-26-123-183.client.mchsi.com] has joined #go-nuts
07:19 < Null-A> and it will always ensure either the readers are running
concurrently, versus the single writer.
07:19 < Null-A> thus no locking is enabled.
07:19 < Null-A> required*
07:19 < Null-A> I suppose with channels, you can do something similar
07:20 -!- binaryjohn [n=binaryjo@cpe-24-30-132-50.san.res.rr.com] has quit []
07:20 -!- hmmb [n=henry@187.2.151.142] has quit [Remote closed the connection]
07:20 < Null-A> attribute chan int; go func(reader chan int, writer chan
int) { switch { <-reader;.  ...  <-writer } }
07:21 -!- tudorstr [n=Adium@92.86.128.149] has quit ["Leaving."]
07:21 < dejones> Interesting.
07:21 < Null-A> you'd have to launch a new process for each attribute, I
hope they're -that- cheap
07:22 < dejones> Null-A: I don't think it is a new process, it's a
goroutine, which is a cheap thread, not an OS thread.
07:22 < dejones> Right?
07:22 < Null-A> *nods* i mean to say goroutine
07:22 -!- erikc [n=erikchar@static-209-139-213-73.gtcust.grouptelecom.net] has
joined #go-nuts
07:23 < dejones> Null-A: Yea, the goroutines should be really cheap, Haskell
GHC run-time does something similar to mapping cheap threads onto OS threads..
07:23 -!- temme [n=kcollins@pool-173-71-105-240.cmdnnj.fios.verizon.net] has quit
[Remote closed the connection]
07:23 -!- bortzmeyer [n=stephane@219.163.11.104] has quit [Read error: 113 (No
route to host)]
07:24 -!- ctimmerm [n=ctimmerm@cs71226.pp.htv.fi] has quit [Remote closed the
connection]
07:25 -!- chr45 [n=chr45@89.42.89.61] has joined #go-nuts
07:25 < Null-A> dejones: amazing they already have benchmarks up for go
http://shootout.alioth.debian.org/u64/benchmark.php?test=threadring&lang=all&box=1
07:25 < Null-A> dejones: compares thread-ring benchmark using goroutines to
the others.
07:26 -!- rob| [n=rob@95-90-45-206-dynip.superkabel.de] has quit [Read error: 110
(Connection timed out)]
07:26 < dejones> Null-A: Wow.  I do think Go is pretty easy so far, which
makes me happy.  The learning curve for Haskell is much steeper...
07:27 < Null-A> Learning is fun though
07:27 < jabb> knowledge is power!
07:27 < dejones> Null-A: Yes, definitely!  :)
07:27 < Null-A> F# might be a good one to start with
07:27 < Null-A> they're ide support rocks
07:27 < dejones> Null-A: I try to avoid the M$ languages, lol.
07:27 < dejones> ;)
07:27 < Null-A> MS does some pretty cool research
07:27 < jabb> has someone made a .vim file for Go? :D
07:27 < Null-A> they're developer tools are awesome
07:28 < dejones> Null-A: No doubt.  I went to MSR research at Cambridge, UK
to work on Haskell GHC.
07:28 < dejones> They are amazing people.
07:28 < Null-A> dejones: So haskell is no longer harder for you then?
07:28 < Null-A> if you did work on the GHC
07:29 < dejones> Null-A: Well, I did mostly run-time system work in C.
Haskell is still challenging for me at times....  those monads, heh.
07:29 < Null-A> lol, i don't know much about monads
07:29 < dejones> Null-A: I worked on profiling stuff for GHC.
07:29 < Null-A> but I get the impression that..  sure the mathematical
theory is complex
07:29 < chrome> evening
07:29 < dejones> Null-A:
http://www.haskell.org/~simonmar/bib/threadscope-09_abstract.html -- that's our
work.
07:29 < Null-A> but honestly...  the implementation can't be that hard to
understand
07:29 < Null-A> its sequential programming for god sakes =)
07:30 < Null-A> people have implemented that for years.
07:30 < Glao> dejones: are you Don Jones?
07:30 -!- Kniht [n=kniht@c-68-58-17-177.hsd1.in.comcast.net] has quit [Connection
timed out]
07:30 -!- TerMight [n=metal@173-26-123-183.client.mchsi.com] has left #go-nuts []
07:30 < dejones> Null-A: Yea, it's not the monad usage, it's the type system
with monads that gets me stuck sometimes.
07:30 < dejones> Glao: Umm, yes, Don Jones is my name.
07:30 < Glao> you in Silicon Valley?
07:30 -!- Kniht [n=kniht@c-68-58-17-177.hsd1.in.comcast.net] has joined #go-nuts
07:30 < dejones> Glao: Nope, Austin, TX. Why?
07:30 < Glao> would love to meet up :)
07:31 -!- Kniht [n=kniht@c-68-58-17-177.hsd1.in.comcast.net] has quit [Remote
closed the connection]
07:31 < dejones> Glao: Ahh, sorry, heh.
07:31 < dejones> I did get a phone call today from a company asking if I
were interested in a job in silicon valley though..  but, I like where I am.  :)
07:31 < Glao> cool
07:31 * Null-A is also in the valley
07:32 < Null-A> I couldn't ever see myself outside of california
07:32 < dejones> Cool.  I do sometimes think that I'm missing out not being
in the Silicon Valley...
07:32 < Null-A> (within the USA)
07:32 < dejones> I had the option of Santa Clara, CA or Austin, TX. I'm
quite happy with Austin, TX. :)
07:32 < Glao> so defectiv: let me ask you
07:33 < Glao> why couldn't you do a lot of the stuff you're talking about
here with Python ?
07:33 < Glao> what application does this have?
07:34 -!- teedex [n=teedex@204.14.155.161] has joined #go-nuts
07:34 -!- Koen_ [n=Miranda@d51A5201A.access.telenet.be] has joined #go-nuts
07:34 -!- chr45 [n=chr45@89.42.89.61] has quit []
07:35 < Glao> dejones: rather
07:35 < Glao> not defectiv
07:35 < Glao> :P
07:35 < dejones> lol
07:35 < dejones> Are you saying what application does Go have over Python?
07:35 -!- chr45 [i=592a593d@gateway/web/freenode/x-rsppvcepygpfwjfq] has joined
#go-nuts
07:36 -!- rob- is now known as rob|
07:36 < Glao> Haskell in this case
07:36 < Glao> reading your paper now
07:36 < Null-A> dejones: are there any big distributed systems libraries for
haskell?
07:37 -!- ambv [n=lukasz@c42-76.icpnet.pl] has quit []
07:37 < Null-A> I'm surprised your anti-MS considering the funding they put
into haskell
07:37 < dejones> Null-A: Umm, I'm not sure.  I know there was some work on
Haskell libraries for clusters, I think it was called Eden.
07:37 < jabb> I get this error when trying to wrap a C library "dwarf.Type
struct private_hwdata reports unknown size"
07:38 -!- ArekZB [n=ArekZB@76-10-138-81.dsl.teksavvy.com] has quit [No route to
host]
07:38 < dejones> Null-A: Well, I'm not exactly anti-MS.  I'm anti
"proprietary" languages.
07:38 < Null-A> but .NET is open source :P ^^
07:38 < dejones> I want the compiler source, etc.
07:38 < dejones> the compiler and libraries are open source???
07:39 < Null-A> lol mono is an open source compiler
07:39 < dejones> haha
07:39 < Null-A> some of the libraries are open source (proprietary license)
07:39 < Glao> mono is terrible leave IRC immidiately
07:39 < dejones> lol
07:39 -!- Thales [n=ths@unaffiliated/helpsys] has quit ["Saindo"]
07:39 < Null-A> and some of the library APIs have been standardized
07:39 < dejones> Just saying that I want a language where I can look at the
source of the compiler and libraries so I can know what is really happening
underneath.  It helps me to learn and optimize.  :)
07:39 < Glao> .NET however is pretty amazing, though I don't like MS stuff
in general
07:40 < Null-A> i think MS is going to dominate the developer communicate,
even more so, in 30years+
07:40 < dejones> Maybe...
07:40 < Boohbah> miguel works closely with msft
07:40 < Null-A> They're building such high level abstractions..  its SOO
much easier to develop in .NET versus C++ e.g.
07:40 < Glao> Null-A: they would love you to think that
07:40 < Null-A> *nods*
07:40 -!- delza [n=delza@66.183.63.49] has quit []
07:40 < Null-A> dejones: I would like that too
07:41 < Glao> yea anyways, dejones, back to our original conversation
07:41 < dejones> Glao: Sure, what's the question again?
07:41 < Null-A> dejones: I'm surprised not a lot of companies don't go
open-source with proprietary licenses, I'd be pretty okay with that.
07:41 < Glao> why go with Haskell ? What does it allow me to do that other
languages don't?  For example, I just built a multi-threaded TCP server in Python
07:41 < jabb> any ideas on my error?
07:41 -!- kertak [n=kertak@78.233.124.158] has joined #go-nuts
07:41 < Glao> why would I go with Haskell?
07:41 < Null-A> Glao: its hard to parallelize languages that aren't side
effect free
07:41 < Glao> will it save me $?  time?
07:42 < Glao> well I'm the CEO and lead developer for a company here, so I
look at both aspects
07:42 < Null-A> glao: do you spawn one os thread per request?
07:42 < Null-A> and the only employee?
07:42 < Null-A> lol what company?  =)
07:42 < dejones> Glao: With Haskell you get a powerful type-system, it is a
pure language (no side-effects) so parallelism is easier to express, it also has
static typing so you catch many errors at compile-time.
07:42 < Glao> v
07:42 < Glao> * Added *!*n=jason@c-76-21-4-0.hsd1.ca.comcast.net to ignore
list
07:42 < Glao> anyways
07:43 < Null-A> poor sport
07:43 < dejones> Glao: http://haskell.org/haskellwiki/Introduction -- Why
Use Haskell?
07:43 < Glao> dejones: right, but are there any benifits in terms of
functionality?
07:43 < dejones> Glao: I think those are benefits in terms of
functionality...
07:43 < Glao> will it allow me to bang out more functionality faster, or
save money on servers, etc
07:43 -!- ArekZB [n=ArekZB@76-10-138-81.dsl.teksavvy.com] has joined #go-nuts
07:43 < Glao> that's what I focus on
07:44 < dejones> Glao: I do think it certainly makes some programming
easier, once you grasp Haskell.  :)
07:44 -!- philcrissman [n=philcris@c-75-72-98-108.hsd1.mn.comcast.net] has quit
[Remote closed the connection]
07:44 -!- ArekZB [n=ArekZB@76-10-138-81.dsl.teksavvy.com] has quit [Remote closed
the connection]
07:44 -!- ArekZB [n=ArekZB@76-10-138-81.dsl.teksavvy.com] has joined #go-nuts
07:44 < Null-A> Python's lack of type safety makes it very hard to develop
large software systems
07:44 < dejones> Glao: I suggest reading the link I gave, they can explain
better than I. :)
07:45 < erikc> learning haskell may also make you a better programmer in
your language of choice
07:45 < erikc> certainly made me a better c++ programmer
07:45 < dejones> erikc: Yep!  More tools in the toolbox!  ;)
07:45 < Null-A> Plus you can use it as a specs language
07:45 < Null-A> or prototyping language
07:45 < Null-A> C++ will never be a prototyping language ^^
07:45 < mkanat> Null-A: Python has types--just not at compile time.
07:45 < Null-A> *nods* I was waiting for some to correct me
07:46 < mkanat> :-)
07:46 < Null-A> Still, compile time type support is a huge aid
07:46 < Jerub> python either has one type, or many, depending on what part
of the type system you're reasoning about.
07:46 < mkanat> Null-A: Agreed.
07:46 < dejones> Once I learned Haskell, I never want another language that
isn't statically typed...
07:47 -!- Aayush [n=Aayush@202.63.242.211] has joined #go-nuts
07:47 < Null-A> Go does a pretty good job
07:47 < dagle> Yeah.
07:48 < dejones> Ah well, I must get some rest, work in the morning...
G'night all.  :)
07:48 < Null-A> I'm so tired of typical OOP type systems, and multiple
inheritance, etc
07:48 < Null-A> me too
07:48 < Null-A> gnight
07:48 < dejones> Cya.
07:48 -!- Snert [n=chatzill@puff.snert.com] has joined #go-nuts
07:48 < Glao> g'night dejones, see you around
07:49 < KirkMcDonald> Anonymous fields don't appear to be transitive.
07:49 -!- Null-A [n=jason@c-76-21-4-0.hsd1.ca.comcast.net] has left #go-nuts []
07:49 < Snert> morning
07:49 < dagle> dejones: Sometings are not easy to do in haskell.
07:49 < KirkMcDonald> Or, it is also possible I'm doing something wrong.
07:49 * KirkMcDonald pokes away at it.
07:49 -!- trickie [n=trickie@94.100.112.225] has joined #go-nuts
07:50 < chrome> KirkMcDonald: transitive?
07:50 -!- eydaimon [n=eydaimon@unaffiliated/anywho] has joined #go-nuts
07:50 < eydaimon> Eridius: got the email?
07:51 < KirkMcDonald> chrome: Never mind.  I was doing something dumb.
07:51 -!- Vershun [n=vershun@174-16-140-142.hlrn.qwest.net] has joined #go-nuts
07:51 < KirkMcDonald> (I needed a & in there.)
07:52 < chrome> yes but, what is 'transitive' in that context
07:52 < chrome> i've not come across that term before
07:52 < KirkMcDonald> chrome: type A struct {} type B struct { A; } type C
struct { B; } // C has A's method set
07:52 < jabb> any ideas on my error?
07:52 < jabb> woops :P
07:53 < chrome> KirkMcDonald: oh, that.  Yeah.
07:53 < chrome> KirkMcDonald: read that in the spec today :)
07:53 -!- xorl [n=xorl@xorl.xen.prgmr.com] has joined #go-nuts
07:53 < chrome> it pays to read the spec line by line.
07:53 < KirkMcDonald> Indeed.
07:53 < chrome> as tedious as that is ..
07:53 < KirkMcDonald> It's the only way to do it.
07:53 < KirkMcDonald> And is honestly not that tedious.
07:54 < Vershun> Spose it's a bit too early to ask if there's any tooling in
development for this language?  :P
07:54 < KirkMcDonald> Vershun: "Tooling"?
07:54 < Vershun> IDE/refactoring tools
07:54 < chrome> KirkMcDonald: many would feel its best to just look at
examples and hack til they "get it right".  (not me)
07:54 -!- keeto_ [n=keeto@121.54.92.149] has joined #go-nuts
07:54 -!- tudorstr [n=Adium@80.97.9.145] has joined #go-nuts
07:55 -!- RazvanM [n=RazvanM@173.75.187.87] has joined #go-nuts
07:55 < KirkMcDonald> chrome: Well.  There's still a certain amount of
hacking 'til it's right involved.  :-)
07:56 -!- jabb [n=grue@76.247.206.215] has quit ["Lost terminal"]
07:57 -!- sobersabre [n=bilbo@85.64.34.22.dynamic.barak-online.net] has joined
#go-nuts
07:57 < xorl> Vershun: only time can tell.  Everything picks up pretty
quickly.
07:57 < sobersabre> hi, is there a vim syntax coloring for go syntax?
07:57 < xorl> missed who asked that
07:57 < xorl> lol
07:58 < KirkMcDonald> sobersabre: misc/vim in the repository.
07:58 < sobersabre> ok.
07:58 < sobersabre> thanks.
07:58 -!- Farhadix [n=Farhadix@unaffiliated/farhad] has joined #go-nuts
07:58 -!- AirCastle [i=inhahe@adsl-074-186-083-219.sip.mia.bellsouth.net] has quit
["my name is luka, i live on the second floor, i live upstairs from you, yes I
think you've seen me before"]
07:58 < sobersabre> when I clone /hg/ do I get misc ?
07:58 < chrome> yerp
07:59 < chrome> gonna write a terminal control library in go i think
07:59 < chrome> don't think wrapping ncurses would be much fun
07:59 < xorl> That would be useful.
07:59 < ivanwong> i heard that someones already started working on a windows
port, where can i find the join force?
08:00 -!- Ishmael [n=ishamael@189.96.205.204] has joined #go-nuts
08:00 -!- itrekkie [n=itrekkie@ip72-200-111-233.tc.ph.cox.net] has joined #go-nuts
08:01 < itrekkie> Is anyone aware of any built-in sorting and searching for
slices or vectors?
08:02 < chrome> use a map?  :P
08:02 < Wiz126> yes, sobersabre, its in cd $GOROOT/misc/vim
08:02 < chrome> (sorry, that was cheeky)
08:03 < Wiz126> you can also find it on
http://code.google.com/p/go/source/browse/misc/vim/go.vim?r=release
08:03 < itrekkie> hey, if a map supports what I want, then I'm all for it :)
08:03 -!- hgolden [n=hgolden@cpe-76-95-167-216.socal.res.rr.com] has quit
["Konversation terminated!"]
08:03 < itrekkie> unfortunately, it isn't the best fit
08:04 < chrome> ooh, textmate bundle for go <3
08:05 < chrome> http://github.com/rsms/Go.tmbundle
08:05 -!- Repent [n=toor@unaffiliated/coconutcrab] has quit ["leaving"]
08:06 -!- red1 [n=red1@211.24.237.3] has quit []
08:07 -!- mac2 [n=whatever@c-67-164-29-94.hsd1.ca.comcast.net] has joined #go-nuts
08:07 -!- drry [n=drry@unaffiliated/drry] has quit ["Server Configuration changed;
reconnect"]
08:08 -!- drry [n=drry@unaffiliated/drry] has joined #go-nuts
08:09 < Vershun> Anyone run into: "/home/Evan/go/src/lib9/jmp.c:40: error:
lvalue required as unary '&' operand"?  (cygwin gcc 4.3.2)
08:09 < Vershun> When compiling from source ./all.bash
08:11 < chrome> Vershun: it's not ported to cygwin yet.
08:11 -!- keeto [n=keeto@121.54.92.149] has quit [Read error: 110 (Connection
timed out)]
08:11 -!- keeto_ is now known as keeto
08:12 < Vershun> Oh that saddens me
08:12 < chrome> meh just run up a virtualbox
08:13 < chrome> i know some peeps are working on a port, too
08:13 < erikc> port to cygwin is a waste of time, cygwin is pretty much dead
08:13 -!- klusias [i=klusias@87.110.86.98] has left #go-nuts []
08:13 < chrome> a windows port that is
08:13 < KiNgMaR> better do a native windows port!  :>
08:13 < mac2> virtualbox is the way to go
08:13 < erikc> KiNgMaR: if they're serious about windows, then native port
is the way to go
08:14 < Vershun> Ah I haven't seen virtualbox before.  Looks neat
08:14 -!- thebusker [n=chatzill@c-67-176-209-73.hsd1.il.comcast.net] has joined
#go-nuts
08:14 < chrome> not sure why people throw monay at vmware anymore :)
08:14 < erikc> especially when you'll want 64-bit
08:15 < mac2> Vershun -> prebuilt virtualbox images
http://virtualbox.wordpress.com/images/
08:15 < mac2> easist way to get started with it
08:15 -!- mbuf is now known as mbuf|away
08:15 < Vershun> I haven't read up on future plans.  Are they going to try
to extend this language for all types of app development or are they just going
for the server/low level apps?
08:15 < Vershun> Thanks mac2
08:17 < Farhadix> in compile returns this error why?
http://pastebin.com/m796bd396
08:17 < chrome> Vershun: They were working towards the open source release,
I don't think they've really made many plans for after that yet.
08:17 -!- Associat0r [n=Associat@h163153.upc-h.chello.nl] has joined #go-nuts
08:18 < chrome> Farhadix: are you behind a firewall?
08:18 < Farhadix> chrome, no, I use tunneling ssh with proxychains
08:19 < Farhadix> Google banned google code for my country
08:19 < chrome> Farhadix: those tests need unhindered network access to
work.
08:19 < chrome> Farhadix: add "http" to the NOTEST list in src/pkg/Makefile
08:20 -!- mbuf|away is now known as mbuf
08:20 < sobersabre> hm...  ok.  I managed to create a makefile for hello
world!
08:20 < sobersabre> :)
08:21 < itrekkie> can a func not be defined for slice because it's not a
named type?
08:24 -!- zuhaib [n=zuhaib@netblock-68-183-230-200.dslextreme.com] has quit []
08:26 < KirkMcDonald> Oh man.  This command-line option parser is actually
starting to work.
08:27 < Eridius> why are you writing an option parser?
08:27 < KirkMcDonald> Mostly as an excuse to do something with Go.
08:27 < Eridius> doesn't the flag package already do that though?
08:27 < KirkMcDonald> But also because I've found the flag package wanting.
08:27 < Eridius> ah
08:28 -!- Koen_ [n=Miranda@d51A5201A.access.telenet.be] has quit [Read error: 60
(Operation timed out)]
08:28 -!- xkpe [n=xkpe@81.84.175.144] has quit [Read error: 104 (Connection reset
by peer)]
08:28 < KirkMcDonald> I've ended up using the reflect package a lot.
08:30 -!- Koen_ [n=Miranda@d51A5201A.access.telenet.be] has joined #go-nuts
08:30 -!- jeremybanks [n=jeremyba@75-119-248-154.dsl.teksavvy.com] has quit [Read
error: 110 (Connection timed out)]
08:31 -!- zhanxw [i=44205e2b@gateway/web/freenode/x-edzsmqxvyfjpnyjv] has quit
["Page closed"]
08:31 < Farhadix> chrome, thanks
08:32 -!- tudorstr [n=Adium@80.97.9.145] has left #go-nuts []
08:33 < chrome> i think its a bad idea to include network tests that connect
to external systems during build
08:33 < chrome> my machine at work has no route to the internet
08:33 -!- lotrpy [n=lotrpy@202.38.97.230] has joined #go-nuts
08:34 -!- Malwyn [n=Lilith@220-253-88-7.QLD.netspace.net.au] has joined #go-nuts
08:34 < Malwyn> holy blithering crap
08:34 -!- shambler [n=sil@213.184.241.199] has joined #go-nuts
08:34 -!- Weetbix [n=chatzill@dsl-220-235-182-165.wa.westnet.com.au] has quit
[Client Quit]
08:34 < alus> Malwyn: really
08:34 < Farhadix> it's tru
08:34 < Malwyn> lots of people.
08:34 < Malwyn> EVERYBODY GET NAKED LIKE IT'S 1999
08:34 < Farhadix> s/tru/true
08:34 -!- lotrpy [n=lotrpy@202.38.97.230] has quit [Client Quit]
08:34 < hd_> how long has this channel been open ?
08:34 < chrome> Malwyn: I'm already naked
08:34 < chrome> Malwyn: I always code naked.
08:34 < Malwyn> chrome, pics or it didn't happen.
08:35 < Malwyn> male or female?  :o
08:35 < sfuentes> hd_: 1972?
08:35 < mac2> must make you popular at work
08:35 -!- sea-gull [n=sea-gull@95-28-13-185.broadband.corbina.ru] has joined
#go-nuts
08:36 -!- neopallium [n=neopalli@S0106000476f5a6cb.vc.shawcable.net] has joined
#go-nuts
08:36 < chrome> ah man, I could mess with you right now, but I really
couldn't be bothered.
08:36 < Malwyn> female i take it.  :(
08:36 < Malwyn> damn it.
08:36 < hd_> chrome, he was about to mess with you
08:36 < Malwyn> hd_, shhh!
08:36 < hd_> I recommend that you don't answer :O
08:36 < hd_> especially if you are male
08:36 < Malwyn> >:[
08:37 < chrome> let me ask my wife..
08:37 -!- teedex [n=teedex@204.14.155.161] has quit [Remote closed the connection]
08:37 < Malwyn> you ruin everything, hd_!
08:37 < Malwyn> you're the worst dad ever!
08:37 < dpb> hd_: are you discriminating gay people?
08:37 < Malwyn> dpb, oh, all the time!
08:38 < alus> yeah, are you homosexual and picky?
08:38 < Malwyn> living in #freebasic has become a nightmare.
08:38 < Malwyn> they're always picking on me.  :(
08:38 < Malwyn> banning me.
08:38 < hd_> you're in there right now
08:38 < Malwyn> telling me i'm not welcome to use their awesome, yet
hilariously non-portable language...
08:38 < chrome> don't confused non-portable with not-ported
08:39 < hd_> nice point
08:39 < Malwyn> it's written largely in x86 assembler, and freebasic.
08:39 -!- turutosiya [n=turutosi@219.106.251.65] has joined #go-nuts
08:39 < alus> man someone should make a language called freekevin
08:39 < Malwyn> DOS/Linux/Win32 (no OSX) is not portable by today's
standards.
08:39 < hd_> this isn't #freebasic, I am sure they don't appreciate this
kind of spam :S
08:40 -!- erikc [n=erikchar@static-209-139-213-73.gtcust.grouptelecom.net] has
left #go-nuts []
08:40 < dpb> Yeah, talk about Go, not freebasic.
08:40 -!- Rock4eveR [i=Rock4eve@unaffiliated/rock4ever] has joined #go-nuts
08:40 < Malwyn> hd_, what the hell do i care?  google makes a new language
that'll fizzle about in the larger market like .NET, and everyone else continues
to work with C and C++?
08:40 < Malwyn> Why does the world need another language?  D:
08:41 < Malwyn> Why does the world need another language modelled on C?
08:41 <+danderson> see the language design faq.  It's explained.
08:41 < hd_> are there any performance benchmarks (such as the language
shootout) using go ?
08:41 < Malwyn> i'd like to see google investing in freebasic.  :<
08:42 < Malwyn> nobody loves freebasic.
08:42 <+danderson> hd_: there are a couple of benchmarks in the source tree,
but I don't think alioth has set up the shootout yet.
08:42 < dpb> hd_:
http://shootout.alioth.debian.org/u64/benchmark.php?test=all&lang=go&box=1
08:42 < sfuentes> Malwyn: do you *really* believe the world does not need
anymore new languages ever?
08:42 < dpb> danderson: they have
08:42 < dagle> Malwyn: Because we limbo lovers wanted to program outside
inferno?  :)
08:42 < Malwyn> sfuentes, nah.  I'm mostly trying to tick people off.
08:42 <+danderson> dpb: aha, nice.  Thanks.
08:42 < hd_> sweet, thanks for the info and link
08:42 -!- xk0der [n=xk0der@122.171.5.157] has quit [Read error: 104 (Connection
reset by peer)]
08:42 < dagle> Then google blessed us with go.  <3
08:42 < Malwyn> languages are neat and all, but i'm not sure what the point
is if they'll fall out of common usage within five years or so.
08:43 -!- xk0der [n=xk0der@122.171.5.157] has joined #go-nuts
08:43 < Malwyn> C and C++ are okay languages.  The upper end of average, but
they're portable to every major chip and platform in existence.
08:43 < sfuentes> Malwyn: its called progress
08:43 < JBeshir> It's a pity benchmarks seem to show it as not quite
matching the 10-20% slowdown given in the presentation.
08:44 < JBeshir> Maybe that'll be after optimisations, or something.
08:44 < Malwyn> progress for the sake of progress doesn't usually end well.
08:44 <+danderson> JBeshir: the current GC implementation hurts a lot
08:44 * Malwyn coughKDE4cough
08:44 < Malwyn> now on to more important things...
08:44 < Malwyn> WHO WANTS TO MAKE OUT
08:44 <+danderson> Please stop making noise just for the sake of it.
08:44 * dagle is waiting for a port of the ken thompson compiler to plan 9.
08:45 < chrome> Malwyn: when people like rob pike and ken thompson decide
they want a new language, and go off and build it, people take notice.
08:45 < JBeshir> danderson: That's "good", in that it's planned to be fixed.
08:45 < sfuentes> dagle: are you serious?
08:45 < dagle> sfuentes: Yes.
08:45 < Malwyn> i wonder what rob pike and ken thompson look like naked...
08:45 < Malwyn> seriously though, why haven't i been banned yet?
08:45 < Malwyn> there's like, 300 people here, and not so much as a kick?
08:45 < chrome> because people can see through your trolling
08:46 -!- mode/#go-nuts [+o danderson] by ChanServ
08:46 -!- mode/#go-nuts [+b *!*n=Lilith@*.QLD.netspace.net.au] by danderson
08:46 -!- Malwyn was kicked from #go-nuts by danderson [Your wish is my command.]
08:46 < chrome> lol
08:46 < dagle> sfuentes: He wrote the compiler in plan 9 etc.
08:46 -!- mode/#go-nuts [-o danderson] by danderson
08:46 < chrome> danderson: you rock.
08:46 < Rock4eveR> he said kick, not ban lol
08:47 < Rock4eveR> anyway..  it will be fun...
08:47 <+danderson> no no, he wondered about a ban, just at the same time
that I was wondering about one.
08:48 < Rock4eveR> oh i see...
08:48 <+danderson> JBeshir: back to the optimization topic, I also recall
iant yesterday mentioning better code generation for the compiler, which would
likely help as well
08:48 -!- mg [n=mg@daimi-pat.daimi.au.dk] has joined #go-nuts
08:48 -!- Floppy [n=stranded@ool-18bf4330.dyn.optonline.net] has quit ["and while
I bring in every dink in the kingdom with open wings...it all boils down to them
shit-soaked pigs"]
08:49 -!- mainman__ [i=d5cba85b@gateway/web/freenode/x-orpvgiiqopvduups] has
joined #go-nuts
08:49 <+danderson> ideally, alioth should also set up a shootout with gccgo,
but the gccgo runtime is currently incomplete, which will also likely have awful
results
08:49 -!- ivan__ [n=ivan@95.87.216.153] has joined #go-nuts
08:49 < JBeshir> Ah, that'd be good.
08:49 < dagle> go school() , cya.
08:49 -!- depood [n=hidden@80.108.55.214] has quit ["leaving"]
08:49 < chrome> the compiler isn't anywhere near where they want it yet, is
it?
08:49 <+danderson> that's correct as far as I know
08:49 < dagle> I can use the go syntax irl!
08:50 -!- Rock4eveR [i=Rock4eve@unaffiliated/rock4ever] has left #go-nuts
["later...  asp.net exam :S"]
08:50 < JBeshir> Poor soul.
08:50 -!- jA_cOp [n=yakobu@ti0043a380-3093.bb.online.no] has quit ["Bye"]
08:50 <+danderson> with the new runtime common to 6/8g and gccgo, things
might perk up a bit
08:50 <+danderson> then again, this is why go was released as an
experimental language, not a finished product :)
08:50 < chrome> so, currently trying to figure out how to write my own
packages
08:50 -!- Lixivial [n=Lixi@71-10-86-62.dhcp.roch.mn.charter.com] has joined
#go-nuts
08:51 -!- attacke [n=darven@owlbox.net] has joined #go-nuts
08:51 < attacke> <- nuts
08:51 -!- attacke [n=darven@owlbox.net] has left #go-nuts []
08:51 -!- depood [n=depood@chello080108055214.19.11.vie.surfer.at] has joined
#go-nuts
08:51 < JBeshir> It's a promising language, it really just needs to beat out
higher level languages like Java for performance to justify the additional work
caused by not having the language abstract away things like "you can't really
insert into arrays in random places"; that said, it has about a year at the least
before it's even fair to try to compare it, maybe more, heh.
08:52 -!- p0g0_ [n=pogo@unaffiliated/p0g0] has joined #go-nuts
08:52 < chrome> the argument that its not good enough because it doesn't
have Java feature X or C++ feature Y is complete bunk, imho.  It's not trying to
implement every pet language feature.  It's trying to implement enough to be
useful and not get in the way.
08:52 -!- ambv [n=lukasz@83-238-74-161.ip.netia.com.pl] has joined #go-nuts
08:53 <+danderson> no, but reaching the performance goals they set out is
important though
08:53 < chrome> Much like you can get an awful lot of things done in C right
now, go is trying to build on that by extending the language where it makes sense,
improving the runtime and getting rid of some things that are bad.
08:53 < chrome> the tools are fresh, I totally don't care about performance
right now, I'm more interested in how easily I can get stuff done in it.
08:54 <+danderson> given Go's feature set and general sanity, I'll take a
10-20% hit compared to C, but not the 2-29x hit currently :)
08:54 < JBeshir> danderson: Exactly.
08:54 <+danderson> but as I said, work in progress and all that.
08:54 < hd_> chrome, have you written anything in go yet ?
08:54 < chrome> hd_: yes
08:54 < leadnose> what is the plan on generics?  is it going to be included
at some point or is it considered unimportant for this kind of language?
08:54 < JBeshir> leadnose: I think it's kinda being thought on.
08:54 < chrome> hd_: a telnet talker:
http://www.stupendous.net/archives/2009/11/12/google-go/
08:55 <+danderson> leadnose: see the language design faq: both generics and
exceptions are being considered, but they're not quite sure how to get them in
cleanly.
08:55 < chrome> leadnose: rob mentioned generics will be addded at soe
point, but they are still working on the details.
08:55 < mainman__> my hope about go is to have a smarter multi-thread
replacement for my python stuff, instead have to extend in c++ (but that with
boost is quite simple).  and also working with pointers is a plus for me.
08:55 < JBeshir> Good exceptions would be nice, but cleanness is a must.
08:55 < leadnose> when
08:56 < leadnose> damn my fingers
08:56 -!- mac2 [n=whatever@c-67-164-29-94.hsd1.ca.comcast.net] has quit [Client
Quit]
08:56 <+danderson> later :)
08:56 -!- p0g0__ [n=pogo@unaffiliated/p0g0] has quit [Read error: 113 (No route to
host)]
08:56 -!- jaxdahl2 [i=foobar@cpe-70-112-126-227.austin.res.rr.com] has joined
#go-nuts
08:56 <+danderson> seriously, iant mentioned last night that all their
current timelines terminated at the open source release
08:56 <+danderson> they now have to make a plan for the next steps
08:57 < chrome> for me, I've always wanted a few things in C that go does
well; 1) method sets in go, give you a level of OOP without making it overbearing.
2) goroutines simplify concurrency without having to mess with posix threads
manually 3) channels make message passing between threads simple.  Its not like
you can't
08:57 -!- kaigan|work
[n=kaigan@c-8290e255.1411-10-64736c14.cust.bredbandsbolaget.se] has joined
#go-nuts
08:57 < chrome> do any of this in C today; you can - it's just not very
elegant.
08:57 < leadnose> somehow it seems that generics would be pretty big thing
to add to C-like language
08:57 < chrome> (or fun)
08:58 < sfuentes> is there a vim syntax hl for go?
08:58 < KirkMcDonald> I am finding myself missing generic functions.
08:58 <+danderson> leadnose: that's the thing.  The Go language designers
have worked hard to keep features orthogonal to each other.  Generics complicate
this somewhat.
08:58 < chrome> sfuentes: misc/vim
08:58 < sfuentes> thank you
08:58 < mainman__> chrome: uhm but for critical stuff a garbage collected
lang is not so good
08:58 -!- Lysholm [n=emil@trl167078.ka.hist.no] has joined #go-nuts
08:58 < mainman__> performance critical i mean
08:58 < chrome> mainman__: tell that to all the java programmers out there
writing critical server apps in java.
08:59 < chrome> or python, or perl
08:59 < mainman__> kk, performance critical ;)
08:59 -!- turutosiya [n=turutosi@219.106.251.65] has quit [Connection timed out]
08:59 < KirkMcDonald> danderson: Have you looked at D's implementation of
templates at all?
09:00 < chrome> mainman__: there is an app at my work written by a previous
guy in perl that is in a "performance critical" part of the platform.  It runs
fine, even though it's GCd.
09:00 < KirkMcDonald> D's templates are probably the strongest part of that
language.
09:00 < JBeshir> mainman__: The Recycler is supposed to improve that, with a
maximum delay of some small number of ms
09:00 < mainman__> chrome: for my work is quite impossibile ;) working with
RT protocol detection stuff.
09:00 < no_mind> if garbage colector is written properly, it rarely
interferes in the functioning of app
09:01 < JBeshir> Which is still unacceptable for some purposes, but they're
fringe
09:01 < KirkMcDonald> (Leaving aside the A!(B) syntax for instantiating
templates.)
09:01 < chrome> rob thinks they can get the gc to perform well
09:01 < chrome> if he says he can, I am inclined to believe him :)
09:02 < chrome> (currently , it doesn't, apparently)
09:02 < mainman__> JBeshir: that's good.  if they reach that goal , i'll
replace my python stuff with go, but not my c/c++ core stuff
09:02 < no_mind> without gc how do you handle dangling memory ? and
leaks....
09:02 < JBeshir> no_mind: Various ways.
09:02 < sfuentes> mainmain_: well if you *really* mean perf crtical then you
must really mean asm
09:03 < limec0c0nut> no_mind: You don't.  Or you code your app properly in
the first place.
09:03 < mainman__> sfuentes: asm if i not trust my compiler, be sure i've
seen how that stuff are assembled many times ;)
09:03 < JBeshir> Strictly procedural/organised (in terms of programming
methods) allocation/deallocation of memory, autopointers in C++...
09:03 < limec0c0nut> A GC simply won't be there to catch you when you fall.
09:03 < no_mind> limec0c0nut, if majority of programmers were like that :(
09:04 -!- fivebats [n=anonymou@c-76-115-189-78.hsd1.or.comcast.net] has quit []
09:04 < sfuentes> lime: you mean one without *any* bugs?  ...  as if that
was possible for any significantly large system
09:04 < limec0c0nut> no_mind: Well, I should hope most programmers write
correct programs.  But a GC won't fix poor programming ability.
09:04 -!- jaxdahl [i=foobar@cpe-70-112-126-227.austin.res.rr.com] has quit [Read
error: 110 (Connection timed out)]
09:05 < limec0c0nut> sfuentes: That's not what I meant at all.
09:05 < KirkMcDonald> I now have a util.go in my package, which contains two
functions: One for appending to a []string, the other for appending to a []int.
09:05 < sfuentes> lime: its not ability ....  its called being human
09:05 < chrome> KirkMcDonald: how do you write custom packages?
09:05 < chrome> term.go:1: package term; expected main
09:05 < chrome> ^ I get whingyness
09:05 < sfuentes> you can't possibly account for every single mem alloc
09:05 < JBeshir> chrome: You create them like that.
09:05 < KirkMcDonald> chrome: With vim and make.
09:05 < JBeshir> chrome: You can't use them alone, though, because the
main() function goes in package main
09:05 < JBeshir> I believe.
09:06 < limec0c0nut> sfuentes: I don't get your point.  In the general case,
proving a program correct is undecidable.
09:06 < KirkMcDonald> chrome: 6g -o package.6 foo.go bar.go
09:06 < chrome> well I want main in main.go and some other stuff in term.go
09:06 < KirkMcDonald> chrome: So you make two packages.
09:06 < chrome> and I want to compile it all into a single executable at
some point
09:06 < sfuentes> lime: what?  where did you hear that?
09:06 < KirkMcDonald> chrome: The main package and the "term" package.
09:06 < chrome> to test
09:06 < limec0c0nut> sfuentes: Yes, people are going to screw up.  I take it
you're saying it's easier in a non-GC language?
09:06 < JBeshir> chrome: Right; your main package imports the term package
09:06 < chrome> but then later I want to make term.go a standalone package
09:06 < limec0c0nut> sfuentes: Look up the halting problem.
09:07 < JBeshir> chrome: I don't think you can do that.
09:07 < sfuentes> lime: proving a program correct is not a halting problem
09:07 < JBeshir> If by standalone, you mean compilable and such
09:07 < limec0c0nut> sfuentes: It most certainly is.
09:07 -!- yetifoot [n=yetifoot@unaffiliated/yetifoot] has joined #go-nuts
09:07 < yetifoot> i'm going nuts!
09:07 -!- atsampson [n=ats@94.193.50.45] has joined #go-nuts
09:07 < limec0c0nut> sfuentes: Wait, I think we have different definitions.
09:07 < KirkMcDonald> chrome: So: 6g -o test.6 test.go && 6g -o main -I.
main.go && 6l -o main main.6 test.6
09:07 -!- paraboul [n=para@local.weelya.com] has quit ["This computer has gone to
sleep"]
09:07 < KirkMcDonald> chrome: Or, better yet, a Makefile.
09:08 < chrome> Makefiles, I can do
09:08 < limec0c0nut> sfuentes: It is impossible to prove what whether a
given program will halt, in the general case.  Now define "correct" as "it halts"
and you have the halting problem.  They are equivalent.
09:09 < leadnose> I hope my OS is an incorrect program.
09:09 < KirkMcDonald> chrome: Actually, I made a mistake in that.
09:09 < JBeshir> Technically, wouldn't that make "correct" a superset of it?
09:09 < limec0c0nut> Not a mathematically rigorous explanation, but close
enough.
09:09 < sfuentes> lime: i don't define correct as "it halts"
09:10 < chrome> KirkMcDonald: is there a concept of header files?
09:10 < limec0c0nut> sfuentes: It is impossible to prove what a given
program will do.  Simple as that.
09:10 < limec0c0nut> sfuentes: For trivial programs, you can do it.  Not for
meaningful ones.
09:10 < Eridius> limec0c0nut: it's impossible for a general turing machine.
You can certainly prove what more limited programs will do
09:10 -!- hebroon [n=hebroons@p57bdc5.hkidnt01.ap.so-net.ne.jp] has joined
#go-nuts
09:10 < limec0c0nut> Eridius: Agreed.
09:10 -!- cankoy [i=5e3600f0@gateway/web/freenode/x-xbmcdwyiviqqvkgd] has joined
#go-nuts
09:11 < chrome> mmm, resh pineapple.
09:11 < chrome> *fresh
09:11 < andguent> every physical computer is just as powerful as a fsm
09:11 * andguent ducks and runs
09:11 -!- depood [n=depood@chello080108055214.19.11.vie.surfer.at] has quit
[Remote closed the connection]
09:11 < KirkMcDonald> chrome: The .6 files are the header files.
09:11 < KirkMcDonald> chrome: They are also the object files.
09:12 < KirkMcDonald> chrome: http://paste.pocoo.org/show/150375/
09:12 < chrome> so, order of compilation is important.
09:12 < KirkMcDonald> chrome: Sort of.
09:12 -!- depood [n=depood@chello080108055214.19.11.vie.surfer.at] has joined
#go-nuts
09:13 < KirkMcDonald> chrome: The main package depends on the term package.
So the term package needs to exist in order to compile main.
09:13 < chrome> ok think I have it working, thanks
09:13 < exch> compiling a non-main package seems to keep tripping over the
lack of 'main()' being defined.
09:13 < KirkMcDonald> chrome: The key thing here is that the main package
doesn't depend on term.go, it depends on the term *package*.
09:14 < chrome> http://paste.pocoo.org/show/150377/ <-- thats my makefile
09:14 < chrome> just need to build term.6 first ;)
09:15 -!- npe [n=npe@195.207.5.2] has joined #go-nuts
09:16 < KirkMcDonald> chrome: This isn't necessarily how I would write the
makefile.
09:16 < KirkMcDonald> chrome: I'd do it more like this:
http://paste.pocoo.org/show/150378/
09:17 < KirkMcDonald> chrome: Notice how I have main.6 depend on main.go and
term.6.  Then term.6 depends on term.go.
09:17 < chrome> yeah you specify the dependencies manually.
09:17 < KirkMcDonald> I would say, I specify them correctly.  :-)
09:17 < chrome> really, make should just figure it out somehow.
09:17 < chrome> we need a new make tool for go!
09:17 < KirkMcDonald> Packages do not work the same way in Go as object
files do in C.
09:18 < chrome> a gomake that looks at the source and figures out the
dependencies would be a little awesome.
09:18 < KirkMcDonald> Each package statically links to the packages it
depends on.
09:18 < chrome> gake?
09:18 < KirkMcDonald> chrome: Can't be done.
09:18 < chrome> mago?
09:18 < chrome> oh you're such a naysayer
09:18 < KirkMcDonald> chrome: Welll.
09:18 < KirkMcDonald> chrome: I take that back.
09:18 < KirkMcDonald> chrome: Given a complete list of the source files, it
could be done.
09:18 < chrome> I don't mind if I have to give it some hints.
09:18 < chrome> like, that.
09:19 -!- Lysholm [n=emil@trl167078.ka.hist.no] has quit [Read error: 104
(Connection reset by peer)]
09:19 < KirkMcDonald> And, hey!  There's a Go parser in the library.
09:19 < chrome> my point exactly.
09:19 < KirkMcDonald> So it could be written in Go.
09:19 < chrome> see!
09:19 < mainman__> should be nice
09:19 < chrome> Would be a nice little project for someone.
09:19 -!- ivan__ [n=ivan@95.87.216.153] has quit ["leaving"]
09:20 < KirkMcDonald> This was something D did particularly well, actually,
since it had a 1:1 correspondence between modules and source files.
09:20 < chrome> btw, making gofmt run on every build is fun ;)
09:20 < KirkMcDonald> So there are a variety of build tools which you just
point at the module with the main function, and it does the rest.
09:20 < olegfink> there's no "load" in exp/ogle for now, is it?
09:20 < alus> gofmt is such a great idea.
09:20 < olegfink> *is there
09:20 < alus> every language should have one
09:21 < blasdelf> alus: especially since it's tabs forever!
09:21 * alus stabs blasdelf
09:21 < alus> oh, you said -tabs-
09:21 < Eridius> stupid hard tabs..
09:22 < limec0c0nut> I'm confused.  Say you have a struct.  All you need to
do to implement an interface is define its functions, with that struct as the
receiver?  Right?
09:22 < npe> alus, Eridius: why the tab hate?
09:22 < KirkMcDonald> limec0c0nut: Sure.
09:22 < limec0c0nut> Then why does this not compile?
http://pastebin.com/d3c80986a
09:23 -!- alabala [n=ivan@95.87.216.153] has joined #go-nuts
09:23 < Eridius> npe: it causes alignment issues when editors don't use the
same size for hard tabs
09:23 -!- triplez [n=triplez@203.92.122.206] has joined #go-nuts
09:23 < Eridius> maybe not so much in Go given the lack of wrapped
statements
09:23 < Eridius> but definitely in other languages
09:23 < KirkMcDonald> limec0c0nut: Remove the * on line 17.
09:23 < olegfink> Eridius: it only causes issues when people mix tabs with
spaces.
09:24 < Eridius> there's a decent tradeoff, which is use hard tabs to indent
up to the scope level, and spaces to indent the wrapped line after that, but no
editor I know of actually implements that
09:24 -!- defectiv [n=clays@c-24-5-65-40.hsd1.ca.comcast.net] has quit ["This
computer has gone to sleep"]
09:24 < Eridius> olegfink: no it causes issues if you have a wrapped line
that needs to be aligned somehow with the previous line
09:24 < Eridius> such as in Obj-C when you align the first colon
09:24 < Eridius> because if you change tab size, your alignment breaks
09:24 -!- srdjan [n=srdjan@84.88.50.46] has joined #go-nuts
09:24 < limec0c0nut> KirkMcDonald: It works!  But new() returns a pointer,
and my TestAll() function takes an object.  What's going on?
09:24 -!- paraboul [n=para@82.231.24.149] has joined #go-nuts
09:24 < KirkMcDonald> limec0c0nut: For a struct type T, the method set of *T
includes T, but not vice-versa.
09:24 < npe> Eridius: I see what you're saying for lispy/smalltalky
languages, not so much for go.
09:25 < Eridius> npe: like I said it probably doesn't apply to Go, but it's
still left a distaste for hard tabs in me
09:25 < KirkMcDonald> limec0c0nut: So I believe that if you put that * back
on line 17, and remove the * on line 10, it will work.
09:25 < olegfink> the usual rule is to always align one tab further, that
might not look excellent, but it allows everything to work well with tabs, and yes
it's a minor issue for C-like languages, especially concise ones.
09:26 < npe> Eridius: fair enough, do you use a proportional or fixed width
font for go?
09:26 -!- kw- [n=aevirex@d91-128-61-101.cust.tele2.at] has joined #go-nuts
09:27 < limec0c0nut> KirkMcDonald: I kind of see.  But I thought methods (or
whatever Go calls them) took pointers?  As in, func (t *T) name() { }
09:27 < Eridius> npe: I always edit sourcecode in fixed-width font
09:27 < KirkMcDonald> limec0c0nut: No, they do not have to take pointers.
09:27 < limec0c0nut> KirkMcDonald: What's the difference between that and
func (t T) name() { }
09:27 < limec0c0nut> ?
09:27 < Eridius> olegfink: "align one tab further" doesn't work for Obj-C.
The standard rule there is to line up the first colon on the subsequent line with
the first colon on the preceeding line
09:27 < npe> Eridius: you an emacser?
09:27 < KirkMcDonald> limec0c0nut: The difference is precisely the same as
having T vs.  *T as a function parameter.
09:27 -!- rmt [n=rmt@ip-90-187-105-22.web.vodafone.de] has quit [Read error: 110
(Connection timed out)]
09:28 < limec0c0nut> KirkMcDonald: How interesting...  thanks!
09:28 -!- bortzmeyer [n=stephane@219.163.11.104] has joined #go-nuts
09:28 < KirkMcDonald> limec0c0nut: Also note what I was saying earlier: func
(t T) name() means that "name" is part of T's method set, and *T's method set
includes the method set of T.
09:28 < Eridius> npe: for command-line stuff, yeah
09:29 < Eridius> npe: I tend to prefert TextMate for most languages and
Xcode when working with Obj-C
09:29 < limec0c0nut> KirkmcDonald: That's a lot of help, thanks again.
09:29 < npe> Eridius: you use the TextMate bundle for go?
09:29 < KirkMcDonald> limec0c0nut: But func (t *T) name() means that "name"
is part of *T's method set, and T's method set does *not* include the method set
of *T.
09:30 < Eridius> npe: I just installed it yesterday.  I haven't had a chance
to actually program in go yet, besides reading the tutorial and effective go and
playing with the examples in effective go
09:30 * Eridius has been busy with work
09:30 -!- dRiZzle [n=dRizzle@77.221.236.236] has joined #go-nuts
09:30 < Eridius> and of course I don't have any good ideas for what I should
use go to program, besides the old standby (IRC bot)
09:31 < KirkMcDonald> Eridius: Write a Diplomacy adjudicator.
09:31 < limec0c0nut> KirkMcDonald: Got it.
09:31 -!- TheExit [n=dark@bas1-ottawa10-1279302916.dsl.bell.ca] has joined
#go-nuts
09:32 < npe> Eridius: do you have p9p?
09:32 -!- Koen_ [n=Miranda@d51A5201A.access.telenet.be] has quit [Read error: 104
(Connection reset by peer)]
09:32 < alus> Eridius: write an ORM :D
09:32 < Eridius> npe: I don't know what that is
09:32 < Eridius> alus: an object-relational mapping?
09:32 < alus> Eridius: yes
09:32 < Eridius> in a language without objects?  :p
09:33 < npe> Eridius: http://swtch.com/plan9port/
09:33 < alus> what!  Go is highly object oriented
09:33 < olegfink> Eridius: ok, but go is probably much more concise than
obj-c.
09:33 < Eridius> alus: what other object-oriented language lacks
inheritance?
09:33 < Eridius> olegfink: perhaps
09:33 -!- alabala [n=ivan@95.87.216.153] has quit ["Leaving"]
09:33 < Eridius> npe: I've never even looked at plan9 before
09:34 < olegfink> am I just crazy or does warn() in gc just do nothing?
09:34 < alus> Eridius: interfaces solve the need for inheritence
09:34 < blasdelf> Eridius: Self, Javascript, etc.
09:34 < Eridius> alus: I didn't say they don't
09:34 -!- mg [n=mg@daimi-pat.daimi.au.dk] has left #go-nuts ["ERC Version 5.3 (IRC
client for Emacs)"]
09:34 < npe> Eridius: go is derived from p9p to a great extent, a lot of the
editing design choices(tabs etc...) come from editing in acme/sam.
09:35 < Eridius> blasdelf: bah, I suppose JavaScript is an object-oriented
language even though it uses prototypes instead of class inheritance
09:35 < blasdelf> Eridius: since Go is static unlike the prototype-based
languages, you can't clone
09:35 -!- vadux [n=vadux@92.243.167.110] has joined #go-nuts
09:35 < KirkMcDonald> Anonymous fields provide the "inheritance" of
functionality from one type to another.
09:36 < blasdelf> See Alan Kay's bon-mot that messaging is the true meaning
of OO
09:36 < KirkMcDonald> And interfaces provide type-based polymorphism.
09:36 < limec0c0nut> KirkMcDonald: Sorry to harp on this.  Is there a way to
write a function that takes a pointer-to-interface parameter?  Like func name(i
*Interface) {}?
09:36 < Eridius> yeah, I'm just arguing this for the sake of arguing it
09:36 < KirkMcDonald> limec0c0nut: This is valid syntax, certainly.
09:37 -!- slava [n=slava@li13-154.members.linode.com] has joined #go-nuts
09:37 < chrome> limec0c0nut: you can do that, if you want your func to be
able to operate on any Type that implements your Interface
09:37 < chrome> limec0c0nut: its one of the Cool Things I like about go.
09:37 < limec0c0nut> chrome: I do want it to do that.  But I keep getting
"cannot use new(TestStruct) (type *TestStruct) as type *TestInt"
09:38 < chrome> yeah you need to cast it
09:38 -!- hanse [n=hanse@93-82-7-36.adsl.highway.telekom.at] has joined #go-nuts
09:38 < chrome> sec
09:38 < KirkMcDonald> limec0c0nut: Just use "TestInt" as opposed to
"*TestInt".
09:38 -!- asyncster [n=asyncste@206.169.213.106] has joined #go-nuts
09:38 < limec0c0nut> KirkMcDonald: I need to take a pointer.
09:38 < KirkMcDonald> limec0c0nut: You're passing it a *TestStruct.
09:38 < KirkMcDonald> limec0c0nut: This is already a pointer.
09:39 < limec0c0nut> KirkMcDonald: So...  oh, I see.  Wow, I need to think
hard on this.
09:39 -!- someone235 [n=someone2@unaffiliated/someone235] has joined #go-nuts
09:39 < chrome> limec0c0nut: can you pastie the whole thing?
09:39 -!- ineol [n=hal@88.171.191.168] has joined #go-nuts
09:39 < chrome> (not paste, pastie.org)
09:39 < someone235> hello
09:39 < limec0c0nut> chrome: Thanks, but I got it :)
09:40 < chrome> ah cool
09:40 < sfuentes> chrome: where you able to actually get go.vim syntax to
work?
09:40 < KirkMcDonald> sfuentes: It works great.
09:40 < KirkMcDonald> sfuentes: Need help with it?
09:40 < vadux> hi all.  does somebody know how to fix this error
http://pastie.org/696999
09:40 < someone235> GO is a language with full compiler, or it is an half
interpreter (like JAVA/.NET)
09:40 < someone235> ?
09:40 < KirkMcDonald> someone235: It compiles to machine code.
09:40 < someone235> nice
09:41 < sfuentes> KirkMcDonald: for some reason its not working for me
09:41 < alus> real machine code, instead of virtual machine code
09:41 < blasdelf> someone235: and a heavyweight VM is no more an interpreter
than the bare metal in your machine
09:41 < alus> unless you're running Go in a VM
09:41 -!- Borfy [n=Borf@5356B30E.cable.casema.nl] has quit [Client Quit]
09:41 < KirkMcDonald> sfuentes: Copy it to ~/.vim/syntax/go.vim
09:42 < sfuentes> KirkMcDonald: tried that.  didn't work
09:42 < KirkMcDonald> sfuentes: Then create a file ~/.vim/ftdetect/go.vim
containing the following: au BufRead,BufNewFile *.go set filetype=go
09:42 < sfuentes> let me try that
09:42 < KirkMcDonald> The syntax file merely informs vim how to highlight
the "go" filetype.  That au command informs vim that files with a .go extension
should use the "go" filetype.
09:45 < sfuentes> KirkMcDonald: thank you very much buddy.  works now
09:45 -!- neopallium [n=neopalli@S0106000476f5a6cb.vc.shawcable.net] has left
#go-nuts ["Leaving"]
09:46 -!- Thorn [n=thorn@unaffiliated/thorn] has joined #go-nuts
09:47 -!- Borf [n=Borf@5356B30E.cable.casema.nl] has joined #go-nuts
09:47 -!- Ioneye [n=ioneye@unaffiliated/ioneye] has joined #go-nuts
09:48 < vadux> hi all.  does somebody know how to fix this error
http://pastie.org/696999
09:48 < vadux> i am very appreciate your help
09:49 -!- Ishmael [n=ishamael@189.96.205.204] has quit [Read error: 145
(Connection timed out)]
09:51 -!- GeDaMo [n=gedamo@212.225.108.57] has joined #go-nuts
09:51 -!- AlHafoudh [i=0fc3b952@gateway/web/freenode/x-ifwhqjhzgciesfht] has
joined #go-nuts
09:51 < AlHafoudh> hi all
09:52 -!- Marco [n=ishamael@189.0.30.160] has joined #go-nuts
09:52 < AlHafoudh> i get this compile error when i try to compile go:
http://pastebin.ca/1669696
09:53 -!- Borf [n=Borf@5356B30E.cable.casema.nl] has quit ["@(·_·)@"]
09:53 -!- sirob [n=nicolas@83.212.108.191] has quit ["leaving"]
09:54 -!- sowa [n=sowa@85.214.104.79] has joined #go-nuts
09:55 -!- m-takagi is now known as m-takagi_
09:55 -!- xur1z [n=chris@118-92-206-22.dsl.dyn.ihug.co.nz] has quit []
09:56 -!- xur1z [n=chris@118-92-206-22.dsl.dyn.ihug.co.nz] has joined #go-nuts
09:57 -!- srdjan [n=srdjan@84.88.50.46] has left #go-nuts []
09:57 -!- asyncster [n=asyncste@206.169.213.106] has quit [Read error: 110
(Connection timed out)]
09:57 < sea-gull> vadux:
http://code.google.com/p/go/issues/detail?id=22&q=8g&colspec=ID%20Type%20Status%20Owner%20Summary
09:57 < sea-gull> vadux: you can try make.bash instead of all.bash
09:57 < vadux> sea-gull:i will try, thank you very much
09:59 -!- someone235 [n=someone2@unaffiliated/someone235] has left #go-nuts
["Reality is that which, when you stop believing in it, doesn't go away"]
09:59 < vadux> sea-gull: it really help
09:59 < vadux> helps
10:00 < GeDaMo> AlHafoudh: has it created the compiler and linker in $GOBIN?
10:01 -!- Borf [n=Borf@5356B30E.cable.casema.nl] has joined #go-nuts
10:01 -!- Amaranth_ [n=travis@ubuntu/member/Amaranth] has joined #go-nuts
10:01 < AlHafoudh> GeDaMo: yes, i tried the hello world
10:02 -!- Amaranth [n=travis@ubuntu/member/Amaranth] has quit [Read error: 113 (No
route to host)]
10:05 -!- nexneo [n=niket@115.108.175.41] has joined #go-nuts
10:06 -!- vadux [n=vadux@92.243.167.110] has quit [Client Quit]
10:06 < evilhackerdude> is there a public wave fo Go stuff?  :)
10:08 < alus> hahah
10:09 < alus> some please write a Wave client in Go, so that it isn't so
slow :/
10:09 < GeDaMo> alus: you're someone :P
10:09 < alus> someone who has used Wave and believes that it can be fast,
see above
10:09 < alus> :P
10:10 -!- rhaggert [n=rhaggert@pool-173-69-176-242.bltmmd.fios.verizon.net] has
quit [Read error: 113 (No route to host)]
10:10 -!- jack_ [n=jack@streamcore.pck.nerim.net] has joined #go-nuts
10:11 -!- teop2k [n=teop2k@89.232.105.25] has joined #go-nuts
10:11 < KiNgMaR> alus: "slow" as in "messages are delayed" or as in "my
browser is rendering it way too slow"?
10:11 -!- jack___ [n=jack@streamcore.pck.nerim.net] has joined #go-nuts
10:11 < alus> KiNgMaR: the later.  in Chrome, no less
10:11 -!- jack_ [n=jack@streamcore.pck.nerim.net] has quit [Client Quit]
10:12 < KiNgMaR> heh ok :>
10:12 -!- nihilis [n=nihilis@217.117.2.129] has joined #go-nuts
10:12 < alus> why have a browser in C++ so you can run HTML and CSS and
Javascript to implement an app?  just write it all in a fast and reasonable
language :D
10:12 < chrome> KirkMcDonald: i created a wikia, might be useful to dump
commonly asked questions
10:13 < chrome> KirkMcDonald:
http://golang.wikia.com/wiki/Syntax_Highlighting
10:13 < nihilis> alus: like?
10:13 < uriel> 10:09 < alus> someone who has used Wave and believes
that it can be fast, see above
10:13 < uriel> alus: such a person is clearly clinically delusional
10:13 < alus> heh
10:13 < Maddas> alus: a protocol can't really be slow :-)
10:13 < uriel> Maddas: yes it can, specially if it uses xml
10:13 < alus> nihilis: well, Go is my proposal, because that's the topic
here
10:14 < Maddas> uriel: no, it can at most preclude efficient implementation
10:14 < GeDaMo> AlHafoudh: how up-to-date is your copy of Go?
10:14 < Maddas> uriel: the difference is significant
10:14 < alus> Maddas: Wave is an overloaded term.  it is both an application
and a protocol
10:14 < Vanadium> wave does not use enough xml to preclude fast
implementations
10:14 < alus> like BitTorrent :D
10:15 < Maddas> alus: Yeah, but if you rewrite it in Go it's a different
application :-)
10:15 -!- Marco [n=ishamael@189.0.30.160] has quit ["Leaving"]
10:15 < alus> Maddas: sure.  I didn't say what you should call the rewrite
10:15 < wollw> GeDaMo: hg pull in $GOROOT
10:15 < alus> Maddas: uWave?  ;)
10:15 < GeDaMo> wollw: my Go is up-to-date :P
10:15 < KiNgMaR> yeah, once wave opens up for everyone it won't be too long
until some decent desktop apps surface
10:15 < exch> \o/ I has Go syntax highlighting for gedit
10:15 < alus> that's µWave
10:15 < wollw> oh, right, sorry :)
10:16 < wollw> i read that very differently than you typed it
10:16 < GeDaMo> Actually, I just updated it and it passed all tests which it
didn't do a couple of days ago
10:16 < Vanadium> Cannot wait for γWave, moving at speed of light~
10:16 -!- Ishmael [n=ishmael@189.0.30.160] has joined #go-nuts
10:16 < GeDaMo> I guess development is continuing :P
10:16 < wollw> Is there a changelog somewhere?
10:16 < KiNgMaR> :D
10:17 < uriel> Vanadium: xml, as evil as it is, is just a small part of
wave's fundamental flaws and problems, in any case, this is offtopic
10:18 < uriel> exch: can you send me a copy of whatever gedit uses for
syntax highlighting?
10:18 < vsmatck> exch: I am intersted in this as well!
10:19 < KiNgMaR> btw, anybody working on a Go IRC lib yet?
10:19 < Vanadium> I hope not
10:19 < JBeshir> I started something halfassed to learn the language.
10:19 < JBeshir> (IRC is incredibly easy to implement)
10:20 < JBeshir> (Well, c2s)
10:20 < KiNgMaR> yeah, that's kinda what I was (am) going to do as well
10:20 < KiNgMaR> should be fun :>
10:20 < JBeshir> http://pastebin.com/m55eff7cb <-- This is what I already
wrote.
10:20 < JBeshir> It connects, responds to ping, etc.
10:21 < nihilis> alus: Funny how when something new is released, we have a
billion advocates.
10:22 < vsmatck> You'll have a billion haters soon.  Don't you worry.
10:22 -!- nexneo [n=niket@115.108.175.41] has quit []
10:22 < KiNgMaR> "byte_count, _ = irc_conn.Write" <-- what does the
underscore do again?
10:22 -!- Lysholm [n=emil@trl167078.ka.hist.no] has joined #go-nuts
10:22 < vsmatck> What's that quote, "there are languages people complain
about, and there are languages people don't use".  Something like that.
10:23 < wollw> KiNgMaR: ignores the return in that spot i believe
10:23 < JBeshir> KiNgMaR: Oh, yeah.  That sends error messages to nowhere.
10:23 -!- rakd [n=rakd@61.206.119.47.static.zoot.jp] has joined #go-nuts
10:23 < JBeshir> It needs to properly handle errors, too, that's the *most*
halfassed part of it.
10:23 -!- kota1111 [n=kota1111@gw2.kbmj.jp] has quit ["Leaving..."]
10:23 < JBeshir> It's a good side of the language that the way I'm ignoring
them is obvious like that, heh.
10:23 < KiNgMaR> isn't that the most halfassed part in every project?  haha
10:23 < GeDaMo> "There are only two kinds of languages: the ones people
complain about and the ones nobody uses." -- Bjarne Stroustrup
10:24 < slava> what was the rationale for not having exceptions?
10:24 < vsmatck> Ahh!  I'm a C++ programmer.  I should have known who said
that.  :)
10:24 < uriel> GeDaMo: ah, so I guess it is good so many people are making
silly complaints about Go :)
10:25 < kongtomorrow> slava:
http://golang.org/doc/go_lang_faq.html#exceptions
10:25 < GeDaMo> The question is will people still be complaining about it in
six months time?  :P
10:25 < uriel> GeDaMo: I'm sure of it
10:25 < nihilis> slava: It's in planning, iirc.
10:25 < uriel> no it isn't
10:26 -!- rmt [n=rmt@dslb-092-074-078-247.pools.arcor-ip.net] has joined #go-nuts
10:26 < uriel> and I hope it is never implemented, exceptions are a silly
idea
10:26 < JBeshir> The problem is that all the alternatives suck here.
10:26 < uriel> anyway, the issue is addressed on the design faq
10:26 < JBeshir> Explicit checks everywhere for errors are ugly.
10:26 < uriel> JBeshir: not really
10:26 < GeDaMo> Is there a wiki for Go code yet?
10:26 < wollw> http://golang.wikia.com/
10:27 < JBeshir> Yeah, really; five lines of "if" after any one-line
instance of I/O is pretty ugly
10:27 < GeDaMo> THanks :)
10:27 < wollw> other than that I don't know
10:27 < JBeshir> Exception handling requires careful design everywhere and
lets errors which don't need to, crash the whole program, because it's not obvious
which functions may return them.
10:28 < JBeshir> What would be need would be some kind of "call this
function, allowing these exceptions" syntax, so it's obvious and explicit in a
call.
10:28 < GeDaMo> So is 'golang' the official search term?
10:28 < JBeshir> But that'd be horribly long.
10:28 < garbeam> just do classic error handling, Go is not Java
10:28 < JBeshir> s/need/neat/
10:28 -!- rmt_ [n=rmt@dslb-092-074-072-074.pools.arcor-ip.net] has joined #go-nuts
10:29 < uriel> exch: can you send me the syntax file for gedit?
10:29 -!- wmrowan [n=wmrowan@wmrowan.Stanford.EDU] has joined #go-nuts
10:29 < JBeshir> garbeam: I don't even know Java.
10:29 < wollw> I suppose the proper way to handle form requests in a go cgi
program is with the http package?
10:29 < garbeam> JBeshir: well which lang do you use then?
10:30 -!- ruda [n=ruda@200-180-176-25.paemt706.dsl.brasiltelecom.net.br] has
joined #go-nuts
10:30 -!- ruda [n=ruda@200-180-176-25.paemt706.dsl.brasiltelecom.net.br] has quit
[Remote closed the connection]
10:30 < blasdelf> wollw: yes, fuck cgi, use HTTP end-to-end
10:30 -!- wmrowan [n=wmrowan@wmrowan.Stanford.EDU] has left #go-nuts []
10:31 < JBeshir> garbeam: Started on C, used others that allowed exceptions.
10:31 < wollw> blasdelf: can't say I know what that is, i'm just mucking
around with web stuff at the moment
10:31 < JBeshir> garbeam: I'm no fan of "the invisible goto", but
traditional error checking and passing back up a chain of functions is cumbersome.
10:32 < JBeshir> Less so due to multiple return values, but...
10:32 -!- ericmaxey [n=ericmaxe@c-98-203-198-10.hsd1.wa.comcast.net] has quit
["This computer has gone to sleep"]
10:33 < slava> so go's approach to error handling is to greenspun the Either
monad
10:33 < JBeshir> It'd be nice if the Go peoples think of something to
simpify the process, or make it syntactically shorter/cleaner.
10:33 < garbeam> JBeshir: it's only cumbersome if done inconsistently, but
the same applies to exceptions
10:33 < JBeshir> garbeam: I disagree with that assertion.
10:34 < blasdelf> wollw: the idea is that intead of using some bs
intermediary protocol, you just use webservers, and reverse proxies as neccessary
(like nginx) to deal with the real clients
10:34 < wollw> ah
10:34 -!- sg [n=sg@83.231.47.162] has joined #go-nuts
10:34 < sg> hi
10:34 < garbeam> JBeshir: traditional C style always returns int as error
code, and takes some pointer for the result, that is quite consistent to me
10:34 < slava> the compiler is nice and fast and generates decent code
10:35 < JBeshir> garbeam: Tradktkl a.
10:35 < garbeam> JBeshir: imagine Go gets exceptions, half of the code
doesn't use it -> big mess
10:35 < JBeshir> *Traditional C style is not consistent.
10:35 < JBeshir> garbeam: That was not your assertion.
10:35 < blasdelf> JBeshir: Go is intentionally *unsimplifying* classic error
handling
10:36 < nsz> classic error handling?
10:36 < garbeam> JBeshir: well traditional C style is more consistent than
most other styles, particularly C++ styles ;)
10:36 < alus> unsimplifying?
10:36 < nsz> abort()?  :)
10:36 < blasdelf> replacing global error variables and whatnot
10:36 < JBeshir> garbeam: You asserted "It was only cumbersome if done
inconsistently".  This was what I disagreed with.
10:36 -!- hanse [n=hanse@93-82-7-36.adsl.highway.telekom.at] has quit [Remote
closed the connection]
10:36 < blasdelf> alus: making it explicit instead of glue
10:36 < JBeshir> blasdelf: I agree with that, explicit is good
10:37 < garbeam> JBeshir: well I really can't see the difference in
switch(error) { ...  } and try { } catch(some) { } catch(some other) { } apart
from syntactic sugar
10:37 < JBeshir> garbeam: Passing errors up multiple levels.
10:37 -!- ericmaxey [n=ericmaxe@c-98-203-198-10.hsd1.wa.comcast.net] has joined
#go-nuts
10:37 < slava> garbeam: using raii for resource cleanup
10:37 < blasdelf> I really like that Go uses explicit self for bindings, and
without a cultural fiat to always use 'self' as the identifier
10:37 < garbeam> JBeshir: same applies to exceptions
10:37 < JBeshir> slava: That's already possible.
10:37 < JBeshir> slava: Deferred function.
10:38 < JBeshir> blasdelf: Yeah, that's neat.
10:38 < slava> sure but it takes more work if you write the idiom out by
hand
10:38 < JBeshir> Not really.
10:38 -!- hanse [n=hanse@93-82-7-36.adsl.highway.telekom.at] has joined #go-nuts
10:38 < slava> you can do a lot of things with smart pointers in C++
10:38 < JBeshir> You have to write out the defer function by hand, but you
*don't* have to put it in a wrapper class and make guarantees about how its used
or similar.
10:39 < sg> by the way, slava the computer languages shootout lacks some
factor :(
10:39 < JBeshir> Hmm.
10:39 -!- hyn [n=hyn@p0200e3.tokyte00.ap.so-net.ne.jp] has quit ["Get MacIrssi -
http://www.sysctl.co.uk/projects/macirssi/"]
10:39 < garbeam> well it's a matter of taste and style after all, but I
prefer writing something like this regularly to defer errors: if((result =
somefunc()) != OK) return result;
10:39 < JBeshir> I guess in order to replicate an equivalent exception usage
in Go, you would need to add an ,err return value to every level of functions able
to return the exceptions up
10:40 < alus> garbeam: hork ack glab bleh
10:40 < JBeshir> And at each level, call "if (err != <whatever is
fine>) return <nothing>, err;"
10:40 < dpb> Anyone have plans for a graphical toolkit with Go?
10:40 < JBeshir> Assuming, that is, none of these levels wanted to catch
those exceptions.
10:40 < alus> dpb: I plan to use one when it's out ;)
10:40 < nsz> garbeam: you might need cleanup there too
10:40 -!- triplez [n=triplez@203.92.122.206] has quit []
10:41 < Boohbah> is there a site with useful go programs that is not
golang.org or google.com ?
10:41 < slava> garbeam: right, if you copy and paste some checks after every
subroutine call, you've manually implemented exception handling
10:41 < GeDaMo> Have you looked at exp/draw?
10:41 < JBeshir> Which is at least a lot cleaner than C, in which you do
need to figure a way to merge it into the return values at each level.
10:41 < garbeam> nsz: in C yes, then using local goto's depending on the
complexity
10:41 < dpb> alus :)
10:41 < slava> exception handling makes resource cleanup much easier.  this
is one of the main benefits
10:41 < JBeshir> slava: Deferred statements are better.
10:42 < nsz> slava: yes but how much complexity does it add to language
implementation
10:42 < dpb> Is there any examples of exp/draw usage somewhere?
10:42 < JBeshir> slava: You don't need to put them in wrapper classes and
complicate gaining of the resources and usage.
10:42 < slava> nsz: a language implementation is implemented less often than
it us used
10:42 < nsz> hm..  i rarely use exceptions
10:42 < GeDaMo> dpb: 'exp' means experimental - I don't know what state it's
in
10:43 < blasdelf> slava: exceptions are a bitch when your language is
intentionally nondeterministic
10:43 < garbeam> slava: well it might appear as el cheapo exception
handling, but the control flow is predictable everywhere, whereas with exceptions
you get into problems to predict
10:43 < dpb> GeDaMo: sure, but I just wanted examples of it ;)
10:43 < GeDaMo> I'm trying to get spacewar to compile - it appears to use
draw
10:43 < dpb> ah
10:44 -!- listerine [n=OMG@187-032-068-089.static.ctbctelecom.com.br] has joined
#go-nuts
10:45 -!- yaroo_Messenger [n=yaroo_Me@77.77.75.18] has joined #go-nuts
10:45 -!- yaroo_Messenger [n=yaroo_Me@77.77.75.18] has left #go-nuts []
10:47 -!- keithpoole [n=keithpoo@cpc3-bagu8-0-0-cust84.bagu.cable.ntl.com] has
joined #go-nuts
10:47 < GeDaMo> I can't get draw to compile at the moment
10:48 < dpb> draw compiled quite nicely for me
10:48 < GeDaMo> Did you just go to the draw directory and type make?
10:48 < dpb> on a x86 system
10:48 -!- exclipy [n=exclipy@233.135.70.115.static.exetel.com.au] has joined
#go-nuts
10:48 < dpb> yes
10:48 -!- exclipy [n=exclipy@233.135.70.115.static.exetel.com.au] has left
#go-nuts []
10:49 < GeDaMo> Yes, that doesn't give any errors but when I try to compile
spacewar it says it can't find exp/draw
10:49 -!- bortzmeyer [n=stephane@219.163.11.104] has quit [Read error: 110
(Connection timed out)]
10:50 < dpb> yeah, same here
10:50 < Ycros> tried putting draw on the path
10:51 -!- rmt [n=rmt@dslb-092-074-078-247.pools.arcor-ip.net] has quit [Read
error: 110 (Connection timed out)]
10:51 < Norgg> You need to change the draw makefile.
10:51 < GeDaMo> I've tried giving the compiler -I $GOROOT/src/pkg/
10:51 < Norgg> But it'spacewar is only for nacl anyway.
10:52 -!- keithpoole [n=keithpoo@cpc3-bagu8-0-0-cust84.bagu.cable.ntl.com] has
quit [Client Quit]
10:52 < Norgg> The draw Makefile has "draw" instead of "exp/draw" in the
target.
10:52 < dpb> ah, right
10:52 -!- xk0der [n=xk0der@122.171.5.157] has quit [Read error: 104 (Connection
reset by peer)]
10:53 < GeDaMo> Mine has exp/draw
10:53 < Norgg> But spacewar requires exp/nacl/av and another thing anyway.
10:53 -!- depood [n=depood@chello080108055214.19.11.vie.surfer.at] has quit [Read
error: 60 (Operation timed out)]
10:53 < Norgg> Oh, might have been fixed then?
10:53 -!- xk0der [n=xk0der@122.171.5.157] has joined #go-nuts
10:53 < GeDaMo> Probably, I just updated
10:53 < dpb> GeDaMo: did you make install?
10:53 < GeDaMo> No
10:53 < dpb> try that
10:54 < ned> is there any way to serialize objects , like cpickle or marshal
in python?
10:54 < dpb> compiling exp/nacl/srpc gives me errors now, undefined:
syscall.SYS_IMC_RECVMSG
10:54 < Ycros> ned: gob
10:54 < ned> Ycros, beautiful.  thanks.
10:55 < Norgg> dpb: Yeah, I think it's for nacl only?
10:55 < Ycros> ned: it's used by the rpc package
10:55 < GeDaMo> Obviously still under development
10:55 < ned> Ycros, but it can be used for object persistence too , i'd
imagine?
10:55 -!- keithpoole [n=keithpoo@cpc3-bagu8-0-0-cust84.bagu.cable.ntl.com] has
joined #go-nuts
10:55 < Ycros> ned: yeah, probably
10:56 < mainman__> proposal: add to encoding.binary a method like Cast or
Union or something like that, that fill me struct from a bytearray instead from
io.Reader, what do you think?
10:56 -!- ArekZB_ [n=ArekZB@76-10-138-81.dsl.teksavvy.com] has joined #go-nuts
10:59 -!- plainhao [n=plainhao@mail.xbiotica.com] has quit []
11:02 -!- keeto [n=keeto@121.54.92.149] has quit [Read error: 131 (Connection
reset by peer)]
11:02 < GeDaMo> dpb: are you on 386 or amd64?
11:03 -!- RayNbow [i=kirika@scientia.demon.nl] has joined #go-nuts
11:03 -!- keeto_ [n=keeto@121.54.92.149] has joined #go-nuts
11:03 -!- keeto_ is now known as keeto
11:03 -!- anders_ [n=anders@c83-253-2-206.bredband.comhem.se] has quit ["Leaving"]
11:04 -!- hector [n=chatzill@client-86-0-126-58.nrth.adsl.virginmedia.com] has
joined #go-nuts
11:04 < dpb> GeDaMo: 386
11:04 -!- astrometria [n=matt@host86-129-133-201.range86-129.btcentralplus.com]
has quit []
11:04 < jack___> logout
11:04 -!- jack___ [n=jack@streamcore.pck.nerim.net] has quit ["leaving"]
11:05 < GeDaMo> Ah, ok - I've just been looking in pkg/syscall and there's a
zsyscall_nacl_386.go but no amd64 - I wondered if that might make a difference but
apparently not (I'm on amd64)
11:06 -!- frodenius is now known as fwg
11:07 -!- fwg is now known as frodenius
11:07 -!- Dreamr_3 [n=Dreamer3@96-28-100-3.dhcp.insightbb.com] has quit [Read
error: 104 (Connection reset by peer)]
11:09 < Ishmael> Does anyone here know how to setup the syntax highlight on
emacs?
11:10 < GeDaMo> There are files in $GOROOT/misc/emacs
11:10 < GeDaMo> I have no idea what you do with them :P
11:10 -!- ComonadDessert [n=ksf@2002:55b0:3dad:0:0:0:0:1] has quit [Read error: 60
(Operation timed out)]
11:11 -!- bombuzal [n=sbus@77.75.105.130] has joined #go-nuts
11:11 < Ishmael> Yeah, I tried copying them into my site-lisp folder and
setting up the .emacs file but I got and error
11:12 < GeDaMo> What was the error?
11:12 < Quadrescence> http://a.imagehost.org/0979/2006renee_french.jpg
11:12 -!- ArekZB [n=ArekZB@76-10-138-81.dsl.teksavvy.com] has quit [Read error:
113 (No route to host)]
11:12 -!- ArekZB_ is now known as ArekZB
11:13 -!- gnibbler_ [n=duckman@124-168-57-102.dyn.iinet.net.au] has joined
#go-nuts
11:13 < Ishmael> autoload could not define function go-mode
11:15 -!- Stotherd [n=davidsto@gi0-0.cr1.vg1.core.bfs.wombatfs.net] has joined
#go-nuts
11:15 -!- x2cast [n=alvaro@62.127.222.87.dynamic.jazztel.es] has joined #go-nuts
11:16 -!- roxan [n=roxan@unaffiliated/roxan] has quit [Remote closed the
connection]
11:16 -!- keithpoole [n=keithpoo@cpc3-bagu8-0-0-cust84.bagu.cable.ntl.com] has
quit []
11:17 -!- Cantareus [n=brendon@121-73-186-98.dsl.telstraclear.net] has quit
["Ex-Chat"]
11:20 -!- keithpoole [n=keithpoo@cpc3-bagu8-0-0-cust84.bagu.cable.ntl.com] has
joined #go-nuts
11:21 -!- kongtomorrow [n=kongtomo@17.214.88.220] has quit []
11:22 -!- rakd [n=rakd@61.206.119.47.static.zoot.jp] has quit ["See you..."]
11:23 -!- gnibbler [n=duckman@124-168-51-145.dyn.iinet.net.au] has quit [Read
error: 101 (Network is unreachable)]
11:23 < tsuru> Ishmael: did you follow the instructions at the top of
go-mode-load.el?
11:24 -!- sobersabre [n=bilbo@85.64.34.22.dynamic.barak-online.net] has quit
[Remote closed the connection]
11:24 -!- keithpoole [n=keithpoo@cpc3-bagu8-0-0-cust84.bagu.cable.ntl.com] has
quit [Client Quit]
11:25 -!- ikke [n=ikkibr@unaffiliated/ikkebr] has joined #go-nuts
11:25 < AlHafoudh> GeDaMo: yes, of course
11:25 < GeDaMo> Er ...  "yes, of course" what?
11:26 < Ishmael> tsuru: or, at least I believe I did
11:27 -!- gmurphy [n=gmurphy@203-206-248-145.dyn.iinet.net.au] has joined #go-nuts
11:27 -!- ericmaxey [n=ericmaxe@c-98-203-198-10.hsd1.wa.comcast.net] has quit
["This computer has gone to sleep"]
11:29 -!- Jan_Flanders [n=chatzill@d54C1E33B.access.telenet.be] has joined
#go-nuts
11:31 -!- base3 [n=base3@host81-141-239-146.wlms-broadband.com] has joined
#go-nuts
11:32 -!- lazz0 [n=blee@unaffiliated/lazz0] has joined #go-nuts
11:32 -!- melba [n=blee@unaffiliated/lazz0] has quit [Read error: 54 (Connection
reset by peer)]
11:32 -!- gnibbler_ is now known as gnibbler
11:34 -!- Aayush [n=Aayush@202.63.242.211] has quit [Read error: 113 (No route to
host)]
11:34 -!- ArekZB [n=ArekZB@76-10-138-81.dsl.teksavvy.com] has quit []
11:35 -!- base3 [n=base3@host81-141-239-146.wlms-broadband.com] has left #go-nuts
[]
11:35 -!- base3 [n=base3@host81-141-239-146.wlms-broadband.com] has joined
#go-nuts
11:35 -!- base3 [n=base3@host81-141-239-146.wlms-broadband.com] has left #go-nuts
[]
11:36 -!- kassens [n=kassens@P3106.pallas.wh.tu-darmstadt.de] has joined #go-nuts
11:37 -!- grothendieck [n=user@host81-141-239-146.wlms-broadband.com] has joined
#go-nuts
11:37 -!- ineol [n=hal@88.171.191.168] has quit []
11:37 -!- keithpoole [n=keithpoo@cpc3-bagu8-0-0-cust84.bagu.cable.ntl.com] has
joined #go-nuts
11:37 -!- srdjan [n=srdjan@84.88.50.46] has joined #go-nuts
11:37 < grothendieck> hi, is this channel about go?
11:38 < sowa> Yes.
11:38 < GeDaMo> Google's Go programming language, yes :P
11:38 < sowa> Not Go, the logic game.
11:38 < grothendieck> http://img.4chan.org/b/src/1258111184169.jpg
11:38 < GeDaMo> Or GO! the other programming language
11:39 < binBASH> Go! now including Go Go Gadgets!
11:39 -!- fultilt [n=steve@netblock-66-159-209-175.dslextreme.com] has quit
["WeeChat 0.2.6.1"]
11:40 < TheExit> Issue9-nuts ...hmm :/
11:40 < grothendieck> everyone click on this link:
http://img.4chan.org/b/src/1258111184169.jpg
11:40 < grothendieck> everyone click on this link:
http://img.4chan.org/b/src/1258111184169.jpg
11:40 < grothendieck> everyone click on this link:
http://img.4chan.org/b/src/1258111184169.jpg
11:40 < tsuru> ugh
11:40 -!- triplez [n=triplez@124.155.195.7] has joined #go-nuts
11:40 -!- gmurphy [n=gmurphy@203-206-248-145.dyn.iinet.net.au] has left #go-nuts
[]
11:40 < Quadrescence> grothendieck: gothendieck maybe?
11:41 < grothendieck> this is the best pr0n i have seen in weeks:
http://img.4chan.org/b/src/1258111184169.jpg
11:41 < TheExit> if it wasn't for the Ogle thing, I'd support the "Issue 9"
change on the grounds of hilarious coincidence
11:41 < grothendieck> Quadrescence: what i don't get you
11:41 -!- x2cast [n=alvaro@62.127.222.87.dynamic.jazztel.es] has left #go-nuts []
11:41 < grothendieck> this is the best pr0n i have seen in weeks:
http://img.4chan.org/b/src/1258111184169.jpg
11:41 < Bun> That's great.
11:41 < grothendieck> this is the best pr0n i have seen in weeks:
http://img.4chan.org/b/src/1258111184169.jpg
11:42 < grothendieck> this is the best pr0n i have seen in weeks:
http://img.4chan.org/b/src/1258111184169.jpg
11:42 -!- brunov [n=bruno@190.191.110.64] has joined #go-nuts
11:42 < Bun> Do you have problems with your short term memory?
11:42 < wollw> grothendieck: you really have nothing better to do?
11:42 < Bun> Because you've already said that, you know
11:42 -!- aidecoe [n=aidecoe@2001:470:1f0b:77d:0:0:a1d:3c0e] has quit ["do
niedzieli :-)"]
11:42 < jessta> grothendieck: are you some kind of go-bot?
11:42 < grothendieck> Bun: this link is so great, i want to make sure
eveyone sees it
11:42 < GeDaMo> grothendieck: we saw it before you came in
11:42 -!- nigwil [n=chatzill@59.167.73.225] has quit ["ChatZilla 0.9.85 [Firefox
3.5.5/20091102152451]"]
11:42 < grothendieck> ha!  Ha! good joke
11:42 < jessta> ..the kmart transformers
11:44 < TheExit> I remember those
11:45 -!- sg [n=sg@83.231.47.162] has quit [Read error: 110 (Connection timed
out)]
11:46 < grothendieck>
http://img.4chan.org/b/src/1258111184169.jpghttp://img.4chan.org/b/sr
11:46 < grothendieck>
c/1258111184169.jpghttp://img.4chan.org/b/src/1258111184169.jpghttp:/
11:46 -!- mode/#go-nuts [+o danderson] by ChanServ
11:46 < grothendieck>
/img.4chan.org/b/src/1258111184169.jpghttp://img.4chan.org/b/src/1258
11:46 -!- mode/#go-nuts [+b *!*n=user@*.wlms-broadband.com] by danderson
11:46 -!- grothendieck was kicked from #go-nuts by danderson [die.]
11:46 <@danderson> sorry all, was out to lunch.
11:47 < GeDaMo> Thanks :)
11:47 -!- mode/#go-nuts [-o danderson] by danderson
11:48 -!- rakd [n=rakd@219.117.252.7.static.zoot.jp] has joined #go-nuts
11:48 < GeDaMo> Haas anyone tried this SDL binding?
http://gist.github.com/232088
11:50 -!- Zaba_ is now known as Zaba
11:52 -!- kcyber [n=kcyber@voulgaris.ceid.upatras.gr] has joined #go-nuts
11:53 < fincher> is there any document detailing Go's implementation of
dynamic dispatch?
11:54 -!- bortzmeyer [n=stephane@219.163.11.104] has joined #go-nuts
11:56 -!- keithpoole [n=keithpoo@cpc3-bagu8-0-0-cust84.bagu.cable.ntl.com] has
quit []
11:56 -!- m-takagi_ is now known as m-takagi
11:57 -!- zLuke_ [n=luke@c-68-47-107-41.hsd1.ga.comcast.net] has quit ["Ex-Chat"]
11:57 -!- slava [n=slava@li13-154.members.linode.com] has left #go-nuts []
11:58 < teop2k> I'm sorry if the question is dumb, but is there anything
like macros in Go?
11:59 < tsuru> fincher: I haven't seen such a doc yet, but there is a
one-line blurb about it in go_faq.html
11:59 <+danderson> teop2k: macros in the lisp sense, or the C preprocessor
sense?
12:00 <+danderson> either way, I think the answer is no, although the C
preprocessor could be run on the go source, it's just text substitution.  Go
should hopefully make many uses of the preprocessor unnecessary though.
12:00 -!- triplez [n=triplez@124.155.195.7] has quit []
12:01 -!- hiromtz [n=hiromtz@h150.p027.iij4u.or.jp] has joined #go-nuts
12:01 < teop2k> danderson: well, more in a lisp sense, becouse preprocessor
will be writen anyway:)
12:02 <+danderson> then no, I don't believe there is any way to create new
syntactic constructs at compile time.
12:02 < olegfink> teop2k: there is already a parser and a pretty printer for
go implemented in go
12:02 < fincher> tsuru: that (which I'd already read) simply says that
dynamic dispatch is based on interfaces; it doesn't say how that dynamic dispatch
is implemented.
12:02 < fincher> thanks, though.
12:02 -!- cankoy [i=5e3600f0@gateway/web/freenode/x-xbmcdwyiviqqvkgd] has quit
[Ping timeout: 180 seconds]
12:03 -!- decaf [n=mehmet@217.131.133.73] has joined #go-nuts
12:03 -!- jetienne [n=jerome@ivr94-6-82-230-255-246.fbx.proxad.net] has joined
#go-nuts
12:04 < jetienne> q.  is there some cpu/memory benchmark for go ? compared
to python/ruby for example
12:05 < fincher> jetienne: from the build process, many of the benchmarks
run are names I recognize from the computer language shootout.
12:05 -!- ctimmerm [n=ctimmerm@83.150.80.193] has joined #go-nuts
12:05 -!- frodenius is now known as fwg
12:05 -!- teop2k [n=teop2k@89.232.105.25] has quit [Read error: 54 (Connection
reset by peer)]
12:05 < droid0011>
http://shootout.alioth.debian.org/u64/benchmark.php?test=all&lang=go&box=1
12:05 -!- fwg is now known as frodbot
12:06 < jetienne> thanks
12:06 -!- teop2k [n=teop2k@89.232.105.25] has joined #go-nuts
12:07 <+danderson> jetienne: don't be surprised at the bad current results.
The runtime and compiler in their current form are hurting the language a lot, but
that should be fixed eventually.
12:07 < jetienne> droid0011: those are more about go compilers :) nothing
like is this more efficient than python
12:08 < droid0011> ;)
12:09 < alus> danderson: you realize just about every language says that
about their runtime and compiler :P
12:10 < TheExit> alus I think the point is that go isn't even out the door
at this point
12:10 -!- alabala [n=ivan@95.87.216.153] has joined #go-nuts
12:10 < saati> whats up with go memory useage?  it seems from the shootout
that in most tests even script languages use less
12:10 < TheExit> the regex times kind of show that, for example
12:11 < jetienne> is it fair to say "not usable in prod for at least a year"
?
12:11 -!- hanse [n=hanse@93-82-7-36.adsl.highway.telekom.at] has quit [Remote
closed the connection]
12:12 < dpb> depends if you want to take a risk or not
12:13 <+danderson> alus: yes, but it's actually true in this case.  There
are already plans for a new runtime (concurrent GC, unified runtime between 6g and
gccgo...)
12:13 < jetienne> ok :) so i will answer to myself yes
12:13 <+danderson> and the 6/8g compilers are fast, but produce dumb machine
code in various ways
12:13 <+danderson> jetienne: very likely, yes.
12:14 < alus> danderson: this month?
12:14 < saati> do you plan to use something like llvm or do your own
optimalizations on the long run?
12:14 < hendry> has anyone got
https://go.googlecode.com/hg/src/pkg/http/triv.go running?
12:14 <+danderson> alus: dunno, I'm not on the go team, I just remember
answers that the experts give :)
12:15 <+danderson> saati: no idea.  llvm was rejected way back when, but I
don't think that the go team would oppose an llvm compiler if one were developed.
12:15 < alus> goclang!
12:15 <+danderson> also, note that gccgo could be set up to use the
experimental llvm backend, and voila!  Go frontend, LLVM backend.
12:15 < alus> or what have you
12:15 <+danderson> although that would imply having a complete runtime for
gccgo, which is currently not the case
12:15 <+danderson> (no GC and bad goroutine support)
12:17 < alus> there is also a pencil-and-paper compiler
12:17 -!- teop2k [n=teop2k@89.232.105.25] has quit [Read error: 104 (Connection
reset by peer)]
12:17 < alus> full support, but very slow
12:17 -!- hiromtz_ [n=hiromtz@h150.p027.iij4u.or.jp] has joined #go-nuts
12:17 -!- decaf [n=mehmet@217.131.133.73] has left #go-nuts []
12:17 -!- teop2k [n=teop2k@89.232.105.25] has joined #go-nuts
12:18 < harryv> iirc, somewhere it was said that llvm was tried out, but
compiletime-wise it was too slow.
12:19 -!- anders_ [n=anders@c83-253-2-206.bredband.comhem.se] has joined #go-nuts
12:19 < alus> harryv: but what about runtime?
12:20 < alus> I would be fine with no compile time (like an interpreted
language) in development mode, with "release" builds going slower producing faster
binaries
12:21 < uriel> harryv: also llvm is a rather complex beast
12:22 -!- kw- [n=aevirex@d91-128-61-101.cust.tele2.at] has quit ["leaving"]
12:22 -!- NotDigital [n=sdyoung@vt220.org] has quit ["xy"]
12:23 -!- seymour [i=mike@dsl-244-114-37.telkomadsl.co.za] has quit [Read error:
104 (Connection reset by peer)]
12:23 < kassens> does anyone have an idea for a small (mini) application
written in go?
12:24 < TheExit> kassens: I always write a markov chain type program when
starting out with a new language
12:25 < alus> kassens: XML to json converter
12:25 < kassens> alus: xml doesnt really map to json
12:25 < alus> kassens: delete the parts that don't
12:25 < kassens> but the markov chain sound fun
12:26 < TheExit> the only problem is it doesn't take much advantage of go's
fun features, unless you take a detour...
12:26 -!- freerobby [n=Adium@209-6-90-125.c3-0.smr-ubr1.sbo-smr.ma.cable.rcn.com]
has joined #go-nuts
12:27 < vegai>
http://shootout.alioth.debian.org/u64/benchmark.php?test=all&lang=go&box=1
12:27 < vegai> oh man you guys are fast
12:27 < kassens> yeah, something that could use the goroutines would be
cooler :)
12:28 -!- xk0der [n=xk0der@122.171.5.157] has quit [Read error: 104 (Connection
reset by peer)]
12:28 < TheExit> speaking of features, is it wrong that I overcame the lack
of generics with an interface that just tells me what type I really got?
12:28 -!- xk0der [n=xk0der@122.171.5.157] has joined #go-nuts
12:28 -!- freerobby [n=Adium@209-6-90-125.c3-0.smr-ubr1.sbo-smr.ma.cable.rcn.com]
has quit [Client Quit]
12:28 < Maddas> vegai: Was that sarcastic?  :)
12:28 < TheExit> I really messed up with testing the goroutines
12:28 < TheExit> it didn't occur to me that time.Sleep() would block the
host process
12:29 < TheExit> so I was up to 8000 processes and it crashed
12:30 -!- rog [n=rog@78.151.49.70] has joined #go-nuts
12:30 < TheExit> better to have it read from a channel to keep it running
but not blocked in an host call or just busy waiting
12:31 < vegai> Maddas: partly :)
12:31 < vegai> rather fast in submitting at least something
12:32 -!- evilhackerdude [n=stephan@e181074230.adsl.alicedsl.de] has quit [Read
error: 113 (No route to host)]
12:32 < Maddas> vegai: ah, so the real-world counterpart to fast compilation
12:32 -!- rhaggert [n=rhaggert@pool-173-69-176-242.bltmmd.fios.verizon.net] has
joined #go-nuts
12:33 -!- GeDaMo [n=gedamo@212.225.108.57] has quit ["Leaving."]
12:34 -!- Shihan_ [n=pjr@203-214-12-122.dyn.iinet.net.au] has joined #go-nuts
12:34 -!- kcyber [n=kcyber@voulgaris.ceid.upatras.gr] has left #go-nuts []
12:34 -!- Inspi [n=inspirat@82-169-182-158.ip.telfort.nl] has joined #go-nuts
12:35 -!- Raziel2p [n=Raziel2p@ti0032a380-dhcp0316.bb.online.no] has quit [Read
error: 104 (Connection reset by peer)]
12:35 -!- Raziel2p [n=Raziel2p@ti0032a380-dhcp0316.bb.online.no] has joined
#go-nuts
12:37 -!- hiromtz [n=hiromtz@h150.p027.iij4u.or.jp] has quit [Read error: 110
(Connection timed out)]
12:39 -!- blup [n=icedtea@athedsl-4469937.home.otenet.gr] has quit ["Leaving"]
12:40 -!- gerry_ [n=gerry@58.55.84.148] has joined #go-nuts
12:40 -!- TenoRio [n=ramon@187.65.5.65] has joined #go-nuts
12:40 -!- teop2k [n=teop2k@89.232.105.25] has quit [Read error: 104 (Connection
reset by peer)]
12:40 < gerry_> hello
12:41 -!- TenoRio [n=ramon@187.65.5.65] has left #go-nuts []
12:41 < crankyadmin> Ola!
12:41 < gerry_> compile error: FAIL: http.TestClient Get
http://www.google.com/robots.txt: read
tcp:58.55.84.148:41415->64.233.189.99:80: connection reset by peer
12:41 -!- blup [n=icedtea@athedsl-4469937.home.otenet.gr] has joined #go-nuts
12:41 -!- teop2k [n=teop2k@89.232.105.25] has joined #go-nuts
12:42 < gerry_> what's wrong?  http://www.google.com/robots.txt seems not
exist.
12:42 -!- cmarcelo [n=cmarcelo@200.184.118.130] has joined #go-nuts
12:42 < Shihan_> hi folks, if your trying to wrap a set of c functions that
use void * to pass data around, how would you deal with that from inside go...
import "C"...  C.void doesnt appear to work at all?
12:43 -!- ector [n=ector@74.125.57.33] has joined #go-nuts
12:43 -!- Inspi [n=inspirat@82-169-182-158.ip.telfort.nl] has quit ["(
www.nnscript.com :: NoNameScript 4.22 :: www.esnation.com )"]
12:43 < gerry_> when run ./all.bash
12:43 < chrome> gerry_: add http to NOTEST list in src/pkg/Makefile
12:45 < gerry_> chrome: add http as one line to NOTEST?
12:45 -!- plainhao [n=plainhao@mail.xbiotica.com] has joined #go-nuts
12:45 < chrome> gerry_: many issues are listed in
http://code.google.com/p/go/issues/list
12:46 < chrome> gerry_: just add it to the list like the others.
12:46 < gerry_> ok
12:48 -!- Yaquishael [n=Yaquisha@unaffiliated/yaquishael] has joined #go-nuts
12:48 -!- irlyamlisterine [n=OMG@187-032-068-089.static.ctbctelecom.com.br] has
joined #go-nuts
12:50 -!- Shihan_ is now known as Shihan
12:50 < Gracenotes> okay then..  downloading 200 MB Google Tech Talk,
finally :)
12:50 < harryv> it's good.
12:51 -!- blup [n=icedtea@athedsl-4469937.home.otenet.gr] has left #go-nuts []
12:51 -!- Zhane [n=Zhane@cm127.eta196.maxonline.com.sg] has joined #go-nuts
12:51 -!- bogen [n=bogen@cpe-76-186-22-145.tx.res.rr.com] has quit ["Leaving."]
12:51 < Zhane> hello all =)
12:51 < alus> Gracenotes: stream it?
12:51 < Zhane> juz discovered this new language today
12:51 -!- blup [n=icedtea@athedsl-4469937.home.otenet.gr] has joined #go-nuts
12:52 < Gracenotes> some friends mentioned it wasn't the most, uh, apt to
help you stay awake if you were in an exhausted state.  But I'm pretty awake as it
is, so..
12:52 -!- teop2k [n=teop2k@89.232.105.25] has quit [Read error: 104 (Connection
reset by peer)]
12:52 -!- int-e is now known as int_e
12:52 < Gracenotes> alus: I prefer watching things in native video players,
and with arbitrary breaks therein.  I've had to download it anyway..  ;)
12:52 -!- teop2k [n=teop2k@89.232.105.25] has joined #go-nuts
12:53 < Gracenotes> *I'd
12:53 -!- Zhane [n=Zhane@cm127.eta196.maxonline.com.sg] has left #go-nuts []
12:53 < alus> Gracenotes: let me guess, you're on linux and flash sucks?  ;)
12:53 < TheExit> Gracenotes, I was exhausted when I watched it, it helped
keep me awake even.
12:53 -!- shambler [n=sil@213.184.241.199] has quit [Read error: 54 (Connection
reset by peer)]
12:54 -!- jepler [n=jepler@emc/developer/jepler] has quit [Read error: 54
(Connection reset by peer)]
12:54 -!- jepler [n=jepler@emc/developer/jepler] has joined #go-nuts
12:54 < Gracenotes> for static presentations?  not too much.  but I'd be
hard pressed to find a reasonably popular native player that didn't beat the
YouTube player
12:54 < Gracenotes> not in the browser, plox.
12:55 < gerry_> chrome: it works,thx
12:55 -!- freerobby [n=Adium@209-6-90-125.c3-0.smr-ubr1.sbo-smr.ma.cable.rcn.com]
has joined #go-nuts
12:55 < Gracenotes> tis a GUI issue for longer presentations.  same reason I
prefer AVIs to Hulu.
12:56 -!- freerobby [n=Adium@209-6-90-125.c3-0.smr-ubr1.sbo-smr.ma.cable.rcn.com]
has left #go-nuts []
12:56 -!- KillerX [n=anant@145.116.234.40] has joined #go-nuts
12:56 < Gracenotes> I also just finished watching a presentation about
Dalvik bytecode :)
12:57 -!- me___ [n=venkates@c-68-55-179-48.hsd1.md.comcast.net] has joined
#go-nuts
12:57 -!- t3rm1n4l [n=slynux@111.92.64.27] has joined #go-nuts
12:58 -!- cyt [n=cyt@li57-21.members.linode.com] has joined #go-nuts
12:58 -!- gerry_ [n=gerry@58.55.84.148] has quit ["Lost terminal"]
12:58 -!- Wiebe [n=Wiebe@5356AA0E.cable.casema.nl] has left #go-nuts []
12:59 < t3rm1n4l> hi
12:59 < t3rm1n4l> is there some unix lib to access all the functions ?
12:59 < t3rm1n4l> like chmod, mkdir etc
13:00 < saati> t3rm1n4l: http://golang.org/pkg/syscall/
13:00 < Gracenotes> harryv: anyway, I hope to just implement something basic
in it, like an IRC bot :)
13:00 -!- jepler [n=jepler@emc/developer/jepler] has quit [Remote closed the
connection]
13:01 < Gracenotes> the fun part about that is suiting the design to the
particular abstractions provided by the language.  so, goroutines might play a
role.
13:01 < TheExit> saati, wouldn't you want to use os instead?
13:02 < saati> maybe
13:02 -!- Ankit[m] [n=o@117.98.111.168] has joined #go-nuts
13:03 -!- sgtarr [n=sgt@rasterburn.org] has quit ["leaving"]
13:03 -!- gr0gmint [n=gr0gmint@87.60.0.194] has joined #go-nuts
13:03 -!- gcopenhaver [n=greg@c-68-43-205-148.hsd1.mi.comcast.net] has joined
#go-nuts
13:03 < Gracenotes> anyway, I should try to avoid premature
chicken-counting...
13:04 -!- jepler [n=jepler@emc/developer/jepler] has joined #go-nuts
13:04 < saati> he wanted the unix features though, os seems like an
abstraction that could work on any sane os
13:05 -!- alphazero [n=alphazer@ip68-106-96-239.dc.dc.cox.net] has joined #go-nuts
13:05 -!- teop2k [n=teop2k@89.232.105.25] has quit [Read error: 104 (Connection
reset by peer)]
13:05 < TheExit> yeah, I was just thinking that unless you need syscalls
that have no equivalents in other packages it's probably best to avoid it
13:06 < TheExit> otoh, I'm stoked that syscall exists
13:06 -!- teop2k [n=teop2k@89.232.105.25] has joined #go-nuts
13:06 -!- listerine [n=OMG@187-032-068-089.static.ctbctelecom.com.br] has quit
[Read error: 110 (Connection timed out)]
13:08 < saati> yeah it's really nice of go to give both high and lowlevel
primitives
13:08 -!- josh0x0 [n=josh@pool-74-97-205-21.atl01.dsl-w.verizon.net] has joined
#go-nuts
13:09 -!- octoploid [n=octoploi@77-23-212-222-dynip.superkabel.de] has joined
#go-nuts
13:11 < Gracenotes> am I right to assume that Go doesn't use the standard C
library at all?
13:11 < uriel> Gracenotes: you are right (AFAIK)
13:12 < uriel> (other than malloc and a few other things, most stuff uses
syscalls directly)
13:12 -!- tor7 [n=tor@c-987a71d5.04-50-6c756e10.cust.bredbandsbolaget.se] has
joined #go-nuts
13:13 < TheExit> from the FAQ, "Gc uses a custom library, to keep the
footprint under control;"
13:13 < TheExit> Gccgo uses it though
13:15 < Gracenotes> that seems consistent with what I've heard
13:15 < TheExit> gccgo seems to be at a real disadvantage in a lot of areas
13:15 -!- x-ip [n=sakura@unaffiliated/x-ip] has joined #go-nuts
13:16 -!- ambv [n=lukasz@83-238-74-161.ip.netia.com.pl] has quit []
13:16 -!- oliv3 [n=olivier@phngluimglwnafhcthulhu.biniou.net] has joined #go-nuts
13:16 -!- rmt__ [n=rmt@dslb-092-074-076-245.pools.arcor-ip.net] has joined
#go-nuts
13:18 -!- Ankit[m] [n=o@117.98.111.168] has quit [Read error: 104 (Connection
reset by peer)]
13:18 -!- brianmac [n=Brian@75-151-32-30-Naples.hfc.comcastbusiness.net] has left
#go-nuts []
13:18 < uriel> from what I understood, there are plans to get gccgo to use
the 6g runtime
13:18 < uriel> that should equal things up quite a bit
13:18 * uriel really would like to see the whole runtime rewritten in go
13:19 -!- GuilhermeCunha [n=falecom@unaffiliated/guilhermecunha] has joined
#go-nuts
13:20 -!- Irssi: #go-nuts: Total of 520 nicks [0 ops, 0 halfops, 2 voices, 518
normal]
13:20 < TheExit> I'll take whatever executes faster, really
13:20 < uriel> shameless plug: go reddit at http://www.reddit.com/r/golang
13:20 -!- srdjan [n=srdjan@84.88.50.46] has left #go-nuts []
13:21 -!- enigmus [n=e@S0106001d7e52d1d9.vc.shawcable.net] has joined #go-nuts
13:22 -!- golangguru [n=chatzill@124.125.104.56] has joined #go-nuts
13:22 < enigmus> Is it possible for anyone to create reference types
constructed with make?  Or is that reserved to builtin types map and channel?
13:22 < TheExit> heh someone already wrote a raytracer
13:23 < exDM69> who's surprised?  :)
13:23 < exDM69> what would I have to do to use GO with OpenGL?
13:23 < golangguru> how to install GO on mac OS X
13:23 < golangguru> ?
13:24 < uriel> golangguru: see http://golang.org/doc/install.html
13:24 < exDM69> write some bindings for the FFI or write some Go code that
calls C functions (like python/ctypes)
13:24 < keeto> uriel: that subreddit grows fast.  :D
13:25 < keeto> pity there isn't much material yet to link..
13:25 < scoopr> exdm69, I saw this as an example for ffi
https://gist.github.com/232088/731e3cafb6bc185bdb863a2e3b0ab03c88abe31b
13:25 -!- alphazero [n=alphazer@ip68-106-96-239.dc.dc.cox.net] has quit []
13:26 < uriel> keeto: well, there is stuff, people just needs to post it ;P
13:26 < keeto> okay, I think I have two.
13:26 < exDM69> scoopr: that looks pretty neat
13:26 < keeto> bleh, already in r/prog x)
13:26 < golangguru> uriel: do i need to set up gccgo before installing
13:27 < exDM69> scoopr: writing the binding code seems to be a bit annoying
but so it always is
13:27 < keeto> golangguru: if you already have the dev tools (via xcode),
then you'll just have to follow the install instrucs on the site.
13:27 < golangguru> keeto: ok thank u
13:27 < scoopr> exdm69, indeed
13:29 < uriel> golangguru: that explains how to install 8g/6g, if you want
gccgo, follow the link to the gccgo page
13:29 -!- chr45 [i=592a593d@gateway/web/freenode/x-rsppvcepygpfwjfq] has quit
["Page closed"]
13:31 < exDM69> whta about a situation where I'd like two implementations of
the same functionality
13:31 < exDM69> for example open a window using win32 and xlib
13:31 -!- rmt_ [n=rmt@dslb-092-074-072-074.pools.arcor-ip.net] has quit [Read
error: 110 (Connection timed out)]
13:31 < exDM69> or xlib and xcb, or OSX cocoa or whatever
13:31 < dho> grumble.
13:31 -!- mwarning [n=mwarning@ip-78-94-226-217.unitymediagroup.de] has joined
#go-nuts
13:32 < andguent> uriel: constructive newb help?  ahhhh
13:32 -!- mwarning [n=mwarning@ip-78-94-226-217.unitymediagroup.de] has left
#go-nuts ["Leaving"]
13:32 * andguent fears uriel transforming
13:32 -!- nihilis_ [n=nihilis@217.117.2.129] has joined #go-nuts
13:32 < dho> uriel: when go can do syscalls, that will be feasible :)
13:32 -!- salvachn [n=salva@117.193.196.241] has joined #go-nuts
13:33 < dho> It's like, there's no non-intrusive way to implement locking
for freebsd
13:33 < me___> dho: what type of locking?
13:34 -!- salvachn [n=salva@117.193.196.241] has left #go-nuts []
13:34 < dho> me___: implementing the runtime
13:34 < me___> cool.  we should chat, i'm working on dfly.
13:34 < dho> aha
13:35 < me___> i used umtx_sleep / umtx_wakeup on dfly.
13:35 < me___> does fbsd have similar?
13:35 < pierron> I've a problem with src/pkg/exec tests.  For the
information, I am running on NixOS, which means only /bin/sh and everything else
hidden in its proper directory.  So after fixing glibc dependency in
src/cmd/8l/asm.c, I've an issue in src/pkg/exec test which _should returned an
error_ while calling "Run" because /bin/{cat, echo} do not exist.  Instead of the
expected error (/bin/cat: no such file or directory), the program
/src/pkg/exec/8.out is freezing o
13:35 < me___> dho: is your patch available so far?
13:35 < dho> yeah, we've got umtx_op, which wraps a bunch of routines that
implement mutexes, rwlocks, condvars and the like
13:35 < dho> me___: no, I just started
13:35 < dho> I'm just curious how you integrated that with struct Lock
13:36 -!- nihilis [n=nihilis@217.117.2.129] has quit [Nick collision from
services.]
13:36 < dho> because at least for freebsd, you have to pass a umtx up into
the kernel
13:37 < uriel> andguent: I have been giving constructive help to newbies in
#plan9 for many years, some people just choose to ignore what doesn't fit their
neat prejudices about other people's personalities
13:37 < me___> i just used key,
http://grex.org/~vsrinivas/src/go-dragonfly-2.diff might help
13:37 -!- dRiZzle [n=dRizzle@77.221.236.236] has quit ["Leaving"]
13:37 < uriel> (sorry, this is offtopic)
13:37 -!- Juico [i=5592b540@gateway/web/freenode/x-hvzfylhowbsrkakj] has joined
#go-nuts
13:38 -!- Lysholm [n=emil@trl167078.ka.hist.no] has quit [Read error: 104
(Connection reset by peer)]
13:38 -!- annodomini [n=lambda@c-75-69-96-104.hsd1.nh.comcast.net] has joined
#go-nuts
13:38 < me___> dho: i was able to use umtx_*, perhaps our umtx-es differ?
or i'm doing it wrong, maybe.
13:38 < enigmus> Is it possible for anyone to create reference types
constructed with make?  Or is that reserved to builtin types map and channel?
13:38 < me___> look at xlock() / xunlock()
13:38 < andguent> uriel: duh.  didnt want to offend you...
13:39 -!- xur1z [n=chris@118-92-206-22.dsl.dyn.ihug.co.nz] has quit []
13:40 < dho> me___: i'm pretty sure they differ
13:40 -!- teop2k [n=teop2k@89.232.105.25] has quit ["WeeChat 0.3.0"]
13:40 < mainman__> uhm..  it's a pity that network stack is not build over
pkg io operations
13:40 < dho> me___: for freebsd at least, we've got this giant syscall,
_umtx_op, and you pass a struct umutex, the operation, and some other stuff
13:41 < me___> ah, we only have umtp_sleep and umtx_wakeup, just on ints.
13:41 < dho> *nods*
13:41 < me___> its a very nice interface, i like it a lot more than futexes.
13:42 < me___> are you using rfork() or lwp_create() for osprocs?
13:42 < dho> thr_new()
13:42 < me___> hmm, i'm not familiar?
13:42 -!- Yaquishael [n=Yaquisha@unaffiliated/yaquishael] has left #go-nuts
["Leaving"]
13:42 < dho> it's essentialy the same interface that libthr uses
13:43 < dho> syscall to create a new thread for the process
13:43 < me___> sure.  rfork(RFMEM) could do the same, any reason you're not
using it?
13:43 < me___> (lwp_create is what libthread_xu uses here, so i used it.  i
don't know the tradeoffs between it and rfork)
13:43 < me___> but if we stuck to rfork, we could share a little code there.
13:44 < me___> also we can probably share our libmach bits.
13:44 < dho> yeah.
13:44 < me___> ptrace has likely changed a lot less than the threading...
13:44 < dho> rfork seems ok
13:45 < me___> how does the TLS work on fbsd?
13:45 < dho> definitely more plan 9-ish
13:45 < dho> I don't know how that works with rfork.  with thr_new, you pass
it a pointer and size to your tls
13:45 < dho> so you can essentially just use it
13:46 < cmarcelo> hello.  if I have "type DayOfWeek int", and then get "a :=
DayOfWeek(2)", is there a way to extract the int back?  like, using 'a' in a
function that only takes int?
13:46 < me___> i see, hmm.  thr_new sounds nice...  i don't see it in the
manpages here, where could i look?
13:46 -!- treffer [n=treffer@host-88-217-134-114.customer.m-online.net] has quit
[Read error: 104 (Connection reset by peer)]
13:46 < me___> also, have you looked into getting 8l happy yet?
13:46 -!- Selar [n=hussain@wire.dsl.frii.net] has left #go-nuts []
13:46 -!- aho [n=nya@f050248046.adsl.alicedsl.de] has joined #go-nuts
13:46 < dho> i've not looked at the toolchain; it compiles, and i'm sure it
doesn't generate working anything yet :)
13:46 < dho> afaik, there's no manpage for thr_new
13:47 < me___> ahokay.
13:47 < dho> it's implemented in sys/kern/kern_thr.c
13:47 < dho> and then consumed in lib/libthr/thread/thr_create.c i believe
13:47 < me___> okay.  i got the toolchain building linux binaries :) i tried
to work from kris maglione's kencc port to unix to get elf going, but ended up
with very curious elfs instead.
13:47 < TheExit> cmarcelo, supply it as int(a)
13:48 < dho> i literally just started working on this yesterday, but i'm at
work all day and when i get home i don't really like to do a lot of computery shit
at home
13:48 -!- listerine [n=OMG@187-032-068-089.static.ctbctelecom.com.br] has joined
#go-nuts
13:48 < dho> yeah, kris' work does work, but you had to bootstrap it with
inferno
13:48 -!- int-e [n=noone@td9091a64.pool.terralink.de] has joined #go-nuts
13:49 -!- nihilis_ is now known as nihilis
13:49 < me___> right.  and 8l has diverged between the two enough that i
ended up with a mess.  i also use inferno's iyacc atm...
13:49 -!- annodomini [n=lambda@wikipedia/lambda] has quit []
13:49 < mainman__> uhm ;) 0xcace34
13:49 < dho> well that's a bummer.
13:49 < uriel> dho: you just need inferno's ar
13:49 < dho> ok
13:50 < me___> hmm, what does fbsd set for OS/ABI for its elfs, btw?
13:50 < dho> me___: lemme re checkout and apply your diff.
13:50 < dho> um
13:50 < dho> dunno :)
13:50 < me___> dho: won't work for you, since it uses dfly's umtx_* and
lwp_create, but hope its useful.
13:50 < cmarcelo> TheExit: thanks.
13:50 < me___> could you readelf one at some point?  dfly seems to use unix
- system v, rather than unix - freebsd.
13:51 < TheExit> np
13:51 -!- treffer [n=treffer@host-88-217-134-114.customer.m-online.net] has joined
#go-nuts
13:51 < dho> yeah, unix - freebsd
13:52 < dho> abi version 0
13:52 < dho> :q
13:52 -!- c0nfl|ct [n=tiago@83.240.182.217] has joined #go-nuts
13:52 -!- josefsson [n=asmo@c83-248-96-173.bredband.comhem.se] has joined #go-nuts
13:53 -!- F1sh [n=Fish@86.65.182.194] has quit [Remote closed the connection]
13:54 < dho> me___: and yeah, i'll have to hack around more, but since you
already have stuff done, at least it can look similar.
13:54 -!- F1sh [n=Fish@86.65.182.194] has joined #go-nuts
13:54 -!- eekee [n=ethan@sourcemage/guru/eekee] has quit [Remote closed the
connection]
13:55 -!- rhaggert [n=rhaggert@pool-173-69-176-242.bltmmd.fios.verizon.net] has
quit [Read error: 110 (Connection timed out)]
13:55 -!- evilhackerdude [n=stephan@e181074230.adsl.alicedsl.de] has joined
#go-nuts
13:59 -!- jddron [n=jdo@alog0001.analogic.com] has joined #go-nuts
13:59 < exch> i'm getting some peculiar problems when building multiple
packages into a binary..  the wirdd thing is that it only happens when the
packages are built for the first time.  A second build run makes it all work fine
:s http://stuff.pastebin.com/m41e3140b
13:59 -!- drusepth [n=drusepth@adsl-75-33-219-166.dsl.spfdmo.sbcglobal.net] has
joined #go-nuts
13:59 -!- GuilhermeCunha [n=falecom@unaffiliated/guilhermecunha] has quit [Remote
closed the connection]
14:00 -!- JBeshir [n=namegduf@138-38-226-61.resnet.bath.ac.uk] has quit ["Need to
take this laptop elsewhere; will be back later."]
14:00 < exch> the ls bit in the middle I put in to see if the packages were
really created before main started building
14:00 -!- drusepth` [n=drusepth@adsl-75-33-219-166.dsl.spfdmo.sbcglobal.net] has
joined #go-nuts
14:00 -!- lambo4jos [n=chatzill@c-76-126-250-10.hsd1.ca.comcast.net] has quit
["ChatZilla 0.9.85 [Firefox 3.5.5/20091102152451]"]
14:01 -!- Kniht [n=kniht@c-68-58-17-177.hsd1.in.comcast.net] has joined #go-nuts
14:01 < me___> dho: hmm, interesting.
14:01 -!- npe [n=npe@195.207.5.2] has quit [Remote closed the connection]
14:01 -!- Freeman__ [n=chatzill@86.33.92.73] has joined #go-nuts
14:01 < me___> dho: good luck with stuff, poke me if you get progress.
14:01 < Freeman__> hi guys
14:02 < dho> sure thing
14:02 < Freeman__> Could it be possible to use GO for compiling Linux from
Scratch
14:03 -!- sobersabre [n=bilbo@85.64.34.22.dynamic.barak-online.net] has joined
#go-nuts
14:04 < sobersabre> hi where can I upload a gogogo.sh script (to install go)
14:04 < sobersabre> ?
14:04 -!- irlyamlisterine [n=OMG@187-032-068-089.static.ctbctelecom.com.br] has
quit [Read error: 110 (Connection timed out)]
14:04 -!- maruel [n=maruel_2@google1.osuosl.org] has joined #go-nuts
14:05 < huf> Freeman__: is linux written in go?  no.
14:05 < me___> dho: looking at fbsd umtx*; you can use lock->sema as a
'is this lock inited' flag.  lock->key as some kind of index into a table of
umtx-en.
14:05 < Freeman__> :-( ah ok shit
14:05 -!- hiromtz [n=hiromtz@h150.p027.iij4u.or.jp] has joined #go-nuts
14:05 -!- necromancer [n=necroman@c-69-142-78-178.hsd1.pa.comcast.net] has joined
#go-nuts
14:05 < Freeman__> but I thougt it is a compile tool for c++ code?
14:06 < huf> Freeman__: linux is not c++, and go is not c++ either.
14:06 < exch> Nothing is stopping you from rewriting the kernel in Go :p
14:06 < Freeman__> :-d
14:06 < Freeman__> ok
14:06 < binBASH> Does Go! support Goto?
14:06 < exch> i hope not :p
14:06 < Shihan> if im not mistaken, it does
14:06 < uriel> binBASH: yes
14:06 -!- blup [n=icedtea@athedsl-4469937.home.otenet.gr] has quit [Remote closed
the connection]
14:06 < dho> yes, ti does.
14:06 < chrome> go has goto.
14:06 < Zaba> binBASH, Go! is actually a language different from Go
14:06 < uriel> Zaba: that too
14:07 < binBASH> exch: That would stop then from a kernel rewrite
14:07 < binBASH> ;)
14:07 -!- drusepth [n=drusepth@adsl-75-33-219-166.dsl.spfdmo.sbcglobal.net] has
quit [Read error: 60 (Operation timed out)]
14:07 < dho> me___: yeah, that's ridiculously heavyweight
14:07 < dho> me___: I'm tempted to just use semaphores.
14:07 < josefsson> Are there any documentation on how Go would handle a
distributed app?
14:07 < exch> hehe
14:07 < Shihan> but never forget, http://imgs.xkcd.com/comics/goto.png
14:07 < huf> meh, goto is fine
14:07 < josefsson> Ie. is there a way for channels to communicate over
sockets, much like in Erlang?
14:07 < me___> dho: what primitive would you use to block?
14:07 < chrome> there are legitimate uses for goto
14:07 < binBASH> Shihan: Sure
14:08 -!- triplez [n=triplez@cm52.sigma225.maxonline.com.sg] has joined #go-nuts
14:08 < binBASH> I know the linux kernel is full of gotos in some places ;)
14:08 < binBASH> it's faster than if / else
14:08 < huf> sanest way to do complex error handling in c
14:08 < Shihan> true enough i guess
14:08 < dho> me___: sleep on the semaphore
14:08 < chrome> gotos can replace exceptions, sort of.
14:08 < Zaba> goto is good as long as it's not abused
14:08 < uriel> josefsson: there are plans, rob says he has thought a lot
about it, they obviously want to get it right before getting it out
14:09 < Zaba> just like about any language feature anywhere
14:09 < josefsson> uriel: Nice, thanks
14:09 < uriel> josefsson: there is gob for now
14:09 < uriel> josefsson: which helps do simple rpcs
14:10 -!- bortzmeyer [n=stephane@219.163.11.104] has left #go-nuts []
14:10 < josefsson> uriel: That would not help to transparently go from a
single server to a multiple though
14:10 < me___> dho: are there fbsd kernel-assisted semas?
14:10 < dho> yeah.
14:11 -!- delza [n=delza@d66-183-63-49.bchsia.telus.net] has joined #go-nuts
14:12 -!- iant [n=iant@adsl-71-133-8-30.dsl.pltn13.pacbell.net] has quit
["Leaving."]
14:12 -!- depood [n=depood@chello080108055214.19.11.vie.surfer.at] has joined
#go-nuts
14:12 -!- cyberwiz [n=mitashki@Bolt.marketxs.com] has quit ["Leaving"]
14:13 -!- dschn [n=dschn@pool-70-19-224-19.bos.east.verizon.net] has joined
#go-nuts
14:14 < bengl> or use this maybe http://spoon.net/browsers/
14:14 -!- josephholsten [n=josephho@ip70-189-108-199.ok.ok.cox.net] has joined
#go-nuts
14:14 < uriel> josefsson: sure, as I said, they are thinking hard about that
14:14 < bengl> (wrong window, sorry folks)
14:14 < josephholsten> hello all
14:14 -!- kill-9 [n=kill-9@cpe-65-24-145-70.columbus.res.rr.com] has joined
#go-nuts
14:14 -!- hiromtz_ [n=hiromtz@h150.p027.iij4u.or.jp] has quit [Read error: 60
(Operation timed out)]
14:14 < josephholsten> is there a go tutorial for ex-limboists?
14:15 < josefsson> uriel: Which is good (:
14:16 -!- vuln [n=gone@unaffiliated/vuln] has joined #go-nuts
14:16 < pierron> Correction, it is not freezing, just taking a very long
time.
14:17 < uriel> josefsson: indeed
14:17 < uriel> josephholsten: no, but you probably can pick it up easily by
watching the presentation and reading the intro docs
14:17 < dho> me___: it's basically just the posix semaphore library
14:17 < me___> josephholsten: feel like writing one?  i'd be interested in
helping with a rosetta stone both ways...
14:19 < josephholsten> me___: ah, perhaps next week.  I guess I could start
by porting http://www.vitanuova.com/inferno/papers/limbo.html
14:22 -!- carifio [n=mcarifio@173-14-188-57-NewEngland.hfc.comcastbusiness.net]
has joined #go-nuts
14:22 -!- kos_tom [n=thomas@humanoidz.org] has left #go-nuts ["I like core dumps"]
14:23 -!- seymour [i=mike@dsl-244-114-37.telkomadsl.co.za] has joined #go-nuts
14:24 -!- carifio [n=mcarifio@173-14-188-57-NewEngland.hfc.comcastbusiness.net]
has left #go-nuts []
14:24 -!- ctimmerm [n=ctimmerm@83.150.80.193] has quit ["Leaving..."]
14:25 -!- treffer [n=treffer@host-88-217-134-114.customer.m-online.net] has quit
[Read error: 60 (Operation timed out)]
14:25 -!- necromancer [n=necroman@c-69-142-78-178.hsd1.pa.comcast.net] has quit
[Read error: 113 (No route to host)]
14:26 -!- mennis [n=mennis@adsl-068-016-104-079.sip.asm.bellsouth.net] has joined
#go-nuts
14:29 -!- josefsson [n=asmo@c83-248-96-173.bredband.comhem.se] has quit [Remote
closed the connection]
14:30 -!- Freeman__ [n=chatzill@86.33.92.73] has quit ["ChatZilla 0.9.85 [Firefox
3.5.5/20091102152451]"]
14:31 -!- scriptdevil [n=scriptde@122.174.160.222] has joined #go-nuts
14:32 < scriptdevil> How do I get a Writer for a string?
14:32 -!- frodbot is now known as frodenius
14:33 < scriptdevil> scriptdevil: Is there something predefined or should I
just create my own Write() method for a string?
14:33 -!- mangloid [n=mangloid@adsl-76-215-79-29.dsl.rcsntx.sbcglobal.net] has
quit [Remote closed the connection]
14:33 -!- zoonfafer [n=quassel@n218103193198.netvigator.com] has joined #go-nuts
14:34 -!- skyyy [i=caw@129.21.116.238] has quit [Client Quit]
14:34 -!- homovitruvius [n=maurizio@pool-72-95-253-175.pitbpa.east.verizon.net]
has joined #go-nuts
14:35 -!- argon [i=argon@bshellz/developer/argon] has left #go-nuts []
14:37 -!- sku [n=sk@217.175.14.88] has joined #go-nuts
14:38 -!- keeto is now known as dr_keeto
14:39 -!- npe [n=npe@195.207.5.2] has joined #go-nuts
14:39 < scriptdevil> Oh well.  I got the answer in gofmt.  First get it into
some x of type bytes.Buffer and finally do a x.String()
14:40 -!- encolpe [n=encolpe@gai69-3-82-235-15-3.fbx.proxad.net] has joined
#go-nuts
14:40 -!- kill-9_ [n=kill-9@cpe-65-24-145-70.columbus.res.rr.com] has joined
#go-nuts
14:40 -!- kill-9 [n=kill-9@cpe-65-24-145-70.columbus.res.rr.com] has quit [Read
error: 104 (Connection reset by peer)]
14:40 < hendry> http://pastebin.com/m77f997ec # I don't understand this
missing Write(p []uint8) (n int, err os.Error) error.  Can anyone help?
14:42 < vegai>
http://stackoverflow.com/questions/1725619/can-you-recommend-a-go-language-web-framework
14:42 -!- chachan [n=chachan@ccscliente156.ifxnetworks.net.ve] has joined #go-nuts
14:42 * vegai smirks
14:44 * hendry thinks he has figured it out
14:45 -!- r00ttap [n=wjones@c-98-225-129-81.hsd1.pa.comcast.net] has joined
#go-nuts
14:45 < jlouis> hendry: you are trying to print an integer
14:45 < jlouis> but it expects a string
14:46 -!- maxyz [n=maxy@186.18.92.38] has left #go-nuts ["So long, and thanks for
all the fish"]
14:46 -!- t3rm1n4l [n=slynux@111.92.64.27] has quit [Read error: 110 (Connection
timed out)]
14:46 < hector> do you think in 5 years go will be used by companies to
write the same kinds of apps that c++ is used for currently?
14:46 -!- rmt_ [n=rmt@dslb-092-074-078-077.pools.arcor-ip.net] has joined #go-nuts
14:46 -!- t3rm1n4l [n=slynux@111.92.64.27] has joined #go-nuts
14:47 < scriptdevil> hector: Maybe.  Maybe not.  I find this a pleasant
language, infact, it feels better than coffee :D
14:49 -!- GeDaMo [n=gedamo@212.225.108.57] has joined #go-nuts
14:49 -!- annodomini [n=lambda@130.189.179.215] has joined #go-nuts
14:49 -!- loureiro [n=loureiro@201008202120.user.veloxzone.com.br] has joined
#go-nuts
14:50 < scriptdevil> vegai: This is crazy.  Expectations take away the joy
of Go
14:50 < Glao> lol
14:50 < Glao> scriptdevil: that's pretty funny
14:50 -!- leitaox [n=leitaox@189.20.94.66] has joined #go-nuts
14:50 -!- sobersab1e [n=bilbo@85.64.34.22.dynamic.barak-online.net] has joined
#go-nuts
14:50 < scriptdevil> I can't believe what people expect from a language that
is not even a week old
14:50 < sobersab1e> anyone is here ?
14:50 < int-e> avoid success at all cost ...  oh wait, I'm on the wrong
channel.
14:50 < scriptdevil> sobersab1e: We are all :)
14:50 -!- sobersabre [n=bilbo@85.64.34.22.dynamic.barak-online.net] has quit [Read
error: 104 (Connection reset by peer)]
14:50 -!- sobersab1e [n=bilbo@85.64.34.22.dynamic.barak-online.net] has quit
[Client Quit]
14:51 -!- GoNoGo [n=penalva@pc115.pallas.cines.fr] has joined #go-nuts
14:51 -!- leitaox [n=leitaox@189.20.94.66] has quit [Client Quit]
14:51 < mbuf> scriptdevil, they just have lot of e-go :)
14:51 -!- devewm [n=eric@96.36.85.2] has quit []
14:51 < scriptdevil> mbuf: I am naming my etag generator for go Egotags :P
14:51 -!- sobersabre [n=bilbo@85.64.34.22.dynamic.barak-online.net] has joined
#go-nuts
14:51 < sobersabre> hi.
14:51 < scriptdevil> sobersabre: We can hear you.  :)
14:51 < sobersabre> is there somebody who has commit access to the hg around
here ?
14:51 < scriptdevil> int-e: You suggested something about string writers
last time.  To Cameron if I am not wrong.  Remember it?
14:52 -!- asmo [n=asmo@c-f6c5e055.1155-1-64736c11.cust.bredbandsbolaget.se] has
joined #go-nuts
14:52 < scriptdevil> sobersabre: the guys with the + in front of their names
14:52 < sobersabre> I got disconnected for a moment.  so I missed all the
fun.
14:52 < scriptdevil> (Most likely)
14:52 < int-e> scriptdevil: I'm sure I didn't.
14:52 -!- spooktino [n=ssantino@c-76-29-212-41.hsd1.in.comcast.net] has joined
#go-nuts
14:52 < scriptdevil> int-e: Well.  String to byte conversion?
14:52 < sobersabre> anyway, I did a small script that adds env (to any sh or
csh like shell), and installs the go lang from hg.
14:52 -!- mejja [n=user@c-49b6e555.023-82-73746f38.cust.bredbandsbolaget.se] has
joined #go-nuts
14:52 -!- ssantino [n=ssantino@c-76-29-212-41.hsd1.in.comcast.net] has quit [Nick
collision from services.]
14:52 -!- spooktino is now known as ssantino
14:53 < sobersabre> it currently works only on debian-like linuxes, but it
will be easy to extend to other os's/linuxdistros.
14:53 -!- sowa [n=sowa@85.214.104.79] has quit ["Lost terminal"]
14:53 < sobersabre> I could use a "code" review (since it's not exactly
code).
14:53 < vegai> how can you write a script that only works on debian :P
14:53 < scriptdevil> sobersabre: Hmmm.  Just put it in bitbucket or
something
14:53 < sobersabre> I'm not very familiar.
14:53 < sobersabre> lemme google bitbucker.
14:54 < vegai> oh, to any shell.  Ok.
14:54 < scriptdevil> sobersabre: It is like git for mercurial
14:54 < sobersabre> s/cker/cket/
14:54 < scriptdevil> *github
14:54 < sobersabre> hmm..  "git for mercurial" got me stomped :)
14:54 < kfx> vegai: [ -e /etc/debian_version ] || exit(1)
14:54 < scriptdevil> sobersabre: github for mercurial.  Oops :P
14:55 < scriptdevil> kfx: lol
14:55 < sobersabre> I had a suddent surge of cpu overheat.
14:55 < sobersabre> suddent....  you see :)
14:55 < sobersabre> scriptdevil: is there a bitbucket go repo there ?
14:55 < scriptdevil> sobersabre: No idea.  But have yours there.  Keep
improving it.  When it is mature, it might be merged into go
14:56 < sobersabre> scriptdevil: I don't think you're right :)
14:56 < kaigan|work> hg
14:56 < sobersabre> go will be packaged.  package management works unlike my
script.
14:56 < kaigan|work> wrong terminal ;)
14:56 -!- Venom_X [n=pjacobs@cpe-67-9-131-167.austin.res.rr.com] has joined
#go-nuts
14:57 < sobersabre> it will have ready conf.  files.  I think.
14:57 < sobersabre> I thought of giving it now for usage.
14:57 -!- hector [n=chatzill@client-86-0-126-58.nrth.adsl.virginmedia.com] has
quit ["ChatZilla 0.9.85 [Firefox 3.5.5/20091102152451]"]
14:58 -!- rhaggert [n=rhaggert@columbia.tresys.com] has joined #go-nuts
15:00 -!- NfNitLoop [n=bip@FCodyC-1-pt.tunnel.tserv8.dal1.ipv6.he.net] has quit
["Coyote finally caught me"]
15:00 < scriptdevil> sobersabre: I dont get it.
15:00 < scriptdevil> Can you pastie your script if it is not too long
15:01 < scriptdevil> sobersabre: I understand now :) Just put it in some
wiki
15:01 -!- rmt__ [n=rmt@dslb-092-074-076-245.pools.arcor-ip.net] has quit [Read
error: 110 (Connection timed out)]
15:02 -!- RazvanM [n=RazvanM@173.75.187.87] has quit [Read error: 148 (No route to
host)]
15:03 -!- sm [n=sm@cpe-75-85-88-227.socal.res.rr.com] has joined #go-nuts
15:03 -!- iant [n=iant@67.218.103.206] has joined #go-nuts
15:03 -!- mode/#go-nuts [+v iant] by ChanServ
15:03 -!- leitaox [n=leitaox@189.20.94.66] has joined #go-nuts
15:03 -!- pure_x01 [n=pure@c83-248-3-188.bredband.comhem.se] has joined #go-nuts
15:03 -!- devewm [n=eric@erc-avl-ptp62.net.ercbroadband.org] has joined #go-nuts
15:04 < int-e> scriptdevil: I said something about the golang equivalent of
instanceof.
15:04 < dho> me___: how are you compiling this stuff?
15:04 < dho> me___: your patch doesn't look like it should
15:04 < scriptdevil> int-e: Oh. Then it is soemone else.
15:04 < pure_x01> when i do 'hg update -r release
https://go.googlecode.com/hg $GOROOT' i get 'abort: There is no Mercurial
repository here (.hg not found)!' mercurial newbi
15:05 < scriptdevil> pure_x01: go to the $GOROOT folder first
15:05 < scriptdevil> Just do a hg pull -u
15:05 < scriptdevil> hg remembers the location from which it was cloned
15:05 < pure_x01> scriptdevil: thnx will try that
15:06 -!- golangguru [n=chatzill@124.125.104.56] has quit ["ChatZilla 0.9.85
[Firefox 3.5.5/20091102134505]"]
15:07 < dejones> Venom_X: you in Austin, TX too?
15:07 < Venom_X> dejones: I am
15:07 < dejones> so am I.
15:07 < dejones> heh
15:07 < Venom_X> nice!
15:07 < dejones> :)
15:11 < sobersabre> scriptdevil: I'm registering to github.
15:11 -!- philcrissman [n=philcris@c-75-72-98-108.hsd1.mn.comcast.net] has joined
#go-nuts
15:11 < sobersabre> after having done so, I'll /msg you.  ok ?
15:11 -!- nullpo [n=nullpo@221x252x46x83.ap221.ftth.ucom.ne.jp] has joined
#go-nuts
15:13 -!- slicslak_ [n=slicslac@c-68-50-207-133.hsd1.dc.comcast.net] has joined
#go-nuts
15:13 -!- xk0der [n=xk0der@122.171.5.157] has quit [Read error: 104 (Connection
reset by peer)]
15:13 -!- andresambrois [n=aa@r190-135-149-15.dialup.adsl.anteldata.net.uy] has
joined #go-nuts
15:14 -!- xk0der [n=xk0der@122.171.5.157] has joined #go-nuts
15:14 < Snert> @__gilles pushing right along
15:14 < scriptdevil> sobersabre: Any time
15:14 < scriptdevil> But tell me once you message me.
15:15 -!- mbuf [n=mbuf@118.102.130.6] has quit ["Leaving"]
15:19 -!- GoNoGo [n=penalva@pc115.pallas.cines.fr] has quit [Client Quit]
15:19 -!- JeffJohnson [n=fho@unaffiliated/jeffjohnson] has quit [Read error: 104
(Connection reset by peer)]
15:19 -!- drusepth` [n=drusepth@adsl-75-33-219-166.dsl.spfdmo.sbcglobal.net] has
quit [Read error: 60 (Operation timed out)]
15:20 -!- jonesy [n=jonesy@68.64.144.211] has joined #go-nuts
15:21 -!- t3rm1n4l [n=slynux@111.92.64.27] has quit [Read error: 60 (Operation
timed out)]
15:21 < int-e> Hmm, in the memory model, shouldn't a read from a variable be
allowed to observe concurrent writes to the same variable, too?
15:22 -!- t3rm1n4l [n=slynux@111.92.64.27] has joined #go-nuts
15:22 < rhc> i thought concurrency was handled through channels, not shared
memory?
15:23 -!- bbeck [n=bbeck@dxr-fw.dxr.siu.edu] has joined #go-nuts
15:23 -!- Aszarsha [n=aszarsha@91-164-133-11.rev.libertysurf.net] has joined
#go-nuts
15:23 <+iant> right: we don't want to say anything about concurrent reads
and writes to the same variable without a channel
15:24 <+iant> or a sync.Mutex
15:24 < int-e> Otherwise the "Incorrect synchronization" examples don't make
sense - in the first example, g() would always print 0 0, because it's not allowed
to observe the writes from f at all.
15:24 -!- josephholsten [n=josephho@ip70-189-108-199.ok.ok.cox.net] has quit []
15:25 < scriptdevil> Where are the irc conversations getting archived?
15:25 <+iant> int-e: we're not saying that it won't observe the writes,
we're saying that there are no guarantees about whether it observes the writes or
not
15:25 -!- delza [n=delza@d66-183-63-49.bchsia.telus.net] has quit []
15:26 -!- andresambrois [n=aa@r190-135-149-15.dialup.adsl.anteldata.net.uy] has
quit [Remote closed the connection]
15:28 -!- nullpo__ [n=nullpo@221x252x46x83.ap221.ftth.ucom.ne.jp] has quit [Read
error: 110 (Connection timed out)]
15:28 < int-e> iant: I'm asking about the definition of "allowed to
observe", which starts with "A read r of a variable v is allowed to observe a
write w to v if both of the following hold: " and requires that the observed write
happens before the read.  That makes no sense to me.
15:28 -!- ginkgo [n=ginkgo@chello084113198244.17.14.vie.surfer.at] has joined
#go-nuts
15:29 <+iant> "allowed to observe" means something like guaranteed to see
the change
15:30 <+iant> It doesn't mean that you wont' see a change that you are not
allowed to observe
15:30 <+iant> think of allowed to observe from the point of view of the
person writing the program
15:30 -!- devewm [n=eric@erc-avl-ptp62.net.ercbroadband.org] has quit []
15:30 -!- nullpo [n=nullpo@221x252x46x83.ap221.ftth.ucom.ne.jp] has quit
[Connection timed out]
15:31 < int-e> iant: the "guaranteed to observe" definition seems fine to
me.  (a bit more strict than I'd like perhaps.)
15:31 <+iant> we want to be strict, because it's so easy for people to make
a mistake writing multi core programs
15:31 <+iant> if you follow these rules, your program will work
15:31 <+iant> and the rules are simple
15:31 < int-e> iant: I am.  I think that in the first incorrect
synchronoisation example, g() is certainly allowed to observe the writes that f()
does.
15:31 -!- nihilis [n=nihilis@217.117.2.129] has quit [Read error: 110 (Connection
timed out)]
15:31 -!- JeffJohnson [n=fho@2001:6f8:1c00:cb:0:0:0:2] has joined #go-nuts
15:32 <+iant> again, think of "allowed to observe" from the perspective of
the person writing the program, not from the perspective of the machine running
the program
15:32 <+iant> of course we'd happy to have contributions to make the docs
easier to understand
15:33 -!- scriptdevil [n=scriptde@122.174.160.222] has quit ["leaving"]
15:33 -!- Ishmael [n=ishmael@189.0.30.160] has quit [Read error: 104 (Connection
reset by peer)]
15:34 -!- scriptdevil [n=scriptde@122.174.160.222] has joined #go-nuts
15:34 < scriptdevil> Where are the methods for the primitives like string
and chan documented?
15:34 < dho> getting a lot of type errors when trying to compile the freebsd
runtime.  not entirely sure how godefs is intended to be used.
15:34 -!- blackmagik [n=blackmag@unaffiliated/blackmagik] has joined #go-nuts
15:34 -!- aa [n=aa@r190-135-128-116.dialup.adsl.anteldata.net.uy] has quit [Read
error: 110 (Connection timed out)]
15:34 -!- r00ttap [n=wjones@c-98-225-129-81.hsd1.pa.comcast.net] has quit [Read
error: 60 (Operation timed out)]
15:34 <+iant> scriptdevil: those types don't have any methods
15:35 <+iant> dho: the idea of godefs is read the system header files and
spit out equivalent Go definitions
15:35 < scriptdevil> iant: Sorry.  I meant.  The functions
15:35 <+iant> scriptdevil: the language spec, I suppose
15:35 < dho> yeah.
15:36 < scriptdevil> iant: Is there a wiki yet?
15:36 < TheExit> int-e, think of "observe" here in the religious sense of
obvserving holidays.  the days still pass, but it doesn't celebrate them, or
really care about when they happen.
15:36 <+iant> scriptdevil: yes, see the channel topic
15:36 < scriptdevil> iant: My fault.  Thanks :)
15:36 < dho> unfortunately at least sa_handler is anonymous in freebsd
15:36 < dho> so this is causing me grief
15:37 -!- coliv [n=Coliveir@12.15.114.194] has joined #go-nuts
15:37 -!- drusepth [n=drusepth@209.106.203.252] has joined #go-nuts
15:38 -!- AlHafoudh [i=0fc3b952@gateway/web/freenode/x-ifwhqjhzgciesfht] has quit
[Ping timeout: 180 seconds]
15:38 -!- jeamy [n=jeamy@85.124.97.10] has joined #go-nuts
15:39 <+iant> dho: for a while we just defined a version of Sigaction in
pkg/runtime/linux/386/signal.c, you could do the same
15:39 < dho> Ok.
15:39 < int-e> TheExit: it bugs me that a read can see values that it isn't
allowed to observe.
15:41 -!- sku [n=sk@217.175.14.88] has left #go-nuts []
15:42 -!- hiromtz [n=hiromtz@h150.p027.iij4u.or.jp] has quit [Read error: 110
(Connection timed out)]
15:42 -!- jetienne [n=jerome@ivr94-6-82-230-255-246.fbx.proxad.net] has quit
[Remote closed the connection]
15:42 <+iant> int-e: it may see them, it may not see them, there are no
guarantees
15:42 < TheExit> int-e, the semantics here work for me.  it's not the value
it can't see, it's the change in value, the action not its effect
15:43 < int-e> Maybe the "allowed to observe" part should just be dropped?
It isn't relevant for the 'guaranteed to observe' definition, and in the end that
one is the only one that matters.
15:43 -!- dpb9cpu [n=dpb@65.46.56.98] has joined #go-nuts
15:44 < TheExit> int-e, I think it might be elucidating re: what the
internals are doing.  that's just a guess though
15:44 -!- sku [n=sk@217.175.14.88] has joined #go-nuts
15:45 < TheExit> I mean if your variable changes in another thread say, you
don't see the code that changes it locally, but you always see a value for it
15:45 < TheExit> I think that's what it's speaking about
15:45 -!- erik__ [n=erik@66-90-186-185.ip.grandenetworks.net] has joined #go-nuts
15:46 < TheExit> I kind of like the language used, but I agree it can sound
misleading
15:46 < TheExit> otoh, I favour clarification of its usage where you'd like
to see a change in usage
15:47 -!- sobersabre [n=bilbo@85.64.34.22.dynamic.barak-online.net] has quit
[Remote closed the connection]
15:47 -!- sobersabre [n=bilbo@85.64.34.22.dynamic.barak-online.net] has joined
#go-nuts
15:47 <+iant> we'd be happy to look at a contribution for changed language
15:47 -!- xk0der [n=xk0der@122.171.5.157] has quit [Read error: 104 (Connection
reset by peer)]
15:47 < int-e> TheExit: in the end you'll observe values, values written to
the variable.  in the example with f() and g() there are two writes a, one during
initialisation (which happens before everything else) and one during the execution
of f().  Now it is claimed that the read of a in g() can read a value of 0 or 2;
i.e.  it can observe either write.  Ok, maybe my understanding of 'observe' is
really wrong.
15:48 -!- xk0der [n=xk0der@122.171.5.157] has joined #go-nuts
15:48 < dagle> I get this error: "cgo file.go , could not determine kind of
name for C.CString ..." when running all.bash
15:48 -!- sea-gull [n=sea-gull@95-28-13-185.broadband.corbina.ru] has quit ["Lost
terminal"]
15:48 -!- gcopenhaver [n=greg@c-68-43-205-148.hsd1.mi.comcast.net] has quit [Read
error: 110 (Connection timed out)]
15:48 < TheExit> int-e, yeah.  the way I see it, you're confusing observing
a write for observing a value
15:48 -!- kaigan|work
[n=kaigan@c-8290e255.1411-10-64736c14.cust.bredbandsbolaget.se] has left #go-nuts
[]
15:49 < TheExit> I mean that's my opinion, I don't know if that's what was
meant when it was written
15:49 -!- `ruiner` [n=ruiner@cpc1-hink4-2-0-cust97.8-2.cable.virginmedia.com] has
joined #go-nuts
15:49 -!- zsuxcia [n=zsuxcia@c80-217-131-97.bredband.comhem.se] has joined
#go-nuts
15:49 <+iant> dagle: what version of gcc?  what GOARCH?
15:50 < dho> ...well the runtime compiles now
15:50 < uriel> dho: congrats
15:50 < dho> uriel: i'm pretty sure that it generates linux binaries ;)
15:50 < uriel> hah!
15:50 < dagle> iant: 4.4.2 and amd64
15:51 -!- tor7 [n=tor@c-987a71d5.04-50-6c756e10.cust.bredbandsbolaget.se] has quit
[]
15:51 -!- gcopenhaver [n=greg@c-98-250-49-37.hsd1.mi.comcast.net] has joined
#go-nuts
15:51 < uriel> dho: we need l8g, f8g, ...  ;)
15:51 < scriptdevil> Stupid question.  If a is a map string [string],
a["Greet"] = {"Hello", "Heya"} will add a new key value pair to the map right?
15:51 <+iant> dagle: check the issues list, I guess, and file an issue if
there isn't one there already: I vaguely recall hearing something like that but I
don't know whether it was fixed
15:51 < `ruiner`> hello - is GOARCH=amd64 appropriate for a x86_64 linux?
15:51 -!- gcopenhaver [n=greg@c-98-250-49-37.hsd1.mi.comcast.net] has left
#go-nuts []
15:51 <+iant> `ruiner`: yes
15:51 < dagle> iant: Ok.
15:52 < jb55> I have an json array containing 20 objects and json.Unmarshal
works on every object in the array except the 8th and 16th one.  My test data is
the public twitter timeline.  Unmarshal bug?  8 and 16 look suspicious...  anyone
else have any issues with json.Unmarshal?
15:52 < `ruiner`> thanks - in which case, has anyone else had their go
process say 'Killed' as soon as it runs?
15:52 <+iant> scriptdevil: that looks like a syntax error to me; a["Greet"]
= "Hello" will add a new key/value pair
15:52 < scriptdevil> iant: The second element is an array of strings
15:52 <+iant> `ruiner`: I have not heard that, no
15:52 < `ruiner`> everything compiles fine until the tests are run..  :s
15:53 -!- r00ttap [n=wjones@c-98-225-129-81.hsd1.pa.comcast.net] has joined
#go-nuts
15:53 <+iant> scriptdevil: for map[string] string you can only add a string
value
15:53 < int-e> TheExit: Perhaps.  To me, a read observes a write if it
returns the value written by that particular write.  (For the purpose of arguing
about this, assume that every value is annotated with the write operation it
originated from, so no two values written can ever be the same.)
15:53 -!- anders_ [n=anders@c83-253-2-206.bredband.comhem.se] has quit ["Leaving"]
15:53 < scriptdevil> iant: Well.  Sorry.  Isnt map[string][string] possible?
15:53 <+iant> `ruiner`: if you are running a very new Fedora it might be
related to SELinux
15:53 < `ruiner`> i'm running quite an old linux install, so i think i'll
see if i do some more debugging
15:54 < `ruiner`> heh :)
15:54 < dho> ugh
15:54 <+iant> scriptdevil: you mean map[string][]string?  that is possible
15:54 < `ruiner`> using linux 2.6.9-55.0.9.ELsmp #1, fedora 4
15:54 < dho> pkg/syscall = fail
15:54 -!- Quadrescence [n=quad@unaffiliated/quadrescence] has quit
["omghaahhahaohwow"]
15:54 < `ruiner`> er, make that centos 4, ahem
15:55 <+iant> scriptdevil: given map[string][]string, you could write
m["greet"] = []string{"hi", "hello"}
15:55 -!- anders_ [n=anders@83.253.2.206] has joined #go-nuts
15:55 < scriptdevil> iant: Well.  Got my syntax wrong.  Thanks a ton
15:56 -!- Fyb3roptik [n=Fyb3ropt@99.68.199.81] has joined #go-nuts
15:56 < Fyb3roptik> hey all
15:56 < Fyb3roptik> anyone on?
15:56 < dho> no.
15:56 < Fyb3roptik> haha
15:56 < Fyb3roptik> having some issues installing go
15:56 <+iant> Fyb3roptik: first look at the wiki page in the channel topic
15:56 < Fyb3roptik> ok
15:57 -!- Ishmael [n=ishmael@189.96.82.37] has joined #go-nuts
15:57 < int-e> TheExit: btw, here is a fun one: var a int func f() { a = 0 }
func g() { print(a) } func main() { go f(); g() } // is this guaranteed to print
0?
15:58 -!- zuhaib [n=zuhaib@netblock-68-183-230-200.dslextreme.com] has joined
#go-nuts
15:58 -!- ako [n=nya@e179094098.adsl.alicedsl.de] has joined #go-nuts
15:58 < Fyb3roptik> ok not in the wiki
15:58 < Fyb3roptik> im on os x 10.6.2
15:58 < Fyb3roptik> i do export $GOBIN=$HOME/bin
15:58 < Fyb3roptik> and it returns
15:58 -!- engla [n=ulrik@wikipedia/Sverdrup] has joined #go-nuts
15:58 < Fyb3roptik> export: `=/var/root/bin': not a valid identifier
15:58 < TheExit> int-e, it's not according to the discussion.  unless I've
misunderstood it
15:58 < vegai> int-e: var a int alone initializes a to 0, desn't it?
15:58 < cbus> fyb3roptik, drop the $
15:58 < cbus> fyb3roptik, in $GOBIN
15:58 < Fyb3roptik> ok
15:58 < int-e> vegai: yes.  but there is a write concurrent to the read.
15:59 < Fyb3roptik> omg im retarded
15:59 -!- scriptdevil [n=scriptde@122.174.160.222] has quit ["leaving"]
15:59 -!- jbustos [n=jbustos@nat/redhat/x-muosgmekacuwujns] has joined #go-nuts
15:59 <+iant> biab
15:59 -!- iant [n=iant@67.218.103.206] has quit ["Leaving."]
15:59 < Fyb3roptik> ok i do the ./all.bash
15:59 -!- arik181 [i=arik181@firefly.cat.pdx.edu] has left #go-nuts ["WeeChat
0.3.0"]
15:59 -!- zuhaib [n=zuhaib@netblock-68-183-230-200.dslextreme.com] has left
#go-nuts []
15:59 < Fyb3roptik> and it returns the same thing as before
15:59 < Fyb3roptik> $GOBIN is not a directory or does not exist
15:59 < sergio> create it?
15:59 < int-e> TheExit: I think so too.
15:59 < TheExit> int-e, but...  I just think of the "write" as referring to
the actual expression that is written, saying nothing of the value syncing up with
other threads
15:59 < GeDaMo> mkdir $GOROOT/bin
15:59 < cbus> export GOBIN=$HOME/bin
16:00 < cbus> ahh
16:00 < cbus> gotta run
16:00 < Fyb3roptik> ah
16:00 < GeDaMo> Er, sorry, mkdir $GOBIN
16:00 < TheExit> maybe if it was worded "write statement" is unobservable,
would that make more sense?
16:00 < int-e> no.
16:01 < Fyb3roptik> ok so how do i make sure it is in my $PATH
16:01 -!- binaryjohn [n=binaryjo@cpe-24-30-132-50.san.res.rr.com] has joined
#go-nuts
16:01 * int-e would think that the code in execution doesn't observe any
statements at all :)
16:01 -!- punya [n=punya@punya.Stanford.EDU] has joined #go-nuts
16:01 * int-e shrugs.
16:02 -!- abhi7nero [i=765f287d@gateway/web/freenode/x-wskxzvgmrqqwrphv] has
joined #go-nuts
16:02 -!- jeamy [n=jeamy@85.124.97.10] has quit [Remote closed the connection]
16:02 < abhi7nero> How can I get my CPU/PC architecture in Ubuntu?  ['uname
-a' is giving OS arch.]
16:02 -!- piotr [n=piotr@chello084010208203.chello.pl] has joined #go-nuts
16:02 < Gracenotes> it's funny, just a few weeks ago I had come up with the
idea of grouping arbitrary functions with arbitrary data types (with an implicit
'this') e.g, Int: addTo(other) { return this+other }...  great to see my ideas
being adapted into a major programming language :P j/k
16:02 < sergio> Fyb3roptik, something like "export PATH=$PATH:$GOBIN" should
do it
16:02 < vegai> abhi7nero: uname -m
16:03 < Fyb3roptik> ty that did it
16:03 < Fyb3roptik> now to learn this wonderful language
16:03 < Fyb3roptik> =)
16:03 < Gracenotes> at least, in the syntactical sense..
16:03 < abhi7nero> vegai: thanks ...got it...  giving i686..  so a 32-bit...
16:03 < uriel> Gracenotes: ken is not just very smart, but he is omniscient
too and knew what you would think of two years in advance ;P
16:04 -!- aho [n=nya@f050248046.adsl.alicedsl.de] has quit [Read error: 60
(Operation timed out)]
16:04 < Gracenotes> anyway, I can still work on my PL..  I'm more interested
in Hindley-Milner than in Go's duck-interfacing
16:04 < Gracenotes> and explicit sum and products in types
16:04 -!- Vershun [n=vershun@174-16-140-142.hlrn.qwest.net] has quit [Read error:
60 (Operation timed out)]
16:04 -!- Vershun [n=vershun@174-16-140-142.hlrn.qwest.net] has joined #go-nuts
16:04 -!- Fyb3roptik [n=Fyb3ropt@99.68.199.81] has left #go-nuts []
16:04 < Snert> __gilles you about?
16:05 < Gracenotes> (rather than just a product, aka struct)
16:05 -!- jbustos [n=jbustos@nat/redhat/x-muosgmekacuwujns] has quit ["Leaving"]
16:05 < Gracenotes> uriel: :P
16:05 < vegai> Gracenotes: perhaps you should add a bug report "hey, I
thought of that"
16:06 < jessta> Gracenotes: I had same idea this time last year, but I gave
up on it because I didn't think it would work
16:07 < jessta> I imagine a lot of people thought of it, it's the general
outcome of attempting to do object orientated programming in C
16:07 < Gracenotes> heh.  I suppose it is sort of a short step from the idea
of functions with an implicit this defined in some class structure, to functions
with an explicit this defined outside of it, in the absence of any contract
16:07 -!- Aszarsha [n=aszarsha@91-164-133-11.rev.libertysurf.net] has quit
[Connection timed out]
16:08 < Gracenotes> yeah.  I do have a special syntax associated with it, as
well.
16:08 -!- iant [n=iant@nat/google/x-nwuqphkaccgatekm] has joined #go-nuts
16:08 -!- mode/#go-nuts [+v iant] by ChanServ
16:08 -!- abhi7nero [i=765f287d@gateway/web/freenode/x-wskxzvgmrqqwrphv] has quit
["(:()"]
16:08 < dho> iant: is there some C version of gofmt you guys used for
pkg/syscall?
16:08 <+iant> dho: no, just hand formatted
16:08 -!- drusepth [n=drusepth@209.106.203.252] has quit [Read error: 110
(Connection timed out)]
16:08 < dho> mkall tries to run gofmt.
16:09 <+iant> huh
16:09 <+iant> oh wait, I got confused
16:09 <+iant> I think we just assume that gofmt was built already
16:09 <+iant> bootstrapping problem
16:10 <+iant> we only started running gofmt everywhere after we had gofmt
16:10 < dho> heh
16:11 -!- alabala [n=ivan@95.87.216.153] has quit ["leaving"]
16:11 -!- batonius [n=user@line145-29.adsl.kirov.ru] has joined #go-nuts
16:11 * dgnorton needs a "Go For Dummys" book
16:11 -!- binaryjohn [n=binaryjo@cpe-24-30-132-50.san.res.rr.com] has quit []
16:12 < vegai> given the speed things seem to be going now, 5 of those will
be available by the end of this week
16:12 * Gracenotes hands dgnorton a "Self-Esteem for Dummies" book
16:12 -!- Fruktsoda [i=EchoB@unaffiliated/fruktsoda] has left #go-nuts []
16:13 -!- npe [n=npe@195.207.5.2] has quit [No route to host]
16:13 < kill-9_> heh
16:13 -!- binaryjohn [n=binaryjo@cpe-24-30-132-50.san.res.rr.com] has joined
#go-nuts
16:15 -!- decriptor [n=decripto@137.65.132.18] has joined #go-nuts
16:15 < octoploid> If I don't use i in a for loop, how can I simplify "for
i,x := range v"?
16:16 <+iant> octoploid: are you looking for "for _,x := range v"?
16:16 < octoploid> iant: Thanks
16:16 -!- nddrylliog [n=nddrylli@ile74-2-82-247-195-175.fbx.proxad.net] has joined
#go-nuts
16:16 -!- nddrylliog [n=nddrylli@ile74-2-82-247-195-175.fbx.proxad.net] has left
#go-nuts ["*flash*"]
16:18 < dgnorton> iant: what's that do?
16:18 -!- rizwanhudda [n=rizwan@115.117.201.54] has joined #go-nuts
16:18 <+iant> A variable named "_" is just a sink for a value, it avoids
warnings about not using a variable
16:18 < rizwanhudda> any one doing some-thing practical in go!
16:18 < Innominate> So uh iterating through a vector i noticed it's slow as
FUCK, is there some reason for this or am I just doing something dumb to make it
so?
16:18 < rizwanhudda> or just exploring syntax
16:19 < dgnorton> rizwanhudda: i'm trying to
16:19 < rizwanhudda> dnorton: what are u trying to
16:19 < rizwanhudda> btw why is every one
16:19 -!- spook[]_ is now known as spook[]
16:19 < rizwanhudda> 's name displayed in some color except mine
16:20 < dgnorton> rizwanhudda: something simple that I've already done in
C++...find all US zip codes within a specified radius of another zip code
16:20 < rizwanhudda> dgnorton: yes it sounds interesting..what database do
you use
16:21 -!- ZenCrab [n=toor@unaffiliated/coconutcrab] has joined #go-nuts
16:21 < dgnorton> rizwanhudda: some csv file i found on the net
16:21 -!- binaryjohn [n=binaryjo@cpe-24-30-132-50.san.res.rr.com] has quit []
16:21 < rizwanhudda> ok its good..suggest me some simple application too..
16:22 < rizwanhudda> dgnorton: i too want to try something like that but no
ideas
16:22 < dgnorton> rizwanhudda: doesn't matter...do something you've done in
some other language that fairly simple
16:23 -!- josephholsten [n=josephho@adsl-70-234-143-217.dsl.tul2ok.sbcglobal.net]
has joined #go-nuts
16:23 -!- vustyle [n=vustyle@c-24-13-24-58.hsd1.in.comcast.net] has joined
#go-nuts
16:23 -!- KillerX [n=anant@gentoo/developer/KillerX] has quit ["Leaving."]
16:23 < piotr> I've made bindings to SDL and opengl:
http://github.com/banthar/Go-SDL
16:23 -!- WMBr [n=admin@200.149.1.22] has joined #go-nuts
16:23 < vustyle> any port to windows dev tools?
16:24 -!- josh0x0 [n=josh@pool-74-97-205-21.atl01.dsl-w.verizon.net] has quit
[Read error: 110 (Connection timed out)]
16:24 -!- monkfish [n=chatzill@pc4231.stdby.hin.no] has quit [Read error: 113 (No
route to host)]
16:24 -!- Daminvar [n=Daminvar@129.21.81.77] has joined #go-nuts
16:24 < vustyle> anyone used Cygwin as possible dev environment?
16:24 <+iant> piotr: nice!
16:24 -!- monkfish [n=chatzill@158.39.124.231] has joined #go-nuts
16:25 -!- listerine is now known as redJohn
16:25 < jb55> piotr: awesome
16:25 -!- hiromtz [n=hiromtz@h150.p027.iij4u.or.jp] has joined #go-nuts
16:25 -!- batonius [n=user@line145-29.adsl.kirov.ru] has quit ["ERC Version 5.3
(IRC client for Emacs)"]
16:25 -!- josephholsten [n=josephho@adsl-70-234-143-217.dsl.tul2ok.sbcglobal.net]
has quit [Client Quit]
16:25 -!- slide_rule [i=810287a4@gateway/web/freenode/x-paohmtfizjuxtcwn] has
joined #go-nuts
16:26 < piotr> i dont thing everything is working, but you can draw
triangles, and grab events from sdl
16:26 -!- Erihel [n=Erihel@62.61.44.66] has joined #go-nuts
16:26 -!- ragsagar [n=ragsagar@117.204.101.187] has joined #go-nuts
16:26 -!- mainman__ [i=d5cba85b@gateway/web/freenode/x-orpvgiiqopvduups] has quit
["Page closed"]
16:27 < olegfink> iant: could there be a section on golang.org linking to
other people's packages?
16:27 -!- rizwanhudda [n=rizwan@115.117.201.54] has left #go-nuts ["Leaving"]
16:27 -!- cworth` [n=cworth@u15218177.onlinehome-server.com] has joined #go-nuts
16:27 -!- joseph [n=chatzill@adsl-074-180-034-218.sip.jax.bellsouth.net] has
joined #go-nuts
16:27 -!- rhaggert [n=rhaggert@columbia.tresys.com] has quit ["Leaving"]
16:27 -!- joseph [n=chatzill@adsl-074-180-034-218.sip.jax.bellsouth.net] has left
#go-nuts []
16:27 <+iant> olegfink: I think for now we should just use the wiki
16:27 <+iant> and have golang.org point over to the wiki
16:28 < olegfink> "the wiki"?
16:28 <+iant> http://code.google.com/p/go/wiki
16:28 < olegfink> ah
16:28 < harryv> hm.  *TCPConn.Write() has the tendency to write stuff in the
same place
16:28 -!- Gracenotes [n=person@wikipedia/Gracenotes] has quit ["brb"]
16:29 -!- ruda [n=ruda@poassf1.corp.terra.com.br] has joined #go-nuts
16:29 -!- josephholsten [n=josephho@adsl-70-234-143-217.dsl.tul2ok.sbcglobal.net]
has joined #go-nuts
16:29 -!- mainman__ [i=d5cba85b@gateway/web/freenode/x-xiljftntydznwzmx] has
joined #go-nuts
16:29 -!- listerine [n=OMG@187-032-068-089.static.ctbctelecom.com.br] has joined
#go-nuts
16:30 -!- redJohn [n=OMG@187-032-068-089.static.ctbctelecom.com.br] has quit [Nick
collision from services.]
16:30 < olegfink> it's not even linked from the gcode summary page (but
reading the topic wouldn't have hurt me)
16:30 -!- listerine is now known as redJohn
16:30 < jessta> harryv: in the same place?
16:30 < harryv> jessta: trying to see if I can recreate it.
16:31 -!- int-e [n=noone@td9091a64.pool.terralink.de] has quit [Remote closed the
connection]
16:31 -!- int-e [n=noone@td9091a64.pool.terralink.de] has joined #go-nuts
16:31 -!- keithpoole [n=keithpoo@cpc3-bagu8-0-0-cust84.bagu.cable.ntl.com] has
joined #go-nuts
16:32 -!- redJohn [n=OMG@187-032-068-089.static.ctbctelecom.com.br] has quit
[Client Quit]
16:32 < harryv> which I can't.  yay.
16:32 -!- Rob_Russell [n=chatzill@206-248-157-156.dsl.teksavvy.com] has joined
#go-nuts
16:33 -!- dragon3 [n=dragon3@122.208.75.82] has joined #go-nuts
16:33 -!- hebroon [n=hebroons@p57bdc5.hkidnt01.ap.so-net.ne.jp] has quit
["Leaving..."]
16:33 -!- encolpe [n=encolpe@gai69-3-82-235-15-3.fbx.proxad.net] has quit
["Leaving"]
16:34 -!- sobersabre [n=bilbo@85.64.34.22.dynamic.barak-online.net] has quit
[Remote closed the connection]
16:34 < keithpoole> I've just tried running the primes example program and
I've noticed something odd about the performance - I was using the GOMAXPROCS
function to use either 1 or 2 cores and it runs slower using both cores of my
machine.
16:34 -!- sobersabre [n=bilbo@85.64.34.22] has joined #go-nuts
16:35 < __gilles> Snert: yup
16:35 -!- aa [n=aa@r200-40-114-26.ae-static.anteldata.net.uy] has joined #go-nuts
16:35 < __gilles> but about to go :-)
16:35 < Snert> ah
16:35 < __gilles> like, in 5 minutes
16:35 -!- kertak [n=kertak@78.233.124.158] has quit [Client Quit]
16:35 < __gilles> before someone throws more work at me :-)
16:35 < Snert> well I've manage to get as far as cmd/cgo
16:35 -!- kertak [n=kertak@78.233.124.158] has joined #go-nuts
16:35 -!- trickie [n=trickie@94.100.112.225] has quit [Read error: 60 (Operation
timed out)]
16:35 < __gilles> cool
16:35 < Snert> so all the compiler and pkg tree build
16:36 < __gilles> awesome
16:36 < Snert> but the last little bit is proving odd
16:36 < Snert> anyway we can talk more over the weekend
16:36 -!- KillerX [n=anant@145-116-234-40.uilenstede.casema.nl] has joined
#go-nuts
16:37 -!- cworth [n=cworth@u15218177.onlinehome-server.com] has quit [Read error:
110 (Connection timed out)]
16:38 < sobersabre> hi guys.  for debian users here's a script to install go
on debian from mercurial http://github.com/mvk/Scripts/blob/master/gogogo.sh
16:38 -!- cworth` is now known as cworth
16:38 < __gilles> yeah, ill have more time this week end
16:38 < __gilles> catch you later, im off
16:39 < Snert> question about this error
16:39 < Snert> goos is not known: openbsdn??none??: cannot open file:
/home/achowe/Projects/org/golang/go/pkg/openbsd_386/tabwriter.a
16:39 < Snert> yet the tabwriter.a exists
16:39 < sobersabre> please comment by sending patches...
16:39 < sobersabre> it currently supports only intel/amd cpus.
16:39 < sobersabre> I don't have any other machines at hand now so...  I
cannot test.
16:39 <+iant> Snert: looks like a problem with GOROOT or GOOS environment
variable
16:39 < sobersabre> Regards.
16:40 < Snert> GOROOT=/home/achowe/Projects/org/golang/go
16:40 < Snert> GOOS=openbsd
16:40 <+iant> Snert: Only GOOS=darwin and GOOS=linux are really supported at
the moment; perhaps you are using some OpenBSD patches?
16:41 < Snert> iant: I've been working on the prt#
16:41 < Snert> on teh port
16:41 <+iant> I see
16:41 < Snert> but can't figure out what is missing for cgo
16:41 <+iant> You need to patch 6l/obj.c and/or 8l/obj.c to recognize
openbsd as a GOOS value
16:42 < Snert> AH!
16:42 < Snert> no one mentioned that one; cheers
16:42 -!- slide_rule [i=810287a4@gateway/web/freenode/x-paohmtfizjuxtcwn] has quit
["Page closed"]
16:42 -!- Erihel [n=Erihel@62.61.44.66] has quit ["Leaving"]
16:42 < Snert> Ying tong iddle I po
16:43 < Snert> iant: next question is what does HEADTYPE in 8l/obj.c
represent?
16:43 <+iant> Snert: see the switch shortly below
16:44 <+iant> you probably want to copy the values for linux
16:44 <+iant> i.e., use the same HEADTYPE as linux
16:44 < wollw> keithpoole: yeah, me too
16:44 < Snert> OpenBSD using same header as Linux; hmmm
16:44 -!- delza [n=delza@209-52-232-202.vlan452.static.ucc-net.ca] has joined
#go-nuts
16:45 <+iant> Snert: well, they are both ELF
16:45 < Snert> can hurt to try Linux, natlve elf, and coff
16:46 -!- kaib [n=kaib@c-76-102-52-156.hsd1.ca.comcast.net] has joined #go-nuts
16:46 -!- mode/#go-nuts [+v kaib] by ChanServ
16:47 -!- clajo04_ [n=clajo04_@74.72.55.57] has joined #go-nuts
16:47 -!- kaib [n=kaib@c-76-102-52-156.hsd1.ca.comcast.net] has quit [Client Quit]
16:47 -!- me___ [n=venkates@c-68-55-179-48.hsd1.md.comcast.net] has quit [Read
error: 110 (Connection timed out)]
16:47 -!- JasonWoof [n=jasonwoo@fsf/member/herkamire] has joined #go-nuts
16:47 -!- ZenCrab [n=toor@unaffiliated/coconutcrab] has quit ["zzz"]
16:48 -!- ako is now known as aho
16:49 < JasonWoof> I'd like to fiddle around with making a gui app.  Has
anybody made wrappers/bindings for gtk or SDL or something?
16:49 -!- sm [n=sm@cpe-75-85-88-227.socal.res.rr.com] has quit [Read error: 113
(No route to host)]
16:49 -!- chid [n=dorl@c122-106-95-175.rivrw1.nsw.optusnet.com.au] has quit []
16:50 < JasonWoof> failing that, where can I find info on the foreign
function call interface thing I've heard mention of?
16:50 -!- c_Xr37 [n=spitfire@189.231.132.205] has joined #go-nuts
16:50 -!- sm_ [n=sm@cpe-76-173-194-242.socal.res.rr.com] has joined #go-nuts
16:50 < GeDaMo> JasonWoof: (16:24:31) piotr: I've made bindings to SDL and
opengl: http://github.com/banthar/Go-SDL
16:51 < JasonWoof> rad!
16:51 -!- toumbia [n=toumbia@216.144.118.20] has joined #go-nuts
16:51 < mainman__> cool
16:51 -!- jeng [n=chatzill@75.110.231.66] has joined #go-nuts
16:51 -!- sm_ is now known as sm
16:53 -!- temoto_ [n=temoto@217.173.74.146] has joined #go-nuts
16:53 -!- temoto_ [n=temoto@217.173.74.146] has left #go-nuts ["WeeChat
0.3.1-dev"]
16:55 -!- hipe [n=hipe@69.193.196.185] has quit [Remote closed the connection]
16:55 -!- armence [n=armence@c-67-188-229-128.hsd1.ca.comcast.net] has joined
#go-nuts
16:55 -!- c_Xr37 [n=spitfire@189.231.132.205] has left #go-nuts []
16:56 -!- kassens [n=kassens@P3106.pallas.wh.tu-darmstadt.de] has quit []
16:57 -!- daxelrod [n=daxelrod@164.55.254.106] has joined #go-nuts
16:57 < alus> neat
16:57 < alus> re: gl and sdl support
16:57 < Snert> iant: still a little stuck ...
/home/achowe/Projects/org/golang/go/src/cmd/cgo
16:57 < Snert> 8g -o _go_.8 ast.go gcc.go main.go out.go util.go
16:57 < Snert> 8l -o cgo _go_.8
16:57 < Snert> ??none??: cannot open file:
/home/achowe/Projects/org/golang/go/pkg/openbsd_386/tabwriter.a
16:58 * exDM69 wonders how good the gl bindings are
16:58 -!- philcrissman [n=philcris@c-75-72-98-108.hsd1.mn.comcast.net] has quit
[Remote closed the connection]
16:58 -!- philcrissman [n=philcris@c-75-72-98-108.hsd1.mn.comcast.net] has joined
#go-nuts
16:58 < aho> GeDaMo, ace :)
16:58 -!- diltsman [n=diltsman@128.187.146.104] has joined #go-nuts
16:59 < GeDaMo> I didn't write those bindings
16:59 -!- _64k [n=bbsol@62.172.216.8] has quit ["Leaving."]
16:59 -!- drusepth [n=drusepth@209.106.203.252] has joined #go-nuts
16:59 < GeDaMo> I was repeating an earlier message
16:59 < Shihan> snert, your importing something called tabwriter somewhere?
16:59 < JasonWoof> GeDaMo: test-sdl works great!  especially now that I put
a test.png in place
17:00 < GeDaMo> The sdl / opengl bindings were written by piotr
17:00 < Snert> shihan: i'm trying to port go to openbsd; i suspect the .a
file formats are problematic
17:00 < piotr> exDM69: test-gl draws a triangle, i didnt tested other
functions
17:00 < Snert> i might have made a wrong choice at some point
17:00 -!- akdom [n=akesling@nom27822d.nomadic.ncsu.edu] has joined #go-nuts
17:00 < Snert> just have to figure out which
17:00 -!- nexneo [n=niket@115.108.175.41] has joined #go-nuts
17:00 < Shihan> oh right, fair enough
17:00 -!- raichoo [n=raichoo@i577AC161.versanet.de] has joined #go-nuts
17:00 < exDM69> piotr: it was fixed function mostly?
17:01 < exDM69> I'm more intrested in OpenGL 3 and comparable extension
functionality
17:01 < Snert> nm achowe@puff$ nm tabwriter.a
17:01 < Snert> nm: tabwriter.a: bad format archive header
17:01 < dho> so, all of pkg/ compiled
17:01 < dho> it's probably all wrong :)
17:01 < exDM69> go could help me with the frustration I'm having with C++,
which is almost the only good choice for OpenGL programming
17:01 < Snert> well it compiled as far as cgo
17:02 < piotr> exDM69: it's only basic opengl, i will work on it later
17:02 -!- ineol [n=hal@mar75-9-88-171-191-168.fbx.proxad.net] has joined #go-nuts
17:02 < exDM69> piotr: have you considered automatic code generation?
17:02 < Snert> but the .a files are not built correct, so I must have
selected something wrong; not sure what yet
17:03 < Snert> i bet if I got past this hurdle, the initial OpenBSD port
would be ready to test
17:03 < piotr> exDM69: sdl is done by hand, gl was done with perl script
17:03 < Shihan> snert, i dont think .a files for go are the same as those
generate with ar...
17:03 < exDM69> piotr: what did you use as the source for the gl-binding
generating perl script?
17:03 < Shihan> nm: ./pkg/linux_386/tabwriter.a: File format not recognized
17:04 < Snert> ok, well that helps
17:04 -!- keithpoole [n=keithpoo@cpc3-bagu8-0-0-cust84.bagu.cable.ntl.com] has
quit []
17:04 -!- zoonfafer [n=quassel@n218103193198.netvigator.com] has quit [Read error:
104 (Connection reset by peer)]
17:04 < Snert> eliminates one possible
17:05 < Shihan> there is an alternate command....  6nm
17:05 < piotr> exDM69: gl.c, look at the Makefiles
17:06 -!- piotr [n=piotr@chello084010208203.chello.pl] has quit ["bbl"]
17:07 -!- rutkowski [n=adrian@078088213039.walbrzych.vectranet.pl] has joined
#go-nuts
17:07 < Snert> Shihan, iant: I noticed that 8l has this warning
"../ld/macho.c:446: warning: right shift count >= width of type"
17:08 -!- dragon3 is now known as dragon3_away
17:08 -!- dpb9cpu [n=dpb@65.46.56.98] has quit [Read error: 148 (No route to
host)]
17:10 -!- mwoods79 [n=mwoods79@c-98-239-44-237.hsd1.la.comcast.net] has joined
#go-nuts
17:10 -!- nexneo [n=niket@115.108.175.41] has quit ["Bye"]
17:10 -!- mainman__ [i=d5cba85b@gateway/web/freenode/x-xiljftntydznwzmx] has quit
["Page closed"]
17:10 -!- crc32 [n=crc@nat-412.sat.rackspace.com] has joined #go-nuts
17:12 < crc32> Does go support dynamic linking to the Standard C libraies?
17:12 < Shihan> snert: same, ../ld/macho.c:446: warning: right shift count
>= width of type
17:13 -!- Messi [n=n@13.231.221.87.dynamic.jazztel.es] has joined #go-nuts
17:13 < Snert> ok
17:13 < Messi> juego de boxeo online
http://www.kobox.org/kobox-fande-Nourine.html
17:13 -!- Messi [n=n@13.231.221.87.dynamic.jazztel.es] has left #go-nuts []
17:13 < Shihan> crc32: you can write go wrappers to c libraries, yeah
17:13 < dho> Snert: You should look at kris's kencc port for help maybe
17:13 < dho> Snert: you have all the pkg/runtime stuff done?
17:15 < rog> is there some documentation somewhere on which comments godoc
interprets as metadata?
17:15 < Snert> dho: yes at least all the initial stuff such that the pkg
appears to compiles before going onto libcgo and cgo
17:15 -!- drusepth` [n=drusepth@209.106.203.252] has joined #go-nuts
17:16 -!- mizai [n=mizai@rhou-164-107-213-187.resnet.ohio-state.edu] has joined
#go-nuts
17:16 < dho> ah
17:16 < dho> I still need to get exit and the runtime mmap stuff done
17:16 -!- c0nfl|ct [n=tiago@83.240.182.217] has quit ["Saindo"]
17:17 < Snert> dho: i'll have to go back to implement polling and some other
syscalls, but the bulk are done, at least enough to get the src/pkg to compile
17:18 -!- bobappleyard1 [n=bob@cpc4-macc1-0-0-cust170.bagu.cable.ntl.com] has
joined #go-nuts
17:18 -!- flyfish_ [n=flyfish@pixout.appriss.com] has joined #go-nuts
17:18 -!- p4p4_ [n=P4p4@24.106.113.82.net.de.o2.com] has joined #go-nuts
17:19 < bobappleyard1> is there any generic copy function anywhere
17:19 < bobappleyard1> or do i hate to do it myself
17:19 < bobappleyard1> *have
17:19 -!- Stotherd [n=davidsto@gi0-0.cr1.vg1.core.bfs.wombatfs.net] has quit
["Leaving."]
17:20 -!- Shihan [n=pjr@203-214-12-122.dyn.iinet.net.au] has quit ["so far past my
bedtime its crazy"]
17:20 < Snert> dho: gopack appears responsible for building the .a files
17:21 < crc32> no I mean like my 8,out files are staticly linked.  the
helloworld.go is 512Kilo bytes staticly linked.
17:21 < scandal> i'm using cgo to wrap a C library function that malloc()s a
char* and returns it.  it is not clear to me how i go about making sure the memory
is free()d.  anyone taken a look at this?
17:22 -!- Omega [n=Omega@199.2.117.160] has quit [Read error: 145 (Connection
timed out)]
17:22 < dho> sigh
17:22 < dho> Snert: you be here for a while?
17:22 -!- Omega [n=Omega@201.229.26.197] has joined #go-nuts
17:22 -!- KillerX [n=anant@gentoo/developer/KillerX] has quit ["Leaving."]
17:22 < Snert> have to pop out to teh neighbours; back in an hour
17:23 < dho> that's fine; i'm otl
17:24 < olegfink> on the "go pastebin" topic, vpaste.net now got the go
filetype.
17:27 -!- rj_ [n=rj@ECEgpDHCP8.ece.ualberta.ca] has joined #go-nuts
17:27 -!- diltsman [n=diltsman@128.187.146.104] has quit []
17:27 -!- kim__ [n=kim@207-179-227-215.mtco.com] has quit [Remote closed the
connection]
17:28 < rj_> Hello, new to go.
17:28 < rj_> Looking for documentation on FFI, but have not found it yet.
I've only found some examples in the code.
17:28 -!- binaryjohn [n=binaryjo@cpe-24-30-132-50.san.res.rr.com] has joined
#go-nuts
17:29 -!- hector [n=chatzill@client-86-0-126-58.nrth.adsl.virginmedia.com] has
joined #go-nuts
17:29 < scandal> rj_: i'm doing the same.  doesn't appear to be anything
yet.
17:29 < GeDaMo> Have you looked at the gmp example?
17:29 < rj_> No, haven't checked out the gmp example yet.
17:30 < rj_> Good place to start?
17:30 < GeDaMo> I only looked at it briefly but it seems to cover the basics
17:30 -!- kim__ [n=kim@207-179-227-215.mtco.com] has joined #go-nuts
17:30 < ptrb> scandal: AFAIK, you can't -- you need to create another
wrapper function to free() it, and call that second wrapper from go
17:30 -!- diltsman [n=diltsman@128.187.146.104] has joined #go-nuts
17:30 < rj_> All right, I'll start there then.  Thanks for the pointer.
17:31 < rj_> ...  so to speak
17:33 < flyfish_> Trying to install go and I am getting the following error
"$GOROOT is not set correctly or not exported".  When I echo $GOROOT I get
/usr/local/lib/go which is where I put it.  Any ideas?
17:33 -!- hiromtz [n=hiromtz@h150.p027.iij4u.or.jp] has quit [Read error: 110
(Connection timed out)]
17:33 -!- rj_ [n=rj@ECEgpDHCP8.ece.ualberta.ca] has quit ["Leaving"]
17:34 -!- kochismo [n=plop@minerva.redbrick.dcu.ie] has left #go-nuts []
17:34 -!- necromancer [n=necroman@c-69-142-78-178.hsd1.pa.comcast.net] has joined
#go-nuts
17:35 -!- necromancer [n=necroman@c-69-142-78-178.hsd1.pa.comcast.net] has quit
[Client Quit]
17:35 -!- binaryjohn [n=binaryjo@cpe-24-30-132-50.san.res.rr.com] has quit []
17:35 -!- paraboul [n=para@82.231.24.149] has quit ["This computer has gone to
sleep"]
17:36 < eno> is there scanf/fscanf in some pkg?
17:37 -!- filou [n=micha@p57B9A4A3.dip0.t-ipconnect.de] has joined #go-nuts
17:38 < ptrb> eno: you can use package "io" with the reader of your choice,
eg.  stdin or a file or whatever
17:38 -!- akdom [n=akesling@nom27822d.nomadic.ncsu.edu] has quit ["Leaving."]
17:38 -!- kim__ [n=kim@207-179-227-215.mtco.com] has quit [Remote closed the
connection]
17:39 -!- Ishmael [n=ishmael@189.96.82.37] has quit ["Leaving"]
17:39 < eno> k, thx
17:39 -!- drusepth` [n=drusepth@209.106.203.252] has quit [Read error: 60
(Operation timed out)]
17:39 < eno> but these are all reading bytes to buffer
17:40 < eno> is there a gets?
17:40 -!- kim__ [n=kim@207-179-227-215.mtco.com] has joined #go-nuts
17:40 < ptrb> you want to do console input?
17:40 -!- markovuksanovic [n=markovuk@93-136-97-29.adsl.net.t-com.hr] has joined
#go-nuts
17:40 < eno> no, file input
17:40 -!- muntasir [n=muntasir@202.72.235.204] has joined #go-nuts
17:40 < eno> but prefer line by line
17:41 -!- zerofluid [n=zeroflui@ip68-227-10-141.lv.lv.cox.net] has joined #go-nuts
17:41 -!- RazvanM [n=RazvanM@dazzler.isi.jhu.edu] has joined #go-nuts
17:41 -!- zerofluid [n=zeroflui@ip68-227-10-141.lv.lv.cox.net] has quit [Client
Quit]
17:41 < ptrb> well there's a buffered io package "bufio"
17:42 -!- zerofluid [n=zeroflui@ip68-227-10-141.lv.lv.cox.net] has joined #go-nuts
17:42 -!- WalterMundt [n=waltermu@twiki/developer/EtherMage] has joined #go-nuts
17:42 -!- npe [n=npe@94-224-251-223.access.telenet.be] has joined #go-nuts
17:42 < ptrb> but I don't see how the io.Reader interface wrapping a file
object won't do what you want
17:43 < WalterMundt> Off-hand, is anyone doing anything with XMPP in Go? It
seems like it would be a lovely language to write XMPP servers/services in.
17:43 < eno> yeah, bufio.ReadString is what I want
17:43 < eno> thx
17:43 < ptrb> ah cool, good luck
17:43 -!- ericmc [n=emc@pdpc/supporter/student/ericmc] has joined #go-nuts
17:44 -!- clearscreen [n=clearscr@e248070.upc-e.chello.nl] has quit ["Leaving."]
17:44 -!- ajray [n=alex@wvc32383rh.rh.ncsu.edu] has joined #go-nuts
17:45 < ajray> whats the 'preferred' way to turn an int32 into a []byte for
transfer over a network (writing to a TCP connection)
17:46 < uriel> ajray: gob
17:46 -!- clearscreen [n=clearscr@e248070.upc-e.chello.nl] has joined #go-nuts
17:46 -!- markovuksanovic [n=markovuk@93-136-97-29.adsl.net.t-com.hr] has quit
[Read error: 104 (Connection reset by peer)]
17:46 < ptrb> ajray: more specifically, http://golang.org/pkg/gob/
17:46 -!- Ishmael [n=ishmael@189.96.82.37] has joined #go-nuts
17:46 -!- phimoo [n=fg@61.19.67.14] has joined #go-nuts
17:47 -!- White_Sloun [n=vasya@ppp85-140-234-63.pppoe.mtu-net.ru] has joined
#go-nuts
17:47 < ajray> ptrb: uriel thanks
17:47 < uriel> no problem
17:47 -!- drusepth [n=drusepth@209.106.203.252] has quit [Read error: 110
(Connection timed out)]
17:47 < uriel> hah, just what was missing, somebody asking for Go to be case
insensitive!  oh dear!
17:47 < bombuzal> :o
17:48 -!- raysl [n=anonymou@d24-141-147-73.home.cgocable.net] has left #go-nuts []
17:48 < ptrb> uriel: oh man, you set up a listserv and crazy people just
come running'
17:48 -!- Ishmael [n=ishmael@189.96.82.37] has quit [SendQ exceeded]
17:48 < uriel> 'crazy' is quite an understatement in this case
17:49 < ptrb> "i really like go but does the world need *yet* *another*
language that runs on so-called "computers""
17:49 < uriel> hasn't the world suffered enough due to case-insensitive file
systems?
17:49 * ajray <3's utf-8
17:49 < uriel> utf-8 saved the world from insanity...  lets hope Go follows
in that path
17:49 -!- ikkebr [n=ikkibr@unaffiliated/ikkebr] has joined #go-nuts
17:50 -!- sku [n=sk@217.175.14.88] has quit [Read error: 113 (No route to host)]
17:50 < uriel> (utf-8 is, to my knowledge, the only sane standard of any
kind I have ever seen)
17:50 < ptrb> what i want is utf8 tokens in the grammar >:D
17:50 < WalterMundt> I'm just happy that people have settled on a Unicode
encoding
17:50 < bobappleyard1> utf-8 brings its own madness, like combining
characters
17:50 -!- markovuksanovic [n=markovuk@93-139-126-166.adsl.net.t-com.hr] has joined
#go-nuts
17:50 < uriel> bobappleyard1: that is not utf-8's fault, that is unicode's
fault
17:50 < uriel> bartwe: and yes, combining characters are an abomination
17:50 < bobappleyard1> ok
17:50 < kfx> US-ASCII is great
17:51 < leadnose> whitespace is all you need
17:51 < uriel> kfx: US-ASCII is UTF-8 too..
17:51 -!- vustyle [n=vustyle@c-24-13-24-58.hsd1.in.comcast.net] has quit [Read
error: 60 (Operation timed out)]
17:51 < kfx> uriel: yeah, and I'm greatly relieved
17:52 < ajray> uriel: gob seems to be for variable length integers, can you
make it store a uint32 in 4 bytes (in a []byte)?
17:53 -!- cankoy [n=cankoy@94.54.13.77] has joined #go-nuts
17:53 -!- phimoo [n=fg@61.19.67.14] has quit ["Leaving"]
17:53 -!- ikke [n=ikkibr@unaffiliated/ikkebr] has quit [Read error: 60 (Operation
timed out)]
17:54 -!- diltsman [n=diltsman@128.187.146.104] has quit []
17:55 < ptrb> > Integers are transmitted two ways: arbitrary precision
signed integers or arbitrary precision unsigned integers.  There is no int8, int16
etc.  discrimination in the gob format; there are only signed and unsigned
integers.
17:55 < ptrb> so I guess no, unless you roll your own -- but why do you
insist on that encoding?
17:55 < WalterMundt> probably to conform to some preexisting wire protocol?
17:56 < ptrb> hmm, then yes, gob is not right -- I guess gob is sort of it's
own protocol in a sense
17:56 < WalterMundt> yeah, if it's no there, go needs something like
Python's struct module for doing arbitrary binary packing of values
17:57 -!- White_Sloun [n=vasya@ppp85-140-234-63.pppoe.mtu-net.ru] has quit [Client
Quit]
17:59 -!- Omega [n=Omega@201.229.26.197] has quit [Read error: 145 (Connection
timed out)]
17:59 < ajray> ptrb: i'm using the 'encoding/binary'
17:59 < ajray> package
18:00 < ajray> in the encoding package.  that does *exactly* what i want:
packs integers into []bytes of fixed width :-)
18:00 -!- tasklist7 [n=tasklist@c-98-208-175-116.hsd1.fl.comcast.net] has joined
#go-nuts
18:00 < ajray> knew it was in there somewhere
18:01 -!- Omega [n=Omega@201.229.26.197] has joined #go-nuts
18:01 -!- tasklist7 [n=tasklist@c-98-208-175-116.hsd1.fl.comcast.net] has quit
[Client Quit]
18:01 -!- theriffer [n=Adium@cpe-76-174-46-7.socal.res.rr.com] has quit
["Leaving."]
18:02 -!- hector [n=chatzill@client-86-0-126-58.nrth.adsl.virginmedia.com] has
quit ["ChatZilla 0.9.85 [Firefox 3.5.5/20091102152451]"]
18:03 < ptrb> oh, ok, if all you care about is ints to []byte, seems like
that works
18:04 < ptrb> *unsigned ints to []byte
18:05 < ptrb> (i did not know about it, actually)
18:06 < dho> ok, back to go
18:06 -!- connerk [n=connerk@rrcs-24-172-120-146.midsouth.biz.rr.com] has joined
#go-nuts
18:09 -!- agl [n=agl@nat/google/x-rcwjfbklwaobuevc] has joined #go-nuts
18:09 -!- mode/#go-nuts [+v agl] by ChanServ
18:09 < dho> > gmake
18:09 < dho> 6l -o cgo _go_.6
18:09 < dho> > ./cgo
18:09 < dho> ./cgo: Exec format error.  Binary file not executable.
18:09 < dho> sweet.
18:09 < exch> is there some kind of black magic involved in building
multiple packages into a single binary?  I'm building the packages in the correct
order to satisfy dependencies, but 6g keeps stumbling over 'can't find import' :s
18:10 -!- keithpoole [n=keithpoo@cpc3-bagu8-0-0-cust84.bagu.cable.ntl.com] has
joined #go-nuts
18:10 < Bun> anyone happen to know if someone's working on Go for gentoo?
18:10 < ptrb> if 6g fails with "can't find import" then it's not a
build-order issue, is it?  it's a visibility issue?
18:11 < exch> one would think so, because I am 1000% certain the 'missing
package' exists
18:11 < ptrb> 6g -I /path?  :)
18:12 < exch> already in there
18:12 < ajray> whats the 'go' way to copy a string into a []byte?
18:14 < ajray> make a new buffer out of a string (in the bytes pkg)?
18:14 < mbt> Does go have a foreign function interface or similar?
18:14 -!- go-nuts [n=dmz@ws215-53.maryno.net] has joined #go-nuts
18:15 < wollw> ajray: strings.Bytes
18:15 < ajray> thanks wollw
18:15 < GeDaMo> mbt: it has an "or similar" :P
18:16 < GeDaMo> Look in GOROOT/misc/cgo
18:16 < mbt> GeDaMo, thanks!~
18:16 < go-nuts> Hi there.  may I ask some noobs questions about go compiler
or it's a wrong place for such questions?
18:16 < ptrb> this is better than the mailing list or issue tracker, i guess
:)
18:16 -!- murilo [n=murilo@200.137.222.54] has joined #go-nuts
18:17 -!- joeedh_away is now known as joeedh
18:17 < ptrb> (ie.  don't do this:
http://code.google.com/p/go/issues/detail?id=137 )
18:17 -!- ragsagar [n=ragsagar@117.204.101.187] has quit ["Leaving"]
18:17 -!- go-nuts [n=dmz@ws215-53.maryno.net] has left #go-nuts []
18:17 -!- irc [n=richy@ACaen-156-1-23-231.w90-51.abo.wanadoo.fr] has joined
#go-nuts
18:17 -!- rebel09 [n=rebel09@140-182-190-137.dhcp-bl.indiana.edu] has joined
#go-nuts
18:18 < GeDaMo> ptrb: you think that was go-nuts's issue?  :P
18:18 -!- Marita [n=SobRi@35.Red-83-52-114.dynamicIP.rima-tde.net] has joined
#go-nuts
18:18 -!- irc is now known as Guest69507
18:18 -!- Marita [n=SobRi@35.Red-83-52-114.dynamicIP.rima-tde.net] has left
#go-nuts []
18:18 -!- Spaghettini [n=Spaghett@vaxjo6.150.cust.blixtvik.net] has quit [Read
error: 145 (Connection timed out)]
18:18 < murilo> the go language was developed by google or only sponsored by
google?
18:18 -!- p4p4 [n=P4p4@24.121.113.82.net.de.o2.com] has joined #go-nuts
18:18 < ptrb> GeDaMo: I was just greatly amused by that issue
18:18 < rebel09> I'm having another installation issue: running Mac os x
10.6 when i run the bash script with the command "./all.bash" i get the error that
line 7 the command is not found
18:19 < WalterMundt> murilo: as I understand it, it's developed by Google,
started as a "20% time" project (engineer discretionary-time)
18:19 < KirkMcDonald> murilo: It was developed by Google employees.
18:19 -!- markovuksanovic [n=markovuk@93-139-126-166.adsl.net.t-com.hr] has left
#go-nuts []
18:19 < GeDaMo> rebel09: do you have bash?
18:19 -!- dmz1 [n=dmz@ws215-53.maryno.net] has joined #go-nuts
18:19 < rebel09> gedamo: yes i'm running a bash shell
18:20 < mbt> Next question: does anyone know if anyone's written database
interface packages for Go, or is working on such a thing?
18:20 < atsampson> rebel09: look at line 7, and install whatever it's trying
to run?
18:20 -!- pace_t_zulu [n=pacetzul@unaffiliated/pacetzulu/x-585030] has joined
#go-nuts
18:20 < ptrb> mbt: there is a lot of discussion about that on the mailing
list but nothing for that yet
18:21 < rhc> is there a good way to create a vector that stores type T? so
that I dont need to do v.At(N).(*MyType) everytime i access the vector?
18:21 < dmz1> so.  Is Go compiles directly to the native code or via C
(gcc?)
18:21 < rhc> (aside from the danger of a failed cast)
18:21 < mbt> ptrb, cool, thanks.  If modules that provided some sort of
consistent interface appeared out of the ether, do you think they'd be considered
for inclusion in the standard library?
18:21 < rebel09> atsampson: i dont even see 7 lines it looks like there are
only three
18:21 <+iant> rhc: you could copy container/vector/intvector.go, but, no,
there isn't a good way; this is the "generics" FAQ
18:21 < ptrb> dmz1: the go compiler produces C code, apparently
18:21 < ajray> ptrb: the 6g?
18:21 < GeDaMo> rebel09: I suspect the comments count at lines
18:22 <+iant> dmz1, ptrb: No, the Go compiler produces native binaries
18:22 < ptrb> mbt: I don't see why not
18:22 < rhc> iant: ill check out the faq, thanks
18:22 -!- muntasir [n=muntasir@202.72.235.204] has quit [Read error: 110
(Connection timed out)]
18:22 < rebel09> it says "bash make.bash"
18:22 < rebel09> oh i know what the problem is
18:22 < rebel09> terminal isn't recognizing the command "bash
18:22 <+iant> mbt: yes, we want the library to get bigger, as long as it is
done in a good way
18:22 < rebel09> "bash"
18:22 < mbt> ptrb, cool.  I don't know if I'll be able to do it (I'm just
now looking into the pgsql one that I would need, reading its docs), but if I wind
up having the time to add support for other things I might just do that.
18:22 * ajray working on a PostgreSQL module
18:22 < mbt> ajray, You are?
18:22 * ajray cant wait for GSoC now
18:23 < ajray> mbt: yeah, futzing through packing []bytes for the connection
strings
18:23 -!- jrr_ [n=jrr@c-98-222-193-94.hsd1.in.comcast.net] has joined #go-nuts
18:23 < mbt> ajray, I am guessing you already know how to talk to the DB
server then, more or less :)
18:23 < ptrb> iant: where did I read that Go compilers build down to C? i
know I didn't just invent that...  at least I think not...
18:24 -!- vuln [n=gone@unaffiliated/vuln] has quit ["gotta go"]
18:24 < rebel09> so how do i fix that?
18:24 < dmz1> iant: I guess it produces binaries, but I'm interesting does
it have a some kind of it's own code generator or it uses gcc as a backend
18:24 <+agl> dho: (I'm behind on the backlog: you're probably building for
the wrong GOARCH.  Maybe you want GOARCH=386?)
18:24 < Guest69507> hola, sorry if this is a stupid question but does anyone
know of any way to get user input in a simple app?
18:24 <+iant> ptrb: it's in the language design FAQ, that was the first cut
of the 6g compiler
18:24 < GeDaMo> rebel09: is your bash shell actually called bash?
18:24 -!- Venom_X is now known as Venom_lnch
18:24 < dho> agl: no, i'm porting to freebsd
18:24 < rebel09> gedamo: no i'm working in the mac os x terminal that runs a
bash shell
18:24 < dho> trying to figure out what changes i need to make to 6l
18:24 <+iant> dmz1: there are two compilers, one is based on Plan 9/Inferno,
the other is gcc based
18:24 < ni|> dho: oh really?  thats great
18:25 < ptrb> iant: ah, i see, i see
18:25 <+agl> dho: ok, then I assume that you know what you're doing :)
18:25 -!- p4p4__ [n=P4p4@24.121.113.82.net.de.o2.com] has joined #go-nuts
18:25 < dho> agl: not really :)
18:25 -!- meheff [n=meheff@nat/google/x-ffybpaednwzctuqu] has joined #go-nuts
18:25 <+iant> Guest69507: read from os.Stdin
18:25 < ajray> mbt: more or less.  its in the manual.
18:25 < dho> at least in this bit.
18:25 <+iant> dho: some *BSD require a specific OSABI field in the ELF
header, I know at least FreeBSD works that way
18:25 < Guest69507> ah ta
18:25 < ajray> mbt: byte streams over TCP
18:25 < mbt> ajray, Yes, I have the docs in front of me which I was going to
use to do it.  Does it look like you'll be able to cut something out soon?
18:25 -!- p4p4__ [n=P4p4@24.121.113.82.net.de.o2.com] has quit [Client Quit]
18:26 < dho> iant: yeah.  trying to figure out how to set that.
18:26 < dho> would be easier to play with readelf if i could get it to spit
out elf :) right now it's complaining about not being able to reach symbols in
vaddr
18:26 < ajray> mbt: do you have a github account?  i have a little go repo
i'm playing in.  i gotta go in about an hour and you could take it an run with it
:-)
18:26 <+iant> dho: frob something in cmd/ld/elf.c, I think
18:27 < dmz1> iant, did I get it right that Go does not use intermediate C
source code generation but implements a frontend to gcc ?
18:27 < mbt> ajray, I don't, but if it's public I can use bzr to fetch a
copy.
18:27 < WalterMundt> dmz1: that's one option
18:27 <+iant> dmz1: there are two compilers
18:27 <+iant> dmz1: one is a new frontend to gcc
18:27 <+iant> dmz1: the other is not
18:27 < WalterMundt> dmz1: then there's a completely separate toolchain from
scratch
18:27 <+iant> dmz1: both generate executable code and neither uses
intermediate C code
18:27 < GeDaMo> rebel09: you could create a link called "bash" to whatever
your bash shell program is named somewhere in your path
18:27 -!- lindsayd [n=lindsayd@nat/cisco/x-fjtbocereitfmfrm] has joined #go-nuts
18:28 -!- keithpoole [n=keithpoo@cpc3-bagu8-0-0-cust84.bagu.cable.ntl.com] has
quit []
18:28 < dmz1> iant: thanks!
18:30 < scandal> wrote a wrapper around the GNU readline library as a quick
look at cgo.  wondering if someone can take a look and make sure i didn't
completely botch it?  http://www.cs.hmc.edu/~me/readline-go/
18:30 -!- Fyb3roptik [n=Fyb3ropt@adsl-99-68-199-81.dsl.rcsntx.sbcglobal.net] has
joined #go-nuts
18:30 -!- tonyg [n=tonyg@cpc1-cmbg7-0-0-cust149.cmbg.cable.ntl.com] has joined
#go-nuts
18:30 -!- Fyb3roptik [n=Fyb3ropt@adsl-99-68-199-81.dsl.rcsntx.sbcglobal.net] has
left #go-nuts []
18:30 < rebel09> gedamo: could it be an issue with the path settings?
18:30 < GeDaMo> rebel09: possibly - that's why I was asking if your bash
shell was called bash
18:31 < tonyg> Hi all -- question about cgo: it doesn't seem to be able to
handle opaque struct pointers (typedef struct privateobj_ *privateobj;) -- can
anyone confirm or deny this?
18:31 < rebel09> gedamo: idealy what should my path settings look like, i'm
not very good at bash, i think all that's in there right now is $GOBIN
18:31 <+iant> tonyg: I have seen other people report that, I haven't tried
to confirm it myself
18:31 -!- kaib [n=kaib@c-76-102-52-156.hsd1.ca.comcast.net] has joined #go-nuts
18:31 -!- mode/#go-nuts [+v kaib] by ChanServ
18:32 < GeDaMo> rebel09: sounds like you replaced your default path with
just $GOBIN - you really want to add $GOBIN to it
18:32 < tonyg> iant, thanks.  it's a common-enough idiom...  i'll gin up a
test case and maybe file an issue
18:32 < GeDaMo> rebel09: something like PATH=${PATH}:$GOBIN
18:32 -!- MX80 [n=MX80@cust92.177.113.38.dsl.g3telecom.net] has quit [Read error:
145 (Connection timed out)]
18:32 -!- delza [n=delza@209-52-232-202.vlan452.static.ucc-net.ca] has quit []
18:32 <+iant> tonyg: please do, thanks
18:33 < rebel09> gedamo: just ran your line and then the ./all.bash again
18:33 < rebel09> still the same error
18:33 -!- KillerX [n=anant@145.116.234.40] has joined #go-nuts
18:33 -!- kaib_ [n=kaib@216.239.45.130] has joined #go-nuts
18:33 -!- mode/#go-nuts [+v kaib_] by ChanServ
18:34 < GeDaMo> rebel09: that's because you already wiped your path - you
need to put that line in your .bashrc or whereever you setup the GO environment
variables then start a new shell
18:35 < rebel09> gedamo: just started a new shell, can i run the line from
above now?
18:35 < GeDaMo> rebel09: what's in your path at the moment?
18:35 < rebel09> gedamo: how do you check that :/
18:35 < GeDaMo> echo $PATH
18:36 -!- larryobrien [n=larryobr@cpe-70-95-121-199.hawaii.res.rr.com] has joined
#go-nuts
18:38 -!- hellyeah [n=benebiog@hopper.cs.bilgi.edu.tr] has joined #go-nuts
18:38 -!- filou [n=micha@p57B9A4A3.dip0.t-ipconnect.de] has quit [Remote closed
the connection]
18:39 -!- kaib [n=kaib@c-76-102-52-156.hsd1.ca.comcast.net] has quit [Read error:
60 (Operation timed out)]
18:39 -!- kaib_ is now known as kaib
18:40 -!- p4p4_ [n=P4p4@24.106.113.82.net.de.o2.com] has quit [Connection timed
out]
18:40 -!- belkiss [n=kvirc@78.235.168.105] has joined #go-nuts
18:40 -!- sea-gull [n=sea-gull@95-28-96-43.broadband.corbina.ru] has joined
#go-nuts
18:40 -!- jshriver [n=jshriver@cblmdm24-53-165-86.buckeyecom.net] has quit [Read
error: 54 (Connection reset by peer)]
18:40 -!- justin- [n=justin`@cpe-76-179-254-13.maine.res.rr.com] has quit [Read
error: 104 (Connection reset by peer)]
18:40 -!- jshriver [n=jshriver@cblmdm24-53-165-86.buckeyecom.net] has joined
#go-nuts
18:41 -!- justin- [n=justin`@cpe-76-179-254-13.maine.res.rr.com] has joined
#go-nuts
18:41 -!- jshriver [n=jshriver@cblmdm24-53-165-86.buckeyecom.net] has quit [Read
error: 54 (Connection reset by peer)]
18:41 -!- justin- [n=justin`@cpe-76-179-254-13.maine.res.rr.com] has quit [Read
error: 104 (Connection reset by peer)]
18:41 < rebel09> gedamo: i figured it out somehow, thanks for your help
18:41 -!- justin- [n=justin`@cpe-76-179-254-13.maine.res.rr.com] has joined
#go-nuts
18:41 < GeDaMo> No problem :)
18:42 -!- justin- [n=justin`@cpe-76-179-254-13.maine.res.rr.com] has quit [Read
error: 104 (Connection reset by peer)]
18:42 -!- p4p4 [n=P4p4@24.121.113.82.net.de.o2.com] has quit [Connection timed
out]
18:42 -!- justin- [n=justin`@cpe-76-179-254-13.maine.res.rr.com] has joined
#go-nuts
18:44 -!- akheron [n=akheron@lilja.asteriski.fi] has joined #go-nuts
18:44 -!- kjk [n=Adium@67.215.69.74] has joined #go-nuts
18:45 -!- keithpoole [n=keithpoo@cpc3-bagu8-0-0-cust84.bagu.cable.ntl.com] has
joined #go-nuts
18:45 -!- jshriver [n=jshriver@cblmdm24-53-165-86.buckeyecom.net] has joined
#go-nuts
18:46 -!- rebel09 [n=rebel09@140-182-190-137.dhcp-bl.indiana.edu] has quit []
18:46 -!- zerofluid [n=zeroflui@ip68-227-10-141.lv.lv.cox.net] has quit
["Leaving"]
18:46 -!- mightybyte [n=mightyby@pool-74-107-117-150.bltmmd.fios.verizon.net] has
joined #go-nuts
18:46 -!- meheff [n=meheff@nat/google/x-ffybpaednwzctuqu] has left #go-nuts
["Leaving"]
18:47 -!- cankoy [n=cankoy@94.54.13.77] has quit ["<-"]
18:47 < xorl> Anyone have a proper example from the exec "Run" statement,
I've tried it from reading it and from the example in exec_test.go, and i am
failing.
18:47 -!- wildcat [n=tomh@powered.by.espix.org] has joined #go-nuts
18:48 -!- wildcat [n=tomh@powered.by.espix.org] has left #go-nuts []
18:48 -!- fabiocerqueira [i=c8811634@gateway/web/freenode/x-oepcigednlnsiije] has
joined #go-nuts
18:48 < dgnorton> io needs a ReadLine
18:48 <+iant> dgnorton: see bufio.ReadBytes
18:49 < dgnorton> iant: thanks
18:49 -!- WMBr [n=admin@200.149.1.22] has quit [Read error: 110 (Connection timed
out)]
18:49 <+iant> xorl: how is your Run failing?  Note that outside of package
exec, you have to use exec.Run
18:50 < poucet> Does go have goroutine local storage or any form of dynamic
scoping?
18:50 <+iant> poucet: no
18:50 < xorl> iant: Yes, I am running exec.Run, but for instance in
exec_test.go Run("/bin/echo", []string{"echo", "hello", "world"}, nil, DevNull,
Pipe, DevNull); (they're defined as const ( ) but I get
18:50 < xorl> multiple-value exec.Run() in single-value context
18:51 <+iant> Run returns two values, and you are trying to catch one value,
or something like that
18:51 < dagle> iant: Thx.  The bugg was because of LC_ALL was not en_US .
Changeing while installing fixed that.
18:51 < xorl> iant: ah!
18:51 < xorl> err is being returned by I am only defining cmd.
18:52 -!- afurlan [n=afurlan@scorpion.mps.com.br] has joined #go-nuts
18:53 -!- jimster [n=jimster@67.23.28.37] has joined #go-nuts
18:53 -!- cdin2 [n=cdin@c-69-181-44-221.hsd1.ca.comcast.net] has joined #go-nuts
18:54 < tonyg> iant, this was already filed:
http://code.google.com/p/go/issues/detail?id=126 -- it's isomorphic to my prolem
18:54 < tonyg> *problem
18:54 < cdin2> hey, could someone help me out setting up my .bash_profile
for the go install to work?
18:54 <+iant> tonyg: thanks for checking
18:54 <+iant> cdin2: see the wiki page mentioned in the channel topic
18:54 -!- UnorthodoxCodeFu [n=bastian_@206.53.195.2] has joined #go-nuts
18:55 < cdin2> ive looked over it extensively, and tried everything i could,
ive not really worked with unix/linux before.  if someone could just paste/private
msg their .bash_profile so i can see how it's supposed to look
18:55 -!- Wiebe [n=Wiebe@5356AA0E.cable.casema.nl] has joined #go-nuts
18:55 -!- punya [n=punya@punya.Stanford.EDU] has quit [Read error: 60 (Operation
timed out)]
18:55 <+iant> cdin2: it should look exactly like the lines under "GOROOT not
set correctly"
18:55 < cdin2> that'd be very helpful, i thought i had it set right, but
when i start up my shell ....  -bash: GOROOT: command not found
18:55 < cdin2> -bash: GOOS: command not found
18:55 < cdin2> -bash: GOARCH: command not found
18:55 < cdin2> -bash: GOROOT: command not found
18:55 < cdin2> -bash: GOOS: command not found
18:55 < cdin2> -bash: GOARCH: command not found
18:55 < WalterMundt> huh.  when gotest runs, it segfaults, and I get a
"Kernel BUG at c0102e8e" trace in dmesg
18:56 <+iant> you wrote "export GOROOT=$HOME/go" in your .bashrc?
18:56 < WalterMundt> (running in a Xen VPS 2.6.26)
18:56 < cdin2> no
18:56 -!- tgall_foo [n=tgall@gentoo/developer/dr-who] has joined #go-nuts
18:56 < UnorthodoxCodeFu> anybody have an idea what an 'implicit assignment'
error is?
18:56 <+iant> cdin2: that is the suggestion from the wiki: copy the lines by
the vertical bar into your .bashrc or .bash_profile
18:56 < cdin2> i put this in .bash_profile in my root dir :
18:56 < cdin2> $GOROOT = $HOME/go
18:56 < cdin2> $GOOS = darwin
18:56 < cdin2> $GOARCH = amd64
18:56 < WalterMundt> hehe, deadbeef in EBX/ECX/EDX/ESI
18:57 < cdin2> i did
18:57 -!- murilo [n=murilo@200.137.222.54] has left #go-nuts []
18:57 < whiteley> cdin2: export GOROOT=$HOME/go
18:57 < tonyg> cdin2, the syntax is a little different
18:57 < cdin2> o
18:57 < cdin2> cool
18:57 < ptrb> cdin2: that is not what the wiki tells you to do, I think
18:57 < cdin2> thx
18:57 <+iant> WalterMundt: gotest is just a shell script--which program is
segfaulting?
18:57 -!- pace_t_zulu [n=pacetzul@unaffiliated/pacetzulu/x-585030] has quit []
18:57 < tonyg> cdin2, here's mine, for OS X instead of linux, but mutatis
mutandis
18:57 < tonyg> export GOROOT=~/src/FOREIGN/go
18:57 < tonyg> export GOOS=darwin
18:57 < tonyg> export GOARCH=amd64
18:57 < tonyg> export GOBIN=$GOROOT/bin
18:57 < tonyg> export PATH=$GOBIN:$PATH
18:57 < cdin2> perfect, thanx
18:57 -!- crc32 [n=crc@nat-412.sat.rackspace.com] has quit ["Leaving"]
18:58 <+iant> UnorthodoxCodeFu: what is the statement that you get the error
on?
18:58 < tonyg> (cdin2, then I had to "mkdir $GOBIN" before "./all.bash")
18:59 -!- |chachan| [n=chachan@ccscliente156.ifxnetworks.net.ve] has joined
#go-nuts
19:00 -!- solsTiCe [n=solstice@ARennes-553-1-9-157.w90-54.abo.wanadoo.fr] has
joined #go-nuts
19:00 < UnorthodoxCodeFu> iant - hole on one sec =-)
19:01 -!- KillerX [n=anant@gentoo/developer/KillerX] has quit ["Leaving."]
19:02 < engla> I need some help with gccgo.  Is there a way to checkout only
needed parts from SVN?  to reduce the download
19:02 -!- |chachan| [n=chachan@ccscliente156.ifxnetworks.net.ve] has quit [Client
Quit]
19:02 -!- |chachan| [n=chachan@ccscliente156.ifxnetworks.net.ve] has joined
#go-nuts
19:02 < engla> also, does it need all of c,c++ and go, or can you skip c++
to cut compile time?
19:02 -!- Skip [n=rob@63.225.228.222] has joined #go-nuts
19:02 < Skip> hi
19:03 <+agl> engla: gccgo is written in C++, so you need a C++ compiler at
least.
19:03 < engla> oh :)
19:04 < WalterMundt> well, if you don't want gccgo you could probably skip
c++
19:04 < WalterMundt> I think the 6g/8g toolchain is all C
19:04 < WalterMundt> but you'd have to work out how to build just what you
need
19:04 < engla> well I want gccgo on a powerpc
19:04 -!- delza [n=delza@209-52-232-202.vlan452.static.ucc-net.ca] has joined
#go-nuts
19:04 < WalterMundt> ahh
19:04 <+iant> engla: to get just part of the gcc repository, see
http://gcc.gnu.org/wiki/SvnSetup
19:04 -!- aaront [n=aaront@mc-193-245.IPReg.mcmaster.ca] has joined #go-nuts
19:04 < engla> I might be the wrong person to pioneer powerpc though
19:04 -!- Guest69507 [n=richy@ACaen-156-1-23-231.w90-51.abo.wanadoo.fr] has quit
[Read error: 113 (No route to host)]
19:05 -!- anders_ [n=anders@83.253.2.206] has quit [Read error: 145 (Connection
timed out)]
19:05 -!- jh99 [n=jh99@e179069005.adsl.alicedsl.de] has joined #go-nuts
19:05 < Skip> It is important to be able to call C or C++ from GO.
19:05 < uriel> engla: if you want to do ppc, you probably will want to take
a look at the ppc compilers in plan9 or inferno, which is on what the 6c and 6g
are base don
19:05 -!- zsuxcia [n=zsuxcia@c80-217-131-97.bredband.comhem.se] has left #go-nuts
["Leaving"]
19:05 < engla> I meant pioneering compiling gccgo for powerpc
19:05 < engla> not implementing a compiler :-)
19:05 <+agl> Skip: There is an FFI for calling C code from Go.
19:05 < uriel> Skip: and it is possible (bar some bugs and limitations that
are being worke don)
19:06 -!- bbeck [n=bbeck@dxr-fw.dxr.siu.edu] has quit [Read error: 104 (Connection
reset by peer)]
19:06 < engla> iant: thank you for the link
19:06 -!- Killerkid [n=l1am9111@host86-132-16-197.range86-132.btcentralplus.com]
has quit [Read error: 110 (Connection timed out)]
19:06 < Skip> I will take a look
19:06 -!- depood [n=depood@chello080108055214.19.11.vie.surfer.at] has quit
[Remote closed the connection]
19:07 -!- Killerkid [n=l1am9111@host86-132-25-26.range86-132.btcentralplus.com]
has joined #go-nuts
19:07 -!- bbeck [n=bbeck@dxr-fw.dxr.siu.edu] has joined #go-nuts
19:07 -!- xk0der [n=xk0der@122.171.5.157] has quit [Read error: 104 (Connection
reset by peer)]
19:08 -!- xk0der [n=xk0der@122.171.5.157] has joined #go-nuts
19:08 < UnorthodoxCodeFu> iant - http://pastebin.org/53393
19:09 -!- gasreaa [n=atwong@nat/slide/x-idwnaymtjlylxoog] has joined #go-nuts
19:10 < dho> ../cgo/cgo: ELF 64-bit LSB executable, x86-64, version 1
(FreeBSD), corrupted program header size, corrupted section header size
19:10 < dho> well, that's getting somewhere...
19:10 -!- Jan_Flanders [n=chatzill@d54C1E33B.access.telenet.be] has quit [Read
error: 104 (Connection reset by peer)]
19:10 < WalterMundt> attempting to run all.bash: FAIL: os_test.TestSeek
19:11 -!- stefanc [n=stefanc@188.25.244.29] has joined #go-nuts
19:11 < UnorthodoxCodeFu> screwed up the formatting...  blah...  anyhows...
i have a struct Blah that stores an array of Blahs and a name, and a NewBlah func
that accepts an array of Blahs and a name...  I'm getting the implicit assignment
when using the NewBlah function
19:11 -!- Jan_Flanders [n=chatzill@d54C1E33B.access.telenet.be] has joined
#go-nuts
19:11 < WalterMundt> full text at http://pastebin.com/d619b7c74 -- any
suggestions?
19:12 < jh99> using the `easy_install' method for obtaining mercurial
results in erros when running hg for me on snow leopard.  what alternatives do you
suggest?
19:12 -!- august [n=DCFC@74.85.19.34] has joined #go-nuts
19:12 <+iant> dho: cool
19:13 <+iant> UnorthodoxCodeFu: when I clicked on that link my browser
started to talk to me so I closed the tab....
19:13 < saati> jh99: maybe mercurial is in fink or macport
19:13 < saati> s
19:13 < dho> Entry point address: 0x457653
19:13 < dho> Start of program headers: 160 (bytes into file)
19:13 < dho> Start of section headers: 21474836480 (bytes into file)
19:13 < dho> haha
19:13 <+agl> WalterMundt: what filesystem?
19:13 -!- aaront [n=aaront@unaffiliated/aaront] has quit ["And that's all he
wrote..."]
19:13 < jh99> where does easy install put packages usually?
19:13 <+iant> UnorthodoxCodeFu: implicit assignment error usually means that
you are setting a private field of a struct--i.e., a struct defined in a different
package with a field whose name starts with a lower case letter
19:14 < WalterMundt> agl: ext3
19:14 <+iant> WalterMundt: I don't recall seeing that one before, it looks
like it passed a 64-bit integer to a 32-bit syscall, I'm not sure how that would
happen
19:15 <+iant> WalterMundt: please open an issue for this with OS and libc
details
19:15 <+iant> dho: cool
19:15 -!- jeng [n=chatzill@75.110.231.66] has quit [Remote closed the connection]
19:15 < WalterMundt> iant: open issue where?
19:15 <+iant> from http://golang.org/ click on "issue tracker"
19:15 < WalterMundt> on it
19:15 <+iant> there might be an issue for it already, I haven't been able to
keep up
19:16 < engla> gcc compile: can I exclude libgomp, libmudflap, libssp if I
only compile c,c++,go?
19:16 <+iant> engla: yes
19:17 -!- diabolix [n=jsoyke@206.210.81.55] has joined #go-nuts
19:17 -!- binaryjohn [n=binaryjo@cpe-24-30-132-50.san.res.rr.com] has joined
#go-nuts
19:17 < diabolix> is there a vim syntax file somewhere?  Go is the worst
thing i've ever had to google for.
19:17 <+iant> diabolix: misc/vim
19:17 < cdin2> anyone got any ideas: after build : FAIL
19:17 < cdin2> make[1]: *** [test] Error 1
19:17 < cdin2> make: *** [http.test] Error 2
19:18 <+iant> cdin2: if you get to that point, the compiler and libraries
have been built and you can use them
19:18 -!- fgb [n=fgb@190.246.85.45] has joined #go-nuts
19:18 -!- pace_t_zulu [n=pacetzul@unaffiliated/pacetzulu/x-585030] has joined
#go-nuts
19:18 < cdin2> excellent
19:18 <+iant> cdin2: that error typically happens if you have a firewall or
an HTTP proxy; it's an error running a test
19:18 <+iant> cdin2: there is an issue for it
19:18 < TheExit> dho, wow...  I had to scroll up to the "corrupted..." part
before I was willing to believe that
19:19 < Snert> dho: back
19:19 < frodenius> someone should update the intall page temporarily so not
everybody has to ask what that make fail is
19:19 < cdin2> totally
19:19 < dho> Snert: wb
19:19 < cdin2> and add the export lines to the variables in the
.bash_profile
19:20 <+iant> the CommonProblems wiki is the right place for those things
for now
19:20 -!- wollw [n=wollw4@75-101-22-68.dsl.dynamic.sonic.net] has quit ["Leaving"]
19:20 -!- wollw [n=wollw4@75-101-22-68.dsl.dynamic.sonic.net] has joined #go-nuts
19:20 < cdin2> or actually, now that im looking at it, the install page just
tells you what goes in with no explanation of how it's formatted or what it should
look like at all
19:20 -!- leitaox [n=leitaox@189.20.94.66] has quit ["Leaving"]
19:21 < dho> Snert: i'm still stuck with elf problems compiling cgo
19:22 < Snert> dho: same here
19:22 -!- chachan [n=chachan@ccscliente156.ifxnetworks.net.ve] has quit [Read
error: 110 (Connection timed out)]
19:23 -!- vegy [i=vegy@89-212-233-217.dynamic.dsl.t-2.net] has joined #go-nuts
19:23 -!- keithpoole [n=keithpoo@cpc3-bagu8-0-0-cust84.bagu.cable.ntl.com] has
quit []
19:24 -!- vegy is now known as XniX23
19:24 < dgnorton> iant: i called os.Open and it opens the file so I have a
*File.  Looked at bufio but don't understand how to read the file I've opened with
it.
19:24 -!- ikkebr [n=ikkibr@unaffiliated/ikkebr] has quit []
19:24 <+iant> *File satisfies the io.Reader interface
19:25 < dgnorton> iant: thanks.  i feel like i might like this language, if
only i understood it.
19:25 -!- aninhumer [n=aninhume@81.105.73.160] has joined #go-nuts
19:26 < dho> Snert: have you gotten to the point of it generating corrupt
headers, or?
19:26 < cdin2> i liked the look of the syntax.  has google given an overview
of the basic intent of the language, ie what it's intended to be best at?
19:27 < dgnorton>
http://golang.org/doc/go_faq.html#What_is_the_purpose_of_the_project
19:27 < dgnorton> cdin2: read that link ^^^^^^
19:27 < Snert> dho: generating bad headers?  elaborate
19:27 < dho> Snert: moment
19:27 -!- larryobrien [n=larryobr@cpe-70-95-121-199.hawaii.res.rr.com] has quit []
19:28 < Snert> dho: i'm still stuck at trying to build cmd/cgo, not sure
what happens after that
19:28 < dho> Snert: http://golang.pastebin.com/d2485e8d6
19:28 -!- yuanxin [n=uman@uawifi-nat-210-16.arizona.edu] has joined #go-nuts
19:28 < yuanxin> what editors do most experienced Go users prefer for
writing Go code?
19:29 < dho> acme
19:29 < KirkMcDonald> vim
19:29 < jimster> vim...  no emacs...  no vim...
19:29 < Snert> nvi
19:29 < yuanxin> and if emacs, in what mode
19:29 * rup is using gedit
19:29 <+iant> yuanxin: there is a Go mode in misc/emacs
19:29 < dho> it's weird
19:29 < dho> it's like the type on all of those is correct
19:29 < fgb> ed(1) why do you think it's a dep?
19:29 < dho> but the name is not written
19:30 < Snert> and TextPad from my WinPC
19:30 < fgb> ;)
19:30 < dho> flags and everything else are fine.
19:30 < aninhumer> I'm trying to use an inline codeblock with go like this:
"go func() {//Block of code}", but it doesn't work how am I supposed to do it?
19:30 < dho> ...so it doesn't seem like the offset is wrong.
19:30 < yuanxin> iant: ahh, I see
19:31 < sladegen> aninhumer: try: go func() { ...  }()
19:31 < dho> But it does barf in the default case diag() in vaddr() in
span.c
19:31 < Snert> dho: on OBSD 4.0 I get this..
19:31 < Snert> achowe@puff$ readelf -a io.a
19:31 < Snert> readelf: Error: Segmentation fault (core dumped)
19:32 < aninhumer> sladegen, I also tried that, no difference
19:32 < engla> (gccgoo successfully checkout, reduced to only 477MB svn
working copy, great)
19:32 < engla> *go
19:32 < Snert> doh!
19:32 < Snert> io.a is not an elf or typcical .a file
19:32 < dho> no it isn't
19:33 -!- bshi [n=bshi@65.211.22.82] has joined #go-nuts
19:33 -!- anders_ [n=anders@c83-253-2-206.bredband.comhem.se] has joined #go-nuts
19:33 -!- Zaba [n=zaba@about/goats/billygoat/zaba] has quit [Read error: 60
(Operation timed out)]
19:34 < Skip> I got the readline c import example to compile and run on
Ubuntu
19:35 -!- josephholsten [n=josephho@adsl-70-234-143-217.dsl.tul2ok.sbcglobal.net]
has quit []
19:35 -!- rutkowski [n=adrian@078088213039.walbrzych.vectranet.pl] has quit
["WeeChat 0.3.1-dev"]
19:35 -!- vustyle [n=vustyle@c-24-13-24-58.hsd1.in.comcast.net] has joined
#go-nuts
19:35 < mightybyte> How do you convert primitives like uint16 to a string?
string(x) doesn't do what I want and x.String() doesn't seem to exist.
19:35 < Snert> dho: I keep getting pysc'ed out by ".a"
19:36 -!- punya [n=punya@punya.Stanford.EDU] has joined #go-nuts
19:36 -!- amacleod [n=amacleod@c-24-34-33-96.hsd1.ma.comcast.net] has joined
#go-nuts
19:36 < scandal> mightybyte: see the strconv package
19:37 -!- xk0der [n=xk0der@122.171.5.157] has quit [Read error: 110 (Connection
timed out)]
19:37 < mightybyte> scandal: I did, but there's no function for uint16.
Just uint and uint64.
19:37 -!- Zaba [n=zaba@ip102.148.adsl.wplus.ru] has joined #go-nuts
19:38 < mightybyte> Do I just have to convert and then call Uitoa?
19:38 <+iant> mightybyte: yes, or I suppose call fmt.Spring
19:38 <+iant> sorry, fmt.Sprint
19:39 < mightybyte> iant: Ok. Seems a little annoying that the primitives
don't implement String
19:39 <+iant> mightybyte: yes, we've discussed that possibility, but so far
we're avoiding methods on the primitive types
19:40 < mightybyte> Ok, I can see the reasoning behind that.
19:40 -!- Venom_lnch is now known as Venom_X
19:40 -!- gnuvince [n=vince@64.235.207.47] has joined #go-nuts
19:40 < aninhumer> Ah, an inline func with go only works with a semicolon?
Didn't say that in the docs
19:40 < WalterMundt> iant: got distracted, but filed now:
http://code.google.com/p/go/issues/detail?id=150
19:40 <+iant> WalterMundt: thanks
19:40 < aninhumer> *with the go keyword
19:41 <+iant> aninhumer: whether you need a semicolon depends on what comes
after
19:41 < dho> oh wow
19:41 < dho> it's always because I use || when I mean &&
19:41 < dho> always.
19:41 < reppie> dho :(
19:41 < dho> that's like the fourth time this month i've done that
19:41 < dho> reppie: I think I have a working linker if so...
19:42 < reppie> nice
19:42 -!- mtz [n=jaan@165.206.191.90.dyn.estpak.ee] has quit [Read error: 145
(Connection timed out)]
19:42 < aninhumer> Hmm, would it not be better to just mandate the
semicolon, to avoid confusion?
19:42 < dho> hm, nope
19:42 < dho> all the elf stuff looks right, but:
19:43 -!- asyncster [n=asyncste@206.169.213.106] has joined #go-nuts
19:43 < dho> > ../cgo/cgo
19:43 < dho> ../cgo/cgo: Exec format error.  Binary file not executable.
19:43 < dho> > file ../cgo/cgo
19:43 < dho> ../cgo/cgo: ELF 64-bit LSB executable, x86-64, version 1
(FreeBSD), dynamically linked (uses shared libs), stripped
19:43 -!- batonius [n=user@line145-29.adsl.kirov.ru] has joined #go-nuts
19:43 <+iant> aninhumer: you can always use a semicolon yourself, and thus
avoid all confusion
19:43 < reppie> dho ;_:
19:43 < mightybyte> iant: I guess fmt.Sprint isn't really any more
difficult...just a little less intuitive.
19:44 <+iant> dho: you have gotten to the fun point; I've been there many
times myself
19:44 < dho> iant: heh.
19:44 < dho> iant: tips?  :)
19:44 <+iant> dho: now is when you take a working executable and your
executable and pore over them byte by byte
19:44 < dho> oh.
19:44 -!- ruda [n=ruda@poassf1.corp.terra.com.br] has left #go-nuts []
19:44 < dho> how fun
19:44 <+iant> it helps if you have the kernel sources and can see what might
cause the error
19:44 <+iant> it's not fun
19:44 < reppie> dho i would instrument the kernel to see what it doesn't
like
19:44 -!- Yaquishael [n=Yaquisha@unaffiliated/yaquishael] has joined #go-nuts
19:44 < reppie> maybe you can use dtrace :p
19:44 < dho> hm
19:45 < dho> that's not a bad idea.
19:45 -!- sachetto [n=sachetto@189.17.213.204] has joined #go-nuts
19:45 -!- XniX23 [i=vegy@89-212-233-217.dynamic.dsl.t-2.net] has quit [Connection
timed out]
19:46 -!- JoePeck [n=JoePeck@cpe-74-69-85-249.rochester.res.rr.com] has joined
#go-nuts
19:46 -!- nigwil [n=chatzill@ppp59-167-90-160.lns20.hba1.internode.on.net] has
joined #go-nuts
19:46 -!- Skip [n=rob@63.225.228.222] has quit ["Ex-Chat"]
19:46 < yuanxin> When I try to compile a hello wolrd program: I get the
following:
19:46 < yuanxin> fatal error: can't find import: fmt
19:46 < aninhumer> iant, Well I suppose, but what's the purpose in being
able to omit semicolons occasionally?
19:47 < KirkMcDonald> yuanxin: Is GOROOT set?
19:47 < Rob_Russell> if I want to output my data as json using the json
package, I guess I should be looking at implementing json.Builder?
19:47 < yuanxin> KirkMcDonald: Yes.
19:47 -!- existsec [n=existsec@yosemite.yosemite.edu] has quit [Remote closed the
connection]
19:47 < yuanxin> (It wasn't set when I first tried to compile, but then I
set it and it still didn't fix the problem)
19:48 -!- diltsman [n=diltsman@76.8.194.226] has joined #go-nuts
19:48 <+iant> yuanxin: is GOROOT exported?
19:48 <+iant> aninhumer: it's just a language choice, semicolons as
separators rather than terminators
19:48 < jh99> FYI, the the current version of mercurial fails to run
properly on some localized Mac OS X snow leopard installations.
19:48 < yuanxin> ahh, turns out I didn't have GOOS and GOARCH set
19:49 < yuanxin> I thought I had put them in .bashrc...  hm...
19:49 < bombuzal> ;)
19:49 -!- jetienne_ [n=jerome@ivr94-6-82-230-255-246.fbx.proxad.net] has joined
#go-nuts
19:49 < yuanxin> oh well, thanks for the help
19:49 < KirkMcDonald> Based on some questions I saw in here, I wrote a blog
post: http://kirkmcdonald.blogspot.com/2009/11/on-compilation-of-go-packages.html
19:49 < jh99> there is an easy fix (alias hg='LC_ALL=C LANG=C hg') and it
will be fixed in general on the next release.
19:50 -!- mtz [n=jaan@165.206.191.90.dyn.estpak.ee] has joined #go-nuts
19:50 < WalterMundt> iant: oops, it's a dupe of
http://code.google.com/p/go/issues/detail?id=91
19:50 < WalterMundt> iant: updating to changeset 4027 fixed it
19:50 <+iant> WalterMundt: good, sorry I haven't been keeping up with the
issues
19:50 < WalterMundt> np, just noting in case it came up again
19:50 < jetienne_> what is the relation between plan9 and go ?
19:50 -!- sea-gull [n=sea-gull@95-28-96-43.broadband.corbina.ru] has quit [Read
error: 110 (Connection timed out)]
19:51 <+iant> jetienne_: some of the same people worked on both
19:51 -!- me__ [n=venkates@c-68-55-179-48.hsd1.md.comcast.net] has joined #go-nuts
19:51 < fincher> KirkMcDonald: are you involved with go development?
19:51 < jetienne_> iant: ok
19:51 < KirkMcDonald> fincher: No.
19:51 < fincher> hmm, darn.
19:51 -!- Yaquishael [n=Yaquisha@unaffiliated/yaquishael] has left #go-nuts
["Leaving"]
19:52 <+iant> fincher: what are you looking for?
19:52 -!- jh99 [n=jh99@e179069005.adsl.alicedsl.de] has left #go-nuts []
19:52 < fincher> iant: I was curious how go implemented dynamic dispatch
through interfaces
19:52 -!- anupam [n=anupam@122.169.89.6] has joined #go-nuts
19:52 -!- ch4w [n=ch4w@62.57.138.69.dyn.user.ono.com] has joined #go-nuts
19:52 <+iant> fincher: basically it's a virtual function call
19:52 -!- Venom_X_ [n=pjacobs@66.54.185.131] has joined #go-nuts
19:52 -!- existsec [n=existsec@yosemite.yosemite.edu] has joined #go-nuts
19:53 -!- gnomon
[n=gnomon@CPE0022158a8221-CM000f9f776f96.cpe.net.cable.rogers.com] has quit [Read
error: 110 (Connection timed out)]
19:53 < fincher> iant: in particular, I'm curious how it interacts with
separate compilation.  If types I write now can match interfaces defined later, it
would seem that the packages with those types must be recompiled if they are to
implement the new interface.
19:53 < mrd`> Has any thought been put into versioning scheme for the Go
language/implementations akin to what C, Java, or Python have?
19:53 -!- DeFender|Sleep is now known as DeFender1031
19:54 <+iant> fincher: when you assign a type to an interface, there is a
runtime matching of type methods to interface methods
19:54 < UnorthodoxCodeFu> iant - ha ha...  that makes sense...  that is
exactly what i was doing...  i think i got it figgered out...  thank you
19:54 -!- licio [n=licio@CAcert/Assurer/licio] has quit ["Leaving"]
19:54 <+iant> fincher: this matching is then cached for the type so that
future assignments of that type to that interface do not require another lookup
(at least in 6g/8g)
19:55 < fgb> mrd, what versioning schemes?
19:55 < mrd`> fgb: Like C89/C99, Java 1.[0-7], Python 2.x/3.x
19:55 < fgb> ah
19:55 <+iant> mrd`: I think it's too early to worry much about that
19:56 -!- nddrylliog [n=nddrylli@ile74-2-82-247-195-175.fbx.proxad.net] has joined
#go-nuts
19:56 -!- nddrylliog [n=nddrylli@ile74-2-82-247-195-175.fbx.proxad.net] has left
#go-nuts ["*flash*"]
19:56 < mrd`> iant: Hm.
19:56 < fincher> iant: the vtables are dynamically generated at runtime,
rather than compilation time?
19:56 <+iant> fincher: in the general case, yes
19:56 < fgb> mrd, it took more than 10 years for C to become c89...
19:56 <+iant> as you noted, it has to work that way
19:57 < mrd`> fgb: It only took 1 for Java to reach 1.0 though.  :)
19:57 < dho> hm, well for one, the path to ld-elf.so.1 isn't anywhere near
the top of the file
19:57 < fgb> that's propaganda
19:58 < mrd`> haha, okay
19:58 <+iant> dho: it's true that some *BSD kernels require PT_INTERP to be
on the first page of the executable, although ELF itself does not require that
19:58 < fgb> mrd, or are you speaking english 5.0?
19:58 < me__> dho: hi again.  how's progress?
19:58 <+iant> dho: I recently had to fix that in gold
19:58 < dho> me__: it's creating an elf executable but it's not executing
yet.
19:58 < dho> iant: hm, alright.
19:59 < yuanxin> is there a non-blocking way to read console input?
19:59 < dho> that said, any reason in particular it would be at 0008e1e0+0x8
19:59 < me__> fair enough.  were any of my bits useful?  i found that the
setting for not-dynamic-link (iirc -d?) helped getting started..
19:59 < me__> but i didn't get that going yet either...
20:00 <+iant> dho: no particular reason that I know of, on GNU/Linux the
location of PT_INTERP doesn't matter
20:00 -!- Venom_X [n=pjacobs@cpe-67-9-131-167.austin.res.rr.com] has quit
[Connection timed out]
20:00 -!- Venom_X_ is now known as Venom_X
20:00 < Snert> dho: 6nm tabwriter.a yields sane output; still lost as to why
8l can't open the same file
20:00 <+iant> off to lunch
20:00 < dgnorton> iant: wait!
20:00 < dgnorton> iant: suggestion for pasing csv file?
20:00 < dho> hm, it just segfaults when i do -d
20:00 -!- mg [n=mg@daimi-pat.daimi.au.dk] has joined #go-nuts
20:01 < dgnorton> iant: s/pasing/parsing
20:02 < dho> but that makes sense.
20:02 < dho> Snert: 6 != 8?
20:03 -!- batonius [n=user@line145-29.adsl.kirov.ru] has quit ["ERC Version 5.3
(IRC client for Emacs)"]
20:03 < fincher> iant: what's the non-general case?
20:03 < Snert> there is no 8nm, just a 6nm, which appears to read the go .a
files just fine
20:04 -!- mejja [n=user@c-49b6e555.023-82-73746f38.cust.bredbandsbolaget.se] has
quit [Remote closed the connection]
20:04 -!- tonyg [n=tonyg@cpc1-cmbg7-0-0-cust149.cmbg.cable.ntl.com] has quit
["Leaving"]
20:05 < dho> aha.
20:05 -!- afurlan [n=afurlan@scorpion.mps.com.br] has quit [Remote closed the
connection]
20:05 * atsampson peers at os_test.TestChdirAndGetwd -- "These are chosen
carefully not to be symlinks on a Mac", but /bin is a symlink on Hurd systems,
and, for obscure reasons, my Linux machine...
20:05 -!- cdin2 [n=cdin@c-69-181-44-221.hsd1.ca.comcast.net] has quit ["Leaving"]
20:06 -!- gnuvince [n=vince@64.235.207.47] has quit ["What the fruit is goin' on
here!?"]
20:06 -!- jrr_ [n=jrr@c-98-222-193-94.hsd1.in.comcast.net] has quit ["leaving"]
20:06 < dho> > ./6.out
20:06 < dho> Abort
20:06 < dho> well that's hello world.
20:06 < asyncster> doe sgo have multi-line strings?
20:06 < asyncster> does go*
20:07 -!- r00ttap [n=wjones@c-98-225-129-81.hsd1.pa.comcast.net] has quit [Read
error: 60 (Operation timed out)]
20:07 < fabiocerqueira> ok, I did my "hello, world!" :)
20:07 < fgb> congrats
20:07 < Rob_Russell> asyncster: yeah, and continue lines with \ like C
20:07 < asyncster> ah ok
20:07 -!- aho [n=nya@e179094098.adsl.alicedsl.de] has quit
["EXEC_over.METHOD_SUBLIMATION"]
20:10 -!- franksalim [n=frank@adsl-76-221-202-115.dsl.pltn13.sbcglobal.net] has
quit [Read error: 104 (Connection reset by peer)]
20:10 -!- t3rm1n4l [n=slynux@111.92.64.27] has quit [Read error: 113 (No route to
host)]
20:11 < Rob_Russell> asyncster: so like this http://pastie.org/697775
20:11 < asyncster> nice , thanks :)
20:12 -!- sachetto [n=sachetto@189.17.213.204] has quit ["Leaving"]
20:12 -!- amacleod [n=amacleod@c-24-34-33-96.hsd1.ma.comcast.net] has quit [Read
error: 110 (Connection timed out)]
20:12 < yuanxin> where is sleep() in Go?
20:13 -!- sladegen [n=nemo@unaffiliated/sladegen] has quit [Nick collision from
services.]
20:13 -!- sladegen [n=nemo@unaffiliated/sladegen] has joined #go-nuts
20:13 -!- kroot [n=locutus@of.the-b.org] has joined #go-nuts
20:13 < kroot> Hello.
20:13 < dgnorton> how do I define a function that returns a pointer to a
vector?
20:14 < JasonWoof> select is being way too fair...  I need to read from
channel a until there's nothing left to read before I read from channel b.  if
neither are ready yet, I want to wait on both
20:15 < atsampson> have whatever's sending on channel A send a sentinel
value when it's finished?
20:15 < atsampson> (but, more generally, this is why occam-like languages
usually have both ALT (which is like select) and PRI ALT (which is prioritised))
20:16 -!- gnuvince [n=vince@64.235.207.47] has joined #go-nuts
20:16 < JasonWoof> ahh, I can check if a is readable with len(a)
20:17 < kroot> Is there any way to force error checking by declaring that a
class should implement an interface?
20:17 -!- Ioneye [n=ioneye@unaffiliated/ioneye] has quit ["bbl"]
20:18 -!- cankoy [n=cankoy@94.54.13.77] has joined #go-nuts
20:19 -!- Venom_X_ [n=pjacobs@66.54.185.131] has joined #go-nuts
20:19 -!- Upside [n=Charlie@uawifi-nat-210-16.arizona.edu] has joined #go-nuts
20:19 -!- Upside [n=Charlie@uawifi-nat-210-16.arizona.edu] has quit [Client Quit]
20:20 -!- edlerk [n=edlerk@S010600179acb1a15.wp.shawcable.net] has joined #go-nuts
20:21 < Rob_Russell> kroot: if you're passing it to a function then that
should be checked when the function's called
20:22 < Rob_Russell> kroot: there's also the reflect package that might help
you check the type
20:22 < dgnorton> how do I define a func that returns a pointer to vector?
"func foo() *vector {"...doesn't like that
20:22 < kroot> Rob_Russell: Compile-time or run-time?
20:22 < Rob_Russell> kroot: compile-time
20:23 -!- Upside [n=Charlie@uawifi-nat-210-16.arizona.edu] has joined #go-nuts
20:23 -!- Irssi: #go-nuts: Total of 543 nicks [0 ops, 0 halfops, 4 voices, 539
normal]
20:24 -!- vustyle [n=vustyle@c-24-13-24-58.hsd1.in.comcast.net] has quit []
20:24 -!- sku [n=sk@93.190.183.137] has joined #go-nuts
20:25 < cankoy> my Go build failed: http://pastie.org/697788 , any idea how
to fix?  GOOS=linux GOARCH=386
20:25 < Rob_Russell> yuanxin: sleep() is in the time package
20:25 -!- hipe [n=hipe@69.193.196.185] has joined #go-nuts
20:25 -!- UnorthodoxCodeFu [n=bastian_@206.53.195.2] has left #go-nuts []
20:26 < kroot> Rob_Russell: Will it give you a vague error like 'class x
does not implement interface y' or does it say 'class x has no method matching
signature foo(bar,baz) in interface y'
20:26 -!- edlerk [n=edlerk@S010600179acb1a15.wp.shawcable.net] has quit ["I quit"]
20:26 -!- yuanxin [n=uman@uawifi-nat-210-16.arizona.edu] has quit ["Lost
terminal"]
20:26 < kroot> er, for interface y
20:27 -!- RadSurfer [n=RadSurfe@unaffiliated/radsurfer] has joined #Go-nuts
20:27 < dgnorton> is it possible to return a pointer to vector from a func?
am I just talking crazy?
20:27 -!- ericfode [i=c61d0032@gateway/web/freenode/x-nnkuwyigtovywdid] has joined
#go-nuts
20:28 < ericfode> me and a group of guys are considering porting go to
windows
20:28 < me__> ericfode: cool.  how are you planning to do that?
20:28 -!- JoePeck [n=JoePeck@cpe-74-69-85-249.rochester.res.rr.com] has quit []
20:28 < ericfode> and we would like to know what your team sees as the
biggest challengs
20:28 < ericfode> thats why i am on here
20:28 < ericfode> i dont really know yet
20:29 < ericfode> CTCP VERSION?
20:29 -!- kizzo [n=kizzo@c-24-6-50-117.hsd1.ca.comcast.net] has left #go-nuts []
20:29 -!- franksalim [n=frank@adsl-76-221-202-115.dsl.pltn13.sbcglobal.net] has
joined #go-nuts
20:30 < me__> ericfode: as far as i understand, you'd have to get
{6,8}{l,a,c,g} ported to windows.  they are already ports of prior versions in the
Inferno source tree, if that helps.
20:30 < me__> ericfode: then, you'll need to modify the linkers to generate
PE binaries instead of ELF.
20:30 < me__> ericfode: then you need to write a runtime.
20:30 -!- mjburgess [n=michael@m1.mjburgess.co.uk] has joined #go-nuts
20:31 -!- fabiocerqueira [i=c8811634@gateway/web/freenode/x-oepcigednlnsiije] has
quit ["Page closed"]
20:31 -!- pierron_ [n=pierron@88-122-98-101.rev.libertysurf.net] has joined
#go-nuts
20:31 < mjburgess> how can i get Go working on windows (7, AMD Phenom II) ?
20:31 < ericfode> we are new to this project so we dont know the lingo {6,8}
{l,a,c,g} and the inferno source tree
20:31 -!- pierron [n=pierron@91.164.247.161] has quit [Read error: 60 (Operation
timed out)]
20:31 < me__> ah, fair enough.  the compilers follow this patterm
20:31 < me__> *pattern
20:31 < ericfode> then for the runtime would it be possible to port the
current one?
20:31 < me__> <number><tool>
20:32 -!- Upside [n=Charlie@uawifi-nat-210-16.arizona.edu] has quit ["Leaving"]
20:32 < andguent> me__: ?g is obviously new...
20:32 < Snert> dho: I found out why cgo fails to build on OpenBSD; default
max.  file descriptors on OpenBSD is 64 and 8l was essentially opening all the .a
files without closing.  Changing the ulimit value yields a different issue, but
I've at least moved on.
20:32 < me__> the number defines the target architecture - 6 = amd64, 8 =
i386.
20:32 < ericfode> ohh
20:32 < me__> the letter is the tool = a is the assembler, l is the linker,
c is the c compiler, g is the go compiler.
20:32 -!- Deltafire [n=chris@82-71-44-155.dsl.in-addr.zen.co.uk] has left #go-nuts
[]
20:32 -!- defectiv [n=clays@c-24-5-65-40.hsd1.ca.comcast.net] has joined #go-nuts
20:32 < ericfode> ok that makes since now
20:32 < me__> andguent: sure, i was being sloppy, sorry.
20:33 -!- gnuvince [n=vince@64.235.207.47] has quit ["Lost terminal"]
20:33 < me__> inferno is an os from bell labs, a plan9-in-a-vm.  it contains
ports of 8a, 8c, and 8l (among others) to windows.
20:34 < me__> those versions of 8* do not generate ELFs or PEs, however.
you'll need to get the go versions going on windows as a first step.
20:34 < Rob_Russell> dgnorton: should be, did you try vector * instead?
20:34 < Rob_Russell> kroot: i'll let you know as soon as i try it ;)
20:34 -!- MX80 [n=MX80@cust16.177.113.38.dsl.g3telecom.net] has joined #go-nuts
20:34 < rhc> dgnorton: func myfun() *vector.Vector { return vector.New(20);
}
20:35 < mjburgess> so for windows, download the inferno vm and run 8/6g
inside it?
20:35 < me__> mjburgess: no, not yet.
20:35 -!- pace_t_zulu [n=pacetzul@unaffiliated/pacetzulu/x-585030] has quit []
20:35 < delza> I was curious about Go's support for functional style
programming.  My experiment with it is here:
http://livingcode.org/2009/11/13/go-language-and-functional-programming
20:35 < me__> about the runtime, wrt porting it - there are a lot of
unixisms in current runtime, but they're in os-specific areas (src/pkg/runtime/*)
20:35 -!- fgb1 [n=fgb@190.246.85.45] has joined #go-nuts
20:35 < mjburgess> is there any way to get this working on windows then?
20:35 < ericfode> hmm
20:36 < ericfode> ok
20:36 < me__> mjburgess: not yet...
20:36 < mjburgess> a linux VM would work though?
20:36 < me__> yep.
20:36 < ericfode> so how many hours?
20:36 < ericfode> 50 -100?
20:36 -!- Venom_X [n=pjacobs@66.54.185.131] has quit [Read error: 113 (No route to
host)]
20:37 -!- Venom_X_ is now known as Venom_X
20:37 -!- fgb1 [n=fgb@190.246.85.45] has quit [Read error: 104 (Connection reset
by peer)]
20:37 < ericfode> (we are trying to evaluate if the project is the right
size for what we are looking for)
20:37 < dgnorton> rhc: thanks!
20:37 < me__> no idea.  i don't know windows...  does PE look vaguely like
ELF?  how many people do you have?
20:37 <+iant> PE looks nothing like ELF, but that doesn't matter too much;
the big part of a port would be the runtime and syscalls packages
20:37 < Rob_Russell> kroot: so i made a function that takes a Point (which
is a type that has an x & a y) and i made a var a AlmostPoint;, where AlmostPoint
is a type that has just an x.  Then i tried to call the function with a & got
20:37 < andguent> ericfode: asking all _these_ question should make you
think...
20:37 < Rob_Russell> kroot: goplot.go:66: cannot use a (type AlmostPoint) as
type Point
20:37 < dho> iant: ^
20:37 < engla> delza: methods to existing types -- only if you "alias" them
like "type Number int" look in Tut 2 for this
20:38 -!- gnuvince [n=vince@64.235.207.47] has joined #go-nuts
20:38 <+iant> Rob_Russell: are these structs and not interfaces?  You can't
convert a struct to another struct
20:38 <+iant> dho: sorry, I cleared the scrollback
20:38 < ericfode> well if the compiler generates assembly you could use a
diffent assembler with it, like nasm
20:39 < dho> iant: no, i was agreeing with you re: big part being runtime /
syscalls
20:39 * andguent rolls eyes
20:39 < dho> :)
20:39 <+iant> ericfode: 6g/8g don't generate normal assembler, actually the
assembler is almost part of the linker
20:39 <+iant> dho: ah, OK
20:39 < Rob_Russell> iant: yeah, structs, kroot was looking for errors for
type-checking
20:39 < ericfode> hmm that would make it a little more difficult
20:39 -!- leitaox [n=leitaox@189.98.83.167] has joined #go-nuts
20:39 -!- rot [i=death@59.93.35.182] has joined #go-nuts
20:40 <+iant> ericfode: no that part is really not a big deal, a day or two
of work
20:40 < me__> iant: hmm, i've been finding the runtime bits easier so far
than 8l digging?
20:40 < dho> me__: your runtime doesn't work yet though
20:40 <+iant> me__: yeah, but you are looking at another Unix system, and
they are talking about Windows
20:40 < me__> dho: :D sure, hard to test without being able to run binaries
though.
20:41 < ericfode> lol yah
20:41 < dho> me__: well, it won't link anything, i'm surprised you're not
getting errors about e.g.  runtime-mmap
20:41 < mightybyte> Is "type Foo int;" implemented the same as "type Foo
struct { x int; }" except that in the first one the value is anonymous?
20:42 <+iant> mightybyte: well, for the first one you can use +, etc., for
the second you can't
20:42 < ericfode> we will have 3 people
20:42 <+iant> they take the same amount of space on the stack or heap if
that is what you are asking
20:42 < mightybyte> iant: Ahh, interesting
20:42 < mightybyte> iant: I was interested in both
20:43 < diabolix> so, the go compiler produces the binary directly?
20:43 <+iant> diabolix: yes, or, at least, the linker produces the binary
directly
20:43 < olegfink> iant: quick question, say I wanted to introduce a change
in go/parser, producing a preprocessor.  there isn't any way to just redefine a
few func's in a package, is there?
20:43 -!- dmz1 [n=dmz@ws215-53.maryno.net] has left #go-nuts []
20:43 < diabolix> right, it doesn't use system 'ld' is what I meant.
20:43 < me__> dho: oh, i sure am, just that i'd been stubbing out bits left
and right.
20:43 <+iant> diabolix: 6g/8g do not use system ld, gccgo does it
20:43 < dho> me__: ah
20:44 < scandal> was the 'goc' command robpike was using in his techtalk
just an alias, or is it a helper script?
20:44 <+iant> olegfink: I'm not sure I understand, but I think the answer is
no
20:44 < diabolix> so, what are the chances of a windows port?
20:44 -!- robertpateii [n=robertpa@207-114-244-5.static.twtelecom.net] has joined
#go-nuts
20:44 <+iant> scandal: just a script
20:44 < ericfode> hmm
20:44 < dho> diabolix: 100% if someone decides to finish one.
20:44 < dho> 0% if not.
20:44 <+iant> scandal: a tiny script, like 8g $1; 8l $1
20:44 < mightybyte> iant: It looks like "type Foo int" does not give the
same fmt package behavior for Foo as for int though.
20:44 < scandal> iant: ok, thanks
20:45 -!- plainhao [n=plainhao@mail.xbiotica.com] has quit []
20:45 < diabolix> any reason why it has to produce binary code?  why can't
it just use the system assembler/linker?  just for speed?
20:45 -!- clipperchip [n=cc@c-71-239-122-41.hsd1.il.comcast.net] has joined
#go-nuts
20:45 < me__> i don't know what windows's world looks like.  is the windows
syscall interface known?
20:45 <+iant> mightybyte: well, if you define a String method for Foo it
will be used, but otherwise I would expect it to be the same
20:45 <+iant> diabolix: for speed, yes, and also because that is how the
Plan 9/Inferno tools work
20:45 < clipperchip> rot!!!
20:45 <+iant> me__: Windows doesn't work quite the same way
20:46 < ericfode> yah kinda
20:46 < diabolix> isn't inferno JVM based or something?
20:46 < scandal> delza: to answer one of the q's from your blog post, you
can't attach methods to types defined outside your package.
20:46 <+iant> me__: you have to link against certain DLLs, and those are
well documented
20:46 < ericfode> to get to syscalls or the windows equvlan
20:46 < rot> @_@
20:46 < dho> diabolix: it is not jvm based.
20:46 -!- Daminvar [n=Daminvar@129.21.81.77] has quit ["Leaving"]
20:46 < mightybyte> iant: Well, I just wrapped a type around a uint16 that
was part of a larger data structure and now that data structure's String method
gives different output.
20:46 < me__> iant: okay, cool.
20:46 < dho> diabolix: it is a vm that can run hosted or native
20:46 < ericfode> you have to "ask the operating system" where stuff is
20:46 < me__> diabolix: inferno runs on its own vm, Dis.
20:46 -!- ch4w [n=ch4w@62.57.138.69.dyn.user.ono.com] has quit [Read error: 145
(Connection timed out)]
20:46 < ericfode> its a bit more of a task then it is on *nix
20:46 -!- robertpateii [n=robertpa@207-114-244-5.static.twtelecom.net] has quit
["hapy weekend!"]
20:46 <+iant> mightybyte: dunno, does it seem wrong?
20:46 < olegfink> iant: so I should just grab the package source and
redefine the needed functions there?  Sounds reasonable, thanks.
20:47 < me__> jvm-esque.  actually, closer to dalvik, fwiw...  (register
machine, pretty readable)
20:47 < scandal> delza: you might also be interested in the special form
f(g(args)) where g returns multiple values.
20:47 < mightybyte> iant: Yeah.  Let me see if I can make an example.
20:47 <+iant> olegfink: yes, or add new functionality I suppose
20:47 < diabolix> I guess a JVM port of Go would be just as good as a
windows version, and probably more usefull.
20:47 < yetifoot> port it to .NET
20:48 < atsampson> diabolix: doing lightweight concurrency on the JVM is a
nontrivial problem...
20:48 < ericfode> i would say .net
20:48 < diabolix> and doing it in x86 assembly isn't?
20:48 < ericfode> but i think that a native port would be good
20:48 < atsampson> yes, it's relatively easy in x86 assembler ;)
20:48 < dho> the concurrency aspects are mostly implemented on top of
existing kernel interfaces.
20:49 < dho> the only reason there's any assembler is to get at the
syscalls.
20:49 < ericfode> yes it is
20:49 < diabolix> oh, so it actually uses something like epoll under the
hood?
20:49 < dho> i think you're confused
20:49 < Ycros> go does funny things with stacks, you won't get those on
.net/jvm
20:49 < Snert> __gilles you about tonight?
20:49 < jetienne_> after being compiled, the code is native or there is a vm
running ?
20:50 < me__> Ycros: .net has something like fibres though?
20:50 < dho> diabolix: it uses kernel locking and thread creation syscalls
20:50 < dho> diabolix: in linux, that means futexes and clone(2)
20:50 < Ycros> me__: does it?  I haven't seen anything.
20:50 -!- Austin__
[n=austin@CPE0016cbc30e9c-CM001ceacff6ba.cpe.net.cable.rogers.com] has joined
#go-nuts
20:50 <+iant> jetienne_: the code is native
20:50 -!- devilmonastery [n=devilmon@nat/google/x-bsreffyjykxmchai] has joined
#go-nuts
20:51 < dho> diabolix: in mac os, it's mach_semaphore stuff and bsdthreads
20:51 < dho> diabolix: my freebsd port uses posix semaphores and the kernel
threading interface
20:51 <+iant> it does epoll on GNU/Linux also
20:51 < Snert> dho: I've managed to get the OpenBSD port to reach the test
suite
20:51 < me__> Snert: very nice
20:52 -!- Guest30625 [n=user@72.14.228.129] has quit [Remote closed the
connection]
20:52 -!- subat_qn [n=subat_qn@78.236.214.16] has joined #go-nuts
20:52 -!- temme [n=kcollins@pool-173-71-105-240.cmdnnj.fios.verizon.net] has
joined #go-nuts
20:52 < diabolix> so, when you write to a channel, it has to make sure the
stack is in a state where it can give up execution to another goroutine?
20:52 < Snert> yeah, but it bails around ...
20:52 < Snert> make[2]: Entering directory
`/home/achowe/Projects/org/golang/go/src/pkg/archive/tar'
20:52 < Snert> 8g -o _gotest_.8 common.go reader.go writer.go reader_test.go
writer_test.go
20:52 < Snert> rm -f _test/archive/tar.a
20:52 < Snert> gopack grc _test/archive/tar.a _gotest_.8
20:52 < subat_qn> Hello everybody
20:52 < Snert> make[2]: Leaving directory
`/home/achowe/Projects/org/golang/go/src/pkg/archive/tar'
20:52 < Snert> /home/achowe/bin/gotest[147]: ./8.out: Operation not
permitted
20:52 < Snert> make[1]: *** [test] Error 1
20:52 <+iant> diabolix: the stack is more or less always in such a state,
but yes
20:52 < Snert> make[1]: Leaving directory
`/home/achowe/Projects/org/golang/go/src/pkg/archive/tar'
20:52 < Snert> make: *** [archive/tar.test] Error 2
20:53 < Snert> so I've still got some things to sort
20:53 * Snert gets some vodka
20:53 -!- blup [n=icedtea@athedsl-4469937.home.otenet.gr] has joined #go-nuts
20:53 -!- fgb [n=fgb@190.246.85.45] has quit [Connection timed out]
20:54 < mightybyte> iant: Is synonym behavior the same for "type Foo uint16"
as it is for "type Bar net.IP" (or any non-built-in type)?
20:54 <+iant> mightybyte: yes
20:54 -!- alphazero [n=alphazer@ip68-106-96-239.dc.dc.cox.net] has joined #go-nuts
20:54 < Ycros> diabolix: goroutines can migrate across os threads
20:55 <+iant> uint16 is just like a user type except that it is in package
scope and, well, it's the only to get an unsigned 16-bit integer type
20:55 < mightybyte> iant: Hmmm, but I thought you said that primitive types
can't have instances of interfaces?
20:56 < diabolix> does each goroutine have a stack?
20:56 <+iant> mightybyte: that is true, but it's because you are only
allowed to define methods on types that you define yourself
20:56 < atsampson> dho: there's also the assembler stubs to switch stacks
(gosave/gogo), which tend to be in assembler in most LWP runtimes...
20:56 < diabolix> i guess it has to.
20:56 <+iant> diabolix: yes
20:56 < atsampson> (it's certainly the case for all the ones our group's
done)
20:56 < alphazero> hi all, any advice on the most efficient way to read
unknown number of bytes from a net.Conn until a sequence (\r \n specificially) is
found?
20:56 < Snert> question concerning ports: to whom does one submit patches,
notes, etc.  for review?
20:56 <+iant> diabolix: but stacks are segmented and discontiguous, so they
are small by default
20:56 < mightybyte> iant: Yeah, which is what led me to this problem :)
20:56 <+iant> Snert: http://golang.org/doc/contribute.html
20:56 -!- Venom_X [n=pjacobs@66.54.185.131] has quit []
20:56 -!- Adraen [n=Adraen@cpc3-broo7-2-0-cust640.14-2.cable.virginmedia.com] has
joined #go-nuts
20:57 < Adraen> hi
20:57 <+iant> alphazero: bufio.ReadBytes
20:57 -!- JBeshir [n=namegduf@138-38-226-61.resnet.bath.ac.uk] has joined #go-nuts
20:57 < diabolix> iant, so, does the speed come from doing the context
switches in user space instead of the kernel?  and the reduced memory is because
of a small segmented stack?
20:57 < atsampson> diabolix: yes and yes
20:57 < Ycros> diabolix: and that's why it's tricky to pull off on the
jvm/clr
20:57 <+iant> yes
20:57 < Snert> iant: and how does one do it if you don't have mercurial
installed?
20:58 < diabolix> yes, since the jvm is pretty much designed with its own
idea of what a function is.
20:58 < blup> cant you install it?  :o
20:58 <+iant> Snert: hmmm, I suppose one doesn't
20:58 < Snert> unless there is some git -> mercurial covenerter
20:58 < JBeshir> He's ethically opposed to installing development software
on his development system.
20:58 < alphazero> @lant: thanks.  but that also returns the delimeter -
sorry for the stupid q but how would I trim the last byte?
20:58 -!- devilmonastery_ [n=devilmon@97-82-242-047.dhcp.hckr.nc.charter.com] has
joined #go-nuts
20:58 < JBeshir> Snert: Anyways, I think there is
20:59 <+iant> There is certainly a way to access the code review system
without using Mercurial but I don't know what it is
20:59 < JBeshir> It requires Mercurial, though, I think.
20:59 <+iant> alphazero: buf = buf[0 : len(buf) - 1]
20:59 < mightybyte> iant: http://pastebin.com/d55bed53a
20:59 < me__> Ycros: http://msdn.microsoft.com/en-us/magazine/cc164086.aspx
, if you really want...
20:59 < alphazero> @iant: perfect.  tnx a lot!
20:59 < dho> Snert: any chance i can take a look at your 8c/8l changes?
20:59 < Adraen> you can use wget and create a recursive bash script to
download the source :)
20:59 < Snert> Ain't going to install mercurial / python on my boxes;
already have enough SCM systems
21:00 < mightybyte> iant: That demonstrates the problem.  I was wanting to
define my own interface instance on net.IP, so I had to make the synonym, but then
I was hoping it would keep the original String implementation.
21:00 < mightybyte> iant: I guess I can't have my cake and eat it too.
21:00 < Snert> dho: no 8c change; one minor 8l change to recognise openbsd
21:00 <+iant> mightybyte: Oh, I see, yes the original String is lost; we
have considered ways to keep it but right now there is no way
21:00 < engla> Snert: installing something like hg2git is not much different
git-svn depends on svn for example, no idea about hg plugins
21:01 <+iant> mightybyte: your new String method can call the old one by
using a type conversion
21:01 < mightybyte> Ok. Seems like it might be nice to address that in the
future.
21:01 <+iant> yeah, it's an open issue
21:01 < mightybyte> iant: Ok, good point.  But it's still unnecessary
boilerplate IMO.
21:01 <+iant> agreed
21:01 < diabolix> so, a goroutine will only get swapped out when
writing/reading a channel?  and the context switch logic is designed to prevent
race conditions?  or can a context switch happen anytime?
21:01 < me__> dho: when you get a chance, can you post you runtime bits so
far?
21:02 < dho> me__: will do when i get home
21:02 < mightybyte> I think allowing interfaces to be defined on non-local
types would be an alternative way of fixing the problem.
21:02 < me__> awesome, thanks.
21:02 <+iant> diabolix: goroutines only context switch when they block on
something, but you can have multiple goroutines running simultaneously
21:02 < dho> Snert: my 8l changes don't generate something that runs so if i
could take a look at that, could possibly be helpful
21:02 <+iant> on different OS threads
21:02 -!- alphazero [n=alphazer@ip68-106-96-239.dc.dc.cox.net] has quit []
21:02 <+iant> mightybyte: that is very problematic, there was some
discussion on the mailing list
21:02 < Snert> engla: does hg2git do the reverse too?  The whole point is I
don't want to install software like mercurial & python on my boxes which I'll
never use for anything else.  I try to keep my systems free of junk.
21:02 < diabolix> iant, right, but I was talking about the userspace context
switch they do when many are mapped to a single thread.
21:03 < blup> well i could tarball it and send it to you
21:03 <+iant> diabolix: right, for that, they only switch when they block or
make some system call, there is no timer, at least not currently
21:03 -!- Austin__
[n=austin@CPE0016cbc30e9c-CM001ceacff6ba.cpe.net.cable.rogers.com] has quit []
21:03 < me__> iant: whoa, 'not currently'?  i thought the whole point was
that they stay cooperative.
21:03 < mightybyte> iant: Seems like doing either non-local interface
implementations or interface passthrough for type synonyms would have the same
resultant reduction of boilerplate.
21:04 < diabolix> sounds reasonable, probably reduces overhead.  and I'd
imagine some debugging implementation of a schedular could very easily allow you
to debug deadlock.
21:04 < mightybyte> iant: Is one easier to implement than the other?
21:04 < engla> Snert: every git tool for working with hg that I've seen uses
python.  but I use none now, and don't know what is available
21:04 <+iant> me__: in general yes but there is the issue of CPU-bound code
blocking everything else from doing anything
21:04 <+iant> mightybyte: interface passthrough for type synonyms is the one
we may implement in the future
21:04 < dho> Snert: you could also just grab another copy and diff -u :P
21:05 <+iant> mightybyte: either is easy to implement, the question is the
effect on the rest of the language
21:05 < mightybyte> iant: Ok, good to know.  Thanks.
21:05 -!- dgnorton [n=dgnorton@97.65.135.119] has quit []
21:05 < blup> Snert, ill send you the tarball in 1 min
21:05 < asyncster> anyone know what's wrong with this code:
http://pastie.org/697853 ?.  The compiler says it can't find the 'Initialize'
method
21:06 < Snert> dho: http://golang.pastebin.com/d162d9a33 was all i did to 8l
21:06 < subat_qn> somebody have configure an ide (as Xcode)
21:06 < subat_qn> for make auto build
21:06 < Snert> blup: tar ball?  for?  I have Go from yesterday morning
someone else gave me.
21:06 < dho> Snert: hm, and it executes your binaries?  :\
21:06 < Ycros> Snert: is it junk if you're using it for something useful,
ie.  this project?
21:06 -!- ruda [n=ruda@200-180-176-25.paemt706.dsl.brasiltelecom.net.br] has
joined #go-nuts
21:07 < diabolix> so, lets say you have a blocking system call, like
'select', and you do it in a goroutine, and you only have 1 thread, in theory,
your program could block, even though other goroutines are there and have work to
do?
21:07 -!- devilmonastery [n=devilmon@nat/google/x-bsreffyjykxmchai] has quit [Read
error: 145 (Connection timed out)]
21:07 -!- devilmonastery_ is now known as devilmonastery
21:07 -!- hackbench [n=hackbenc@88.242.234.176] has joined #go-nuts
21:07 < blup> oh i thought you needed it and didnt have mercurial
21:07 < blup> nevermind
21:07 -!- batonius [n=batonius@line145-29.adsl.kirov.ru] has joined #go-nuts
21:07 < Ycros> diabolix: it will get pushed onto another os thread
21:07 < Rob_Russell> asyncster: looks like you used
gocouch.Server{"http://localhost:5984"} instead of
gocouch.Server("http://localhost:5984")
21:07 < Snert> Ycros: yes IMO I don't want 5 different SCM on my system and
certainly don't want to install Python just to make mercuial work.  Perl is bad
enough.
21:07 <+iant> asyncster: what I see is implicit assignment of gocouch.Server
field 'address'
21:07 < me__> diabolix: this is the trouble with libthread; in go, it'll get
pushed into another host thread.
21:08 < xorl> hmm weird, getting build error on a different machine for
6.out not being able to execute binary
21:08 -!- aaront [n=aaront@d24-141-25-171.home.cgocable.net] has joined #go-nuts
21:08 < engla> Snert: can't you get a tarball snapshot from the hg repo?
21:08 < Snert> dho: appears too, though the test suite stopped at the
archive/tar section
21:08 < dho> hm
21:08 * dho grumbles
21:08 < pure_x01> what is the best aproach to get syntax highlighting
21:08 < diabolix> so, how does go know when to create a new thread?  is it
when a goroutine takes a long time?  or does it have to know which system calls
might block?
21:09 <+iant> diabolix: it has to know which system calls might block
21:09 < me__> dho: what about?
21:09 < Adraen> any plugin for gedit or something else for color highlight ?
21:09 < Snert> engla: how?  the projects admins did make a tar ball
available yesterday
21:09 < dho> me__: mine doesn't just work :)
21:09 < diabolix> so, a thread that does alot of computation will be allowed
to do alot of computation.
21:10 < Snert> engla: but if I have to install mercurial to make a tar ball,
not going to happen.
21:10 <+iant> diabolix: yes
21:10 -!- lazz0 [n=blee@unaffiliated/lazz0] has quit ["MICROSOFT WORD IS A FUN
GAME"]
21:10 <+iant> diabolix: that is more or less a bug
21:10 < engla> Snert: I mean that git hosting services normally have a link
to a tarball for arbitrary version (generated on request).  Nown google code is a
bit rudimentary
21:11 -!- mightybyte [n=mightyby@pool-74-107-117-150.bltmmd.fios.verizon.net] has
left #go-nuts []
21:11 < Snert> anyway, I'm not finished the port yet, but at some point I'll
need a non-mercurial method to submit my port
21:11 < Ycros> iant: so then, pre-emptive switching between goroutines will
be implemented?
21:11 <+iant> Snert: easiest way will be to cooperate with somebody who is
willing to install Mercurial
21:11 < Snert> engla: git hosting services?  I've not used any.  Currently
use git locally only.
21:11 -!- batonius [n=batonius@line145-29.adsl.kirov.ru] has left #go-nuts []
21:11 <+iant> Snert: harder way is to reverse engineer the codereview plugin
21:11 < Snert> iant: ya i figure it might be like that
21:12 -!- batonius [n=batonius@line145-29.adsl.kirov.ru] has joined #go-nuts
21:12 <+iant> Ycros: that is likely to happen at some point, yes
21:12 < Snert> dho: any joy?
21:12 < diabolix> iant, why would you say its a bug?
21:12 < engla> Snert: well if you don't like hg, then make a git repo from
the tarball, submit your changes as patches from that repo later
21:13 <+iant> diabolix: because kicking off a long-running computation which
is intended to run in the background should not prevent the rest of the goroutines
from doing useful work
21:13 < Snert> engla: that is the plan, if there is a submission channel,
otherwise, I'll just find someone who already has mercurial setup and is less
fussy than I am.
21:13 -!- mainman__ [n=Adium@host127-154-dynamic.21-79-r.retail.telecomitalia.it]
has joined #go-nuts
21:14 < engla> Snert: convince someone to mirror go on bitbucket, they have
the typical tarball snapshot from any version feature
21:14 -!- jeremybanks [n=jeremyba@75-119-248-154.dsl.teksavvy.com] has joined
#go-nuts
21:14 < dho> Snert: no, but thank you
21:15 -!- rodrigo_ [n=rodrigo@200.123.137.185] has joined #go-nuts
21:15 -!- rodrigo_ [n=rodrigo@200.123.137.185] has left #go-nuts ["Leaving"]
21:15 < diabolix> iant, that makes sense if latency is a concern.  at the
same time, it would be nice to prevent needless context switches when there is
work to be done.
21:15 < jeremybanks> Hey.  Quick question: is there any easier way to define
an array of known values than making a new() one and individually setting each
element?
21:15 <+iant> diabolix: sure, if there is nothing else to do, nothing should
happen
21:15 < atsampson> iant: any ideas on how you're going to do that?
21:15 <+iant> jeremybanks: not really
21:15 <+iant> atsampson: no, it's purely an idea
21:15 < jeremybanks> @iant: oh, well.  thanks.
21:15 < Snert> dho: I could bundle up what i have just now for you to look
at; its not 100 pct and there are some gaps, guesses, and assumptions, but it
might help you.
21:17 -!- triddell [n=tim@207-191-198-64.cpe.ats.mcleodusa.net] has quit [Read
error: 60 (Operation timed out)]
21:17 -!- codedread [i=180dd699@gateway/web/freenode/x-zxqioqbwkxshdfqq] has
joined #go-nuts
21:17 < subat_qn> some person works on GUI for GO
21:17 < atsampson> iant: the occam approach is to have some instructions
(e.g.  the ends of loops that the compiler thought looked "long-running") check to
see if a timer/instruction counter's rolled over, and if so, reschedule -- but
even that's fairly expensive...
21:18 <+iant> atsampson: yeah, I hope we can do better than that, we'll see
21:18 -!- ericmaxey [n=ericmaxe@c-98-203-198-10.hsd1.wa.comcast.net] has joined
#go-nuts
21:18 -!- jh99 [n=jh99@e179069005.adsl.alicedsl.de] has joined #go-nuts
21:18 -!- JeffJohnson [n=fho@unaffiliated/jeffjohnson] has quit [Read error: 104
(Connection reset by peer)]
21:19 -!- annodomini [n=lambda@wikipedia/lambda] has quit []
21:19 -!- m-takagi is now known as m-takagi_
21:19 -!- JeffJohnson [n=fho@2001:6f8:1c00:cb:0:0:0:2] has joined #go-nuts
21:19 < diabolix> if you do solve that problem, you might as well use the
same solution for blocking system calls.
21:20 -!- mikola [n=mikola@sal-019.me.wisc.edu] has joined #go-nuts
21:20 <+iant> diabolix: blocking system calls are much easier, Go already
provides the system call layer in the runtime anyhow
21:20 <+iant> diabolix: they all work as they should
21:20 -!- _rogue780 [n=rogue780@c-68-34-234-213.hsd1.md.comcast.net] has joined
#go-nuts
21:20 -!- triddell [n=tim@207-191-198-64.cpe.ats.mcleodusa.net] has joined
#go-nuts
21:20 -!- jh99 [n=jh99@e179069005.adsl.alicedsl.de] has quit [Client Quit]
21:20 -!- qbit__ [n=qbit_@c-75-71-160-106.hsd1.co.comcast.net] has joined #go-nuts
21:20 -!- anupam [n=anupam@122.169.89.6] has quit ["Leaving"]
21:21 < diabolix> i guess its hard to analyze code for computational
complexity.
21:21 * atsampson grins at diabolix
21:21 -!- Gracenotes [n=person@wikipedia/Gracenotes] has joined #go-nuts
21:21 -!- DeFender1031 [n=danf@pool-70-17-124-217.res.east.verizon.net] has quit
[Remote closed the connection]
21:22 < diabolix> you'd probably need a mama thread watching what the others
are doing, but your basically implementing a scheduler in userspace at that point.
21:22 < atsampson> well, you are fundamentally implementing a scheduler in
userspace anyway...
21:22 < atsampson> the problem is finding a way of safely interrupting
(preempting) a running LWP
21:23 < diabolix> a cooperative scheduler in userspace doesn't bother me,
but the idea of managing subtasks forcefully from within the same program is
scary.
21:23 < atsampson> yup
21:23 -!- jetienne_ [n=jerome@ivr94-6-82-230-255-246.fbx.proxad.net] has quit
[Read error: 131 (Connection reset by peer)]
21:23 < Ycros> stackless python lets you use a naive "every X instructions"
pre-emptive scheduler
21:24 < diabolix> reminds me of when I was writing asynchronos assembly for
DOS.  I had a function that checked for IO that I had to put inside of every long
running loop.
21:25 < me__> inferno as well.
21:25 < Snert> night all; time to do something other than port code just
now, otherwise I'll dream code all night
21:25 < pure_x01> is there a sleep method in go?
21:25 < Amaranth_> pure_x01: it's used in the examples...
21:25 < mainman__> uhm and use syscalls as a hint "we can interrupt after?",
considering heavy computational loops == don't interrupt the task
21:25 -!- Amaranth_ is now known as Amaranth
21:26 < pure_x01> Amaranth: ok i will have a look thnx
21:26 -!- JoePeck [n=JoePeck@129.21.104.50] has joined #go-nuts
21:26 -!- alphazero [n=alphazer@ip68-106-96-239.dc.dc.cox.net] has joined #go-nuts
21:27 < Amaranth> pure_x01: time.sleep
21:27 -!- rogue780 [n=rogue780@c-68-34-234-213.hsd1.md.comcast.net] has quit [Read
error: 60 (Operation timed out)]
21:27 -!- timmcd [n=Adium@97-117-100-106.slkc.qwest.net] has joined #go-nuts
21:27 < timmcd> How do I convert an int to a string?
21:27 -!- Juico [i=5592b540@gateway/web/freenode/x-hvzfylhowbsrkakj] has quit
[Ping timeout: 180 seconds]
21:28 -!- Fish [n=Fish@78.238.225.114] has joined #go-nuts
21:28 < pure_x01> Amaranth: thnx nice
21:28 -!- leitaox [n=leitaox@189.98.83.167] has quit [Client Quit]
21:28 < scandal> timmcd: strconv.Itoa
21:28 < bartwe> adding futures to a speculative goroutine read would remove
the need for blocking
21:28 < alphazero> hi again.  have looked around but can find any details on
optional params to functions.  Specifically for func foobar(a Sometype, args ...)
where args are known to be zero or more []byte params.  Inside the function body,
how do I count and access the optional []byte params?
21:28 < diabolix> there is probably no good way to deal with a long running
cooperative task, otherwise mac os < 10 wouldn't have sucked so much.
21:29 <+iant> alphazero: look at pkg/fmt for some examples
21:29 -!- fgb [n=fgb@190.246.85.45] has joined #go-nuts
21:29 < diabolix> I can think of two simple ways to deal with long running
tasks, an external timer, or force the user to declare the task as
non-cooperative.
21:30 < diabolix> it wouldn probably be helpful to have a way of making a go
task go in a new thread anyway.
21:31 < Ycros> diabolix: what about mac os 10.6, with its grand central
dispatch?
21:31 < atsampson> Ycros: GCD doesn't have preemption either
21:32 < atsampson> but GCD's designed to encourage people to carve up their
big computational jobs into little chunks, so if you're doing it properly it's not
a problem
21:32 -!- nuvm [n=nu@CPE0019b92225c9-CM00195edd2c24.cpe.net.cable.rogers.com] has
joined #go-nuts
21:32 < Ycros> atsampson: but presumably it forks off more real os threads
if something's taking a while?
21:32 -!- timmcd [n=Adium@97-117-100-106.slkc.qwest.net] has left #go-nuts []
21:32 -!- keithpoole [n=keithpoo@cpc3-bagu8-0-0-cust84.bagu.cable.ntl.com] has
joined #go-nuts
21:32 < Ycros> (I only have a vague idea of how it works, but it strikes me
as similar to go's model)
21:32 < Amaranth> alphazero: Looks like you need to use reflect for that
21:33 -!- brunov [n=bruno@190.191.110.64] has quit [Read error: 145 (Connection
timed out)]
21:33 -!- jmhodges [n=user@12.186.229.30] has joined #go-nuts
21:33 -!- XniX23 [n=vegy@we.will.never-be.afraid.org] has joined #go-nuts
21:33 < Amaranth> alphazero: fmt.Fprintf has a ...  at the end and uses v :=
reflect.NewValue(a).(*reflect.StructValue);
21:33 < alphazero> hmm..  i'm looking at print.go right now ...
21:33 < diabolix> you know, its not just helpful, its required.  someday
your gonna want to interface to a C/C++ library from within a goroutine, and your
gonna need the ability to spawn a real thread for that.
21:33 < atsampson> Ycros: dunno...
21:34 < atsampson> diabolix: provided you have a way of making a call into
the library that uses the blocking syscalls mechanism, you generally don't need to
be able to create a dedicated thread
21:34 < atsampson> (there are a few C libraries that are exceptions to this,
where they use thread-local data, etc.)
21:34 < alphazero> @Amaranth: you're right: v :=
reflect.NewValue(a).(*reflect.StructValue); // no clue what that means yet :)
21:35 < Amaranth> Ycros: GCD is a globally managed thread queue
21:35 < diabolix> Ycros, afaik, GCD is taken into account in the main
scheduler, but each process has issolated contexts for its own tasks, so the
kernel can easily context switch a long running GCD task.
21:35 < Amaranth> Ycros: You give it 5 things that can run in parallel and
it decides how many threads to spawn and how many tasks to run on each thread
based on system configuration and load
21:35 -!- teedex [n=teedex@32.173.129.56] has joined #go-nuts
21:36 -!- cankoy [n=cankoy@94.54.13.77] has quit [Remote closed the connection]
21:36 < diabolix> not really an option when you live in userspace, unless
you write a kernel extension.
21:36 < Amaranth> Right, which is what GCD does
21:37 < diabolix> atsampson, a syscall and a library call are much
different, making a library call without a real stack is a scary idea.
21:38 < XniX23> when was first release of go?
21:38 < diabolix> so, I think you need a way of making a thread, not just a
way of making goroutines.  you can use the when you have a high computational
load, or you intend to make external library calls.
21:38 < atsampson> diabolix: you don't need to spawn a thread to create a
stack...
21:39 < atsampson> a stack's just an area of memory -- there's nothing
particularly special about it
21:39 -!- aaront [n=aaront@unaffiliated/aaront] has quit ["And that's all he
wrote..."]
21:39 -!- gcopenhaver1 [n=greg@c-98-250-49-37.hsd1.mi.comcast.net] has joined
#go-nuts
21:40 < Ycros> how does go behave at the moment when accessing C libraries
via cgo?
21:40 -!- owen__ [n=owen@ta-1-91.tip.net.au] has joined #go-nuts
21:40 -!- gcopenhaver1 [n=greg@c-98-250-49-37.hsd1.mi.comcast.net] has quit
[Client Quit]
21:40 < bartwe> atsampson: there are alot of things special about a stack,
os and hardware dependent things
21:40 < bartwe> direction, guardpages, teb/tls, exception frames
21:41 -!- gcopenhaver [n=greg@c-98-250-49-37.hsd1.mi.comcast.net] has joined
#go-nuts
21:41 -!- teedex_ [n=teedex@166.190.163.203] has joined #go-nuts
21:41 -!- mg [n=mg@daimi-pat.daimi.au.dk] has left #go-nuts ["ERC Version 5.3 (IRC
client for Emacs)"]
21:41 < atsampson> bartwe: nearly all of which are irrelevant if you're just
context-switching in a lightweight concurrent runtime
21:42 < bartwe> guardpages are a good way to save memory, and muking with
tls is a great way to kill libraries
21:42 < atsampson> if you're running code in some context, you have most of
the "special" stuff set up already, and you really can just get away with moving
the stack pointer around
21:43 < atsampson> and in general you don't want to play with guard pages,
etc., if you're doing lightweight concurrency, since it's far too expensive
21:44 -!- ericfode [i=c61d0032@gateway/web/freenode/x-nnkuwyigtovywdid] has quit
["Page closed"]
21:44 -!- stracks [n=intim@unaffiliated/romani] has joined #go-nuts
21:44 < pure_x01> not used to be able to specify sleep in nanoseconds ..
10s = 10000000000ns
21:44 -!- moshe_ [n=moshe@83.119.164.251] has joined #go-nuts
21:46 -!- vegy [n=neki@we.will.never-be.afraid.org] has joined #go-nuts
21:46 -!- teedex_ [n=teedex@166.190.163.203] has quit [Remote closed the
connection]
21:46 < pure_x01> is there any specification process around go ..  Python
has pep's and Java has jsr's ..  i think that is a pretty good aproach if you want
to have a stable library of core functionality..  sure the changes takes longer
but in the long run it is FTW
21:47 -!- jh99 [n=jh99@e179069005.adsl.alicedsl.de] has joined #go-nuts
21:47 -!- hector [n=chatzill@client-86-0-126-58.nrth.adsl.virginmedia.com] has
joined #go-nuts
21:47 -!- diagonalfish [n=muffin@r57h112.res.gatech.edu] has left #go-nuts []
21:48 -!- anders_ [n=anders@c83-253-2-206.bredband.comhem.se] has quit [Read
error: 145 (Connection timed out)]
21:49 -!- Koen_ [n=Miranda@83.101.24.153] has joined #go-nuts
21:49 < dho> Snert: well the current issue is execve rejecting it, so i need
to do some kernel hacking to figure out where and why
21:50 -!- nuvem [n=nu@CPE0019b92225c9-CM00195edd2c24.cpe.net.cable.rogers.com] has
quit [Read error: 110 (Connection timed out)]
21:50 < Snert> dho:
21:50 < Snert> dho: might that be godefs?  when you try to generate some of
the files in pkg/syscall
21:51 < Snert> dho: what version of gcc do you have?
21:51 < hector> what is nacl (Native Client)?
21:51 -!- aa [n=aa@r200-40-114-26.ae-static.anteldata.net.uy] has quit [Remote
closed the connection]
21:51 < dho> hector: browser vm
21:51 < dho> x86 sandbox
21:51 -!- temme [n=kcollins@pool-173-71-105-240.cmdnnj.fios.verizon.net] has quit
[Remote closed the connection]
21:52 < dho> no, the output of 6l, when i try to execute it, comes back with
ENOEXEC
21:52 < Snert> oh
21:52 < dho> probably something silly
21:52 -!- Cesario [n=Cesario@vil69-8-88-172-179-202.fbx.proxad.net] has quit [Read
error: 148 (No route to host)]
21:53 < Snert> dho: have a look at this http://golang.pastebin.com/db2fe8bb
I had to make these changes because Go assumed gcc 4 and mine is older
21:54 < Snert> maybe your issue is similar, since it was related to execve
21:55 < me__> dho: what does readelf think?
21:56 -!- dwery [n=dwery@nslu2-linux/dwery] has joined #go-nuts
21:56 < dwery> hello..  it's correct that net.ListenPacket("udp"...  always
return EAGAIN ?
21:56 < dwery> pardon, ReadFrom after ListenPacket
21:57 < dho> Snert: using 4.2.1
21:57 < dho> me__: readelf seems to think it looks ok
21:58 < dho> Snert: godefs works fine for me; i've got pkg/* mostly done
21:58 -!- batonius [n=batonius@line145-29.adsl.kirov.ru] has left #go-nuts []
21:58 < dho> going to have to make another pass over syscalls because I just
stubbed those from darwin and removed ones freebsd doesn't have, but
21:59 < Snert> I actually implemented a good many syscalls from OpenBSD
21:59 < Snert> some of the more interesting like poll can wait though
21:59 < mrd`> Snert: Porting go to OpenBSD?
21:59 < dho> Snert: i get kevent/kqueue for free :)
21:59 < Snert> exec.go and dir_openbsd.go and stat_openbsd.go took some
effort to satisfy dependcies
22:00 < dho> *nods* i had a couple things to do for dir/stat
22:00 < Snert> open bsd has that; i've just never used it
22:00 < dho> Snert: it's a much nicer interface than poll/select
22:00 < alphazero> Ok, regarding accessing var args of type []byte, I've
gotten to the point of obtaining a Field.  How do i go from a Field to a []byte?
(Nothing in print.go that I could find.) TIA.
22:00 < dho> since it doesn't have to loop over all the FDs every time you
specify a new one in the mask
22:01 -!- Wiebe_ [n=Wiebe@5356AA0E.cable.casema.nl] has joined #go-nuts
22:01 < dho> it just says, `hey, an event happened on this fd'
22:01 < Snert> i guess; wasn't sure if OpenBSD had it, but i see now that it
does, so I could have it for free too
22:01 < me__> Snert: can i see your sources as well?
22:01 -!- teedex [n=teedex@32.173.129.56] has quit [Read error: 110 (Connection
timed out)]
22:01 < Snert> mrd` : yes, doing a port to OpenBSD
22:01 < mrd`> Snert: Cool.
22:02 -!- Wiebe [n=Wiebe@5356AA0E.cable.casema.nl] has quit [Read error: 104
(Connection reset by peer)]
22:02 -!- Wiebe_ is now known as wiebe
22:02 < dho> mrd`: me__ is doing dragonfly and i'm doing freebsd
22:02 < mrd`> dho: Pft.  :P
22:02 < mrd`> ;)
22:02 * dho shrugs
22:02 < dho> i'm not into the politics
22:02 < Snert> me__: ask me tomorrow; its getting late; happy to share what
I've done;
22:02 < me__> sure, np.
22:03 -!- Kniht [n=kniht@c-68-58-17-177.hsd1.in.comcast.net] has quit [Read error:
110 (Connection timed out)]
22:03 -!- subat_qn [n=subat_qn@78.236.214.16] has quit []
22:04 < xorl> iant: So the flag import, how do I say even if the Flag has a
default say 'if it's default' spit the usage (flag.PrintDefaults)
22:04 < Snert> disappointed in the Go source structure though; there seems
to be a lot of overlap in code that could be more easier shared between platforms
22:04 < dho> Snert: such as?
22:04 -!- Koen_ [n=Miranda@83.101.24.153] has quit [Read error: 104 (Connection
reset by peer)]
22:05 -!- hackbench [n=hackbenc@88.242.234.176] has quit [Read error: 110
(Connection timed out)]
22:06 < Snert> one trival example...  src/pkg/runtime/openbsd/386/rt0.s
appears to be the same for all platforms, only difference is in renaming a symbol
22:06 -!- EthanG [n=ethan@cpc2-lanc4-0-0-cust329.brig.cable.ntl.com] has joined
#go-nuts
22:06 < gl> xorl: are you the xorl from xorl.wordpress?
22:06 < Snert> found similar cases
22:06 < xorl> no, i'm the other xorl that donated xorl.net to xorl.wordpress
lol
22:06 < gl> heh ok i see:)
22:07 < xorl> He does a lot more useful posts than I did/do so I figured
like being nice and offered to forward the domain to his blog.
22:07 < gl> yeah it's nice, his blog is really interesting
22:08 < KirkMcDonald> xorl: I don't believe you can distinguish between
having the default value, and the user providing the option with a value equal to
the default value.
22:08 < Snert> dho: also I believe much of the syscall_linux.go can be
applied to OpenBSD (which is what I've done where I believe it will work)
22:09 < xorl> KirkMcDonald: Ah, so I'll just have to look for my pre-defined
value and printdefaults when that is seen.
22:09 < drhodes> I've heard that go binaries (or at least, go code + magic)
will run natively in chrome, is there an official source on this?
22:11 -!- stefanc [n=stefanc@188.25.244.29] has quit ["Leaving"]
22:11 < pure_x01> if i have multiple go routines (example 10 ) that i want
to join after work has been done..  is the best way to have a finished channel
that all writes to and the read from that channel 10 times ?
22:12 < pure_x01> like so http://pastebin.com/m6d588310
22:12 -!- ajray is now known as ajray-away
22:13 < h4xOr> Any one working on a NetBSD port?
22:13 -!- rhelmer [n=rhelmer@adsl-69-107-65-242.dsl.pltn13.pacbell.net] has joined
#go-nuts
22:14 < harryv> pure_x01: you could use a buffered channel
22:15 -!- ehird [n=ehird@91.105.81.220] has joined #go-nuts
22:15 < pure_x01> harryv: oh..  do u have any example ..  just by adding a
number to the chan init ?
22:15 < Snert> h4xor: DragonFly is based on NetBSD yes?  Talk to me__
22:16 < harryv> pure_x01: eh wait, I might be mistaken.
22:17 < h4xOr> Snert: DragonFly is based on FreeBSD.  But, if you mean
pkgsrc/NetBSD then yes.
22:17 -!- Farhadix [n=Farhadix@unaffiliated/farhad] has quit ["Leaving"]
22:17 < diabolix> so is there a way to bind to C libraries in go?
22:17 -!- punya_ [n=punya@punya.Stanford.EDU] has joined #go-nuts
22:18 < harryv> pure_x01: nevermind what I said.
22:18 < scandal> diabolix: see misc/cgo/ for examples
22:18 < diabolix> ah, thanks.
22:18 -!- JoePeck [n=JoePeck@129.21.104.50] has quit []
22:18 < Snert> h4xor: oh.  well I'm working on OpenBSD port; not heard who
is doing NetBSD
22:18 < diabolix> you know, go is the most un-googlable langauge I've ever
used, ironically.
22:18 < KirkMcDonald> More so than C?
22:18 < harryv> somebody is working on a freebsd port as well.
22:19 < me__> harryv: dho is.
22:19 -!- JoePeck [n=JoePeck@jpecoraro.rit.edu] has joined #go-nuts
22:19 < diabolix> KirkMcDonald, its pretty easy to google for C.
22:19 < h4xOr> hi me__
22:19 -!- JoePeck [n=JoePeck@jpecoraro.rit.edu] has quit [Client Quit]
22:19 < pure_x01> is it possible to build under cygwin so i can play with it
@work
22:19 < me__> h4xOr: hi
22:20 < h4xOr> do you have any wip package that i can try on a netbsd
machine?
22:20 < me__> h4xOr: i'm working on dfly; i'm nowhere near
wip-package-stage.
22:20 < engla> so for powerpc..  how to build the go toolchain if I only
have gccgo for powerpc?
22:20 -!- jwzn [n=user@CPE001839f8e82b-CM0017ee6363de.cpe.net.cable.rogers.com]
has quit [Read error: 110 (Connection timed out)]
22:20 -!- jddron [n=jdo@alog0001.analogic.com] has left #go-nuts []
22:20 < me__> never used netbsd, don't know what its like, sorry.
22:20 < engla> gccgo is not done compiling so I'm not sure it will work but
22:21 < engla> (it's ppc/linux btw)
22:21 < me__> pure_x01: no.  sorry
22:21 < h4xOr> me__: no problem.  But, if you have some patches etc you can
share then i can try porting it to netbsd.
22:21 < sobersabre> can somebody review this script:
http://github.com/mvk/Scripts/blob/bc68c0c873d6fc17a5207957d703f37cb081dd67/gogogo.sh
22:21 < blup> diabolix, what do you mean ungoogleable?
22:21 < sobersabre> ?
22:22 < me__> h4xOr: http://grex.org/~vsrinivas/src/go-dragonfly-N.diff is
where my patches will be (current N=2)
22:22 < Snert> h4x0r: you might find OpenBSD is a closer relative to NetBSD
from what I've heard.
22:22 -!- JoePeck [n=JoePeck@jpecoraro.rit.edu] has joined #go-nuts
22:22 -!- mejja [n=user@c-49b6e555.023-82-73746f38.cust.bredbandsbolaget.se] has
joined #go-nuts
22:23 < me__> do openbsd and netbsd have umtx_* calls?
22:23 -!- Geralt [n=Geralt@unaffiliated/thegeralt] has joined #go-nuts
22:23 < uriel> obsd is still by far the sanest bsd, and probaby the sanest
*nix variant still under development
22:23 < diabolix> blup, I mean its really really hard to search for usefull
stuff on google.
22:23 < blup> obviously uriel
22:23 < Geralt> Hi, is there an Emacs mode for Go?
22:24 < dwery> Geralt: look under misc/emacs
22:24 < diabolix> in the source tree, under misc/emacs
22:24 < uriel> Geralt: yes misc/emacs
22:24 < uriel> blah
22:24 < me__> h4xOr: don't follow my 8l work, it ended up being a disaster.
22:24 < me__> h4xOr: i need to go read about elf a bit, i think...
22:24 < Snert> me__: don't know, never used them; have to look...
22:24 < blup> diabolix, do you realise its really really new?
22:25 < diabolix> scandal, so, your telling me I can just import a C header?
into my own namespace even?
22:25 < me__> Snert: was wondering what you would use for the locks in the
runtime?  dho is using semsys on fbsd, since fbsd's umtx* is more complex and
ill-matched to the runtime locks.
22:25 < pure_x01> are there people working in som syntaxhighlighting plugins
for any editors/ideś
22:25 < Geralt> dwery: uriel: thanks
22:25 < diabolix> blup, I know, but so is ook, and I have a pretty easy time
googling for ooc documentation.
22:25 < diabolix> blup, *ooc
22:26 < blup> ooc is the same as ooc o.o
22:26 < uriel> diabolix: if you want to google for go docs, just add
site:golang.org to your query
22:26 < diabolix> i typed ook the first time
22:26 < scandal> diabolix: you write a package which is a wrapper.  inside
the package, yes, you // #include "header.h" and write go functions, with your C
lib functions in the C.namespace
22:27 -!- Fish [n=Fish@78.238.225.114] has quit [Remote closed the connection]
22:27 < Snert> me__: haven't gotten to that point yet; right now just trying
to get the clean build that reaches the end of ./all.bash; a fully working build
will be another story
22:28 < Snert> me__: quick grep of /usr/include shows no umtx_*
22:28 < diabolix> scandal, in the gmp example, it just imports gmp, is there
a gmp wrapper somewhere that I'm not seeing?
22:28 < me__> ah, okay.  :\ ; is there semsys() at least?
22:30 < scandal> diabolix: look at misc/cgo/gmp/gmp.go there are a bunch of
functions defined after the comments
22:30 < engla> anyone here who built gccgo for powerpc?
22:31 < halfdan> hey
22:31 < Snert> me__: not in syscalls...  there is a SYS_SEMOP and
SYS___SEMCTL, but not found anything else related yet
22:31 -!- punya [n=punya@punya.Stanford.EDU] has quit [Read error: 110 (Connection
timed out)]
22:31 < halfdan> how do i use the go.vim file for syntax highlighting?
22:32 < asyncster> is there a way to send a HEAD request with the http
package?
22:32 < uriel> for all the people complaining that one can't search for go
docs: http://www.google.com/cse/home?cx=003538345765652431974:5nbobem3igq
22:32 < Snert> me__: and SYS_SEMGET
22:32 < halfdan> pure_x01: take a look at the misc/ dir from the repo
22:32 < asyncster> it seems the send method is not available
22:32 -!- XniX23 [n=vegy@we.will.never-be.afraid.org] has quit []
22:32 -!- jinho [n=jinho326@ool-18be41c6.dyn.optonline.net] has joined #go-nuts
22:32 < scandal> halfdan: put the go.vim in your ~/.vim/syntax directory,
then put the following in ~/.vim/ftdetect/go.vim: au BufNewFile,BufRead *.go set
filetype=go
22:32 < pure_x01> halfdan: thanx
22:32 < h4xOr> Snert: i have used OpenBSD a lot.  But, can't install it
under xen with paravirt.  So, i was using NetBSD
22:33 < h4xOr> me__: thanks for the link.
22:33 -!- mennis [n=mennis@adsl-068-016-104-079.sip.asm.bellsouth.net] has quit []
22:34 * dho updates source and compiles in dtrace and elf exec handler debugging.
22:34 -!- connerk [n=connerk@rrcs-24-172-120-146.midsouth.biz.rr.com] has quit
["Bye"]
22:34 < h4xOr> me__: pm?
22:34 < halfdan> scandal: awesome, thanks
22:35 -!- solsTiCe [n=solstice@ARennes-553-1-9-157.w90-54.abo.wanadoo.fr] has quit
["Ex-Chat"]
22:35 < uriel> er, better: http://go-lang.cat-v.org/go-search
22:36 < ehird> Why doesn't `6g -o /dev/stdout ...  | 6l /dev/stdin` work?
22:36 < Gracenotes> interesting..  specification says "Arrays and structs
may not be compared to anything.", but you can compare them to nil
22:37 <+iant> Gracenotes: if you can compare them to nil, that sounds like a
minor bug in the compiler
22:37 < KirkMcDonald> Gracenotes: I would naïvely expect that comparison to
always be false.
22:37 < ehird> It results in:
22:37 < ehird> ??none??: truncated object file: /dev/stdin
22:37 < ehird> mainstart: undefined: main·init
22:37 < ehird> mainstart: undefined: main·main
22:37 < Gracenotes> yes, it should be..  though with pointers to either,
that /would/ seem to be a valid comparison..
22:37 < WalterMundt> is there any documentation of the recommended way to
build Go programs and libraries beyond the scale of the tutorial stuff?
22:38 < ehird> maybe 6l finishes with /dev/stdin before 6g finishes writing?
If so, why?
22:38 -!- Geralt [n=Geralt@unaffiliated/thegeralt] has quit ["Leaving."]
22:38 < KirkMcDonald> WalterMundt: Funny you should ask!
22:38 < KirkMcDonald>
http://kirkmcdonald.blogspot.com/2009/11/on-compilation-of-go-packages.html
22:38 < Gracenotes> oh, you opportunist, you
22:38 < Gracenotes> -.-
22:39 -!- jinho [n=jinho326@ool-18be41c6.dyn.optonline.net] has quit ["Leaving"]
22:39 <+iant> WalterMundt: there is some stuff in
http://golang.org/doc/contribute.html
22:39 < Gracenotes> well.  aka making timely blog posts about things you're
interested in
22:39 <+iant> or I'm sure KirkMcDonald's blog post is good too....
22:39 < WalterMundt> thanks, I'll check out both
22:39 < ehird> Actually, I don't see why 6l would complain about a truncated
file before reaching EOF, so...
22:39 < ehird> the 6g to /dev/stdout works fine, redirected it to a file and
6l is happy with it — so the issue is getting 6l to read from stdin
22:40 -!- seliq [n=sel@cpc1-nthc3-0-0-cust438.nrth.cable.ntl.com] has joined
#go-nuts
22:40 -!- belkiss [n=kvirc@78.235.168.105] has quit ["KVIrc Insomnia 4.0.0,
revision: 3582, sources date: 20090924, built on: 2009-10-30 14:04:36 UTC
http://www.kvirc.net/"]
22:40 < GeDaMo> ehird: does it compile if you run the programs on files?
22:40 < KirkMcDonald> ehird: Smells like a buffering problem.
22:40 -!- sg [i=3e164621@gateway/web/freenode/x-lxuwkspxqeyldtwx] has joined
#go-nuts
22:40 < ehird> GeDaMo: Of course.
22:40 < ehird> I can even do:
22:40 < ehird> $ 6g -o /dev/stdout blahblahblah >foo
22:40 < ehird> $ 6l foo
22:40 < ehird> KirkMcDonald: Indeed.
22:40 -!- mwarning [n=mwarning@ip-78-94-226-217.unitymediagroup.de] has joined
#go-nuts
22:40 -!- sg is now known as segoe
22:40 < KirkMcDonald> ehird: Perhaps 6l wants to seek() in the file?
22:41 < ehird> KirkMcDonald: Ah, that's probably it...  quite annoying,
though.
22:41 < dho> yeah i'm pretty sure it's because it only supports headers in
the first page.
22:41 -!- pure_x01 [n=pure@c83-248-3-188.bredband.comhem.se] has quit ["Ex-Chat"]
22:41 < dho> iant: is there any way to force the headers all into the first
page
22:41 -!- devilmonastery_ [n=devilmon@nat/google/x-dapdgrznmiukktkm] has joined
#go-nuts
22:42 <+iant> dho: I would have to pore over 8l a bit, you might get a
better answer if you e-mail rsc@golang.org directly; might want to CC the list too
22:42 < dho> russ is probably on gmail
22:42 < dho> yep
22:46 < Snert> almost midnight; off to bed for me
22:46 < WalterMundt> ok, so currently, gotest only works on packages that
are set up to build and install to $(GOROOT)/pkg/...?
22:46 -!- cmatei [n=cmatei@95.76.26.166] has joined #go-nuts
22:46 -!- Snert [n=chatzill@puff.snert.com] has quit ["ChatZilla 0.9.85 [Firefox
3.5.5/20091102152451]"]
22:47 -!- Snert [n=chatzill@puff.snert.com] has joined #go-nuts
22:48 -!- asyncster [n=asyncste@206.169.213.106] has quit []
22:48 -!- devilmonastery [n=devilmon@97-82-242-047.dhcp.hckr.nc.charter.com] has
quit [Read error: 60 (Operation timed out)]
22:48 -!- devilmonastery_ is now known as devilmonastery
22:48 -!- ilaksh [i=ilaksh@cpe-66-91-255-120.san.res.rr.com] has joined #go-nuts
22:49 -!- coliv [n=Coliveir@12.15.114.194] has left #go-nuts []
22:49 < ilaksh> I understand if you want to kick me for this question.  Are
they going to rename it to "Issue #9" or "I9"?
22:49 < hector> i'm attempting a port of go to windows and i was wondering
if it is necessary to port lib9.  it doesn't seem to be used by anything?
22:49 < xorl> WalterMundt: you can import packages.
22:49 < xorl> import "./filename" that has a package defined within it.
22:50 -!- asmo [n=asmo@c-f6c5e055.1155-1-64736c11.cust.bredbandsbolaget.se] has
quit [Remote closed the connection]
22:50 < xorl> Or so I believe.
22:50 < WalterMundt> xorl: what does that have to do with gotest?
22:50 -!- xuser [n=xuser@unaffiliated/xuser] has joined #go-nuts
22:50 < WalterMundt> I can see how to set up a build system for packages
outside the go source tree
22:50 <+iant> hector: lib9 is used by the compiler itself, I believe
22:50 -!- jimster [n=jimster@67.23.28.37] has quit ["ircII EPIC4-2.10 -- Are we
there yet?"]
22:51 -!- fivebats [n=anonymou@c-76-115-189-78.hsd1.or.comcast.net] has joined
#go-nuts
22:51 < xorl> WalterMundt: didn't see the gotest portion.
22:51 < WalterMundt> but gotest's docs specifically say it assumes you
include GOROOT/src/Make.pkg, which defines 'make install' to install packages
under GOROOT/pkg
22:51 -!- Snert [n=chatzill@puff.snert.com] has quit [Client Quit]
22:51 < xorl> Sorry.
22:51 < WalterMundt> no problem
22:51 < KirkMcDonald> Specifying paths in an import seems unwise, somehow.
22:51 < WalterMundt> FWIW, between the blog post and the contributor docs I
understand go's build logic better now
22:51 -!- cmarcelo [n=cmarcelo@enlightenment/developer/cmarcelo] has quit [Remote
closed the connection]
22:51 < xorl> On a side note, odd that I can't get this thing to build on
another machine (go itself)
22:52 < hector> iant: perhaps my grep fu isn't good enough but i couldn't
find any references to p9 outside lib9
22:52 < WalterMundt> KirkMcDonald: I intend to use the compiler's -I flag to
specify a base path for app-specific packages
22:52 < KirkMcDonald> It seems much wiser to pass the correct -I option when
compiling than to make the source code aware of how you've organized the packages
on your filesystem.
22:52 -!- annodomini [n=lambda@c-75-69-96-104.hsd1.nh.comcast.net] has joined
#go-nuts
22:52 < KirkMcDonald> WalterMundt: Yeah, exactly.
22:52 < xorl> /home/xorl/bin/gotest: line 152: ./6.out: cannot execute
binary file hmmm
22:52 -!- XniX23 [n=XniX23@we.will.never-be.afraid.org] has joined #go-nuts
22:53 < xorl> doesn't fail for any dir but the archive/tar dir on this
machine.
22:53 -!- brandonOIT [n=brandonO@oit-143-75.oit.edu] has joined #go-nuts
22:53 < XniX23> hey i need help with installation
22:53 <+iant> XniX23: first see the wiki page mentioned in the channel topic
22:53 -!- bobappleyard1 [n=bob@cpc4-macc1-0-0-cust170.bagu.cable.ntl.com] has quit
["Leaving."]
22:53 -!- rhelmer [n=rhelmer@adsl-69-107-65-242.dsl.pltn13.pacbell.net] has quit
[]
22:54 -!- diabolix [n=jsoyke@206.210.81.55] has quit ["Leaving"]
22:54 -!- Adys [n=Adys@unaffiliated/adys] has joined #go-nuts
22:54 <+iant> hector: e.g., I see _p9sigstr called from libmach/linux.c
22:54 -!- awalton [n=awalton@76.177.53.219] has quit [Read error: 110 (Connection
timed out)]
22:54 -!- bshi [n=bshi@65.211.22.82] has quit [Remote closed the connection]
22:54 -!- g0bl1n [n=anonymou@a213-22-237-39.cpe.netcabo.pt] has joined #go-nuts
22:55 < xorl> iant: got any pointers on that?  it only fails on that one
binary
22:56 <+iant> xorl: I think I missed the context; pointers on what?  sorry
22:56 -!- brunov [n=bruno@190.191.110.64] has joined #go-nuts
22:56 < xorl> /home/xorl/bin/gotest: line 152: ./6.out: cannot execute
binary file;
22:57 -!- hector [n=chatzill@client-86-0-126-58.nrth.adsl.virginmedia.com] has
quit [Remote closed the connection]
22:57 < synx`> int *p;
22:57 -!- teedex [n=teedex@166.135.19.5] has joined #go-nuts
22:57 <+iant> xorl: are you able to build any working programs?
22:57 < xorl> iant: That is building go itself.
22:58 < xorl> trying to install it on a debian 5.0.3 machine.
22:58 -!- ajray1 [n=alex@wvc32563rh.rh.ncsu.edu] has joined #go-nuts
22:58 -!- hector [n=chatzill@client-86-0-126-58.nrth.adsl.virginmedia.com] has
joined #go-nuts
22:58 <+iant> xorl: I understand, but it is in the testing phase, after the
compilers and libraries are built
22:58 < xorl> Works on my ubuntu 9.10 machine.
22:58 < xorl> ah, let me see if any of the other binaries work
22:58 <+iant> xorl: are you running a 64-bit version of Debian?
22:58 < xorl> 386
22:58 < ajray1> when i allocate a []string of length 4, then try to set
foo[5] = "somestring" i get i stacktrace
22:58 <+agl> xorl: then you need to use 8g/8l
22:58 < ajray1> should the compiler realize that is in error, or not?
22:59 * ajray1 makes a paste
22:59 <+agl> ajray1: 6g compiles quickly.  It might be nice to have that be
a static error in the future, but it's not currently.
22:59 <+iant> xorl: you need to set GOARCH=386
22:59 -!- leptonix [n=leptonix@a83-163-17-196.adsl.xs4all.nl] has quit ["Leaving"]
22:59 < xorl> ah, got it.
22:59 < xorl> that's where i fubard
23:00 -!- coderunner [n=joetripo@CPE-124-187-168-177.lns16.cht.bigpond.net.au] has
joined #go-nuts
23:00 < xorl> ok, fixed, thanks haha
23:00 < xorl> stupid me.
23:00 < ajray1> agl: not worth reporting then?
23:00 -!- yaroslav [n=yaroslav@ppp91-78-215-14.pppoe.mtu-net.ru] has joined
#go-nuts
23:00 < ajray1> i'm a noob so i hopefully wont ever have to spend that long
debugging again
23:00 < ajray1> (debugging outof bounds thingy)
23:00 <+iant> ajray1: you could open an issue on it, but don't expect a fix
any time soon
23:01 < Gracenotes> so, it seems the 'type' keyword is nearly anything but a
synonym.
23:01 < ajray1> okay.  i wish there were a way to have another compiler,
slightly slower, that would check for those things.  (youd only need to use it
when you start getting random stacktraces)
23:01 < Gracenotes> in comparison to true synonymity, it is very fascist
23:01 < Gracenotes> more of an irreversible newtype
23:02 < olegfink> iant, i know i'm beyond annoying, but is there some
(secret) documentation on gc's idea of go's AST?  i'm having trouble understanding
go.h's struct Node, and pkg/go/ast doesn't seem close enough.  i've already
annoyed Russ to the point when i need another victim.  :-)
23:02 <+iant> ajray1: you could try gccgo
23:02 < yaroslav> Hey.  Have a question on Go language design.  I can see
why exceptions are not thare, but why is there GC if Go designers are aiming for
high execution speed?  Aren't GC and exeption two things that slow down OO
programs the most?
23:02 < yaroslav> * there
23:02 <+iant> olegfink: there is no secret documentation.  I also find it
rather mystifying
23:02 <+iant> it is the product of Ken's mad brain
23:03 <+iant> yaroslav: GC is really important for correct multithreaded
programs
23:03 < rbancroft> yaroslav: I think that the gc will operate concurrently
so there should be less of a slowdown
23:03 < me__> hahaha
23:04 < ajray1> agl: is the debugger for 6g done?
23:05 < yaroslav> iant: and exceptions are not there purely for perfomance?
is returning error codes the recommended way?..
23:05 < ajray1> would that catch the out of bounds?
23:05 <+iant> ajray1: it is not done, and I don't know
23:05 -!- sku [n=sk@93.190.183.137] has quit [Remote closed the connection]
23:05 -!- bmac7 [n=brianmac@c-98-208-175-116.hsd1.fl.comcast.net] has quit [Read
error: 110 (Connection timed out)]
23:05 <+iant> yaroslav: exceptions are not there for various reasons;
performance is not really one of them; see the language deisgn FAQ; returning
error codes is the recommended way
23:05 -!- codedread [i=180dd699@gateway/web/freenode/x-zxqioqbwkxshdfqq] has quit
["Page closed"]
23:06 -!- mwarning [n=mwarning@ip-78-94-226-217.unitymediagroup.de] has left
#go-nuts ["Leaving"]
23:06 -!- alphazero [n=alphazer@ip68-106-96-239.dc.dc.cox.net] has quit []
23:06 < yaroslav> iant: thanks, will do
23:06 < WalterMundt> my understanding is that the language designers have a
religious view that error handling and propagation should be explicit at every
scope and stack level
23:06 < diltsman> iant: returning error codes just reminds me of all the
pains involved with using C APIs.  One function call followed by an if block,
followed by one function call and an if block, and so on.
23:07 < Gracenotes> some library functions return some error constant with a
real value.  if there is an error, it returns that constant with nil
23:07 -!- daxelrod [n=daxelrod@164.55.254.106] has quit ["Leaving."]
23:07 <+iant> diltsman: an alternative for deeply nested code is run it in a
goroutine; on an error, report on a channel and runtime.Goexit()
23:07 -!- erik__ [n=erik@66-90-186-185.ip.grandenetworks.net] has quit ["Leaving"]
23:08 < Gracenotes> it seems 0 is used, instead of -1, if an IO-based
function finds itself in an exception condition
23:08 < Gracenotes> although, string indexing returns -1, as usual
23:08 <+iant> Gracenotes: in general an os.Error value is used, and it will
be nil on no error
23:08 -!- wedgie [n=wedgie@pool-71-177-36-2.lsanca.ftas.verizon.net] has quit
[Nick collision from services.]
23:09 < Gracenotes> mm, yeah, it is an os.Error here.  is that an actual
struct?
23:09 < Gracenotes> (I'm just looking at the http library)
23:09 -!- brandonOIT [n=brandonO@oit-143-75.oit.edu] has quit [Remote closed the
connection]
23:09 <+iant> Gracenotes: os.Error is an interface; many uses return a
pointer to a struct when there is an error, where the struct satistifes the
os.Error interface
23:09 < Gracenotes> nope, it's type Error interface { String() string; }
23:10 -!- Anusko [n=anusko@a83-132-19-244.cpe.netcabo.pt] has joined #go-nuts
23:10 -!- XniX23 [n=XniX23@we.will.never-be.afraid.org] has quit [Read error: 131
(Connection reset by peer)]
23:10 -!- kfx [n=kfx@li92-61.members.linode.com] has quit ["ffff"]
23:10 -!- lbrandy_ [n=lbrandy_@206.210.81.55] has quit ["Computer has gone to
sleep"]
23:10 -!- deyoda [n=irchon@60-242-168-196.static.tpgi.com.au] has joined #go-nuts
23:10 -!- RazvanM [n=RazvanM@dazzler.isi.jhu.edu] has quit ["Lost terminal"]
23:11 -!- awalton [n=awalton@76.177.53.219] has joined #go-nuts
23:11 < Gracenotes> mm, and I see os.NewError
23:12 -!- GeDaMo [n=gedamo@212.225.108.57] has quit ["Leaving."]
23:12 -!- brandonOIT [n=brandonO@oit-143-75.oit.edu] has joined #go-nuts
23:13 < ajray1> W00t!  just got a good connection to postgres!
23:13 -!- deyoda [n=irchon@60-242-168-196.static.tpgi.com.au] has quit [Remote
closed the connection]
23:13 <+iant> ajray1: cool
23:13 -!- x-ip [n=sakura@unaffiliated/x-ip] has quit ["Leaving"]
23:14 < rbancroft> ajray1: are you using libpq?
23:15 < Gracenotes> so it's possible to make go packages..  is there some
relatively central package repository?
23:15 -!- brandonOIT [n=brandonO@oit-143-75.oit.edu] has quit [Remote closed the
connection]
23:15 <+iant> Gracenotes: not yet
23:16 < Gracenotes> perhaps it is a bit early for that.  plus, people might
make stuff because of temporary interest, and then drop it
23:16 -!- keithpoole [n=keithpoo@cpc3-bagu8-0-0-cust84.bagu.cable.ntl.com] has
quit []
23:17 -!- ericmc [n=emc@pdpc/supporter/student/ericmc] has quit ["leaving"]
23:17 -!- Omega [n=Omega@201.229.26.197] has quit [Read error: 110 (Connection
timed out)]
23:17 -!- timepilot [n=timepilo@c-24-91-16-174.hsd1.ma.comcast.net] has joined
#go-nuts
23:17 < ajray1> rbancroft: no.  should i?
23:17 < halfdan> ajray1: awesome!  can you publish the code @ nopaste?
23:17 < ajray1> rbancroft: i'm using the 'how to connect over TCP' part of
the postgres manual
23:17 < ajray1> halfdan: its on github, does that work?
23:17 -!- Omega [n=Omega@201.229.26.197] has joined #go-nuts
23:18 < rbancroft> ajray1: ah, yeah.  no I was just curious if you actually
got libpq to work in go yet!  the tcp method is fine
23:18 < halfdan> does github provide any source code browsing via web?
23:18 < rbancroft> ajray1: nice work!
23:18 < ajray1> ya.  but its some narsty source right now
23:19 < olegfink> ajray1: just for clarity, were you referring to
compile-time or run-time bound checking?
23:19 < ajray1> i'm just hacking through the actually connection stuff.
after i prove it works i'll clean it up into a package.
23:19 -!- jA_cOp [n=yakobu@unaffiliated/ja-cop/x-9478493] has joined #go-nuts
23:19 -!- teedex_ [n=teedex@32.174.161.98] has joined #go-nuts
23:19 < ajray1> olegfink: either.  neither was checked and all i got was a
stacktrace
23:20 < ajray1> olegfink: the issue report says compile-time though.
23:20 < Gracenotes> hm.  another interesting thing: gofmt formats
"fmt.Printf(p+2); fmt.Printf("%d", p+2);" as "fmt.Printf(p + 2); fmt.Printf("%d",
p+2);"
23:20 -!- hebroon [n=hebroons@p6787d5.hkidnt01.ap.so-net.ne.jp] has joined
#go-nuts
23:20 -!- JoePeck [n=JoePeck@jpecoraro.rit.edu] has quit []
23:22 < ajray1> straight-up BSD license is compatable with go's license,
right?
23:22 -!- XniX23 [n=XniX23@we.will.never-be.afraid.org] has joined #go-nuts
23:22 -!- aninhumer [n=aninhume@81.105.73.160] has quit [Remote closed the
connection]
23:22 <+iant> ajray1: it should be
23:24 -!- wedgie_ [n=wedgie@pool-71-177-36-2.lsanca.ftas.verizon.net] has joined
#go-nuts
23:24 < XniX23> need help with installation...  when i run ./all.bash i get
$GOBIN is not a directory or does not exist\n create it or set $GOBIN differently
23:24 -!- wedgie_ [n=wedgie@pool-71-177-36-2.lsanca.ftas.verizon.net] has quit
[Client Quit]
23:24 < harryv> XniX23: what is $GOBIN set to?
23:24 -!- gcopenhaver [n=greg@c-98-250-49-37.hsd1.mi.comcast.net] has left
#go-nuts []
23:24 < jA_cOp> mkdir $GOBIN maybe?  :P
23:25 < XniX23> its set to/home/phyro/bin
23:25 < harryv> `echo $GOBIN`
23:25 < XniX23> because i set it to $HOME/bin
23:25 < jA_cOp> Is it exported?  does that folder exist?
23:25 < XniX23> i*
23:25 < XniX23> no it doesnt actually
23:25 < halfdan> ...
23:25 < Gracenotes> I don't like having a ~/bin, so I set it go $GOROOT/bin
23:25 -!- gcopenhaver [n=greg@c-98-250-49-37.hsd1.mi.comcast.net] has joined
#go-nuts
23:26 < Gracenotes> which works fine for me
23:26 < harryv> "$GOBIN is not a directory or does not exist\n"
23:26 < halfdan> harryv: hard to understand ;)
23:26 < Gracenotes> *to
23:26 < harryv> halfdan: might cause some misunderstandings, definitely ;)
23:26 < XniX23> i thought it will create one if it needs lol
23:26 < jA_cOp> mkdir $GOBIN;./all.bash
23:27 < dho> sweet.
23:27 < dho> 40316b: 48 89 6d 00 mov %rbp,0x0(%rbp)
23:27 * dho grumbles some
23:27 -!- lenst [n=user@90-229-131-67-no52.tbcn.telia.com] has quit [Read error:
60 (Operation timed out)]
23:27 < XniX23> nvm, worked with mkdir bin -.-
23:27 < XniX23> thanks
23:28 -!- sobersabre [n=bilbo@85.64.34.22] has left #go-nuts []
23:28 < Gracenotes> dho: that is a, uh, lovely mov instruction.  :x
23:29 -!- Ibw [n=isaac@cpe-67-241-42-134.twcny.res.rr.com] has joined #go-nuts
23:29 < Ibw> Hey all
23:29 < dho> yeah, no clue what's doing it.
23:29 -!- leo_ [n=leo@elizabethwaters-57-85.resnet.wisc.edu] has joined #go-nuts
23:29 < dho> probably my busted runtime.
23:29 -!- ericmaxey [n=ericmaxe@c-98-203-198-10.hsd1.wa.comcast.net] has quit
["This computer has gone to sleep"]
23:30 < Ibw> How long has Go been around?  I got the impression that it was
pretty recent in terms of public availability
23:30 < dho> 2 days.
23:30 < dho> they've been working on it for about a year
23:30 < jA_cOp> It was announced only two days ago
23:30 < Ibw> hah, wow
23:30 < me__> mmm, anyone of you in here ever used vhdl for anything?
23:30 < Ibw> So this IRC channel is so full after only two days of the
public release?
23:30 < Gracenotes> wait, there are 531 people in here??  I thought it was
under 100 when I joined..
23:30 < dwery> me__: yes
23:30 < Ibw> incredible
23:30 < jA_cOp> Ibw, there were like 500 yesterday
23:30 < dwery> yesterday it was at 500+
23:30 < saati> dho: that causes a segfault right?
23:31 < Ibw> Has anyone actually done anything cool with it yet?
23:31 < ilaksh> excuse me, are they going to rename it to Issue #9
23:31 < blackmagik> Ibw, yea these IRC numbers are insane for a new lang,
but it's the power of Google's influence
23:31 < Gracenotes> I saw that someone implemented a raytracer
23:31 -!- CalJunior [n=caljunio@82-168-237-95.ip.telfort.nl] has joined #go-nuts
23:31 < me__> from outer space?
23:31 < dho> saati: yeah
23:31 < jA_cOp> tbh I don't think they're going to rename it :S
23:31 < dho> it's runtime-mmap
23:31 < dho> failing for some reason
23:31 -!- insanity_ [i=1000@200.141.180.162] has joined #go-nuts
23:31 < dho> i probably have arguments in the wrong registers.
23:31 < Gracenotes> most new channels that are announced in major
communities can quickly get to the 100s
23:31 < ilaksh> they have to rename it though
23:32 < dho> no they don't
23:32 < me__> for vhdl peoples, i see a neat correspondance between the way
i work in vhdl and these csp languages; have any of you noticed anything like
that?
23:32 < insanity_> w00 , google fanboys
23:32 < saati> ilaksh: why would they
23:32 <+danderson> please don't bring redditness into this channel.  Why not
wait for the bug to be updated?
23:32 < me__> i'd be happy if they renamed it to 'issue 9 from outer space'
or somesuch, but this is unlikely.
23:32 < ilaksh> because Issue #9 or Issue 9 or I9 is just a way better name
23:32 < blackmagik> Gracenotes, i don't think so
23:32 < dwery> me__: yes, in the <- operator which resembles <= of
vhdl :D
23:32 < uriel> u/win19
23:33 < Gracenotes> hm.  well, I've seen this with a few channels :)
23:33 < uriel> (bleh, sorry)
23:33 -!- arke [n=f2@bespin.org] has quit [Read error: 145 (Connection timed out)]
23:33 < leo_> could someone help me.  I'm trying to build go, and when I run
./all-bash I get "$GOROOT is not set correctly or not exported"
23:33 < Gracenotes> obviously not all of them.  but for channels that grow
like this, there is definitely a peak
23:33 -!- |chachan| [n=chachan@ccscliente156.ifxnetworks.net.ve] has quit ["KVIrc
Insomnia 4.0.0, revision: , sources date: 20090520, built on: 2009/06/06 11:44:47
UTC http://www.kvirc.net/"]
23:33 < me__> dwery: i didn't mean it in that sense.  i meant it in the
'lots of little processes' sense, many of which have channels on which they block
(which could also be called clk_en in another world)
23:33 < saati> leo_: have your read the install docs?
23:33 < blackmagik> Gracenotes, Scala is still in the 100s after all these
years
23:33 < saati> or the topic?
23:33 < dwery> me__: just kidding ;)
23:34 -!- Chandon [n=nat@pool-74-104-22-223.bstnma.east.verizon.net] has joined
#go-nuts
23:34 < dwery> me__: yes, that's true.
23:34 < me__> dwery: hah okay.
23:34 < dwery> me__: there's even one example that says c <- strobe
23:34 -!- mmw [n=mmw@2002:51f2:9637:0:223:6cff:fe84:1914] has joined #go-nuts
23:34 < leo_> yes, I have set $GOROOT, put the export statement at the end
of /etc/profile and restarted
23:34 -!- timepilot [n=timepilo@c-24-91-16-174.hsd1.ma.comcast.net] has quit
["WeeChat 0.3.0"]
23:34 < KirkMcDonald> #d only has 86 people.
23:35 < Vanadium> Haskell has >600
23:35 < ilaksh> I bet walter bright is pissed
23:35 < Vanadium> 8)
23:35 < me__> hahaha, :).  i wasn't sure whether i was doing something right
or being silly when i had a clock channel back when i did something with
libthread...
23:35 < blackmagik> ##cobra only about 5 of us on there avg :)
23:35 < Ibw> Ah, so the real innovation in Go is libraries and dependencies.
I was having trouble understanding what was so different from what's out there
23:35 < KirkMcDonald> This channel is going to catch up to #python, at this
rate.
23:35 < me__> though i'd have liked a chan_broadcast() in addition to a
chansend...  perhaps i was Doing It Wrong?
23:35 -!- mmw [n=mmw@2002:51f2:9637:0:223:6cff:fe84:1914] has left #go-nuts []
23:36 < KirkMcDonald> (~685 for #python.)
23:36 <+danderson> measuring language popularity by IRC channel size is
rather incorrect
23:36 < Gracenotes> I get the feeling it's different from what's out there
partly because of what's out there
23:36 <+danderson> see the relative sizes of ##c, ##java and #python for
proof
23:36 < Ibw> This is fantastic; lots of opportunity for creating Go bindings
to everything out there
23:36 < Ibw> Gtk comes to mind
23:36 < ilaksh> well, I also think that popularity is not necessarily a good
indicator for merit
23:36 -!- mmw [n=mmw@2002:51f2:9637:0:223:6cff:fe84:1914] has joined #go-nuts
23:36 < KirkMcDonald> Bind Go to Python, embed Python in your Go
application...
23:36 < blackmagik> danderson, i've been bashed for doing that before it to
me it's an OK metric that reflects underlying factors.
23:36 < ajray1> Ibw: exactly (i've jumped on Postgres) :-) its exciting
23:36 < Ycros> this channel has a newbie-hose pointed at it at the moment,
we'll see how big it is when everything dies down a bit
23:37 < ilaksh> I am not going to die
23:37 < KirkMcDonald> However, writing Python extensions in Go is not yet
possible.
23:37 < ajray1> it got huge after it was slashdotted
23:37 < Gracenotes> Go obeys the C calling conventions, right?
23:37 <+danderson> blackmagik: not really.  It reflects how many IRC users
are interested, but a language community extends way beyond that.
23:37 -!- aa [n=aa@r190-135-212-219.dialup.adsl.anteldata.net.uy] has joined
#go-nuts
23:37 < Gracenotes> (the non-gcc compiler)
23:37 <+iant> Gracenotes: 6g/8g do not
23:37 < ilaksh> it got huge because of Issue #9
23:37 < Gracenotes> aww.  but there is an FFI.
23:37 <+iant> Gracenotes: yes
23:37 -!- sprsquish1 [n=Adium@adsl-75-62-180-237.dsl.pltn13.sbcglobal.net] has
joined #go-nuts
23:37 -!- mmw is now known as refcounter
23:38 <+iant> Gracenotes: the FFI does follow the usual ABI when calling C
code, of course
23:38 -!- averma [n=amit@122.175.76.102] has joined #go-nuts
23:38 < Gracenotes> I was never one for writing FFIs.  one particular time I
did was accessing openssl in Haskell
23:38 < mkanat> ilaksh: The channel was huge before the tracker existed.
23:38 < diltsman> Where is the documentation for FFI?
23:38 < Gracenotes> ..can't think of much else
23:38 -!- refcounter is now known as mmw
23:38 -!- cmarcelo [n=cmarcelo@187.59.243.125] has joined #go-nuts
23:38 -!- raichoo [n=raichoo@i577AC161.versanet.de] has quit
["http://raichoo.blogspot.com"]
23:38 -!- insanity_ [i=1000@200.141.180.162] has quit ["Leaving"]
23:38 < blackmagik> danderson, that is correct.  i look at it as irc users
that like to linger around and new people that get on irc for real-time help.
23:39 <+iant> diltsman: it is short on docs at the moment, there is an
example in misc/cgo
23:39 < averma> building go on ubuntu not working for me
23:39 < me__> dwery: notice any other vhdlisms in csp code stuff?
23:39 < ilaksh> oh
23:39 -!- mmw [n=mmw@2002:51f2:9637:0:223:6cff:fe84:1914] has quit [Client Quit]
23:39 < halfdan> how do i access the name of the program currently executed?
(as in C the first parameter)
23:39 < averma> please help
23:39 <+iant> averma: first see the wiki page mentioned in the channel topic
23:39 <+iant> halfdan: os.Args[0]
23:39 < scandal> halfdan: os.Args[0]
23:39 < dwery> me__: surely the goroutines reminds me of the why you would
design in vhdl, as you said
23:39 < ilaksh> Can we runs Go programs inside of a Wave gadget?
23:39 < halfdan> nice, haven't thought that this is similar
23:39 -!- teedex__ [n=teedex@32.174.58.121] has joined #go-nuts
23:39 <+iant> ilaksh: not yet
23:40 <+iant> that would be kind of cool, but I have no idea what it would
take to implement
23:40 < dwery> I think I've got a bug in the UDP code . Anyone here with mac
os or amd64 volunteers for a double check?
23:40 < Ycros> iant, ilaksh: you could via nacl, though
23:40 < saati> arent wave gadgets just embedded webapps?
23:40 < Ibw> Am I seriously not seeing a Windows port for Go? (It doesn't
matter to me as I run linux, but it's suprising)
23:40 < ilaksh> huh
23:40 < ilaksh> salt?
23:40 < ilaksh> wha
23:40 < me__> Ibw: correct.
23:40 < hector> iant: will 6a and 6c require porting?  they seem to be c
compiler related
23:40 <+iant> Ibw: yes; there is no Windows port; see the FAQ
23:40 < Ycros> Ibw: yes, one hasn't been made yet
23:40 < Ycros> ilaksh: native client
23:41 <+iant> hector: porting to Windows?  they will need to generate PE
instead of ELF
23:41 < Ibw> ah
23:41 < Ycros> ilaksh: there's a go port for the nacl platform
23:41 < xorl> hmm
23:41 < Ibw> thanks for the pointer iant
23:41 < Gracenotes> hm.  if the supposed speed keeps up, Go interpreters
could be implemented by compiling on the fly.  (with some form of intermediate
bytecode for patching things together)
23:41 < blasdelf> but no compiler toochain on windows
23:41 < ilaksh> oh
23:41 < Gracenotes> (perhaps)
23:41 -!- Obiru [n=Obiru@CPE-60-231-214-63.lns2.way.bigpond.net.au] has joined
#go-nuts
23:42 -!- x-ip [n=sakura@unaffiliated/x-ip] has joined #go-nuts
23:42 < ehird> Gracenotes: even lisps do that
23:42 < xorl> nice bug, 3rd machine, gotest fails on os cause '/etc/hosts'
does not exist
23:42 < ehird> pretty no-brainer
23:42 -!- jadamcze_ [n=jadamcze@ppp59-167-87-155.lns20.hba1.internode.on.net] has
joined #go-nuts
23:42 -!- teedex [n=teedex@166.135.19.5] has quit [Connection timed out]
23:42 -!- diltsman [n=diltsman@76.8.194.226] has quit []
23:42 -!- dju_ [i=dju@ip-39.net-80-236-37.suresnes.rev.numericable.fr] has joined
#go-nuts
23:42 < ilaksh> You know what's holding software development back?
23:43 < me__> ilaksh: programmers.
23:43 < ilaksh> Textual computer languages.
23:43 -!- plantain [n=plantain@unaffiliated/plantain] has joined #go-nuts
23:43 -!- jadamcze [n=jadamcze@ppp59-167-70-67.lns20.hba1.internode.on.net] has
quit [Read error: 60 (Operation timed out)]
23:43 < dwery> anyone?  come on, it a quick test :D Go crashes when received
an UDP packet bigger than 16 bytes
23:43 < xorl> dwery: hah, nice find.
23:43 < Gracenotes> ehird: well, most interpreters use the compiler in some
way, dealing with intermediate representations.  I wonder if Go's speed makes more
indirect routes more feasible.
23:43 < blackmagik> ilaksh, what do you propose to push them forward?
23:43 < dwery> xorl: ~16..  it's strange
23:44 < xorl> Indeed, file a bug report.
23:44 < ilaksh> blackmagik: First of all, don't create any more textual
computer programming languages.
23:44 < ehird> blackmagik: Probably some unholy AST-editor that's a pain to
use in practice but satisfies his whim of reformatting code for
eeeeeeeeeeeeveryone.
23:44 < dwery> xorl: I would like to confirm it on other archs
23:44 -!- NicoHasa [n=NicoHasa@156.72.202.84.customer.cdi.no] has joined #go-nuts
23:44 -!- SLeezy [n=SLeezy@ppp118-210-170-59.lns20.adl6.internode.on.net] has
joined #go-nuts
23:44 < saati> ilaksh: have you ever tried any not textual programming?
23:44 < blackmagik> ehird, hahaha
23:44 < ehird> blackmagik: They're all the same, and most of them are
trolls.  In general, ignore the non-textual-languages-FTW folk.
23:44 < saati> sun has something for their integration stuff
23:44 < saati> its horrible
23:45 < ilaksh> well I was thinking there were too many people on the
channel and just seeing what it would take to get kicked
23:45 < blackmagik> ehird, he seemed so genuine that my mind didn't raise
the troll flag
23:45 < sladegen> flowcharts ftw!
23:45 -!- squid1 [n=squid@ppp118-210-68-245.lns20.adl2.internode.on.net] has
joined #go-nuts
23:45 < ilaksh> I haven't done an awful lot of non textual programming
23:45 < ehird> blackmagik: Oh they're sincere.
23:45 < SLeezy> morning squid1
23:45 < ehird> blackmagik: They're just craczy.
23:45 < ehird> *crazy
23:45 < Gracenotes> with Go, you can set a troll flag
23:45 < SLeezy> damn auto complete doesnt work in this channel
23:45 < ilaksh> but I still sincerely think that ehird is wrong
23:45 < ilaksh> I didn't know there were a lot of people that thought that
ehird
23:45 -!- ego_ [n=ego@athedsl-255579.home.otenet.gr] has joined #go-nuts
23:46 -!- plantain [n=plantain@unaffiliated/plantain] has left #go-nuts []
23:46 -!- dju [i=dju@ip-39.net-80-236-37.suresnes.rev.numericable.fr] has quit
[Read error: 110 (Connection timed out)]
23:46 < ehird> ilaksh: i've had too many discussions with the
non-textual-programming folk to have a high opinion of it
23:46 < ehird> I agree in principle, but...
23:46 < ilaksh> Did you look at the Intentional Workbench videos ehird
23:46 < NicoHasa> Can anyone help me?  Trying to install Go, and I get an
error when doing "./all.bash"...
23:46 < WalterMundt> I'll be rather amazed if anyone ever comes up with a
genuinely useful and entirely non-textual programming mechanism within the next,
oh, 20 years or so.
23:46 <+iant> NicoHasa: first see the wiki page mentioned in the channel
topic
23:46 < SLeezy> have you tried hitting it with a hammer
23:46 < Chandon> This is probably obvious, but I'm not seeing it in the
docs.  How do I allocate an n by n array of ints?  What's the right type for such
a beast?  Slice of slice of int?
23:47 < ilaksh> walter: I would not suggest entirely non-textual
23:47 < Gracenotes> SLeezy: first you need to put it in a box, put that box
inside another box, and mail it to yourself
23:47 -!- mg [n=mg@daimi-pat.daimi.au.dk] has joined #go-nuts
23:47 <+iant> Chandon: [][]int or [3][4]int or something along those lines
23:47 < Chandon> iant, Sure - except the top three most obvious ways to do
it don't compile.
23:47 < Chandon> ilaksh, Go for spoken programming languages.  Finish an
editor as good as emacs, then get back to us.
23:48 <+iant> Chandon: well, you can't allocate it in one swoop, you have to
allocate the top level slice and then loop to allocate the inner slices
23:48 < ehird> Chandon: As good as emacs?  I make a lot of editors that good
on the toilet.
23:48 < ilaksh> ehird: hahaha
23:48 < ehird> (You can't attack me!  I'm wearing my Plan 9 Weenie outfit!)
23:49 < me__> ehird: haha, you have one?
23:49 < ilaksh> dude I am not as smart as most of you, but I have been using
computers since I was like six and I think emacs is too hard to use
23:49 < KirkMcDonald> ilaksh: What about vim?
23:49 < XniX23> do you guys also get wrong line errors when compiling?
23:49 < ilaksh> I use vim constantly for work
23:49 < ehird> me__: absolutely, it's right next to Self-Absorbing
Atom-Particle Bad Sci-Fi Ring Generator of Doom Called "Anchovies Aardvark".
23:49 < halfdan> and there we go..  editor flamewar
23:49 < ilaksh> don't think its that awesome but it works
23:49 < Gracenotes> hm.  what's the point of having a simple statement
before an if block?  If it's for scope, why only one?  hm.
23:49 < blackmagik> I've been comfy with vim but i only started at about 13
23:49 < ehird> me__: i order my collection by frequency of use.  take from
that what you will
23:50 * halfdan gets some popcorn
23:50 < KirkMcDonald> Editor conversations are boring.
23:50 < me__> ehird: that obviously means you're from outer space.
23:50 < ehird> me__: No, I just play outer space...  on...  TV?
23:50 < blackmagik> there is no editor war anymore.  there is the vim-emacs
treaty :)
23:50 -!- jadamcze_ [n=jadamcze@ppp59-167-87-155.lns20.hba1.internode.on.net] has
quit [Read error: 60 (Operation timed out)]
23:50 < olegfink> ajray1: did for fun, no promises:
http://dpaste.com/120261/ -- seems to work for arrays in a few cases.  :-)
23:50 -!- jadamcze [n=jadamcze@ppp59-167-95-216.lns20.hba1.internode.on.net] has
joined #go-nuts
23:50 < Bun> there is no editor war; everyone knows ed is the best
23:50 -!- squid1 [n=squid@ppp118-210-68-245.lns20.adl2.internode.on.net] has left
#go-nuts []
23:51 < Bun> everything else is fluff
23:51 -!- mikejs [n=me@mikej.st] has joined #go-nuts
23:51 < blackmagik> :)
23:51 < Gracenotes> olegfink: what happens in the other cases?  :)
23:51 < me__> its certainly the standard, whatever that menats.
23:51 < ilaksh> There is only so much you can do with a bunch of text.  You
can syntax highlight it so it is prettier, you can add code completion and
referencing etc., but in the end, you still have a bunch of text that is actually
one dimensional strings of non-interactive characters
23:51 -!- qbit__ [n=qbit_@c-75-71-160-106.hsd1.co.comcast.net] has quit [":O"]
23:51 < atsampson> Bun: ed did at least win the line editor war -- it's not
like anybody uses ex/em/etc.  these days ;)
23:52 < atsampson> (em, there's a great name for an editor -- one character
away from rm)
23:52 < olegfink> Gracenotes: it behaves as before -- just ignores the
index.
23:52 -!- itrekkie [n=itrekkie@ip72-200-111-233.tc.ph.cox.net] has quit []
23:52 < blackmagik> i'm just wating for "goedit" :D
23:52 < Chandon> ilaksh, Textual data is usually 2d.  Programming languages
take full advantage of that fact.  Hence why spoken programming languages would
suck.
23:52 < Bun> rm precioussourcefile.c
23:52 < Bun> yeah, good idea
23:52 -!- seliq [n=sel@cpc1-nthc3-0-0-cust438.nrth.cable.ntl.com] has quit [Client
Quit]
23:52 < dho> > ./6.out
23:52 < dho> hello, world
23:52 < dho> > uname -a
23:52 < dho> FreeBSD bigdisk.dho.apt 8.0-RC1 FreeBSD 8.0-RC1 #1: Sat Oct 24
11:51:32 EDT 2009 dho@bigdisk.dho.apt:/usr/obj/usr/src/sys/BIGDISK amd64
23:52 < ajray1> olegfink: you could attach it to the issue i put up?
23:52 < ilaksh> I will give you 2d in a way
23:52 < me__> dho: awesome!
23:52 < saati> Chandon: textual data is 1d
23:52 < Gracenotes> olegfink: hm.  no exciting segfaults, then
23:52 < ilaksh> Do architects design buildings with "2d" text?
23:53 < me__> dho: what did you end up changing in the linkers?
23:53 < ehird> hi olegfink, long time no see
23:53 * atsampson nods at Bun
23:53 <+iant> dho: excellent!
23:53 < ilaksh> Do mechanical or electrical engineers spec in text?
23:53 < olegfink> ehird: indeed!
23:53 -!- sprsquish1 [n=Adium@adsl-75-62-180-237.dsl.pltn13.sbcglobal.net] has
left #go-nuts []
23:53 -!- flyfish_ [n=flyfish@pixout.appriss.com] has quit []
23:53 < saati> ilaksh: ees do
23:53 < saati> its called verilog
23:53 < ehird> (olegfink: how did that k impl go?)
23:53 < dho> iant: the fmt version panicks :)
23:53 -!- Yossi [n=Yossi@adsl-75-36-134-122.dsl.pltn13.sbcglobal.net] has left
#go-nuts ["Leaving"]
23:53 -!- Kniht [n=kniht@c-68-58-17-177.hsd1.in.comcast.net] has joined #go-nuts
23:53 < me__> dho: w/e, good work.
23:54 < dho> thanks
23:54 <+iant> a mere detail
23:54 < Gracenotes> I do like the non-implicit-fallthrough-iness of switch
statements
23:54 < ehird> incidentally, is iota considered a hack or a good design
feature by the top guys?
23:54 < ehird> it seems so much like the former
23:54 -!- BleSS [n=quassel@87.223.179.242] has joined #go-nuts
23:54 < olegfink> ajray1: I believe the authors are better at hacking
compiler code than me, so no real point in attaching this.
23:54 < NicoHasa> Not any of the stuff mentioned in the wiki...  Get this
error at end of ./all.bash:/usr/include/gnu/stubs.h:9:27: error: gnu/stubs-64.h:
No such file or directory
23:54 < NicoHasa> make: *** [linux_amd64.o] Error 1
23:54 < NicoHasa> make: *** Waiting for unfinished jobs....
23:54 -!- Arhuaco [n=n@186.80.240.243] has quit ["Leaving"]
23:55 < ilaksh> by the way make is outdated
23:55 < Gracenotes> :x
23:55 <+iant> NicoHasa: you need to 64-bit development headers, or you have
asked for 64-bit but are using a 32-bit OS
23:55 <+iant> ilaksh: but it is available everywhere
23:55 < ilaksh> so are spoons
23:55 < olegfink> ehird: actually, not that bad, at least most of the
primitives run fine.  no real "runtime" though.
23:55 < WalterMundt> I bet it's only a matter of time before someone builds
a go build tool in go
23:56 -!- skyyy [i=caw@129.21.116.238] has joined #go-nuts
23:56 < ehird> is there any plans for a goyacc kind of thing?
23:56 < WalterMundt> which does dependency analysis/caching and recursive
builds
23:56 < ehird> or have the old unix/plan9 guard abandoned
compilers-to-general-purpose-lang type things in favour of DLSs
23:56 < ehird> *DSLs
23:56 <+iant> ehird: src/cmd/goyacc
23:56 < ehird> (i.e.  more like `import "yacc"`)
23:56 < ehird> iant: XD
23:57 < ehird> i'm so slow, in a few years I'll discover Go
23:57 < ehird> "this thing comes with a LANGUAGE???"
23:57 -!- leo_ [n=leo@elizabethwaters-57-85.resnet.wisc.edu] has quit ["leaving"]
23:57 < blackmagik> lol
23:57 -!- clearscreen [n=clearscr@e248070.upc-e.chello.nl] has quit ["Leaving."]
23:57 < mg> I cannot compile on Debian unstable:
http://dpaste.com/hold/120264/ Has anybody seen similar output before?
23:58 < Bun> yeah, I got that.  don't know how to fix it though
23:58 <+iant> mg: I think some of those messages can occur if you don't have
/usr/bin/time
23:59 < mg> iant: interesting...  I don't have it :-)
23:59 <+iant> there was a recent change which checks for /usr/bin/time
before running the tests
23:59 < ajray1> olegfink: do it anyway :-)
http://code.google.com/p/go/issues/detail?id=156
23:59 -!- lenst [n=user@90-229-131-67-no52.tbcn.telia.com] has joined #go-nuts
--- Day changed Sat Nov 14 2009
00:00 < saati> why dont use the bash internal time?
00:00 < mg> iant: I've got a05b749020e5 which changes the tests to use bash
and the builtin time command
00:00 < NicoHasa> That worked, thanks!
00:01 <+iant> saati: there was some reason but I don't remember it
00:01 <+iant> I'm off
00:01 < olegfink> hmm, speaking of which, why is a[9.75] an
yyerror("...truncated to integer")?  based on the wording I'd guess it's a warn()?
00:01 -!- impeachgod_ [n=impeachg@195.80.231.67] has joined #go-nuts
00:02 < Gracenotes> defer looks interesting
00:03 -!- teedex_ [n=teedex@32.174.161.98] has quit [Connection timed out]
00:03 -!- Futek [n=Futek@3505ds3-amb.0.fullrate.dk] has joined #go-nuts
00:04 -!- Got2Go [n=isaiah@208.74.247.249] has joined #go-nuts
00:05 < saati> olegfink: whats the 9.75th element of an array?
00:05 < Got2Go> what is the problem with os.Getwd?  The error it returns is
never nil, but if I just ignore it, there in no problem.  It still return the
correct working directory
00:06 -!- iant [n=iant@nat/google/x-nwuqphkaccgatekm] has quit [Read error: 60
(Operation timed out)]
00:06 < Gracenotes> okay, just read through the specification.  I have to
wonder, among other things, what's the logic of making chan<- sending and
<-chan receiving :/
00:07 -!- mainman__ [n=Adium@host127-154-dynamic.21-79-r.retail.telecomitalia.it]
has quit ["Leaving."]
00:07 -!- annodomini [n=lambda@wikipedia/lambda] has quit []
00:07 < mg> yay, installing the 'time' package solved my compile problem
<- Bun
00:07 -!- bmac7 [n=brianmac@c-98-208-175-116.hsd1.fl.comcast.net] has joined
#go-nuts
00:07 -!- ego_ [n=ego@athedsl-255579.home.otenet.gr] has quit ["Leaving"]
00:07 -!- teedex__ [n=teedex@32.174.58.121] has quit [Connection timed out]
00:07 < Gracenotes> well, I like how they had an EBNF grammar for the EBNF
grammar
00:08 < olegfink> ajray1: well, my code does nothing for your testcase for
two reasons: (1) make() is runtime, not compiletime (2) it produces slices, not
arrays (and I implemented bound checking for arrays).
00:09 < olegfink> saati: I was questioning the compiler response to such
code, not its semantics.
00:09 < Ibw> hmm, no while loop...
00:10 < olegfink> Ibw: it's just called `for' in go.
00:10 -!- timepilot [n=timepilo@c-24-91-16-174.hsd1.ma.comcast.net] has joined
#go-nuts
00:10 < Ibw> Right, I'm reading that right now
00:11 < Got2Go> does anyone else have this "problem" with os.Getwd?
00:11 < eydaimon> Is the claim that Go is more concurrent than Erlang?
00:11 -!- ilaksh [i=ilaksh@cpe-66-91-255-120.san.res.rr.com] has quit []
00:11 < eydaimon> or better, or some such?
00:11 -!- ericmoritz\0 [n=ericmori@c-76-123-248-214.hsd1.tn.comcast.net] has
joined #go-nuts
00:11 < Ibw> oh, for can act just like while
00:12 < Ibw> that's alright then
00:12 < Gracenotes> is concurrency a comparative adjective noun now?  :/
00:12 < olegfink> er, the (2) point is b/s.
00:12 < bthomson> eydaimon: erlang isn't native
00:12 < Gracenotes> well, as long as it's not a superlative, I suppose we're
safe
00:13 < eydaimon> bthomson: native?
00:13 -!- Helpsys [n=ths@unaffiliated/helpsys] has joined #go-nuts
00:13 < saati> package main
00:13 < saati> sorry
00:13 -!- SLeezy [n=SLeezy@ppp118-210-170-59.lns20.adl6.internode.on.net] has left
#go-nuts ["Leaving"]
00:13 < coderunner> will/does go support native gui widgets?
00:14 < bthomson> eydaimon: i mean go is compiled, erlang is interpreted
bytecode
00:14 < mrd`> bthomson: What do you mean?  Erlang's HiPE compiles to native
code.
00:14 -!- armence [n=armence@c-67-188-229-128.hsd1.ca.comcast.net] has quit
["Leaving"]
00:14 < Ycros> eydaimon: have you programmed in erlang?
00:14 < ajray1> whats the canonical way to cast []bytes to strings?
00:14 < eydaimon> Ycros: just started doing a book review on it yesterday
00:14 < ajray1> for printing
00:14 < bthomson> hm, didn't know about the erlang compiler
00:14 -!- x-ip [n=sakura@unaffiliated/x-ip] has quit [Read error: 110 (Connection
timed out)]
00:14 < eydaimon> Ycros: so no, but it made me curious
00:15 < saati> can anyone tell me why this happens?
00:15 < saati> http://pastebin.com/m6aac3a8
00:15 < Ycros> eydaimon: right, so you'll get to see first hand whats
awesome and what sucks about it
00:15 < ajray1> saati: 8g is the go compiler
00:15 < ajray1> not 8c
00:15 -!- Obiru_ [n=Obiru@114-30-107-193.ip.adam.com.au] has joined #go-nuts
00:15 < eydaimon> Ycros: my impression is also that erlang seems to expect
not to go down even when programs are upgraded in it.  is it possible to do that
with go?  i.e keep systems running for very long times?
00:16 < saati> ajray1: that solves it thanks
00:16 < jaxdahl2> what do the 'g' and 'c' stand for?
00:16 < jaxdahl2> i get 'l' being the linker
00:16 < mrd`> jaxdahl2: Uh...  go and c.
00:16 < ajray1> go and c i believe
00:16 -!- jaxdahl2 is now known as jaxdahl
00:16 -!- g0bl1n [n=anonymou@a213-22-237-39.cpe.netcabo.pt] has quit []
00:16 * ajray1 is looking for an idiomatic way to print byte strings
00:16 < mrd`> eydaimon: I don't see anything for that in go.
00:16 < ajray1> []bytes as strings
00:17 < saati> olegfink: it seems it does that anywhere with a noninteger
constant in an ints place
00:17 < eydaimon> mrd`: me neither
00:17 < sfuentes> mrd: how does that work (native compiled erlang code)?
doesn't that imply that it doesn's use the erlang vm?
00:17 < eydaimon> mrd`: but I've not looked much :P
00:17 < mrd`> eydaimon: And at least for web development, I'm not convinced
it's a big issue.  We used hot code reloading all the time, but I'm not convinced
it really made a difference.
00:17 < mrd`> sfuentes: It doesn't use the interpreter, but it still uses
the runtime.
00:18 < mrd`> sfuentes: I'm pretty sure there are published papers
explaining how they implemented it; I haven't read them though.
00:18 -!- phimoo [n=fg@61.19.67.88] has joined #go-nuts
00:18 < mrd`> sfuentes: I do know it's possible to combine natively compiled
code and interpreted code in the same OS process.
00:18 < sfuentes> mrd: ok.  i'll look into that.  thanks.
00:19 < hipe> i suppose i should look up what Erlang's HiPE is
00:19 < hipe> i should at least pretend to know what it is ;)
00:19 -!- XniX23 [n=XniX23@we.will.never-be.afraid.org] has quit [Remote closed
the connection]
00:20 -!- clipperchip [n=cc@c-71-239-122-41.hsd1.il.comcast.net] has quit ["script
by Ameet · "Drive defensively -- buy a tank.-""]
00:20 -!- aa [n=aa@r190-135-212-219.dialup.adsl.anteldata.net.uy] has quit [Read
error: 113 (No route to host)]
00:20 < olegfink> ajray1: thanks, now it does *correctly* not work in case
of make() and the like.  :-)
00:20 -!- garfield [n=uwekloss@p54865826.dip.t-dialin.net] has quit [Read error:
110 (Connection timed out)]
00:20 < Gracenotes> ajray1: it seems passing it into Printf as %s works just
fine
00:20 < Gracenotes> it doesn't even need to be \0-terminated
00:20 -!- ag90 [n=ag90@bas3-unionville55-1279752520.dsl.bell.ca] has joined
#go-nuts
00:20 -!- garfield [n=uwekloss@p5486761A.dip.t-dialin.net] has joined #go-nuts
00:20 < Gracenotes> (well, because it has an explicit length)
00:21 < Gracenotes> in fact..  it just ignores those
00:21 < ehird> what's the best way to just "read a line from stdin"?
00:21 < ericmoritz\0> ajray-away, you can also just do string(bytes) that
works where you have a []byte and need to pass a string
00:21 < ehird> as a utf-8 string and all that malarkey
00:21 < ehird> i swear I'll read the docs after this toy program...
00:21 < jA_cOp> os.Stdin.Read(somebuffer) works fine
00:21 -!- kaib [n=kaib@216.239.45.130] has quit []
00:21 < ajray1> Gracenotes: thanks
00:21 < ehird> jA_cOp: that expects uint8, no?
00:21 < ehird> []uint8 that is
00:21 < ehird> not string
00:22 < jA_cOp> yeah, but how does it matter?
00:22 -!- joeedh is now known as joeedh_food
00:22 < ehird> Unicode, functions, ...
00:22 < jA_cOp> It'll work fine when you convert it to a string, no?
00:22 < ehird> Well, yes.
00:22 < ehird> Is there a way without the extra step?
00:22 < mrd`> Gracenotes: What do you mean 'it just ignores those'?
00:22 < olegfink> ehird: probably http://golang.org/pkg/bufio/#tmp_118 ?
00:23 < Gracenotes> mrd`: printing out ['a', '\0', 'b'] gives you ab
00:23 -!- Got2Go [n=isaiah@208.74.247.249] has quit ["Leaving"]
00:23 < Gracenotes> ajray1, ericmoritz\0: actually, it just goes: if bytes,
ok := v.Interface().([]byte); ok { return string(bytes), true }
00:23 < Gracenotes> so it does it after all.  but implicitly :)
00:23 < ehird> olegfink: So...  bufio.NewReader(os.Stdin).ReadString('\n')?
00:23 < ehird> olegfink: Memories of Java come flooding back.
00:24 < jA_cOp> that works ehird, but remember that ReadString returns two
variables
00:24 -!- Irssi: #go-nuts: Total of 527 nicks [0 ops, 0 halfops, 2 voices, 525
normal]
00:24 < ehird> yeah, still...  verbose
00:24 < jA_cOp> yeah I think so too
00:25 < jA_cOp> Maybe there should be a scanf function in the fmt library
that returns a string
00:25 -!- hector [n=chatzill@client-86-0-126-58.nrth.adsl.virginmedia.com] has
quit [Read error: 113 (No route to host)]
00:26 -!- jmhodges [n=user@12.186.229.30] has quit [Read error: 110 (Connection
timed out)]
00:26 < mrd`> Gracenotes: It does print the null characters too; I suspect
your console just isn't displaying it.  Try piping to 'hexdump -C'.
00:26 < ehird> I'd imagine that reading a line string from stdin is a very
common operation
00:26 < Gracenotes> mrd`: well.  it doesn't stop at them, is the point :)
00:26 -!- nullpo [n=nullpo@221x252x46x83.ap221.ftth.ucom.ne.jp] has joined
#go-nuts
00:26 < Gracenotes> you're probably correct
00:26 < mrd`> Gracenotes: Agreed, that behavior is good.  :)
00:27 < jA_cOp> I suppose it's linked with the lack of exceptions ehird
00:28 -!- senseibaka [n=n@unaffiliated/senseibaka] has joined #go-nuts
00:28 < jA_cOp> It can't be safe and simple at the same time without it,
apparently
00:28 < ehird> There so are exceptions, it's just that only They(TM) can use
them...
00:28 < ehird> Anyway, sure it can be.
00:28 < ehird> Just return an error code as the second argument...
00:28 < senseibaka> so, is go going to be renamed to Issue9 then?
00:28 < jA_cOp> that's what ReadString does
00:28 < Gracenotes> hm.  so b[6] for a byte array and s[6], where s =
string(b), might return different things, right?  Since strings are encoded UTF-8,
but bytes have no sense of encodedness
00:29 < Gracenotes> or are bytes more flexible than I think :/
00:29 < mrd`> Gracenotes: No, s[6] will return the 6th byte in the string.
00:29 < jA_cOp> A string index operation isn't UTF-8 aware
00:29 -!- bogen [n=bogen@cpe-76-186-22-145.tx.res.rr.com] has joined #go-nuts
00:29 -!- moshe_ [n=moshe@83.119.164.251] has quit ["Leaving"]
00:30 < ehird> jA_cOp: Yes, but ReadString involves that lots of verbosi—
blah blah blah :P
00:30 < jA_cOp> yeah I know :P
00:30 < Gracenotes> hum.  interesting :/
00:30 < jA_cOp> Hence, scanf!  :V
00:30 < olegfink> ehird: hmm, yeah, this'll make spoj's KAMIL size challenge
difficult to win in go.  :-)
00:30 -!- Obiru [n=Obiru@CPE-60-231-214-63.lns2.way.bigpond.net.au] has quit [Read
error: 110 (Connection timed out)]
00:30 < ericmoritz\0> when turning an array of bytes to a string does Go
treat it as utf-8 by default?
00:30 < ehird> I'd just have e.g.  io.ReadLine() (ret line string, int err)
00:30 -!- Associat0r [n=Associat@h163153.upc-h.chello.nl] has quit []
00:30 -!- Obiru_ is now known as Obiru
00:30 < ehird> I dearly hope I got that syntax right
00:30 < mrd`> Gracenotes: I believe using the for-range loop on a string is
the only built-in that assumes strings are UTF-8.
00:30 < KirkMcDonald> Gracenotes: strings.Split(s, "", 0)
00:31 < ehird> Anyway, that'd cover like 90% of stuff along with
io.ReadChar() which you can guess.
00:31 < KirkMcDonald> Gracenotes: This will split a string into its complete
UTF-8 sequences.
00:31 -!- BleSS [n=quassel@87.223.179.242] has left #go-nuts
["http://quassel-irc.org - Chat comfortably.  Anywhere."]
00:31 < Gracenotes> huh.  interesting.
00:31 < Gracenotes> well, the for-range loop should be sufficient in most
cases.  but if you need to seek ahead, it's not like strings.Split is lazy..
00:32 -!- senseibaka [n=n@unaffiliated/senseibaka] has left #go-nuts ["Leaving"]
00:32 < jA_cOp> There is no point in having basic string operations unicode
aware, that's not where it is important
00:32 -!- Futek [n=Futek@3505ds3-amb.0.fullrate.dk] has quit []
00:32 < ehird> s[idx] should definitely index on utf-8 chars
00:32 < jA_cOp> Gracenotes, use the range function to seek ahead then?
00:32 < ehird> although that's computationally expensive
00:33 -!- coderunner [n=joetripo@CPE-124-187-168-177.lns16.cht.bigpond.net.au] has
left #go-nuts []
00:33 -!- mikola [n=mikola@sal-019.me.wisc.edu] has quit ["Leaving."]
00:33 < mkanat> Ideally every string operation should consider the string to
be Unicode, if we're talking about the programmer's convenience.
00:33 < KirkMcDonald> Where "Unicode" means "UTF-8 encoded"?
00:33 < ericmoritz\0> mkanat, that's what I assumed strings were
00:33 < mkanat> KirkMcDonald: If that's the Unicode encoding that's chosen.
00:34 -!- npe [n=npe@94-224-251-223.access.telenet.be] has quit []
00:34 < olegfink> ehird: strings in go are intentionally byte sequences
00:34 -!- kaib [n=kaib@c-76-102-52-156.hsd1.ca.comcast.net] has joined #go-nuts
00:34 -!- mode/#go-nuts [+v kaib] by ChanServ
00:34 < uriel> welcome back kaib!
00:35 -!- gasreaa [n=atwong@nat/slide/x-idwnaymtjlylxoog] has left #go-nuts []
00:35 < Gracenotes> well, I suppose it's the best one can do to maintain the
bytedness of strings
00:35 * sladegen sighs: http://paste.lisp.org/display/90358
00:37 <+kaib> uriel: i might disappear soon again ..  :-)
00:37 -!- august [n=DCFC@unaffiliated/august] has left #go-nuts ["Leaving..."]
00:37 < WalterMundt> sladegen: output?
00:37 -!- kaib_ [n=kaib@216.239.45.130] has joined #go-nuts
00:37 -!- mode/#go-nuts [+v kaib_] by ChanServ
00:37 < uriel> kaib: heh, I'm sure your boss has said 'enough time wasted on
irc alrady!' ;P
00:37 -!- yuanxin [n=uman@uawifi-nat-210-16.arizona.edu] has joined #go-nuts
00:37 < yuanxin> what are the Go equivalents of atoi and itoa?
00:37 < dho> uriel: you saw i got hello world?
00:38 < uriel> dho: no, awecome, congrats
00:38 < uriel> (been bussy with my own experiments...)
00:38 < yuanxin> ah, it appears to be in strconv, nevermind.
00:38 <+kaib_> uriel: nah, this is pretty productive here.
00:38 < dho> just needing to figure out how to portably use make or gmake
00:38 < dho> suggestions?
00:38 < uriel> kaib_: just curious, how many pepole are working full time on
go/go-related projects?
00:39 < uriel> dho: use mk ;)
00:39 < jA_cOp> Does 6/8g support interfacing with C code?
00:39 < uriel> jA_cOp: yes
00:39 < me__> dho: what bits are you workin on now?
00:39 < olegfink> dho: try 'which gmake' first, if it fails, then go for
'make'?
00:39 -!- Obiru [n=Obiru@114-30-107-193.ip.adam.com.au] has left #go-nuts []
00:39 < dho> olegfink: would like to not do that in 20 different build
scripts :\
00:39 < dho> uriel: how?
00:40 -!- saulgoode [n=chatzill@99-161-178-254.lightspeed.waynmi.sbcglobal.net]
has joined #go-nuts
00:40 < jA_cOp> uriel, is there anything on golang describing this further?
I couldn't really find anything (as always...  maybe I'm allergic to this site in
particular :@)
00:40 < dho> me__: cleaning up the code, russ wants me to submit even in its
broken state
00:40 -!- fultilt [n=steve@netblock-66-159-209-175.dslextreme.com] has joined
#go-nuts
00:40 < me__> ok, interesting.  could i take a look, it'd be pretty helpful
here i think...
00:40 < olegfink> dho: see how russ uses quietgcc, you could do sanemake
that runs the right make
00:40 < sladegen> WalterMundt: c1=3, c2=2
00:40 < dho> olegfink: ah, good call
00:40 < WalterMundt> sladegen: nice :)
00:40 < WalterMundt> why the sigh?
00:41 < sladegen> "thank god" sigh ;)
00:41 < WalterMundt> ahh
00:41 < uriel> dho: I was inssinuating you should rewrite the whole build
system in mk ;)
00:42 <+kaib_> uriel: i honestly don't know..
00:42 < dho> uriel: would take too long to build mk to build everything else
:)
00:42 < dho> me__: maybe.  i haven't done any i386 work
00:42 < uriel> jA_cOp:
http://golang.org/doc/go_faq.html#Do_Go_programs_link_with_Cpp_programs
00:43 < me__> dho: np.  i got stuck on the linker stuff, so i haven't worked
on it in some time.  any bits would help...
00:43 < olegfink> dho: c-- does this during bootstrapping...  well, it
itself compiles for ages.
00:43 < jA_cOp> in the FAQ, gah I'm stupid
00:43 < jA_cOp> thanks uriel
00:43 < uriel> kaib_: heh, it is ok, just was wondering :)
00:43 < uriel> jA_cOp: no problem
00:43 < dho> me__: it's really a tiny diff
00:43 < dho> anyway
00:43 < dho> lemme clean this up
00:43 < uriel> jA_cOp: btw, if you need to search for stuff, you can use
http://go-lang.cat-v.org/go-search ;)
00:44 < gnuvince> Does anyone know whether type inference is going to be
extended in the future, especially with regards to anonymous functions?  It's
redundant to write the types of the parameters and the return value in the
declaration of a function and at the call site
00:44 -!- kaib [n=kaib@c-76-102-52-156.hsd1.ca.comcast.net] has quit [Read error:
60 (Operation timed out)]
00:44 -!- kaib_ is now known as kaib
00:44 < olegfink> by the way, golang.org has the excellent russ-brand code
search engine.
00:44 < jA_cOp> thanks uriel
00:44 -!- phimoo [n=fg@61.19.67.88] has quit ["Leaving"]
00:45 < uriel> olegfink: yea, that is great, but only covers the site, I
added the mailing lists, the issue tracker and a few other things
00:45 < fgb> gnuvince, wtf are you talking about?
00:46 < fgb> uriel, relax
00:46 < olegfink> gnuvince: I have an apparent feeling that soon the most
common way to answer such questions would be "If you want OCaml, you know where to
get it".  :-)
00:46 < uriel> olegfink: ah, actually, that only searches code, which is
cool though :)
00:46 < saulgoode> uriel, is any documentation available for the foreign
function interface?
00:46 < ericmoritz\0> ick, strings are still just a chain of bytes, the len
of utf-8 string, len("abc–") is 6 not 4
00:46 -!- rhelmer [n=rhelmer@adsl-69-107-65-242.dsl.pltn13.pacbell.net] has joined
#go-nuts
00:46 < olegfink> uriel: but it presents the search results in a structured
and meaningful way
00:47 < fgb> http://www.google.com/codesearch?q=lang:go$
00:47 < gnuvince> fgb: func apply(x int, f func(x int) int) { return f(x); }
apply(3, func(x int) int { return x*x+42; });
00:47 -!- erzr- [n=adam@70.16.75.52] has joined #go-nuts
00:47 < ag90> Hey.  So how do I submit a change?  I executed hg change.  It
gave me the codereview URL.  Is there anything else left to do?
00:47 < dho> olegfink: sanemake works great.  thanks for the idea
00:47 < uriel> saulgoode: first git after searching in
http://go-lang.cat-v.org/go-search :
http://code.google.com/p/go/source/browse/misc/cgo/gmp/gmp.go?r=release
00:47 -!- ac [i=foobar@174-21-106-252.tukw.qwest.net] has joined #go-nuts
00:47 < uriel> s/git/hit/
00:48 < gnuvince> olegfink: just wondering :)
00:48 -!- stracks [n=intim@unaffiliated/romani] has left #go-nuts []
00:48 < olegfink> dho: russ's credit.
00:48 < uriel> (searching for ffi)
00:48 -!- Paradox924X [n=Paradox9@vaserv/irc/founder] has joined #go-nuts
00:48 -!- brunov [n=bruno@190.191.110.64] has quit [Read error: 60 (Operation
timed out)]
00:48 < fgb> gnuvince, thanks for explaining
00:48 < ajray1> what does the md5 package do?
00:49 -!- erzr- [n=adam@70.16.75.52] has left #go-nuts []
00:49 < Gracenotes> more interestingness: trying to compile and empty file
yields "<epoch>: fatal error: open main.go: No such file or directory"
00:49 < Gracenotes> *an
00:49 < saulgoode> uriel, thanks.
00:49 < ajray1> i need to take an md5 hash of a string (with a given 4 byte
salt)
00:49 < olegfink> gnuvince: well, and I want operators that are functions,
and maybe someone wants currying...  as I understand it, go authors don't intend
to do much for the FP camp, which might be a good thing ("If you want OCaml...")
00:50 -!- decriptor [n=decripto@137.65.132.18] has quit ["Ex-Chat"]
00:51 -!- Znupi [n=Znupi@204-37-gza-1mai.titannet.ro] has joined #go-nuts
00:51 < ericmoritz\0> ajray1, md5.New() creates a Hash type:
http://golang.org/pkg/hash/
00:51 -!- _mesenga [n=cbacelar@189.105.82.242] has joined #go-nuts
00:51 < olegfink> Gracenotes: how empty is it?
00:51 < Znupi> Are there no plans for a Windows compiler fod Go?
00:51 < olegfink> $ touch f.go
00:51 < olegfink> $ 8g f.go
00:51 < olegfink> f.go:2: package statement must be first
00:52 < olegfink> (well, I don't know why it's line 2...)
00:52 < ajray1> ericmoritz\0: thanks
00:52 < dho> me__: alsjeblieft
00:52 < ehird> filename:100006: fatal error: regfree: reg not allocated
00:52 < ehird> methinks go does not like my huge source file of craziness
00:53 < uriel> Znupi: there are plans, and andguent is working on a aport
00:53 < dho> me__: http://golang.pastebin.com/d261cf149
00:53 < Gracenotes> olegfink: ..that's interesting..  I think this must be
some interesting behavior in my text editor, invoking it with a previously
non-existent file
00:53 < dho> very tiny changes to 6l to get it to work in freebsd.
00:53 < uriel> Znupi: it just isn't a main priority for the main go
developers, patches welcome
00:53 < uriel> (or help andguent out)
00:54 < dho> me__: I'm guessing you do want to set eh->ident.
00:54 < Znupi> uriel: oh no, I was actually hoping there were no plans
00:54 -!- lenst [n=user@90-229-131-67-no52.tbcn.telia.com] has quit [Success]
00:54 < Gracenotes> olegfink: yes.  this is the case.  not as interesting as
I thought :P I wonder why it doesn't display the Unix not-saved star, though..
00:54 < Amaranth> ehird: There is no way you wrote 100,000 lines of code in
3 days...
00:54 < Znupi> uriel: thanks for the info though
00:54 < ajray1> ericmoritz\0: is it possible to specify the salt w/ the hash
types?
00:54 < ajray1> I need it to authenticate to Postgres
00:54 < me__> ehird: okay.  i set ident already, to no avail.
00:54 < ehird> Amaranth: Which is why most of it consists of _num = num; and
one huge line with return _1 + _2 + ...
00:54 < me__> erm, i mean dho:
00:54 < ehird> Amaranth: Plus some extra stuff.
00:54 < Amaranth> ehird: Why?
00:55 < ehird> To see just how fast the compiler is.
00:55 < Amaranth> heh
00:55 < uriel> Znupi: hah
00:55 < olegfink> ehird: care for a quick binsearch?  :-)
00:55 < me__> i didn't set interp, though, i switched to using -d.
00:56 < ehird> ol?
00:56 < ehird> erm
00:56 < ehird> olegfink: ?
00:56 -!- Adraen [n=Adraen@cpc3-broo7-2-0-cust640.14-2.cable.virginmedia.com] has
quit [Read error: 145 (Connection timed out)]
00:56 -!- Adraen [n=Adraen@cpc3-broo7-2-0-cust640.14-2.cable.virginmedia.com] has
joined #go-nuts
00:56 -!- slaney [n=slaney@li102-143.members.linode.com] has joined #go-nuts
00:56 -!- jA_cOp [n=yakobu@unaffiliated/ja-cop/x-9478493] has quit ["Leaving"]
00:56 < me__> and i didn't just reuse case 7: in obj.c, i copied the p9 -H5
bits, except i set a better startaddr.
00:56 < olegfink> (not that I understand the code, but it looks like it
should rather complain two lines above due to reg index being out of range)
00:56 -!- aa [n=aa@r190-135-212-219.dialup.adsl.anteldata.net.uy] has joined
#go-nuts
00:56 < olegfink> ehird: better ignore me and file a bugreport
00:57 < ehird> quite :P
00:57 < ericmoritz\0> ajray1, hmm, I've never seen md5 use a salt in any
special way, it's usually concated to the beginning of the string, i.e., if
passward is "mypasswword" and salt is "salt", the string sent to the md5 hasher is
"saltmypassword"
00:57 < ehird> where's the bug tracker
00:57 -!- yetifoot [n=yetifoot@unaffiliated/yetifoot] has quit ["Leaving"]
00:57 < ericmoritz\0> but I might be mistaken
00:57 < olegfink> ehird: in the topic:
http://code.google.com/p/go/issues/list
00:57 < sladegen> ehird: at the bottom of main golang.org page...
00:57 < dho> > hg diff | wc -l 5229
00:58 < dho> heh.
00:58 -!- hebroon [n=hebroons@p6787d5.hkidnt01.ap.so-net.ne.jp] has quit
["Leaving..."]
00:58 < ericmoritz\0> ajray1, check this:
http://codingforums.com/showthread.php?t=155709
00:59 < ajray1> thanks
00:59 -!- saulgoode [n=chatzill@99-161-178-254.lightspeed.waynmi.sbcglobal.net]
has quit ["Chatzilla 0.9.75.1 [SeaMonkey 1.1.18/2009090618]"]
00:59 < yuanxin> Anyone know if Google is working on getting Go working with
any UI libraries?  (GUI or curses)
00:59 < ajray1> ericmoritz\0: you just append it to the end?
00:59 < ericmoritz\0> ajray1, maybe :), it depends on what pgsql needs
00:59 < Adraen> yuanxin > in the FAQ you have somthing about X11
01:00 < dho> me__: your better startaddr might not be a better startaddr...
01:00 -!- hebroon [n=yu@p6787d5.hkidnt01.ap.so-net.ne.jp] has joined #go-nuts
01:00 < ajray1> ericmoritz\0: i'll give it a shot, thanks
01:00 -!- karl_ [n=karl@wads-5-233-224.resnet.mtu.edu] has joined #go-nuts
01:00 < Adraen> yuanxin > mainly they work on the other aspects first
01:00 < ericmoritz\0> ajray1, is it for authenticating the pgsql connection?
01:00 -!- groovy [n=groovy@205.231.130.2] has joined #go-nuts
01:00 < ajray1> ericmoritz\0: ya.  md5 auth w/o an ssl connection for now.
01:00 < ajray1> ssl connections will be a whole new ball of fun
01:01 < yuanxin> Adraen: Are you sure?  I can't see anything about x11 in
there
01:01 < ericmoritz\0> ajray1, let me try to find a client lib out there and
see what they do
01:01 < Adraen> yuanxin > sorry then i should have seen somewhere else
01:02 < me__> dho: right.
01:02 -!- diltsman [n=diltsman@64.122.18.77] has joined #go-nuts
01:02 < fgb> the thing that there is no standard GUI toolkit
01:03 < fgb> so I guess people would have to do the bindings for their
favorite ones
01:03 < KirkMcDonald> wx, gtk, qt, tk...
01:03 < fgb> yep, too many
01:03 < yuanxin> there is, however, only one standard ncurses ;)
01:03 < KirkMcDonald> What about PDCurses?  :-)
01:03 < ehird> on the other hand, it's ncurses.
01:03 < dho> me__: you need to implement a lot more of src/pkg/runtime too.
01:04 < me__> of course, i haven't had a chance to do so.
01:04 < uriel> I think rob, as usual, has a plan for gui....
01:04 < uriel> bindings for tk would be nice though..
01:04 < me__> none of the syscalls do anything yet, among other things.
there's no signal handling.  ...
01:04 < yuanxin> apparently Go code can link with C code
01:05 < yuanxin> I wonder how feasible it'd be to just use ncurses directly
from Go using that
01:05 < ehird> obviously it can link with c code, it links the startup code
in etc :P
01:05 < ajray1> wasn't someone working on curses/ncurses?
01:05 < uriel> yuanxin: I think kuroneko was working on making that work...
01:05 < WalterMundt> running 8g, I get: <epoch>: fatal error: dowidth:
unknown type: blank
01:05 -!- JoePeck [n=JoePeck@cpe-74-69-85-249.rochester.res.rr.com] has joined
#go-nuts
01:05 < uriel> (he ran into some issue with varargs I think, but was working
on fixing it)
01:05 -!- dacc [n=dacc@D-128-95-10-110.dhcp4.washington.edu] has joined #go-nuts
01:05 < ehird> so, what's the most common way currently used to get a string
of a line from stdin?
01:06 < ehird> hmm, does go have varargs?
01:06 -!- bbeck [n=bbeck@dxr-fw.dxr.siu.edu] has quit [Remote closed the
connection]
01:06 < Rob_Russell> ehird: yeah
01:06 < WalterMundt> ehird: it does, but I think uriel meant dealing with
use of C varargs in curses
01:06 < ehird> right, just checking
01:06 -!- kernel_sanders [n=eugene@124-168-43-234.dyn.iinet.net.au] has joined
#go-nuts
01:06 -!- mesenga [n=cbacelar@189.105.8.44] has quit [Read error: 110 (Connection
timed out)]
01:07 < uriel> yes, the issue was with the FFI, but either it got fixed, or
a fix was on its way
01:07 < Rob_Russell> ehird: here it is
http://golang.org/doc/go_spec.html#Passing_arguments_to_..._parameters
01:07 < yuanxin> ehird: from what I've heard: wrap os.Stdin in a
bufio.Reader and use ReadString
01:07 < WalterMundt> I'm about to log off, but anyone have any idea what an
error from <epoch> is supposed to mean before I go?
01:08 < ehird> yuanxin: are you sure you didn't hear that just in response
to me :-D
01:08 -!- wgl [n=wgl@216.145.227.9] has left #go-nuts ["rcirc on GNU Emacs
22.2.1"]
01:08 < yuanxin> ehird: I asked the same question yesterday sometime and
that was the answer I got
01:08 -!- slaney [n=slaney@li102-143.members.linode.com] has left #go-nuts []
01:08 < olegfink> ajray1: hmm, your bugreport is a little contradictional, I
imagine it'd be a lot of work to really track that the make() call you submitted
produces a slice with a size known at compile time
01:09 < kernel_sanders> hi everyone.  until we get a database library, it
would be nice to be able to serialize to / from a file.  Most of the json/xml
libraries easily allow reading FROM a file, I can't work out how to WRITE TO a
file given an arbitrary data structure.  any clues?
01:09 -!- kaib [n=kaib@216.239.45.130] has quit []
01:09 < ehird> yuanxin: ok.  i find that disappointing since it's very
verbose and javalike
01:09 < yuanxin> ehird: I can't imagine it's anything but an oversight.
Especially since there are things like fmt.Println that do the opposite
01:10 < yuanxin> Go is two days old; give it time :)
01:10 < ehird> no it's not, it's like a year o ld
01:10 < ehird> *old
01:10 < yuanxin> you know what I mean
01:10 < ehird> or did it get made on the very day it was released?  :P
01:11 < yuanxin> heh, not even the people who work for Google are geniuses
enough to make a programming language in one day ;)
01:11 -!- hanse [n=hanse@93-82-12-187.adsl.highway.telekom.at] has joined #go-nuts
01:11 < dho> hm
01:11 < ericmoritz\0> ajray1, Here's the java driver's implementation:
http://cvs.pgfoundry.org/cgi-bin/cvsweb.cgi/jdbc/pgjdbc/org/postgresql/util/MD5Digest.java?rev=1.12&content-type=text/x-cvsweb-markup
01:11 < ajray1> wow
01:11 < ajray1> @ericmoritz\0++
01:11 < Gracenotes> :/ is there some way to disable "declare and not used"
as an error?
01:12 < yuanxin> kuroneko: any word on how curses is coming along?
01:12 < Gracenotes> just make it a warning?
01:12 < olegfink> agl: could something like http://dpaste.com/120274/ get
into gc, or only as part of a proper bound checking (if it all)?
01:12 < ehird> yuanxin: I would call this more a product of the Unix and
Plan 9 teams, not Google per se
01:12 < ehird> I mean, Ken Thompson, Rob Pike, Russ Cox...
01:12 -!- stivioo [n=stephen@201.226.140.46] has joined #go-nuts
01:12 -!- WalterMundt [n=waltermu@twiki/developer/EtherMage] has quit ["Leaving."]
01:12 < ajray1> looks like sha1(sha1(user+pass)+salt)
01:12 < Gracenotes> or if it is a warning, make it not prevent the compiler
from setting its return value as 0?
01:12 < dho> ehird: agreed
01:12 < olegfink> Gracenotes: replace yyerror() with warn().  :-P actually
just say _ := var at the bottom of your code
01:12 < yuanxin> ehird: these people work for Google so what is your point?
01:12 < ehird> which is the only reason I looked at Go in the first place
01:13 < Gracenotes> olegfink: yyerror?  where's that?
01:13 < ehird> yuanxin: well, also note that they use lib9, from plan 9, for
the compiler
01:13 < me__> Ian Taylor did gold and some gcc work iirc...  he's involved.
01:13 -!- hiromtz [n=hiromtz@h206.p027.iij4u.or.jp] has joined #go-nuts
01:13 * uriel wonders what presotto is up to...
01:13 -!- hanse [n=hanse@93-82-12-187.adsl.highway.telekom.at] has quit [Remote
closed the connection]
01:13 -!- dacc [n=dacc@D-128-95-10-110.dhcp4.washington.edu] has left #go-nuts []
01:13 < ehird> I'm saying that Go is very much a "Plan 9 industries" product
rather than a "Google guys" product
01:13 < Gracenotes> olegfink: also, that rarely works
01:13 < olegfink> the _ := var part?  it should.
01:14 < uriel> ehird: more of a 1127-reborn product ;)
01:14 < kernel_sanders> @olegfink - good idea about the _ :=
01:14 < Gracenotes> for example, you have blah, err = some IO call.  you
decide you don't need error, so you do blah, _ = some IO call.  compiler complains
about err being declared and not used.  you remove var err os.Error.  The compiler
complains about "os" package not being used.
01:14 -!- NicoHasa [n=NicoHasa@156.72.202.84.customer.cdi.no] has quit ["Leaving"]
01:14 < Gracenotes> whatever your hack to fix it is, treating it is an error
is, well, a serious error >:[
01:14 < ehird> uriel: what are you referencing by that?
01:15 < fgb> google it
01:15 -!- hanse [n=hanse@93-82-12-187.adsl.highway.telekom.at] has joined #go-nuts
01:15 < uriel> ehird: 1127 was the Bell Labs dept where the Unix Room was
located
01:15 < Adraen> see you
01:15 < ehird> ah :)
01:15 -!- Adraen [n=Adraen@cpc3-broo7-2-0-cust640.14-2.cable.virginmedia.com] has
quit []
01:15 < Gracenotes> olegfink: by the way, "no new variables on left side of
:="
01:15 < ehird> russ cox popped in in the plan 9 era though, didn't he?
01:15 < halfdan> got a package named "opcodes" and in it var ( HALT = 0; SUB
= 1; ..  ) - is there a way to refer to these variables in an other package as
HALT instead of opcodes.HALT?
01:15 < olegfink> Gracenotes: I encourage you to open a ticket regarding the
apparent overuse (forgot the proper english word...  too late here) of yyerror().
01:15 -!- wgl [n=wgl@216.145.227.9] has joined #go-nuts
01:15 < fgb> ehird, yes
01:15 < Gracenotes> that's a good word
01:15 -!- rot [i=death@59.93.35.182] has quit [Read error: 104 (Connection reset
by peer)]
01:16 -!- rot [i=death@59.93.35.182] has joined #go-nuts
01:16 < ehird> $ goyacc
01:16 < ehird> usage: gacc
01:16 < ajray1> halfdan: import it into a shorter namespace?
01:16 < ajray1> import o "opcodes; ? something like that.  o.HALT
01:17 < halfdan> ajray1: sure thats possible.  but is there no way that i
can just skip the namespace?
01:17 < ajray1> i think you might be able to do import . "opcodes"; which
puts it in the current namspace (so just HALT)
01:17 -!- FreshMeat_ [n=crump@c-67-180-74-9.hsd1.ca.comcast.net] has joined
#go-nuts
01:17 < me__> dho: interesting - setting OSABI to 9 (fbsd) causes readelf on
dfly to go boom.
01:17 -!- hanse [n=hanse@93-82-12-187.adsl.highway.telekom.at] has quit [Remote
closed the connection]
01:17 -!- brunov [n=bruno@190.191.110.64] has joined #go-nuts
01:17 < ajray1> halfdan: try '.'
01:17 -!- impeachgod_ [n=impeachg@195.80.231.67] has quit [Read error: 113 (No
route to host)]
01:17 < halfdan> lets see
01:17 -!- FreshMeat [n=crump@c-67-180-74-9.hsd1.ca.comcast.net] has quit [Read
error: 104 (Connection reset by peer)]
01:17 -!- FreshMeat_ is now known as FreshMeat
01:17 < olegfink> Gracenotes: but I think Ian and Rob have both said here
that they find treating unused variables as error helpful because of := vs.  =
confusion.
01:17 < me__> dho: and most of the executables on my system have OSABI =
System V, not FreeBSD...
01:18 < dho> me__: ok, so be sure to set that
01:18 -!- VoiDeD` [i=voided@c-67-175-210-185.hsd1.il.comcast.net] has joined
#go-nuts
01:18 < Gracenotes> olegfink: won't the confusion just introduce another
compiler error?
01:18 < yuanxin> I definitely agree that there should at *least* be an
option to turn off treating unused declarations as error
01:18 < yuanxin> *errors
01:18 < ehird> is there a goyacc manuual?
01:18 < halfdan> ajray1: awesome
01:18 < dho> me__: the BSDs use the abi branding to determine whether it's
executable
01:18 < halfdan> thanks
01:18 < halfdan> again
01:18 < olegfink> Gracenotes: do, if I'm not mistaken, variable declarations
shadow previous instances
01:18 < olegfink> s/do/no/
01:18 -!- kongtomorrow [n=kongtomo@17.246.210.87] has joined #go-nuts
01:19 < fgb> yuanxin, errors are errors
01:19 < Gracenotes> what happened to the specification saying that only one
declaration is allowed per scope?
01:19 < fgb> why do you declare a var if you're not going to use it?
01:20 -!- delza [n=delza@209-52-232-202.vlan452.static.ucc-net.ca] has quit [Read
error: 110 (Connection timed out)]
01:20 < Gracenotes> because you're in the middle of writing code and want to
test it without having to comment out, say, a package import?
01:20 -!- mainman__ [n=Adium@host20-155-dynamic.30-79-r.retail.telecomitalia.it]
has joined #go-nuts
01:21 < fgb> so you mean to allow lazy behavior?
01:21 -!- Futek [n=Futek@3505ds3-amb.0.fullrate.dk] has joined #go-nuts
01:21 < Gracenotes> huh?
01:22 < olegfink> fgb, why do you make a syntax error if you're not going to
make it (that is, why do we need all of the typechecker?)
01:22 < olegfink> :-)
01:22 -!- homovitruvius [n=maurizio@pool-72-95-253-175.pitbpa.east.verizon.net]
has quit [Remote closed the connection]
01:22 < Omega> Is there "try" in go?
01:22 < ehird> no.
01:22 < Omega> Hmm.
01:23 < Gracenotes> go or go not.  there is no try
01:23 < uriel> Gracenotes: haha
01:23 < kernel_sanders> There is no try, there is no do...  lol..  yoda
would be ticked off :-)
01:24 < JBeshir> Gracenotes: I love it.
01:24 < Gracenotes> ...  ouch :/
http://stackoverflow.com/questions/1725619/can-you-recommend-a-go-language-web-framework
01:24 < JBeshir> Omega: For the equivalent, add ", err" additional return
values to your program, and return errors through there.
01:24 < Omega> Hmm
01:24 < JBeshir> And do an explicit "if (err != <whatever is okay) {
return <nothing>, err; }
01:24 < JBeshir> At each level to pass it up
01:25 < JBeshir> That "seems to be" the explicit error handling syntax.
01:25 < JBeshir> The explicitness costs a couple of lines.
01:25 -!- triplez [n=triplez@cm52.sigma225.maxonline.com.sg] has quit []
01:25 < kernel_sanders> lol -
01:25 < kernel_sanders> "goru"
01:26 < wgl> Gracenotes: that was kind of a harsh smackdown, there on
stackoverflow.
01:26 < ehird> Gracenotes: "If there are not any mature MVC web frameworks
you can recommend can you please at least suggest an open source template engine,
an ORM and a URL router for Go?" made me think it's a troll
01:26 -!- keithpoole [n=keithpoo@cpc3-bagu8-0-0-cust84.bagu.cable.ntl.com] has
joined #go-nuts
01:26 < ehird> I mean, the sheer absurdity
01:27 < mkanat> ehird: That does sound like a troll to me.
01:27 < xal> the standard library actually gets you amazingly far
01:27 -!- wgl [n=wgl@216.145.227.9] has left #go-nuts ["Changed major mode"]
01:27 < Gracenotes> okay.  well, I just commented out lines 90 and 91 in
src/cmd/gc/walk.c.  simple enough.  I suppose.
01:27 < ajray1> ya.  i like the comment about seeing requests for developers
with 5 yrs Go experience with 2 years
01:27 < xal> i've hacked together a redis client for persistence
01:27 < xal> you can do a lot with just that
01:27 < ehird> what file extensionn should I use for goyacc grammars?
01:27 < ehird> .go.y?
01:27 < ehird> the output file is y.go by defa↗aflt
01:27 < ehird> *default
01:28 -!- wgl [n=wgl@216.145.227.9] has joined #go-nuts
01:28 < yuanxin> fgb: "errors are errors"
01:28 -!- nicholasweber [n=nicocin@c-24-126-50-50.hsd1.md.comcast.net] has joined
#go-nuts
01:28 < yuanxin> what do you mean by this?
01:28 < olegfink> ehird: .y, see src/cmd/goyacc/units.y
01:28 < ehird> yuanxin: that warnings are like errors that don't haveev the
effects of errors, I guess
01:28 < ehird> implying they're bad :P
01:28 < xal> i'm trying to create a simple web server frontend that
recompiles it's source code, shuts down the acceptor, delivers a self redirect to
the browser and then execs the new binary into the process.  That would
effectively give you autoreloading during development
01:29 < ajray1> how should i copy from a byte slice to another byte slice?
01:29 < ehird> olegfink: output as foo.y.go?
01:29 -!- teedex [n=teedex@166.135.164.244] has joined #go-nuts
01:29 < ehird> obviously y.go doesn't "scale" since you could have more than
one grammar file in a program
01:29 < ehird> or just output as foo.go (from foo.y)?  that could get
confusing
01:30 -!- kernel_sanders [n=eugene@124-168-43-234.dyn.iinet.net.au] has quit ["Get
MacIrssi - http://www.sysctl.co.uk/projects/macirssi/"]
01:30 < olegfink> ehird: doesn't yacc do the same?
01:30 < ehird> yes, but -o
01:30 < olegfink> var oflag string // -o [y.go] - y.go file
01:30 < ehird> of course
01:31 < ehird> I'm saying, would the convention be `goyacc -o foo.y.go
foo.y` or `goyacc -o foo.go foo.y`?
01:31 -!- b0o-yeah [n=b0o-yeah@unaffiliated/b0o-yeah] has joined #go-nuts
01:31 -!- smooge [n=smooge@int.smoogespace.com] has quit ["-ENOBRAIN"]
01:31 -!- ginkgo [n=ginkgo@chello084113198244.17.14.vie.surfer.at] has quit
[Remote closed the connection]
01:32 -!- m-takagi_ is now known as m-takagi
01:33 < olegfink> sorry, I'm slow.  :-)
01:33 < ehird> the latter is "cleaner" in a way but also confusing (where
did this source file come from?)
01:33 -!- kongtomorrow [n=kongtomo@17.246.210.87] has quit []
01:34 < halfdan> how do i access the variables inside a struct?
01:34 < halfdan> .?
01:34 < olegfink> ehird: for instance ocamlbuild does the latter
01:35 < ehird> btw, is including the $GOROOT/src/Make.* files in a Makefile
ok?
01:35 < ajray1> can i do inline anonymous byte slices (byte slice literals?)
01:35 < ehird> like just doing "include $(GOROOT)/src/Make.$(GOARCH) \n
include $(GOROOT)/src/Make.cmd" to take advantage of the
define-TARG-and-GOFILES-and-you're-done building
01:35 < ehird> or is that just for Go-only usage
01:35 < ajray1> (i need to add a single byte to the end of a slice)
01:35 < olegfink> ehird: one obvious argument is that it requires go sources
01:36 < olegfink> but that's indeed the practice used everywhere on plan9
01:36 < ehird> olegfink: can you even compile go code sanely without a
$GOROOT?
01:36 -!- Omega [n=Omega@201.229.26.197] has left #go-nuts ["Leaving"]
01:36 < ehird> don't you at least need $GOROOT/lib?
01:36 < ajray1> ehird: where will it get its packages?
01:36 < ehird> ajray1: yeah
01:37 < olegfink> ehird: but not src?  how many distributions ship source
together with the rest?
01:37 < ehird> anyway i don't think it's an issue to require a $GOROOT to
build go programs
01:37 -!- RayNbow [i=kirika@scientia.demon.nl] has quit ["When science finally
locates the center of the universe, some people will be surprised to learn they're
not it"]
01:37 < ehird> olegfink: shipping go is going to be "weird" anyway since it
has its own tree
01:37 < ehird> sometimes distros try to extract that tree into /
01:37 < ehird> with careful surgery
01:37 < olegfink> for now I think it's really safe to assume [ -d
$GOROOT/src ]
01:37 < ehird> yeah
01:37 < ehird> if I was a distro packager I'd make go have GOBIN=/usr/bin
and GOROOT=/opt/go
01:37 < ehird> and include everything
01:38 -!- teedex_ [n=teedex@166.135.248.142] has joined #go-nuts
01:38 -!- teedex_ [n=teedex@166.135.248.142] has quit [Read error: 104 (Connection
reset by peer)]
01:38 < dho> anybody here have rsc on gmail?
01:38 < olegfink> ehird: I have some feeling that most distros would just
put the Make.* to /usr/lib/go
01:38 < yuanxin> what distros actually use /opt?
01:39 < Amaranth> yuanxin: SuSE, actually
01:39 < ehird> yuanxin: /usr/lib/go then
01:39 < ehird> whatever
01:39 < olegfink> (that feeling probably comes from experiencing ocaml
packaging shortcomings in various distros)
01:39 < dho> yuanxin: we use it for our software
01:39 < dho> which runs on rhel/suse/solaris
01:39 < ehird> as long as Make.* is there, it's all good
01:40 -!- brian_ [i=617aa0a8@gateway/web/freenode/x-seinqvxvtrpifjux] has joined
#go-nuts
01:40 -!- theshadow [n=weechat@c-24-8-143-181.hsd1.co.comcast.net] has joined
#go-nuts
01:40 < olegfink> archlinux sort of uses /opt too, though they're tryint to
move to /usr/lib (why??)
01:41 < mjburgess> what package do i need to read files?
01:41 -!- Futek [n=Futek@3505ds3-amb.0.fullrate.dk] has left #go-nuts []
01:41 < ehird> Hmm...  there's no rules for goyacc in the Make.*s
01:41 -!- decriptor [n=decripto@53.250.sfcn.org] has joined #go-nuts
01:42 -!- Futek [n=Futek@3505ds3-amb.0.fullrate.dk] has joined #go-nuts
01:42 -!- defectiv [n=clays@c-24-5-65-40.hsd1.ca.comcast.net] has quit ["This
computer has gone to sleep"]
01:42 < Amaranth> olegfink: I'd say /opt is meant for things the user is
just testing out
01:42 -!- astrometria
[n=astromet@host86-129-133-201.range86-129.btcentralplus.com] has joined #go-nuts
01:42 -!- waffleman [n=curt@pool-74-105-115-14.nwrknj.fios.verizon.net] has joined
#go-nuts
01:42 -!- yaroslav [n=yaroslav@ppp91-78-215-14.pppoe.mtu-net.ru] has quit []
01:43 < ehird> %.go: %.y
01:43 < ehird> goyacc -o $@ $<
01:43 < ehird> should do the trick
01:43 < blackmagik> Go!
01:43 -!- Znupi [n=Znupi@204-37-gza-1mai.titannet.ro] has quit ["Leaving"]
01:44 -!- _mesenga [n=cbacelar@189.105.82.242] has quit [Read error: 60 (Operation
timed out)]
01:44 < ehird> [01:43] Amaranth: olegfink: I'd say /opt is meant for things
the user is just testing out
01:44 < ehird> nobody says that
01:44 < ehird> not even the crazy FHS
01:44 < Amaranth> ehird: I say that
01:44 < Amaranth> ehird: That's why I said "I'd say"
01:44 < ehird> you're crazy!: P
01:44 < ehird> *!  :P
01:45 -!- diltsman [n=diltsman@64.122.18.77] has quit []
01:45 < Amaranth> no ! in here :)
01:45 < olegfink> ehird: seems plan9's mkfile doesn't really agree with you
about multiple grammars:
http://plan9.bell-labs.com/sources/plan9/sys/src/cmd/mkone
01:45 -!- delsvr [n=delsvr@cpe-67-242-41-219.twcny.res.rr.com] has joined #go-nuts
01:45 < olegfink> but indeed your proposed rule looks nice
01:46 -!- flea__ [n=mouse@CPE-124-188-96-237.lbcz1.ken.bigpond.net.au] has joined
#go-nuts
01:46 < ehird> you can't really make a rule from y.go
01:46 < ehird> unless you want to name your file y.y...
01:46 < ehird> which looks like a smiley
01:47 -!- nullpo_ [n=nullpo@221x252x46x83.ap221.ftth.ucom.ne.jp] has joined
#go-nuts
01:47 -!- b0o-yeah [n=b0o-yeah@unaffiliated/b0o-yeah] has left #go-nuts []
01:47 -!- brian_ [i=617aa0a8@gateway/web/freenode/x-seinqvxvtrpifjux] has quit
["Page closed"]
01:48 < flea__> l
01:49 -!- brianflan [i=617aa0a8@gateway/web/freenode/x-zvbcunxcerrzoesd] has
joined #go-nuts
01:49 -!- int-e [n=noone@td9091a64.pool.terralink.de] has quit ["leaving"]
01:50 -!- defectiv [n=clays@c-24-5-65-40.hsd1.ca.comcast.net] has joined #go-nuts
01:50 < flea__> hi, I get this on OSX
01:50 < ehird> I guess you could have GOYACCFILE=
01:50 < flea__> %%%% making libcgo %%%%
01:50 < flea__> gcc -m64 -O2 -fPIC -o linux_amd64.o -c linux_amd64.c
01:50 < flea__> gcc -m64 -O2 -fPIC -o amd64.o -c amd64.S
01:50 < flea__> gcc -m64 -O2 -fPIC -o util.o -c util.c
01:50 < flea__> gcc -m64 -shared -lpthread -lm -o libcgo.so linux_amd64.o
amd64.o util.o
01:50 < flea__> Undefined symbols:
01:50 < flea__> "_main", referenced from:
01:50 < flea__> start in crt1.10.5.o
01:51 -!- agl [n=agl@nat/google/x-rcwjfbklwaobuevc] has quit [Read error: 110
(Connection timed out)]
01:51 < flea__> ld: symbol(s) not found
01:51 < flea__> collect2: ld returned 1 exit status
01:51 < flea__> make: *** [libcgo.so] Error 1
01:51 < flea__> I can't see it in the current known issues, I got the repo
yesterday evening
01:51 < bthomson> did you never heard of pastebin lol
01:51 < flea__> oh ...  right
01:51 -!- brianflan is now known as bri-flan7
01:51 < flea__> :P
01:51 < ehird> oh, another issue...  make clean won't remove the goyacc
output
01:51 -!- pool [n=pool@ip98-182-40-121.ri.ri.cox.net] has joined #go-nuts
01:52 -!- Futek [n=Futek@3505ds3-amb.0.fullrate.dk] has left #go-nuts []
01:52 -!- Futek [n=Futek@3505ds3-amb.0.fullrate.dk] has joined #go-nuts
01:52 < flea__> for reference: http://pastebin.com/m66c359e8
01:52 -!- waffleman [n=curt@pool-74-105-115-14.nwrknj.fios.verizon.net] has left
#go-nuts []
01:55 -!- teedex_ [n=teedex@pool-71-116-244-58.lsanca.dsl-w.verizon.net] has
joined #go-nuts
01:55 -!- nullpo__ [n=nullpo@221x252x46x83.ap221.ftth.ucom.ne.jp] has joined
#go-nuts
01:56 -!- m-takagi is now known as m-takagi_
01:56 < pool> onlt bug tracker here?, chan for GO general discussion?
01:56 -!- iant [n=iant@67.218.110.227] has joined #go-nuts
01:56 -!- mode/#go-nuts [+v iant] by ChanServ
01:57 < Ibw> pool: Ya, pretty much just general discussion
01:57 < dho> hey iant
01:57 -!- devilmonastery [n=devilmon@nat/google/x-dapdgrznmiukktkm] has quit []
01:57 -!- aanderse
[n=aanderse@CPE001b11cc67d3-CM0019475d7f5e.cpe.net.cable.rogers.com] has joined
#go-nuts
01:57 <+iant> howdy
01:57 < Ibw> pool: I don't understand what you're asking about a bug tracker
though
01:57 < dho> iant: i got helloworld
01:57 < dho> :)
01:57 <+iant> dho: excellent
01:58 -!- ineol [n=hal@mar75-9-88-171-191-168.fbx.proxad.net] has quit []
01:58 <+iant> dho: hello world uses a lot, so that's a huge step
01:58 < dho> iant: not fmt.Printf hello world
01:58 < pool> Ibw: is the focus of this chan GO bug related or more general?
01:58 < dho> that panic
01:58 < dho> s
01:58 <+iant> dho: ah, OK, still very good
01:58 < olegfink> dho: does panic("hello world") panic?  :-)
01:59 < dho> iant: rsc wants to get it in.  i need to get this laptop set up
for doing stuff
01:59 < Ibw> pool: Just general discussion.
01:59 < dho> olegfink: heh
01:59 < dho> then i'll set up a codereview or whatever
02:00 -!- bri-flan7 [i=617aa0a8@gateway/web/freenode/x-zvbcunxcerrzoesd] has left
#go-nuts []
02:00 < pool> Ibw: thx, any dev.  on an ide?
02:00 < ehird> ew
02:01 -!- xal [n=tobi@CPE001e527d7ab0-CM001bd71325c0.cpe.net.cable.rogers.com] has
left #go-nuts []
02:01 < ehird> http://pastebin.ca/raw/1670742 ;; how to use goyacc with the
Go makefiles (including having "make clean" clean up the goyacc-resultant debris)
02:01 < ehird> the dependency there is a bit wonky if the .y depends on
other files, but "eh", just make clean and make, everything's so fast anyway
02:02 -!- timepilot [n=timepilo@c-24-91-16-174.hsd1.ma.comcast.net] has quit
["WeeChat 0.3.0"]
02:02 -!- teedex [n=teedex@166.135.164.244] has quit [Read error: 110 (Connection
timed out)]
02:02 < mjburgess> if i have a (string) constant, is there anyway of
concatenating it with a string?
02:02 < olegfink> ehird: nice
02:02 < dho> strings are immutable iirc
02:03 < mjburgess> yes, im not trying to mutate it
02:03 < mjburgess> eg.  const Word = "Foo" ...later...  myFunc(Word + "bar")
02:03 <+iant> mjburgess: string1 + string2
02:03 -!- nullpo [n=nullpo@221x252x46x83.ap221.ftth.ucom.ne.jp] has quit [Read
error: 110 (Connection timed out)]
02:03 -!- kongtomorrow [n=kongtomo@17.246.210.87] has joined #go-nuts
02:03 -!- fincher [n=jfincher@cpe-76-92-185-76.kc.res.rr.com] has quit [Read
error: 110 (Connection timed out)]
02:03 < mjburgess> hmm, thanks, there must be another source of error then
02:03 < ehird> I'm annoyed that the go makefiles leave _go_.G around, but eh
02:03 < rup> how can I create a string from a byte array?
02:04 < Amaranth> rup: cast it?
02:04 < ehird> (Strange that Go has no manpages)
02:04 < Amaranth> ehird: it's 3 days old...
02:04 < olegfink> am I doing something wrong or is `load' not there yet in
exp/ogle?
02:04 < ehird> Amaranth: It has documentation, they're just not manpages
02:04 < mjburgess> two years, amaranth
02:04 < ehird> With all the Unix and Plan 9 in Go it's surprising
02:04 < Amaranth> ehird: the documentation kind of sucks too
02:04 < ehird> Also, what mjburgess said
02:04 < Amaranth> mjburgess: Sure but the developers don't need manpages for
their own stuff :)
02:04 < ehird> Maybe we need a "goman" project.
02:05 < olegfink> ehird: because first troff should be rewritten in go...
02:05 -!- joeedh [n=chatzill@c-24-10-97-83.hsd1.ca.comcast.net] has joined
#go-nuts
02:05 < ehird> olegfink: That seems...  excessive.  Just use plan9port troff
:P
02:05 < me__> dho: i'm running off, but when you send your patch up via
codereview, could you poke me?
02:06 < ehird> Actually, writing manpages sounds fun...[1]
02:06 < ehird> 1.  Evidence I am not human
02:07 < EthanG> hehehe
02:07 -!- vpit3833 [n=user@58.108.189.47] has joined #go-nuts
02:07 -!- PabloM [n=user@201.255.145.210] has joined #go-nuts
02:07 < dho> will do
02:07 < dho> should be in the next hourish
02:07 < ehird> Could name the sections like the compilers to confuse
everyone.  :-D
02:07 < Gracenotes> hm..  so a program can exit while a goroutine is
running, it seems
02:07 < ehird> (man Ng foo)
02:07 -!- xk0der [n=xk0der@122.171.5.157] has joined #go-nuts
02:08 < Gracenotes> either that, or stdout is buffered and that's not liking
what I'm doing
02:08 < flea__> http://pastebin.com/m66c359e8 help?
02:08 < olegfink> hmm, just thought that I see so many familiar nicknames
there...  you guys have thrown an excellent irc party that's not going to end.
:-P
02:09 < ehird> just wait until we all get drunk and they start handing out
commit access
02:09 < olegfink> s/there/here/
02:10 -!- aym [n=psgfan@elaphe.int-evry.fr] has joined #go-nuts
02:10 -!- astrometria
[n=astromet@host86-129-133-201.range86-129.btcentralplus.com] has quit []
02:10 < ehird> does go have a gc right now?  as in implemented
02:10 -!- cablehead [n=Adium@nat/slide/x-ndjtyjsdrpikjfwz] has quit ["Leaving."]
02:10 < mkanat> Well, this is to some degree going to be "language geek
central", right?  :-)
02:10 < me__> ehird: the 8g/6g one does, a mark-sweep collector.
02:10 < olegfink> it's slightly confusing that the arch-independent part of
[68]g is called gc
02:10 < ehird> I like how we have so many people in here and yet the
discussion is pretty intellectual and not "OMG GOOGLE MADE A LANGUAGE?  How does
it compare to JavaRubyPython3000??///"
02:10 < ehird> Hope that stays around
02:11 < ehird> olegfink: yeah
02:11 -!- diltsman_ [n=diltsman@64.122.18.77] has joined #go-nuts
02:11 -!- dga [n=dga@dsl093-060-195.pit1.dsl.speakeasy.net] has joined #go-nuts
02:11 < cn28h> only google could create a language and a week later have 500
people on its irc channel ;p
02:11 -!- buluca [n=buluca@unaffiliated/buluca] has joined #go-nuts
02:11 < ehird> A week?  Two days.
02:12 <+iant> ehird: yes, Go currently has a functional GC, but we know that
it needs to improve significantly
02:12 < ehird> I have a feeling that Go was developed without much Google
influence outside of the Unix/Plan 9 guys, though...  I don't smell a manager in
it
02:12 < flea__> it was a 20% project
02:12 < ehird> exactly
02:12 < me__> iant: are there any ideas kicking around for the replacement
gc?
02:12 < cn28h> ah, there was Plan 9 influence?  that explains the odd
resemblance to glenda in their mascot haha
02:12 < ehird> I just find it odd to call it Google's language
02:12 < olegfink> iant: and it can't be disabled easily?  just in the
interest of pure measurement science.
02:12 < ehird> cn28h: Ken Thompson, Rob Pike, Russ Cox...
02:12 -!- nullpo_ [n=nullpo@221x252x46x83.ap221.ftth.ucom.ne.jp] has quit [Read
error: 110 (Connection timed out)]
02:12 < cn28h> nice
02:13 < ehird> cn28h: Can the creators of Plan 9 be influenced by Plan 9,
per se?
02:13 < ehird> Hell, the compiler even uses lib9.
02:13 < dga> Ian, or someone with more Go programming experience than I:
Quick "go philosophy" question: What's the "right" way to create type-safe
container objects?  eg, I'd really like to create a Vector that can hold only a
particular struct.  As far as I can tell thus far, my options are to roll my own
MyStructVector by copy/pasting, or to use the generic Vector class and suck it up
that a mis-use can throw an object of a bad type in there.  Am
02:13 <+iant> me__: Yes, we plan to use the ideas from the Recycler project
02:13 <+iant> olegfink: it would be easy to disable the GC today, just find
the place in the runtime where it kicks off and turn that off
02:13 -!- vegy [n=neki@we.will.never-be.afraid.org] has quit [Read error: 60
(Operation timed out)]
02:14 < flea__> thing is, pointer arithmetic is *really* useful for things
like container iterators and C++ ppl are going to miss their containers ...
02:14 < ehird> cn28h: And the mascot was drawn by the same person who drew
Glenda, Reneé French
02:14 <+iant> dga: I think that is a good question.  I would probably write
a tiny wrapper around container
02:14 < cn28h> ah
02:14 < ehird> *Renée
02:14 < halfdan> does the ternary operator exist in go?
02:14 < ehird> (married to Rob Pike)
02:14 <+iant> flea__: we have containers, and container iterators, in Go,
without pointer arithmetic
02:14 < dga> ponder
02:14 <+iant> halfdan: no
02:14 < halfdan> damn
02:14 -!- joeedh_food [n=chatzill@c-24-10-97-83.hsd1.ca.comcast.net] has quit
[Connection timed out]
02:14 < me__> pkg/runtime/mgc0.c, if you were looking, olegfink.
02:15 < dga> That makes sense.  I'll see how that settles.
02:15 -!- thebusker [n=chatzill@c-67-176-209-73.hsd1.il.comcast.net] has quit
["ChatZilla 0.9.85 [Firefox 3.0.15/2009102704]"]
02:15 -!- hipe [n=hipe@69.193.196.185] has quit [Remote closed the connection]
02:15 < flea__> iant: really?  does map have 'find', 'lower_bound',
'upper_bound' and 'equal_range' methods?
02:16 -!- klusark [n=klusark@S01060018f3856b11.vc.shawcable.net] has joined
#go-nuts
02:16 <+iant> flea__: no, I meant that it has iterators, which you can use
via range
02:16 < dga> On a related note: Is there a best practice yet for how to
write iterable objects where I can easily swap between, e.g., a native Go array, a
Vector, and something else?  (Context: I was writing some code that used an array,
and then decided I'd rather not reinvent the wheel, and moved over to Vector, but
then had to abandon my use of the range idiom.  Or, at least, thought I did...)
02:16 < ehird> the containers are only type safe because the compiler lets
them be
02:16 <+iant> flea__: one could write those methods, given a comparator
02:16 < ehird> no parametric(sp?) types
02:16 < ehird> apart from built in stuff and maps and the like
02:16 <+iant> dga: use range and provide an Iter method, as in
container/vector
02:16 < KirkMcDonald> flea__: Go's maps are not ordered.
02:16 < olegfink> me__: yeap, but who calls the entry point (gc()?)
02:16 -!- nullpo [n=nullpo@221x252x46x83.ap221.ftth.ucom.ne.jp] has joined
#go-nuts
02:17 < olegfink> nothing in runtime/*.c seems to do that
02:17 < dga> ah-ha!  I hadn't noticed that one.  Thank you.
02:17 -!- jadamcze_ [n=jadamcze@ppp59-167-65-109.lns20.hba1.internode.on.net] has
joined #go-nuts
02:17 < klusark> i cant figure out how to write a png file
02:17 < me__> malloc.cgo
02:17 < cmarcelo> the fact that Go (or any other lang) uses a garbage
collector instead of having more explicit handling of memory makes it harder to
use it for developing a kernel?  or not necessarily?
02:18 < olegfink> me__: thanks, wrong filetype pattern.  :-)
02:18 < me__> (and originally form mal()) :)
02:18 -!- yuanxin [n=uman@uawifi-nat-210-16.arizona.edu] has quit ["leaving"]
02:18 < Amaranth> eww, malloc.go :/
02:19 * olegfink has also discovered runtime.GC()
02:19 < flea__> dga: so the programmer could write a 'less' functor?  I'm
confused, I thought the containers were not ordered.
02:19 -!- lilpenguina [n=penguina@69.226.228.130] has joined #go-nuts
02:19 < olegfink> someone was asking about that
02:19 < rup> How can I turn a byte slice into a string, anyone?
02:19 -!- karl_ [n=karl@wads-5-233-224.resnet.mtu.edu] has quit ["Leaving"]
02:19 -!- dacc [n=dacc@D-128-95-10-110.dhcp4.washington.edu] has joined #go-nuts
02:19 < Amaranth> rup: Did you try casting it?
02:19 < rup> Yes Amaranth
02:19 < dga> cmarcelo: Distinctly.  Ultimately, something has to do the
page-level memory management and mapping.  That doesn't work too well with a
"normal" GC of the type you'd use for userland code.
02:20 < Amaranth> rup: Sprintf?
02:20 < Ibw> huh, did anyone else get this error when trying to build?
http://pastebin.com/m73b2961a
02:20 < flea__> no, I got this one: http://pastebin.com/m66c359e8
02:20 < olegfink> iant: what would you recommend to measure?  shootout
bench?
02:21 <+iant> olegfink: we have shootout timings in test/bench/timing.log
02:21 < Ibw> flea__: hah, my error is better than your error
02:21 < olegfink> aha, so I should just do something like src/run.bash and
then consult the log?
02:21 < Ibw> heh
02:21 < flea__> :D
02:21 < Ibw> this is annoying
02:22 -!- pool [n=pool@ip98-182-40-121.ri.ri.cox.net] has quit [Client Quit]
02:22 < Ibw> No one has used this for very long, so no one knows how to
interperet these errors
02:22 < Ibw> Any Google folks online?
02:22 < flea__> not sure if all.bash runs configure
02:22 < Ibw> hmm
02:22 <+iant> olegfink: oh, no, timing.log is hand written
02:22 -!- ruda [n=ruda@200-180-176-25.paemt706.dsl.brasiltelecom.net.br] has quit
[]
02:22 < olegfink> ah ;-)
02:22 < ehird> someone mentioned something about emailing russ cox.
02:22 -!- Irssi: #go-nuts: Total of 518 nicks [0 ops, 0 halfops, 2 voices, 516
normal]
02:22 <+iant> you can build the programs in test/bench and do your own
timings, or maybe even improve them
02:22 < olegfink> ok
02:23 <+iant> Ibw: that error means that you ran the test as root, I think
that is issue 22 or something like that; you can ignore it
02:23 * flea__ looks at what time it is in mountain view
02:23 < Ibw> oh
02:23 < Ibw> so it's not going to cause a problem?
02:23 < antarus> flea__: 6:30 ;)
02:23 < cmarcelo> dga: hmm.  so an hypotetical Go-based kernel would have a
Assembly-based for handling the low-level page management (and possibly the other
parts of runtime: like goroutines), and then build the rest on top of that?
02:24 <+iant> Ibw: right, it won't cause a problem, at that point the
compilers and libraries have been built
02:24 -!- maennj [n=maannj@pool-98-113-42-8.nycmny.fios.verizon.net] has joined
#go-nuts
02:24 < Ibw> Awesome, thanks iant
02:24 -!- brunov [n=bruno@190.191.110.64] has quit [Read error: 60 (Operation
timed out)]
02:24 <+iant> flea__: I'm not sure about that one, what is your GOARCH?  and
operating system?
02:24 < Ibw> (maybe I'll check the issue tracker next time)
02:24 < flea__> iant: OS is OSX
02:24 < flea__> checking on GOARCH
02:24 < rup> thanks Amaranth that did it, can't believe I missed that
02:24 < jeremybanks> Has anybody else had luck using the exec package?
Whenever I try exec.Run the program seems to hang.
02:25 < Amaranth> rup: did you use %v for the format string?
02:25 -!- qbit_ [n=qbit_@c-75-71-160-106.hsd1.co.comcast.net] has joined #go-nuts
02:25 * flea__ slaps forehead
02:25 <+iant> jeremybanks: I have been able to use it....
02:25 < Amaranth> rup: it's one of those things you have to be a C guy to
know what it does, I guess
02:26 -!- FreshMeat [n=crump@c-67-180-74-9.hsd1.ca.comcast.net] has quit
[Connection timed out]
02:26 < Ibw> heh, just saw the Issue where the guy already has a language
called Go
02:26 < dga> cmarcelo: You could start there.  You'd run into other
complexities, though -- eg, optimized IPC by page-flipping; lots of places where
you have to allocate page-aligned memory; wanting very tight control over when and
where the memory was deallocated.  You could certainly use GC more easily in a
microkernel-style OS for things not involved with low-level memory management.
02:27 -!- m-takagi_ is now known as m-takagi
02:27 -!- kongtomorrow [n=kongtomo@17.246.210.87] has quit []
02:28 < antarus> bah I didn't sync
02:28 < Ibw> I think it's too late to change the name though
02:28 -!- jA_cOp [n=ya@ti0043a380-3093.bb.online.no] has joined #go-nuts
02:29 < halfdan> erm, guess that's a "bug".  got sth.  like func(val int)
int { if <expr> { return <value> } else { return <value2> } }
-> Compiler claims that the function is missing a return statement
02:29 -!- rot [i=death@59.93.35.182] has quit [Read error: 104 (Connection reset
by peer)]
02:29 < Ibw> or if they do it at all, they'd better change soon
02:29 -!- rot [i=death@59.93.35.182] has joined #go-nuts
02:29 < halfdan> opinions?
02:29 < cmarcelo> dga: thanks for enlightening...  I ask because when people
described Go as a systems programming language, I thought not only about servers
and such, but also about kernel programming...
02:29 < flea__> OK, so it built, YAY!  ...  but the firewall caused
_test/http.a _gotest_.8 to fail, stopping the process
02:29 -!- teedex_ [n=teedex@pool-71-116-244-58.lsanca.dsl-w.verizon.net] has quit
[Remote closed the connection]
02:29 < flea__> is there some way to run the tests seperately
02:29 <+iant> halfdan: it's a compiler shortcoming, it doesn't do real flow
analysis to see that every branch of the if return; I hope that will get fixed at
some point
02:29 < zeebo-> halfdan: well i guess the else statement is worthless in
that case, so it would be more concise to remove it
02:30 <+iant> flea__: sure, just run make.bash instead of all.bash; take a
look at all.bash
02:30 < flea__> thanks
02:30 -!- buluca [n=buluca@unaffiliated/buluca] has left #go-nuts []
02:30 -!- jadamcze [n=jadamcze@ppp59-167-95-216.lns20.hba1.internode.on.net] has
quit [Read error: 110 (Connection timed out)]
02:30 < halfdan> zeebo-: you didn't get the point
02:30 < zeebo-> yeah i understand the point.  it's like iant said
02:30 < sergio> how can I print a "[]uint8" as a string?
02:30 < zeebo-> thats just my opinion
02:30 <+iant> sergio: string([]uint8)
02:31 < sergio> duh..  thanks.  let me try that
02:32 < KirkMcDonald> Hmm.  The compiler's escape analysis isn't as good as
I'd like.
02:32 < KirkMcDonald> func f(x int) int { if x > 0 { return 1 } else {
return 2 } } // an error
02:32 < KirkMcDonald> "function ends without a return statement"
02:32 <+iant> KirkMcDonald: yes, halfdan just mentioned that too
02:32 <+iant> definitely could use some improvement
02:32 < diltsman_> Is there some way to read in non-utf-8 files/input?  Say
utf-16le, utf-16be, etc.
02:33 < KirkMcDonald> Oh. So he did.
02:33 < dga> cmarcelo: if you want to dig further, look at how Microsoft's
Singularity OS is structured (type-safe, garbage collected, language-based).
There were several Java-based OSes that people played with that used GC at various
places, though none ever really went very far.  The SPIN OS is a classic one,
based on Modula-3 (which looks a lot like Go in many ways.  :), but I don't
remember where they drew the line between GC and explicit manageme
02:33 < Gracenotes> just what is the means to get substrings?
02:33 < JBeshir> Slicing.
02:33 <+iant> diltsman_: there isn't any special support in the current
libraries, you could probably use binary/encoding in some way
02:33 < KirkMcDonald> iant: For now I can stick some "return nil" statements
in there.
02:33 < ehird> in main(), os.Exit(0) or return — which is better?
02:33 -!- Dysiode [n=pakattac@66.129.59.88] has joined #go-nuts
02:33 < ehird> i'd think os.Exit(0) for consistency with other functions
02:33 < mjburgess> how do you cast?  (or, where do you find out?)
02:33 < Ibw> hello.go:3: fatal error: can't find import: fmt Something
special I need to do to include libs?
02:33 < halfdan> KirkMcDonald: nil won't work for every return type
02:34 <+iant> mjburgess: it's in the language spec for sure, I'm not sure if
it's in effective go or not
02:34 < halfdan> iant: not really
02:34 < Gracenotes> JBeshir: those are defined for strings?  is that ad-hoc?
02:34 < diltsman_> iant: Is that the type of thing where there is a direct
translation from UTF-16 to UTF-8?
02:34 < KirkMcDonald> halfdan: It will in the context I need it for.  :-)
02:34 * mjburgess is looking at the language spec
02:34 < halfdan> sure ;)
02:34 < JBeshir> Gracenotes: Yes, they return a substring backed by the same
memory as the original.
02:34 -!- nullpo__ [n=nullpo@221x252x46x83.ap221.ftth.ucom.ne.jp] has quit
[Connection timed out]
02:34 < Gracenotes> well, of course it must be...
02:34 < halfdan> mjburgess: type(..)
02:34 < zeebo-> is there any case where the returns inside of the if
statement is more concise than an alternative that does work for the compiler?
02:34 -!- deeps [n=chatzill@124.124.108.6] has joined #go-nuts
02:34 <+iant> diltsman_: not as such, no
02:34 < Gracenotes> glad to see it uses the underlying byte array
02:34 <+iant> diltsman_: I don't know if we have that library function
though we may
02:35 <+iant> there is also pkg/utf8 and pkg/unicode
02:35 < diltsman_> iant: Ok, thanks.
02:35 < cmarcelo> dga: wow, singularity wikipedia entry has plenty of
pointers..  thanks :)
02:35 -!- RadSurfer [n=RadSurfe@unaffiliated/radsurfer] has left #Go-nuts
["Leaving"]
02:35 < ehird> What would the best data structure be for a
dynamically-allocated stack of ints?
02:35 < ehird> Vector?
02:36 < zeebo-> by stack do you mean to imply you only need to push/pop
elements?
02:36 -!- mainman__ [n=Adium@host20-155-dynamic.30-79-r.retail.telecomitalia.it]
has quit ["Leaving."]
02:36 < olegfink> iant: what is debug['B'] that timing.sh measures?
02:36 < halfdan> most likely depends on how often the size has to grow
02:36 < ehird> zeebo-: yeah.  well, maybe access "second top" or look
without popping, but basically push and pop.
02:36 <+iant> olegfink: don't do array bounds checking
02:36 < dga> ehird: see what others daid, but there is a vector specialized
for ints (IntVector).
02:36 < dga> s/daid/said
02:37 < antarus> bah I need mercurial 1.3
02:37 < ehird> Cool.
02:37 < zeebo-> vectors work but if you dont need random access a linked
list might work better.  or make a stack data structure.
02:37 < Chandon> Do goroutines really get scheduled across multiple
processor cores when I use the 8g compiler?
02:37 -!- Null-A [n=jason@c-76-21-4-0.hsd1.ca.comcast.net] has joined #go-nuts
02:37 < olegfink> iant: er, wow, didn't notice 8g did that!
02:38 <+iant> Chandon: they do, but see runtime.GOMAXPROCS
02:38 < ehird> [[func (p *IntVector) Last() int]]
02:38 < ehird> What if there is none?
02:38 < ehird> Is this the ,ok magic?
02:38 < Chandon> iant, That might be relevent.  Thanks.
02:38 < halfdan> ehird: what?
02:38 < Ibw> hello.go:3: fatal error: can't find import: fmt hmm, could this
have to do with compiling issues when building Go?
02:38 < ehird> the magical exceptions that only the compiler can do
02:39 < ehird> Ibw: $GOROOT=?
02:39 <+iant> Ibw: most likely GOROOT or GOARCH or GOOS is not correct in
the environment
02:39 < Ibw> usr/bin I built in root
02:39 < ehird> ouch
02:39 < ehird> go needs its own directory, srsly
02:40 < zeebo-> ehird: looking at the vector.go source code it just returns
p.a[len(p.a)-1]
02:40 < Ibw> removed the binaries fro usr/root and am now buliding in
$HOME/bin as suggested
02:40 < ehird> hmm
02:40 < flea__> I also built as root coz all.bash complained about access to
quitegcc
02:40 < ehird> how would I determine the length of a vector?
02:40 < ehird> Ibw: no, you build in $HOME/go
02:40 < Ibw> what all binaries were built for x86 env?
02:40 < ehird> you just have GOBIN=$HOME/bin
02:40 < zeebo-> ehird: .Len()
02:40 -!- diltsman_ [n=diltsman@64.122.18.77] has quit []
02:41 < Ibw> ehird: right
02:41 < ehird> oh, IntVectors are Vectors
02:41 < ehird> cool
02:41 < ehird> erm, these vectors grow right?
02:41 -!- FreshMeat [n=crump@c-67-180-74-9.hsd1.ca.comcast.net] has joined
#go-nuts
02:41 -!- punya_ [n=punya@punya.Stanford.EDU] has quit [Read error: 110
(Connection timed out)]
02:41 < reppie> interrupt vectors
02:42 -!- deeps [n=chatzill@124.124.108.6] has left #go-nuts []
02:42 < zeebo-> ehird: yep.  just take a look at
http://golang.org/src/pkg/container/vector/vector.go
02:42 < zeebo-> the code tells all
02:42 < Ibw> great, maybe it will work this tiem
02:43 < Chandon> So...  the multiprocessor scheduling needs some more work.
02:43 -!- triplez [n=triplez@124.155.195.7] has joined #go-nuts
02:43 < dho> heh reppje
02:43 < zeebo-> Chandon: it's on the list of things to do
02:44 < Chandon> zeebo-, Are there good answers for how to do it?
02:45 -!- delza [n=delza@d66-183-63-49.bchsia.telus.net] has joined #go-nuts
02:46 -!- Jan_Flanders [n=chatzill@d54C1E33B.access.telenet.be] has quit
["Chatzilla 0.9.75.1 [SeaMonkey 1.1.18/2009082513]"]
02:47 -!- delza [n=delza@d66-183-63-49.bchsia.telus.net] has quit [Client Quit]
02:49 -!- ericmaxey [n=ericmaxe@98.203.198.10] has joined #go-nuts
02:49 -!- clearscreen [n=clearscr@e248070.upc-e.chello.nl] has joined #go-nuts
02:50 -!- tetha [n=hk@217.238.122.244] has quit [Nick collision from services.]
02:50 -!- tetha [n=hk@pD9EE4D57.dip.t-dialin.net] has joined #go-nuts
02:50 -!- dgnorton [n=dgnorton@24.224.99.49] has joined #go-nuts
02:50 -!- flea__ is now known as tf
02:50 -!- groovy [n=groovy@205.231.130.2] has quit [" HydraIRC ->
http://www.hydrairc.com <- Organize your IRC"]
02:50 -!- diltsman_ [n=diltsman@64.122.18.77] has joined #go-nuts
02:50 < jA_cOp> Does anyone have a Go highlighter for gedit
02:51 -!- evilhackerdude [n=stephan@e181074230.adsl.alicedsl.de] has quit [Read
error: 113 (No route to host)]
02:51 < ericmaxey> I don't, but on a similar note, I'm using TextMate (mac
app), and it's got a Go module.
02:52 < jA_cOp> I'm on ubuntu though, does TextMate work there?
02:52 < zeebo-> ericmaxey: can you link me to that?
02:52 < ericmaxey> not sure.  Yeah i'll link it.  sec.
02:52 < dgnorton> luca__, os.Open() returns a *File and an error
02:53 -!- wobsite [n=wobsite_@140.232.183.141] has joined #go-nuts
02:54 < ericmaxey> zeebo-: http://github.com/rsms/Go.tmbundle
02:54 -!- MarkBao [n=MarkBao@pool-71-184-95-241.bstnma.fios.verizon.net] has
joined #go-nuts
02:54 < zeebo-> ericmaxey: thanks a lot.  looks a lot better than the one i
rolled myself :)
02:54 < dacc> can anyone think of what kind of killer app might make go
popular?  e.g.  rails did it for ruby, and xmtp for erlang.
02:54 < mjburgess> how do you escape the template language metacharacter {
inside a template ?
02:54 <+iant> I'm off.  I may not be on this weekend, we'll see, but either
way, have a nice weekend folks
02:54 < dgnorton> iant, later
02:54 < mjburgess> eg.  i cant have CSS inside my template because it's
recognising { }
02:54 < antarus> iant: night ;)
02:54 -!- iant [n=iant@67.218.110.227] has quit ["Leaving."]
02:55 < wobsite> I have a very simple question: how can I read in a binary
32 bit integer in go?  the Reader class reads in a []byte, but I'm not sure how to
then convert it to a uint32
02:55 < Ibw> Does all.bash do anything funky with users?  I'm getting all
kinds of permission errors when building that don't make any sense.  Apparently,
permission is denied for me to make files in my own home directory
02:55 < MarkBao> peace, iant
02:56 < Null-A> iant: it'd be nice if gccgo was on here
http://shootout.alioth.debian.org/u64/benchmark.php?test=all&lang=all&lang2=gcc&box=1
02:57 < antarus> Ibw: what OS?
02:57 < Ibw> antarus: linux
02:57 < ericmaxey> can you write methods for slices?  I.e.  something like
func (t []int) String() string {}
02:58 < antarus> Ibw: can you read bash well; if so you could edit all.bash
to have 'bash -x make.bash' and 'bash -x run.bash'
02:58 < wobsite> anyone?
02:58 -!- jwzn [n=user@CPE001839f8e82b-CM0017ee6363de.cpe.net.cable.rogers.com]
has joined #go-nuts
02:58 < antarus> Ibw: that will put bash into super verbose mode and it
should print every command it runs
02:58 < antarus> Ibw: that may help you track down what exactly those
scripts are doing
02:58 < antarus> Ibw: it will be spammy though
02:58 -!- Kniht [n=kniht@c-68-58-17-177.hsd1.in.comcast.net] has quit [Read error:
60 (Operation timed out)]
02:58 -!- mgraves [n=mike@c-75-72-114-208.hsd1.mn.comcast.net] has quit [Read
error: 60 (Operation timed out)]
02:59 -!- blup [n=icedtea@athedsl-4469937.home.otenet.gr] has quit [Remote closed
the connection]
02:59 < Ibw> antarus: hmm, alright.  I'll try that, though even if I do find
out what's going on it won't help me much.  The only option that I can think of
for resolving this permission error is running in root, which caused me problems
before
03:00 < Gracenotes> wobsite: hm.  bit-shifting?  there might be a function
in the standard packages..
03:01 < wobsite> Gracenotes : yeah, I thought of bit shifting, but it seems
like a really ugly way of doing it.  I'll look through the standard packages again
though.
03:02 -!- jinho [n=jinho326@user-387gl9p.cable.mindspring.com] has joined #go-nuts
03:02 < Gracenotes> hm.  do channels support timeout, to any extent?
03:02 -!- lindsayd [n=lindsayd@nat/cisco/x-fjtbocereitfmfrm] has quit ["Client
exiting"]
03:02 < jinho> hi is there a .vim file for go?
03:02 < Ibw> who managed the IRC protocol?
03:02 < Ibw> *manages
03:02 < antarus> Ibw: root should not be required
03:02 -!- Skel [n=JustinHo@cpe-024-211-196-059.nc.res.rr.com] has left #go-nuts
["Leaving"]
03:02 < Ibw> antarus: How do you suggest I resolve the permission problem
then?
03:02 < Amaranth> ericmaxey: No but you can define a new type and do that
03:02 < antarus> Ibw: I'd need to see a pastebin of the perm error
03:02 < diltsman_> jinho: go/misc/vim/go.vim
03:02 < Gracenotes> I suppose you could make a goroutine and then kill it
03:03 < Amaranth> ericmaxey: type IntSlice []int or such
03:03 < Gracenotes> while it's in the middle of a channel receive, if the
timeout's not out
03:03 < jinho> diltsman: thanks!
03:03 < Gracenotes> Ibw: what do you mean by manages?
03:03 < Ibw> antarus: Hmm, I was a bit hasty and already started building in
root.  If this doesn't work though, I'll swith back to normal user, run all.bash
again and send you the error
03:04 < antarus> Ibw: the IRC protocol is defined in a number of RFCs (1459,
2810, 2812)
03:04 < JBeshir> Only the first is relevant.
03:04 -!- Null-A [n=jason@c-76-21-4-0.hsd1.ca.comcast.net] has quit []
03:04 < antarus> Ibw: I don't think anyone manages those; anyone is allowed
to propose changse to the protocol
03:04 < Gracenotes> JBeshir: eh?  I wouldn't touch that one
03:04 < JBeshir> Gracenotes: You should.
03:04 < antarus> Getting the changes adopted is always the tough part ;)
03:04 < jA_cOp> I know I can use named fields for composite initialization,
but can I use named parameters when calling functions?
03:04 < Gracenotes> the last one is the most important for clients who are
implementing things
03:04 < Amaranth> hrm
03:04 < JBeshir> Gracenotes: NOT in this case.
03:04 < jA_cOp> I guess that wouldn't make sense anyway
03:05 * ehird sets up some infrastructure for writing manpages for go
03:05 < dgnorton> diltsman_, <--vim noob ...  what can I do with go.vim?
03:05 < Amaranth> the go binaries should really have the path for GOROOT
compiled into them instead of relying on an environment variable
03:05 < ehird> easy enough to restructure the existing docs into it
03:05 < Ibw> I mean how W3 manages a lot of the www standards, like svg and
html.  Is there a single entity in charge of IRC?
03:05 < JBeshir> THe last few are not practically implemented by most IRC
server software, and are largely considered as representing only the viewpoint of
a single network, now a very old network not representing current development.
03:05 < dgnorton> oops
03:05 < JBeshir> Er, two.
03:05 < ehird> and I'm tired of futzing around with the html docs
03:05 -!- Null-A [n=jason@c-76-21-4-0.hsd1.ca.comcast.net] has joined #go-nuts
03:05 < Gracenotes> JBeshir: anyhow, if you are implementing a client, the
most important thing is to look at what servers implement
03:05 < Amaranth> or maybe have a default that is whatever GOROOT was when
you compiled and allow GOROOT to be an override
03:05 < dgnorton> diltsman_, not calling you a noob...calling myself a vim
noob :)
03:05 < JBeshir> The first defines the standard subset (roughly) of IRC.
03:06 < JBeshir> Gracenotes: Right.  That's what I'm talking about
03:06 < Gracenotes> JBeshir: which goes beyond the RFCs, does not include
some things from the RFCs, and outright violates them in places
03:06 < Amaranth> same with GOARCH and GOOS :)
03:06 -!- jinho [n=jinho326@user-387gl9p.cable.mindspring.com] has quit [Client
Quit]
03:06 * JBeshir is a supporter of one IRCD, followed the development of two
others; those three include the two current largest.
03:06 < Gracenotes> but if you are going off of one, don't use the outdated
one
03:06 < JBeshir> The first is not outdated.
03:06 < JBeshir> The second two *are*.
03:07 -!- quag [n=quag@121-98-81-61.bitstream.orcon.net.nz] has joined #go-nuts
03:07 -!- sm [n=sm@cpe-76-173-194-242.socal.res.rr.com] has quit []
03:07 < JBeshir> Their changes are considered non-standard by most IRC
server software and not implemented
03:07 < Gracenotes> well, it's not like any of them are actually
prescriptive
03:07 < Ibw> Amaranth: I think you just solved my problem with that comment
about GOROOT.  I hadn't put the GOROOT var into bashrc and was only setting it by
hand in a single bash session, as I didn't realize that the binaries relied on it
03:07 < diltsman_> dgnorton: It is a syntax highlighting file.  Copy it to
~/.vim/syntax/go.vim.  After that edit your ~/.vimrc file and add "augroup
filetypedetext <newline> au BufNewFile,BufRead *.go setf go <newline>
augroup END"
03:07 < Gracenotes> Ibw: are you working on implement an IRC client in Go,
by chance?  so am I :)
03:07 < antarus> didn't mean to start a thread about irc rfcs; heh
03:07 < Gracenotes> *implementing
03:07 < Amaranth> Ibw: hehe, glad I could be of some help :)
03:07 < antarus> s/thread/conversation
03:07 < dgnorton> diltsman_, thanks
03:08 < Ibw> Gracenotes: nope, you can have that all to yourself
03:08 < Amaranth> Gracenotes: got anything working yet?
03:08 < wobsite> I can't find anything in the standard packages that will
either read a non []byte value, nor convert one to a uint32.  I guess I could
write something with bit shifting, but like I said, that seems rather ugly.
03:08 < diltsman_> dgnorton: Restart vim and whenever you open a .go file it
will apply Go highlighting.
03:08 < Ibw> Gracenotes: actually, I was thinking that it would be
interesting to see an IRC server/client that would allow images to be posted in
the classic imageboard fasion
03:08 < Gracenotes> Amaranth: well, I am mostly learning the language as I
go :) But I've connected to a server, joined a channel, and am receiving messages
03:08 < Amaranth> Gracenotes: Can I see?  :)
03:08 < antarus> wobsite: I thought I saw atoi somewhere?
03:08 * Amaranth loves looking at go code
03:09 < ehird> Anyone feel like restructuring the Go docs as manpages?
03:09 < ehird> Didn't think so.
03:09 < Gracenotes> antarus: I thought of that as well, but that assumes the
bytes are ASCII values
03:09 -!- amro [n=amro@li37-20.members.linode.com] has joined #go-nuts
03:09 < Ibw> yay!  finally.
03:09 < Gracenotes> in reality, there are good old fashioned bytes
03:09 < JBeshir> Ibw: For that, you would need to either break compatibility
with existing IRC servers and clients, or implement it via an opt-in feature.
03:09 < Gracenotes> *they
03:09 < JBeshir> Ibw: In which case, it could be implemented as a module in
existing servers and with client modifications to work with it.
03:10 < Ibw> I totally with Amaranth on that gripe about not compiling the
GOROOT and other vars into the binaries
03:10 -!- lulztux [n=tux@87.60.0.194] has joined #go-nuts
03:10 < ehird> Ibw: You need GOROOT for the Makefiles anyway
03:10 < Gracenotes> Amaranth: not just yet..  it doesn't actually do
anything other than sit around :P but in an hour or two, I think I can get a
parser and the like
03:10 < ehird> For software written in Go to include
$(GOROOT)/src/Make.$(GOARCH)
03:10 < Ibw> fantastic
03:10 < ehird> and $(GOROOT)/src/Make.cmd
03:10 < ehird> It's not a big deal
03:10 < antarus> wobsite: pkg/strconv/atoi.go ?
03:10 < jA_cOp> What is the syntax for function pointers/function values in
a struct definition?
03:10 < ehird> You're not charged by the environment variable
03:10 * Amaranth will work on that on his day off
03:10 < ehird> Chill
03:11 < ehird> Gracenotes: write the parser with goyacc?
03:11 < Amaranth> ehird: pkg-config to the rescue :)
03:11 < JBeshir> Gracenotes: http://pastebin.com/m55eff7cb <-- I threw
this together a couple of days ago.
03:11 < ehird> Gracenotes: (self-plugging: http://pastebin.ca/raw/1670742 to
manage goyacc)
03:11 -!- lulztux [n=tux@87.60.0.194] has left #go-nuts []
03:11 < ehird> Amaranth: Ew...  aieee...  no, no, a thousand times no.
03:11 < Gracenotes> JBeshir: oh, nice
03:11 < wobsite> antarus: I'll give that a try, but will that work?  I have
a []byte, not a string.
03:11 < Ibw> actually, no.  The way it's implemented now I can change the
filename of GOROOT without having to recompile everything...
03:12 < Amaranth> ehird: pkg-config is awesome man
03:12 < dgnorton> diltsman_, do i have to create ~/.vim or should it already
exist?
03:12 < ehird> Amaranth: Please check in to your nearest mental hospital...
03:12 < JBeshir> Gracenotes: Anyways, big omissions in all those RFCs is the
CTCP command, PREFIX, and NAMESX
03:12 < JBeshir> Er, commands.
03:12 < Gracenotes> I've written IRC clients in 3 other languages, which is
hardly as impressive as an ircd, but I like to try to adapt the abstractions in
the client to the language itself.  and in the case of Go, I am definitely still
learning
03:12 < diltsman_> dgnorton: It probably doesn't exist, so you will likely
have to create it.
03:12 < JBeshir> Ah.
03:12 < dgnorton> diltsman_, thanks
03:12 < antarus> wobsite: you will likely have to convert it
03:12 < Gracenotes> oh, yeah, you basically have to have CTCP parsing of
some kind
03:12 < Amaranth> ehird: No more figuring out which .m4 I need to include in
my source tree and how the autoconf macro works
03:12 < Ibw> Gracenotes: gui or command line?
03:13 < Ibw> Gracenotes: your IRC client
03:13 < Gracenotes> clients in the connect-to-the-server sense, so more like
bot frameworks, you could say
03:13 -!- CodeBlock [n=CodeBloc@about/windows/regular/CodeBlock] has left #go-nuts
["Asta-la byebye"]
03:13 < Amaranth> Ibw: It'd have to be command line
03:13 < ehird> Amaranth: You just promoted a false dichotomy: Autohell or
pkg-config.
03:13 < Ibw> Are there any gui bindings for Go yet?
03:13 < ehird> Amaranth: Congratulations, I didn't even think people were
crazy enough to do that.
03:13 < Gracenotes> Ibw: I actually did work on a GUI client in Java with
some other people, which looked quite nice, but it fizzled out
03:13 < Amaranth> ehird: Well the other choice is for every package to
require env variables :)
03:14 < antarus> night folks
03:14 < JBeshir> So, hmm, Go.
03:14 < Gracenotes> contained some impressive use of javax.swing.text..  or
is that headache-inducing...  I forget
03:14 < ehird> Amaranth: It's really not.
03:14 < antarus> Ibw: glad you got your stuff working ;)
03:14 < JBeshir> I wish that memory bug would go away.
03:14 < JBeshir> I'm going to test again and see if it goes away.
03:14 -!- m-takagi is now known as m-takagi_
03:14 < Amaranth> ehird: So what is your superior alternative?
03:15 < Gracenotes> actually, I never did PREFIX-parsing before.  Just used
predefined prefixes that worked with most servers.  I should try that this time
03:15 < ehird> Amaranth: the very question leading to those as answers is
faulty...
03:15 < JBeshir> Gracenotes: You should.
03:15 -!- PabloM [n=user@201.255.145.210] has quit ["bye"]
03:15 < Gracenotes> ehird: as for yacc, don't know it.  I'm going to try
recursive descent.  *ducks*
03:15 < Ibw> antarus: bye
03:15 < Ibw> antarus: thanks for the help
03:15 < ehird> Gracenotes: It's not yacc, it's goyacc :P
03:15 < ehird> Gracenotes: Besides, it's trivial.
03:16 -!- tf [n=mouse@CPE-124-188-96-237.lbcz1.ken.bigpond.net.au] has quit
[Remote closed the connection]
03:16 < ehird> Just like BNF with some cruft at the top and bottom and
attached code blocks.
03:16 < JBeshir> Gracenotes: There are lots of IRC networks with differing
prefixes, and some IRC server software includes modules to add new ones which are
almost certainly not supported; to support many servers now, you need to parse
PREFIX.
03:16 < Amaranth> ehird: How do I install go to /usr/local or /usr or
/opt/go and have a 3rd party package use it?
03:16 < ehird> go is an exception because it is structured weirdly.
03:17 < Gracenotes> ehird: goyacc is pure Go?
03:17 < ehird> Yep, and part of Go
03:17 < Gracenotes> ಠ_ಠ
03:17 < ehird> Gracenotes: See $GOROOT/src/cmd/goyacc/units.y for an example
03:17 < ehird> (It's complicated, but you can get the gist)
03:18 < Gracenotes> I am there right now, actually
03:18 < ehird> (and because I'm paid by the link, use
http://pastebin.ca/raw/1670742 for all your domestic
goyacc-using-go-program-build-system needs!  Only $00.00)
03:18 < Gracenotes> only if I get a cut
03:18 < ehird> you can get 75%
03:19 < Gracenotes> \o/
03:19 -!- maennj [n=maannj@pool-98-113-42-8.nycmny.fios.verizon.net] has quit []
03:19 < Gracenotes> with an exclusion clause
03:19 -!- XfactorX_ [n=XfactorX@88.224.34.253] has joined #go-nuts
03:19 < Gracenotes> :/ how would that even work
03:19 < ehird> How would what
03:19 < olegfink> night nuts.
03:19 < ehird> hey I'm eccentric, not a not!
03:19 < ehird> *nut
03:20 < olegfink> (timezones are a good thing: you know at least somewhere
there is night, even if here it's a morning)
03:20 -!- XfactorX_ [n=XfactorX@88.224.34.253] has quit [Client Quit]
03:20 < olegfink> ehird: well, you participate in #go-nuts
03:20 < ehird> oh, touché
03:21 -!- XfactorX_ [n=XfactorX@88.224.34.253] has joined #go-nuts
03:21 < ehird> didn't even notice that double entendre
03:21 < ehird> also, FRENCH PHRASE
03:21 < olegfink> if the channel name permits two readings, the ML name,
golang-nuts, does not ;-)
03:21 < ehird> golang sounds indian
03:21 < olegfink> there are 9fans, there are golang nuts.  :-)
03:21 < Gracenotes> #haskell has two readings: that of the Haskell
programming language, and that of the logician Haskell Curry!  ##java itself has a
hidden double meaning: that of coffee!1!!
03:22 < ehird> k fans are clearly kites, it's the most minimal extension of
k into a plural things.
03:22 < ehird> or something
03:22 < ehird> k-ites and kites
03:22 < ehird> #plan9 is a sci-fi channel!!i834273847535489
03:22 < ehird> four
03:22 -!- sm [n=sm@cpe-75-85-88-227.socal.res.rr.com] has joined #go-nuts
03:22 -!- nicholasweber [n=nicocin@c-24-126-50-50.hsd1.md.comcast.net] has left
#go-nuts []
03:22 -!- qbit_ [n=qbit_@c-75-71-160-106.hsd1.co.comcast.net] has quit ["Get
MacIrssi - http://www.sysctl.co.uk/projects/macirssi/"]
03:23 < klusark> im having a problem with go, http://pastebin.com/m19b92eb0
does not print anything
03:23 < klusark> am i doing it right?
03:23 -!- Null-A [n=jason@c-76-21-4-0.hsd1.ca.comcast.net] has quit []
03:25 -!- bri-flan7 [i=617aa0a8@gateway/web/freenode/x-zvbcunxcerrzoesd] has
joined #go-nuts
03:26 < ericmaxey> Does a slice's capacity ever get smaller, without
reallocating it?  I.e.  if I have a large slice, and set it to a small subset of
itself, will the rest possibly be deallocated?
03:26 -!- tedster [n=tedster@cpe-008051.dhcp008.wadsnet.net] has joined #go-nuts
03:26 < quag> klusark: how about adding an import "fmt"; and using
fmt.Println("Going");
03:26 < JBeshir> ericmaxey: I think you can make slices bigger again.
03:26 < quag> I think print() is an internal implementation detail thing.
03:26 < JBeshir> Using the capacity checking function to do so safely.
03:26 -!- dga [n=dga@dsl093-060-195.pit1.dsl.speakeasy.net] has quit ["leaving"]
03:27 -!- Null-A [n=jason@c-76-21-4-0.hsd1.ca.comcast.net] has joined #go-nuts
03:27 < dgnorton> is there a (safe) way to open a file and create a reader
on the same line?
03:27 < klusark> quag: it does nothing different
03:28 < ericmaxey> JBeshir: I'm worried about using too much memory though.
I might have to shrink slices myself, if the language doesn't do it for me.
03:28 < quag> heh, I'll try it :)
03:28 < bogen> klusark
03:28 < bogen> it is not context switching
03:28 < bogen> it needs to do I/O to context switch
03:28 < JBeshir> ericmaxey: Maybe.  It seems like the kind of thing that'd
be hard to do.
03:29 < jA_cOp> test.go:8: implicit assignment of irc.Client field
'callbacks'
03:29 < jA_cOp> What does this error mean?
03:29 < bogen> add a fmt.Println ("something"); to the empty for { }
03:29 < JBeshir> I mean, let's say you allocate 100 strings of 50
characters, then take a small, five character slice.
03:29 < JBeshir> (From each)
03:29 < ericmaxey> I'm looking at IntVector, and it looks like vectors will
take up as much memory as their "high water mark", and never shrink.
03:29 < JBeshir> You then have five bytes used out of every 50 (roughly,
UTF-8 and overhead and yadda yadda)
03:29 -!- kroot [n=locutus@of.the-b.org] has left #go-nuts []
03:30 < bogen> klusark: their might be a another way to force a context
switch
03:30 < JBeshir> And thus only 500 out of 5000 bytes used...  but no
continuous blocks bigger than 45 or so bytes to free.
03:30 < quag> klusark: doesn't print for me either :)
03:30 < JBeshir> It'd be neat if it can shrink.
03:30 -!- rot_ [i=death@59.93.8.248] has joined #go-nuts
03:30 < bogen> quag: yeah, you need to add something to make it switch
contexts
03:30 < klusark> bogen: when i add that, it prints going a few times, and
then constantly prints something
03:30 < quag> bogen: adding some chans now
03:30 -!- rot [i=death@59.93.35.182] has quit [Remote closed the connection]
03:31 < bogen> for me it alternates
03:31 < klusark> sometimes i see going printed
03:31 < klusark> but not that often
03:31 -!- keithpoole [n=keithpoo@cpc3-bagu8-0-0-cust84.bagu.cable.ntl.com] has
quit []
03:32 < bogen> klusark: yeah.  I don't know much how Go routines
03:32 < klusark> i dont either :P
03:32 < bogen> yours was first example I tried
03:32 -!- kernel_sanders [n=eugene@124-168-43-234.dyn.iinet.net.au] has joined
#go-nuts
03:32 < bogen> it does not appear to be preemptive
03:32 -!- XfactorX_ [n=XfactorX@88.224.34.253] has quit []
03:32 < klusark> if i take all the printing stuff out, only one core is ever
used
03:33 < quag> http://pastebin.com/m4a80e3b1
03:33 < bogen> when I first saw no output I suspected it was cooperative and
needed an I/O call to do a switch
03:33 < quag> klusark: that prints stuff out for me
03:33 < quag> klusark: how about you?
03:33 < ehird> is there a higher-resolution version of the logo?
03:33 < quag> bogen: klusark's code would work in the gccgo, but not in the
6g/8g.  Right?
03:33 -!- jjardon [n=torkiano@118.154.60.213.dynamic.mundo-r.com] has joined
#go-nuts
03:34 < quag> gccgo uses threads, where the other implementation uses
coroutines, right?
03:34 < bogen> I don't know.  I only use 6g
03:34 -!- Rob_Russell [n=chatzill@206-248-157-156.dsl.teksavvy.com] has quit
["ChatZilla 0.9.85 [Firefox 3.5.5/20091102152451]"]
03:34 < theshadow> http://pastebin.com/m57fff51a So can someone tell me what
I'm doing wrong?
03:34 < klusark> quag, that prints stuff
03:34 < bogen> have not downloaded or installed gccgo yet
03:34 < Gracenotes> hm.  is it so efficient to have a concurrent iterator by
cycling through a channel?
03:34 < klusark> im using 8g right now
03:34 -!- jtauber [n=jtauber@c-24-147-232-136.hsd1.ma.comcast.net] has joined
#go-nuts
03:34 < quag> klusark: me too
03:34 < quag> got it to crash yesterday :)
03:34 * bogen to lazy to make a PKGBUILD for gccgo
03:34 < Gracenotes> hm..  I see how this scales
03:35 < Gracenotes> *I'll
03:35 < Amaranth> theshadow: "./fibonacci"
03:36 < theshadow> Amaranth: you mean use that in the import?
03:36 < Amaranth> theshadow: right
03:36 < jtauber> what's an easy way to create a file writer so I can
fmt.Fprintf to a file?  is there one in the standard packages?
03:36 < Amaranth> theshadow: If you don't give a path it uses $GOROOT/pkg
03:36 < theshadow> I thought it checked the local directory for imports.
Did I miss that?
03:36 < quag> jtauber: os.Open?
03:36 -!- vegy [n=neki@we.will.never-be.afraid.org] has joined #go-nuts
03:38 < theshadow> Amaranth: alright so I changed it to "./fibonacci" and
I'm still getting the same error.
03:38 < jtauber> quag: let me try — was looking in packages other than os —
thanks
03:38 < Amaranth> JBeshir: It took mono years to get something like that and
go allows the use of pointers so you can't use a compacting gc anyway
03:38 -!- wobsite [n=wobsite_@140.232.183.141] has left #go-nuts ["Leaving"]
03:39 < Ibw> hmm, strings act like "arrays of bytes".  I wonder how
multibyte characters are handled...
03:39 -!- teedex [n=teedex@32.174.254.100] has joined #go-nuts
03:39 * sladegen pasted "Sleeping helps": http://paste.lisp.org/display/90365
03:39 < Amaranth> Well, since it doesn't allow pointer math I suppose you
could make it work
03:39 < jA_cOp> They're not, ibw
03:39 -!- catron [n=beta@ip68-97-61-240.ok.ok.cox.net] has quit [Read error: 54
(Connection reset by peer)]
03:39 < Ibw> jA_cOp: No multibyte characters in strings?
03:39 < Amaranth> Ibw: like multiple bytes :)
03:40 < Amaranth> Ibw: there is no "UTF-8 character" type or anything
03:40 -!- bmac7 [n=brianmac@c-98-208-175-116.hsd1.fl.comcast.net] has quit [Read
error: 110 (Connection timed out)]
03:40 < jA_cOp> ibw, sure you can have them, but they're not "handled"
03:40 < ericmaxey> is there a mutable string, or StringBuilder equivalent?
I'm building massive strings with +=, and it feels wrong.
03:40 -!- Futek [n=Futek@3505ds3-amb.0.fullrate.dk] has quit []
03:41 < Amaranth> You can have them and the everything should know how to
handle them but there is no special casing for them in the language itself
03:41 < quag> jtauber: http://pastebin.com/m701d7a22
03:41 -!- Shihan [n=pjr@203-214-12-122.dyn.iinet.net.au] has joined #go-nuts
03:41 < jtauber> quag: perfect, answers my next two questions :-)
03:41 < quag> jtauber: not entirely sure which of the os.O_ flags should be
used.
03:41 < quag> heh
03:42 < quag> jtauber: what were the questions?
03:42 -!- rhelmer [n=rhelmer@adsl-69-107-65-242.dsl.pltn13.pacbell.net] has quit
[]
03:42 < quag> also, not sure what the correct error handling style is
03:42 < quag> should probably check the standard libs for examples
03:42 -!- xkpe [n=xkpe@81.84.175.144] has joined #go-nuts
03:42 < jtauber> quag: how to handle the fact Open returns File and Error;
how to close (although I would have guessed the second)
03:43 -!- jadamcze_ [n=jadamcze@ppp59-167-65-109.lns20.hba1.internode.on.net] has
quit [Read error: 110 (Connection timed out)]
03:44 < jtauber> quag: I guess also how to handle the fact that the err much
be used
03:44 < Amaranth> yay forced error checking
03:44 -!- aartist [n=REENA@ool-44c51b5c.dyn.optonline.net] has quit [Read error:
104 (Connection reset by peer)]
03:45 < Amaranth> if err != nil { print("omg fail"); }
03:45 -!- Chandon [n=nat@pool-74-104-22-223.bstnma.east.verizon.net] has quit
["Leaving"]
03:45 < Amaranth> although I guess you shouldn't use print and you'll
probably want to exit
03:46 < bogen> building the gccgo src package now....
03:46 < JBeshir> Bleh, the memory bug didn't disappear to nothing.
03:47 * JBeshir leaves it alone for more time
03:47 -!- rhelmer [n=rhelmer@adsl-69-107-65-242.dsl.pltn13.pacbell.net] has joined
#go-nuts
03:47 -!- plainhao [n=plainhao@mail.xbiotica.com] has joined #go-nuts
03:47 < KirkMcDonald> Hmm.  If a struct has an anonymous field, then struct
literals for that struct can't directly mention the fields of the anonymous field.
03:48 -!- Ibw [n=isaac@cpe-67-241-42-134.twcny.res.rr.com] has quit [Remote closed
the connection]
03:48 < scandal> ericmaxey: you might be able to use StringVector, although
there is no 'join' op--you'd have to write that yourself
03:48 -!- quag_ [n=quag@121-98-81-61.bitstream.orcon.net.nz] has joined #go-nuts
03:48 < KirkMcDonald> That is: type A struct { X int; } type B struct { A; }
var b = B{X: 12} // an error
03:49 < Amaranth> scandal: Wouldn't fmt.Sprintf(mystring, "%v",
mystringvector) handle it?
03:50 < scandal> Amaranth: not sure, but that's something to try i guess.
depends on what the default separator is
03:51 < Amaranth> scandal: Looks like StringVector doesn't have a String
method though
03:51 -!- Dysiode [n=pakattac@66.129.59.88] has left #go-nuts []
03:51 < klusark> im getting the error "mmap: errno=0xc" when my program uses
1.8gb ram
03:53 < Amaranth> or maybe I just don't understand how %v works
03:53 < ehird> does the go mascot have a name?
03:53 < dho> http://codereview.appspot.com/154133
03:54 < scandal> Amaranth: yeah, its unclear whether or not "default format"
means calling .String()
03:54 < KirkMcDonald> Amaranth: The format string is the first argument to
Sprintf.
03:54 -!- quag [n=quag@121-98-81-61.bitstream.orcon.net.nz] has quit [Nick
collision from services.]
03:54 < dgnorton> go have the concept of for_each iteration of a vector?
03:54 -!- quag_ is now known as quag
03:54 < Amaranth> KirkMcDonald: actually the first argument is the string to
stuff the result into :)
03:54 < jA_cOp> Is there an example for interfacing with C somewhere?
03:55 < scandal> jA_cOp: misc/cgo/
03:55 < Amaranth> KirkMcDonald: but I meant "what does %v in the format
string do?"
03:55 < jA_cOp> thanks scandal
03:55 < KirkMcDonald> Amaranth: No. It returns that string.
03:55 < Amaranth> oops, I'm still thinking C :)
03:55 -!- felixc [n=felix@li46-216.members.linode.com] has joined #go-nuts
03:55 < Ycros> dgnorton: see the range clause for "for"
03:55 -!- teedex_ [n=teedex@166.191.131.23] has joined #go-nuts
03:55 -!- jh99 [n=jh99@e179069005.adsl.alicedsl.de] has left #go-nuts []
03:55 < jA_cOp> %v is probably just "value", because it just looks for a
String function and if it exists puts the result of it
03:56 < jA_cOp> so you can use it for any value
03:56 < dgnorton> Ycros, cannot range over zips (type *vector.Vector)
03:56 < Ycros> dgnorton: I think it will work anyway, I'm not quite sure how
range and iterators in go work
03:56 < Ycros> dgnorton: really?  which begs the question - what is
Vector.Iter for
03:57 < dgnorton> Ycros, I see an example of range over an array
03:57 < theshadow> Alright, I can't seem to figure this out.  How do you
define a function that accepts a func as a parameter?
03:58 < quag> Ooo didn't notice vector
03:58 < dgnorton> quag, there are several containers
03:59 < quag> dgnorton: heap, list, ring and vector?
04:00 < Amaranth> theshadow: type HandlerFunc func(*Conn, *Request)
04:00 < dgnorton> quag, yes
04:00 < Amaranth> theshadow: then just make your function take a HandlerFunc
type parameter
04:01 < Amaranth> theshadow: I suppose you could also do it without the
typedef but that just seems ugly
04:01 < scandal> &{{[hello world]}}
04:01 < scandal> well, that's not terribly useful :)
04:02 -!- ag90 [n=ag90@bas3-unionville55-1279752520.dsl.bell.ca] has quit []
04:02 -!- taof [n=user@129.133.142.254] has joined #go-nuts
04:03 -!- dacc [n=dacc@D-128-95-10-110.dhcp4.washington.edu] has quit ["Leaving."]
04:03 < dgnorton> Ycros, go/test/vectors.go ...  shows iterating with an
index ...  v.At(i)
04:03 < dgnorton> maybe that's the only way?
04:03 -!- felixc [n=felix@li46-216.members.linode.com] has left #go-nuts []
04:03 < Ycros> dgnorton: the comments on Vector's Iter method seem to
suggest otherwise
04:04 < Ycros> dgnorton: it clearly looks as if range operates on .Iter
04:04 < scandal> hrm, you can range over a channel right?  so you should be
able to do a .Iter()
04:04 < mjburgess> where does New() come from?  (as opposed to new())...
and what does it do?
04:05 < Ycros> ah, indeed, maybe you explicitly myVector.Iter()
04:05 < dgnorton> Ycros, tried that
04:06 < dgnorton> Ycros, "for zip := zips.Iter() {" ..  that's what I tried
04:06 < dgnorton> Ycros, "cannot use zip (type <-chan interface { }) as
type string" ...  is the error I got but strings are what I stored in the vector.
04:07 < dgnorton> Ycros, so i guess it "worked" but i'm not sure how to get
my string back out of it
04:07 < KirkMcDonald> dgnorton: Stick a 'range' in there?
04:07 < theshadow> Amaranth: wait...  I'm really confused here.  I'm trying
to do the exercise1 from the PDFs and it says to allow passing in their own
operation.  Doesn't that mean I'd have to do a typedef for each op and then modify
the function def?
04:08 * KirkMcDonald double-checks the for loop syntax.
04:08 < scandal> v := vector.NewStringVector(0); v.Push("hello");
v.Push("world"); for x := range v.Iter() { println(x) }
04:08 < dgnorton> KirkMcDonald, didn't work for me
04:08 < Amaranth> err, my chat client just completely broke
04:08 < Amaranth> brb
04:08 < dgnorton> scandal, trying...
04:08 -!- Amaranth [n=travis@ubuntu/member/Amaranth] has quit ["Ex-Chat"]
04:08 -!- jtauber [n=jtauber@c-24-147-232-136.hsd1.ma.comcast.net] has left
#go-nuts []
04:08 < ni|> has anyone tried this on the iPhone?
04:09 < ni|> I know it has been used on the android phone; however, I am
curious about iPhone and pre
04:09 < ni|> though i expect the palm pre to be a breeze since its just like
the droid at this level
04:10 < dgnorton> scandal, getting closer i think.  I get this compile error
"need type assertion to use interface { } as string"
04:10 < ehird> no osx/arm port atm
04:10 -!- kongtomorrow [n=kongtomo@17.246.210.87] has joined #go-nuts
04:10 < ni|> ehird: yes i've seen; however, i'm curious to see the amount of
required work
04:10 -!- mxcl [n=mxcl@94-193-125-246.zone7.bethere.co.uk] has quit [Remote closed
the connection]
04:11 < dgnorton> scandal, i get that error if I do fmt.Printf(x);
04:11 -!- mxcl [n=mxcl@94-193-125-246.zone7.bethere.co.uk] has joined #go-nuts
04:11 -!- m-takagi_ is now known as m-takagi
04:12 -!- mmcgovern [n=mmcgover@ool-45771952.dyn.optonline.net] has joined
#go-nuts
04:12 < scandal> dgnorton: i haven't yet figured out how to do conversions
04:13 -!- gr0gmint [n=gr0gmint@87.60.0.194] has quit ["leaving"]
04:13 < scandal> maybe look at what StringVector is doing on top of Vector?
04:13 < dgnorton> scandal, good idea
04:13 -!- ajray1 [n=alex@wvc32563rh.rh.ncsu.edu] has left #go-nuts []
04:13 < quag> scandal: from what I can tell, they look like function calls
04:14 < quag> int(f)
04:14 < quag> string(bytes)
04:14 < quag> rather than the c-style: (int)f and (string)bytes.
04:14 < quag> oh...  that should have been dgnorton: not scandal: :)
04:14 < scandal> quag: maybe i'm not using the proper term.  in this case we
want to go from interface{} to a type
04:15 < quag> ohhh
04:15 < Gracenotes> JBeshir: hey, I'm somewhat curious if I can make a
simplifying assumption regarding IRC parsing -- I'm rolling a hand-written one --
that before the start of a message (the ':'), all whitespace between words
consists of a single space (ASCII 32)
04:15 < quag> x.(typeName)
04:15 < dgnorton> scandal, quag, x.(string) ...  compiles
04:15 -!- taof [n=user@129.133.142.254] has left #go-nuts ["ERC Version 5.3 (IRC
client for Emacs)"]
04:15 < Gracenotes> if a message exists, that is
04:15 < Ycros> dgnorton: I'm getting a runtime error
04:15 < JBeshir> Gracenotes: It's not required, no.
04:15 < JBeshir> It's definitely not required post a final colon.
04:15 < JBeshir> As such.
04:16 < dgnorton> Ycros, so do i
04:16 < JBeshir> (Which would be receieved as :X!Y@Z PRIVMSG #go-nuts :As
such.)
04:16 < Ycros> dgnorton: I get "interface is nil, not int" (I'm using ints)
04:16 < Gracenotes> JBeshir: I mean, excluding everything past a final colon
in a PRIVMSG or KICK or the like, ircds keep one space between the tokens
04:17 < JBeshir> Gracenotes: Good question.  I wouldn't count on it, but I'd
be surprised if an implementation didn't.
04:17 < Gracenotes> as opposed to !info PRIVMSG #go-nuts :this can be
whatever
04:17 < Gracenotes> it would be an unfortunate waste of space
04:17 < Gracenotes> but not counting on things is a good strategy :)
04:17 < JBeshir> It'd be pretty pointless.
04:17 < JBeshir> I know it is not guaranteed in client-to-server messages
04:17 < JBeshir> And the server must deal with it
04:17 < JBeshir> Whether it's safe for the client to assume the server is
more sensible than the clients can be is another matter.
04:18 < Gracenotes> I'm just asking because there's not really any clean way
to split on multiple spaces in Go. yet.
04:18 -!- teedex [n=teedex@32.174.254.100] has quit [Read error: 110 (Connection
timed out)]
04:18 < Gracenotes> equivalent to, say, words in Haskell or
String.split("\\s+") in Java
04:18 < JBeshir> I would hazard a guess that all implementations I know and
logically, any sane implementation would work, and I think the RFC is on your
side.  Probabably.
04:18 < Gracenotes> I should probably just roll my own
04:18 < JBeshir> So...  you can go with it until something break.s
04:19 < JBeshir> IF something breaks.
04:19 < dgnorton> Ycros, not having any luck with it either
04:19 < Ycros> I'd post the colon, some IRCDs don't like it when you leave
it out
04:19 < Ycros> dgnorton: same sort of error?
04:20 -!- igors [n=igors@189.71.53.230] has joined #go-nuts
04:21 < Gracenotes> this is just parsing.  as for output, just do what a
client should do :)
04:21 < jA_cOp> I keep getting "gcc produced no output" when I try to make a
simple cgo project, anyone have any experience with this?  I pretty much just
copied and edited the stdio example
04:21 < JBeshir> For output, yes, where defined.
04:21 -!- Spaghettini [n=Spaghett@vaxjo6.150.cust.blixtvik.net] has joined
#go-nuts
04:21 < dgnorton> Ycros, yes
04:21 < JBeshir> If you leave it off PRIVMSG, some IRCDs will work, but
others -including major ones- will not.
04:22 < Gracenotes> I'm not sure why you'd leave out the colon.  especially
after you go through the process of explicit parsing it...
04:22 < Ycros> dgnorton: wonder where the bug lies - I mean the error comes
up from within vector
04:22 < Gracenotes> process of implementing an explicit parser, at least
04:23 < dgnorton> Ycros, i have no clue about channels yet but looks like
that has something to do with it
04:25 -!- halfdan_ [n=halfdan@p57A9705C.dip.t-dialin.net] has joined #go-nuts
04:25 -!- teedex_ [n=teedex@166.191.131.23] has quit [Remote closed the
connection]
04:26 < segoe> are there any papers or notes on how where the goroutines
implemented?
04:29 < quag> segoe: the goroutines and segmented stacks sound similar to
what is used in the Io language.
04:29 -!- delza [n=delza@d66-183-63-49.bchsia.telus.net] has joined #go-nuts
04:29 < quag> and made available as a separate library:
http://www.dekorte.com/projects/opensource/libCoroutine/
04:29 -!- crooter [n=crooter@adsl-69-209-124-89.dsl.klmzmi.ameritech.net] has
joined #go-nuts
04:30 < segoe> mmm, thanks, i would be more interested in a high level
description on the concept, but that will surely help :)
04:32 -!- fhs [n=fhs@pool-72-89-195-252.nycmny.east.verizon.net] has joined
#go-nuts
04:32 -!- chid [n=dorl@122.106.95.175] has joined #go-nuts
04:34 -!- purefusion [n=purefusi@cblmdm24-53-171-140.buckeyecom.net] has joined
#go-nuts
04:34 < purefusion> hehe, brilliant
04:34 -!- onLyabit [n=onLyabit@unaffiliated/onlyabit] has joined #go-nuts
04:36 -!- michaelh [n=mux@66-169-117-157.dhcp.ftwo.tx.charter.com] has joined
#go-nuts
04:38 -!- Amaranth [n=travis@ubuntu/member/Amaranth] has joined #go-nuts
04:38 -!- halfdan [n=halfdan@p57A94147.dip.t-dialin.net] has quit [Read error: 110
(Connection timed out)]
04:38 -!- mejja [n=user@c-49b6e555.023-82-73746f38.cust.bredbandsbolaget.se] has
quit [Remote closed the connection]
04:40 -!- hipe [n=hipe@pool-74-108-83-4.nycmny.east.verizon.net] has joined
#go-nuts
04:40 -!- hennie [n=user@c-98-220-219-111.hsd1.in.comcast.net] has joined #go-nuts
04:41 -!- rockon [n=robert@s66-76-56-215.parscmta01.parstx.tl.sta.suddenlink.net]
has quit [Read error: 110 (Connection timed out)]
04:43 -!- bri-flan7 [i=617aa0a8@gateway/web/freenode/x-zvbcunxcerrzoesd] has quit
["Page closed"]
04:44 -!- loureiro [n=loureiro@201008202120.user.veloxzone.com.br] has quit
["Quit"]
04:44 -!- ArekZB
[n=ArekZB@CPE0013f7bcc78a-CM0013f7bcc786.cpe.net.cable.rogers.com] has joined
#go-nuts
04:44 -!- rhelmer [n=rhelmer@adsl-69-107-65-242.dsl.pltn13.pacbell.net] has quit
[]
04:44 < dho> sweet
04:44 -!- crooter [n=crooter@adsl-69-209-124-89.dsl.klmzmi.ameritech.net] has quit
[]
04:44 < reppie> sweet
04:45 < dho> reppie: fixed the lock panic but now I'm getting a bad syscall
:)
04:45 -!- kirankumar_ [n=chatzill@58.108.189.47] has joined #go-nuts
04:45 -!- kernel_sanders [n=eugene@124-168-43-234.dyn.iinet.net.au] has quit ["Get
MacIrssi - http://www.sysctl.co.uk/projects/macirssi/"]
04:45 -!- rhelmer [n=rhelmer@adsl-69-107-65-242.dsl.pltn13.pacbell.net] has joined
#go-nuts
04:45 < reppie> :)
04:46 -!- ArekZB_ [n=ArekZB@76.10.138.81] has joined #go-nuts
04:47 -!- ArekZB_ [n=ArekZB@76.10.138.81] has quit [Client Quit]
04:48 < dho> 22989 6.out RET write -1 errno 78 Function not implemented
04:48 < dho> lolwut
04:50 -!- onLyabit [n=onLyabit@unaffiliated/onlyabit] has quit ["Leaving"]
04:52 -!- jabb [n=grue@71.94.31.166] has joined #go-nuts
04:52 < dgnorton> anyone know how to create a plain vector, push some
strings, and then iterate the vector and print the strings?
04:53 < jabb> an error I get when trying to wrap SDL: 'dwarf.Type struct
private_hwdata reports unknown size'
04:55 < ehird> "So, to get back to the point: Go vs Algol-68.  TBH, I think
the 41-year-old language is richer, clearer and more expressive." Them's fightin'
words.
04:55 -!- crakrjak [n=merc@rrcs-70-62-156-154.central.biz.rr.com] has joined
#go-nuts
04:56 -!- cmarcelo [n=cmarcelo@enlightenment/developer/cmarcelo] has quit [Remote
closed the connection]
04:57 < jabb> any ideas?
04:57 -!- xk0der [n=xk0der@122.171.5.157] has quit [Read error: 110 (Connection
timed out)]
04:57 -!- proszbje1 [n=raulgrel@81.84.215.230] has joined #go-nuts
04:59 -!- triplez [n=triplez@124.155.195.7] has quit []
04:59 -!- Adys [n=Adys@unaffiliated/adys] has quit [Read error: 60 (Operation
timed out)]
04:59 -!- lilpenguina [n=penguina@69.226.228.130] has quit ["Leaving."]
05:00 < sfuentes> can someone help me out with this toy program:
http://pastie.org/698362
05:00 < sfuentes> not sure what the syntax error is
05:02 < Ycros> sfuentes: remove the else { around the return in the fact
function
05:02 -!- rhelmer [n=rhelmer@adsl-69-107-65-242.dsl.pltn13.pacbell.net] has quit
[]
05:03 -!- jordan_ [n=jordan@207-180-140-97.c3-0.wth-ubr1.sbo-wth.ma.cable.rcn.com]
has joined #go-nuts
05:03 < sfuentes> Ycros: still won't compile
05:03 < dgnorton> i'll have to say, i haven't struggled this much with a new
language in...forever?
05:03 -!- kirankumar_ [n=chatzill@58.108.189.47] has left #go-nuts []
05:04 < KirkMcDonald> sfuentes: A function declaration is not a statement.
05:04 < KirkMcDonald> sfuentes: You need to assign a function literal to a
variable.
05:05 -!- vpit3833 [n=user@58.108.189.47] has left #go-nuts ["ERC Version 5.3 (IRC
client for Emacs)"]
05:05 < Gracenotes> is it just me, or is the expression
"vector.NewStringVector(10).Data()" failing miserably, throwing an interface
conversion exception?
05:05 < Gracenotes> vector being "container/vector
05:05 -!- kongtomorrow [n=kongtomo@17.246.210.87] has quit []
05:05 < Gracenotes> "
05:05 < KirkMcDonald> sfuentes: http://paste.pocoo.org/show/150540/
05:06 -!- stivioo [n=stephen@201.226.140.46] has quit ["Leaving"]
05:06 < Gracenotes> it looks pretty innocuous to me, too:
http://golang.org/src/pkg/container/vector/stringvector.go#L38
05:06 -!- rhelmer [n=rhelmer@adsl-69-107-65-242.dsl.pltn13.pacbell.net] has joined
#go-nuts
05:06 -!- jh99 [n=jh99@e179069005.adsl.alicedsl.de] has joined #go-nuts
05:06 < scandal> dgnorton: v := vector.New(0); v.Push("hello");
v.Push("world"); for x := range v.Iter() { println(x.(string)) }
05:06 -!- ArekZB
[n=ArekZB@CPE0013f7bcc78a-CM0013f7bcc786.cpe.net.cable.rogers.com] has quit [Read
error: 110 (Connection timed out)]
05:06 -!- hennie [n=user@c-98-220-219-111.hsd1.in.comcast.net] has quit ["ERC
Version 5.3 (IRC client for Emacs)"]
05:06 < Ycros> dgnorton: oh, you're still stuck on the vector thing, eh
05:06 < KirkMcDonald> (As to why a function declaration can't be used as a
statement, I do not know.)
05:07 < Gracenotes> a StringVector in particular, for me
05:07 < sfuentes> KirkMcDonald: makes sense.  thank you.
05:07 < KirkMcDonald> (Other than it is documented behavior.)
05:07 < dgnorton> Ycros, yes
05:07 < Gracenotes> oh, heh.  we seem to have a similar problem..  I was
wondering why you were giving a Vector example
05:07 < Ycros> scandal: and does that code actually work for you?
05:07 < scandal> Ycros: yup
05:07 < sfuentes> so declerations cann only occurr at the highest level?
05:07 < Gracenotes> scandal: is the expression
"vector.NewStringVector(10).Data()" (of type []string) working for you as well?
05:08 < Ycros> ooo, I think I found the problem
05:08 < Ycros> dgnorton: how are you initialising/creating your vector
05:08 -!- bishop [n=bishop@cpe-67-49-180-68.hawaii.res.rr.com] has joined #go-nuts
05:08 -!- jordan_ [n=jordan@207-180-140-97.c3-0.wth-ubr1.sbo-wth.ma.cable.rcn.com]
has quit ["Leaving"]
05:09 < scandal> Gracenotes: i believe that will fail because you have not
initialized the slots with values
05:09 < KirkMcDonald> sfuentes: Certain declarations can only occur at the
top level.
05:09 < KirkMcDonald> sfuentes:
http://golang.org/doc/go_spec.html#Declaration
05:09 < Gracenotes> eh?  it doesn't keep track of its capability...?  ...
it looks like such a field doesn't exist.
05:09 < KirkMcDonald> sfuentes: Specifically function and method
declarations.
05:09 < Gracenotes> that is quite unfortunate, since binary resizing isn't
so efficient if you have to grow it from 0, but to a low amount
05:10 < Ycros> Gracenotes: yeah, I thought the value you passed in was
capability
05:10 < Ycros> Gracenotes: but it seems to be actual length
05:10 < dgnorton> Ycros, zips := vector.New(45000);
05:10 < scandal> Gracenotes: i agree, i ran into that issue yesterday.
there is no distinction between size and capability with vectors
05:10 < Ycros> dgnorton: pass 0 in
05:10 < dho> !!!!!!!!!!!!!!!!!!!!!!!
05:10 < dho> > ~/6.out
05:10 < dho> Hello world
05:10 < dho> that's with fmt.Printf!
05:10 < Ycros> scandal: it's silly, you should be passing the capability in
05:10 < dgnorton> Ycros, why?
05:10 < quag> dho: victory!
05:10 * dho \m/
05:10 < Ycros> dgnorton: because it will work
05:10 < dho> christ almighty
05:11 < Ycros> dgnorton: see the discussion we're having
05:11 < scandal> Ycros: i think it is ok as long as you don't invoke the
.Data() method?
05:11 < Gracenotes> perhaps I should just keep track of the index
05:11 < quag> dho: what next?
05:11 < Ycros> scandal: well iteration certainly breaks
05:12 < dho> more shit in test
05:12 < Gracenotes> or iterate until I see a nil in the code that uses it
05:12 < dho> i have the assembler for sigaction just doing RET right now
05:12 < dho> so i'm assuming the coroutines won't work
05:13 < Ycros> I think it's broken that vector creates nil entries.  This
behaviour is especially broken for IntVector
05:13 -!- hipe [n=hipe@pool-74-108-83-4.nycmny.east.verizon.net] has quit [Read
error: 104 (Connection reset by peer)]
05:13 -!- m-takagi is now known as m-takagi_
05:13 -!- hipe [n=hipe@pool-74-108-83-4.nycmny.east.verizon.net] has joined
#go-nuts
05:13 < scandal> Ycros: this seems to work v := vector.New(2); v.Set(0,
"hello"); v.Set(1, "world"); for x := range v.Iter() { println(x.(string)) }
05:14 < scandal> so you can prealloc so long as you initialize every slot
05:14 -!- kill-9_ [n=kill-9@cpe-65-24-145-70.columbus.res.rr.com] has quit [Read
error: 110 (Connection timed out)]
05:14 < Ycros> scandal: yeah.
05:15 < Ycros> scandal: I've just never seen a vector implementation that
behaves in this way
05:15 < dgnorton> Ycros, scandal, thanks.  That was not obvious to me.
Doesn't seem intuitive but I guess that's because I'm use to C++
05:15 -!- no_mind [n=orion@122.177.51.74] has quit [Read error: 60 (Operation
timed out)]
05:16 < scandal> dgnorton: fwiw, i expected the same behavior as you were :)
05:16 < Ycros> all three of us expected the same behaviour
05:16 < Ycros> four if you count Gracenotes
05:16 -!- proszbje1 [n=raulgrel@81.84.215.230] has quit [Read error: 104
(Connection reset by peer)]
05:16 -!- mjard [n=k@70.114.138.168] has joined #go-nuts
05:16 < Ycros> maybe the implementation should be changed to our initial
expectations?
05:17 < Ycros> I suspect others will run into the same thing
05:17 -!- proszbje [n=raulgrel@81.84.215.230] has joined #go-nuts
05:17 < dgnorton> Ycros, it would at least be interesting to know the
reasoning behind it being the way it is.
05:17 < scandal> Either that, or there needs to be a VectorSlice type :)
05:17 < Ycros> indeed
05:17 -!- Arhuaco [n=n@186.80.240.243] has joined #go-nuts
05:18 < dgnorton> scandal, i thought the same thing earlier but didn't go
looking for one
05:18 < Ycros> you should be able to explicity set the capacity at the
constructor/initialiser anyway
05:18 < Gracenotes> you can make slices of vectors
05:18 < dgnorton> Gracenotes, how?
05:18 < Gracenotes> but if you don't know the logical size, that won't
provide you too many abstractions
05:18 < Ycros> ie.  if you know vaguely how amyn elements you're going to
have
05:19 < Gracenotes> for the generic one, func (p *Vector) Slice(i, j int)
*Vector
05:19 < scandal> Gracenotes: well, i'm talking about in the "go" sense of a
slice where it refers to a portion of some other container
05:19 < Gracenotes> backed by the one whose method you're calling
05:19 < scandal> Slice returns a new Vector by slicing the old one to
extract slice [i:j].  The elements are copied.  The original vector is unchanged.
05:19 < scandal> not quite the same thing
05:21 < Gracenotes> mm, in implementation
05:21 < dgnorton> wonder how fast the go xml parser is.  I've read that the
tango xml parser for D is the fastest and the speed was attributed to D's array
slicing.
05:21 -!- JordanG [n=jordan@207-180-140-97.c3-0.wth-ubr1.sbo-wth.ma.cable.rcn.com]
has quit [Read error: 110 (Connection timed out)]
05:22 < dho> ...
05:22 < dho> 0 known bugs; 4 unexpected bugs; test output differs
05:22 -!- rot_ [i=death@59.93.8.248] has quit [Read error: 104 (Connection reset
by peer)]
05:23 -!- rot [i=death@59.93.8.248] has joined #go-nuts
05:24 < Gracenotes> hm, so now I'm ending up having 3 return values
05:24 < Gracenotes> I wonder how many until it gets prohibitively
inefficient :)
05:24 -!- wcn [n=wcn@ip68-3-237-83.ph.ph.cox.net] has joined #go-nuts
05:24 < Ycros> you mean, how many until you need a struct :)
05:25 < Gracenotes> true.  in fact, StringVector is a struct.  I should just
use my own auto-growing array, where I can keep track of the logical size..
05:25 -!- mac2 [n=whatever@c-67-164-29-94.hsd1.ca.comcast.net] has joined #go-nuts
05:26 -!- glewis [n=chatzill@cpe-98-154-103-91.socal.res.rr.com] has joined
#go-nuts
05:26 -!- mmcgovern [n=mmcgover@ool-45771952.dyn.optonline.net] has quit [Read
error: 110 (Connection timed out)]
05:26 < KirkMcDonald> Don't slices already provide all of the data needed to
implement a vector?
05:27 < quag> woohoo.  First app.  Fetches internet connection stats from
ISP, displays them and shows how many GB remain and how many GB per day.
05:27 < Gracenotes> you could easily export a (properly implemented) Vector
as an array slice.  For the growability itself...  not so good
05:27 < quag> Simple, but does http fetch and xml parsing.
05:27 < quag> would have been somewhat more difficult in C :)
05:28 < quag> shame the executable is 1.1M
05:28 < KirkMcDonald> Just write a function: func Append(a *[]int, val int)
05:28 < Ycros> does Go have the concept of weak references?
05:28 < KirkMcDonald> Or alternatively: func Append(a []int, val int) []int
05:28 < Ycros> or at least weak pointers
05:29 < Gracenotes> KirkMcDonald: how do you get the indices and underlying
array from a slice?
05:29 < KirkMcDonald> Gracenotes: cap(slice) gets the capacity of the
underlying array.
05:30 -!- no_mind [n=orion@122.161.255.103] has joined #go-nuts
05:30 < KirkMcDonald> Gracenotes: And len(slice) gets the length of the
slice.
05:30 < me__> Ycros: no
05:30 -!- SDR00 [n=chatzill@katy-dsl-76-164-127-169.consolidated.net] has joined
#go-nuts
05:31 < Ycros> me__: hmm, it'd be a a nice to have feature
05:31 < Gracenotes> hm.  I suppose you don't need to allocate anything on
the heap for the new slice if you reassign it.  still.
05:31 < dho> me__:
05:31 < dho> 0 known bugs; 4 unexpected bugs; test output differs
05:31 < dho> :D
05:31 < Gracenotes> I'd rather not make the GC deal with that
05:31 < Gracenotes> *think*
05:31 < me__> dho: nice!
05:32 < me__> Ycros: agreed, i asked about it yesterday too :)
05:32 < Ycros> Gracenotes: if we had weak references - we could do it
05:32 < quag> weak pointers seems to be important when a gc is used
05:32 < Gracenotes> uh.  sure.
05:32 < Gracenotes> :|
05:32 < me__> dho: that was really fast.
05:32 < quag> otherwise it is difficult to do least recently used caches
05:32 < dho> me__: it's still not done
05:32 < dho> but it's something
05:32 < Ycros> Gracenotes: the vector could hold weak pointers to all the
slices - so if the vector's internal array gets recreated, you can update all the
slices.  But they still get GCd
05:33 < me__> sure, its getting there.
05:33 < glewis> It was my understanding that const's could be any size...
but I get the error: "e003.go:14: constant 600851475143 overflows int"...  I wrote
"const goal = 600851475143"...  any ideas what I'm doing wrong?
05:33 < Ycros> Gracenotes: but we don't have weak pointers :P
05:33 < Gracenotes> it might just be, but when I think array-based vector I
think "absolutely minimum amount of overhead as possible for reasonable
functionality"
05:33 < Gracenotes> *be me.  and that idea..  well..
05:34 < SDR00> i'm having an issue with installation ....  --- FAIL:
path.TestWalk
05:34 < KirkMcDonald> glewis: And how are you using the constant?
05:34 < glewis> newGoal := goal;
05:34 < KirkMcDonald> glewis: Well, there you go.
05:34 < Ycros> Gracenotes: anyway, what's the stdlib Vector not doing for
you?
05:34 < Gracenotes> well, 600851475143 *can't* fit in a 32-bit int
05:34 < Gracenotes> Ycros: try executing the expression
vector.NewStringVector(10).Data()
05:35 < Gracenotes> fails with casting-from-nil exception
05:35 < dho> me__: syscall interface is totally different on i386
05:35 < dho> (it doesn't pass args in registers)
05:35 < Ycros> Gracenotes: yes, we discussed this before.  Don't create it
with 10, create it with 0
05:35 < dho> going to need to install a freebsd-i386 machine
05:36 < dho> anybody here familiar with google code review?
05:36 < glewis> oh!  I thought it would figure out the type (maybe a uint64
would be appropriate) whenever I use the ":=" assignment?
05:36 -!- segoe [i=3e164621@gateway/web/freenode/x-lxuwkspxqeyldtwx] has quit
["Page closed"]
05:36 < me__> dho: yep, its nicer i think.
05:36 -!- diltsman__ [n=diltsman@64.122.18.77] has joined #go-nuts
05:36 < Gracenotes> Ycros: is only does binary resizing
05:37 -!- diltsman_ [n=diltsman@64.122.18.77] has quit [Read error: 113 (No route
to host)]
05:37 -!- Kniht [n=kniht@c-68-58-17-177.hsd1.in.comcast.net] has joined #go-nuts
05:37 < Gracenotes> that is prohibitively expensive if I only plan to fill
it with 5 or 6 elements most of the time, but occasionally 20 or 50
05:37 < dho> me__: How do I update an issue?
05:37 < Gracenotes> and even resizing adds extra nils
05:38 < Gracenotes> the problem is that StringVector's Data() doesn't like
that
05:38 < Ycros> Gracenotes: because you're resizing the length, not the
capacity
05:38 < dho> -i it looks like
05:38 < Ycros> Gracenotes: just like you're passing the length into the
constructor, not the capacity
05:38 < Gracenotes> well, tell me how to resize the capacity
05:38 < Ycros> Gracenotes: that's why you get all the nils
05:38 -!- rhelmer_ [n=rhelmer@adsl-69-107-65-242.dsl.pltn13.pacbell.net] has
joined #go-nuts
05:38 < Ycros> Gracenotes: you can'
05:38 < Gracenotes> (hint: there isn't one)
05:38 < Ycros> t
05:38 -!- rhelmer [n=rhelmer@adsl-69-107-65-242.dsl.pltn13.pacbell.net] has quit
[Read error: 113 (No route to host)]
05:38 -!- rhelmer_ is now known as rhelmer
05:38 < Gracenotes> that is the implicit problem.  which apparently has been
a frequent topic of discussion
05:39 < ehird> everyone's almost equally a noob at this point, fun isn't it
:)
05:39 < dho> hm, no
05:39 < Ycros> Gracenotes: yeah, it should be fixed
05:39 -!- bmac7 [n=brianmac@98.208.175.116] has joined #go-nuts
05:39 < Ycros> Gracenotes: I think you could copy vector.go and fix it for
yourself, rather than writing a whole new implementation
05:39 < Gracenotes> the problem isn't in vector.go, other than the lack of a
capacity.  uh.
05:40 < Gracenotes> maybe that'd fix it
05:40 < Ycros> Gracenotes: yes
05:40 < dho> ah, hg upload
05:40 < Gracenotes> the specific type instances would have to be patched as
well
05:40 -!- mbuf [n=mbuf@118.102.130.6] has joined #go-nuts
05:40 -!- rhelmer [n=rhelmer@adsl-69-107-65-242.dsl.pltn13.pacbell.net] has quit
[Read error: 54 (Connection reset by peer)]
05:40 < Ycros> Gracenotes: sure, if you use them.  Though they're just
wrappers
05:40 < Ycros> Gracenotes: I'd love generics
05:41 -!- rhelmer [n=rhelmer@adsl-69-107-65-242.dsl.pltn13.pacbell.net] has joined
#go-nuts
05:41 -!- kongtomorrow [n=kongtomo@ppp-67-124-88-199.dsl.pltn13.pacbell.net] has
joined #go-nuts
05:41 < Gracenotes> would be nice.  but, the thing is, I suppose you don't
just want to throw something together randomly
05:41 -!- nuvem [n=nu@CPE0019b92225c9-CM00195edd2c24.cpe.net.cable.rogers.com] has
joined #go-nuts
05:41 < ehird> add generics of some sort so that it's not just a hack for
builtins, fix the some-builtins-have-exceptions-but-you-can't-har-har stuff, and
replace the iota hack and go is pretty close to perfect
05:42 < Gracenotes> both the C++ approach of just compiling everything over
for each type substitution, and the Java approach of a hella boxing, are extremes
that the implementors seem to want to avoid
05:42 -!- hiromtz [n=hiromtz@h206.p027.iij4u.or.jp] has quit [Read error: 110
(Connection timed out)]
05:43 < Gracenotes> well.  not sure if they explicitly mentioned the first
one, but is that real genericness anyway?  it has some problems that seem
incompatible with the Go compiling/linking process...  so...  </conjecture>
05:43 < Ycros> ehird: agreed
05:43 -!- mac5 [n=whatever@c-67-164-29-94.hsd1.ca.comcast.net] has joined #go-nuts
05:43 -!- hipe [n=hipe@pool-74-108-83-4.nycmny.east.verizon.net] has quit [Remote
closed the connection]
05:43 < jessta> ehird: builtins have exceptions?  I don't think they do
05:43 < ehird> i think the solution to the builtins-have-exceptions thing is
just to make them return an additional error code
05:44 < Gracenotes> iota can be convenient.
05:44 < ehird> that you can ignore by assigning to _ if you want to
05:44 < Ycros> ehird: I think the indexer syntax for generics is nice
(though map should possibly be: map[foo, bar])
05:44 < Gracenotes> from my one use of it.  lol.
05:44 < ehird> jessta:
http://scienceblogs.com/goodmath/2009/11/googles_new_language_go.php explains it
better
05:44 < ehird> Gracenotes: No doubt iota is convenient, but it's so.  ugly.
05:44 < dho> sleep
05:44 < ehird> I mean, it's the only part of Go I actually consider
repulsive.
05:44 < dho> me__: http://codereview.appspot.com/152138
05:44 < jessta> ehird: yeah, I read that and didn't get what he was talking
about, they just seem to be returning an error code
05:45 < ehird> jessta: hmm, okay then
05:45 < ehird> jessta: only two things need to be done then!
05:45 < ehird> opening up generics is a no brainer and surely will be done
since map does it
05:45 < ehird> replacing iota is quite minor, thankfully
05:45 < me__> dho: nice.
05:45 < ehird> so...  yeah, map is pretty kick ass.
05:45 < ehird> erm
05:45 < ehird> so...  yeah, go is pretty kick ass.
05:45 < Ycros> ehird: the tricky part is correctly doing constraints for
generics
05:45 < me__> dho: we should probably at least share libmach/<> for
now, no?
05:46 < ehird> just use haskell's type system in the backend :D
05:46 < dho> ok
05:46 < dho> i don't know if that's correct
05:46 < ehird> Ycros: but seriously, one option is to just...  not do them
05:46 < dho> dynamic linking is still broken
05:46 < jessta> ehird: iota is nice, give you arbitaryly complex enmums
05:46 < ehird> every generic can take any type you give it to, that's it
05:46 < dho> and you will want my build changes
05:46 < Ycros> ehird: that's true.
05:46 < me__> okay, i'll get them.  what did you change?
05:46 < me__> (in building?)
05:46 < dho> they're less hackish than s/make/gmake/
05:46 < ehird> jessta: absolutely, its results are great — but the actual
mechanics of it are bad
05:47 < me__> haha okay.
05:47 < dho> add a `sanemake' (a la quietgcc)
05:47 < ehird> I'd prefer some sort of "expression pattern" facility you can
apply over iota
05:47 < jessta> ehird: how would you do it?
05:47 < ehird> jessta: I don't know
05:47 < dho> and /usr/bin/env bash instead of /bin/bash
05:47 < ehird> I wouldn't do iota, though
05:47 < ehird> A value that changes when you access it is just wrong...
breaks expectations like nothing else.
05:47 -!- diltsman__ [n=diltsman@64.122.18.77] has quit []
05:48 -!- interskh [n=interskh@c-67-163-156-103.hsd1.pa.comcast.net] has joined
#go-nuts
05:48 < jessta> ehird: but it's not a variable, it's a completely different
construct
05:48 < ehird> it looks like a variable and when you use it it acts like a
variable.
05:48 -!- diltsman [n=diltsman@64.122.18.77] has joined #go-nuts
05:48 < ehird> the only problem is that every time you look at this duck, it
changes colour.
05:49 < jessta> enum{pizza=1,pie,cheese,chicken} <- enums where things
get values for no obvious reason
05:49 < Gracenotes> hah.  more StringVector fun: taking a slice of it
doesn't change anything, because they're both still accessing the same Vector, and
iterating through all of it
05:49 < Gracenotes> unless you take a Slice(0, 0), which averts the problem
but is kind of not-so-usefull
05:49 -!- wcn_ [n=wcn@216.239.45.130] has joined #go-nuts
05:50 < zeebo-> can someone explain type assertions to me?
05:50 < zeebo-> a simple example would work
05:50 < ehird> jessta: if it looke dmore like
05:50 < ehird> KB ByteSize { 1<<(10*_) };
05:50 < ehird> i'd be fine
05:50 < ehird> the _, and the {...}, clearly show this isn't just a simple
assignment involving a variable
05:50 < ehird> *looked more
05:50 < jessta> ehird: it's only in const scope and the behavoiur is obvious
after using it once
05:50 < ehird> yes.  it's still ugly
05:51 < Gracenotes> http://golang.org/doc/go_spec.html#Type_assertions <-
from the specs
05:51 < jessta> ehird: if you want enum beahviour you need something that
increments
05:51 < glewis> cd ~/go/doc/progs ; 8g cat.go => "cat.go:8: fatal error:
can't find import: ./file" ...  8g -I.  cat.go does the same thing.  How to fix?
05:51 -!- diltsman [n=diltsman@64.122.18.77] has quit [Client Quit]
05:52 < jessta> ehird: so you either have a bunch of extra typing where you
increament it manually, which you might forget to do causing weird bugs
05:52 < ehird> jessta: yes, but not something that otherwise acts like a
variable and creeps strangeness into otherwise mundane assignmented
05:52 < ehird> *assignments
05:52 < Gracenotes> one type assertion that is causing people pain is
"arr[i] = v.(string)", where arr is an array of strings, and v is an interface{}
(like void*, exists a.  a).  There is a possibility for v to be null, which causes
things to throw a builtin exception
05:52 < dho> yeah so
05:52 < dho> i'm happy with this so far
05:52 < ehird> just change the syntax from KB ByteSize = 1<<(10*iota)
to KB ByteSize = 1<<(10*_) and I'd be fine
05:52 < Gracenotes> *nil
05:52 < dho> good night all
05:52 < ehird> even happier with KB ByteSize { 1<<(10*_) }
05:53 < KirkMcDonald> Gracenotes: So check for an error.
05:53 < ehird> oh, of course; generics should be able to restrict the type
they get based on type assertions
05:53 < jessta> ehird: if looks like a function in C and nobody complains
05:53 < ehird> well that solves that problem
05:53 < ehird> jessta: iota() would also be fine ofc
05:53 < Gracenotes> KirkMcDonald: that would be nice, were it not in the
stdlib
05:53 < Gracenotes> I'm just going with my own atm
05:53 < KirkMcDonald> Gracenotes: Ah.
05:54 -!- danopia` [n=danopia@fullcirclemagazine/developer/danopia] has quit
[Remote closed the connection]
05:55 < jessta> ehird: but then you can't increment it manually
05:55 < ehird> jessta: what do you mean?
05:55 < jessta> ehird: you can increment itoa yourself
05:56 < ehird> jesus christ!  well then that's a clear advantage to mine.
05:56 < jessta> it increments with every ; but also you can increment it
05:56 < zeebo-> Gracenotes: yeah the specs didn't really make it clear to me
but i think thats because i was confusing my idea of types
05:57 < ehird> jessta: that's also confusing to me — I expect it to increase
on every mention
05:57 -!- msingle [n=Matt@pool-71-241-35-143.nrflva.east.verizon.net] has joined
#go-nuts
05:57 -!- mac2 [n=whatever@c-67-164-29-94.hsd1.ca.comcast.net] has quit
[Connection timed out]
05:57 -!- wcn [n=wcn@ip68-3-237-83.ph.ph.cox.net] has quit [Read error: 60
(Operation timed out)]
05:57 -!- wcn_ is now known as wcn
05:59 < scandal> ugh, seems the upper bound in a slice is required?  so you
can' do arr[4:]
05:59 < scandal> seems silly the length is part of the type
06:00 -!- lenst [n=user@90-229-131-67-no52.tbcn.telia.com] has joined #go-nuts
06:00 < ehird> quick, someone fix all these little niggles!  yeah it was
worth a shot.
06:00 < Gracenotes> actually..  just resizing my own array wasn't so much of
a pain
06:01 < Gracenotes> I wonder if they'll provide their own array-copying
function, since native ones /can/ be more effective, so long as range-checking is
done
06:01 -!- aanderse
[n=aanderse@CPE001b11cc67d3-CM0019475d7f5e.cpe.net.cable.rogers.com] has quit
[Remote closed the connection]
06:01 < drhodes> ohhhh.  resize it right..  I was trying to [x+3]int{};
06:01 < scandal> Gracenotes: yeah, i noticed that was missing as well.
06:02 -!- JasonWoof [n=jasonwoo@fsf/member/herkamire] has quit ["Leaving."]
06:02 -!- msingle [n=Matt@pool-71-241-35-143.nrflva.east.verizon.net] has quit
["Leaving"]
06:02 -!- ehird_ [n=ehird@88-107-8-136.dynamic.dsl.as9105.com] has joined #go-nuts
06:02 < Gracenotes> drhodes: well.  make a new one an copy to it
06:03 < Gracenotes> -.-
06:03 -!- ehird__ [n=ehird@91.105.120.35] has joined #go-nuts
06:03 < Gracenotes> and that only works if x is known at compile-time.
Otherwise, make([]int, x+3) works well, it seems
06:04 < ehird__> freenode rules say you need to link to the logs in the
topic, someone stick http://go-lang.cat-v.org/irc-logs/go-nuts in there?
06:04 < drhodes> Gracenotes: oh - neat, thanks.
06:04 < scandal> right, in the former x+3 needs to be a constant expression
06:06 -!- glewis_ [n=chatzill@cpe-98-154-103-91.socal.res.rr.com] has joined
#go-nuts
06:06 -!- bpalmer [n=user@unaffiliated/bpalmer] has joined #go-nuts
06:07 -!- bishop [n=bishop@cpe-67-49-180-68.hawaii.res.rr.com] has quit [Remote
closed the connection]
06:07 -!- glewis [n=chatzill@cpe-98-154-103-91.socal.res.rr.com] has quit [Read
error: 60 (Operation timed out)]
06:07 -!- glewis_ is now known as glewis
06:08 < glewis> How do you compile 'cat.go' in ~/go/doc/progs ? Typing "8g
cat.go" gives me an error that it can't import './file'.  Same for "8g -I.
cat.go".
06:08 -!- yuanxin [n=uman@150.135.210.16] has joined #go-nuts
06:08 -!- Helpsys [n=ths@unaffiliated/helpsys] has quit ["Saindo"]
06:09 < scandal> glewis: try ./run first
06:09 -!- jeremybanks [n=jeremyba@75-119-248-154.dsl.teksavvy.com] has quit
["Leaving."]
06:09 -!- rhelmer [n=rhelmer@adsl-69-107-65-242.dsl.pltn13.pacbell.net] has quit
[]
06:09 < scandal> oh wait, that delets them, grr
06:09 < glewis> That works...  but I want to know how to compile it
manually...  since I have a similar situation with my own programs
06:10 < ehird__> presumably the answer is in ./run
06:10 -!- ehird_ [n=ehird@88-107-8-136.dynamic.dsl.as9105.com] has quit [Read
error: 60 (Operation timed out)]
06:10 < scandal> perhaps you need to compile file.go first
06:10 < glewis> I looked...  couldn't figure it out.  :-(
06:10 < glewis> Bingo!  Thanks, scandal.
06:11 -!- triplez [n=triplez@124.155.195.7] has joined #go-nuts
06:11 < Ycros> use a Makefile?  :P
06:11 < glewis> I thought it read the source.  Wrong, I guess.
06:11 -!- droid0011 [n=g1@p4FDCDF3A.dip.t-dialin.net] has quit [Connection timed
out]
06:11 -!- wcn [n=wcn@216.239.45.130] has quit []
06:11 -!- slicslak_ [n=slicslac@c-68-50-207-133.hsd1.dc.comcast.net] has quit
[Read error: 113 (No route to host)]
06:12 -!- mkanat [n=mkanat@c-67-188-1-39.hsd1.ca.comcast.net] has quit ["Bye!"]
06:12 -!- gcopenhaver [n=greg@c-98-250-49-37.hsd1.mi.comcast.net] has quit
["Leaving."]
06:13 -!- droid001 [n=g1@p4FDCE915.dip.t-dialin.net] has joined #go-nuts
06:13 -!- nuvm [n=nu@CPE0019b92225c9-CM00195edd2c24.cpe.net.cable.rogers.com] has
quit [Read error: 110 (Connection timed out)]
06:13 < ehird__> hey, $GOROOT/src/Make.$GOARCH is a valid shell script too;
nifty
06:15 -!- yuanxin [n=uman@150.135.210.16] has quit ["leaving"]
06:16 -!- diltsman_ [n=diltsman@64.122.18.77] has joined #go-nuts
06:16 -!- CalJunior [n=caljunio@82-168-237-95.ip.telfort.nl] has quit ["Colloquy
for iPhone - http://colloquy.mobi"]
06:16 -!- hipe [n=hipe@pool-74-108-83-4.nycmny.east.verizon.net] has joined
#go-nuts
06:17 -!- CalJunior [n=caljunio@82-168-237-95.ip.telfort.nl] has joined #go-nuts
06:17 -!- dacc [n=dacc@dsl-216-162-193-144.drizzle.com] has joined #go-nuts
06:17 -!- hiromtz [n=irchon@126.250.37.25] has joined #go-nuts
06:17 < Gracenotes> time to use a goto for an error condition \o/
06:18 -!- depood [n=hidden@chello080108055214.19.11.vie.surfer.at] has joined
#go-nuts
06:18 -!- bjarneh [n=bjarneh@227.80-203-30.nextgentel.com] has joined #go-nuts
06:18 -!- ehird [n=ehird@91.105.81.220] has quit [Read error: 110 (Connection
timed out)]
06:18 -!- ehird__ is now known as ehird
06:18 -!- wobsite [n=wobsite_@140.232.183.141] has joined #go-nuts
06:19 < Gracenotes> or how about just set the default value to an
error-esque one
06:19 -!- triplez [n=triplez@124.155.195.7] has quit [Read error: 54 (Connection
reset by peer)]
06:20 < glewis> How do I print a large const?  http://pastebin.com/d24757b5b
06:20 -!- Dreamr_3 [n=Dreamer3@96-28-100-3.dhcp.insightbb.com] has joined #go-nuts
06:20 -!- hiromtz [n=irchon@126.250.37.25] has quit [Client Quit]
06:20 < Dreamr_3> anyone doing anything cool in go and need help?
06:20 < Dreamr_3> i'd like to play with it a bit but my day job is web apps
and i can't see building a meaningful web app in go super quickly - although maybe
i should try?  :)
06:21 -!- hiromtz [n=irchon@pw126250037025.10.tss.panda-world.ne.jp] has joined
#go-nuts
06:21 -!- hiromtz [n=irchon@pw126250037025.10.tss.panda-world.ne.jp] has quit
[Remote closed the connection]
06:21 < wobsite> using cgi it might be able to
06:21 < Dreamr_3> *looking at go http server*
06:22 -!- AlexW573 [n=AlexW573@c-98-216-58-37.hsd1.ma.comcast.net] has joined
#go-nuts
06:22 < wobsite> or at least, as quickly as in a scripting language
06:22 < wobsite> but yeah.
06:22 < wobsite> I'm kinda looking for projects too
06:22 < ehird> !(an os.Error) means "no error happened" right?
06:22 < ehird> as a condition
06:22 -!- triplez [n=triplez@124.155.195.7] has joined #go-nuts
06:23 -!- ajray [n=alex@wvc32563rh.rh.ncsu.edu] has joined #go-nuts
06:23 < ajray> is there a wait command?
06:24 < ajray> just time.Sleep()
06:24 < scandal> (an os.Error)==nil i don't think you can use !
06:24 < scandal> no automatica conversion to boolean
06:25 -!- Null-A [n=jason@c-76-21-4-0.hsd1.ca.comcast.net] has quit []
06:25 -!- turing_type_bot [n=turing@pool-71-241-35-143.nrflva.east.verizon.net]
has joined #go-nuts
06:28 -!- stockwellb [n=stockwel@ip70-160-222-145.hr.hr.cox.net] has joined
#go-nuts
06:28 < ehird> what's the best way to express "for c, err :=
input.ReadByte(); err == nil {"?
06:28 < ehird> probably as a c-style for loop, I guess?
06:29 < Dreamr_3> crap
06:29 < Dreamr_3> there is a web server example at the end of server.go
06:29 < Dreamr_3> too cool
06:30 -!- stockwellb [n=stockwel@ip70-160-222-145.hr.hr.cox.net] has left #go-nuts
[]
06:31 -!- glewis_ [n=chatzill@cpe-98-154-103-91.socal.res.rr.com] has joined
#go-nuts
06:31 < scandal> ehird: not sure of the best way, but i've been doing that
with:
06:31 -!- hebroon [n=yu@p6787d5.hkidnt01.ap.so-net.ne.jp] has left #go-nuts []
06:31 < ehird> suspense!
06:31 < dgnorton> Dreamr_3, where's server.go?
06:31 < Dreamr_3> /src/pkg/http
06:32 < ehird> Dreamr_3: (//src then you don't need the space)
06:32 < scandal> L: for { switch c,err:=input.ReadByte(); true { case
err!=nil: break L default: ...} }
06:32 < ehird> scandal: ew
06:32 < scandal> yeah, i know.  its either that or dupe the readbyte call.
your choice :)
06:33 < ehird> i swear I remember seeing this being done in one for call
06:33 -!- stockwellb [n=stockwel@ip70-160-222-145.hr.hr.cox.net] has joined
#go-nuts
06:33 -!- stockwellb [n=stockwel@ip70-160-222-145.hr.hr.cox.net] has left #go-nuts
[]
06:33 < ehird> actually a construct `for foo; bar {...}` that expands to `L:
for { foo; if !bar { break L; } ...  }` would be nice
06:33 < ehird> then it'd just be:
06:34 < ehird> for c, err := input.ReadByte(); err == nil {
06:34 -!- igors [n=igors@189.71.53.230] has quit ["leaving..."]
06:35 -!- CalJunior [n=caljunio@82-168-237-95.ip.telfort.nl] has quit ["Colloquy
for iPhone - http://colloquy.mobi"]
06:36 < Dreamr_3> i heard that was a templating library
06:36 -!- msw [n=msw@66.192.95.199] has quit [Read error: 60 (Operation timed
out)]
06:36 < Dreamr_3> ah "template"
06:36 < Gracenotes> I don't recall, is there a way to get the start or end
position of a slice specifically?
06:37 < Gracenotes> it would be a waste here to store it separately..
06:37 < scandal> Gracenotes: don't think so, only the length, and cap
06:37 -!- yuanxin [n=uman@uawifi-nat-210-16.arizona.edu] has joined #go-nuts
06:37 -!- dgnorton [n=dgnorton@24.224.99.49] has quit ["Ex-Chat"]
06:37 < ehird> Gracenotes: you got any ideas for that predicament?
06:37 < ehird> hmm, wait
06:37 < ehird> I could use one of dem fancy iter thingummies couldn't I
06:38 < Gracenotes> ehird: there's no continue?
06:38 < ehird> no I can't, bufio doesn't have one
06:38 < Dreamr_3> ok
06:38 < ehird> Gracenotes: ?
06:38 < Dreamr_3> i think i need a simpler project than a web framework :)
06:39 < Gracenotes> eh?  hm, lemme just see if this can get workin..
06:39 -!- asyncster [n=asyncste@216.243.14.83] has joined #go-nuts
06:41 -!- asyncster [n=asyncste@216.243.14.83] has quit [Client Quit]
06:41 < xorl> i want one of those go shirts haha
06:43 < reppie> cmpxchgl
06:44 -!- glewis [n=chatzill@cpe-98-154-103-91.socal.res.rr.com] has quit [Read
error: 110 (Connection timed out)]
06:45 < ehird> mehh
06:45 < ehird> this kind of construct would make error-handling in go super
easy...
06:45 < Gracenotes> not having to worry about fallthrough has certainly made
fallthrough quite easy
06:46 < Gracenotes> I mean.  has made switch statements.
06:46 < Gracenotes> sign #4382 you're tired..
06:46 -!- glewis [n=chatzill@cpe-98-154-103-91.socal.res.rr.com] has joined
#go-nuts
06:46 < ehird> i'm tireder than you!
06:46 < Gracenotes> probably Haskell's "true" case statement also helped my
bias
06:46 < Gracenotes> the only true omg amazing form
06:46 < ehird> grumble
06:47 < ehird> [[The loop
06:47 < ehird> for pos, char := range "日本語" {]]
06:47 < ehird> —effective go
06:47 < ehird> that's not valid is it?
06:47 < ehird> when i try and use a two-assignment as a for's only thingy, i
get (node O-20) used as value
06:47 < Dreamr_3> afk
06:48 -!- alexf [n=alexf@c-71-205-224-173.hsd1.mi.comcast.net] has quit [Nick
collision from services.]
06:49 -!- alexf [n=alexf@c-71-205-224-173.hsd1.mi.comcast.net] has joined #go-nuts
06:49 < ehird> wait, hmm
06:49 < ehird> that's an unrelated problem
06:49 -!- jA_cOp [n=ya@ti0043a380-3093.bb.online.no] has quit [Remote closed the
connection]
06:50 < ehird> no, it isn't
06:50 < quag> ehird: does range return a single value, the index?
06:50 < ehird> i don't know
06:50 < ehird> sorry
06:50 -!- fgb [n=fgb@190.246.85.45] has left #go-nuts []
06:51 -!- itrekkie [n=itrekkie@ip98-165-246-56.ph.ph.cox.net] has joined #go-nuts
06:54 < drhodes> commenting out lines 90 and 91 of src/cmd/go/walk.c make
the error complaining about unused variables go away ;) not sure if it's a safe
thing to do or not..
06:55 < ehird> Just don't make such variables
06:55 -!- dacc [n=dacc@dsl-216-162-193-144.drizzle.com] has left #go-nuts []
06:55 < drhodes> it's slowing me down significantly.
06:56 -!- glewis__ [n=chatzill@cpe-98-154-103-91.socal.res.rr.com] has joined
#go-nuts
06:56 < limec0c0nut> drhodes: It's annoying me, too.  Wish the Go compiler
distinguished between errors and warnings.
06:56 < ehird> drhodes: there are other languages out there :)
06:56 -!- averma [n=amit@122.175.76.102] has quit [Read error: 104 (Connection
reset by peer)]
06:56 < ehird> limec0c0nut: I'm almost certain it was an explicit design
condition to minimise the amount of code that can be removed in programs.
06:56 < ehird> i.e.  to enforce conciseness.
06:57 < limec0c0nut> ehird: Maybe...  right now my immediate reaction to
anything unlike gcc's behavior is "wrong".  I'm trying to rid myself of that :)
06:57 -!- jA_cOp [n=ya@ti0043a380-3093.bb.online.no] has joined #go-nuts
06:57 -!- jA_cOp_ [n=ya@ti0043a380-3093.bb.online.no] has joined #go-nuts
06:57 -!- aa [n=aa@r190-135-212-219.dialup.adsl.anteldata.net.uy] has quit [Read
error: 110 (Connection timed out)]
06:58 < ehird> A healthy dose of Plan 9's C compilers is probably the safest
way to wade into Go, as the toolchains are the same...
06:58 -!- jA_cOp_ [n=ya@ti0043a380-3093.bb.online.no] has quit [Client Quit]
06:58 < limec0c0nut> By the way, does anyone know if there's an equivalent
of itoa/atoi?  I can't find one.
06:58 -!- absurdh [n=absurdhe@c-98-248-39-62.hsd1.ca.comcast.net] has joined
#go-nuts
06:58 < ehird> It's interesting just how tight Go code is: there aren't many
extraneous lines.  A low-level language without boilerplate is unique, and I think
the mindset needs a bit of extremism to work — thus the unused variable error.
06:58 < jA_cOp> There's a library for conversions limec0c0nut
06:58 < ehird> limec0c0nut: you've checked http://golang.org/pkg/ right?
06:59 < ehird> itoa would just be i.String() or whatever, right?
06:59 < ehird> or, heck, just sprintf
06:59 < jA_cOp> http://golang.org/pkg/strconv/
06:59 < ehird> but yeah, http://golang.org/pkg/strconv/
06:59 < ehird> heh, snap
06:59 < jA_cOp> :P
06:59 < limec0c0nut> Seriously?  I feel dumb.
06:59 < limec0c0nut> Thanks.
07:00 < glewis__> if I'm think "dynamically growing array", what structure
would I use in go?
07:00 -!- glewis_ [n=chatzill@cpe-98-154-103-91.socal.res.rr.com] has quit [Read
error: 110 (Connection timed out)]
07:00 < ehird> http://golang.org/pkg/strconv/#tmp_152 quick!  Someone make a
patch to the compiler to add magic_quotes!
07:00 < limec0c0nut> glewis: Vector.
07:00 < Gracenotes> there seems to be a lot of standard stuff that's hidden,
nicely
07:00 < ehird> glewis__: Vector, I think.
07:00 < glewis__> thanks!
07:00 < Gracenotes> Vector is Danger!  High voltage!
07:00 < ehird> It's surprising how complete /pkg/ is.
07:00 < Gracenotes> at least until we can get it patched..
07:01 < limec0c0nut> Gracenotes: Anything specific we should worry about?
07:01 < ehird> Heck, I'd say it's higher-quality than Ruby's standard
library already, if not as complete.
07:01 < ehird> It covers an awful lot of ground, though.
07:01 < limec0c0nut> ehird: I was blown away by even experimental support
for SSL/TLS/x509.
07:01 < Gracenotes> limec0c0nut: the size parameter sets the length.  there
is no capacity.  so if you're using a typed version, it has to be *completely*
full before you convert it back
07:01 < ehird> limec0c0nut: Would bet a million some Google stuff needed it
:P
07:01 < Gracenotes> and no way to tell if it is completely full by querying
it
07:01 < yuanxin> ehird: no one function to read from stdin though ;)
07:02 < ehird> yuanxin: I'm considering writing a simple IO package
07:02 < limec0c0nut> ehird: Fortunately, Google's needs frequently align
with mine.
07:02 -!- turing_type_bot [n=turing@pool-71-241-35-143.nrflva.east.verizon.net]
has quit [Read error: 110 (Connection timed out)]
07:02 < Gracenotes> I mean, the capacity is implicitly the size of the
backing array, there is no /actual/ length that's kept track of
07:02 < ehird> Would be interesting to figure out how to distribute stuff.
07:02 -!- Sandeep` [n=Agent@122.172.123.91] has joined #go-nuts
07:02 < limec0c0nut> yuanxin: os.Stdin.Read()?
07:02 < yuanxin> ehird: what do you mean by "distribute"?
07:02 < yuanxin> limec0c0nut: *to read one line from Stdin
07:02 < yuanxin> sorry
07:03 < ehird> yuanxin: like, when installing a third-party package, just
dump it ...  where?
07:03 < ehird> in $GOROOT?
07:03 -!- Zh0nG` [n=Zh0nG@58.38.65.9] has joined #go-nuts
07:03 -!- lilvin [i=425a760c@gateway/web/freenode/x-ixxisxtoiooakakl] has joined
#go-nuts
07:03 < ehird> polluting the tree seems strange, but perhaps it'd be a clean
solution
07:03 < ehird> hmm
07:03 < ehird> I guess Make.pkg puts it somewhere
07:03 < yuanxin> ehird: ahh, right.  I thought you meant something else by
that word
07:03 < ehird> on make install; lemme check
07:03 < yuanxin> that'll teach me to IRC after midnight
07:03 < limec0c0nut> yuanix: I'm about to try reading from stdin; back in a
second to complain :)
07:03 < ehird> heh, I've been IRCing waaaaaaaaayy past midnight
07:03 < ehird> my brain is sort of frazzled
07:03 < yuanxin> ehird: anyway, do any third-party Go packages exist yet?
07:04 < ehird> nope!  thus why it'd be interesting to do
07:04 -!- Zh0nG` [n=Zh0nG@58.38.65.9] has quit [Client Quit]
07:04 < ehird> Ew, rules about shared objects.
07:04 < yuanxin> ehird: well, perhaps maybe by the time you finish yours
there will be
07:04 < ehird> The idea of a simple IO packaage is, what, 30-50 lines?  :P
07:04 < yuanxin> ehird: and then your problem will've been solved for you.
07:04 < ehird> *package
07:04 < ehird> At the start,a t least.
07:04 < yuanxin> Ah, reaaaaly simple
07:05 < ehird> Really simple being enough to cover like 70% of IO operations
07:05 < yuanxin> meh, you're smarter than I am.  30-50 lines of Go would
take me all day to write
07:05 < yuanxin> ;)
07:05 < limec0c0nut> Think there'll be something like CPAN?
07:05 < ehird> install: $(INSTALLFILES)
07:05 < yuanxin> then again, I'm not a professional programmer (not sure if
you are)
07:05 < limec0c0nut> Eventually?
07:05 < ehird> Make.pkg is far more gnarly than Make.cmd.
07:05 < ehird> limec0c0nut: I hope not!
07:05 < ehird> CPAN is a pain to use.
07:05 < yuanxin> limec0c0nut: Hopefully not as shitty as CPAN
07:05 < ehird> And centralisation is bad.  I can see, however, a directory
of packages being useful.
07:05 < limec0c0nut> Well yeah, I meant the good parts :)
07:05 < yuanxin> I really like the way Haskell package distribution works
07:05 < yuanxin> I forget what the system is called
07:05 < ehird> yuanxin: Too centralised.  And Hackage.
07:06 < ehird> Anyway, as for a package management system...  nah.
07:06 < limec0c0nut> ehird: I like centralization.  To each his own.
07:06 < ehird> The $GOROOT is cleanly structured enough that uninstalling is
just an rm -rf away.
07:06 < yuanxin> ehird: centralized doesn't seem like a big problem.  If
something you want isn't in the repo, just install it manually.
07:06 < ehird> And installing, well, we have a perfectly usable, minimalist
build system in $GOROOT already.
07:06 -!- lilvin [i=425a760c@gateway/web/freenode/x-ixxisxtoiooakakl] has quit
[Client Quit]
07:06 < yuanxin> ehird: what if Go is installed globally, and a user who
doesn't have the right to $GOROOT wants to install your package?
07:06 < ehird> So, maybe a script to look up the URL for a package on
$directory, download and extract a tarball (or VCS repository) and make install.
07:07 < ehird> yuanxin: so don't install it globally
07:07 < JBeshir> Centralised hosting would be a Good Thing.
07:07 < ehird> Go is very much shaped like a one-tree-build-environment.
07:07 < ehird> JBeshir: Why, when things like github are so common?
07:07 -!- temme [n=kcollins@pool-173-71-105-240.cmdnnj.fios.verizon.net] has
joined #go-nuts
07:07 < ehird> Tarballs are quickly becoming passé; even Go doesn't have
them.
07:07 < yuanxin> ehird: lack of flexibility in how Go is installed is a flaw
that I'm sure will be fixed eventually
07:07 < JBeshir> ehird: That's because it became public this week.
07:07 < ehird> Besides, the core competency of a package directory is
organising packages and providing a way to download them.
07:07 < ehird> Not hosting them.
07:08 < yuanxin> ehird: if it's ever to become a "serious" language there
has to be a way for system administrators to install it for all users...
07:08 < yuanxin> this goes without saying
07:08 -!- jA_cOp [n=ya@ti0043a380-3093.bb.online.no] has quit [Remote closed the
connection]
07:08 < JBeshir> ehird: And for a start, having Your Favourite Pet DVCS
required to download packages is a bad idea
07:08 < ehird> yuanxin: I disagree; it's no burden to have ~/go just like
you have ~/lib.
07:08 < ehird> And it's much more convenient to have your personal toolchain
in one place, owned by you.
07:08 < ehird> Like a toolbox.
07:08 < JBeshir> Forcing everyone to store stuff in git is annoying.
Forcing everyone to store stuff in Merc is annoying.
07:08 < ehird> JBeshir: It may be annoying but it's happening alraedy.
07:08 < ehird> *already
07:08 < limec0c0nut> JBeshir: I agree so much with your Favorite Pet DVCS
comment.
07:08 < yuanxin> ehird: You miss my point
07:08 < JBeshir> Letting everyone decide, so to make practical use of the
system, you need everything, is annoying.
07:09 < yuanxin> ehird: I'm not arguing which is better; I'm arguing that
individual system administrators need to have the choice
07:09 < limec0c0nut> Sometimes I feel we need a DVCS to distribute DVCS's.
07:09 < ehird> yuanxin: It uses a different way of invoking the compilers, a
strange toolchain system in general, ...
07:09 < ehird> yuanxin: $GOROOT will not make or break Go.
07:09 -!- glewis [n=chatzill@cpe-98-154-103-91.socal.res.rr.com] has quit [Read
error: 110 (Connection timed out)]
07:09 < yuanxin> ehird: perhaps
07:09 < ehird> The fact that there's 499 people in here shows that the force
of "Google" outweighs oddities.
07:09 < limec0c0nut> yuanxin: You were talking about reading a single line
from stdin?  os.Stdin.Read() actually does do that.
07:09 < ehird> Besides, ever looked at Java development toolchains?
07:10 < ehird> They just stuff 1 billion jars into their Eclipse project.
07:10 < yuanxin> ehird: haha
07:10 < ehird> Nobody complains about that.
07:10 < drhodes> I do!
07:10 < yuanxin> ehird: "better than Java" is damning with faint praise
07:10 < ehird> drhodes: Well, you get my point.  :P
07:10 < yuanxin> limec0c0nut: ah, thank you!
07:10 < ehird> yuanxin: What I mean is that no, it doesn't need a
conventional global system to become "serious"
07:10 < yuanxin> limec0c0nut: I wish things like this could be better
documented
07:10 < ehird> (I think $GOROOT is a very good system)
07:10 < yuanxin> limec0c0nut: give it time I suppose
07:11 < ehird> Anyway, Make.pkg installs into $GOROOT in a standard place so
let's stop arguing, if they want to change it they will.
07:11 < yuanxin> I can't imagine why anyone would ever use Java for anything
07:11 < absurdh> I can't figure out why the CreateFoo function can't return
a Bar struct even though it implements the Foo interface.  Can anyone help?
http://pastebin.com/d76c847d5
07:11 < ehird> They've clearly thoughtt all this through.
07:11 < ehird> *thought
07:11 < yuanxin> In the particular niche of takss Java was made for, C# is
better
07:11 < me__> 8c's calling convention is to pass args in registers first?
07:12 < ehird> so, still nobody has a better way to express the (invalid)
snippet `for c, err := input.ReadByte(); err == nil {`?
07:12 < absurdh> ehird: nope, I've been playing with that too
07:12 < ehird> I was so sure it would work, it was so obvious...
07:13 < limec0c0nut> yuanxin: Yeah.  If only there were a simple way to
search Go's documentation...  almost like, if there were a search engine company
that provided a service like that...
07:13 < me__> limec0c0nut: yahoo?
07:13 < ehird> me__: No, Bing!
07:13 < limec0c0nut> I don't know; I don't use search engines.  I browse the
Internet page by page until I find what I want.
07:13 -!- jA_cOp [n=ya@ti0043a380-3093.bb.online.no] has joined #go-nuts
07:13 -!- MarkBao [n=MarkBao@pool-71-184-95-241.bstnma.fios.verizon.net] has quit
[Read error: 60 (Operation timed out)]
07:14 -!- vt3_ [n=a431824@m016020.ppp.asahi-net.or.jp] has joined #go-nuts
07:14 < ehird> test -d /Users/ehird/go/pkg && mkdir -p
/Users/ehird/go/pkg/darwin_amd64/.
07:14 < ehird> cp _obj/(name).a /Users/ehird/go/pkg/darwin_amd64/(name).a
07:14 < ehird> That solves the packaging debate, then.
07:14 -!- Snert [n=chatzill@puff.snert.com] has joined #go-nuts
07:14 < ehird> $TARG.a goes in $GOROOT/pkg/$GOOS_$GOARCH.
07:14 < ehird> (That's from Make.pkg)
07:14 < Snert> morning
07:15 < limec0c0nut> ehird: How about a Go program for that?  :P
07:15 < limec0c0nut> Snert: morning
07:15 < ehird> What, for replacing make?
07:15 < Gracenotes> hm.  "type" is a keyword, so I'll call this "form".
sounds awesome.
07:15 < ehird> Methinks they used make because it was ubiquitous.  After
all, they're the Plan 9 people.  They'd use mk otherwise.
07:15 < limec0c0nut> ehird: Your packaging thing.  Although Go's docs say
they want to replace make anyway.
07:15 < ehird> It's not mine.
07:15 < ehird> It's from $GOROOT/src/Make.pkg.
07:15 -!- temme [n=kcollins@pool-173-71-105-240.cmdnnj.fios.verizon.net] has quit
[Read error: 104 (Connection reset by peer)]
07:16 < limec0c0nut> ehird: Silly me.
07:16 < ehird> Straight from the horse's mouth, which is why it solves the
debate.
07:16 < ehird> I'm glad it does static linking, too — those .so mentions
appear to just be cgo stuff.
07:16 < absurdh> Can anyone figure out why this 20 line example doesn't
work?  http://pastebin.com/d76c847d5
07:16 < ehird> I hope they just replace make with plan9port mk; they already
use lib9 and it'd just be a quick bootstrap compile.
07:18 < jA_cOp> for one, absurdh, new returns a pointer, and so does your
function
07:18 < jA_cOp> so no need to dereference
07:18 < absurdh> That is a cast, not a dereference
07:18 -!- Eridius_ [n=kevin@growl/Eridius] has joined #go-nuts
07:18 < jA_cOp> oh right -.-
07:18 < absurdh> I am trying to convert *Bar to *Foo and it doesn't work
07:18 -!- mac2 [n=whatever@c-67-164-29-94.hsd1.ca.comcast.net] has joined #go-nuts
07:19 < jA_cOp> I got an error when I tried that too, simply said that Bar
wasn't a Foo so I couldn't do that
07:19 < vegai> go doesn't have casts
07:19 < vegai> hmm, or does it?
07:19 < absurdh> vegai: call it what you like
07:19 < absurdh> They call them conversions
07:19 < absurdh> and that is critical for interfaces to work
07:19 < Snert> where too look- OpenBSD port compiles, but go output won't
run, ie.  ./8.out yield Operation not permitted ; what am I forgetting?
07:20 < absurdh> so, how do you get a type to implement an interface?  My
example seems to fail at it
07:20 < Gracenotes> "main.go:150: fatal error: too many errors"...  come on,
let's see some endurance!  >:[
07:20 -!- dragon3_away is now known as dragon3
07:21 -!- glewis [n=chatzill@cpe-98-154-103-91.socal.res.rr.com] has joined
#go-nuts
07:21 < vegai> I don't think you can convert a struct to an interface
07:21 -!- proszbje [n=raulgrel@81.84.215.230] has left #go-nuts []
07:22 < absurdh> then how do the things in the os pkg work?
07:22 < wobsite> absurdh: you need to implement all of the interface's
methods, with your type as the object type.
07:23 < absurdh> wobsite: I think that is what I did
(http://pastebin.com/d76c847d5)
07:23 < drhodes> absurdh: I got this to compile, fwiw:
http://pastebin.com/m398d0586
07:23 < drhodes> it's taking some stuff out though, making it can work back
to what you want.
07:23 < drhodes> s/making/maybe
07:23 < vegai> wobsite: I think he does do that
07:23 < jA_cOp> return Bar{x}
07:24 < wobsite> yeah, looks that way
07:24 < absurdh> drhodes: cool.  That is interesting
07:24 -!- mesenga [n=cbacelar@189.105.82.242] has joined #go-nuts
07:25 -!- diltsman_ [n=diltsman@64.122.18.77] has quit []
07:26 < absurdh> The docs show examples of implementing methods on pointers
to types.  From what I understood, that would make *Bar implement Foo rather than
Bar implementing Foo.  Ahh that is why drhodes version works.  *Bar -> Foo
07:26 < wobsite> that would do it.
07:26 < ehird> http://pastebin.ca/raw/1670905 wc in Go. Apart from the ugly
start of the loop due to the lack of that two-clause for consstruct, I think the
code to this is really nice.
07:26 < Snert> __giles you up yet?
07:26 < absurdh> It is a little unintuitive but it makes sense :)
07:27 < ehird> Comments etc.  welcome.
07:27 < Snert> __gilles you up yet?
07:27 < scandal> so i came up with some line reading functions.
http://codepad.org/sjdBvnag
07:27 < ehird> Oh, I should probably say `var c byte;`.  Consider that nop
change done.
07:28 < absurdh> ehirt: nice!  Now to make it not count contiguous
whitespace separately :p
07:29 < ehird> absurdh: Yeah, and then Unicode, and then you know what no.
:P
07:29 < absurdh> hehehe
07:29 -!- lukketto [n=luca@82.57.132.99] has joined #go-nuts
07:29 -!- lukketto [n=luca@82.57.132.99] has left #go-nuts []
07:29 < vegai> ehird: twice as fast as gnu wc, too :P
07:29 -!- rchitect [n=arch@adsl-69-236-87-162.dsl.pltn13.pacbell.net] has joined
#go-nuts
07:29 -!- Eridius [n=kevin@growl/Eridius] has quit [No route to host]
07:29 -!- Eridius__ [n=kevin@c-67-180-199-108.hsd1.ca.comcast.net] has joined
#go-nuts
07:30 < ehird> vegai: indeed :P
07:30 < ehird> about the same as bsd wc
07:30 -!- bear [n=bear@c-71-230-97-250.hsd1.pa.comcast.net] has quit [Read error:
110 (Connection timed out)]
07:30 < ehird> I think
07:30 < vegai> of course, you're lacking some important features.  Like
--max-line-length (?)
07:30 < ehird> hmm, bsd wc is a bit faster, whatever
07:30 < ehird> vegai: you, are kidding me right :-D
07:30 < ehird> hey guys I implemented true in Go!167162378w34
07:31 < ehird> package main
07:31 < ehird> func main() {}
07:31 < vegai> I wonder if I dare go check the source code for GNU true
07:31 < Gracenotes> did you know that: 2097152 is a power of two?  weird, I
know
07:32 < ehird> GNU false is a #define of something like BE_FALSE and then
#include "true.c"
07:32 < ehird> no joke
07:32 < ehird> because they have version numbers and shit in gnu true
07:32 < ehird> can't duplicate all that EFFORT
07:32 -!- artery [n=artery@c-67-180-204-137.hsd1.ca.comcast.net] has joined
#go-nuts
07:32 < ehird> alright then, just because i can be the first I'm going to
code up a little simple IO library
07:33 -!- Hermano [n=eero@a88-113-33-235.elisa-laajakaista.fi] has left #go-nuts
[]
07:34 -!- glewis__ [n=chatzill@cpe-98-154-103-91.socal.res.rr.com] has quit [Read
error: 110 (Connection timed out)]
07:34 < wobsite> I'm working on some cgi stuff at the moment.
07:34 -!- KragenSitaker [n=kragen@panacea.canonical.org] has joined #go-nuts
07:34 -!- bpalmer [n=user@unaffiliated/bpalmer] has left #go-nuts ["ERC Version
5.1.2 $Revision: 1.796.2.6 $ (IRC client for Emacs)"]
07:34 -!- vt3_ is now known as vt3
07:35 < ehird> heh, okay, that all just worked
07:35 < ehird> /Users/ehird/go/pkg/darwin_amd64/sio.a is picked up
automagically
07:35 < ehird> just do `import "sio"` and it'll put it in, no linking or
compiling required, from anywhere
07:35 -!- Eridius_ [n=kevin@growl/Eridius] has quit [Read error: 113 (No route to
host)]
07:37 < ehird> and $GOROOT/src/pkg could be good to utilise too
07:37 < KragenSitaker> Hi, in Python I have to do `isinstance` if I want to
write a function defined by a case analysis on built-in types (e.g.  generate
JSON).  In Go, I was hoping I could just define the function as a method on those
types, but I'm getting this error message: total.go:4: cannot define new methods
on non-local type int
07:37 < ehird> you just have to add an entry to DIRS and you can make it
with the rest of the go packages
07:37 < KragenSitaker> does that mean that what I was hoping to do is in
fact impossible, and I need to use the empty interface and explicit type tests
instead?
07:37 < ehird> KragenSitaker: define a new type that is int
07:37 < ehird> i think
07:38 < ehird> type MyIntThing int
07:38 < KragenSitaker> now I get total.go:5: cannot use i (type
totalableint) as type int
07:39 < jabb> anyone here familiar with cgo?
07:39 < scandal> jabb: a bit
07:39 < ehird> KragenSitaker: hmm
07:39 < ehird> I'm as noob as you, sorry :-)
07:39 < jabb> I'm getting an error when wrapping SDL
07:39 < KragenSitaker> ehird: no problem, thanks for the help!
07:39 < jabb> 'dwarf.Type struct private_hwdata reports unknown size'
07:39 < ehird> KragenSitaker: stick around, someone surely knows
07:39 < ehird> we've covered every corner of this language in days
07:40 -!- punya [n=punya@punya.Stanford.EDU] has joined #go-nuts
07:40 < scandal> jabb: i've seen people mention that error, but i don't know
what it means, sorry
07:40 < KragenSitaker> ehird: in the meantime I will read the language
specification
07:40 < jabb> Kay
07:40 < ehird> thar be dragons
07:41 < ehird> easy-io library opinion poll: sio.Input/sio.Output or
sio.In/sio.Out for stdin/stdout?
07:41 -!- glewis_ [n=chatzill@cpe-98-154-103-91.socal.res.rr.com] has joined
#go-nuts
07:41 < KragenSitaker> jabb: if I had to guess, I would say it sounds like
the type of that struct is not known to the code cgo is inspecting; it's declared
in a different header file that isn't included
07:41 < ehird> former is more explicit, but the latter are more convenient
07:41 -!- stefanc [n=stefanc@188.25.244.29] has joined #go-nuts
07:42 < wobsite> how do you insert things into a map?  having trouble
finding the proper documentation.
07:42 -!- itrekkie [n=itrekkie@ip98-165-246-56.ph.ph.cox.net] has quit []
07:43 < jabb> KragenSitaker: interesting, would I have to additionally
include some of the stuff SDL.h includes?
07:43 < KirkMcDonald> wobsite: m[k] = v
07:43 < wobsite> thanks
07:43 -!- rchitect [n=arch@adsl-69-236-87-162.dsl.pltn13.pacbell.net] has quit []
07:44 < ehird> KragenSitaker: heh, I've run into the same (similar) problem
as you
07:44 < KragenSitaker> jabb: I don't know, my actual knowledge of cgo is
limited to reading gmp.go
07:44 < ehird> type Reader bufio.Reader; then trying to do Input *Reader =
bufio.NewReader(os.Stdin);
07:44 < KragenSitaker> jabb: but there's this common pattern in C
programming where you use a pointer to an incomplete type as an opaque handle
07:45 < KragenSitaker> jabb: so that you can change its size in future
versions of the library.  C++ people call the pattern "pImpl".
07:45 < glewis_> invalid operation: newGoal % prime (type uint64 % int) ...
how do I cast 'prime' to uint64 ? I've read through the docs...  am I missing a
document somewhere that covers this?
07:45 < KragenSitaker> ehird: I think that is the opposite problem
07:46 < KragenSitaker> glewis_: maybe uint64(prime)?
07:46 -!- squirrelmetal [n=timothy@66-190-55-242.dhcp.mdsn.wi.charter.com] has
joined #go-nuts
07:46 < ehird> KragenSitaker: oh, of course
07:46 < jabb> KragenSitaker: I read in gmp.h that cgo handles opaque
structures, right?
07:46 < ehird> KragenSitaker: just define an interface
07:46 < ehird> and use that instead of int
07:47 < glewis_> yep, that's it.  Thanks, KragenSitaker!
07:48 < KragenSitaker> jabb: I do not know, sorry
07:48 < KragenSitaker> ehird: let me pastebin this
07:48 < ehird> eh, didn't work
07:48 -!- _mace [n=tHe@c-69-181-138-217.hsd1.ca.comcast.net] has joined #go-nuts
07:49 < KragenSitaker> heh, for some reason, codepad doesn't support GO yet
07:49 < KragenSitaker> GO
07:49 < KragenSitaker> argh, stupid shift
07:49 < KragenSitaker> Go.
07:49 -!- triplez [n=triplez@124.155.195.7] has quit []
07:49 -!- artery [n=artery@c-67-180-204-137.hsd1.ca.comcast.net] has quit
["Leaving"]
07:49 < jabb> KragenSitaker: here's the code if you're interested:
http://go.pastebin.com/m12a16f4d
07:49 < _mace> having trouble compiling hello word: "fatal error: can't find
import: fmt"
07:50 < _mace> anyone what the problem could be
07:50 < jabb> and I'm invoking with "cgo -lSDL main.go"
07:50 < KragenSitaker> _mace: $GOROOT?
07:51 < KragenSitaker> jabb: I am very interested in using SDL from Go too
:)
07:51 < _mace> KragenSitaker: it's been set
07:51 < jabb> :P
07:51 < KragenSitaker> jabb: but you have thousands of times more experience
with cgo than I do at this point :)
07:52 < jabb> when I figure it out I'll tell you :)
07:52 -!- AlexW573 [n=AlexW573@c-98-216-58-37.hsd1.ma.comcast.net] has quit
["Leaving"]
07:52 -!- squirrelmetal [n=timothy@66-190-55-242.dhcp.mdsn.wi.charter.com] has
left #go-nuts ["Leaving"]
07:52 -!- jA_cOp [n=ya@ti0043a380-3093.bb.online.no] has quit [Read error: 60
(Operation timed out)]
07:53 < KragenSitaker> awesome :)
07:54 < KragenSitaker> ehird: here's what I'm getting at this point:
http://gist.github.com/234437
07:54 < _mace> ok, i got it...  need to set GOOS and GOARCH in addition to
GOROOT
07:54 -!- glewis [n=chatzill@cpe-98-154-103-91.socal.res.rr.com] has quit [Read
error: 110 (Connection timed out)]
07:55 < KragenSitaker> oh, sorry
07:55 < KragenSitaker> I should've thought of that
07:56 < KragenSitaker> okay, got it working
07:56 < KragenSitaker> (see above gist URL if interested)
07:57 < ehird> KragenSitaker: taking a look.  just as an aside (and because
some don't seem to realise this), you don't have to write a boring makefile to
escape running 8g/8l all the time
07:57 < ehird> you can do:
07:57 < ehird> TARG=progname
07:57 < ehird> GOFILES=a.go b.go
07:57 < ehird>
07:57 < ehird> include $(GOROOT)/src/Make.$(GOARCH)
07:57 < ehird> include $(GOROOT)/src/Make.cmd
07:57 < KragenSitaker> ah thanks
07:57 -!- binaryjohn [n=binaryjo@cpe-24-30-132-50.san.res.rr.com] has quit []
07:57 < ehird> it also gives you make install etc
07:57 < KragenSitaker> I was running 8g/8l from the command line
07:57 < ehird> (you can also s/cmd/pkg/ to compile a package, but I'm pretty
sure I'm the only one attempting that right now)
07:58 < ehird> calls cgo for you too
07:58 < ehird> KragenSitaker: here's what I did:
07:58 < ehird> type Reader struct {
07:58 < ehird> *bufio.Reader;
07:58 < ehird> }
07:58 < ehird> then
07:58 < ehird> Input *Reader = &Reader{bufio.NewReader(os.Stdin)};
07:58 < ehird> now, you can use Input like it was a bufio.Reader
07:58 < ehird> literally
07:58 < ehird> Input.ReadByte() works
07:58 -!- glewis_ [n=chatzill@cpe-98-154-103-91.socal.res.rr.com] has quit
["ChatZilla 0.9.85 [Firefox 3.0.15/2009102815]"]
07:58 < ehird> and you can also attach your own methods to it
07:58 < ehird> so, you have to construct it specially, but then voila
07:59 -!- hebroon [n=hebroons@p6787d5.hkidnt01.ap.so-net.ne.jp] has joined
#go-nuts
07:59 < Gracenotes> oh, grrrr..  I have to check for 'ok == nil', so that
things are okay
07:59 < ehird> ok == nil?
07:59 < ehird> call that err, dude :P
07:59 < Gracenotes> perhaps I should name it something more descriptive.
like, uh, err.
07:59 < ehird> :D
07:59 < Gracenotes> indeedy so
08:00 < Gracenotes> but sometimes, two-valued returns *do* mean okay in the
second value
08:00 < Gracenotes> but as a mere boolean
08:00 -!- hebroon [n=hebroons@p6787d5.hkidnt01.ap.so-net.ne.jp] has quit [Client
Quit]
08:00 -!- bjarneh [n=bjarneh@227.80-203-30.nextgentel.com] has quit ["leaving"]
08:01 < ehird> How strange!  I can't find an fflush anywhere in /pkg/.
08:01 < KragenSitaker> ehird: what I have in mind is stuff like JSON
generation
08:01 < JBeshir> ehird: I think it's just "flush"?
08:01 < ehird> JBeshir: like, flush(...)?
08:01 < ehird> what's the arg
08:02 < JBeshir> I don't recall.
08:02 < ehird> ugh, you can't get the io.  from a bufio.
08:02 < KragenSitaker> ehird: I guess fmt.Print uses introspection for this,
so maybe I shouldn't expect to be able to do it with method dispatch
08:02 < ehird> KragenSitaker: mm
08:03 < KragenSitaker> ehird: but in, say, Ruby, you can
08:03 < ehird> yeah, but ruby's a dynamic language; go's not
08:03 < Gracenotes> ehird: Writers have a Flush method
08:03 < ehird> go's also meant to be "safe"
08:03 < ehird> Gracenotes: yay
08:03 < KragenSitaker> there's nothing particularly dynamic or unsafe about
this
08:03 < KragenSitaker> is there?
08:03 < ehird> KragenSitaker: it's extending an existing class, so to speak
08:03 < KragenSitaker> yes, but with a new method
08:04 < KragenSitaker> which implies it can't affect any existing code
08:04 -!- joeedh is now known as joeedh_sleep
08:04 < KragenSitaker> unless that code depends on that method not existing
08:04 -!- decriptor [n=decripto@53.250.sfcn.org] has quit [Read error: 113 (No
route to host)]
08:04 < Gracenotes> ehird: to be clear...  io.Writers (the interface) don't.
only bufio.Writers do.
08:04 < ehird> I didn't realise you could use a bufio.  as an io.
08:04 < ehird> so slick
08:05 < ehird> ah
08:05 < ehird> so not that :D
08:05 < ehird> but i assume you can anyway, right?
08:05 < Gracenotes> regular Writers don't need it
08:05 < Gracenotes> if what you have is really a bufio version..  well..  I
guess there's always asserting stuffs
08:05 < scandal> grr, how do you use a File as a bufio.Reader?
08:06 < ehird> bufio.NewReader(thefile)?
08:06 < Gracenotes> that needs an io.Reader argument
08:06 * Gracenotes wonders why he has photographic memory for APIs
08:06 < scandal> http://codepad.org/HJeIzTlV line 22 gives me an error about
hidden field in bufio.Reader implicitly set
08:07 < JBeshir> I think bufio.Reader would provide the methods of
io.Reader?
08:07 < KragenSitaker> ehird: wrt struct inclusion
08:07 < KragenSitaker> it's really slick
08:07 < KragenSitaker> Plan9 C supports it too
08:07 < KragenSitaker> but its structs don't have methods, just fields
08:07 < ehird> KragenSitaker: yeah
08:08 < ehird> WriteByte, WriteString, ReadByte, ReadLine
08:08 < ehird> a handy set of functions to prefix with sio.  if I do say so
myself
08:08 < ehird> now, let's see...  anything to add?
08:08 < ehird> hmm, would be good to do files
08:09 < KragenSitaker> scandal: does ReadLines take a bufio.Reader or a
*bufio.Reader?  maybe you meant &buf?
08:09 < Gracenotes> scandal: why are you dereferencing the reader..?
08:09 < ehird> KragenSitaker: gc (the Ng compilers) are written in plan 9 c,
btw
08:09 < ehird> (and compiled with the plan 9 c compilers)
08:09 < scandal> Gracenotes: beacause ReadLines takes bufio.Reader not
*bufio.Reader
08:09 < KragenSitaker> what are the Ng compilers?
08:09 < ehird> KragenSitaker: 6k, 8g etc
08:09 < ehird> *6g
08:09 < KragenSitaker> oh, heh
08:09 < xorl> why would running exec.Run cause a sigsegv
08:09 < Gracenotes> hm..  that's interesting.  why not change it?  or just
add it as a method of bufio.Reader?
08:09 < KragenSitaker> yes, I know
08:10 < ehird> right
08:10 < scandal> KragenSitaker: the former
08:10 < KragenSitaker> that's why 8c etc.  are included in the package :)
08:10 < scandal> Gracenotes: can't add methods to types outside your ackage
08:10 < KragenSitaker> scandal: I was just now trying to add methods to
types outside my package too
08:10 < ehird> func ReadFull(r Reader, buf []byte) (n int, err os.Error)
08:10 < ehird> is that callable as r.ReadFull()?
08:10 < scandal> also the ReadLines is defining an iterator that wraps
around bufio.ReadString
08:10 < ehird> or just ReadFull(r,...)
08:11 < Gracenotes> oh, I see.  but it could take a pointer to a Reader, I
should think..?
08:11 -!- wobsite [n=wobsite_@140.232.183.141] has quit ["Leaving"]
08:11 < Gracenotes> not sure what the actual error is about ;.;
08:11 < scandal> huh, that worked.
08:11 < scandal> bio.go:22: implicit assignment of bufio.Reader field 'buf'
08:11 < scandal> that was the error i got
08:12 < ehird> i had the same issue
08:13 -!- hector [n=chatzill@client-86-0-126-58.nrth.adsl.virginmedia.com] has
joined #go-nuts
08:14 < ehird> darn, ReadString(nil) doesn't work
08:14 < scandal> i see, i'm getting confused.  io.Reader is an interface and
bufio.Reader is a struct
08:14 < ehird> trying to get ReadString to never succeed in its comparison
08:14 < ehird> so that it reads the entire file
08:15 < ehird> any ideas how to have a `byte` that isn't equal to anything
you'd get from a file?
08:15 < scandal> pass the arg as a uint and check for >255?
08:16 < scandal> ReadString(-1) reads the entire file
08:16 < ehird> well that works :D
08:16 < ehird> thanks
08:16 < ehird> i chose ReadAll over ReadEntire, though, for typability
08:16 < scandal> although if you want to be unicode compliant, that might be
an issue
08:16 < ehird> sio.go:38: constant -1 overflows uint8
08:16 < ehird> it doesn't read the entire file, you mean
08:17 -!- delza [n=delza@d66-183-63-49.bchsia.telus.net] has quit []
08:17 < scandal> oh, nm.  i thought you were writing something.  i was just
suggesting a posible interface :)
08:17 < ehird> bufio's Reader.ReadString
08:17 < ehird> in particular
08:17 < ehird> trying to make a ReadAll() without writing it all myself
08:17 < KragenSitaker> it shouldn't be so hard to read the entire file!
08:18 -!- melba [n=blee@unaffiliated/lazz0] has joined #go-nuts
08:18 < KragenSitaker> I was surprised to discover this problem
08:18 < ehird> io has similar problems with io, ironically
08:18 < KragenSitaker> my first Go code was the equivalent of Python
urllib.urolopen(
08:18 < KragenSitaker> uh
08:18 -!- wobsite [n=wobsite_@140.232.183.141] has joined #go-nuts
08:18 < ehird> You're all open.
08:18 < ehird> rolopen
08:18 < ehird> *urolopen
08:19 < KragenSitaker> print urllib.urlopen('http://example.com/').read()
08:19 < ehird> Anyway, this sio should alleviate the problem somewhat.
08:19 < KragenSitaker> I was astonished with how hard that was
08:19 < ehird> sio.WriteString(sio.In.ReadAll());
08:19 < KragenSitaker> like, the reader interface wants you to allocate a
buffer before reading?  that's crazy!
08:20 < Kniht> roflopen?
08:20 < ehird> it doesn't
08:20 < ehird> it does it for you
08:20 -!- clearscreen [n=clearscr@e248070.upc-e.chello.nl] has quit [Read error:
110 (Connection timed out)]
08:20 < ehird> that's optional
08:20 -!- suvash [n=suvash@113.199.174.67] has joined #go-nuts
08:20 < ehird> Anyway, hopefully, you'll be able to open files and use them
with the same sio interface (same Open as http://golang.org/pkg/os/#tmp_352)
08:20 < ehird> although it'd be sio.OpenFile for obvious reasons
08:20 < Kniht> ehird: what's the s?  'string io'?
08:21 < ehird> Simple.
08:21 < Gracenotes> hum..  out of all the significant complaints one could
have about a language, why is it that most of them are about having one extra line
of code, which rarely turns out to be needed anyway?  -.-
08:21 -!- ch4w [n=ch4w@62.57.138.69.dyn.user.ono.com] has joined #go-nuts
08:21 < ehird> Simple IO.
08:21 < KragenSitaker> really?
08:21 < ehird> Really what?
08:21 < Kniht> Gracenotes: wadler's law
08:21 < Gracenotes> I suppose the idioms of a language aren't so familiar at
first...  hell, I don't know a percent of them >_<
08:22 < Gracenotes> Kniht: monads are awesome juice?
08:22 < Kniht> Gracenotes: "eight times as much effort is spent on the
lexical syntax of comments than is spend on semantics"
08:22 < Kniht> spent*
08:22 < KragenSitaker> Gracenotes: same reason stupid one-liner jokes always
get modded up to the top on reddit?
08:22 < ehird> no that's because people are idiots
08:22 < ehird> anyway, what was "really?" to?
08:22 < Gracenotes> heh.
08:22 < Kniht> Gracenotes: http://www.haskell.org/haskellwiki/Wadlers_Law
08:23 -!- jadamcze [n=jadamcze@ppp59-167-92-51.lns20.hba1.internode.on.net] has
joined #go-nuts
08:23 -!- l0wrd__ [n=subjugat@76-14-248-18.or.wavecable.com] has joined #go-nuts
08:23 < l0wrd__> /part
08:23 -!- ch4w [n=ch4w@62.57.138.69.dyn.user.ono.com] has quit [Read error: 60
(Operation timed out)]
08:23 < Gracenotes> it is too easy to argument about syntax and whether the
API should support something or not.  (low entry barrier?) and annoying, because
it's possible you're right.
08:23 -!- l0wrd__ [n=subjugat@76-14-248-18.or.wavecable.com] has left #go-nuts []
08:23 < ehird> I'm disappointed in Go for not really having a coherent IO
strategy
08:23 < Gracenotes> to argument, that's a verb, right
08:24 < KragenSitaker> heh, almo0st
08:24 < reppie> ehird what do you mean
08:24 < KragenSitaker> to argue
08:24 < ehird> like, I can't think of a nice way to implement Python's
StringIOs with the current system
08:24 < ehird> (StringIO = a string that acts like it's a file with those
contents, very useful)
08:24 < KragenSitaker> really?  I
08:24 < Gracenotes> doesn't String implement Writer and Reader?
08:24 < ehird> (and you can write to it then get what was written)
08:24 < Gracenotes> it does
08:24 < ehird> yes, but still
08:24 < ehird> you have the file layer
08:24 < ehird> the bufio layer
08:24 < ehird> etc
08:24 < ehird> it's not clear where everything shoould go
08:24 < ehird> *should
08:25 < Gracenotes> I don't think there's an easy way to union interfaces
08:25 < scandal> heh, just like c: read vs fread() :)
08:26 < Gracenotes> but you can manually union them, and make your own
opinion about what a file is
08:26 < KragenSitaker> Gracenotes: type string has no field Write?
08:26 < scandal> strings are immutable
08:26 < ehird> stringios are wrappers even in python
08:26 < KragenSitaker> yeah, I was curious what Gracenotes was talking about
08:27 < KragenSitaker> Gracenotes: to union the methods in interfaces (thus
intersecting the types that implement them) or to union the types (thus
intersecting the methods)?
08:27 -!- punya [n=punya@punya.Stanford.EDU] has quit ["leaving"]
08:27 < ehird> maybe my second package will be stringios then :P
08:28 -!- foxspurlock [n=Brian@cpe-74-66-16-82.nyc.res.rr.com] has left #go-nuts
[]
08:28 < KragenSitaker> ehird: what does "doesn't String implement Writer and
Reader?" mean?  I can't "foo".Write("bar")
08:28 < ehird> for i := 0; i < len(p); i++ {
08:28 < ehird> if p[i] == c {
08:29 < Gracenotes> oh.  right.  just a Reader.
08:29 < Gracenotes> http://golang.org/pkg/strings/#tmp_106
08:29 < ehird> that's the check I need to fool to use ReadString to read the
whole ...  whatever
08:29 < ehird> KragenSitaker: i didn't say that
08:29 < ehird> okay, so, byte = uint8, uint8 is...  just 0-255.
08:29 < ehird> well, shit.
08:30 < ericmoritz\0> is there an easy way to serialize a byte array into a
struct?
08:30 < KragenSitaker> aha, strings.Reader
08:30 -!- interskh [n=interskh@c-67-163-156-103.hsd1.pa.comcast.net] has quit ["88
Everyone~~!"]
08:31 -!- ector- [n=asdf@77-58-247-151.dclient.hispeed.ch] has joined #go-nuts
08:31 < scandal> ehird: something like this might work better
http://codepad.org/rDysQk7g
08:32 < scandal> that reads a byte at a time,but you could improve it
08:33 < KragenSitaker> scandal: is that code O(N^2)?
08:33 < ehird> http://pastebin.ca/raw/1670939
08:33 < ehird> will contents += string(buf) work here?
08:33 < ehird> or will, say the first read is abc
08:33 < ehird> second is x
08:33 < ehird> will it add xbc
08:33 < scandal> KragenSitaker: i don't believe so, it reads each char once
08:33 < ehird> sio.go:38: cannot refer to bufio.defaultBufSize
08:33 < ehird> oh, duh
08:33 < KragenSitaker> scandal: will AddByte make a copy of the existing in?
08:33 < ehird> I'll just hardcode 4096
08:33 -!- hipe [n=hipe@pool-74-108-83-4.nycmny.east.verizon.net] has quit [Remote
closed the connection]
08:34 < ehird> also if err, I'm stupid
08:34 -!- borre-go [n=eduardo@189.202.39.184] has joined #go-nuts
08:34 < scandal> KragenSitaker: ah yes, now i see what you are saying
08:34 < ehird> sio.go:41: cannot use buf (type [4096]uint8) as type []uint8
08:34 < KragenSitaker> ehird: you want string(buf[0:n])
08:35 < ehird> wat
08:35 < ehird> KragenSitaker: ah, ofc
08:35 < ehird> hmm
08:35 < KragenSitaker> an array isn't a slice
08:35 < ehird> what kind of order is +=?
08:35 < ehird> O(1), O(n)?
08:35 < KragenSitaker> but I think &foo will give you a slice if foo is an
array
08:35 < KragenSitaker> ehird: depends on the operands?
08:35 < reppie> what's the difference between a slice and an array
08:35 < ehird> KragenSitaker: strings.
08:35 < KragenSitaker> ehird: I imagine it's O(n)
08:36 < ericmoritz\0> for instance you can do this in C,
fread(&my_record,sizeof(struct rec),1,ptr_myfile);
08:36 < scandal> KragenSitaker: does't that have the same copy problem as
the code i pasted?
08:36 < KragenSitaker> I mean, clearly it's O(n) in the worst case
08:36 < ehird> KragenSitaker: what a shame
08:36 < ehird> that means that this ReadAll will be slooooow
08:36 < scandal> ehird: where's the fstat() equiv?
08:36 < ehird> (as opposed to preallocating a bit, appending on as in O(n)
where n=length of latter string, then reallocating)
08:36 < ehird> scandal: /pkg/os?
08:36 * scandal looks
08:37 < KragenSitaker> the standard strategoy for dealing with this is to
allocate more buffer space exponentially
08:37 < ehird> we really need a way to pick out arguments inline
08:37 < ehird> so we can do e.g.
08:37 < scandal> File.Stat()
08:37 < ehird> sio.WriteString(*,_{sio.In.ReadAll()})
08:37 < ehird> instead of
08:37 < ehird> s, _ := sio.In.ReadAll();
08:37 < ehird> sio.WriteString(s);
08:38 < Gracenotes> ehird: "String addition creates a new string by
concatenating the operands."
08:38 -!- oa_Bob2 [n=oa_Bob@187.232.72-86.rev.gaoland.net] has joined #go-nuts
08:38 < KragenSitaker> ehird: I am not confident that your suggested change
would be an improvement in the language :)
08:38 < andguent> ericmoritz: if you could do that the go runtime couldnt
prevent dangling pointers
08:38 < ehird> KragenSitaker: just thought that now :P
08:38 < ehird> Gracenotes: that doesn't say anything about the time
complexity
08:38 < ehird> hmm, wait
08:38 < ehird> maybe I should assemble this as a byte buffer
08:38 < ehird> and only stringify it last
08:38 < KragenSitaker> ehird: it's sort of like the equivalent of having
shortcut syntax for an empty catch block
08:38 < ehird> yeah?
08:38 < KragenSitaker> yes, that is a good idea
08:38 -!- Dysiode [n=pakattac@66.129.59.88] has joined #go-nuts
08:39 -!- Snert [n=chatzill@puff.snert.com] has quit [Read error: 104 (Connection
reset by peer)]
08:39 < Gracenotes> ehird: indeed, it copies both strings to a new location
with quantum magic
08:39 < ehird> ok.  more work though, I'll pilfer some code from ReadSlice
prolly
08:39 < ehird> hmm, ReadAll doesn't work as-is xD
08:39 < scandal> ehird: what will you be trying to read from, though?  if
its a file or string, the size is known a priori
08:39 < Gracenotes> there is not really a realloc.  so.  eh.
08:39 < ehird> scandal: can't do that, literally
08:39 < ehird> type system
08:40 < KragenSitaker> you can't allocate a byte array of a
runtime-determined size?
08:40 < KragenSitaker> maybe use the malloc package?
08:40 < scandal> yes, using make([]byte, size)
08:40 < ehird> no, I mean
08:40 < ehird> I only have a Reader
08:40 < ehird> I cannot ask it for a size
08:40 -!- p0g0_ [n=pogo@unaffiliated/p0g0] has quit [Read error: 60 (Operation
timed out)]
08:41 < ehird> yeah?
08:41 < Gracenotes> ehird: do a more all-out approach?  e.g., make a
growable array of strings, and when you're done, concat them based on how many are
in that array
08:41 < KragenSitaker> what I would really like is an equivalent of djb's
stralloc in Go
08:41 < scandal> i think this is why there is no ReadAll.  no way to do it
efficiently when your only interface is Reader
08:41 < ehird> scandal: rubbish
08:41 < ehird> ReadAll is useful for stdin, especially
08:41 < KragenSitaker> it doesn't have to be extremly efficient
08:41 -!- anders_ [n=anders@c83-253-2-206.bredband.comhem.se] has joined #go-nuts
08:41 < Gracenotes> each string having the size of, say, 4096, or whatever
08:42 < ehird> Gracenotes: growable array
08:42 < ehird> you mean a vector?
08:42 < ehird> anyway how does a string differ from []byte anywayy
08:42 < ehird> *anyway
08:42 < ehird> methods?
08:42 < KragenSitaker> iterating over it is different
08:42 < ehird> also, what do you mean based on
08:42 < Gracenotes> not much
08:42 < jb55> What do you guys think of this idiom?  status :=
<-api.GetTwitterStatus(12345); think its a good idea for an api to be
inherently asyncronous on all calls which may take awhile (like http requests)?
08:42 < KragenSitaker> jb55: YES
08:42 < ehird> jb55++
08:42 < ehird> If everyone does this, Go will be the greatest language ever.
08:42 < jb55> alright cool
08:42 < KragenSitaker> heh
08:43 < ehird> jb55: so, simple io isn't so simple...  all this fuss :)
08:43 < ehird> erm
08:43 < ehird> KragenSitaker:
08:43 < Gracenotes> hugeEffingArray = make([]byte, len(grown)*bufferSize)
08:43 -!- mdietz [n=mdietz@ppp-70-247-229-182.dsl.hstntx.swbell.net] has joined
#go-nuts
08:43 < ehird> Gracenotes: and then?
08:43 < KragenSitaker> ehird: a really simple approach would read into
successive 4096-byte buffers in a linked list until you ran out of input, then
allocate another buffer of the right size to copy them into, copy them into it,
and then make a string out of it
08:44 < Gracenotes> that's the last step
08:44 < ehird> KragenSitaker: think that's what gracenotes is proposing
08:44 < ehird> stack, though, not linked list, yah?
08:44 < ehird> er, no
08:44 < Gracenotes> growable array
08:44 < ehird> linked list
08:44 < ehird> Gracenotes: why
08:44 < ehird> you access it in order
08:44 < ehird> and only append
08:44 < ehird> this avoids reallocation
08:44 -!- Fish [n=Fish@78.238.225.114] has joined #go-nuts
08:44 -!- _mace [n=tHe@c-69-181-138-217.hsd1.ca.comcast.net] has quit [Read error:
60 (Operation timed out)]
08:45 < KragenSitaker> avoiding reallocation isn't that important or
feasible I think
08:45 < Gracenotes> you could do linked list if you like.  the
cache-friendliness you sacrifice probably doesn't matter, since you need it much
more for copying the strings than iterating through the collection
08:45 < Gracenotes> jb55: not quite asynchronous, but you can make a
goroutine that does the same, right :)
08:45 < KragenSitaker> if you had strallocs, you could read into a stralloc
instead
08:46 < Gracenotes> the more temporal chans people are passing around, the
better surely
08:46 < KragenSitaker> temporary chans?
08:46 < jb55> Gracenotes: the api call launches a goroutine and returns a
channel which receives the status when the http request returns with a response
08:46 -!- oa_Bob2 [n=oa_Bob@187.232.72-86.rev.gaoland.net] has quit [Remote closed
the connection]
08:46 -!- Eridius [n=kevin@growl/Eridius] has joined #go-nuts
08:46 < jb55> so statusChan := api.GetTwitterStatus(12345); returns
instantly and you can <-statusChan later if you dont need it right away
08:47 < KragenSitaker> or select
08:47 < ehird> so, a linked list of []bytes
08:47 < ehird> argh
08:47 < Gracenotes> oh, I see.  I thought you intended ':= <-' as the
idiom
08:47 < ehird> buf[0:n]
08:47 < ehird> how do you do slice→array?
08:47 < Gracenotes> which has the same semantics more-or-less as a plain
function call
08:47 < KragenSitaker> ehird: I think you make an array and then copy
elements into it
08:47 < ehird> KragenSitaker: >_<
08:47 < Gracenotes> in a very rough sense.  as in, a few thousand miles away
08:48 < ehird> KragenSitaker: I'll just push n with the array
08:48 -!- Kniht [n=kniht@c-68-58-17-177.hsd1.in.comcast.net] has quit [Connection
timed out]
08:48 < ehird> umm, can you do anonymous tuples?
08:48 < ehird> just {a,b}
08:48 < KragenSitaker> not that I know of
08:48 < KragenSitaker> but you an return multiple values
08:48 < ehird> you can't chunks.PushBack multiple values :P
08:48 -!- Kniht [n=kniht@c-68-58-17-177.hsd1.in.comcast.net] has joined #go-nuts
08:49 -!- Kniht [n=kniht@c-68-58-17-177.hsd1.in.comcast.net] has quit [Read error:
104 (Connection reset by peer)]
08:49 < KragenSitaker> jb55: I probably don't have enough experience with Go
to give useful API advice
08:49 < KragenSitaker> jb55: there may be nonobvious considerations I don't
know about yet.
08:50 < KragenSitaker> like, you can't comma-ok a chan receive, can you?
08:50 < KragenSitaker> ehird: do you know about stralloc?
08:50 < ehird> nope
08:50 < ehird> heard of it though
08:50 -!- Eridius__ [n=kevin@c-67-180-199-108.hsd1.ca.comcast.net] has quit [Read
error: 113 (No route to host)]
08:50 < jb55> I'm avoiding comma ok in my api
08:51 < ehird> how does comma ok work?
08:51 < KragenSitaker> ehird: factoring the buffer management into stralloc
might be a good idea
08:51 < jb55> it screws things up I like method chaining
08:51 < ehird> oh, just returning a bool?
08:51 < jb55> nope
08:51 < ehird> jb55: it's convention
08:51 < jb55> I have an error channel
08:51 < ehird> >_<
08:51 < jb55> but
08:51 < ehird> congrats, you invented one great idiom and disobeyed another
08:51 < jb55> its not something I'm happy with
08:51 < ehird> well
08:51 < ehird> "invented"
08:51 < ehird> jb55: just use comma oks
08:51 < ehird> they're not going anywhere
08:51 < ehird> KragenSitaker: perhaps
08:52 < Gracenotes> I'm still trying to figure out if it's possible to
implement timeout for a chan call.  the only thing I can think of is making a
goroutine on the fly to pass a poison pill (maybe nil).  actually sounds pretty
good.
08:52 < KragenSitaker> surely they will be replaced with exceptions in Go
2.0 ;)
08:52 < ehird> erm, is there a function to copy an array into another?
08:52 < Gracenotes> yeah, I'll do that.  \o/
08:52 -!- p0g0_ [n=pogo@unaffiliated/p0g0] has joined #go-nuts
08:52 < Gracenotes> chan call meaning receiving, incidentally
08:52 < KragenSitaker> Gracenotes: yes.  if you like you can make a second
channel for the timeout message and select
08:52 < scandal> ehird: i've only seen one for []byte in bytes.Copy
08:53 < ehird> good, I want []byte
08:53 < KragenSitaker> Gracenotes: the absence of parametric polymorphism
means it's hard to write a generic send-timeout goroutine, doesn't it?
08:53 < Gracenotes> KragenSitaker: won't that busy-loop between the two
until one comes up with a value?
08:54 < KragenSitaker> Gracenotes: I do not believe select busy-loops
08:54 < Gracenotes> KragenSitaker: perhaps, but I don't need a generic one
here, with my function addEventCheckTimeout :)
08:54 < KragenSitaker> but I haven't tested it
08:54 < Gracenotes> KragenSitaker: so it peruses all values simultaneously?
08:54 < vegai> select would be completely unusable if it busy-looped...
08:54 -!- Snert [n=chatzill@puff.snert.com] has joined #go-nuts
08:54 < KragenSitaker> Gracenotes: the goroutine calling select wakes up
when any of the channels becomes readable
08:55 < Gracenotes> ah.  sounds like magic, and the right sort of magic
that's needed
08:55 < KragenSitaker> I should say "executing select"
08:55 < Gracenotes> I see better why it's called select now
08:55 < KragenSitaker> it's not particularly magical.
08:56 < ehird> you can make function-local structs
08:56 < ehird> <3
08:56 < Gracenotes> perhaps I'll stick with a poison pill for now
08:56 -!- _mace [n=tHe@c-69-181-138-217.hsd1.ca.comcast.net] has joined #go-nuts
08:57 < Gracenotes> since I'd expect people to do a chan call in a long line
of code, with a brief nil check
08:57 < ehird> how are you meant to use container/list?
08:57 < ehird> since it's untyped
08:57 < Gracenotes> chan receive.  not sure why I keep calling it 'call'
08:57 < ehird> define your own type?
08:57 < Gracenotes> perhaps with copious casting, like the other
type-specific implementations
08:57 < Gracenotes> asserting.  I mean.
08:58 < ehird> how do you do those?  I haven't needed them, thank god
08:59 -!- jh99 [n=jh99@e179069005.adsl.alicedsl.de] has quit ["Leaving..."]
08:59 -!- cico [n=cico@net-93-148-181-114.t2.dsl.vodafone.it] has joined #go-nuts
09:00 < KragenSitaker> ehird: I think you have to do
thingIGotOut.(TypeIHopeItIs)
09:01 < ehird> awful code and it still doesn't work :(
09:01 -!- wobsite [n=wobsite_@140.232.183.141] has quit ["Leaving"]
09:01 -!- asmo [n=asmo@c-f6c5e055.1155-1-64736c11.cust.bredbandsbolaget.se] has
joined #go-nuts
09:01 < ehird> wow, this should be easy ;/
09:01 < ehird> *:/
09:02 -!- wobsite [n=wobsite_@140.232.183.141] has joined #go-nuts
09:02 < KragenSitaker> Gracenotes: the "magic" is in runtime·selectgo
09:02 < jabb> KragenSitaker: after testing something small, it appears that
cgo doesn't like opaque structures
09:02 < KragenSitaker> in src/pkg/runtime/chan.c:593
09:03 < ehird> ok, who wants to write a proper func (r Reader) ReadAll()
(contents string, err os.Error)?  :P
09:03 < ehird> Reader being identical to bufio.Reader
09:03 < Gracenotes> aww.  gofmt took my pretty compact code and bloated it
09:03 < KragenSitaker> it does a crapload of stuff but the core of it is
that it checks to see if any channel is readable, and if none are, it enqueues the
current goroutine on all of the channels, sets its status to Gwaiting, and goes to
the scheduler
09:03 < KragenSitaker> yeah, the Go authors don't like compact code
09:04 < KragenSitaker> they like their code to have lots of airspace inside
so it doesn't get smelly
09:05 -!- forkcap [n=root@c-24-21-165-35.hsd1.or.comcast.net] has joined #go-nuts
09:05 < cico> hi everyone
09:05 < KragenSitaker> jabb: that was kind of what it sounded like
09:05 < cico> i'm having installing issues :(
09:06 < Ycros> ehird: you can readall into a []byte which you can then
string
09:06 < ehird> gofmt is kinda crap :P
09:06 < ehird> Ycros: we can't know the size beforehand, but uhh, we're
basically doing that
09:06 < ehird> i wrote a bunch of code, doesn't work, lost motivation
09:06 < cico> on a core duo (= 32b) mac mini with snow leopard, the path
test fails with "1.  error expected, none found" and obviously won't install
anything..
09:07 < cico> I found nothing online about path_test errors, so I thought I
might ask here..
09:07 < jabb> KragenSitaker:
http://code.google.com/p/go/issues/detail?id=126
09:07 < ehird> who said about opaque structs?
09:08 < Ycros> ehird: it's...  really easy?  the question of efficiency
remains - does creating a string from a []byte still use the original []byte or
does it get copied
09:08 < ehird> do the hack the godwm guys did, cast pointers to unsigned
long
09:08 < ehird> and make it opaque in Go
09:08 < jabb> example?
09:08 < KragenSitaker> ehird: I'm trying now
09:08 < ehird> Ycros: it's linked list of {[]byte,int (length)}s, then
allocate big buffer, put them in, stringify
09:08 < ehird> http://hg.suckless.org/godwm/file/411a7038c17a/xlib.h
09:08 -!- GeDaMo [n=gedamo@212.225.108.57] has joined #go-nuts
09:08 < ehird> http://hg.suckless.org/godwm/file/411a7038c17a/xlib.c
09:09 < KragenSitaker> Ycros: I'm sure it gets copied or it wouldn't be
immutable
09:09 < ehird> http://hg.suckless.org/godwm/file/411a7038c17a/xlib.go
09:09 < Ycros> KragenSitaker: mm, you have a point there
09:09 < Ycros> ehird: yeah, that sounds sane
09:09 < ehird> no, it's crazy :-)
09:10 -!- npe [n=npe@94-224-251-223.access.telenet.be] has joined #go-nuts
09:10 < KragenSitaker> really basic question: how do I get a Reader for
stdin?
09:10 -!- cbacelar_ [n=cbacelar@189.105.45.108] has joined #go-nuts
09:10 < Ycros> KragenSitaker: although, how do you efficiently concatenate a
large string?  it's not like you can preallocate a really big string and then fill
it up in bits
09:10 < ehird> bufio.NewReader(os.Stdin)
09:10 < ehird> KragenSitaker: or using sio, sio.In :-P
09:10 < ehird> *In :-P
09:10 < ehird> Ycros: you can
09:10 < Ycros> ehird: how
09:10 < ehird> after pushing them all to a huge linked list
09:10 < ehird> in small increments
09:10 < ehird> and tallying the length
09:10 < ehird> then allocate a huge buffer
09:11 < ehird> and clump them in
09:11 < ehird> it's what my broken code would do
09:11 < KragenSitaker> Ycros: you can preallocate a really big byte buffer
and fill it up in bits
09:11 < scandal> KragenSitaker: File implements io.Reader, so you can just
pass it
09:11 < Ycros> KragenSitaker: but then that byte buffer will get copied when
you turn it into a string
09:11 < KragenSitaker> scandal: it was os.Stdin I was looking for :)
09:11 < scandal> os.Stdin is a File
09:11 < KragenSitaker> Ycros: yes
09:11 -!- owen__ [n=owen@ta-1-91.tip.net.au] has quit [Remote closed the
connection]
09:11 < Ycros> ehird: in which case, why aren't you just using
io.Reader.ReadAll() ?
09:12 < KragenSitaker> there's an io.Reader.ReadAll()?
09:12 -!- atsampson [n=ats@94.193.50.45] has quit [Read error: 104 (Connection
reset by peer)]
09:12 -!- atsampson [n=ats@94-193-50-45.zone7.bethere.co.uk] has joined #go-nuts
09:12 < Ycros> yes
09:12 < ehird> ...
09:12 < ehird> there's an io.ReadAll
09:12 -!- mesenga [n=cbacelar@189.105.82.242] has quit [Read error: 60 (Operation
timed out)]
09:12 < ehird> Ycros: 1.  i hate you for making me waste that work somehow
09:12 < Ycros> except it's a method on Reader
09:12 < ehird> 2.  i love you <3 <3 <3
09:12 < ehird> func ReadAll(r Reader) ([]byte, os.Error)
09:12 < ehird> or
09:12 < ehird> is
09:12 < ehird> it
09:12 < KragenSitaker> awesome
09:13 < Ycros> and then you take the []byte and you go: string(lolBytes)
09:13 -!- klusark [n=klusark@S01060018f3856b11.vc.shawcable.net] has quit []
09:13 -!- cbacelar__ [n=cbacelar@189.105.45.108] has joined #go-nuts
09:13 < ehird> func (r Reader) ReadAll() (contents string, err os.Error) {
09:13 < ehird> s, err := io.ReadAll(r);
09:13 < ehird> return string(s), err;
09:13 < ehird> }
09:13 < ehird> hell yeah
09:14 < Gracenotes> what sorcery is this
09:14 < ehird> okay, why on earth doesn't a Writer for stdout flush on
newline
09:14 < ehird> it's REALLY irritating
09:14 < Ycros> ehird: I think that will break if there's an error
09:15 < ehird> Ycros: s="" not nil, no?
09:15 < Ycros> because what's s if err is not nil?L
09:15 < ehird> ReadAll reads from r until an error or EOF and returns the
data it read.
09:15 < ehird> if it read nothing before erroring it'll return ""
09:15 < Ycros> what if there's an error?
09:15 -!- level09 [n=chatzill@91.75.244.132] has joined #go-nuts
09:15 < ehird> this is what all the other functions do
09:15 < ehird> so shush
09:15 < Ycros> are you saying it returns an empty []byte ?
09:15 < ehird> yes
09:16 < KragenSitaker> ehird: does that compile?
09:16 -!- josephholsten [n=josephho@ip68-0-123-16.tu.ok.cox.net] has joined
#go-nuts
09:16 < ehird> yes
09:16 -!- josephholsten [n=josephho@ip68-0-123-16.tu.ok.cox.net] has quit [Remote
closed the connection]
09:16 * ehird makes his Writer not buffered
09:16 < KragenSitaker> I didn't know you could define a method on an
interface
09:16 < ehird> Reader isn't an interface
09:16 < ehird> sio.Reader
09:16 < ehird> type Reader struct {
09:16 < ehird> *bufio.Reader;
09:16 < ehird> }
09:17 < KragenSitaker> nil is not a string value, is it?
09:17 < ehird> No
09:17 < Gracenotes> hm..  come to think of it, if someone wants to add the
same function as a listener twice, my current procedure doesn't allow that,
because it's a map with a function key
09:17 < Gracenotes> I should make an auto-incrementing value.  -.-
09:17 < KragenSitaker> oh, I thought you were talking about io.Reader, not
sio.Reader, sorry
09:18 < ehird> sio.go:19: cannot use os.Stdout (type *os.File) as type
*io.Writer
09:18 < ehird> rage
09:18 < ehird> KragenSitaker: sio.Reader == bufio.Reader
09:18 < ehird> maybe ReadAll should be a channel
09:18 -!- oa_Bob [n=oa_Bob@187.232.72-86.rev.gaoland.net] has joined #go-nuts
09:18 < ehird> in case you do it on a socket, say
09:18 < ehird> thoughts, anyone?
09:18 < ehird> though I guess the same applies to ReadLine...  ReadByte...
09:18 < Ycros> what is sio and what is it for
09:18 < KragenSitaker> wait, isn't it a struct containing a pointer to a
bufio.Reader?
09:18 -!- [k2]_ [n=mark@69.162.91.23] has joined #go-nuts
09:18 < ehird> simple io and for doing simple io
09:18 -!- Kamokow [n=Kamokow@S010600226b838767.cg.shawcable.net] has joined
#go-nuts
09:19 < ehird> KragenSitaker: which is accessible as a bufio.Reader.
09:19 < Ycros> io is already simple
09:19 -!- Kamokow [n=Kamokow@S010600226b838767.cg.shawcable.net] has left #go-nuts
[]
09:19 < ehird> Ycros: nope:
09:19 < ehird> bufio.NewReader(os.Stdin).ReadString('\n')
09:19 < ehird> that is not a simple way to read a line
09:19 < ehird> sio.ReadLine()
09:19 < ehird> that is
09:19 < KragenSitaker> ehird: bufio.Reader is an interface, while sio.Reader
is not
09:19 -!- borre-go [n=eduardo@189.202.39.184] has quit ["Saliendo"]
09:19 < ehird> KragenSitaker: yes
09:20 < KragenSitaker> I wonder how io.ReadAll() manages its buffering
09:20 -!- fivebats [n=anonymou@c-76-115-189-78.hsd1.or.comcast.net] has quit []
09:21 < Gracenotes> hm.  instead of having explicit remove functions, I
might have something along the lines of C#'s disposable: IDisposable
Subscribe(IObserver<T> observer)
09:21 < KragenSitaker> func ReadAll(r Reader) ([]byte, os.Error) { var buf
bytes.Buffer; _, err := Copy(&buf, r); return buf.Bytes(), err;
09:21 < KragenSitaker> }
09:22 < Gracenotes> is this overkill for Go?
09:22 -!- VoiDeD` [i=voided@c-67-175-210-185.hsd1.il.comcast.net] has quit [Read
error: 104 (Connection reset by peer)]
09:22 < KragenSitaker> bytes.Buffer is an io.Writer
09:22 -!- mesenga [n=cbacelar@189.105.45.108] has joined #go-nuts
09:22 < KragenSitaker> so that's your StringIO
09:24 < ehird> hmm
09:24 < ehird> anyone know how to make bufio.Writer flush on newline?  :/
09:24 -!- mdietz [n=mdietz@ppp-70-247-229-182.dsl.hstntx.swbell.net] has quit
[Read error: 104 (Connection reset by peer)]
09:25 < KragenSitaker> ehird: you could wrap it in another type implementing
io.Writer?
09:25 < Ycros> call flush when you write a newline?  :P
09:26 -!- Fish [n=Fish@78.238.225.114] has quit [Remote closed the connection]
09:26 < ehird> Ycros: har har har
09:26 < Ycros> no, really
09:26 < Ycros> buffered is just buffered, there's no intelligence around how
it buffers
09:27 < ehird> the user can call the other methods
09:27 < ehird> I'm not reimplementing every one
09:27 < ehird> and unbuffered lacks the text io helpers
09:28 < KragenSitaker> ehird: you could implement a type similar to
bufio.Writer that passes through its writes to bufio.Writer
09:28 < KragenSitaker> to a bufio.Writer
09:28 < KragenSitaker> and calls Flush() on it when it sees a newline
09:28 -!- delsvr [n=delsvr@cpe-67-242-41-219.twcny.res.rr.com] has quit []
09:29 < Ycros> which is what I said
09:29 -!- cico [n=cico@net-93-148-181-114.t2.dsl.vodafone.it] has quit []
09:29 < KragenSitaker> well, it's a specific way to implement what you said
09:30 < KragenSitaker> but I certainly didn't mean to sound like I was
disagreeing!
09:30 < ehird> i might
09:30 < Ycros> yeah
09:30 < Ycros> turning your buffered io back into unbuffered!  yarr!
09:31 -!- cbacelar_ [n=cbacelar@189.105.45.108] has quit [Read error: 110
(Connection timed out)]
09:31 < GeDaMo> Unbuffered buffered I/O :P
09:32 -!- mac2 [n=whatever@c-67-164-29-94.hsd1.ca.comcast.net] has quit []
09:32 -!- mac5 [n=whatever@c-67-164-29-94.hsd1.ca.comcast.net] has quit []
09:32 < KragenSitaker> well, line-buffered I/O :)
09:32 -!- SDR00 [n=chatzill@katy-dsl-76-164-127-169.consolidated.net] has quit
[Read error: 110 (Connection timed out)]
09:32 < Ycros> yeah, but how many people are going to be writing out partial
lines?
09:32 < KragenSitaker> hahahaha "combines the performance and security
benefits associated with using a compiled language like C++ with the speed of a
dynamic language like Python."
09:33 < ehird> XD
09:33 < KragenSitaker> yes, that's clearly what we want: the security of
buffer overflows combined with the speed of a bytecode stack machine
09:33 < KragenSitaker>
http://www.techcrunch.com/2009/11/10/google-go-language/
09:33 < asmo> Kragen: Who has written that?
09:33 < KragenSitaker> techcrunch
09:33 < asmo> Obviously not written by a programmer
09:34 < ehird> I wish idiots would stop comparing Go to C++ or Python or
Java.
09:34 < KragenSitaker> it's always reassuring to realize that there are
people who are WAY more ignorant than I am
09:34 < asmo> ehird: Google them self do it
09:34 < ehird> Why do they do it?  Visual resemblance?  I don't see any.
09:34 < ehird> asmo: Meh, I don't care.
09:34 < asmo> ehird: And why would they not?
09:34 < ehird> Go is the Plan 9 C used for writing programs there, improved
and cleaned up.
09:34 < asmo> ehird: You do not see any similarities between C++/C and
Google GO?
09:34 < ehird> With some great new features.
09:34 < KragenSitaker> hahaha the comments are even better
09:35 < ehird> (specifically said for programs instead of system libs etc)
09:35 < KragenSitaker> This isn’t a C++ replacement.
09:35 < KragenSitaker> Google is targeting Javascript.
09:35 < ehird> asmo: *Go
09:35 < ehird> I see similarities between C and Go, naturally.
09:35 < ehird> C++?  No.
09:35 < ehird> Uh, they both have foo.bar(baz);
09:35 < ehird> Okay yep end of similarities to C++.
09:35 < asmo> Well, you still need to compare them as they are competitors
09:35 < ehird> No they are not.
09:36 < KragenSitaker> I don't know.  Go is a lot more like C++ than it is
like JavaScript or Scheme or Forth.
09:36 < blackmagik> KragenSitaker, how is a systems programming language
targetting JavaScript?
09:36 < ehird> C++ is in the market of crazy people, Go is in the market of
applications-C-but-better.
09:36 < KragenSitaker> blackmagik: I have no idea
09:36 < ehird> blackmagik: it was a quote
09:36 < blackmagik> oh
09:36 < asmo> ehird: I'm not going to start a flame war here, but I
obviously do not agree with that
09:36 < asmo> C++ is not bad, it just has flaws, just as most languages
09:36 -!- astrometria
[n=astromet@host86-129-133-201.range86-129.btcentralplus.com] has joined #go-nuts
09:37 < ehird> asmo: True or false: You are paid to, or have been paid to,
write C++ code.
09:37 < Ycros> flaws are all it has
09:37 < Ycros> [nods]
09:37 < KragenSitaker> heh
09:37 < ehird> (Hint: It's true)
09:37 < asmo> ehird: I'v written thousands of line of C++ code which I have
not got paid for
09:37 < ehird> Ohh.
09:37 < ehird> It's good they're giving internet connections to mental
hospitals now.
09:37 < ehird> Human rights and all that.
09:37 -!- ruda [n=ruda@200-180-176-25.paemt706.dsl.brasiltelecom.net.br] has
joined #go-nuts
09:37 -!- ruda [n=ruda@200-180-176-25.paemt706.dsl.brasiltelecom.net.br] has quit
[Remote closed the connection]
09:38 < ehird> [[javascript?
09:38 < ehird> wouldn’t it be targeting more like php?]]
09:38 < Gracenotes> O_O so I've written 246 lines..  god, it's so late
already..  or early...
09:38 < asmo> ehird: It's sad that we can not have a mature discussion
09:38 < Gracenotes> I think you're all forgetting the name of the channel
09:38 < ehird> I'm able to have a mature discussion when it isn't both about
defending C++ and held at a time when I am sleep deprived a bit
09:38 < KragenSitaker> C++ has its merits and its drawbacks
09:39 < asmo> Yes
09:39 < blackmagik> i think after you've spent some time in any language
you'd realize there are some flaws (perceived by you).  one man's flaws is the
norm to another.
09:39 < me__> KragenSitaker: hi!
09:39 < KragenSitaker> there isn't really anything else out there that you
could write the STL in
09:39 < KragenSitaker> hi me__
09:39 < ehird> blackmagik: BCT HAS NO FLAWS!
09:39 < asmo> blackmagik: Indeed
09:39 < ehird> It is completely without: flaws; usability.
09:39 < me__> KragenSitaker: asheesh has told many cool stories, so i say
hi.
09:39 < blackmagik> ehird, so it's perfect then?  i don't believe anything
is perfect :)
09:40 < ehird> blackmagik: http://esolangs.org/wiki/Bitwise_Cyclic_Tag Find
a single blemish, I dare you.
09:40 < KragenSitaker> me__: I am glad to meet you!  I think he has not told
me stories about you, so you are safe from me repeating them :)
09:40 < me__> even better...
09:40 < blackmagik> ehird, :)
09:41 < asmo> I doubt ehird is serious
09:41 -!- cbacelar__ [n=cbacelar@189.105.45.108] has quit [Read error: 110
(Connection timed out)]
09:41 < ehird> Oh I absolutely am, BCT is a flawless work of elegant
mathematical beauty.  It's just simultaneously that and useless.
09:41 < Ycros> being useless is a flaw ;)
09:41 < asmo> I was referring to the previous discussion
09:42 < ehird> No, it is a virtue!
09:42 < blackmagik> Ycros, makes a good point lol
09:42 < ehird> Usability dictates practicality, practicality dictates
compromise.
09:42 -!- tokuhiro______ [i=tokuhiro@p2241-ipbf4402marunouchi.tokyo.ocn.ne.jp] has
joined #go-nuts
09:42 < ehird> asmo: What, about C++?
09:42 < ehird> No, I am very serious that C++ is totally terrible
09:42 < KragenSitaker> C++ pretty much completely dominates big games
programming
09:42 < asmo> So you would actually choose C over C++ for a game engine?
09:43 < KragenSitaker> as well as Google's server-side stuff
09:43 < ehird> asmo: are those my only two choices?
09:43 < asmo> ehird: Yes
09:43 < Ycros> I would choose a careful subset of C++
09:43 < ehird> Then, almost all of the time, yes.
09:43 < ehird> I would choose C.
09:43 < KragenSitaker> I don't think there really are any other choices
other than those two.
09:44 < KragenSitaker> I mean, what?  Forth?  Delphi?  FORTRAN?
09:44 < blackmagik> for me i totally like the minimalism of C over C++.  C
is a little too minimal with regard to collections, and other conveniences, but
minimalism is always a good thing imo.
09:44 < ehird> Go :-P
09:44 < asmo> Kragen: C#
09:44 < ehird> (C core with lots of Lua, etc)
09:44 -!- wobsite [n=wobsite_@140.232.183.141] has quit [Read error: 110
(Connection timed out)]
09:44 < Ycros> KragenSitaker: plenty of choices
09:44 < asmo> Kragen: C# is quite a mature language for games now days
09:44 < KragenSitaker> C# is too slow, isn't it?
09:44 < ehird> KragenSitaker: XNA
09:44 < asmo> No
09:44 < blackmagik> KragenSitaker, no
09:44 < KragenSitaker> I mean, for the core engine
09:44 < Ycros> depends on the game
09:44 < asmo> Again, no
09:45 -!- bear [n=bear@c-71-230-97-250.hsd1.pa.comcast.net] has joined #go-nuts
09:45 < KragenSitaker> interesting, I had no idea
09:45 < Ycros> you can write games in Python, and that's not that fast
09:45 < asmo> Well, I would not implement a physics engine purely in C#, but
you get the point
09:45 < sladegen> factor or gambit...  lots of choices.
09:45 < ehird> [[WTF?  The Gopher cartoon looks like my 5 year old drew it.
Billions of $ and this is the best Google can come up with?]]
09:45 < ehird> poor renée
09:45 < Ycros> and what about Haskell?  :)
09:45 < KragenSitaker> you can write games in Python because the core engine
is in C, Ycros
09:45 < Ycros> KragenSitaker: no, pure python
09:45 < asmo> http://www.youtube.com/watch?v=W6XF8cWAeOg -> our C# engine
09:45 < asmo> Not a single line of C or C++
09:46 < KragenSitaker> Ycros: I did a really simple wave mechanics display
hack in Python with Numeric
09:46 < KragenSitaker> Ycros: after I beat the crap out of optimizing it in
Python, I switched to C
09:46 < asmo> Ycros: Haskell is too academic
09:46 -!- lolsuper_ [n=super_@unaffiliated/lolsuper-/x-9881387] has quit [Read
error: 113 (No route to host)]
09:46 < blackmagik> asmo, that's pretty cool
09:46 < KragenSitaker> initially the C was only a little faster
09:46 < KragenSitaker> when I was done it was 5x faster
09:46 < ehird> Haskell isn't too academic.
09:47 < Ycros> asmo: I disagree
09:47 < asmo> ehird: It was when I last took a course in it
09:47 < ehird> what year
09:47 < asmo> 2004 I believe
09:47 < ehird> way different nowadays
09:47 < asmo> Huges was my teacher
09:47 < ehird> ~2006-2007 were the first inklings, but 2008 it pretty much
exploded and 2009 it's going on strong.  with a surprising amount of industry
usage too.
09:48 < asmo> Even he agreed with Haskell being an academic language at the
time
09:48 < Ycros> mind you, I taught myself Haskell, I in no way approached it
from an academic perspective
09:48 < blackmagik> Ycros, that doesn't say anything regarding the language
itself being academic
09:48 -!- dvyjones_ is now known as Dvyjones
09:49 < asmo> How easy is it to link existing C/C++ libs with Haskell?
09:49 -!- pgas [n=user@pdpc/supporter/active/pgas] has joined #go-nuts
09:49 < ehird> so as soon as I fix this buffering problem and add some
helper file/maybe socket functions, it'll just be a matter of slapping a license
on it and voila, first third-party go package
09:49 < blackmagik> Ycros, do you use Haskell in the enterprise?
09:49 < ehird> asmo: quite
09:49 < KragenSitaker> :)
09:49 < asmo> quite?  (:
09:50 < ehird> quite easy
09:50 < asmo> I would probably choose F# over Haskell for an enterprise app
if I needed a functional language
09:50 < Ycros> blackmagik: no, but I've certainly used it in various pet
projects of mine
09:50 < ehird> why?
09:50 -!- wobsite [n=wobsite_@140.232.179.158] has joined #go-nuts
09:50 -!- engla [n=ulrik@wikipedia/Sverdrup] has quit [Read error: 110 (Connection
timed out)]
09:50 < asmo> Microsoft backing it up
09:50 < Ycros> asmo: OCaml is horrible
09:50 < Ycros> well, compared to Haskell anyway
09:50 < ehird> microsoft, less pure (.net oop imperative stuff), ocaml
instead of haskell base, much smaller community...
09:51 -!- dschn [n=dschn@pool-70-19-224-19.bos.east.verizon.net] has quit
[Connection timed out]
09:51 < asmo> ehird: the (.net oop imperative stuff) is what makes it easy
to integrate with the rest of the code base
09:51 < Ycros> I won a book on F# a few weeks ago, I've gone through it and
written a whole bunch of stuff in F#
09:51 < Ycros> I don't like it, compared to Haskell
09:51 < ehird> oh hey, my yacc tthing wasn't needed because you can go
CLEANFILES+=foo
09:51 < ehird> *thing
09:51 < ehird> cool
09:51 -!- dragon3 is now known as dragon3_away
09:51 < Ycros> the type inference is clunky
09:52 < Ycros> and I miss type classes
09:53 < asmo> Ycros: I'v not written much in F# so I can not really argue
about that, but I believe it would be hard to get it as clean as Haskell with a
tight coupling with the .net world
09:53 < Ycros> asmo: probably.
09:53 < ehird> meh
09:53 < Ycros> asmo: but then it's based on OCaml, so all the things I
didn't like about OCaml are there
09:53 < ehird> why does bufio tie useful methods to buffering
09:53 < Ycros> including the syntax
09:53 < Ycros> ehird: because maybe they need buffering to be useful?
09:54 < ehird> what...  WriteByte?
09:54 < asmo> I maybe should give Haskell another go
09:54 -!- Dysiode [n=pakattac@66.129.59.88] has left #go-nuts []
09:54 < Ycros> ehird: okay, heh
09:54 < KragenSitaker> OCaml isn't horrible, IMHO.  it's just eager and
complete about type erasure
09:54 < KragenSitaker> than Haskell
09:55 -!- level09 [n=chatzill@91.75.244.132] has quit [Read error: 110 (Connection
timed out)]
09:55 < Ycros> asmo: http://book.realworldhaskell.org/read/ is good, or
http://learnyouahaskell.com/
09:55 < KragenSitaker> ehird: if you care about performance, you probably
don't want to WriteByte to a file descriptor
09:56 < ehird> It's still handy
09:56 < Ycros> KragenSitaker: the syntax alone makes me cringe
09:56 < KragenSitaker> Ycros: are there any Haskell programs other than
Darcs that are useful to people who aren't Haskell programmers?
09:56 < asmo> Ycros: Thanks, although I know the basics quite well (:
09:56 < asmo> Ycros: I would like to try it for a distributed app
09:56 -!- teop2k [n=teop2k@89.232.105.25] has joined #go-nuts
09:57 < KragenSitaker> I'm pretty insensitive to syntax, although OCaml's
isn't my favorite either
09:57 < Ycros> KragenSitaker: http://raincat.bysusanlin.com/ ? :P
09:57 < asmo> Ycros: Do Haskell have built in support for that?
09:58 < me__> KragenSitaker: xmonad.
09:58 -!- wobsite [n=wobsite_@140.232.179.158] has quit ["Leaving"]
09:58 -!- tokuhiro_____ [i=tokuhiro@p3065-ipbf6805marunouchi.tokyo.ocn.ne.jp] has
quit [Read error: 110 (Connection timed out)]
09:59 < Ycros> asmo: not built-in, no, but there are probably some libraries
up on hackage.  It does come with STM concurrency support however.
09:59 < me__> is there a concurrent ML style thing for haskell?
10:00 < KragenSitaker> me__: oh, good point!  I forgot abou xmonad
10:00 < Ycros> me__: I haven't used concurrent ML
10:01 < asmo> I like how erlang implement it
10:01 < me__> Ycros: heard of it?  its by john reppy, a ton like libthread
and limbo (and these days go)
10:02 < me__> just in september a parallel version came out
10:02 < jb55> is it possible to select{} on a slice of channels?
10:02 -!- rmt__ [n=rmt@dslb-092-074-076-097.pools.arcor-ip.net] has joined
#go-nuts
10:02 < jb55> wait
10:02 < jb55> hmm
10:02 -!- CalJunior [n=caljunio@94.157.241.211] has joined #go-nuts
10:02 < jb55> nm
10:02 -!- Pthing [n=pthing@77-100-194-169.cable.ubr04.pres.blueyonder.co.uk] has
joined #go-nuts
10:05 < Ycros> me__: I've heard of it in passing
10:06 < Ycros> asmo: it's what erlang was designed to do
10:06 < asmo> Ycros: Yes, I know
10:06 < ehird> what is the mascot again
10:07 -!- nddrylliog [n=nddrylli@ile74-2-82-247-195-175.fbx.proxad.net] has joined
#go-nuts
10:07 -!- rmt [n=rmt@dslb-092-074-078-049.pools.arcor-ip.net] has joined #go-nuts
10:07 -!- nddrylliog [n=nddrylli@ile74-2-82-247-195-175.fbx.proxad.net] has left
#go-nuts ["*flash*"]
10:08 < KragenSitaker> a gopher
10:08 < me__> is it glenda?
10:08 < ehird> no
10:08 < ehird> same artist though
10:09 < me__> i'm being silly.
10:10 -!- forkcap [n=root@c-24-21-165-35.hsd1.or.comcast.net] has left #go-nuts []
10:11 < Snert> __gilles ?
10:12 -!- pgas [n=user@pdpc/supporter/active/pgas] has left #go-nuts ["/part"]
10:13 -!- engla [n=ulrik@90-229-231-23-no153.tbcn.telia.com] has joined #go-nuts
10:15 < jabb> any documentation on gopack available?
10:15 -!- Pthing [n=pthing@77-100-194-169.cable.ubr04.pres.blueyonder.co.uk] has
quit [Remote closed the connection]
10:15 < ehird> http://golang.org/cmd/
10:15 < ehird> →
10:15 < ehird> http://golang.org/cmd/gopack/
10:16 -!- rmt_ [n=rmt@dslb-092-074-078-077.pools.arcor-ip.net] has quit [Read
error: 110 (Connection timed out)]
10:17 -!- xkpe [n=xkpe@81.84.175.144] has quit [Remote closed the connection]
10:18 -!- rmt__ [n=rmt@dslb-092-074-076-097.pools.arcor-ip.net] has quit [Read
error: 110 (Connection timed out)]
10:19 -!- Ishmael [n=ishmael@189.96.57.49] has joined #go-nuts
10:21 -!- leadnose [i=leadnose@xob.kapsi.fi] has left #go-nuts []
10:22 < KragenSitaker> hmm, the language spec says, "The method set of the
corresponding pointer type *T is the set of all methods with receiver *T or T
(that is, it also contains the method set of T)."
10:23 -!- aym [n=psgfan@elaphe.int-evry.fr] has left #go-nuts []
10:24 -!- Dvyjones [i=dvyjones@unaffiliated/dvyjones] has quit ["leaving"]
10:24 < KragenSitaker> aha.  but that's only for named types T
10:24 -!- jolleyjoe [n=jolleyjo@firewall.starsys.com] has joined #go-nuts
10:25 < KragenSitaker> hmm, but I can't actually define a method on a
pointer-to-a-pointer type
10:26 < jolleyjoe> So, what do you guys think of Go?
10:26 < KragenSitaker> we're nuts for go!
10:26 < jolleyjoe> haha.
10:26 < jolleyjoe> but really?
10:27 < KragenSitaker> I still don't know it well enough to make a good
assessment
10:27 < KragenSitaker> it looks like it could be a good alternative to C or
C++ for the things those languages are good for
10:28 < KragenSitaker> but I am not yet sure if it is
10:28 < jolleyjoe> I see.
10:28 < jolleyjoe> question, after I install Go.
10:29 < Ishmael> Same here, is too early to tell, I would like to see a
complex app programmed in go before judging
10:29 < jolleyjoe> is it okay to remove $GOROOT/src?
10:29 -!- anders_ [n=anders@c83-253-2-206.bredband.comhem.se] has quit [Read
error: 104 (Connection reset by peer)]
10:30 -!- anders_ [n=anders@c83-253-2-206.bredband.comhem.se] has joined #go-nuts
10:30 < KragenSitaker> I assume so, but I don't know
10:30 -!- Yuffster [n=yuffster@71.181.138.238] has quit [Remote closed the
connection]
10:30 < KragenSitaker> the libraries seem to be installed in $GOROOT/_obj
10:31 < jolleyjoe> KragenSitaker: is that a yes, then?  :)
10:31 < jolleyjoe> another question, where are the actual Go binaries?
10:31 < KragenSitaker> I don't know, I haven't tried it!
10:32 -!- aa [n=aa@r190-135-131-4.dialup.adsl.anteldata.net.uy] has joined
#go-nuts
10:32 < KragenSitaker> you mean like 8g?  probably in ~/bin
10:32 < KragenSitaker> buen d'
10:32 < me__> jolleyjoe: $GOBIN
10:32 < KragenSitaker> buen dia aa
10:32 < aa> KragenSitaker: hola!
10:33 < jolleyjoe> me__: Thanks… I guess if you don't specify a $GOBIN, it
goes in ~/bin
10:33 < KragenSitaker> okey, me tengo que ir
10:33 < KragenSitaker> y dormir
10:33 < me__> good night.
10:34 < KragenSitaker> hasta luego gomigos
10:34 < Ishmael> hasta
10:34 -!- offby1 [n=user@pdpc/supporter/monthlybyte/offby1] has quit [Remote
closed the connection]
10:34 < Ishmael> buenas noches
10:34 -!- offby1 [n=user@q-static-138-125.avvanta.com] has joined #go-nuts
10:36 -!- jjardon [n=torkiano@118.154.60.213.dynamic.mundo-r.com] has quit
["Saliendo"]
10:36 -!- cankoy [i=5e360d4d@gateway/web/freenode/x-enxaobfptbkfsapd] has joined
#go-nuts
10:38 -!- actel [n=pj@212.188.172.116] has quit [Read error: 145 (Connection timed
out)]
10:41 < jabb> hey KragenSitaker, got SDL to work
10:41 -!- CalJunior [n=caljunio@94.157.241.211] has quit ["Colloquy for iPhone -
http://colloquy.mobi"]
10:41 -!- furbage [n=furbage@87-194-207-82.bethere.co.uk] has joined #go-nuts
10:42 -!- suvash [n=suvash@113.199.174.67] has quit ["Leaving"]
10:43 < jabb> http://go.pastebin.com/ma8d2de does exactly what is you'd
expect
10:43 -!- mg [n=mg@daimi-pat.daimi.au.dk] has left #go-nuts ["ERC Version 5.3 (IRC
client for Emacs)"]
10:44 -!- wobsite [n=wobsite_@140.232.179.158] has joined #go-nuts
10:44 < GeDaMo> jabb: now convert spacewar to use SDL :P
10:44 < jabb> haha
10:47 < jessta> what's the shortest way to get an array of all the numbers 1
to 100?
10:48 < exch> a good old fashioned loop probably
10:49 -!- Freenode [n=go-steph@80.229.144.67] has joined #go-nuts
10:49 -!- Freenode [n=go-steph@80.229.144.67] has left #go-nuts []
10:50 -!- Guest32560 [n=go-steph@80.229.144.67] has joined #go-nuts
10:50 -!- sash1 [n=sash@95.143.22.201] has joined #go-nuts
10:51 -!- _mace [n=tHe@c-69-181-138-217.hsd1.ca.comcast.net] has quit ["Lost
terminal"]
10:51 -!- sash1 [n=sash@95.143.22.201] has left #go-nuts []
10:51 -!- hanni [n=hanni@93-96-68-133.zone4.bethere.co.uk] has joined #go-nuts
10:51 -!- furbage [n=furbage@87-194-207-82.bethere.co.uk] has quit []
10:54 -!- evilhackerdude [n=stephan@e181105168.adsl.alicedsl.de] has joined
#go-nuts
11:03 -!- d_rwi1 [n=mael@121.245.69.7] has joined #go-nuts
11:04 -!- d_rwi1 [n=mael@121.245.69.7] has left #go-nuts []
11:05 -!- Guest32560 [n=go-steph@80.229.144.67] has quit []
11:07 -!- Sandeep_ [n=Agent@122.172.115.95] has joined #go-nuts
11:08 < Snert> __gilles ?
11:08 -!- dr_keeto [n=keeto@121.54.92.149] has quit []
11:09 -!- cankoy [i=5e360d4d@gateway/web/freenode/x-enxaobfptbkfsapd] has quit
["Page closed"]
11:11 -!- furbage [n=furbage@87-194-207-82.bethere.co.uk] has joined #go-nuts
11:14 -!- Sandeep` [n=Agent@122.172.123.91] has quit [Read error: 60 (Operation
timed out)]
11:16 -!- furbage [n=furbage@87-194-207-82.bethere.co.uk] has quit []
11:18 -!- fultilt [n=steve@netblock-66-159-209-175.dslextreme.com] has quit
["WeeChat 0.2.6.1"]
11:18 -!- furbage [n=furbage@87-194-207-82.bethere.co.uk] has joined #go-nuts
11:20 -!- furbage [n=furbage@87-194-207-82.bethere.co.uk] has quit [Client Quit]
11:22 -!- rog [n=rog@78.151.49.70] has quit []
11:22 -!- keithpoole [n=keithpoo@cpc3-bagu8-0-0-cust84.bagu.cable.ntl.com] has
joined #go-nuts
11:25 -!- oklofok [n=oklopol@a91-153-117-63.elisa-laajakaista.fi] has joined
#go-nuts
11:25 -!- sm [n=sm@cpe-75-85-88-227.socal.res.rr.com] has quit [Read error: 54
(Connection reset by peer)]
11:25 -!- sm [n=sm@cpe-75-85-88-227.socal.res.rr.com] has joined #go-nuts
11:26 -!- mat_ [n=mat@mx3.absolight.net] has joined #go-nuts
11:27 -!- elmar [n=elmar@dslb-094-219-213-184.pools.arcor-ip.net] has joined
#go-nuts
11:28 -!- Jan_Flanders [n=chatzill@d54C1E33B.access.telenet.be] has joined
#go-nuts
11:29 -!- lux` [n=lux@151.54.240.177] has joined #go-nuts
11:31 -!- defectiv [n=clays@c-24-5-65-40.hsd1.ca.comcast.net] has quit ["This
computer has gone to sleep"]
11:32 -!- b00t [n=b00t@unaffiliated/b00t] has joined #go-nuts
11:34 -!- lux` [n=lux@151.54.240.177] has quit [Remote closed the connection]
11:34 -!- ztzg [n=dash@dslb-084-057-004-092.pools.arcor-ip.net] has joined
#go-nuts
11:34 -!- Freenode [n=gogo-ste@ssweeney.plus.com] has joined #go-nuts
11:34 -!- Freenode is now known as Guest22424
11:34 -!- Guest22424 [n=gogo-ste@ssweeney.plus.com] has quit [Client Quit]
11:35 -!- mush06 [n=mush@88.174.45.116] has joined #go-nuts
11:36 -!- rot [i=death@59.93.8.248] has quit [Read error: 110 (Connection timed
out)]
11:36 < ehird> i can't seriously believe that getchar() has become
bufio.NewReader(os.Stdin).ReadByte().  surely there must be a simpler way?
11:37 < mush06> hi all, I currently use anonymous field to do a kind of
inheritance, is there a way (or a pattern) to do something like super ?
11:37 < ehird> mush06: first, forget oop, second, your problem is solved
11:38 < mush06> ehird: view like this it's easy :p
11:38 < ehird> precisely.
11:38 < sergio> wouldn't "resource temporarily unavailable" be os.EAGAIN in
an amd64?
11:38 -!- depood [n=hidden@chello080108055214.19.11.vie.surfer.at] has quit ["Lost
terminal"]
11:39 < engla> mush06: tutorial 2 covers this.  just call a method on the
anonymous field
11:39 -!- arun_ [n=arun@unaffiliated/sindian] has quit [Remote closed the
connection]
11:39 -!- ivan` [n=ivan@unaffiliated/ivan/x-000001] has quit ["Coyote finally
caught me"]
11:39 < engla> by covers this, I mean..  look there for an example
11:39 -!- ivan` [n=ivan@unaffiliated/ivan/x-000001] has joined #go-nuts
11:39 < olegfink> ehird: hmm, I see it becoming somewhat nicer with 'default
receivers'
11:39 -!- woremacx_ [n=woremacx@7c293ac4.i-revonet.jp] has joined #go-nuts
11:39 < ehird> olegfink: hmm?
11:39 < olegfink> (but hey, that's another language suggestion!)
11:40 < mush06> thx
11:41 -!- woremacx [n=woremacx@unaffiliated/woremacx] has quit [Read error: 60
(Operation timed out)]
11:41 < olegfink> say you can define func ReadByte (b *Reader =
NewReader(os.Stdin)) () ...
11:41 < ehird> ah
11:41 < olegfink> then it becomes somewhat like (syntactically, but maybe
ideologically too) akin to a static class method in oop
11:42 < olegfink> as you can now call it as bufio.ReadByte()
11:43 < olegfink> I'm not sure it's useful enough though
11:43 < olegfink> probably easier to just implement getchar() etc.  :-)
11:43 < oklofok> wait why can you now call it as bufio.ReadByte()?
11:43 < ehird> that's what i'll do with sio
11:43 < ehird> is there an advantage to a []byte over a string in "user"
code?
11:43 < ehird> oklofok: you can't he just made it u
11:43 < ehird> p
11:43 -!- woremacx_ [n=woremacx@7c293ac4.i-revonet.jp] has quit [Client Quit]
11:43 -!- arun_ [n=arun@unaffiliated/sindian] has joined #go-nuts
11:44 < oklofok> i thought the definition of readbyte was supposed to give
you that
11:44 -!- woremacx [n=woremacx@unaffiliated/woremacx] has joined #go-nuts
11:45 < olegfink> oklofok, readbyte needs a receiver of type *Reader
11:45 < oklofok> yes
11:45 < olegfink> ehird: sure there is if you want that to be mutable.
11:45 < ehird> if there a function foo(err) meaning if err { print out err;
exit 1 }
11:46 -!- illya77 [n=illya77@183-96-112-92.pool.ukrtel.net] has joined #go-nuts
11:46 < ehird> olegfink: well, right, apart from mutability
11:46 < oklofok> i just thought for bufio.ReadByte() you need to make it a
"method"
11:46 < oklofok> oh wait bufio is a module
11:47 < oklofok> well maybe talk to you later once i've finished the first
50 lines of the tutorial ehird linked
11:47 < ehird> Vector grows automatically, right?
11:47 < oklofok> yeah
11:47 < ehird> heh
11:47 < ehird> already ahead of me
11:47 < ehird> typical oklofok
11:47 -!- cbacelar_ [n=cbacelar@189.105.45.108] has joined #go-nuts
11:47 < oklofok> i'm the master of guessing.  you should totally trust me
11:49 < olegfink> ehird: I have no go experience (I spend all the 'go' time
annoying people with questions about the compiler), but from the src/pkg/ code
I've read, []byte is used when you need a buffer to pass to someone to fill (lots
of this in io), otherwise probably string is fine
11:49 < vegai> how would I convert string to []byte?
11:50 < olegfink> strings.Bytes()
11:50 -!- b00t [n=b00t@unaffiliated/b00t] has quit [Read error: 60 (Operation
timed out)]
11:50 < jb55> ehird, #go-nuts: I did a writeup of what we were talking about
before http://tinyurl.com/ygnkhla.  Just starting to realize the power of the
goroutine+channel and its applications.  concurrency is a breeze.  so much fun :)
11:51 < ehird> olegfink: yah, for instance it's bf source in my case
11:51 < vegai> ah, thanks.  And this is a good way to initialize a []byte:
var foobar []byte = strings.Bytes("foobar"); // right?
11:51 < ehird> var foobar []byte = "foobar";
11:52 < ehird> jb55: I have an idea wrt erroors
11:52 < ehird> *errors
11:52 < ehird> jb55: return two channels, the result channel and the ok
channel
11:52 < ehird> admittedly that ruins the :=<- stuff...
11:52 < jb55> yeah
11:52 -!- ineol [n=hal@88.171.191.168] has joined #go-nuts
11:53 < jb55> iunno I kind of like that := <-SyncronousCall
11:53 -!- keithpoole [n=keithpoo@cpc3-bagu8-0-0-cust84.bagu.cable.ntl.com] has
quit []
11:53 < jb55> I'm stil not convinced
11:53 < ehird> why can channels only return one value?
11:53 < jb55> as far as I can tell
11:53 < jb55> I was thinking
11:53 < jb55> return a response object
11:53 < engla> strings in go don't have a defined encoding?  or must they
always be UTF-8 encoded bytearrays internally
11:53 < jb55> that holds a val and error
11:53 < jb55> but I think that would just complicate things
11:53 < ehird> jb55: I really think sticking to the ,ok idiom is the best
11:54 < olegfink> ehird: because there aren't no tuples in go
11:54 < ehird> bleh
11:54 < ehird> res, err := <-twitter.GetStatus(3304) would be perfect
11:54 -!- bsod2 [n=bsod@springbank.echomania.com] has joined #go-nuts
11:54 -!- circassia [n=office@chello080109121074.8.15.vie.surfer.at] has joined
#go-nuts
11:54 < jb55> yes it would be nice :)
11:54 -!- mainman__ [n=Adium@host20-155-dynamic.30-79-r.retail.telecomitalia.it]
has joined #go-nuts
11:55 < ehird> i haven't done channels yet, what is the code to "return"
from one?
11:55 -!- Associat0r [n=Associat@h163153.upc-h.chello.nl] has joined #go-nuts
11:55 -!- ztzg [n=dash@dslb-084-057-004-092.pools.arcor-ip.net] has quit
["Leaving."]
11:55 < jb55> to receive a value from one?
11:55 < jb55> <-channel
11:55 < ehird> the other end
11:55 < exch> engla: they should always be utf-8 encoded
11:56 < jb55> channel <- value
11:56 < jb55> that blocks if its not a buffered channel
11:56 < jb55> the send
11:56 < ehird> channel <- foo() where foo() returns 1,2?
11:57 < jb55> I dont think you can do that
11:57 < jb55> not sure though
11:57 < ehird> maybe a compiler bug lets you :)
11:57 < vegai> ehird: that doesn't typecheck
11:57 < ehird> hmph
11:57 < vegai> 13:52 <ehird> var foobar []byte = "foobar";
11:57 < ehird> oh
11:57 < ehird> i thought it worked
11:57 < ehird> w/e
11:57 < vegai> supposedly because go doesn't have automatic casts
11:58 < oklofok> does "go" start a concurrent run of some method
11:58 < ehird> yeah goroutine
11:58 < jb55> yes go starts a goroutine and continues on
11:58 < ehird> oklofok: go onto http://golang.org/doc/effective_go.html if
you've done the tut
11:59 < oklofok> and you do "ipc" by giving it stuff as params that it
interacts with?  and okay, i'll read that after this
11:59 -!- AmirMohammad [n=amir@unaffiliated/gluegadget] has quit [Connection timed
out]
11:59 -!- mainman__ [n=Adium@host20-155-dynamic.30-79-r.retail.telecomitalia.it]
has quit [Client Quit]
11:59 < engla> exch: have you seen this specified?  how do you explicitly
decode bytes to strings?
11:59 < ehird> communication channels, which also serve as synchronisation
12:00 < ehird> engla: string()
12:00 < oklofok> alrighty
12:00 < __gilles> hi
12:00 < __gilles> Snert ?
12:01 < engla> ehird: I mean if you read a file in latin-1 encoding or any
other, how to decode into a string, what's the canonical method
12:01 -!- monkeybusiness [n=ben@v094247.ppp.asahi-net.or.jp] has joined #go-nuts
12:01 < Snert> g'day __gilles; having some trouble with the obsd port;
wondered if you might be able to enlighten me
12:01 < ehird> is there an iconv module?  :P
12:01 < engla> iconv?  this should be pretty fundamental
12:02 < exch> engla: i've read it somewhere in the docs yesterday.  either
that or it was mentioned in one of the vids.  I'd have to go look it up again
12:02 < engla> it seems the language does not guarantee that a string is
always in a known encoding
12:02 < ehird> engla: iconv is the thing that does that generally
12:02 < engla> no, this is at the core of string functionality in many
languages
12:02 -!- AmirMohammad [n=amir@unaffiliated/gluegadget] has joined #go-nuts
12:02 < Snert> __gilles: think my problem is I'm missing the suitable asm
code for sycall and friends, eg.  asm_linux_386.s for example; did you translate
that part in your efforts?
12:03 < ehird> engla: what i mean is
12:03 < ehird> iconv does exactly what you said
12:03 < ehird> anyway
12:03 < __gilles> i didnt do much, im doing some other work for openbsd atm
which needs to be finished asap
12:03 < __gilles> but what is the issue you're having ?
12:03 < olegfink> mneh, I'm completely lost in [68]g
12:03 < ehird> you have to use the go linker don't you?
12:03 < ehird> hmm
12:04 < olegfink> wtf bound checking code is in the backend
12:04 < Snert> __gilles: my 8.out don't run, get Operation Not Permitted
12:04 -!- monkeybusiness [n=ben@v094247.ppp.asahi-net.or.jp] has left #go-nuts []
12:04 < __gilles> besides i dont have an i386 :/
12:04 < __gilles> only sparc64 and amd64
12:04 < __gilles> :)
12:05 < Snert> all compiles, but I suspect I overlooked something
12:05 < Snert> ok; well I'll keep plugging along then
12:05 -!- mesenga [n=cbacelar@189.105.45.108] has quit [Read error: 110
(Connection timed out)]
12:06 < __gilles> what did you change ?
12:07 -!- bogen [n=bogen@cpe-76-186-22-145.tx.res.rr.com] has quit [Read error: 60
(Operation timed out)]
12:07 -!- bogen [n=bogen@cpe-76-186-22-145.tx.res.rr.com] has joined #go-nuts
12:08 < ehird> hmm
12:09 -!- halfdan_ is now known as halfdan
12:09 < halfdan> how do I read an integer from the console?
12:09 < ehird> read string
12:09 < ehird> http://golang.org/pkg/strconv/
12:09 < __gilles> i mean, did you just copy asm_linux_386.s to
asm_openbsd_386.s ?
12:09 < Snert> i cloned asm_nacl_386.s to asm_openbsd_386.s, but it doesn't
appear to work correctly; i'm guess that the problem is the syscall function
itself
12:09 < Snert> i tried that too
12:10 < __gilles> it wont work
12:10 < Snert> after deleting some bits
12:10 < __gilles> let me look at asm_nacl
12:10 -!- teop2k [n=teop2k@89.232.105.25] has quit ["WeeChat 0.3.0"]
12:10 < __gilles> yeah that wont work
12:10 < Snert> now I'm looking at a simple syscall in C disassmbled in gdb
12:10 < __gilles> openbsd (and probably freebsd and netbsd too) expect that
the parameters are passed on stack
12:11 < __gilles> so you'll need to push them in reverse order
12:11 < Snert> so i'm seeing in the disassembly
12:11 -!- furbage [n=furbage@87-194-207-82.bethere.co.uk] has joined #go-nuts
12:11 < Snert> bit the INT 0x80 expects args in registers or teh stack?
12:11 < __gilles> stack
12:12 < __gilles> but iirc it also expects something else on return
12:12 < Snert> then I'm confused based on what I'm seeing teh is disass
output
12:12 < __gilles> oh well it expects the return value in eax
12:13 < dho> hi Snert
12:13 < ehird> oklofok: hello
12:13 < Snert> dho: yodel
12:13 < __gilles> and there's something else to do that i cant remember
right now because i havent done any assembly in years :-)
12:13 < dho> __gilles: fbsd amd64 passes args in registers
12:13 < dho> Snert: have you looked at my code?
12:14 < Snert> __gilles: http://golang.pastebin.com/d9ee04ed
12:14 -!- rot [i=death@59.93.7.133] has joined #go-nuts
12:14 < Snert> dho: nope; I've not updated since I started
12:14 < Snert> so I have no other comparsions
12:14 < dho> it's not committed, it's in codereview
12:14 < dho> http://codereview.appspot.com/152138
12:14 -!- Sandeep_ [n=Agent@122.172.115.95] has quit [Client Quit]
12:15 < Snert> and I'm not a low level OpenBSD guy; I write anti-spam and
app software typically
12:15 < dho> you can't use nacl
12:15 < dho> it's an emulator
12:15 < dho> so you never actually switch into the kernel
12:15 < dho> i suspect you want to clone from darwin-i386
12:16 < dho> oh, wait, you are calling int 0x80
12:16 -!- hanse [n=hanse@188-23-176-148.adsl.highway.telekom.at] has joined
#go-nuts
12:16 < halfdan> ehird: well strconv for conversion is fine, but how do I
actually read from the console?  "fmt" and "io" don't seem to provide such
functionality
12:16 < Snert> ya, more similar to linux I'm seeing
12:16 < ehird> os.Stdin
12:16 < ehird> it is an os.File
12:16 < dho> Snert: you should look at the automatically generated .s or .S
that happen from syscall stubs in libc.
12:16 < Snert> at least based on my C experiment
12:16 < ehird> orrrrr
12:17 < ehird> sio.ReadLine() :-P
12:17 < dho> Snert: that will give you a good idea about the calling
conventions on openbsd on your arch
12:17 < __gilles> Snert: what was the c code you used ?
12:17 < __gilles> and did you compile it without optims ?
12:17 < halfdan> ehird: "sio"?
12:18 -!- Vanadium is now known as ben
12:18 -!- hanse [n=hanse@188-23-176-148.adsl.highway.telekom.at] has quit [Remote
closed the connection]
12:18 < ehird> halfdan: my simple-IO library...  not yet released
12:18 < ehird> today or tomorrow, prolly
12:18 < halfdan> *.*
12:18 < ehird> .*.
12:18 < dho> wooooo
12:18 < dho> http://golang.pastebin.com/d5403b06e
12:18 < Snert> __gilles: trivial case http://golang.pastebin.com/d6459aafa
doing a SYS_exit
12:18 < ehird> dho: you are an amazing person!  or something
12:18 < dho> haha
12:18 < Snert> is envious of dho
12:19 < dho> i've got an openbsd laptop at work
12:19 < dho> x40 baby
12:19 < halfdan> x61s \o
12:19 < dho> yeah but the x40 also runs plan 9 nicely :)
12:19 < halfdan> :)
12:20 -!- hanse [n=hanse@188-23-176-148.adsl.highway.telekom.at] has joined
#go-nuts
12:20 < ehird> yeah it sucks just enough to
12:21 * Snert if only i could find some "notes" on openbsd syscall conventions for
assembler
12:21 < dho> Snert: 07:17 < dho> Snert: you should look at the
automatically generated .s or .S that happen from syscall stubs in libc.
12:21 < dho> every syscall gets asm stubs
12:21 < GeDaMo> http://www.phiral.net/openbsdasm.htm
12:21 < Snert> dho: if I can find them
12:21 -!- Adys_ [n=Adys@unaffiliated/adys] has joined #go-nuts
12:21 < dho> they should be in /usr/obj or /usr/src somewhere
12:22 < enigmus> is there a shorthand syntax to call a pointer method on a
value receiver?.  I.e.  do I have to do: { p := &v; p.PointerMethod(); v = *p; }?
12:22 * Snert goes for red wine
12:22 < dho> just do find . -path libc -name \*.s -o -name \*.S
12:22 -!- Adys_ [n=Adys@unaffiliated/adys] has quit [Read error: 54 (Connection
reset by peer)]
12:23 -!- Adys [n=Adys@unaffiliated/adys] has joined #go-nuts
12:23 < __gilles> Snert ?
12:23 < __gilles> http://golang.pastebin.com/m14a85c39
12:23 < Snert> i looked for similar stuff already
12:23 < __gilles> that's freebsd on i386
12:23 < __gilles> openbsd is very similar unless for the leave
12:23 < __gilles> i think you should try without syscall
12:23 -!- triplez [n=triplez@cm52.sigma225.maxonline.com.sg] has joined #go-nuts
12:23 < __gilles> by calling directly write() for example
12:23 < __gilles> and doing an objdump -d on the binary
12:24 < __gilles> now i remember how it worked
12:24 < __gilles> you moved the syscall number in eax
12:24 < __gilles> pushed the parameters on stack
12:24 < dho> that's not an actual syscall
12:24 < dho> yes, number goes into EAD
12:24 < dho> EAX
12:25 < dho> unless you're calling syscall(2) in which case that goes into
eax and the code goes into edx
12:25 < __gilles> called int then added to esp the correct size you pushed
on stack
12:25 < __gilles> + enough for the ret iirc
12:25 < __gilles> dho: yeah, thats why his example showed stack, he was
using syscall()
12:25 < Snert> ok, i'll keep searching and find teh libc stub
12:25 < __gilles> erf showed registers
12:26 -!- iap [n=iap@151.59.210.251] has joined #go-nuts
12:26 < iap> hi
12:27 < Snert> its been ages since I did assembler (8080, Z80, M68K); forgot
how ugly 80x86 was
12:27 < iap> is there some relevant documentation for porting golang on
other arch
12:27 -!- sm [n=sm@cpe-75-85-88-227.socal.res.rr.com] has quit [Read error: 104
(Connection reset by peer)]
12:27 < iap> ?
12:27 < __gilles> yup me too, about 5 years
12:27 -!- sm [n=sm@cpe-75-85-88-227.socal.res.rr.com] has joined #go-nuts
12:27 < __gilles> that ive done any
12:27 < exch> what was the env var again to limit the max amount of
threads/cores a go program uses?
12:28 < __gilles> and five years ago i wasnt doing a lot of it either
12:28 < Axman6> me really likes SPARC assembler
12:28 < iap> (especially from arm to armv5tel)
12:28 < __gilles> im a c guy :)
12:28 < halfdan> ehird: so i guess i have to implement "ReadLine" myself :(
12:28 < ehird> halfdan: ReadString \n does it
12:28 < ehird> in bufio
12:28 < ehird> or just wait for sio :P
12:28 < dho> Snert: youu don't really need much of it
12:28 < Snert> I've been doing C for 30 years and haven't touched asm in 13
12:28 < __gilles> im not even 30 man ;-)
12:28 < dho> heh
12:28 * dho either
12:29 < Snert> dho: I know I don't need much, which is why if i had a "spec"
or notes to something to work from I'd manage
12:29 * dho sshes into openbsd box
12:30 < Snert> __gilles: I started computers when I was 13
12:30 < Snert> __gilles: way back with an Exidy Sorcerrer CP/M 64K RAM
machine
12:31 -!- Koen_ [n=Miranda@83.101.24.153] has joined #go-nuts
12:31 < GeDaMo> Mmmm ...  nostalgia :P
12:31 < Snert> __gilles: Z80 asm and Small C ; ah those were the days
12:31 < halfdan> ehird: i miss sth.  like scanf :(
12:31 < ehird> halfdan: goyacc
12:32 < halfdan> ?
12:32 < ehird> $GOBIN/goyacc
12:32 < ehird> also see:
12:32 < Snert> GeDaMo: ya, nostalgia; but times a change and have to keep
learning new tricks
12:32 -!- dejones [n=donnie@cpe-24-28-73-216.austin.res.rr.com] has quit [Read
error: 113 (No route to host)]
12:32 < ehird> $GOROOT/src/cmd/goyacc/units.y
12:32 < ehird> of course that can only reasonably replace the larger uses of
scanf
12:34 -!- tuples_ [i=55023959@gateway/web/freenode/x-kcwmnzykcgofixhp] has joined
#go-nuts
12:35 < tuples_> Am I assuming correctly that map[key] takes O(n) with n
being the keys present in the map?  Since the only thing required seems to be
equality...  or is it actually a hash map?
12:36 < __gilles> got to go buy food before the store closes, be back in not
too long
12:36 < mush06> Is there a way to get/set the fields of an interface{} by
reflection ?
12:36 -!- Rob_Russell [n=chatzill@206-248-157-156.dsl.teksavvy.com] has joined
#go-nuts
12:37 -!- sm [n=sm@cpe-75-85-88-227.socal.res.rr.com] has quit [Read error: 104
(Connection reset by peer)]
12:37 < ehird> You can make a wrapper for a struct so you can add methods by
doing `type Foo struct { *otherpkg.Foo; }` then `&Foo{anotherpkgfoo}`.  What about
an interface?
12:37 < engla> tuples_: very good question.  there is no talk of a hashable
interface or so?
12:37 -!- sm [n=sm@cpe-75-85-88-227.socal.res.rr.com] has joined #go-nuts
12:38 < tuples_> engla: I couldn't find anything.
12:38 < tuples_> And if it was implemented with a hash, wouldn't you need a
hash function for the "item" too...
12:39 < dho> Snert: figure it out at all?
12:39 -!- depood [n=hidden@chello080108055214.19.11.vie.surfer.at] has joined
#go-nuts
12:39 -!- eni23 [n=eni@adsl-84-226-111-121.adslplus.ch] has joined #go-nuts
12:39 < engla> tuples_: what is the item?
12:39 < tuples_> *key
12:40 < ehird> sio.go:19: os.File is not io.Writer
12:40 < ehird> missing Write(p []uint8) (n int, err os.Error)
12:40 < ehird> yet
12:40 < ehird> func (file *File) Write(b []byte) (n int, err Error)
12:40 < ehird> ???
12:40 < Snert> dho: still looking
12:40 -!- chachan [n=chachan@ccscliente156.ifxnetworks.net.ve] has joined #go-nuts
12:40 < ehird> uint8=byte right?
12:41 < dho> Snert: /usr/src/lib/libc/arch/i386/SYS.h
12:41 < Snert> found something, reviewing it
12:41 < engla> tuples_: it could be that it is special-cased to hash since
it's a builtin type
12:41 < engla> tuples_: special-cased for strings, for example
12:41 < tuples_> hmm
12:43 < engla> I'm trying to find the source for map
12:43 -!- MakeR_ [n=chatzill@5e060334.bb.sky.com] has joined #go-nuts
12:43 -!- furbage [n=furbage@87-194-207-82.bethere.co.uk] has quit []
12:43 < Snert> dho: right looking at stuff; thanks for the tips
12:44 < dho> no problem
12:44 -!- MakeR_ [n=chatzill@5e060334.bb.sky.com] has quit [Client Quit]
12:45 < engla> tuples_: I'm not so fast in reading source, but there is a
hashmap implementation in src/pkg/runtime/hashmap.h and aliases in runtime.h:
mapiternext(struct hash_iter*); etc
12:45 < tuples_> thanks I'll have a look .
12:46 < tuples_> I guess I could just benchmark it and see if it grows
linearly :p
12:47 < enigmus> Where is the code for the runtime in the go codebase?
12:47 -!- keithpoole [n=keithpoo@cpc3-bagu8-0-0-cust84.bagu.cable.ntl.com] has
joined #go-nuts
12:48 -!- hsuh [n=hsuh@c925a62a.virtua.com.br] has joined #go-nuts
12:48 < eni23> hello go-guys.  i tried go a little yesterday.  i wonder, is
it possible to work with gtk?
12:48 < dho> enigmus: src/pkg/runtime
12:48 -!- ouah [n=godisdea@unaffiliated/ouah] has joined #go-nuts
12:48 < enigmus> djm: thanks
12:48 < dho> enigmus: what are you looking at it for?
12:49 -!- hsuh [n=hsuh@c925a62a.virtua.com.br] has left #go-nuts ["Killed buffer"]
12:49 -!- ukl [n=ukl@f053123046.adsl.alicedsl.de] has joined #go-nuts
12:49 -!- |chachan| [n=chachan@ccscliente156.ifxnetworks.net.ve] has joined
#go-nuts
12:49 < enigmus> dho: I'm curious of the implementation details.
12:49 < jb55> is there something I have to implement in interface{} that
allows len() to work on it, something like __len__ in python?  or is len only for
built in types?
12:49 -!- |chachan| [n=chachan@ccscliente156.ifxnetworks.net.ve] has quit [Client
Quit]
12:49 < dho> enigmus: heh, have fun :D
12:49 < enigmus> dho: mostly because the performance of Go will come, in
many ways, from the scalability of the runtime.
12:49 -!- |chachan| [n=chachan@ccscliente156.ifxnetworks.net.ve] has joined
#go-nuts
12:50 * Snert needs a break and to give in to the mellow of vodka and a dvd
12:50 < enigmus> dho: (as opposed to C, say, where the runtime hardly does
anything)
12:50 < tuples_> jb55: Why not just implement .Len()?
12:51 < dho> enigmus: the runtime is rather small
12:51 -!- hellyeah [n=benebiog@hopper.cs.bilgi.edu.tr] has quit [Nick collision
from services.]
12:51 < enigmus> dho: What's with the non-ASCII characters in
src/pkg/runtime/cgocall.c?
12:51 -!- rot [i=death@59.93.7.133] has quit [Read error: 110 (Connection timed
out)]
12:51 < jb55> tuples_: what I was trying to do was have a function that took
any type of channel so that it could run len() on it to see if there were any
buffered values
12:51 -!- hellyeah [n=benebiog@hopper.cs.bilgi.edu.tr] has joined #go-nuts
12:51 < dho> they're UTF-8.
12:52 -!- hellyeah [n=benebiog@hopper.cs.bilgi.edu.tr] has quit [Nick collision
from services.]
12:52 < tuples_> jb55: I see.  Don't know.  :(
12:52 -!- benebioglu_ [n=benebiog@hopper.cs.bilgi.edu.tr] has joined #go-nuts
12:52 < jb55> i'm not sure if its possible, I tried chan interface{} with no
luck
12:53 < jb55> cannot use (node MAKECHAN) (type chan bool) as type chan
interface { } I guess I have more to learn about Go's type system ...
12:54 < jb55> I guess it makes sense
12:55 -!- stefanc [n=stefanc@188.25.244.29] has quit [Read error: 104 (Connection
reset by peer)]
12:55 -!- chachan [n=chachan@ccscliente156.ifxnetworks.net.ve] has quit [Read
error: 60 (Operation timed out)]
12:56 < tuples_> enigmus: looking up an int with an int key (10, 100 or
1000000 keys) takes the same for all sizes
12:56 -!- conra|afk [n=conrad@host-89-229-12-166.torun.mm.pl] has joined #go-nuts
12:56 < tuples_> bit harder to test with strings because I'll have to create
random strings...
12:56 < halfdan> ehird: var reader bufio.Reader = os.Stdin does not exactly
work :/
12:56 < ehird> Indeed.
12:56 < ehird> http://golang.org/pkg/bufio/
12:56 < conra|afk> hello, i looking for this logo in bigger format:
http://golang.org/doc/logo-153x55.png
12:56 < ehird> Look at the functions under NewReader.
12:57 < ehird> erm
12:57 < ehird> under Reader
12:57 < tuples_> engla: * meant you of course
12:57 < ehird> Oh I just gave the game away.
12:57 < dho> grumble
12:57 < dho> gofmt doesn't do anything
12:57 < ehird> yes it does :P
12:57 -!- conra|afk is now known as conra
12:57 < halfdan> ehird: arg :(
12:58 -!- doktoreas
[n=doktorea@host36-121-dynamic.57-82-r.retail.telecomitalia.it] has joined
#go-nuts
12:58 < ehird> halfdan: in := bufio.NewReader(os.Stdin)
12:58 < halfdan> so i first need an io.Reader to create an bufio.Reader..
12:58 < ehird> No.
12:58 < ehird> io.Reader is an interface.
12:58 < halfdan> ehird: that doesn't work oO
12:58 < ehird> os.Files adhere to it.
12:58 < ehird> halfdan: what error?
12:58 < engla> tuples_: further reading in hashmap.c suggests that if a go
type does not have a "keyalg" that is a hash, go will say "unsupported map key
type"
12:59 < doktoreas> hello folks..can I access a PostgreSQL database with Go?
12:59 < tuples_> engla: interesting.  why does it work on strings but not on
[]uint8?
12:59 < tuples_> ah, strings are immutable.
12:59 < halfdan> var reader bufio.Reader = bufio.NewReader(os.Stdin); ->
cannot use bufio.NewReader(io.Reader(os.Stdin)) (type *bufio.Reader) as type
bufio.Reader
12:59 < halfdan> forget it
12:59 < halfdan> -.-
12:59 < halfdan> pointer
13:00 < ehird> halfdan: See, when I said in :=...  I wasn't claiming that
code that wasn't that would work.
13:00 < halfdan> indeed
13:01 < engla> tuples_: have you tried any custom struct object as key?
13:01 < ehird> := is yummy, btw.
13:01 < tuples_> engla: no.  it's not so easy to create tons of custom
structs...
13:02 -!- Koen_ [n=Miranda@83.101.24.153] has quit ["Miranda IM! Smaller, Faster,
Easier.  http://miranda-im.org"]
13:02 < tuples_> and it's probably just gonna use the address of the custom
struct?
13:02 < engla> ah not checking complexity but if it works
13:02 < engla> tuples_: or even the data in the struct
13:03 < tuples_> how?
13:03 < tuples_> well I'll give it a try
13:03 -!- Koen_ [n=Miranda@83.101.24.153] has joined #go-nuts
13:03 < engla> assuming no padding or zero-padding..  just take all the
bytes in the struct, and hash them like a byte string
13:04 -!- Spade [i=damn3d@94.23.198.23] has joined #go-nuts
13:05 < tuples_> engla: uuh, how do I define the == operator?!
13:05 < dho> hm, gofmt isn't doing the right thing
13:05 -!- Irssi: #go-nuts: Total of 500 nicks [0 ops, 0 halfops, 1 voices, 499
normal]
13:05 -!- hector [n=chatzill@client-86-0-126-58.nrth.adsl.virginmedia.com] has
quit ["ChatZilla 0.9.85 [Firefox 3.5.5/20091102152451]"]
13:06 < enigmus> Is the work on the new GC in the repo yet?
13:06 < engla> tuples_: line 455, src/pkg/runtime/runtime.c defines an array
of possible algorithms for hash, equal etc
13:06 < engla> tuples_: so for example [AMEM] { memhash, memequal, memprint,
memcopy },
13:06 < tuples_> yeah
13:07 < tuples_> very good :=
13:07 < tuples_> :)*
13:08 < halfdan> ehird: in, err := reader.ReadString('\n'); fmt.Fprintf("..
%s", in); throws me "string is not io.Writer, missing Write(p []uint8) (n int, err
os.Error)" - why would in have to implement the Writer interface?
13:08 < tuples_> I guess I can just copy that hashcode and write my own func
that just returns an int, which I can then use as a key
13:08 < ukl> conra: check reneefrench.blogspot.com, the logo animal was
drawn by renee french, (pike's wife, i think)...it appeared on her blog quite some
time ago (like in, months) and in a picture yesterday.
13:08 < tuples_> I need to has []uint8 -> []int
13:09 < tuples_> to hash*
13:09 -!- x2cast [n=alvaro@245.126.222.87.dynamic.jazztel.es] has joined #go-nuts
13:09 -!- x2cast [n=alvaro@245.126.222.87.dynamic.jazztel.es] has left #go-nuts []
13:09 < dho> she did glenda too :)
13:09 < ehird> halfdan: erm
13:09 < ukl> I like her drawings :)
13:09 < ehird> halfdan: I need more context; pastebin your code?
13:09 -!- GeDaMo [n=gedamo@212.225.108.57] has quit ["Leaving."]
13:10 < ukl> conra: the image the Go logo is based on is a little different,
tho, the positions of the hamster(?)'s eyes are a little more ...  weird.
13:10 < Spade> Are there any sockets examples available?
13:10 < engla> tuples_: hash and key is not the same..  I mean unless you
get no collisions
13:10 < tuples_> yeah of course
13:11 < tuples_> but the hash function will return a pretty good key to use
13:11 < halfdan> ehird: http://golang.pastebin.com/m280bc9c8
13:11 < tuples_> since it's a pretty good hashing method :o
13:11 < tuples_> hm, the int will get hashed again though.  :/
13:11 < engla> tuples_: if you decode []uint8 to a string..  then the map
will hash and do eq correctly for you
13:12 -!- dvhasdf [n=dvh@nat-88-212-36-43.antik.sk] has joined #go-nuts
13:12 -!- mainman__ [n=Adium@host20-155-dynamic.30-79-r.retail.telecomitalia.it]
has joined #go-nuts
13:12 < tuples_> hmmmmmmmm.
13:12 < ehird> tuples_: what line is the error ono
13:12 < ehird> erm
13:12 < ehird> halfdan:
13:13 < ehird>
http://3.bp.blogspot.com/_va9O40qIhaE/SuKMXlFsQjI/AAAAAAAAB9c/QcUTpIbHiFo/s1600-h/gordonsface.jpg
scary
13:13 < ehird>
http://1.bp.blogspot.com/_va9O40qIhaE/StfekoB1W8I/AAAAAAAAB70/G32jsTp_BWU/s1600-h/ottosm.jpg
moar
13:13 < ukl> that's the one I meant
13:13 < ukl> weird eyes.
13:14 -!- ring-zero [n=hotshot@117.199.132.216] has joined #go-nuts
13:14 < oklofok> cute!
13:14 < ehird> i'm pretty sure he's an, um, differently mentally abled
gopher
13:14 < ehird> flying forward at high speed, unable to stop himself with his
tiny little, awkwardly placed arms, thinking only of his deranged expression
13:14 < halfdan> ehird: line 15
13:15 < ehird> Fprintf("THX DUDE
13:15 < ehird> i have highlighted the portion with the error for you.
13:15 < jessta> Spade: http://gist.github.com/234542 <-- simple socket
server I've been messing with, but you should read the "net" package
13:15 < tuples_> ehird: won't those strings stay in memory?  I need to add
many many many values to that hash...
13:16 < ehird> tuples_: what.
13:16 < halfdan> ehird: argh, crap
13:16 < ehird> tuples_: i don't think you meant me
13:16 < tuples_> right.
13:16 < tuples_> haha
13:16 -!- anders_ [n=anders@c83-253-2-206.bredband.comhem.se] has quit [Read
error: 60 (Operation timed out)]
13:16 -!- BromaxSux [n=pocketir@77.126.47.121] has joined #go-nuts
13:16 < olegfink> ok, now I have an advocate:
http://groups.google.com/group/golang-nuts/msg/d059db0470b2b2bb :-)
13:17 < tuples_> engla: Using string() on an []uint8 will copy the array...
and I need to add many strings to that map.  They better not stay in memory.
13:18 < ehird> you can't recurse in go?  huh
13:18 -!- BromaxSux [n=pocketir@77.126.47.121] has quit [Client Quit]
13:18 < dho> tuples_: do both stay referenced?
13:19 < tuples_> I have a quite large []uint8, and I need to add many parts
of it to the map, which even might be overlapping
13:19 < tuples_> so the string()s are just for hashing.
13:19 < tuples_> don't need them anymore
13:19 < nsz> olegfink: fixed point combinator
13:19 -!- unknown_had [i=cbbe94ee@gateway/web/freenode/x-qqgcttttkaxvwuyr] has
joined #go-nuts
13:19 -!- illya77 [n=illya77@183-96-112-92.pool.ukrtel.net] has quit [Read error:
54 (Connection reset by peer)]
13:19 < dho> tuples_: ok, so when you stop using them, they will get
collected
13:19 < tuples_> alright
13:19 -!- mainman__ [n=Adium@host20-155-dynamic.30-79-r.retail.telecomitalia.it]
has quit ["Leaving."]
13:20 < engla> the map will obviously reference all keys
13:20 < tuples_> which are just ints
13:20 -!- octoploid [n=octoploi@77-23-212-222-dynip.superkabel.de] has quit
["WeeChat 0.3.1-dev"]
13:20 < engla> I thought the []uint8 were keys
13:20 < engla> or what you wanted
13:20 < tuples_> ah
13:20 < tuples_> yeah but they need to stay anyway
13:21 -!- keithpoole [n=keithpoo@cpc3-bagu8-0-0-cust84.bagu.cable.ntl.com] has
quit []
13:21 < tuples_> why does the map reference the []uint8 tho?
13:21 < engla> since you can iterate the map
13:21 < engla> and get all key-value pairs back
13:21 < olegfink> nsz: it's not possible at least in the type system
13:21 < tuples_> but since the strings were used as keys, wouldn't that mean
they stay in memory?
13:21 -!- TR2N [i=email@89-180-204-132.net.novis.pt] has joined #go-nuts
13:21 < nsz> hm
13:21 < ring-zero> nice language, can anybody tell me what are the current
projects based on 'GO'
13:22 < engla> tuples_: ah ok so if we speak about a map: string([]uint8)
-> your data, the map will hold on to the strings of course
13:22 < engla> not the bytes
13:22 < tuples_> that's why I'm trying to avoid :/
13:22 < halfdan> ring-zero: the language is three days in public and not
even finished yet..  what projects do you expect?
13:22 -!- ryniek [n=Adrian-A@host-89-231-98-162.warszawa.mm.pl] has joined
#go-nuts
13:22 -!- unknown_had [i=cbbe94ee@gateway/web/freenode/x-qqgcttttkaxvwuyr] has
left #go-nuts []
13:22 -!- TR2N [i=email@89-180-204-132.net.novis.pt] has left #go-nuts []
13:23 < tuples_> so I'm guess I'm back to calculating a hash for the []uint8
and then adding that as a key.
13:23 -!- brunov [n=bruno@190.191.110.64] has joined #go-nuts
13:23 < olegfink> nsz: and defining the lambda abstraction would be rather
cumbersome because you'd have to explicitly type the function arg
13:24 < ryniek> hiho
13:24 < engla> ring-zero: the golang.org webisite is served by godoc
13:24 < nsz> it is cumbersome anyway..  i thought it is possible at least
theoretically
13:25 < olegfink> sure it is, but phi is simpler.  :-)
13:25 < olegfink> (by the way, seems javascript has it under the name
arguments.callee)
13:26 < nsz> hehe
13:26 < nsz> (why arguments..)
13:26 < vegai> golang.org keeps with the traffic pretty well
13:26 < vegai> it might be getting quite a lot, no?
13:26 < olegfink> nsz: callee is more or less argv[0]
13:26 < nsz> true
13:27 < conra> somebody from poland?
13:28 < halfdan> what's the best way to handle function that can return
os.Error?
13:28 < tuples_> engla: anyway thanks a lot for digging through some code
for me
13:28 -!- heavensrevenge [i=63ee179c@gateway/web/freenode/x-jpqbcrepukiqjtbr] has
joined #go-nuts
13:28 < heavensrevenge> hello
13:29 < ehird> halfdan:
13:29 < engla> tuples_: I find it interesting.  it is not as flexible as
python's __hash__ it seems but perhaps there is a smart, different way to do it
13:29 -!- ZenCrab [n=toor@unaffiliated/coconutcrab] has joined #go-nuts
13:29 < ehird> res, err := foo()
13:29 < ehird> if err != nil {
13:29 < ehird> ...
13:29 < ehird> }
13:29 < halfdan> hmk
13:29 < ehird> make sure control doesn't pass }
13:29 < ehird> halfdan: if you want to ignore errors, e.g.  for printing to
terminal:
13:29 < ehird> res, _ := foo()
13:29 < tuples_> engla: they just need to add an option to not make it
iterable
13:29 < ehird> (because when will that ever fail?)
13:29 -!- mbuf [n=mbuf@118.102.130.6] has quit ["Leaving"]
13:30 < engla> tuples_: nah, I realized it is simpler I think.  it must save
the key..  since it first does hash lookup then eq
13:30 < halfdan> ehird: EOT - End of Terminal ;)
13:30 < halfdan> thanks
13:30 < tuples_> engla: oh right, of course.
13:30 < heavensrevenge> is there a readline or cin somewhere to read inout
from command line into a temp?
13:31 < tuples_> Haha!
13:31 < tuples_> I'll go back to my cave now :(
13:31 -!- mainman__ [n=Adium@host20-155-dynamic.30-79-r.retail.telecomitalia.it]
has joined #go-nuts
13:31 < heavensrevenge> ive been browsing the docs and all ive found are
file bytestreams
13:32 < ehird> sio!  sio!
13:35 -!- ukl_ [n=ukl@zdv-vpn2-39-46.zdv.Uni-Mainz.DE] has joined #go-nuts
13:35 -!- kar8nga [n=kar8nga@jol13-1-82-66-176-74.fbx.proxad.net] has joined
#go-nuts
13:35 -!- kar8nga [n=kar8nga@jol13-1-82-66-176-74.fbx.proxad.net] has left
#go-nuts []
13:36 < enigmus> Do I understand this correctly: an interface "object"
carries a pointer to each method implementations for the particular type: e.g {
var someFile os.File = ...; readwriter := ReadWriter(someFile); } Questions: are
the "vtable" shared among all ReadWriters of os.File?  i.e.  is (ReadWriter of
os.File) == struct { pointer to underlying os.File; pointer to vtable of
ReadWriter(os.File); }; (vtable of ReadWriter(os.File)) == struct { Read = fpoi
13:36 -!- |chachan| [n=chachan@ccscliente156.ifxnetworks.net.ve] has quit [Read
error: 104 (Connection reset by peer)]
13:36 -!- |chachan| [n=chachan@ccscliente156.ifxnetworks.net.ve] has joined
#go-nuts
13:36 < enigmus> Or is it: ReadWriter(os.File) == struct { pointer to
underlying os.File; pointer to Read; pointer to Write; }
13:36 < ehird> enigmus: got cut off
13:37 < ehird> ile os.File = ...; readwriter := ReadWriter(someFile); }
Questions: are the "vtable" shared among all ReadWriters of os.File?  i.e.  is
(ReadWriter of os.File) == struct { pointer to underlying os.File; pointer to
vtable of ReadWriter(os.File); }; (vtable of ReadWriter(os.File)) == struct { Read
= fpoi
13:37 < ehird> everything before's there
13:37 < ehird> everything after fpoi was chopped
13:37 < enigmus> it ends as: nter; Write = fpointer; }
13:37 < mjburgess> what's the easiest way to pass a string to an io.Writer ?
13:39 -!- Yuffster [n=yuffster@71.181.138.238] has joined #go-nuts
13:39 -!- wobsite [n=wobsite_@140.232.179.158] has quit [Read error: 110
(Connection timed out)]
13:42 < tuples_> mjburgess: io.Write(...  io:writer, ...  string) I think
13:42 < tuples_> io.WriteString(*
13:42 < heavensrevenge> how can i store user inout data into a variable
without writing my own function to accept a string to store?
13:42 -!- nuvm [n=nu@CPE0019b92225c9-CM00195edd2c24.cpe.net.cable.rogers.com] has
joined #go-nuts
13:43 -!- tuples_ [i=55023959@gateway/web/freenode/x-kcwmnzykcgofixhp] has quit
["Page closed"]
13:43 < heavensrevenge> depends of he wants a string back using WriteString
13:45 -!- dsuch [n=dsuch@web32.webfaction.com] has joined #go-nuts
13:45 -!- ukl [n=ukl@f053123046.adsl.alicedsl.de] has quit [Read error: 110
(Connection timed out)]
13:45 -!- circassia [n=office@chello080109121074.8.15.vie.surfer.at] has quit
[Read error: 110 (Connection timed out)]
13:47 -!- m-takagi_ is now known as m-takagi
13:47 -!- TheExit [n=dark@bas1-ottawa10-1279302916.dsl.bell.ca] has quit [Read
error: 110 (Connection timed out)]
13:47 < exch> "throw: all goroutines are asleep - deadlock!" oh noes I br0ke
it :o
13:48 -!- riot [n=wntrmut@137.226.147.251] has joined #go-nuts
13:48 < jessta> heavensrevenge: you should probably look at bufio package
13:48 < riot> whoa..  hi!
13:49 < mjburgess> my question is really, how can i cast a string to a byte
slice ?
13:50 -!- oklokok [n=oklopol@a91-153-117-208.elisa-laajakaista.fi] has joined
#go-nuts
13:52 < jessta> mjburgess: something like string.bytes?
13:52 < riot> say, how old is go?
13:52 -!- Axman6 [n=Axman6@pdpc/supporter/student/Axman6] has left #go-nuts
["Connection reset by beer"]
13:52 < sladegen> 2 years
13:52 < jessta> riot: read histroy on the site
13:52 < sladegen> almost 3...
13:53 < riot> jessta: don't see it there.
13:53 < ehird> a few days :P
13:53 < ehird> it appeared out of thin air!
13:53 < ehird> (srsly: devved 2y, released few days ago)
13:54 -!- ktne [n=ktne@unaffiliated/ktne] has joined #go-nuts
13:54 < ktne> hello
13:54 -!- leitaox [i=MarcelSa@189-94-134-167.3g.claro.net.br] has joined #go-nuts
13:54 < mjburgess> answer, for future ref, for string s, []bytes b b :=
make([]byte, len(s)); copyString(b, 0, s);
13:54 < ktne> is it possible to implement multiple dispatch in go?
13:54 < riot> thats what it looked to me.  A bunch of hackers around me
(meaning: blogosphere) just started talking about go :)
13:54 < ehird> ktne: no and you wouldn't want to
13:54 < jessta> riot: http://golang.org/doc/go_lang_faq.html#history
13:54 < ktne> ehird, why i wouldn't want to?
13:54 < olegfink> mjburgess: b := strings.Bytes(s);
13:54 < riot> jessta: ah, i was browsing the faq - didn't reach that part
yet :) thx
13:54 < ehird> ktne: because it's bad practice and you don't need it :P
13:54 < ktne> ehird, i preffer the CLOS object mode, that's why i would want
multiple dispatch
13:55 < ehird> okay
13:55 < ehird> common lisp is that way ->
13:55 < ktne> ehird, and CLOS is definitivelly not "bad practice"
13:55 < sladegen> http://paste.lisp.org/display/90381
13:55 < ehird> it is in go
13:55 -!- leitaox [i=MarcelSa@189-94-134-167.3g.claro.net.br] has quit [Client
Quit]
13:55 < ben> Bit early to define bad practice
13:55 < ehird> fairly sure subverting the entire type system's concept is
bad practice
13:55 < ben> People do it in C++ all the time
13:55 < jessta> it's never too early to decide on bad practice
13:56 < mjburgess> ohh, thanks, olegfink...  too deep in the bytes package
to see strings
13:56 < ehird> ben: yes, but all C++ programs are bad practice.
13:56 < ned> are there hashmaps or anything implemented in Go ?
13:56 < jessta> ehird: so true
13:56 < ehird> ned: yes maps
13:57 < ehird> http://golang.org/doc/effective_go.html#maps
13:57 < ned> how fast are map lookups
13:57 < ehird> fast enough
13:57 < exch> :p
13:57 < engla> ned: O(1)
13:57 < ehird> either btree or hash table, who knows
13:57 < ehird> so either O(1) or really close to O(1)
13:57 < riot> will go ever be useful in µController programming?  Anyone
working on atmels?  Propellers?  I see there is an arm-port.
13:57 < ehird> riot: we don't know.  with the gc, though, microcontrollers
are almost certainly out
13:57 < ehird> at least all but the biggest ones
13:58 < ben> millicontrollers
13:58 < ehird> arm port is mainly for mobile phones; it runs on android
13:58 < ehird> and will run on iphone soon
13:58 < engla> ehird: hashmaps (me and tuple_ dug into a bit of code not
long ago)
13:58 * olegfink used to run ocaml runtime on fairly low-end arms (by todays
measures; it was something <=100MHz)
13:58 -!- arieru [n=arieru@190.3.74.225] has joined #go-nuts
13:58 < ehird> ah — *there's* the special hack exceptions
13:59 < ehird> who was the one who said it just looked like returning an
error code?
13:59 < ehird> when i mentioned that blog post
13:59 < ehird> olegfink: memory is main issue
14:00 < riot> whats the probable minimum of memory required?
14:00 < heavensrevenge> how do i call bufio.ReadString to allow me to input
data?
14:00 -!- nuvem [n=nu@CPE0019b92225c9-CM00195edd2c24.cpe.net.cable.rogers.com] has
quit [Read error: 110 (Connection timed out)]
14:00 < ehird> riot: $arbitrary megs
14:00 < ehird> heavensrevenge: "\n"
14:00 < riot> eek.  No, thats no fun.  :(
14:00 < ehird> to read to end of line
14:00 < olegfink> ehird: heh, that device had plenty.  :-)
14:00 < ehird> anyway, for future reference
14:00 -!- ktne [n=ktne@unaffiliated/ktne] has left #go-nuts ["Ex-Chat"]
14:00 < jessta> ehird: me, and it is just returning an error code
14:00 < heavensrevenge> well yea, but how do i call this thing?  :P
14:00 < riot> my precious propeller has 8 cores (running at 80 MHz) but only
64 k builtin
14:00 < ehird> x = someMap[foo]
14:00 < ehird> x, ok = someMap[foo]
14:01 < ehird> both compile (!!)
14:01 < ehird> and the former will crash if foo is not in the map
14:01 < ehird> whereas the latter will just assign false to ok
14:01 < ehird> so, yeah, that's a crazy special-cased compiler hack
emulating exceptions
14:01 < engla> ehird: x <- rcvchannel and x, ok <- rcvchannel also do
different things
14:01 < jessta> nope, it's a function calling exit()
14:01 < ehird> jessta: okay, give me the type signature
14:01 < heavensrevenge> var name bufio.ReadString( delim "\n")()??
14:02 < ehird> you can't return both one and two values
14:02 < ehird> doesn't fly
14:02 < engla> go does that
14:02 < ehird> and you certainly couldn't detect which you were returning
before the fact
14:02 < ehird> engla: not in user functions
14:02 < ehird> just for this builtin
14:02 < ehird> which is the whole point
14:02 -!- ring-zero [n=hotshot@117.199.132.216] has quit [Remote closed the
connection]
14:02 < engla> I just gave an example of another builtin
14:02 < engla> so it's not just that one
14:02 < ehird> heavensrevenge: you need to make a bufio with the stdin
14:02 < ehird> engla: well, yes
14:02 < ehird> you get my point
14:03 < heavensrevenge> and you need to declare and point to stdin right?
14:03 < ehird> no.
14:03 < engla> well yes.  it's not like Python..  if the func returns a
tuple you can do x = f(), then unpack: v, ok = x ..  so it feels like a quirk
14:03 -!- mush06 [n=mush@88.174.45.116] has quit []
14:03 < ehird> in := bufio.NewReader(os.Stdout)
14:03 < ehird> name := in.ReadString('\n')
14:03 < ehird> erm
14:03 < ehird> name, ok := in.ReadString('\n')
14:03 < ehird> or _ instead of ok if you don't care about e.g.  EOF before
input
14:04 < ehird> engla: the point is that it's an inconsistent special-casing
of the builtins that goes against the typesystem and expectations just to emulate
exceptions, which we obviously aren't supposed to need because we don't get them
14:04 < ehird> which, yeah, is cruft.
14:05 < engla> agreed
14:06 < ehird> adding it as a generalised mechanism to go wouldn't be hard,
anyway
14:06 < ehird> for example:
14:06 -!- hector [n=chatzill@client-86-0-126-58.nrth.adsl.virginmedia.com] has
joined #go-nuts
14:07 < engla> however in the builtins it seems that when the two options
exist, v = <expr> vs v, ok = <expr> it is for turning the first case
into a query/async version
14:07 -!- ztzg_ [n=dash@dslb-084-057-004-092.pools.arcor-ip.net] has joined
#go-nuts
14:07 < ehird> func foo() (result int, @ok *bool) {
14:07 < engla> for example: ask if map has key, ask if channel has waiting
value
14:07 < ehird> if ok == nil { die horribly }
14:07 < ehird> else { *ok = false }
14:07 < ehird> }
14:07 < ehird> simple
14:08 < ehird> so if you put @ before a name, the place in unpacking is
automatically pointerised, and if you omit it in the unpacking, the pointer is
simply nil
14:08 -!- oklofok [n=oklopol@a91-153-117-63.elisa-laajakaista.fi] has quit [Read
error: 110 (Connection timed out)]
14:08 < exch> O.o
14:09 -!- ouah [n=godisdea@unaffiliated/ouah] has quit []
14:09 < ehird> (probably the @ would be better on the type and as ?; ok
?*bool)
14:11 -!- conra is now known as conra-www
14:11 < jessta> ehird: ah, that's kind of weird, although it doesn't emulate
exceptions really
14:11 -!- conra-www is now known as conra
14:11 < ehird> still, it's something we can't do (and tbh it'd be damn
useful)
14:11 < ehird> I'm tired of doing ,_ all over the place, and it means that
we wouldn't be assigning to variables every other line
14:11 < ehird> and could actually use expressions
14:11 < engla> it would only spread the quirk..
14:12 -!- pagenoare [n=page@unaffiliated/pagenoare] has joined #go-nuts
14:12 < jessta> and it's a bad quirk
14:12 < ehird> I don't think it's a quirk, really; it's a simple way to
implement a useful and sane error-handling system.  i just wish we could use it
14:12 < jessta> what use does it serve?
14:12 < ehird> as it stands now, though, being builtin-only, it's a quirk
14:12 < engla> ehird: _ signified an explicitly silenced error, better have
it explicit
14:12 -!- pshahmumbai [n=prashant@59.164.24.216] has joined #go-nuts
14:12 < ehird> jessta: foo(mightFailInSomeFarOffTotallyUnlikelyUniverse())
14:12 < pagenoare> ryniek, i hate you
14:12 < ehird> like "universe just exploded error"
14:12 < ehird> highly unlikely, not worth bothering with
14:12 < ehird> and, basically, stopping us making up junk names
14:13 < pshahmumbai> how to convert a int to string ?
14:13 < ryniek> pagenoare: I hate you to
14:13 < ehird> stupidname,_ := ...
14:13 < ehird> etc
14:13 < ehird> pshahmumbai: fmt module or strconvert (iirc)
14:13 < heavensrevenge> ehird: why did put both "name, ok" before the := for
trying to make input possible??  i cant make it work
14:13 < pagenoare> ryniek, great
14:13 < ryniek> yep
14:13 < ehird> heavensrevenge: remove the var declaration for them
14:13 < ehird> := does that for you
14:14 < heavensrevenge> not var
14:14 < jessta> ehird: since it's impossible to catch the error it's a bad
idea
14:14 < heavensrevenge> ill pastebin it since i have no idea how this cant
be trivial
14:14 < ehird> eh, fine
14:14 < heavensrevenge> there needs to be a readline...  other than making
one to each his own
14:15 < jessta> heavensrevenge: there is
14:15 -!- mush06 [n=mush@lam06-4-88-174-45-116.fbx.proxad.net] has joined #go-nuts
14:15 < ehird> jessta: do tell
14:15 < heavensrevenge> what is it??
14:16 < heavensrevenge> im dyin here trying to manually pass \n as a
delimiter
14:16 < ehird> heavensrevenge: '' single quotes not double around \n
14:17 -!- iap [n=iap@151.59.210.251] has quit ["Leaving"]
14:17 -!- ericmaxey [n=ericmaxe@98.203.198.10] has quit ["This computer has gone
to sleep"]
14:17 < heavensrevenge> yup, and i imported fmt, bufio and os
14:17 -!- fernandop [n=nandu88@187.15.18.50] has joined #go-nuts
14:17 < nsz> hm jon harrop on the ml..
14:17 < nsz> ..can't wait to see xah lee
14:18 < fernandop> hello, dudes.  Can anyone help me with go comiling
process?  I'm receiving a rsa.KeyTestGeneration error
14:18 < ehird> nsz: yeah troll got fed like a thing that got fed
14:18 < ehird> all pandering to jon harrop.  did you hear he self-admittedly
trolls because he actually thinks it brings him customers?
14:18 < heavensrevenge> ehird: or jessta what did i do wriong here?
http://codepad.org/gtILVwBG
14:19 < ehird> forgot the semicolon.
14:19 < nsz> heh, didn't know that
14:19 < ehird> also, use gofmt
14:19 < nsz> i thought it's just his personality..
14:19 < ehird> nsz: xah lee is crazy but amusing, jon harrop is just smarmy
14:20 < ehird> brb.
14:20 < heavensrevenge> a semi?
14:21 < nsz> after the first statement in main
14:21 -!- monkeybusiness [n=ben@v094247.ppp.asahi-net.or.jp] has joined #go-nuts
14:22 < fernandop> Anybody is having the same problem?
14:22 -!- Snert [n=chatzill@puff.snert.com] has quit ["ChatZilla 0.9.85 [Firefox
3.5.5/20091102152451]"]
14:23 < heavensrevenge> now getting: multiple-value in.*Reader·ReadString()
in single-value context
14:23 < Spade> Are there any sockets examples available?
14:25 -!- fernandop is now known as n2u
14:25 < soul9> compilling go problem:
http://friendpaste.com/2N3RiDlgqpQbsYhXkosTCD
14:25 -!- bleam [n=quassel@ppp-124-122-185-219.revip2.asianet.co.th] has joined
#go-nuts
14:25 < soul9> anyone know this?
14:26 < soul9> also tried with -r release
14:26 < heavensrevenge> jessta: you mentioned a readline/cin like function
so that doing io from a console is easy?
14:26 < soul9> ªme error
14:26 < soul9> ªme*
14:26 < soul9> arg, same*
14:27 < halfdan> heavensrevenge: str, error = reader.ReadString(...)
14:27 < halfdan> erm :=
14:28 < n2u> soul9: where is the error?
14:28 < sladegen> line 32
14:29 < soul9> maybe this warning: chan.c:1011 no return at end of function:
gcd
14:29 < sladegen> 35 tbp
14:29 < soul9> i'm not sure, since this is just a warning
14:29 < nsz> gcc version?
14:29 -!- jksz [n=jksz@jz.twgg.org] has joined #go-nuts
14:29 < soul9> $ gcc --version
14:29 < soul9> gcc (Gentoo 4.4.2 p1.0) 4.4.2
14:30 < soul9> but on my other machine it compiles fine
14:30 < soul9> it has same gcc version
14:30 < nsz> here it compiles cleanly with 4.3.3
14:30 < nsz> i see
14:30 -!- arieru [n=arieru@190.3.74.225] has left #go-nuts []
14:30 -!- Dervin [n=leo@pc-110-21-45-190.cm.vtr.net] has joined #go-nuts
14:30 < heavensrevenge> halfdan: why declare both str and error at once?
its not even clear what they start out as
14:30 < soul9> stramnge stuff, even iant gave up on it ;)
14:31 -!- hanse [n=hanse@188-23-176-148.adsl.highway.telekom.at] has quit [Remote
closed the connection]
14:31 < CFlux> can you initalize and declare an array in the same line?
14:31 < nsz> yes
14:31 < ben> soul9: That is a reasonably harmless
no-return-at-end-of-function; are you compiling with -Werror for some reason?
14:31 < soul9> no
14:32 < CFlux> nsz, is it basicly the same syntax as c?
14:32 < soul9> didn't change anything
14:32 < nsz> CFlux: search for composite literals in the docs
14:32 -!- ben [n=v@dslb-088-064-186-124.pools.arcor-ip.net] has quit
["Reconnecting"]
14:32 < nsz> i don't remember the exact syntax
14:32 -!- ben [n=v@dslb-088-064-186-124.pools.arcor-ip.net] has joined #go-nuts
14:32 < CFlux> ok thanks
14:33 -!- Dervin [n=leo@pc-110-21-45-190.cm.vtr.net] has quit [Client Quit]
14:33 -!- aho [n=nya@f050249150.adsl.alicedsl.de] has joined #go-nuts
14:33 < dho> soul9: what's struct M defined as
14:33 -!- n2u [n=nandu88@187.15.18.50] has left #go-nuts []
14:34 < soul9> uhh, this is latest mercurial tip..
14:34 < soul9> changeset: 4015:cb140bac9ab0
14:34 < soul9> ii have changed nothing in the tree
14:34 < nsz> hm can it be some gentoo magic?  (patched gcc, some env var..)
14:34 < dho> hg diff has no output?
14:34 < soul9> and just re-checked it out
14:34 < nsz> or your other machine is gentoo as well
14:35 < nsz> ?
14:35 -!- iant [n=iant@adsl-71-133-8-30.dsl.pltn13.pacbell.net] has joined
#go-nuts
14:35 -!- mode/#go-nuts [+v iant] by ChanServ
14:35 < soul9> nsz: yes, same
14:35 < soul9> gentoo ~x86
14:35 < nsz> 32bit?  :)
14:35 < soul9> yep
14:36 < olegfink> soul9: is $GOBIN ahead of wherever you might have another
8c?
14:36 < pshahmumbai> why this does not work
14:36 < soul9> oh!
14:36 < pshahmumbai> http://pastebin.com/m6193e67d
14:36 < soul9> damn it
14:36 < doktoreas> hello folks..can I access a PostgreSQL database with Go?
14:36 < soul9> olegfink might just be right
14:37 < pshahmumbai> i am calling go funcname() but it does not call them
14:37 < soul9> it's trying to use the p9p 8c
14:37 < dho> heh
14:37 < nsz> p9p :)
14:37 < soul9> eh, trying with PATH=$GOBIN:$PATH
14:38 < sladegen> and perhaps let down with -j's
14:38 < soul9> olegfink: thank you, i think you got it!
14:38 < pshahmumbai>
http://pshahmumbai.wordpress.com/2009/11/14/installing-go-programming-language-on-ubuntu-linux/
14:39 -!- monkeybusiness [n=ben@v094247.ppp.asahi-net.or.jp] has left #go-nuts []
14:39 -!- travalas [n=nathan@202.84.40.65] has joined #go-nuts
14:39 -!- vladikoff [n=armagste@bas1-woodbridge48-2925111726.dsl.bell.ca] has
joined #go-nuts
14:40 < mjburgess> with the template package, is there anyway to have named
template variables?  it's driving me crazy
14:41 < mjburgess> it looks like the Execute method accepts only one basic
value type...  no maps, etc.
14:41 < olegfink> soul9: just say which 8c and you'll know
14:41 -!- ako [n=nya@f051232137.adsl.alicedsl.de] has joined #go-nuts
14:41 -!- pagenoare [n=page@unaffiliated/pagenoare] has left #go-nuts []
14:41 < soul9> olegfink: yep, that was it
14:41 < soul9> :(
14:42 < soul9> i still do't understand how it works on the other machine,
since i have p9p installed there too
14:42 < olegfink> p9p has 9c, not 8c
14:42 -!- jolleyjoe [n=jolleyjo@firewall.starsys.com] has quit [Read error: 110
(Connection timed out)]
14:43 < olegfink> off to lunch
14:43 < soul9> ooops, inferno has 8c ;)
14:43 < soul9> and i don't have inferno on my other machine.
14:44 -!- aho [n=nya@f050249150.adsl.alicedsl.de] has quit [Nick collision from
services.]
14:44 -!- ako is now known as aho
14:45 -!- xk0der [n=xk0der@122.167.11.38] has joined #go-nuts
14:45 -!- Spade [i=damn3d@94.23.198.23] has quit [Remote closed the connection]
14:46 -!- bleam [n=quassel@ppp-124-122-185-219.revip2.asianet.co.th] has quit
[Read error: 110 (Connection timed out)]
14:47 -!- keithpoole [n=keithpoo@cpc3-bagu8-0-0-cust84.bagu.cable.ntl.com] has
joined #go-nuts
14:47 -!- stefanc [n=stefanc@188.25.244.29] has joined #go-nuts
14:47 < mjburgess> are there any test suits?
14:48 < mjburgess> (...for the packages)
14:48 -!- MvdS [n=moshe@83.119.164.251] has joined #go-nuts
14:49 < nsz> pkg/foo/foo_test.go
14:50 < mjburgess> oh, thanks
14:51 -!- crooter [n=crooter@adsl-69-209-124-89.dsl.klmzmi.ameritech.net] has
joined #go-nuts
14:52 -!- TR2N [i=email@89-180-204-132.net.novis.pt] has joined #go-nuts
14:53 -!- TR2N [i=email@89-180-204-132.net.novis.pt] has left #go-nuts []
14:54 -!- kw- [n=aevirex@d91-128-61-101.cust.tele2.at] has joined #go-nuts
14:55 -!- gcopenhaver [n=greg@98.250.49.37] has joined #go-nuts
14:55 -!- binaryjohn [n=binaryjo@cpe-24-30-132-50.san.res.rr.com] has joined
#go-nuts
14:55 < mjburgess> can you have a composite literal struct ? vars := struct
{ X, Y int = 5, 6; } ?
14:56 < uriel> exch: you around?
14:56 < nsz> yes
14:56 < exch> ya
14:56 -!- vladikoff [n=armagste@bas1-woodbridge48-2925111726.dsl.bell.ca] has quit
[Read error: 110 (Connection timed out)]
14:57 -!- monkeybusiness [n=ben@124.155.94.247] has joined #go-nuts
14:57 < uriel> exch: can you share that syntax file?  ;)
14:58 < exch> sure.  sec..
14:58 < uriel> no hurry
14:58 -!- pshahmumbai [n=prashant@59.164.24.216] has quit ["Ex-Chat"]
14:58 < mjburgess> hmm, im getting a syntax error for that
14:59 -!- sm_ [n=sm@cpe-76-173-194-242.socal.res.rr.com] has joined #go-nuts
14:59 < nsz> btw i have a dumb mcedit syntax file
14:59 < exch> http://xml.pastebin.com/m7d733570
14:59 < nsz> ..but i guess noone uses mcedit besides me :)
14:59 < exch> notice I added 'this' to the keywords.  done that for mny own
purposes..  you may want to take it out if you don't need it
15:00 < uriel> nsz: send me a copy
15:00 < mush06> i'm trying relect package, I reach to retrieve functions of
an object but How can I make a call to a function of an anonymous field ?
15:01 < uriel> exch: no problem
15:01 < mush06> currently i've got an error saying that the type is not good
(function waits for the anonymous inner field)
15:01 < mjburgess> thanks exch...  i was half way thru' writing my own
15:01 < mush06> and I don't know how to reach it
15:01 < dho> iant: in the runtime, I'm seeing a lot of calls to unlock()
before I see a single lock call.
15:02 -!- Lixivial [n=Lixi@71-10-86-62.dhcp.roch.mn.charter.com] has quit []
15:03 < mush06> any suggestions ?
15:03 < uriel> nsz, exch: can you email the syntax files to
uriel@berlinblue.org ? thanks!
15:03 * uriel has to run now, back later
15:03 < exch> sure
15:03 -!- oa_Bob [n=oa_Bob@187.232.72-86.rev.gaoland.net] has quit ["Quitte"]
15:04 -!- sm [n=sm@cpe-75-85-88-227.socal.res.rr.com] has quit [Nick collision
from services.]
15:04 -!- sm_ is now known as sm
15:05 -!- Lixivial [n=Lixi@71-10-86-62.dhcp.roch.mn.charter.com] has joined
#go-nuts
15:05 -!- ukl_ [n=ukl@zdv-vpn2-39-46.zdv.Uni-Mainz.DE] has quit ["leaving"]
15:07 -!- mainman__ [n=Adium@host20-155-dynamic.30-79-r.retail.telecomitalia.it]
has quit ["Leaving."]
15:07 -!- jksz [n=jksz@jz.twgg.org] has left #go-nuts []
15:08 <+iant> dho: I don't know what would cause that, sorry
15:09 < dho> it seems like a bunch of stuff in anonymous structs in runtime
doesn't zero
15:09 < dho> including locks
15:09 < dho> e.g.  MHeap mheap
15:09 < dho> it's not static, so i don't think it goes into zeroed memory,
and I don't see anything that zeroes it
15:10 < dho> which would cause it to not init.
15:10 -!- Aseq [i=598efc47@gateway/web/freenode/x-xdacocsrxjbvgmfo] has joined
#go-nuts
15:10 <+iant> dho: that kind of thing would normally go into the BSS
segment, which is expressed as a difference between the file_sz and mem_sz of the
data segment
15:11 <+iant> if you do "readelf -l" on your binary, do you see MemSiz
larger than FileSiz for the second LOAD segment?
15:12 < dho> no
15:12 < dho> 0x800 and 0x400800
15:12 <+iant> OK, I don't know what would cause that, but that may be the
problem here
15:13 < dho> just seems weird because darwin uses if (l->sema == 0) init
15:13 < dho> i have to have an intptr (grmbl)
15:13 -!- Koen_ [n=Miranda@83.101.24.153] has quit [Read error: 113 (No route to
host)]
15:13 < dho> but it doesn't always trigger on my if(l->sem == nil) init
15:13 -!- keithpoole [n=keithpoo@cpc3-bagu8-0-0-cust84.bagu.cable.ntl.com] has
quit []
15:14 -!- _rogue780 is now known as rogue780
15:14 < dho> yeah that's gotta be it.  I just put a throw at the top of
lock/unlock
15:15 < dho> iant: is there some way I can do printf debugging in the os
bits of the runtime?
15:15 -!- andrewh_ [n=andrewh@94-194-56-42.zone8.bethere.co.uk] has joined
#go-nuts
15:15 <+iant> dho: call prints to print a string
15:15 < dho> :\ would like to be able to print addresses too
15:16 <+iant> call printf using %p
15:16 -!- andrewh_ [n=andrewh@94-194-56-42.zone8.bethere.co.uk] has quit [Client
Quit]
15:16 <+iant> it should work, I think
15:16 < dho> hm ok
15:16 < engla> iant: gccgo doesn't compile but stops on a warning (-Werror)
(powerpc).  I managed to turn off -Werror for one "cycle" of compiling, and it
compiles, but I didn't want to run all of gcc compilation again..
15:17 -!- JeffJohnson [n=fho@unaffiliated/jeffjohnson] has quit [Read error: 104
(Connection reset by peer)]
15:17 <+iant> engla: configure with --disable-werror
15:17 < dho> also, any way to get a stack trace without panicking?
15:17 < engla> I don't understand how compilation works exactly and how to
resume, building only the go part..  because it seems willing to remake the last
bootstrap of c/c++ every time
15:17 -!- JeffJohnson [n=fho@2001:6f8:1c00:cb:0:0:0:2] has joined #go-nuts
15:17 < engla> iant: I don't want to build again, it takes forever
15:17 < engla> iant: I want to continue just the go part
15:17 <+iant> engla: you can shorten the build cycle by configure with
--disable-bootstrap
15:17 <+iant> you can build just the Go compiler by (cd gcc; make go1)
15:18 < engla> ok that's good
15:18 < engla> --disable-bootstrap didn't work the first round
15:18 < engla> since it depends on some flag I saw you added to gcc in the
branch
15:18 < engla> (googled the error)
15:18 <+iant> engla: hmmmm, I don't recall
15:18 -!- heavensrevenge [i=63ee179c@gateway/web/freenode/x-jpqbcrepukiqjtbr] has
quit ["Page closed"]
15:19 -!- tuples_ [i=55023959@gateway/web/freenode/x-bxchkywqdevjjlhg] has joined
#go-nuts
15:19 < tuples_> What is the "type" of a map?  var map ___?
15:19 < engla> iant: I'm going to try thanks anyway
15:20 < tuples_> var map map[string] int;?
15:20 <+iant> dho: you can call traceback; see the call in runtime·panicl in
runtime/runtime.c
15:20 < dho> ok
15:20 < dho> thanks
15:20 -!- ZenCrab [n=toor@unaffiliated/coconutcrab] has quit ["game game game"]
15:20 <+iant> tuples_: yes, but you can't name a variable "map", because
that is a keyword
15:20 < tuples_> ok :)
15:22 -!- Harmen [n=Harmen@62.140.137.109] has joined #go-nuts
15:24 -!- delsvr [n=delsvr@cpe-67-242-41-219.twcny.res.rr.com] has joined #go-nuts
15:26 -!- binaryjohn [n=binaryjo@cpe-24-30-132-50.san.res.rr.com] has quit []
15:28 < sergio> any simple way to iterate through the lines of a file?
io.ReadFile will give me its whole contents
15:28 -!- chid [n=dorl@122.106.95.175] has quit ["bye"]
15:28 -!- asmo [n=asmo@c-f6c5e055.1155-1-64736c11.cust.bredbandsbolaget.se] has
quit [Remote closed the connection]
15:28 < dho> that's got to be it
15:29 < dho> why on earth would my l->sem be *0x1?
15:29 < dho> or something in program text
15:29 < dho> nothing else should be using it
15:29 <+iant> I would check to see whether it is initialized incorrectly in
the program itself
15:29 < jessta> sergio: you want to look at bufio.ReadString
15:29 <+iant> before it even starts running
15:29 < sergio> thanks, jessta
15:30 < dblaine> /leave
15:30 -!- dblaine [n=darrend@haybaler.sackheads.org] has left #go-nuts []
15:30 < engla> iant: thank you.  I have a go1 now.  How can I find out how
to build the go libs.  this build system is really tricky, I want to avoid yet
another bootstrap round (doesn't seem to ever finish if it is cut somewhere, like
from teh Werror thing)
15:30 -!- diltsman__ [n=diltsman@64.122.18.77] has joined #go-nuts
15:30 <+iant> engla: if you configure with --disable-bootstrap, you can
build the Go library using make all-target-libgo
15:31 -!- clip9 [i=tj@12.81-166-62.customer.lyse.net] has joined #go-nuts
15:31 <+iant> otherwise I think the make system is going to kick off a
bootstrap, it does take a while
15:31 -!- Aseq [i=598efc47@gateway/web/freenode/x-xdacocsrxjbvgmfo] has quit [Ping
timeout: 180 seconds]
15:31 < engla> but I still need it to use the c/c++ compiler I already have
compiled + bootstrapped
15:32 -!- Freeaqingme [n=Freeaqin@80.100.176.49] has quit ["ZNC -
http://znc.sourceforge.net"]
15:32 <+iant> engla: if you configure with --disable-bootstrap, it will use
the system c/c++ compiler to build
15:32 < MvdS> Hello, I have implemented the func Write of encoding/binary,
and like to submit it for review ( http://golang.org/doc/contribute.html ), is
there someone who can guide me a bit?
15:32 -!- oklokok is now known as oklofok
15:32 < MvdS> When I do "hg change", what should I fill in?
15:33 <+iant> MvdS: you should fill in the description.  The first line
should briefly describe the change.  Subsequent lines should describe the change
in greater detail if necessary
15:33 <+iant> You can set the reviewer to golang-dev
15:33 < MvdS> and who should i name as reviewer?
15:33 < MvdS> ok
15:33 <+iant> or maybe it has to be golang-dev@googlegroups.com, I'm
actually not sure
15:33 -!- eni23 [n=eni@adsl-84-226-111-121.adslplus.ch] has left #go-nuts []
15:34 <+iant> thanks for contributing, by the way
15:37 < MvdS> I think I forgot to do "hg gofmt", it gives a warning, what
should I do about it?
15:37 <+iant> hg gofmt gives a warning?
15:37 < MvdS> http://codereview.appspot.com/152141 < here it is by the
way
15:37 < MvdS> ne
15:37 < MvdS> *no
15:38 < MvdS> it printed "warning: gofmt needs to format these files (run hg
gofmt):"
15:38 < MvdS> when I did "hg gofmt", it printed the file paths
15:38 <+iant> now run hg upload 152141
15:38 <+iant> to upload the modified files
15:38 < engla> iant: yes exactly, and that doesn't work, I already tried.
the error I found (previously mentioned) is this: "-fsplit-stack" is not supported
by this compiler configuration (whew took a while to find)
15:39 <+iant> engla: ah, sorry, that is a problem
15:39 <+iant> engla: I don't know what to recommend except the bootstrap
15:39 < engla> problem is that it seems to automatically re-bootstrap all
the time
15:39 <+iant> engla: once your system is stable, the bootstrap won't rebuild
the first two stages
15:39 <+iant> I'm not sure why that would happen if you don't rerun
configure
15:39 < engla> go is designed to solve this madness of course, I don't know
what it would do to these overnicht compile times
15:39 -!- circassia [n=office@chello080109121074.8.15.vie.surfer.at] has joined
#go-nuts
15:40 < engla> ok
15:40 <+iant> that is, it will invoke make on stage 1 and stage 2, but it
shouldn't actually build anything
15:40 <+iant> a bootstrap takes about 30 minutes on my system, it speeds up
a lot if you use "make -j2"
15:40 < engla> thank you for your input
15:41 < MvdS> How can I see what hg gofmt changed?  Looking at the code, I
don't see any changes
15:41 <+iant> MvdS: I don't know, unless you saved a copy of the old file
15:41 <+iant> it may have just changed spaces to tabs, or something like
that
15:41 < Jooon> on http://codereview.appspot.com/152141 there is a delta from
patch set 1.  yes, just space to tab changes
15:41 < MvdS> ok
15:42 < conra> http://golang.org.pl :-)
15:42 -!- rajeshsr [n=rajeshsr@59.92.55.149] has joined #go-nuts
15:42 < rajeshsr> hi
15:42 < conra> hi
15:43 < rajeshsr> am just learning Go. I would like to know what is the
equivalent of scanf here.
15:43 < rajeshsr> Too bad that nowhere a primitive requirement as this isn't
specified!
15:44 <+iant> rajeshsr: there is no direct equivalent to scanf at present;
there are functions in strconv which perform similar functions for specific types
15:45 -!- Freeaqingme [n=Freeaqin@ns3.hostdelight.com] has joined #go-nuts
15:45 < rajeshsr> iant, well, am talking about taking input from stdin.  How
to do that if it is possible only as a string?
15:46 <+iant> You can do something like bufio.ReadBytes(os.Stdin, ...)
15:46 -!- circassia [n=office@chello080109121074.8.15.vie.surfer.at] has quit
[Client Quit]
15:46 < ehird> IO sucks quite a bit at the moment.
15:46 < nsz> ?
15:47 -!- stracks [n=intim@unaffiliated/romani] has joined #go-nuts
15:47 -!- stracks [n=intim@unaffiliated/romani] has left #go-nuts []
15:47 < rajeshsr> BTW, I would like to say that, GO is pretty interesting
and is educative!  Feels good that I could get involved with Go from its
incipience.  Just want to say this, in case any developer is here
15:47 < rajeshsr> iant, hmm, ok, lemme see
15:48 < rajeshsr> ehird, may be we can write some wrapper fot C scanf.
Anyway am not that proficient with Go, yet.  Lemme see
15:48 < rajeshsr> *for
15:49 -!- Kniht [n=kniht@68.58.17.177] has joined #go-nuts
15:50 < olegfink> iant: re benchmarks without gc, the difference was
considerable in some tests but much less the interval between go and other
comparable languages on shootout, so either I haven't measured something properly
or the current gc isn't really a performace bottleneck.
15:51 < aho> the current gc isn't really a performace bottleneck...  in this
benchmarks :>
15:52 -!- sku [n=sk@217.175.1.200] has joined #go-nuts
15:53 -!- evilhackerdude [n=stephan@e181105168.adsl.alicedsl.de] has quit [Read
error: 113 (No route to host)]
15:53 < olegfink> aho: yeah, but the whole story with my measurements was
about shootout
15:54 < aho> well, if the tests don't create much garbage, the gc scheme
won't affect the outcome very much
15:54 -!- kill-9 [n=kill-9@65.24.145.70] has joined #go-nuts
15:54 < aho> e.g.  gcj's gc works just fine if you don't create any garbage
;)
15:55 < hector> iant: i see that the runtime allocates memory by directly
invoking the mmap syscall.  will i need to do something like this on windows too,
or can i just call an api?
15:55 < aho> but that doesn't mean that it's any good
15:56 -!- [Koen] [n=Miranda@83.101.24.153] has joined #go-nuts
15:56 -!- qbit_ [n=qbit_@97-112-152-62.clsp.qwest.net] has joined #go-nuts
15:56 < ericmoritz\0> man, there really should be a standard byte
manipulation package, I keep seeing people re implement things like:
getUint16(bytes []byte) uint16
15:57 -!- nddrylliog [n=nddrylli@82.247.195.175] has joined #go-nuts
15:57 -!- nddrylliog [n=nddrylli@82.247.195.175] has left #go-nuts ["*flash*"]
15:57 < ericmoritz\0> oh, is that what the encoding/binary package does?
15:58 < MvdS> yes
16:00 -!- interskh [n=interskh@c-67-163-156-103.hsd1.pa.comcast.net] has joined
#go-nuts
16:01 -!- xk0der [n=xk0der@122.167.11.38] has quit [Read error: 104 (Connection
reset by peer)]
16:01 <+iant> olegfink: at a guess, the shootout tests don't really allocate
enough memory to trigger a GC run
16:01 <+iant> hector: anything which returns a block of memory should do
16:02 -!- xk0der [n=xk0der@122.167.11.38] has joined #go-nuts
16:02 < interskh> hi all do we have go's syntax file for vim?
16:02 -!- evilhackerdude [n=stephan@e181105168.adsl.alicedsl.de] has joined
#go-nuts
16:02 -!- hanse [n=hanse@188-23-73-200.adsl.highway.telekom.at] has joined
#go-nuts
16:02 < olegfink> interskh: misc/vim
16:03 < hector> iant: the only reason i ask is that in mem.c there is a
comment stating we can't call a function because it might grow the stack, hence
directly calling the syscall
16:03 < interskh> olegfink, oyeah, thanks!
16:03 <+iant> hector: that is a general issue that will have to be sorted
out somehow on WIndows: how to make sure that the stack space is large enough when
making the equivalent of a system call
16:04 <+iant> It may be that the best way to run on Windows will be to
invoke the system calls directly, although they are less well documented than the
DLL APIs
16:04 < rajeshsr> well, am sorry!  I could hardly find how to take input
from stdin!  Can anyone help me out?
16:04 < hector> iant: i think i will go the syscall route, as 8l might not
be able to link to the windows dlls
16:05 -!- Tuller [n=Tuller@ip98-163-120-139.dc.dc.cox.net] has joined #go-nuts
16:05 -!- Tuller [n=Tuller@ip98-163-120-139.dc.dc.cox.net] has quit [Client Quit]
16:05 -!- CalJunior [n=caljunio@82-168-237-95.ip.telfort.nl] has joined #go-nuts
16:05 -!- depood [n=hidden@chello080108055214.19.11.vie.surfer.at] has quit ["Lost
terminal"]
16:05 <+iant> hector: good
16:06 <+iant> rajeshsr: did you see my comment about using os.Strding and
bufio.ReadBytes?
16:06 <+iant> sorry, os.Stdin
16:07 < rajeshsr> iant, yes.  But os.Stdin is a File object.  How am I to
use that with Readbytes which requires a Reader object?
16:08 <+iant> rajeshsr: os.Stdin satisfies the io.Reader interface
16:08 <+iant> rajeshsr: take a look at "Effective Go"
16:08 -!- CalJunior [n=caljunio@82-168-237-95.ip.telfort.nl] has quit [Client
Quit]
16:08 -!- CalJunior [n=caljunio@82-168-237-95.ip.telfort.nl] has joined #go-nuts
16:08 < Gracenotes> hm.  I'm thinking of replacing a list of listeners with
a list of chans..  if the "for { x := <- chan } pattern" is one the language
designers really want to promote.  does this sound sane?
16:09 < Gracenotes> only problem is that this might require an extra chan,
to select, to signal detachment
16:09 -!- Tuller [n=Tuller@98.163.120.139] has joined #go-nuts
16:10 < rajeshsr> sudoku.go:6: os.Stdin.ReadBytes undefined (type os.File
has no field ReadBytes)
16:10 -!- depood [n=hidden@chello080108055214.19.11.vie.surfer.at] has joined
#go-nuts
16:11 -!- asmo [n=asmo@c-f6c5e055.1155-1-64736c11.cust.bredbandsbolaget.se] has
joined #go-nuts
16:11 < rajeshsr> that is the error I get.  Am I doing something grossly
wrong?
16:11 < Gracenotes> rajeshsr: io.Reader is not the same as bufio.Reader
16:11 -!- monkeybusiness [n=ben@124.155.94.247] has left #go-nuts []
16:11 < Gracenotes> although..  if it implements both..  *reads*
16:11 < rajeshsr> Gracenotes, so am i to cast it?
16:12 < clip9> reader := bufio.NewReader(os.Stdin)?
16:12 -!- slicslak_ [n=slicslac@c-68-50-207-133.hsd1.dc.comcast.net] has joined
#go-nuts
16:12 < Gracenotes> well, the term is "assert".  and it seems it implements
io.Reader, not bufio.Reader..  you just need that ^ to wrap it
16:13 -!- Ishmael [n=ishmael@189.96.57.49] has quit [Read error: 110 (Connection
timed out)]
16:13 -!- diltsman__ [n=diltsman@64.122.18.77] has quit []
16:13 < Gracenotes> it either implements the methods or it doesn't,
regardless of whether it's an io.Reader.  in this case it doesn't so the fact that
it's an io.Reader is useful.  still..  the main problem I'm thinking of is isn't
stdin/stdout buffered by default, usually?  hm.
16:14 <+iant> rajeshsr: what clip9 suggests should work to get a
bufio.Reader
16:14 <+iant> then you can do buf, err := reader.ReadBytes('\n');
16:14 < clip9> might be completly off base.  I'm new to this too.  Obviously
;)
16:14 < rajeshsr> iant, yeah it does!
16:14 < asmo> Is there an IDE plugin for GO yet?
16:14 < clip9> Works great with net.Conn though.
16:14 < rajeshsr> clip9, thanks
16:14 < asmo> For Eclipse for example?
16:14 < rajeshsr> but why not this: os.Stdin.(bufio.Reader).ReadBytes("\n");
16:14 < rajeshsr> ?
16:14 < rajeshsr> os.Stdin doesn't implement Reader?
16:15 <+iant> bufio.Reader is not an interface
16:15 <+iant> it's a struct which does buffering around something which
implements the io.Reader interface
16:15 < rajeshsr> iant, ha, ok!
16:17 -!- vladikoff [n=armagste@bas1-woodbridge48-2925111726.dsl.bell.ca] has
joined #go-nuts
16:17 < rajeshsr> iant, so all File Objects implement a reader?
16:17 -!- ceh [n=ceh@celsius.it.uu.se] has joined #go-nuts
16:17 <+iant> rajeshsr: in general, yes
16:17 < rajeshsr> and of course, also writer I believe
16:18 -!- Ibw [n=isaac@cpe-67-241-42-134.twcny.res.rr.com] has joined #go-nuts
16:18 < clip9> Does anyone have an example of using binary.Read?
16:18 < ben> binary.read?
16:19 -!- ahiwasabi [n=mike@c-75-72-114-208.hsd1.mn.comcast.net] has joined
#go-nuts
16:19 < clip9> http://golang.org/pkg/encoding/binary/
16:19 < ben> woops
16:19 < clip9> the Read function there
16:19 -!- akus85 [n=akus@host68-175-dynamic.16-87-r.retail.telecomitalia.it] has
joined #go-nuts
16:19 < Gracenotes> I'm not even sure if any syntax highlighters have been
written
16:19 < akus85> Hello!
16:20 < Gracenotes> the C# one seems to work well enough
16:20 < tuples_> Gracenotes: there is a textmate plugin
16:20 -!- Lixivial [n=Lixi@71-10-86-62.dhcp.roch.mn.charter.com] has quit [Read
error: 104 (Connection reset by peer)]
16:20 -!- ben [n=v@dslb-088-064-186-124.pools.arcor-ip.net] has left #go-nuts []
16:22 -!- garfield [n=uwekloss@p5486761A.dip.t-dialin.net] has quit ["Verlassend"]
16:22 < Gracenotes> hm.  the specification isn't as clear as it could be on
the semantics of range clauses
16:23 -!- XniX23 [n=XniX23@193.77.69.224] has joined #go-nuts
16:23 < tuples_> I wish you could do i := range nel with nel being an int !
16:23 < Gracenotes> at least it makes it clear that maps are safe..  so that
should be enough for me
16:24 -!- Lixivial [n=Lixi@71-10-86-62.dhcp.roch.mn.charter.com] has joined
#go-nuts
16:25 -!- travalas [n=nathan@202.84.40.65] has quit ["Leaving"]
16:28 -!- wvicente [n=wvicente@187.34.170.191] has joined #go-nuts
16:28 < engla> is there a way to unify the iterator interface and range
16:29 -!- illya77 [n=illya77@151-117-112-92.pool.ukrtel.net] has joined #go-nuts
16:29 < engla> the iterator pkg looks nice, especially making iterators with
channels.  The boxing inside interface{} is only very negative point
16:29 -!- bjb [n=bobby@cpe-065-184-233-244.ec.res.rr.com] has joined #go-nuts
16:29 < engla> Here I think syntax additions (like "list comprehensions" or
so) can resolve this -- they can be type safe(?)
16:30 -!- tuples_ [i=55023959@gateway/web/freenode/x-bxchkywqdevjjlhg] has quit
["Page closed"]
16:30 -!- ahiwasabi [n=mike@c-75-72-114-208.hsd1.mn.comcast.net] has quit []
16:30 -!- wvicente is now known as madhatter09
16:30 <+iant> engla: the iterator interface works with range, unless I
misunderstand
16:31 <+iant> generics, which would avoid the unboxing, remain an open issue
16:31 < engla> ah I meant exp/iterable
16:31 < engla> but it's in exp --experimental
16:32 <+iant> it's experimental because we're not sure of the interface, but
it does work with range
16:32 < engla> ah ok nice
16:32 -!- vladikoff [n=armagste@bas1-woodbridge48-2925111726.dsl.bell.ca] has quit
[]
16:32 -!- cold-penguin [n=ben@92.8.42.199] has joined #go-nuts
16:32 < engla> so range..  can use anything with an Iter method?
16:32 <+iant> not exactly, an iter method typically returns a channel, and
range can work on a channel
16:33 -!- newhanoian [n=newhanoi@118.71.135.8] has joined #go-nuts
16:33 < engla> ah that's true.  not the best syntax though
16:33 <+iant> on which end?
16:33 < engla> for x := range iterable.Iter() {} the range + .Iter() parts
makes you repeat yourself
16:34 <+iant> ah, yes, that is true
16:35 -!- cmarcelo [n=cmarcelo@enlightenment/developer/cmarcelo] has joined
#go-nuts
16:35 -!- newhanoian [n=newhanoi@118.71.135.8] has left #go-nuts []
16:40 -!- Wezz6400 [n=Wezz6400@145-118-111-123.fttx.bbned.nl] has quit ["New
kernel installed, rebooting..."]
16:40 -!- pshahmumbai [n=prashant@59.164.25.70] has joined #go-nuts
16:40 -!- reubens [n=reubens@c-66-235-53-139.sea.wa.customer.broadstripe.net] has
joined #go-nuts
16:40 < andguent> sorry for this rather stupid question.  but i am usually
not into the whole license stuff.  what license should i use on the google hosting
for a fork?
16:40 < andguent> it looks like a bsd license to me.  but i am not sure
16:40 <+iant> andguent: we would prefer that you didn't fork already, but it
is indeed a BSD-style license
16:41 < andguent> iant: hector and me want to create a repo for the windows
work
16:41 <+iant> ah, I see, that makes sense
16:41 -!- Wezz6400 [n=Wezz6400@145-118-111-123.fttx.bbned.nl] has joined #go-nuts
16:42 < mjburgess> can anyone explain to me how imports work?  i have a
folder Server inside of which is basic.go and test.go , basic.go is package basic
...  how do i import basic.go from test.go ?
16:44 -!- Arhuaco [n=n@186.80.240.243] has quit [Remote closed the connection]
16:44 -!- CalJunior [n=caljunio@82-168-237-95.ip.telfort.nl] has quit ["Colloquy
for iPhone - http://colloquy.mobi"]
16:45 -!- CalJunior [n=caljunio@82-168-237-95.ip.telfort.nl] has joined #go-nuts
16:45 <+iant> mjburgess: after you compile basic.go into basic.a, use import
"Server/basic"
16:47 -!- cn28h [n=cn28h@rrcs-96-10-241-245.midsouth.biz.rr.com] has quit [Read
error: 113 (No route to host)]
16:47 < exch> the imports use relative paths to where the compiled packages
are, not the source code.  Keep that in mind and you should be good to go :)
16:48 < mjburgess> i see, thanks
16:48 < exch> keep in mind which directory you run the compiler from thuogh,
as thay will be the root from which the relative path works
16:48 < exch> *that
16:49 -!- recover [i=recover@ip21278.lbinternet.se] has joined #go-nuts
16:50 -!- xal [n=tobi@CPE001e527d7ab0-CM001bd71325c0.cpe.net.cable.rogers.com] has
joined #go-nuts
16:51 < mjburgess> the thing tripping me up was using ./, as in import
"./basic" i was hoping ./ could be left out
16:51 -!- diltsman_ [n=diltsman@64.122.18.77] has joined #go-nuts
16:52 < Gracenotes> okay, I'd just like to say that "The White Tree" is one
of the best songs in the LOTR soundtrack.  better than "Concerning Hobbits".  that
is all.
16:52 < exch> that could make it an ambiguous reference if 'basic' also
exists in the standard package library
16:53 <+iant> mjburgess: you can pass a -I option to the compiler to give it
an additional search path for packages
16:54 < exch> does that make it ok to use 'basic' instead of './basic'?
16:54 < mjburgess> i guess there's going to have to be some "stuttering"
then
16:54 <+iant> exch: with the right -I option, yes
16:54 < exch> hmm.  what happens when a name collision occurs?
16:55 < mjburgess> since basic is unfortunatly ambigous...  it's going to
have to be basicserver
16:55 < rajeshsr> is %q same as %v in fmt?
16:55 < sergio> I have a main.go file at <dir> and I put a package I
wrote at <dir>/src.  how do I import that one package in main.go?  I tried
import "./src/config.go" but without success
16:55 < mjburgess> which would be Server/basicserver from outside the folder
16:55 < rajeshsr> >>t.Errorf(`Sprintf("%%s", empty("abc")) = %q want
%q`, s, "ab c")
16:55 <+iant> exch: the -I options are searched in order
16:55 < sergio> -I ?
16:55 < rajeshsr> what is %q there?
16:55 < diltsman_> So, I just noticed the existence of some files for xcode
in the misc directory.  What are those for?
16:55 < mjburgess> sergio: what's the package name at /src ?
16:55 < Shihan> actually, on the subject of imports..  if you write a
wrapper to some c lib, it compiles a so...  is there anyway to change the location
of the importa (it seems it compiles in $GOROOT/pkg/linux.../
16:56 < exch> sergio: -I is a compiler switch
16:56 < sergio> config, mjburgess
16:56 <+iant> rajeshsr: I think %q quotes the output
16:56 < rajeshsr> oh, ok
16:56 < sergio> yeah, I know it from gcc, exch.  I guess that should work
here, let me try
16:56 -!- Lixivial [n=Lixi@71-10-86-62.dhcp.roch.mn.charter.com] has quit [Read
error: 113 (No route to host)]
16:56 -!- rgammans [n=roger@host-84-9-50-142.dslgb.com] has joined #go-nuts
16:56 <+iant> sergio: you don't import .go files, you import compiled
packages; it would just be import "./src/config"; that would assume that you have
compiled config.go into config.a
16:57 < sergio> my mistake, I was using ./src/config, but I had not compiled
it into the .a.  that must be the problem here heh
16:57 < sergio> thanks again
16:57 < akus85> which is the equivalent of python raw_input in go ?
16:58 < rajeshsr> akus85, nothing like that.  You will have to do: reader :=
bufio.NewReader(os.Stdin);
16:58 < rajeshsr> line, _ := reader.ReadBytes('\n'); str = string(line);
16:59 -!- teedex [n=teedex@204.14.155.161] has joined #go-nuts
16:59 < akus85> ok rajeshsr now i try it ;-)
17:00 < KirkMcDonald> See, this is why I wrote that blog post.
17:00 < KirkMcDonald>
http://kirkmcdonald.blogspot.com/2009/11/on-compilation-of-go-packages.html
17:02 < jessta> rajeshsr: or, line :=
bufio.NewReader(os.Stdin).ReadString('\n');
17:03 < Gracenotes> from the specs: "A send on an unbuffered channel can
proceed if a receiver is ready." This seems to imply that sends on channels block
by default if there's not a receiver actively listening.  what's with that?  :/
17:03 -!- [Koen] [n=Miranda@83.101.24.153] has quit ["Miranda IM! Smaller, Faster,
Easier.  http://miranda-im.org"]
17:03 < Shihan> grace, thats correct, but you can choose not to block
17:03 -!- CalJunior_ [n=caljunio@94.157.117.253] has joined #go-nuts
17:03 < clip9> Gracenotes: if the channel dosen't have a buffer..  yes.
17:03 < rajeshsr> jessta, has, yeah!  failes to notice ReadString!
17:04 < rajeshsr> jessta, thanks
17:04 -!- Raziel2p [n=Raziel2p@ti0032a380-dhcp0316.bb.online.no] has quit [Read
error: 110 (Connection timed out)]
17:04 < Gracenotes> clip9: by "unbuffered", do you mean no buffer at all?
or unlimited buffer?
17:04 < KirkMcDonald> Gracenotes: You set the size of the buffer when you
create the channel.
17:04 -!- Guest80829 [n=miguel@166.129.40.229] has joined #go-nuts
17:04 -!- Guest80829 is now known as mdi
17:04 -!- xuser [n=xuser@unaffiliated/xuser] has left #go-nuts []
17:04 < KirkMcDonald> Gracenotes: A size of zero means that the channel is
unbuffered.
17:05 -!- mdi is now known as mdeicaza
17:05 < Gracenotes> "If the capacity is zero or absent, the communication
succeeds only when both a sender and receiver are ready.  " hmm
17:05 < clip9> var c = make(chan string) // no buffer
17:05 < Gracenotes> so absent implies zero
17:05 < clip9> var c = make(chan string, 10) // buffer
17:05 < Gracenotes> that is annoying, that there are no unbounded chans
17:07 < Gracenotes> kind of shatters my image of everything passing between
chans cleanly and unrestricted
17:07 < clip9> how would that work without a buffer?
17:07 < Gracenotes> meh
17:07 <+iant> Gracenotes: why would you want an unbounded channel?
17:08 <+danderson> unbounded chans are just asking for trouble
17:08 -!- cce891ed_ [n=chtr@freya.dhcp.rose-hulman.edu] has quit [Read error: 104
(Connection reset by peer)]
17:09 < Gracenotes> even a linked chan would be good.  unbounded means, if I
am receiving events asynchronously, I don't have to worry liveness bugs, and
people receiving them in time in the case of a period of rapidfire receiving
17:09 <+danderson> in a pathological case, with bounded channels, your
program will deadlock.  With unbounded channels, your program will consume all
available memory and then crash.  Which is best?
17:09 -!- asmo [n=asmo@c-f6c5e055.1155-1-64736c11.cust.bredbandsbolaget.se] has
quit [Remote closed the connection]
17:10 <+iant> Gracenotes: a bounded channel doesn't drop messages, it just
blocks the sender when the channel is full
17:10 <+danderson> for a systems language, I think that it's best to remain
in control of the resources consumed by the program, at the expense of being
responsible for allocating correctly.
17:10 < Gracenotes> so I see the value of having a limit -- namely, to avoid
cases where someone tells me to fill up a chan and then forgets about it -- but
putting a hard numerical limit, such that I have to allow a certain percentage of
liveness bugs, is not really a position I want to be in
17:10 <+danderson> (that said, iant is more authoritative here, since he's
actually on the go team, as opposed to being just a random observer)
17:10 <+iant> danderson: I agree with you
17:10 < Gracenotes> iant: that is not acceptable behavior in my case
17:11 <+danderson> speaking of being a random observer...
17:11 <+iant> Gracenotes: what do you mean by a liveness bug?
17:11 -!- Penguino [n=Penguino@190.157.119.73] has joined #go-nuts
17:11 <+danderson> hmm, I appear to be unable to devoice myself.  That
sucks.
17:12 < Gracenotes> perhaps I should clarify what I mean by acceptable
behavior.  in this case, blocking isn't :) Because I am receiving events from a
networking and dispatching them to a list of chans, all of which need it to
operate okay
17:12 < Gracenotes> *network
17:12 -!- Penguino [n=Penguino@190.157.119.73] has left #go-nuts ["rofl noob"]
17:12 < Gracenotes> I am aware, kirk
17:12 < Gracenotes> oh.  lol, sorry.  damn scrolling :P
17:13 <+danderson> Gracenotes: so, all your channels have locked up and
you're trying to dispatch more.  In your opinion, what should happen?
17:13 <+danderson> I see three options: block until channel is available,
consume all memory and crash, or fail-fast and return an error from the channel
send operation
17:13 < clip9> maybe a way to check and see if a buffered chan is full?
17:14 < Gracenotes> you can do that via ok-checking
17:14 < Gracenotes> and non-blocking receive
17:14 < clip9> ok
17:14 < conra> i looking for polish person ;)
17:15 < Gracenotes> danderson: anyway, that is the problem I'm faced with
with bounded chans.  Perhaps I should clarify my situation more: events are going
to be received, and they need to be dispatched pronto, before the next one comes.
if any blocking happens, it happens in the chans that receive the network event.
17:15 < diltsman_> I'm not finding any consistency on Google about where to
put go.pbfilespec and go.xclangspec.  Any ideas where they go?
17:15 -!- Harmen [n=Harmen@62.140.137.109] has quit ["Leaving"]
17:15 < Shihan> i thought there was a simple way of skipping over an
operation that would block?
17:15 < rajeshsr> There exists automatic conversion between integer types?
17:15 <+iant> diltsman_: probably in the misc directory
17:15 <+iant> rajeshsr: no, no implicit conversions
17:16 < rajeshsr> iant, > int(val[i]) - '0'
17:16 < rajeshsr> how that wpuld work, then?
17:16 < rajeshsr> val is string type
17:16 -!- gabisar [n=gabisar@189.78.28.184] has joined #go-nuts
17:16 < diltsman_> iant: I found them in the misc directory, I'm more
worried where to put them to get them to do any good.
17:16 < Gracenotes> danderson, iant: so if one of those receptive chans is
irresponsible and takes too long to do something (I'm handing them out at will), I
can't let it hold up everything.  at the same time, its correctness depends on
receiving every single event.  The specific bounding I have to give a chan
provides some protection against this, but it is very unquantifiable
17:16 <+iant> diltsman_: oh, sorry, I don't know
17:16 < rajeshsr> '0' is uint8 type, if am not wrong
17:16 <+iant> rajeshsr: constants are untyped
17:17 <+iant> rajeshsr: see pkg/strconv to convert string to integer
17:17 < rajeshsr> so '0' is inferred to be int in this case?
17:17 <+iant> rajeshsr: essentially, yes
17:17 < rajeshsr> wow, lots of beautiful consequences!
17:17 < Shihan> grace, why not just create a go routine for the send
operation...?
17:17 < Gracenotes> so it's possible that for a 50-length queue, I can avoid
95% of incorrectness bugs.  or for 100-length queue, 99.9% of incorrectness bugs.
there is always some amount, though..  eh.  I suppose I'll just do non-blocking
add
17:17 < gabisar> where i can download the gc
17:18 < gabisar> where i can download any go compiler?
17:18 <+iant> gabisar: http://golang.org/
17:18 -!- armence [n=armence@c-67-188-229-128.hsd1.ca.comcast.net] has joined
#go-nuts
17:18 < gabisar> thanks
17:18 -!- ring-zero [n=hotshot@117.199.139.109] has joined #go-nuts
17:18 <+danderson> Gracenotes: I'm confused.  It seems you'd like to assume
a perfect world with infinite memory where everything always works even when it
doesn't.  Assume that the channel receiver has deadlocked for some reason.  Maybe
temporarily, maybe permanently.  What should happen?
17:18 < Gracenotes> Shihan: I thought about that.  at least *that* can grow
unbounded..  but it's not like you wouldn't run into the same memory problems as
if you had unbounded queues, in the case of an irresponsible receptor
17:18 < rajeshsr> val[i] has type uint8, right?  or is it variable because
of unicode?
17:19 < rajeshsr> val is a string
17:19 < Gracenotes> strings are always bytestrings
17:19 < rajeshsr> oh, ok
17:19 < rajeshsr> so, how then unicode comes for strings?
17:20 < soul9> what about doing duplex chans and negociating wether the
receiver can receive or not?
17:20 < Shihan> i could have sworn i read somewhere if a channel operation
would block, you can do something like "if ch <- data ..." and rather then
blocking it continues on if the operation would block...  but i cant find that now
17:20 < Gracenotes> danderson: if the memory runs out, it's the receiver's
fault.
17:20 -!- artery [n=artery@c-67-180-204-137.hsd1.ca.comcast.net] has joined
#go-nuts
17:20 < soul9> er, s,duplex,two chans\, one in each direction,
17:20 < Gracenotes> Shihan:
http://golang.org/doc/go_spec.html#Communication_operators
17:20 <+danderson> Gracenotes: right, so what should happen on the sender
side?
17:20 -!- Jan_Flanders_ [n=chatzill@d54C1E33B.access.telenet.be] has joined
#go-nuts
17:21 < soul9> so you first ping the receiver, if it answers you send the
message
17:21 <+danderson> the ideal solution imho is to fail-fast and return a
channel send error
17:21 <+danderson> but that assumes you've allocated the channel buffer with
enough headroom to compensate for temporary blockage.
17:21 < Shihan> oh right...  yes, that was the one
17:21 < Gracenotes> a channel send error is basically equivalent to program
termination in my case
17:22 -!- qbit_ [n=qbit_@97-112-152-62.clsp.qwest.net] has quit ["Computer has
gone to sleep"]
17:23 -!- stefanc [n=stefanc@188.25.244.29] has quit ["Leaving"]
17:23 < Gracenotes> if a receiver stops working, there is no reason to keep
running.  Well, I guess I'll have to say "don't spend too long, or you'll lose
data", without be able to say how long, since it depends on the rate of network
input
17:23 -!- dvhasdf [n=dvh@nat-88-212-36-43.antik.sk] has left #go-nuts []
17:24 < Gracenotes> at least, this is true for some receivers.  I do plan on
implementing a receiver that automatically detaches itself after receiving one
event, so perhaps I'll promote the use of that, and say everything else is
dangerous
17:24 <+danderson> laptop battery dying, have to run, sorry :(
17:25 -!- CalJunior [n=caljunio@82-168-237-95.ip.telfort.nl] has quit [Success]
17:25 -!- CalJunior_ is now known as CalJunior
17:25 < Gracenotes> :( okay, see you later!
17:25 -!- Arathorn [n=arathorn@78-86-114-145.zone2.bethere.co.uk] has joined
#go-nuts
17:26 < XniX23> why pointers :cry
17:26 < Gracenotes> well, I don't have an ethical problem with unbounded
queues, but at least I have something a bit more pragmatic...
17:26 < Gracenotes> yay pragmatism
17:26 < KirkMcDonald> XniX23: What's wrong with pointers?
17:26 < Arathorn> hi all - is it idiomatic in Go to send functors over
channels (e.g.  when trying to do an asynchronous dispatch of a method on an
object currently 'running' in another goroutine)?
17:26 -!- gabisar [n=gabisar@189.78.28.184] has quit ["gabisar has no reason"]
17:27 < XniX23> KirkMcDonald: i just dont like them i guess
17:27 < KirkMcDonald> XniX23: You can't even do pointer arithmetic on them
in Go.
17:27 -!- secsaba [n=secsaba@79-134-124-226.cust.suomicom.fi] has joined #go-nuts
17:27 -!- teedex [n=teedex@204.14.155.161] has quit [Remote closed the connection]
17:27 < Arathorn> or are channels really meant for data rather than
functors?
17:29 < XniX23> KirkMcDonald: whats pointer arithmetic?  im not really
familiar with english terms :\
17:30 < KirkMcDonald> XniX23: It is when you add an integer to a pointer.
17:30 -!- rog [n=rog@78.151.49.70] has joined #go-nuts
17:30 < akus85> ok rajeshsr it work!  ;-)
17:30 -!- conra [n=conrad@host-89-229-12-166.torun.mm.pl] has quit []
17:31 -!- secsaba [n=secsaba@79-134-124-226.cust.suomicom.fi] has left #go-nuts []
17:31 < rajeshsr> akus85, BTW, instead of ReadBytes, you can have
ReadString.  That will give directly to string
17:31 -!- keolo [n=Adium@75-142-48-17.static.mtpk.ca.charter.com] has joined
#go-nuts
17:31 -!- secsaba [n=secsaba@79-134-124-226.cust.suomicom.fi] has joined #go-nuts
17:31 -!- kill-9 [n=kill-9@65.24.145.70] has quit [Read error: 145 (Connection
timed out)]
17:31 < akus85> ok rajeshsr
17:31 < rajeshsr> Can anyone tell me why: reader :=
bufio.NewReader(os.Stdin); gives compilation error if put as a global declaration?
17:32 < rajeshsr> global expressions need constatnts only?
17:32 < rajeshsr> sorry, global declarations need constant expressions only?
17:32 < KirkMcDonald> rajeshsr: No. := only works inside of functions.
17:33 < KirkMcDonald> rajeshsr: You need: var reader =
bufio.NewReader(os.Stdin)
17:34 -!- artery [n=artery@c-67-180-204-137.hsd1.ca.comcast.net] has quit
["Leaving"]
17:34 -!- keolo [n=Adium@75-142-48-17.static.mtpk.ca.charter.com] has left
#go-nuts []
17:35 -!- CalJunior [n=caljunio@94.157.117.253] has quit ["Colloquy for iPhone -
http://colloquy.mobi"]
17:35 -!- kitallis [n=kitallis@122.163.105.81] has joined #go-nuts
17:35 < kitallis> :O
17:35 -!- secsaba [n=secsaba@79-134-124-226.cust.suomicom.fi] has left #go-nuts []
17:36 -!- mejja [n=user@c-49b6e555.023-82-73746f38.cust.bredbandsbolaget.se] has
joined #go-nuts
17:36 -!- vasudev [n=kakashi@117.254.124.168] has joined #go-nuts
17:37 -!- Jan_Flanders [n=chatzill@d54C1E33B.access.telenet.be] has quit [Read
error: 110 (Connection timed out)]
17:37 < rajeshsr> KirkMcDonald, oh, thanks!
17:38 < rajeshsr> But, var line, _ = reader.ReadString('\n'); seems not
working, why?
17:38 < rajeshsr> gives: sudoku.go:4: missing expr in var dcl
17:38 < rajeshsr> sudoku.go:4: multiple-value reader.*Reader·ReadString() in
single-value context
17:39 < uriel> somebody has written bindings to connect to PostgreSQL:
http://d.hatena.ne.jp/oibore/20091114/1258191288
17:39 < uriel> (for those asking for db access)
17:39 -!- zilt [n=aking@74.210.120.119] has joined #go-nuts
17:39 -!- Dysiode [n=pakattac@66.129.59.88] has joined #go-nuts
17:40 -!- teedex [n=teedex@204.14.155.161] has joined #go-nuts
17:40 < Shihan> im doing something similar actually, writing bindings to
libdbi (multiple db library)
17:40 < uriel> Shihan: nice, post a link to http://www.reddit.com/r/golang/
when you are done ;)
17:41 < reppie> Hello, 世界
17:42 -!- Tuller [n=Tuller@98.163.120.139] has quit ["apparently i'm sleepy?"]
17:42 < Shihan> assuming i ever do get done :)
17:43 -!- secsaba [n=secsaba@79-134-124-226.cust.suomicom.fi] has joined #go-nuts
17:44 < uriel> hehe
17:44 -!- dschn [n=dschn@pool-70-19-224-19.bos.east.verizon.net] has joined
#go-nuts
17:46 < Gracenotes> iant: the boundedness of channels probably was important
design-wise..  so is enough space allocated for /all/ the contents at the
beginning?  e.g., along the lines of a ring buffer?
17:46 < Gracenotes> hm.  it is called buffered and unbuffered after all.
17:46 < dho> ok so
17:46 < dho> locking is working now
17:47 < dho> but gofmt still doesn't.
17:47 < dho> also fixed my sigaction problem, which was not having a correct
list of signals
17:47 < dho> so i was trying to catch sigkill XD
17:48 < hector> iant: i have placed my changes so far for the windows port
at http://code.google.com/r/hectorchu-go-windows/
17:48 -!- nuvm [n=nu@CPE0019b92225c9-CM00195edd2c24.cpe.net.cable.rogers.com] has
left #go-nuts []
17:48 < dho> unless
17:48 < Arathorn> is there any reason why you wouldn't want to pass functors
over channels?
17:49 -!- ukl [n=ukl@zdv-vpn1-38-30.zdv.Uni-Mainz.DE] has joined #go-nuts
17:49 -!- diltsman_ [n=diltsman@64.122.18.77] has quit [Read error: 113 (No route
to host)]
17:50 -!- xk0der [n=xk0der@122.167.11.38] has quit ["ChatZilla 0.9.85 [Firefox
3.5.5/20091102152451]"]
17:50 -!- Null-A [n=jason@65-119-47-100.dia.static.qwest.net] has joined #go-nuts
17:50 < dho> nope, gofmt just doesn't work
17:50 < Gracenotes> dho: are you trying to implement go on a particular
arch/os?
17:50 -!- Null-A [n=jason@65-119-47-100.dia.static.qwest.net] has quit [Remote
closed the connection]
17:51 -!- Null-A [n=jason@65-119-47-100.dia.static.qwest.net] has joined #go-nuts
17:51 < ni|> Gracenotes: freebsd
17:52 -!- eziman [n=MrHappy@host77.190-225-61.telecom.net.ar] has joined #go-nuts
17:52 < Gracenotes> ah.  a bit of difference there.
17:53 < eziman> hi ya
17:53 -!- anders_ [n=anders@c83-253-2-206.bredband.comhem.se] has joined #go-nuts
17:53 < dho> wait
17:53 < dho> wait
17:53 < dho> it does work
17:53 < dho> ...
17:53 < dho> i forgot to rebuild the runtime
17:54 < reppie> ...
17:54 < dho> 0 known bugs; 1 unexpected bugs; test output differs
17:54 < dho> that's 3 less than last night
17:55 < reppie> goedemorgen dho
17:55 < dho> middag, reppje
17:55 -!- delza [n=delza@d66-183-63-49.bchsia.telus.net] has joined #go-nuts
17:56 -!- eziman [n=MrHappy@host77.190-225-61.telecom.net.ar] has left #go-nuts []
17:56 -!- brunov [n=bruno@190.191.110.64] has quit [Read error: 110 (Connection
timed out)]
17:56 < amro> http://amro.pastey.net/128628 <- why is err not getting
printed properly?
17:57 -!- KillerX [n=anant@nat/mozilla/x-kzcgvnlybymwphwx] has joined #go-nuts
17:57 < reppie> dho what else do you need to do?
17:57 -!- conra [n=konrad@host-89-229-12-166.torun.mm.pl] has joined #go-nuts
17:57 -!- Spade [i=damn3d@shell.bimbrownia.org] has joined #go-nuts
17:57 < Spade> Hi
17:57 < Spade> func DialTCP(net string, laddr, raddr *TCPAddr) (c *TCPConn,
err os.Error)
17:57 < Spade> What is 'net' variable for ?
17:57 < conra> $ cd $GOROOT/src
17:58 < conra> bash: cd: /src: No such file or directory
17:58 < dho> reppie: still some issues with goroutines
17:58 < dho> reppie: chan/nonblock.go doesn't work
17:58 < conra> wtf?
17:58 < dho> some other stuff
17:58 < Gracenotes> Spade: it's always "tcp"
17:58 < Spade> ah, thanks
17:58 < reppie> dho my laptop is i386, maybe i could try working on that, if
you want
17:58 -!- dga [n=dga@198.202.202.21] has joined #go-nuts
17:58 -!- zerofluid [n=zeroflui@ip68-227-10-141.lv.lv.cox.net] has joined #go-nuts
17:58 < dho> reppie: ok
17:59 -!- ryniek [n=Adrian-A@host-89-231-98-162.warszawa.mm.pl] has left #go-nuts
[]
17:59 < Gracenotes> Spade: well, you can also say "tcp4" or "tcp6"
specifically..  although address might take care of that -.-
17:59 < reppie> dho do you have a patch for what you've done so far?
17:59 < dga> ian: Thanks for the suggestion yesterday about moving to
Iter(); that eventually lead down the garden path to an "ah-ha" that many things
seem best accomplished in Go using a typed channel instead of an explicit
container of some type or another.  Appreciate the nudge.
17:59 < dho> http://codereview.appspot.com/152138 is build bits you'll need
18:00 < Gracenotes> Spade: http://golang.org/pkg/net/#tmp_73 . except,
passing "" as laddr to TCPDial specifically gave me a conversion error.  so I
passed it a nil and everything worked fine
18:00 < dho> http://codereview.appspot.com/152142 is freebsd work
18:00 < reppie> dho (unless you want to work on it yourself)
18:00 < conra> im in http://golang.org/doc/install.html#tmp_57 and on "cd
$GOROOT/src " i have bash: cd: /src: No such file or directory, someone help me?
18:00 < dho> nah i'm not douchy like that :)
18:00 < dga> conra: you have to set the GOROOT environment variable (and a
few others)
18:00 < reppie> alright, i'll take a look
18:00 < Spade> hello.go:19: conn declared and not used
18:00 < Spade> Is this just a warning or an error ? Because the output file
hasn't been produced
18:00 < dga> it's an error
18:01 < dga> I think it's in the faq.  If you want to leave it around for
future use, assign it to the _ variable.  _ = conn; will let you compile
successfully while having an unused variable.
18:01 < Spade> uhm, ok
18:02 < rajeshsr> is higher order function allowed in Go?
18:02 < Ibw> hmm, I can't figure out what all to highlight with a syntax
highlighter.  Go simplifies things so much, all that's really left is operators
18:02 < exch> go is pretty cautious about unused resources
18:03 < dga> the rationale I heard for it is that it helps avoid accidents
with := and mistyped variable names on the left.
18:03 -!- anders_ [n=anders@c83-253-2-206.bredband.comhem.se] has quit [Read
error: 104 (Connection reset by peer)]
18:03 -!- Knight_Lord [n=filipe@nl118-168-58.student.uu.se] has joined #go-nuts
18:03 < dga> I believe I'm just quoting Ian or Russ from the mailing list.
:)
18:03 < reppie> syntax highlighting considered useless
18:03 < exch> Ibw: I find that the keywords and datatypes (numbers, strings,
etc) are enough
18:03 -!- feamcor [n=feamcor@196.210.237.204] has joined #go-nuts
18:04 -!- rhelmer [n=rhelmer@adsl-69-107-65-242.dsl.pltn13.pacbell.net] has joined
#go-nuts
18:04 -!- feamcor [n=feamcor@196.210.237.204] has quit [Client Quit]
18:04 -!- nc_ [n=nc@bbis.us] has joined #go-nuts
18:04 < nc_> hello
18:04 < nc_> helloworld.go:2: fatal error: can't find import: fmt
18:04 < nc_> what can i do to solve this?
18:05 < dga> you don't have your GOROOT environment variable set.
18:05 < aho> Ibw, keywords, brackets, operators, functions, comments...
:>
18:05 < exch> do you have the GOROOT environment var defined?
18:05 < aho> well, the usual stuff
18:05 < aho> oh and maybe things like strings/numbers
18:05 * dga thinks this channel needs a bot that just says "welcome to #go-nuts,
make sure your GOROOT, GOOS, and GOARCH environment variables are set before you
try to start the car.  Thanks!"
18:05 < Ibw> nc_: I was having that error as well.  The binaries depend on
having GOROOT, GOBIN and all those others defined
18:06 < nc_> Ibw: they're all defined
18:06 < Ibw> nc_: What are they?
18:06 < nc_> ohhhhhhhhhhhhhhh
18:06 < nc_> wait nevermind
18:06 < nc_> hold a sec
18:06 < Ibw> heh
18:06 < nc_> i used GOPATH on accident
18:06 < nc_> hehe
18:06 < aho> dga, and GOARM eventually :>
18:06 * Ibw agrees with dga
18:06 < nc_> this is what gazin at a computer screen for a long time does to
you
18:06 < Ibw> that would have saved me a lot of trouble when I first built Go
18:06 < nc_> ^G
18:07 < nc_> sweet it works :)
18:07 -!- dga [n=dga@198.202.202.21] has quit ["leaving"]
18:08 < aho> who's responsible for golang.org?
18:09 -!- chtr [n=chtr@freya.dhcp.rose-hulman.edu] has joined #go-nuts
18:09 -!- chtr is now known as rthc
18:09 < reppie> google
18:09 < aho> i mean...  who wrote the markup/css?
18:09 < Ibw> probably google
18:10 < conra> root@konrad-desktop:/home/konrad/go/hg/src# ./all.bash
18:10 < conra> $GOROOT is not set correctly or not exported
18:10 < conra> someone help ? :P
18:10 < aho> 1.  code, .code color is bad (conflicts with links)
18:10 < aho> 2.  irc channel isn't linked (irc://irc.freenode.org/go-nuts)
18:10 < reppie> probably a program, dho
18:10 < aho> 3.  documentation should use :target to highlight the element
you jumped to
18:11 < Ibw> google folks do all kinds of weird things with their css.  In
one of their web apps, they triple <b>'d text to make it extra big
18:11 < reppie> i would file a bug
18:11 < Spade> var b []byte = "moo";
18:11 -!- annodomini [n=lambda@wikipedia/lambda] has joined #go-nuts
18:11 < Spade> cannot use "moo" (type string) as type []uint8
18:11 < Spade> What's wrong?
18:11 < exch> b := strings.Bytes("moo");
18:11 < exch> *+ import "strings";
18:12 < Spade> Thanks
18:12 < Ibw> Spade: That's the error it gave you?
18:12 -!- anders_ [n=anders@c83-253-2-206.bredband.comhem.se] has joined #go-nuts
18:12 < Spade> Ibw, yes
18:12 < nsz> Spade: []byte != string
18:12 < Ibw> In Go, nothing is implicitly casted, so basically, if the word
you use for the type is different chances are you're going to run into trouble
unless you do something special with the data
18:13 < conra> wtf?
18:13 < conra> root@konrad-desktop:/home/konrad/go/hg/src# env | grep GO
18:13 < conra> GOROOT=/home/konrad/go/hg
18:13 < conra> root@konrad-desktop:/home/konrad/go/hg/src# ./all.bash
18:13 < conra> $GOBIN is not a directory or does not exist
18:13 < conra> create it or set $GOBIN differently
18:13 < aho> 4.  cells should use vertical-align:top over at that directory
listing
18:13 < Spade> conra, echo $GOBIN
18:13 < exch> using byte arrays to contain unicode strings btw?  Wouldn't a
multi-byte char type be more appropriate?
18:13 < Ibw> conra: It doesn't look like you have GOBIN set
18:13 < Ibw> also, you need to mkdir whatever your GOBIN is.  all.bash
doesn't do it for you
18:14 < aho> 5.  the clickable area of the links in the menu should use 100%
of the available width
18:14 -!- secsaba [n=secsaba@79-134-124-226.cust.suomicom.fi] has left #go-nuts []
18:14 < aho> easy stuff, really :>
18:14 < exch> aho, it's work in progress.  although I doubt the layout of
their site isn't a top prioroty for the language devs :)
18:14 < exch> *is
18:14 < Ibw> are you just looking through the source for problems aho?
18:14 < Spade> is there any function that works similar to sprintf() ?
18:14 -!- doktoreas
[n=doktorea@host36-121-dynamic.57-82-r.retail.telecomitalia.it] has quit [Read
error: 110 (Connection timed out)]
18:15 < exch> spade: fmt.Sprintf()
18:15 < Ibw> Spade: fmt.Printf
18:15 < nsz> Spade: first look through the package documentation
18:15 < Ibw> SPrintf*
18:15 < nsz> then come back if you still don't find something
18:15 < aho> exch, i know...  it's fine if it's ugly, but at least it should
be usable
18:16 < aho> all the issues i mentioned are about scanability/usability
18:17 -!- madhatter09 [n=wvicente@187.34.170.191] has quit ["using sirc version
2.211+KSIRC/1.3.12"]
18:17 -!- s_mosher [n=smosher@bas1-ottawa10-1279302916.dsl.bell.ca] has joined
#go-nuts
18:18 -!- kennyG [n=kenny@201.47.242.211.dynamic.adsl.gvt.net.br] has joined
#go-nuts
18:18 -!- MrJayman`lap [n=mrj@82-171-232-109.ip.telfort.nl] has joined #go-nuts
18:18 < kennyG> hello guys!
18:18 < aho> all of this is very easy to fix
18:19 < kennyG> how do I install go on a Mac?
18:19 < exch> http://golang.org/doc/install.html
18:19 < nsz> first step: read the instructions on the site
18:19 < Ibw> ah, fantastic.  kate syntax highlighting definition is done
18:19 -!- Francek_ [n=78g@cpe-92-37-37-43.dynamic.amis.net] has joined #go-nuts
18:19 < MrJayman`lap> how do I install mac os x on a windows vista laptop so
i can install go?
18:19 < Ibw> heh
18:20 < Ibw> MrJayman`lap: Mac os x doesn't take kindly to non apple
hardware
18:20 < aho> use virtualbox and install some linux instead :>
18:20 < Ibw> Try linux
18:20 < exch> linux is your friend!
18:20 < MrJayman`lap> aho, thanks will try
18:20 < annodomini>
http://stackoverflow.com/questions/1735073/what-can-you-do-in-30-lines-of-go
18:20 < aho> virtualbox <3
18:20 < Ibw> MrJayman`lap: Ubuntu is great for new linux users I think.  I'm
running Kubuntu right now
18:20 < bogen> or http://www.andlinux.org/
18:20 < Ibw> Also check out OpenSUSE
18:21 < Ibw> Or Fedora
18:21 < Ibw> Those are some of the biggest linux distros
18:21 < aho> i'm running ubuntu in virtualbox (with winxp32 as host)
18:21 < amro> Ibw: link the syntax file for kate?
18:21 < Ibw> amro: Sure, I'll paste it
18:21 -!- Francek_ [n=78g@cpe-92-37-37-43.dynamic.amis.net] has quit [Client Quit]
18:21 < MrJayman`lap> well i'd like to keep my vista install so the
virtualbox might do it for me
18:22 -!- octoploid [n=octoploi@77-23-212-222-dynip.superkabel.de] has joined
#go-nuts
18:22 < nc_> MrJayman`lap: i'm using virtualbox for openbsd and ubuntu right
now
18:22 < nc_> MrJayman`lap: go runs great on ubuntu
18:23 < nc_> MrJayman`lap: i didn't get a single error
18:23 < nc_> (during install)
18:23 < kennyG> well, I've checked the site but it doesn't seens to have any
special tutorial about how to install go on a Mac, except that it would run with
Xcode tools.  Mostly Linux tutor.
18:24 < MrJayman`lap> nc_: are you running virtualbox on a windows install
or the linux distro?
18:24 < Ibw> http://codepad.org/j7Ch1sSA <-- Kate Go syntax highlighting
xml
18:24 < nc_> MrJayman`lap: i'm running virtualbox on vista, with ubuntu and
openbsd guests
18:24 < MrJayman`lap> aha, cool
18:24 -!- tesseracter_ [n=tesserac@pool-96-236-115-143.spfdma.east.verizon.net]
has joined #go-nuts
18:25 < rajeshsr> does Go support static variables in function?
18:25 < tesseracter_> holy crap theres a lot of people on here.
18:25 < nc_> yeah
18:25 < nc_> there is :P
18:25 < tesseracter_> im wondering about openGL/openCL bindings in go.
18:25 -!- SRabbelier [n=SRabbeli@ip138-114-211-87.adsl2.static.versatel.nl] has
joined #go-nuts
18:26 < XniX23> is there any go editor out atm?
18:26 < exch> since we're pimping syntax highlighting, here's the file for
Gedit: http://xml.pastebin.com/m7d733570
18:26 < bogen> exch: Thanks
18:26 < aho> tesseracter_, http://github.com/banthar/Go-SDL
18:26 -!- timepilot [n=timepilo@c-24-91-16-174.hsd1.ma.comcast.net] has joined
#go-nuts
18:27 < KirkMcDonald> I wrote a lexer for Pygments, but it's just sitting
around on their bug tracker for the moment.
18:27 -!- njal [n=rwp@x-134-84-102-227.reshalls.umn.edu] has joined #go-nuts
18:27 < exch> bogen, it's pretty basic, but gets the job done for me.  Looks
like this btw: http://img441.imageshack.us/img441/9400/gosyntax.png
18:27 < kongtomorrow> kennyG: someone wrote up a page for mac explicitly:
http://jeremyhubert.com/articles/installing-google-go-on-osx-snow-leopard.html
18:27 -!- ishmael [n=marcoant@189.96.48.157] has joined #go-nuts
18:28 < kennyG> kongtomorrow, thank you!  let me check this :)
18:28 < tesseracter_> aho, thanks, i suppose i should get my feet wet before
i go to GPU coding.
18:28 -!- m-takagi is now known as m-takagi_
18:29 < Ibw> tesseracter_: GPU coding?
18:29 < XniX23> exch where do i put that hl file?
18:30 < Ibw> The highlight file?
18:30 < XniX23> yes
18:30 < tesseracter_> Ibw, CUDA or openCL
18:30 < exch> XniX23: sec.  ill ost a small guide
18:30 < XniX23> exch: ok thanks
18:30 < Ibw> copy the code into a new file, go.xml and put that in your kate
syntax folder.  Where that is depends on your distro.  What are you running?
18:31 < exch> XniX23: http://ext.pastebin.com/m6b0990ab
18:31 < exch> 'go.lang' contains that xml stuff I posted earlier btw
18:32 < Ibw> exch: I wrote a highlighter for Kate and posted it earlier.  I
think that's what XniX23 is refering to
18:32 -!- __lupo__ [n=__lupo__@201-93-128-17.dsl.telesp.net.br] has joined
#go-nuts
18:33 < exch> fair enough :)
18:33 < Ibw> XniX23: You need to put the go.xml file in either
/usr/share/apps/katepart/syntax or ~/.kde/apps/katepart/syntax or something like
that
18:33 < Ibw> What distro are you running?
18:33 -!- diltsman [n=diltsman@76.8.194.226] has joined #go-nuts
18:34 -!- bmac7 [n=brianmac@98.208.175.116] has quit [Read error: 145 (Connection
timed out)]
18:34 -!- snearch_ [n=olaf@g225052229.adsl.alicedsl.de] has joined #go-nuts
18:34 < amro> Ibw: it doesn't highlight comments
18:34 -!- njal [n=rwp@x-134-84-102-227.reshalls.umn.edu] has left #go-nuts
["Leaving"]
18:34 < Ibw> amro: That's true, it doesn't
18:34 < Spade> n, err = conn.Read(buff_in); Why is 'n' always equal to 0 in
my loop, even if the socket hasn't been closed ?
18:34 < Ibw> hmm
18:34 < Ibw> let me fix that
18:35 < XniX23> lbw: i actually was talking about exch's highlighter for
gedit
18:36 < bogen> exch: the mini how-to worked fine for me.
18:36 < bogen> XniX23: It highlights comments for me
18:36 < kennyG> How about if I don't have "~/.bashrc" file on my Mac?
18:36 -!- __lupo__ [n=__lupo__@201-93-128-17.dsl.telesp.net.br] has left #go-nuts
[]
18:36 < Ibw> XniX23: Oh, well mine doesn't either
18:36 < Ibw> Wait, argh
18:37 < ineol> kennyG: on my mac it's ~/.bash_profile
18:37 < Ibw> amro: You were talking to me right?  The kate highlighter
doesn't highlight comments?  I know, I'm about to fix that
18:37 < kennyG> ineol, oh..  this one I have.
18:37 -!- ehird [n=ehird@91.105.120.35] has quit []
18:37 -!- voluspa [n=rwp@x-134-84-102-227.reshalls.umn.edu] has joined #go-nuts
18:37 < Spade> btw, is TCPAddr non-blocking by default
18:37 < Spade> ?
18:37 < bogen> ineol: well, those are similar, but not the same (.bashrc and
.bash_profile).  Just add your own .bashrc
18:37 -!- zilt [n=aking@74.210.120.119] has left #go-nuts ["Leaving"]
18:38 < Spade> TCPConn*
18:38 < bogen> meant that for kennyG as well.  .bash_profile should source
.bashrc if present....  but that is off topic for here....
18:38 -!- MrJayman`lap [n=mrj@82-171-232-109.ip.telfort.nl] has quit [Read error:
145 (Connection timed out)]
18:39 < amro> Ibw: I just fixed it
18:40 < amro> Ibw: http://codepad.org/K01fInMW
18:40 -!- mikkoh [i=mikkoh@xob.kapsi.fi] has left #go-nuts []
18:40 -!- trost [n=trost@pool-96-225-223-137.ptldor.fios.verizon.net] has joined
#go-nuts
18:42 < Ibw> amro: hah, beat me to it.
18:42 < aho> in gedit it looks sorta ok in C mode :>
18:42 < exch> almost
18:42 < amro> Ibw: still need to add better coloring, it's fairly basic at
this point
18:42 -!- aa [n=aa@r190-135-131-4.dialup.adsl.anteldata.net.uy] has quit [Read
error: 104 (Connection reset by peer)]
18:43 < Ibw> sure is
18:43 < Ibw> I just whipped it together in a few minutes after reading the
Kate highlighting file guide
18:43 -!- aa [n=aa@r190-135-156-107.dialup.adsl.anteldata.net.uy] has joined
#go-nuts
18:43 < aho> i guess it would be pretty much ok if go would use null like
every other language
18:43 -!- m-takagi_ is now known as m-takagi
18:43 < aho> why that pascal thing anyways?
18:43 < aho> <:
18:43 < Ibw> It would be nice if golang.org had a wiki section
18:44 < Ibw> That way it would be much easier to collaborate on things like
highlighting files
18:44 < aho> indeed
18:44 < amro> aho: pascal thing?
18:44 < aho> nil
18:44 < exch> gedit separates the syntax file from the actual colors.  the
.lang files only define which styles should be applied to which words/constructs.
you can install/make colourschemes in gedit separately which actually provide the
colours for these items
18:44 < KirkMcDonald> aho: It's also a Lisp thing, a Ruby thing, a Lua
thing...
18:45 -!- andresambrois [n=aa@r190-135-156-107.dialup.adsl.anteldata.net.uy] has
joined #go-nuts
18:45 < amro> aho: and definitely not something that matters
18:45 < amro> they could have called it zilch
18:45 < amro> and it would be the same
18:45 < aho> nada
18:45 -!- furbage [n=furbage@87-194-207-82.bethere.co.uk] has joined #go-nuts
18:45 * bogen is looking into folding for gedit.  Otherwise I'm going to have to
find/create a go syntax file for geany.
18:46 < aho> well, null is just more common, i'd say
18:46 < Spade> Anz ideas about func (*TCPConn) Read ? ;P
18:46 < Spade> Any*, eh.
18:46 < amro> Spade: it's not working for me, that's what I know
18:46 -!- paulca [n=paul@89.100.39.244] has joined #go-nuts
18:46 < KirkMcDonald> amro: "null" is used in Java, C#, and D, I believe.
18:47 < KirkMcDonald> C and C++ use NULL.
18:47 -!- snearch_ [n=olaf@g225052229.adsl.alicedsl.de] has quit ["Ex-Chat"]
18:47 < exch> bogen: there's no code folding for gedit unfortunately
18:47 < amro> NULL is just 0 for C++.  although nullptr is on the way
18:48 < KirkMcDonald> C++0x is rapidly becoming an inaccurate name.  :-)
18:48 < bogen> exch: gedit-folding - Project Hosting on Google Code
<http://code.google.com/p/gedit-folding/>
18:48 < exch> oh snap
18:48 * exch looks
18:49 -!- Kashia [n=Kashia@p4FEB7D42.dip.t-dialin.net] has joined #go-nuts
18:49 < exch> that would make Gedit perfect.
18:49 < jb55> wa
18:49 < jb55> mt
18:49 < aho> ada, asp, boo, c#, d, java, javascript, msil (?), nemerle (?),
php, vala, vbnet, vhdl (?) use "null"
18:49 < rajeshsr> anyone looking to develop some library for Go? Am thinking
if we could write more standard structures and algorithms and go on to make
something like boost.  Any comments?
18:49 < trost> C and C++ use 0.  NULL is a #define
18:50 < aho> lua, objc, pascal, ruby, scheme (and go) use "nil"
18:50 < Spade> amro, What is expected as 'b' variable in 'func (c *TCPConn)
Read(b []byte) (n int, err os.Error)' ?
18:50 < rajeshsr> aho, Lisp :)
18:50 < trost> Spade, it's expecting a byte array
18:50 < aho> i merely grep'd the gedit's language spec files
18:50 < aho> -the
18:50 < Spade> what for ?
18:50 < trost> it's the bytes that were read
18:51 < Spade> Shouldn't it be a pointer to a byte array?
18:51 < s_mosher> trost, iirc it's not correct to assume NULL==0 for all
vendors but I haven't really verified that
18:51 < trost> arrays are passed by reference (they *are* ptrs, in some
sense)
18:51 < trost> C98 defines null pointer as 0
18:51 < KirkMcDonald> K&R says that 0 is entirely valid for pointers.
18:51 < Spade> hm.  So..  Why Read() doesn't work for me then ? ;P
18:51 < trost> specify "doesn't work"
18:51 -!- hanse [n=hanse@188-23-73-200.adsl.highway.telekom.at] has quit [Remote
closed the connection]
18:51 < rbohn> is it wrong to say: func (this T) String() string {...}?
18:52 < KirkMcDonald> And NULL is just a mnemonic device.
18:52 < Spade> trost, the returned int variable is always 0
18:52 -!- Arathorn [n=arathorn@78-86-114-145.zone2.bethere.co.uk] has quit ["This
computer has gone to sleep"]
18:52 < trost> How big is the array being provided?
18:52 < Spade> btw, where do I have to specify size of data to read?
18:52 < Spade> It's 'var buff_in []byte;' ..  :P
18:53 < trost> Try "42" inside the brackets
18:53 < amro> trost: http://amro.pastey.net/128628 <- this is what I get
18:53 < Spade> var buff_in [10]byte; n, err = conn.Read(buff_in);
18:53 < Spade> cannot use buff_in (type [10]uint8) as type []uint8
18:53 -!- mkanat [n=mkanat@c-67-188-1-39.hsd1.ca.comcast.net] has joined #go-nuts
18:53 * trost is not about to visit mysterious URLs from strangers.
18:53 < amro> it's a paste.
18:54 < trost> I'm going to stop guessing about read and actually try it
18:54 < Spade> Maybe I need to cast the byte array somehow ? :p
18:54 < rajeshsr> well both 0 and NULL are null pointer constants which on
being assigned to a pointer gets converted to a null pointer.  I think an
implementation can define NULL in its own way, am not sure though
18:55 < eno> Spade: []byte is a slice
18:56 -!- snearch [n=olaf@g225052229.adsl.alicedsl.de] has joined #go-nuts
18:56 -!- snearch [n=olaf@g225052229.adsl.alicedsl.de] has quit [Read error: 54
(Connection reset by peer)]
18:56 -!- sku [n=sk@217.175.1.200] has quit [Read error: 110 (Connection timed
out)]
18:56 < trost> A file containing only "char *S = NULL" doesn't compile on my
machine.
18:56 < trost> (yeah, I got the semicolon)
18:56 < trost> That's gcc
18:56 -!- furbage [n=furbage@87-194-207-82.bethere.co.uk] has quit []
18:57 < rajeshsr> trost, u had included some header?
18:57 < KirkMcDonald> You need to #include <stdio.h> to get NULL.
18:58 -!- snearch [n=olaf@g225052229.adsl.alicedsl.de] has joined #go-nuts
18:58 -!- snearch [n=olaf@g225052229.adsl.alicedsl.de] has quit [Read error: 104
(Connection reset by peer)]
18:58 -!- bjb [n=bobby@cpe-065-184-233-244.ec.res.rr.com] has left #go-nuts []
18:58 -!- snearch [n=olaf@g225052229.adsl.alicedsl.de] has joined #go-nuts
18:58 -!- snearch [n=olaf@g225052229.adsl.alicedsl.de] has quit [Read error: 54
(Connection reset by peer)]
18:59 < trost> Spade, try read(buffer[0:42]) -- apparently needs a slice not
an array
18:59 < trost> Spade, try read(buffer[0:10]) -- apparently needs a slice not
an array
18:59 -!- snearch [n=olaf@g225052229.adsl.alicedsl.de] has joined #go-nuts
18:59 -!- snearch [n=olaf@g225052229.adsl.alicedsl.de] has quit [Read error: 104
(Connection reset by peer)]
18:59 -!- delsvr [n=delsvr@cpe-67-242-41-219.twcny.res.rr.com] has left #go-nuts
[]
18:59 -!- mejja [n=user@c-49b6e555.023-82-73746f38.cust.bredbandsbolaget.se] has
quit [Remote closed the connection]
18:59 -!- loureiro [n=loureiro@201008201127.user.veloxzone.com.br] has joined
#go-nuts
19:00 < trost> So NULL is part of stdio, not C
19:00 -!- bjb [n=bobby@cpe-065-184-233-244.ec.res.rr.com] has joined #go-nuts
19:00 < KirkMcDonald> But of the possible names for a null pointer, C uses
NULL more than anything else.
19:00 < trost> #define BINKIE 0 // !!!
19:00 < conra> (...)
19:00 < conra> --- FAIL: path.TestWalk
19:00 < conra> 1.  error expected, none found
19:00 < conra> node testdata/d/x mark = 2; expected 1
19:00 < conra> node testdata/d/y mark = 2; expected 1
19:00 < conra> node testdata/d/z mark = 2; expected 1
19:00 < conra> node testdata/d/z/u mark = 2; expected 1
19:00 < conra> node testdata/d/z/v mark = 2; expected 1
19:00 < conra> anyone knows what's going on?
19:01 -!- go__ [n=goloo@host159-202-dynamic.32-79-r.retail.telecomitalia.it] has
joined #go-nuts
19:01 <+iant> conra: that happens if you run the test as root; I think that
is issue 22 or something
19:02 -!- mkanat [n=mkanat@c-67-188-1-39.hsd1.ca.comcast.net] has quit ["Bye!"]
19:02 -!- mejja [n=user@c-49b6e555.023-82-73746f38.cust.bredbandsbolaget.se] has
joined #go-nuts
19:02 -!- aa [n=aa@r190-135-156-107.dialup.adsl.anteldata.net.uy] has quit [Read
error: 110 (Connection timed out)]
19:03 < bogen> exch: that folding plugin is kinda crude, but it does work
19:03 -!- snearch [n=olaf@g225052229.adsl.alicedsl.de] has joined #go-nuts
19:03 -!- snearch [n=olaf@g225052229.adsl.alicedsl.de] has quit [Read error: 104
(Connection reset by peer)]
19:04 < bogen> exch: You don't get visual +/-, you have to go to the item
you want to fold and hit Alt-Z
19:04 < jb55> iant: is there any way of passing generic channel to a
function so that len() will operate on it?  For example: func
ChannelHasData(channel chan interface{}) { return len(channel > 0); } was my
first attempt but it said the types 'chan int' and 'chan interface{}' were not
compatible or something.  I can't seem to find a way to do this...
19:05 < trost> you mean "len(channel) > 0"?
19:05 < jb55> correct
19:05 < jb55> typo
19:05 <+iant> jb55: right, a channel of a type is not compatible with a
channel of a different type, even if the two types are themselves compatible
19:05 < jb55> ah
19:05 <+iant> jb55: there is no straightforward way to do this, although you
could do it using reflection
19:06 -!- mwoods79 [n=mwoods79@c-98-239-44-237.hsd1.la.comcast.net] has quit [Read
error: 60 (Operation timed out)]
19:06 -!- diltsman [n=diltsman@76.8.194.226] has quit []
19:07 -!- KillerX1 [n=anant@145.116.234.40] has joined #go-nuts
19:07 -!- wgl [n=wgl@216.145.227.9] has quit [Read error: 110 (Connection timed
out)]
19:07 < exch> bogen: yeah, just tried it.  Doubt I'll use it much, though
the python source is there, so I may improve it some day
19:07 -!- KillerX [n=anant@gentoo/developer/KillerX] has quit [Read error: 110
(Connection timed out)]
19:07 -!- pshahmumbai [n=prashant@59.164.25.70] has quit [Read error: 110
(Connection timed out)]
19:08 -!- KillerX1 [n=anant@145.116.234.40] has quit [Client Quit]
19:08 < me__> oh, sadness.  8a doesn't know how to generate XADD
19:09 -!- gchoat [n=gchoat@74-141-130-113.dhcp.insightbb.com] has joined #go-nuts
19:11 -!- mwoods79 [n=mwoods79@c-98-239-44-209.hsd1.la.comcast.net] has joined
#go-nuts
19:12 < dho> hm, flag.narg returns -1 :\
19:12 < dho> that's why gofmt doesn't work
19:12 -!- astrometria
[n=astromet@host86-129-133-201.range86-129.btcentralplus.com] has quit []
19:13 -!- snearch [n=olaf@g225052229.adsl.alicedsl.de] has joined #go-nuts
19:13 < dho> yeah, os.arg must be broken somehow
19:14 < reppie> dho libmach doesn't build for you too?
19:14 < reppie> or rather stuff that links to libmach
19:14 < Spade> <trost> Spade, try read(buffer[0:10]) -- apparently
needs a slice not an array
19:14 < dho> reppie: works for me
19:14 < dho> everything builds
19:14 < Spade> What if I want to receive one byte?
19:15 < reppie> go/src/cmd/cov/main.c:397: undefined reference to `ctlproc'
19:15 < reppie> hm
19:15 < reppie> ok
19:15 < dho> reppie: you need to stub it out at least
19:15 < reppie> yeah
19:16 <+iant> dho: os.Args is set by the call to args in runtime/386/asm.s
19:16 -!- seymour_ [i=mike@dsl-244-114-37.telkomadsl.co.za] has joined #go-nuts
19:16 <+iant> dho: perhaps there is some difference in how argc/argv are
passed to the startup code
19:16 -!- mwoods79_ [n=mwoods79@c-98-239-44-209.hsd1.la.comcast.net] has joined
#go-nuts
19:16 < kennyG> I am facing some deep trouble trying to install go on my
Mac, coudl someone spare me a couple of minutes to try solve it out please ?
19:17 -!- level09 [n=chatzill@91.75.244.132] has joined #go-nuts
19:17 -!- seymour [i=mike@dsl-244-114-37.telkomadsl.co.za] has quit [Read error:
104 (Connection reset by peer)]
19:17 < trost> Use a 1-byte slice to read 1 byte
19:17 -!- Discoloda [n=vincent@li89-236.members.linode.com] has joined #go-nuts
19:18 < Discoloda> hello
19:18 * trost does not understand why arrays aren't automatically converted to
slices when necessary
19:18 < dho> iant: ah thank you
19:18 < Ibw> kennyG: Just say what your problem is and maybe someone can
help
19:19 < Gracenotes> hm.  is there a list of runtime-thrown exceptions
somewhere?
19:19 -!- MikeW [n=MW@ks35441.kimsufi.com] has joined #go-nuts
19:19 < Gracenotes> that is, thrown by the RTS
19:19 <+iant> Gracenotes: only in the source code, I guess
19:19 -!- nc_ [n=nc@bbis.us] has quit ["leaving"]
19:19 < dho> iant:
19:19 < Gracenotes> hrm.  I see.
19:20 < dho> it's almost as if it's skipping one past
19:20 <+iant> dho: I guess try comparing crt1.o on *BSD and GNU/Linux
19:21 <+iant> I don't know where this kind of detail is documented
19:21 < kennyG> Well I have created the .bashrc file like export
GOROOT=\$HOME/Go
19:21 < kennyG> export GOOS=darwin
19:21 < kennyG> export GOARCH=386
19:21 < kennyG> export GOBIN=\$HOME/bin
19:21 <+iant> kennyG: are those backslashes in your .bashrc?
19:21 <+iant> if so, take them out
19:21 < kennyG> yes...
19:21 < kennyG> ok, I will
19:21 < dho> hm, ok
19:21 -!- Popog [n=Adium@pool-71-121-200-233.sttlwa.dsl-w.verizon.net] has joined
#go-nuts
19:22 < kennyG> Still I cannot access cd $GOROOT/src
19:22 -!- p0g0_ [n=pogo@unaffiliated/p0g0] has quit [Read error: 60 (Operation
timed out)]
19:22 <+iant> kennyG: does the directory exist?
19:23 -!- rramsden [n=rramsden@66.183.75.152] has joined #go-nuts
19:23 <+iant> did you check out the repository into $HOME/Go?
19:23 -!- mwoods79_ [n=mwoods79@c-98-239-44-209.hsd1.la.comcast.net] has quit []
19:23 < kennyG> no.
19:23 -!- furbage [n=furbage@87-194-207-82.bethere.co.uk] has joined #go-nuts
19:23 < kennyG> I think the only need folder in my mac is hg
19:23 -!- MarkBao [n=MarkBao@pool-71-184-95-241.bstnma.fios.verizon.net] has
joined #go-nuts
19:23 <+iant> $GOROOT should point to where you checked out the repository
19:24 -!- gchoat [n=gchoat@74-141-130-113.dhcp.insightbb.com] has quit []
19:24 <+iant> which could indeed be the hg directory
19:24 -!- jA_cOp [n=yakobu@unaffiliated/ja-cop/x-9478493] has joined #go-nuts
19:24 < kennyG> GOROOT=$HOME/Go
19:25 < kennyG> I am not sure if the .bashrc file I've created is all right.
19:25 <+iant> kennyG: take a look at the wiki page mentioned in the channel
topic, it may help
19:26 < kennyG> iant, I've pasted it into : http://pastie.org/698866
19:26 -!- MikeW [n=MW@ks35441.kimsufi.com] has left #go-nuts []
19:26 < Popog> Hey, C++ programmer here, wondering if there was any way in
Go to return private data members you don't want changed.
19:26 <+iant> kennyG: that looks fine
19:27 < kennyG> iant, I have a DualCore iMac
19:27 <+iant> Popog: in a struct, fields that start with a lower case letter
may not be accessed in a different package
19:27 < nsz> ken@golang wrote an insightful mail on the ml..  he uses lower
case..  i wonder how he feels about the case sensitivness of go :)
19:27 <+iant> kennyG: let me repeat: $GOROOT should point to where you
checked out the repository
19:27 -!- hugh4life [n=hugh4lif@client-208-124-113-194.consolidated.net] has
joined #go-nuts
19:28 < trost> Remember to ".  .bashrc" after changing it.
19:29 < kennyG> iant, ok, when I type cd $GOROOT it points bash to ~ where
is located the hg folder.
19:29 < kennyG> How can I test if it is well installed then?
19:29 < Popog> iant: Right, I get the lowercase=private thing, but I want to
return a data member by reference/pointer because it's large, but I don't want
anyone to manipulate the data
19:29 <+iant> "ls $GOROOT" should print files like AUTHORS, CONTRIBUTORS,
etc.
19:29 <+iant> Popog: if you return a pointer, then nobody can touch the
lowercase fields
19:30 -!- xuser [n=xuser@unaffiliated/xuser] has joined #go-nuts
19:30 <+iant> Popog: if that doesn't answer your question, can you explain
further?
19:30 < kennyG> iant, and how about it it prints out just the contents of my
~ directory ?
19:31 <+iant> kennyG: then GOROOT is not set to the right value
19:31 < sladegen> Popog: you could try exploiting closures...
19:31 -!- depood [n=hidden@chello080108055214.19.11.vie.surfer.at] has quit ["Lost
terminal"]
19:32 < pierron_> iant: I have a lot of issues related to /bin/bash /bin/cat
/usr /lib/ld_linux.so.2 because such PATH do not exist on NixOS.  Could you manage
a workaround for making the test suite system independent and setting up the
tested directories?
19:32 < Popog> sladegen: closures?  Could you point me to some
documentation?
19:32 -!- mwoods79 [n=mwoods79@c-98-239-44-209.hsd1.la.comcast.net] has quit [Read
error: 113 (No route to host)]
19:32 < pierron_> iant: or you prefer a new issue for that?
19:32 -!- MarkAtwood [n=matwood@67.136.131.11] has joined #go-nuts
19:33 < sladegen> Popog: http://paste.lisp.org/display/90358
19:33 -!- Zaba_ [n=zaba@about/goats/billygoat/zaba] has joined #go-nuts
19:33 <+iant> pierron_: please open an issue, thanks
19:33 < sladegen> but i guess iant knows way better!-)
19:33 -!- Fish [n=Fish@bus77-2-82-244-150-190.fbx.proxad.net] has joined #go-nuts
19:34 < kennyG> iant, where do I check the value GOROOT is set?
19:35 <+iant> kennyG: it is set in your .bashrc, as you just posted
19:35 < kennyG> iant, on .bashrc
19:35 < Popog> sladegen: Doesn't this still return by value though?
19:35 <+iant> echo $GOROOT will show the value it has now
19:35 -!- hipe [n=hipe@pool-74-108-83-4.nycmny.east.verizon.net] has joined
#go-nuts
19:35 < kennyG> iant, just a plain line
19:36 < kennyG> iant, where it should be pointing to?
19:36 <+iant> kennyG: third time: $GOROOT should point to where you checked
out the repository
19:36 <+iant> "ls $GOROOT" should print files like AUTHORS, CONTRIBUTORS,
etc.
19:37 < conra> syntax error near EOF, without EOF its great ;-)
19:37 < kennyG> iant, so bashrc should be like export GOROOT=$HOME/gh
19:37 < sladegen> Popog: ultimately...
19:37 <+iant> kennyG: if that is where you checked out the repository, then
yes
19:38 < kennyG> iant, and how do I know where did I check the repository?
19:38 < kennyG> hg clone -r release https://go.googlecode.com/hg/ $GOROOT
19:38 < kennyG> ?
19:38 -!- yuanxin [n=uman@uawifi-nat-210-16.arizona.edu] has quit [Read error: 110
(Connection timed out)]
19:39 <+iant> kennyG: Yes, that is what the install document tells you to do
19:39 < Ibw> "checked out" does not mean to check it
19:39 < Popog> My whole goal is to return a "T const *", but without the
qualifier const, I am at a loss for how to go about implementing this same kind of
safety
19:39 < Ibw> "checking out" the repository basically means you download it
19:39 -!- rhelmer [n=rhelmer@adsl-69-107-65-242.dsl.pltn13.pacbell.net] has quit
[]
19:39 <+iant> Popog: why do private fields not give you what you want?
19:39 < Ibw> perhaps there should be a separate channel called #go-nuts-help
or something
19:40 < sladegen> Popog: create functional accessors...
19:40 -!- rhelmer [n=rhelmer@adsl-69-107-65-242.dsl.pltn13.pacbell.net] has joined
#go-nuts
19:40 < sladegen> sealed like a grave.
19:40 -!- sahazel [n=sah@64.13.131.178] has joined #go-nuts
19:40 -!- tor7 [n=tor@c-987a71d5.04-50-6c756e10.cust.bredbandsbolaget.se] has
joined #go-nuts
19:40 -!- Irssi: #go-nuts: Total of 531 nicks [0 ops, 0 halfops, 2 voices, 529
normal]
19:41 * sladegen must afk.
19:41 < kennyG> iant, and what I should be doing?
19:41 < uriel> Ibw: given the size of the chanel, that is probably a very
good idea
19:41 < sahazel> are there any libraries for using fast polling mechanisms
like epoll or kqueue in Go?
19:41 <+iant> kennyG: try starting again and simply following the
instructions in the install document
19:41 <+iant> sahazel: Go uses epoll internally
19:41 < sahazel> excellent!
19:41 < uriel> (or perhaps #go-help ?)
19:41 < sahazel> thanks
19:42 -!- treitter [n=treitter@c-98-210-72-59.hsd1.ca.comcast.net] has quit
[Remote closed the connection]
19:42 < jabb> do libraries in C wrapped in Go *have* to be shared libraries?
19:42 < uriel> there is nothing 'excellent' about epoll, it is an
abomination
19:42 < uriel> jabb: no
19:42 < Popog> iant: should I return a pointer to my private data?
19:43 <+iant> jabb, uriel: actually, yes, to call C from Go, the C code has
to be in a shared library, when using 6g/8g
19:43 < sahazel> hey, I'm just trying to avoid select
19:43 < uriel> jabb: actually, if I got it right, it is impossible to call
'shared libs' from gc, only from gccgo
19:43 <+iant> Popog: return a pointer to a struct with private fields, and
provide accessor methods
19:43 < KirkMcDonald> Hmm.  If I have type T interface{}, then saying
T("foo") is an error.
19:43 -!- jdp [n=justin@ool-435238c0.dyn.optonline.net] has quit [Remote closed
the connection]
19:43 < Ibw> uriel: #go-help would probably be more appropriate
19:43 < uriel> Ibw: ouch, I got it all backwards
19:43 < uriel> er iant
19:44 <+iant> KirkMcDonald: yes, you need something like T(String("foo")), I
think, so tell the compiler which set of methods to use; this assumes that String
is your type and has the methods required for T
19:44 < Popog> iant: Won't those accessors have to return by value though?
19:44 < kennyG> iant, what " env | grep '?GO' " should show me?
19:44 < KirkMcDonald> But it works if I say type _T interface{}; func T(t
interface{}) _T { return _T(t); }
19:44 < Ibw> hmm, no admins on?
19:44 -!- rramsden [n=rramsden@66.183.75.152] has quit ["leaving"]
19:44 <+iant> Popog: I was thinking that the accessors would return the
value of a field, yes; you could also return a pointer to a field if that is what
you want
19:45 < uriel> iant: I thought gc was only able to link statically, I guess
I'm confused :)
19:45 < uriel> Ibw: admins?  iant is here
19:45 -!- furbage [n=furbage@87-194-207-82.bethere.co.uk] has quit []
19:45 -!- Zaba [n=zaba@about/goats/billygoat/zaba] has quit [Connection timed out]
19:46 -!- rhelmer [n=rhelmer@adsl-69-107-65-242.dsl.pltn13.pacbell.net] has quit
[]
19:46 <+iant> KirkMcDonald: well, everything satisfies the empty interface
19:46 -!- zerofluid [n=zeroflui@ip68-227-10-141.lv.lv.cox.net] has quit ["This
computer has gone to sleep"]
19:46 < KirkMcDonald> iant: I remain unclear as to why my first example does
not work.
19:47 -!- andrebq [n=andre@bca201062212101.res-com.wayinternet.com.br] has joined
#go-nuts
19:47 <+iant> KirkMcDonald: let me turn it around and ask why what you think
it should do
19:47 < Ibw> uriel: iant is an admin?  I saw the voice, but I wasn't sure
19:47 < ni|> iant: how much work do you suspect it will be to get go on the
iphone
19:47 < scandal> fyi, i wrote a simple bash script to act as a repl for
evaluating Go code snippets http://www.cs.hmc.edu/~me/gorepl
19:47 < ni|> i have it on the palm pre now
19:47 < Ibw> iant: Are you from Google?
19:47 < ni|> Ibw: yes he is
19:47 <+iant> Ibw: yes, I work at Google
19:47 < conra> from cuil :P
19:48 < KirkMcDonald> iant: Give me an object of type T.
19:48 <+iant> ni|: I don't know much about the iPhone, but my impression is
that all iPhone apps have to be written in Objective C, in which case, it might
take a lot of work to get Go running there
19:48 <+iant> the palm pre?  really?  that is very cool
19:48 < andrebq> someone from brazil?
19:48 < Ibw> iant: What do you think of the idea of having an alternate
channel specifically for helping people out?  Quite a few people come here seeking
help with installation and such and the channel gets a bit bogged down
19:48 < Ibw> iant: Something like #go-help perhaps
19:48 < kennyG> andrebq, I am.
19:49 <+iant> Ibw: My inclination would be to give it several more days
before branching into a new channel, just to see how things settle out over time
19:49 < ni|> iant: its just the same as android
19:49 < ni|> linux kernel
19:49 < ni|> appropriate userland
19:49 <+iant> Ibw: that's just my opinion, though, if people feel it is time
for a new channel I won't stand in the way
19:49 < me__> i attempted to use hg change to submit a change, i keep
getting 'abort: error: connection refused'.  is there any way i can submit a diff
some other way?
19:50 < Ibw> iant: That sounds reasonable.  I sometimes find it hard to
remember that this channel has only been around for a few days.  It's incredible
how popular it is already
19:50 -!- leitaox [n=leitaox@187.88.182.105] has joined #go-nuts
19:50 < Gracenotes> as for Android, you could target Dalvik.  It just
wouldn't be amazingly quick, and I don't think there's any language specifically
made to target it
19:50 < ni|> me__: do this locally
19:50 <+iant> Ibw: I also find it incredible
19:50 < me__> ni|: ?
19:51 < rajeshsr> BTW, the 3 pdfs nicely summarizes everything about Go,
better then web contents!  Extremely thanks for that!
19:51 < ni|> me__: there is no reason for it to say connection refused
19:51 < ni|> unless you are trying to push changes
19:51 < ni|> iant: it would be jailbroken available only...
19:51 < me__> i'm trying to create a change request and have even logged
into to codereview...
19:52 -!- evilhackerdude [n=stephan@e181105168.adsl.alicedsl.de] has quit [Read
error: 60 (Operation timed out)]
19:52 < ni|> iant: additionally i really prefer the plan9 style compilers
19:52 < ni|> from my experiences thus far
19:53 -!- phillipsm [n=mattscom@173-23-60-179.client.mchsi.com] has joined
#go-nuts
19:54 -!- Ibw [n=isaac@cpe-67-241-42-134.twcny.res.rr.com] has quit [Remote closed
the connection]
19:54 -!- Ibw [n=isaac@cpe-67-241-42-134.twcny.res.rr.com] has joined #go-nuts
19:54 -!- nigwil [n=chatzill@ppp59-167-90-160.lns20.hba1.internode.on.net] has
quit ["ChatZilla 0.9.85 [Firefox 3.5.5/20091102152451]"]
19:55 < phillipsm> is there command line options for the 6l linker to change
the output filename to something other than 6.out?
19:55 < me__> ni|: am i understanding this correctly; i've made some changes
locally, i wish to submit them to codereview for review.  i should be doing 'hg
change' to get a CL #.
19:55 < jb55> -o
19:55 < clip9> -o x
19:55 -!- vasudev [n=kakashi@117.254.124.168] has quit [Read error: 110
(Connection timed out)]
19:55 <+iant> me__: right
19:55 < voluspa> 6l -o out whatever.6
19:55 < me__> okay.  so if hg change is refusing connections, is there
another way i can send in a diff?
19:56 < phillipsm> voluspa: thanks...is there documentation about the
options somewhere on the golang site?
19:56 <+iant> me__: can you run hg code-login?
19:56 < me__> iant: yep, works great.
19:56 < voluspa> Yeah, under command documentation.  6l's page links you to
a bell labs site about its predecessor.  The trick is putting -o out BEFORE the .6
file
19:57 < me__> phillipsm: http://plan9.bell-labs.com/magic/man2html/1/2c
19:57 <+iant> me__: what do you see when you run hg change?
19:57 < phillipsm> voluspa, me__: thanks guys.
19:57 -!- zhaozhou [n=zhaozhou@linfast53.bitnet.nu] has joined #go-nuts
19:58 < KirkMcDonald> iant: I expect T("foo") to work, based on the
conversion documentation, which says that the conversion succeeds if the value is
assignment compatible with T. And strings are assignment compatible with type T
interface{}.
19:58 < me__> i get $EDITOR, it has the right files marked, when i close the
editor, "abort: error: Connection refused"
19:58 <+iant> KirkMcDonald: OK, if T is interface{}, then I would also
expect that to work and am surprised that it doesn't
19:59 -!- BackendBill [n=nik@c-98-247-237-204.hsd1.wa.comcast.net] has quit [Read
error: 54 (Connection reset by peer)]
19:59 < Gracenotes> okay, my Go IRC bot now has enough of the faculties
needed to write, perhaps, 90% of simple IRC bots \o/ and only at 359 lines
19:59 < phillipsm> voluspa: one more question....is there a program to
compile and link in one line or do you have to make a script to do that?
19:59 <+iant> me__: huh, that is odd; unfortunately I don't know what is
happening; can you open an issue for that?
19:59 < KirkMcDonald> iant: (interface{})("foo") doesn't work, either.
19:59 < me__> sure, will do.
19:59 -!- wiebe [n=Wiebe@5356AA0E.cable.casema.nl] has quit ["ZNC -
http://znc.sourceforge.net"]
20:00 < KirkMcDonald> iant: I will file a bug.
20:00 < Gracenotes> now, let me see if I can add features that have it
actually parse what's given to it better
20:00 < cmarcelo> Gracenotes: is the code for the bot available somewhere?
:)
20:00 -!- shinku [n=damn@unaffiliated/shinku] has joined #go-nuts
20:00 <+iant> KirkMcDonald: thanks, I think it is a bug
20:01 < Gracenotes> cmarcelo: hm...  come to think of it, I've been meaning
to make a github account..
20:01 -!- bigmac [n=jwm@c-67-164-29-94.hsd1.ca.comcast.net] has joined #go-nuts
20:02 < me__> iant: should the issue be with rietveld or go?
20:02 -!- Tuller [n=Tuller@ip98-163-120-139.dc.dc.cox.net] has joined #go-nuts
20:03 <+iant> me__: better make it Go for now, we can redirect if that seems
right
20:03 < clip9> cmarcelo: there is a skeleton IRC bot here:
http://jager.no/news/google-go-golang-first-thougts
20:03 -!- xjih78 [i=z0r0@90.154.213.217] has quit ["Lost terminal"]
20:04 < me__> okay.  the patch was minor, just added XADD to 8{a,l}
20:04 < kennyG> iant, thank you!  It should be working now :P
20:04 <+iant> me__: well, we need to get the code review system working for
everybody
20:04 < me__> of course, i've used it with p9p, its pretty nice.
20:05 < trost> Did the Nix user get his questions answered?
20:05 -!- xjih78 [i=z0r0@90.154.213.217] has joined #go-nuts
20:05 < me__> i wish it had a feature that gnu stet did (click near the text
to comment to comment on it), but its pretty good.
20:05 < bigmac> with an os.Error how do i check if it's valid?
20:05 < bigmac> err == nil ?
20:05 <+iant> me__: you can comment on text in the change, you just have to
double-click
20:05 <+iant> bigmac: err == nil means no error
20:06 <+iant> by convention
20:06 < me__> oh, i wonder how i missed that...
20:06 <+iant> I missed it for months myself
20:06 < bigmac> iant: thanks that what i thought
20:06 <+iant> until I started seeing comments and wondered how they got
there
20:06 < bigmac> still getting segfaults though
20:06 -!- andrebq [n=andre@bca201062212101.res-com.wayinternet.com.br] has quit
[Remote closed the connection]
20:07 -!- andrebq1 [n=andrebq@bca201062212101.res-com.wayinternet.com.br] has
joined #go-nuts
20:07 -!- lolsuper_ [n=super_@unaffiliated/lolsuper-/x-9881387] has joined
#go-nuts
20:07 -!- andrebq1 is now known as andrebq
20:08 -!- level09 [n=chatzill@91.75.244.132] has quit [Read error: 110 (Connection
timed out)]
20:08 -!- jtza8 [n=jtza8@iburst-41-213-45-150.iburst.co.za] has joined #go-nuts
20:09 < ni|> iant: its really too bad apple has to suck so much they make it
impossible for me to get go on iphone
20:09 < ni|> under their ToS at least
20:09 < ni|> more difficult is adding arm stuff to darwin
20:09 < me__> iant: submitted
20:09 < KirkMcDonald> Issue posted:
http://code.google.com/p/go/issues/detail?id=183
20:10 <+iant> thanks both
20:10 < cmarcelo> clip9: tks
20:10 -!- anders_ [n=anders@c83-253-2-206.bredband.comhem.se] has quit [Read
error: 104 (Connection reset by peer)]
20:11 -!- anders_ [n=anders@c83-253-2-206.bredband.comhem.se] has joined #go-nuts
20:12 -!- msw [n=msw@66.192.95.199] has joined #go-nuts
20:12 -!- defectiv [n=clays@c-24-5-65-40.hsd1.ca.comcast.net] has joined #go-nuts
20:13 -!- MrJayman`lap [n=mrj@82-171-232-109.ip.telfort.nl] has joined #go-nuts
20:14 -!- furbage [n=furbage@87-194-207-82.bethere.co.uk] has joined #go-nuts
20:14 -!- diltsman_ [n=diltsman@64.122.18.77] has joined #go-nuts
20:14 < trost> OK, I'll bite, how do I set a file's close-on-exec flag?
20:15 < rajeshsr> Can't multi-values be declared by a single var statement
in package scope?
20:15 < engla> it would be cool to have a common pastebin for half-serious
and serious code that everyone has written in go
20:15 < engla> or perhaps not pastebin but go showoff place
20:15 < rajeshsr> var line, _ = reader.ReadString('\n'); fails in global
scope
20:15 < trost> engla, you volunteering?  (-:
20:16 < engla> hehe
20:16 < engla> I don't have a code wiki
20:17 < trost> rajeshsr, you mean http://golang.org/pkg/os/#tmp_32 ?
20:18 < trost> oh, nevermind
20:18 < Gracenotes> what are the warning alternatives to yyerror and
yyerrorl?
20:18 -!- phillipsm [n=mattscom@173-23-60-179.client.mchsi.com] has quit [Client
Quit]
20:18 < rajeshsr> trost, you mean?
20:18 < rajeshsr> ok
20:19 < trost> Is it just that "_" fails globally, maybe?
20:19 -!- kitallis [n=kitallis@122.163.105.81] has quit [Client Quit]
20:19 * trost should stop speculating
20:19 < Popog> iant: Okay, I think I've finally made a sample to express my
problem, please let me know if I'm doing something stupid:
http://paste.lisp.org/display/90399
20:20 -!- hugh4life [n=hugh4lif@client-208-124-113-194.consolidated.net] has left
#go-nuts ["Leaving"]
20:20 < scandal> trost: syscall.CloseOnExec()
20:21 -!- timepilot [n=timepilo@c-24-91-16-174.hsd1.ma.comcast.net] has quit
["WeeChat 0.3.0"]
20:22 < rajeshsr> trost, my concern is the idiom: line, _ :=
reader.ReadString('\n'); works in functions scope.  But := seems not allowed in
package scope.  So what is the equivalent idiom to do that?!
20:22 -!- northgrove
[n=northgro@c-7bb9e655.08-160-70697410.cust.bredbandsbolaget.se] has joined
#go-nuts
20:23 < clip9> var line ....
20:23 < trost> var line, _ = reader.ReadString('\n');
20:24 < nickjohnson> How efficient are goroutines compared to regular
function calls?  Suppose I wanted to parallelize a minimax search - could I make
each recursive invocation a goroutine call?
20:24 < rajeshsr> not working..
20:24 < rajeshsr> sudoku.go:4: missing expr in var dcl
20:24 < rajeshsr> sudoku.go:4: multiple-value reader.*Reader·ReadString() in
single-value context
20:24 < rajeshsr> thats the error
20:24 < nickjohnson> There's a C extension called cilk that more or less
does this - but it implements them very efficiently from that perspective
20:24 < Spade> Is there any operator similar to += from C++'s std::string ?
20:25 < trost> var (line, _) = ...?
20:25 -!- brunov [n=bruno@190.191.110.64] has joined #go-nuts
20:25 < trost> scandal, thanks
20:26 < rajeshsr> nope
20:26 < engla> Errors like this -- 'all goroutines are asleep - deadlock' is
that programmer error?
20:26 < rajeshsr> trost, works not!
20:26 < trost> I hear,.  raj -- dunno what to suggest
20:26 < scandal> engla: yep.  it means everyone is either dead or waiting to
receive
20:26 < Spade> Oh, there is += too...  that was a stupid question then :p
20:27 < engla> scandal: oh!  you have to explicitly call close(ch) (for ch
chan)
20:27 < ni|> iant: i'm going to package go for the pre homebrew release
20:27 < engla> scandal: thank you
20:27 < ni|> do you want me to keep you informed or no
20:27 < trost> Spade, if you're going to do a lot of that, string.Join
should be more efficient
20:28 -!- trost [n=trost@pool-96-225-223-137.ptldor.fios.verizon.net] has quit
["Leaving"]
20:28 < jtza8> Hmm...  I'm a little curious, is there an "FFI" for Go?
20:28 < scandal> jtza8: yes, see misc/cgo/
20:29 < jtza8> scandal: thanks :)
20:29 < scandal> docs are spare, but those are some examples
20:29 < rajeshsr> iant, any idea of what i asked?
20:29 -!- CFlux [n=CFlux@pool-98-108-155-174.ptldor.fios.verizon.net] has quit ["
Want to be different?  Try HydraIRC -> http://www.hydrairc.com <-"]
20:29 < rajeshsr> is iant one of the go developers?
20:29 < uriel> jtza8: yes
20:29 < me__> iant makes stuff that compiles fast.
20:30 < uriel> rajeshsr: yes
20:30 < rajeshsr> uriel, oh, ok, thanks
20:30 -!- decriptor [n=decripto@53.250.sfcn.org] has joined #go-nuts
20:31 < XniX23> i wonder how long it will take for this language to become
mature
20:31 -!- pierron [n=pierron@91-164-254-130.rev.libertysurf.net] has joined
#go-nuts
20:31 < me__> more than 4 days.
20:31 < XniX23> obviously
20:31 < rajeshsr> iant, can you tell me about how to declare: line, _ =
reader.ReadString('\n'); in package scope?
20:31 < me__> i was being silly, is all.
20:32 < rajeshsr> XniX23, why, that strange question?
20:32 < rajeshsr> anything bothering u in Go?
20:32 < Popog> I still miss my "const *"
20:32 < MarkAtwood> im glad "const *" is gone
20:32 -!- pierron_ [n=pierron@88-122-98-101.rev.libertysurf.net] has quit [Read
error: 60 (Operation timed out)]
20:32 -!- akus85 [n=akus@host68-175-dynamic.16-87-r.retail.telecomitalia.it] has
quit [Read error: 110 (Connection timed out)]
20:32 < MarkAtwood> im looking forward to a protobuf compile for Go
20:32 < Popog> But how do you return not by value?
20:32 -!- MrJayman`lap is now known as mrjayman
20:33 < me__> const * const!  add in norestrict, its fun for the whole
family.
20:33 < rajeshsr> BTW, also someoone asked about range int value like python
range, what you guys think about it?
20:33 < me__> rajeshsr: if it violates that constraint, what do you do?
20:34 < rajeshsr> which constraint?
20:34 < uriel> nickjohnson: you working on go for App Engine ;)
20:34 < uriel> ?
20:34 < XniX23> rajeshsr: no i was just wondering, i love the idea tbh
20:34 < Popog> I mean, without const, all you can do is ask nicely and how
they read the documentation.
20:34 < Popog> *hope
20:34 < nickjohnson> uriel: Hehe.  If I told you...  ;)
20:34 < engla> So to contribute to common code..  just a very simple example
I made..  a stack + (channel) iterator for the stack http://pastebin.com/d5cbe010a
20:34 -!- sladegen [n=nemo@unaffiliated/sladegen] has quit [Nick collision from
services.]
20:34 < uriel> nickjohnson: hahah :)
20:34 < me__> rajeshsr: ah, i thought you meant range-constrained ints.
20:35 -!- sladegen [n=nemo@unaffiliated/sladegen] has joined #go-nuts
20:35 < kennyG> what kind of compiler I should be using on a intel/iMac
please ?
20:35 < rajeshsr> me__, ha, nope!
20:35 < Spade> I want to put n, err = conn.Read(byte_in[0:1]); as a
condition of a 'for' loop (if n is bigger than 0).  How to do that ?
20:35 < soul9> kennyG: 8g
20:35 < clip9> for n, err = conn.Read(byte_in[0:1]); n > 0 { ...
20:35 -!- zaunpfahl [n=zaunpfah@ip-95-223-209-156.unitymediagroup.de] has joined
#go-nuts
20:36 < rajeshsr> am wanting to leran Go more by writing a library or doing
something adventurous with it!  :) Anyone has any suggestion?
20:36 < clip9> mysql lib
20:36 < me__> meh.  do you know of traffic circles?
20:36 < exch> hmm.  any reason why I can't read a string from a channel?
keeps failing with "buff <- this.Send (send to receive-only type string)"
20:36 < rajeshsr> clip9, hmm, that will be a wrapper for C, right?
20:36 < voluspa> There's always project euler
20:36 < Popog> Is iant still here?
20:37 < Popog> Or did he AFK?
20:37 < exch> or any value for that matter.  it gives that error with ints,
bytes, etc
20:37 < me__> write a simulator for one, perhaps a thread per car entering
the circle?
20:37 < clip9> rajeshsr: why?  the protocol is public
20:37 < MarkAtwood> clip9, talk to Eric Day, and write a Drizzle client
library instead
20:37 < engla> exch: syntax error?
20:37 < MarkAtwood> you really dont want to know the MySQL wire protocol
<shudder>
20:37 < rajeshsr> clip9, ha, ok, lemme explore!  :)
20:37 < clip9> Dizzle and mysql share the same protocol afaik
20:37 < MarkAtwood> i am a drizzle developer
20:37 < engla> exch: you read into variables with x := <-ch
20:37 < exch> engla: the error doesn't suggest a syntax error
20:37 < MarkAtwood> they have different wire protocols
20:37 -!- wcn [n=wcn@72-58-88-208.pools.spcsdns.net] has joined #go-nuts
20:37 < MarkAtwood> but libdrizzle speaks both protocols
20:37 < clip9> OH!?
20:37 < exch> ah
20:38 < clip9> why?
20:38 < engla> exch: it suggest your syntax tries to do something that the
types of the variables can't
20:38 < XniX23> someone should write a in-depth tutorial :P to get people
coding stuff
20:39 < MarkAtwood> because the mysql wire protocol is fundamentally broken,
and as many opportunities for improvelment.  since drizzle has no commitment to
backward compatability with mysql, we decided this was a good time to design a new
wire protocol and write a new client library
20:39 < kennyG> When I try to execute a code it shows me the following error
:
20:39 < clip9> nice
20:39 < clip9> http://drizzle.org/wiki/New_Protocol
20:40 < kennyG> tetse
20:40 < mjburgess> is there any void* analogue in Go ? eg.  i want to have a
struct member be a struct of an abitary type
20:40 < kennyG> "Users/____/bin/go: line 7: 6l: command not found"
20:40 < voluspa> You need 8l?
20:41 < mrjayman> i just succesfuly registered my nick on freenode irc!  :)
yahoo
20:41 < anticw> iant: one something is pushed to codereview.appspot...  i
assume it's visible to all necessary reviewers?
20:41 < mjburgess> well what i actually want to do is have template.Execute
use a map instead of a struct, but god knows how to do that
20:42 < kennyG> voluspa, well, I am running on a intel/mac
20:42 < voluspa> Does 8l work?
20:43 < kennyG> voluspa, ??none??: file not 386 [package main]
20:43 < jA_cOp> kennyG, empty interface
20:43 < kennyG> mainstart: undefined: main?init
20:43 < kennyG> mainstart: undefined: main?main
20:43 -!- nopcoder [n=bamar@87.70.141.165] has joined #go-nuts
20:43 < jA_cOp> can be used like void*
20:44 < voluspa> kennyG, are you running "8l file.go"?  try "8l file.6"
20:44 -!- remod [n=remo@host91-213-dynamic.32-79-r.retail.telecomitalia.it] has
joined #go-nuts
20:44 -!- Glao [n=raskc@c-71-198-186-8.hsd1.ca.comcast.net] has quit [Connection
timed out]
20:44 < me__> voluspa: won't work.  8l != 6l.
20:44 < Spade> <clip9> for n, err = conn.Read(byte_in[0:1]); n > 0
{ ...
20:45 < Spade> I want to repeat Read() function every time
20:45 -!- nopcoder [n=bamar@87.70.141.165] has quit [Client Quit]
20:45 < kennyG> In fact I have this both lines as erros :
"/Users/lebafar/bin/go: line 6: 6g: command not found
20:45 < kennyG> "
20:45 < voluspa> I have my arhcitectures mixed up?  I recalled above that
kennyG was using 8g
20:46 < kennyG> and "/Users/lebafar/bin/go: line 7: 6l: command not found
20:46 < kennyG> "
20:46 -!- XniX23 [n=XniX23@193.77.69.224] has quit [Remote closed the connection]
20:46 -!- wcn_ [n=wcn@nat/google/x-wliqcnaflwhpcyow] has joined #go-nuts
20:46 < clip9> MarkAtwood: I must say the Drizzle wire protocol is much much
cleaner :P Good work.
20:47 -!- ryniek [n=Adrian-A@host-89-231-98-162.warszawa.mm.pl] has joined
#go-nuts
20:47 < Ibw> huh, do library files also have the .go extension?
20:47 < ryniek> go to source code directory, you'll see
20:47 < Ibw> oh, do I have to build the library for "import" to see it?
20:48 -!- brunov [n=bruno@190.191.110.64] has quit [Read error: 145 (Connection
timed out)]
20:48 < KirkMcDonald> Ibw: Yes.
20:48 < Ibw> any special build options?
20:48 < KirkMcDonald> Now if only someone had written a primer on how Go's
packages work.
20:48 < KirkMcDonald> Oh wait!
20:48 -!- wcn_ [n=wcn@nat/google/x-wliqcnaflwhpcyow] has quit [Client Quit]
20:48 < KirkMcDonald>
http://kirkmcdonald.blogspot.com/2009/11/on-compilation-of-go-packages.html
20:48 < soul9> ;)
20:49 < luca__> hi, is there any kind of atexit() function in the stdlib?
20:50 -!- sku [n=sk@217.175.11.92] has joined #go-nuts
20:50 < Ibw> os.Exit
20:51 < Ibw> wait
20:51 < Ibw> nevermind
20:51 < Ibw> ignore me
20:51 < engla> but there is a defer statement I discover
20:51 < Spade> How to check number of elements in an array?
20:51 -!- binrapt [i=void@unaffiliated/binrapt] has joined #go-nuts
20:51 -!- lilpenguina [n=penguina@adsl-69-226-228-130.dsl.pltn13.pacbell.net] has
joined #go-nuts
20:51 < engla> I assume it does not work at the global scope
20:51 -!- binrapt [i=void@unaffiliated/binrapt] has left #go-nuts []
20:51 < anticw> iant: nm, i did it wrong the first 57 times, it seemed to go
through this last time
20:51 < scandal> Spade: len(arr)
20:51 < KirkMcDonald> Spade: len(x)
20:51 < Spade> Thanks
20:51 -!- rhelmer [n=rhelmer@adsl-69-107-65-242.dsl.pltn13.pacbell.net] has joined
#go-nuts
20:51 < xorl> hmm, why would exec.Run return invalid argument :22
20:51 -!- proszbje1 [n=raulgrel@81.84.215.230] has joined #go-nuts
20:52 < kennyG> My code is compiling, it not executing...
20:52 < kennyG> Could someone help me to figure it out please?
20:52 < xorl> kennyG: pastebin what happens.
20:52 < Ibw> these error messages have got to be improved
20:53 -!- steampunkey [i=4e869f17@gateway/web/freenode/x-jwrvruoypkpshcvq] has
joined #go-nuts
20:54 < kennyG> http://pastie.org/698957
20:54 < kennyG> Here it goes..
20:54 < steampunkey> "The language is probably bigger than C, but not bigger
than C++" --Rob Pike on Go
20:54 -!- Yaquishael [n=Yaquisha@unaffiliated/yaquishael] has joined #go-nuts
20:54 < steampunkey> lol, you must be freaking crazy.
20:54 < KirkMcDonald> kennyG: What is "go"?
20:54 < wollw> kennyG: "8g teste.go; 8l -o teste test.8; ./teste"
20:54 < xorl> kennyG: you have a custom alias?
20:55 < xorl> if so, it's broken and calling the 64bit libraries.
20:55 < clip9> core C is tiny
20:55 < xorl> or binaries*** rather
20:55 -!- gpurrenhage [n=gpurrenh@141.209.53.85] has joined #go-nuts
20:55 < wollw> err, teste.8 in that second part
20:55 < steampunkey> first, since when is C++ bigger than C. Second: wth man
- how do you know what's bigger?
20:55 < steampunkey> If it's unproven.
20:55 < KirkMcDonald> steampunkey: "Bigger" in the sense of the size of the
language.
20:56 < KirkMcDonald> steampunkey: Not the number of people using it.
20:56 < scandal> and concepts
20:56 < steampunkey> KirkMcDonald: define size.
20:56 < steampunkey> scandal: that's how I took it.  the guy's crazy
20:56 < clip9> number of keywords
20:56 < steampunkey> i can't believe someone would say something like that
before anyone ever started programming in it.
20:56 < conra> err: if u have teste.8: in console: ./8.out
20:56 < KirkMcDonald> steampunkey: It is a fairly nebulous concept.  But the
fact that C++ is more or less a superset of C would imply that C++ is larger than
C.
20:57 < scandal> steampunkey: you realize he's one of the designers?
20:57 -!- cmarcelo [n=cmarcelo@enlightenment/developer/cmarcelo] has quit [Read
error: 131 (Connection reset by peer)]
20:57 < steampunkey> imho i made a better lang than C (which is worse than
C++).  fail, man.  fail.
20:57 < steampunkey> scandal: all the worse
20:57 -!- jb55_ [n=jb55@64.231.41.97] has joined #go-nuts
20:57 < xorl> oh that sucks.
20:57 < xorl> If I want to 'exec.Run' something
20:57 < xorl> the []string{} for command options to pass, doesn't accept -m
and so on.
20:57 < xorl> Only text.
20:57 < mrjayman> well with Go we can skip the c or c++ discussion ;)
20:58 -!- `ruiner` [n=ruiner@cpc1-hink4-2-0-cust97.8-2.cable.virginmedia.com] has
quit [Read error: 60 (Operation timed out)]
20:58 < xorl> So i can't pass command switches to applications.
20:58 < KirkMcDonald> xorl: Can you pastebin the code?
20:58 < soul9> steampunkey: he's saying that the C llibrary has gotten
insanely ugly, not even talking about the c++ one
20:58 < scandal> steampunkey: i think he's just saying the language
complexity of go falls in between c and c++.
20:58 < conra> ok, i leaving irc
20:58 < xorl> cmd, err := exec.Run("/usr/sbin/useradd", []string{"useradd",
"-m" + *user}, nil, DevNull, Pipe, Pipe);
20:58 < xorl> try that.
20:58 < soul9> and he adresses the problems he sees caused that
20:58 < conra> cu all users :D
20:58 < soul9> that's how i see it
20:58 < conra> bye
20:58 < steampunkey> scandal: in what sense?
20:58 -!- conra [n=konrad@host-89-229-12-166.torun.mm.pl] has quit [""leave""]
20:58 < xorl> *user is a var string *user ....
20:58 < Spade> Is there anything like strcasecmp() ? :p
20:58 < Adys> I get when I run all.bash the following, any idea?: "Get
http://codesearch.google.com/: dial tcp codesearch.google.com:http: lookup
codesearch.google.com.  on 192.168.0.1:53: no answer from server"
20:59 < steampunkey> soul9: how do you figure that?
20:59 < soul9> did you see the video?
20:59 < steampunkey> soul9: did you?  I'm watching it right now
20:59 < Ibw> hah
20:59 -!- Null-A_ [n=jason@65-119-47-100.dia.static.qwest.net] has joined #go-nuts
20:59 < Ibw> Didn't know all.bash connected to google servers
20:59 < KirkMcDonald> xorl: I assume you mean var user *string...
20:59 -!- jolleyjoe [n=jolleyjo@174-16-113-242.hlrn.qwest.net] has joined #go-nuts
20:59 < xorl> yeah, sorry
21:00 < huf> i'm pretty sure you cant find a metric whereby c++ is less
complex than c ;)
21:00 < clip9> steampunkey: whats the problem?  he is just saying that go is
more complex than c but less complex than c++....
21:00 < KirkMcDonald> xorl: And I assume user isn't nil?  :-)
21:00 < xorl> nope.
21:00 < xorl> 'default'
21:00 < xorl> just for testing.
21:00 -!- andrebq [n=andrebq@bca201062212101.res-com.wayinternet.com.br] has left
#go-nuts []
21:00 < steampunkey> soul9: Direct quote: "It's a significant language.
It's..  I'd say it's probably bigger than C, [but] not as big as C++" - He's mad I
tell you.  Maaaad.
21:01 -!- jolleyjoe [n=jolleyjo@174-16-113-242.hlrn.qwest.net] has left #go-nuts
[]
21:01 < KirkMcDonald> xorl: If you pass PassThrough as the three pipes,
perhaps it will display another error message?
21:01 < huf> steampunkey: url
21:01 < steampunkey> he's nuts.
21:01 < xorl> KirkMcDonald: tried that
21:01 < Spade> Is there any operator or function to case-insensitive string
comparison?
21:01 < xorl> KirkMcDonald: I get 'invalid argument' which is an error from
go itself, not from useradd
21:01 < steampunkey> huf: sec
21:01 < KirkMcDonald> xorl: Pass os.Envs as the envs argument?
21:01 < steampunkey> huf: huf: http://www.youtube.com/watch?v=rKnDgT73v8s
21:02 < xorl> I could try that.
21:02 < soul9> steampunkey: what are you talking about?
21:02 < scandal> steampunkey: i consider c++ complex in terms of number of
concepts to learn.  raii,3 types of assignment operators,pass by value/ref,N
different smart pointers,templates,etc
21:02 < steampunkey> soul9: if you didn't figure out yet, I think it'll be
hard to explain it to you.
21:02 < xorl> KirkMcDonald: didn't do anything for me
21:03 < steampunkey> scandal: the context is SIGNIFICANCE
21:03 < KirkMcDonald> steampunkey: This is not what he is talking about.
21:03 < clip9> No it's not.  I've seen the video he is talking about
complexity.
21:03 < steampunkey> KirkMcDonald: If that's the case, he's a poor speaker.
21:04 < huf> or maybe you fail at understanding
21:04 < soul9> steampunkey: no it isn't, your english skills are
insignificant i'd say.  A colon separates thoughts usually, except if there is a
backreference, like here to your english skills.
21:04 < xorl> KirkMcDonald: cause, for instance change that useradd remove
the -m and change -m to 'test' and replace useradd with /bin/echo
21:04 < huf> as we had no problems with the video at all :)
21:04 < scandal> signficant in the sense of size, not of relevance
21:04 < xorl> and build it, it'll output first try.
21:04 < wollw> steampunkey: You're probably in the minority thinking it was
about significance.
21:04 < Gracenotes> interesting...  you can declare interfaces in any method
at all
21:04 < Gracenotes> and structs, not to mention
21:04 -!- metapandava [n=metapand@c-98-203-232-197.hsd1.wa.comcast.net] has joined
#go-nuts
21:04 -!- leitaox1 [n=leitaox@187.88.84.122] has joined #go-nuts
21:04 < KirkMcDonald> steampunkey: Consider meaning 4 of the word:
http://en.wiktionary.org/wiki/significant
21:04 < soul9> also, significant size, not in user popularity
21:05 < soul9> or whatever
21:05 < steampunkey> soul9: wollw: perhaps...
21:05 < Gracenotes> the only declarations that are strictly top-level are
function and method declarations (you can still assign a function in a
function/method, though)
21:05 < steampunkey> soul9: it'd be quite difficult to surpass C and its C
lib/stdlib.  Are you sure they've done that and he's talking about it?
21:05 -!- leitaox [n=leitaox@187.88.182.105] has quit [Read error: 54 (Connection
reset by peer)]
21:06 < steampunkey> *I'm talking size now.
21:06 < Spade> Is there any operator or function to case-insensitive string
comparison?
21:06 < Spade> ;P
21:06 < clip9> Language complexity..  not the libs.
21:06 < kennyG> Will google build a API to Go?
21:06 < steampunkey> clip9: so it's less powerful than C++?  o.O
21:06 -!- illya77 [n=illya77@151-117-112-92.pool.ukrtel.net] has quit [Read error:
54 (Connection reset by peer)]
21:06 < huf> steampunkey: complexity != power
21:07 -!- mrjayman [n=mrj@82-171-232-109.ip.telfort.nl] has quit []
21:07 -!- axisys [n=axisys@ip68-98-177-71.dc.dc.cox.net] has quit [Remote closed
the connection]
21:07 < soul9> heh, i'm off
21:07 < huf> it's less complex than c++.  that means only that.
21:07 -!- mrjayman [n=mrj@82-171-232-109.ip.telfort.nl] has joined #go-nuts
21:07 < steampunkey> huf: then soul9 is using some vague language
21:07 < huf> no he isnt.
21:07 -!- diltsman_ [n=diltsman@64.122.18.77] has quit []
21:07 < huf> you're jumping to unfounded conclusions
21:07 < huf> stop it.
21:07 < steampunkey> huf: ok, you can explain what he's saying by telling
complexits:
21:07 -!- metapandava [n=metapand@c-98-203-232-197.hsd1.wa.comcast.net] has quit
[]
21:07 < steampunkey> complexity
21:07 < steampunkey> if it's not size, nor power, wht is it?
21:07 < KirkMcDonald> Spade: strings.ToLower(s1) == strings.ToLower(s2)
21:08 < oklofok> what
21:08 < oklofok> complexity means complexity
21:08 -!- jb55 [n=jb55@bas11-kitchener06-1088890944.dsl.bell.ca] has quit [Read
error: 110 (Connection timed out)]
21:08 < huf> steampunkey: length of the language definition?  number of
concepts that interact at any point?
21:08 < clip9> complexity has nothing to do with power.  you can make
anything in brainfuck with just 8 operators.  not that you would want to do that
:P
21:09 -!- metapandava [n=metapand@c-98-203-232-197.hsd1.wa.comcast.net] has joined
#go-nuts
21:09 < steampunkey> huf: is there a (non-rethoric) question in there?
21:09 -!- tuples_ [i=55023959@gateway/web/freenode/x-npxfiabtbhvgrjmv] has joined
#go-nuts
21:09 < oklofok> clip9: with that definition of power, nothing has to do
with power.
21:09 < clip9> true
21:09 < oklofok> steampunkey: definitions of complexity
21:09 -!- sku [n=sk@217.175.11.92] has quit [Success]
21:10 -!- metapandava [n=metapand@c-98-203-232-197.hsd1.wa.comcast.net] has left
#go-nuts []
21:10 < oklofok> "?"'s are suggestion marks
21:10 < soul9> hah, don't bite tha bait guys, let him be
21:10 -!- metapandava [n=metapand@c-98-203-232-197.hsd1.wa.comcast.net] has joined
#go-nuts
21:10 < soul9> he hs watched 40s of the talk and he's here allready
21:10 < tuples_> if I'm using range on an Unicode string, is there way to
proceed to the next rune _inside_ the for-loop?
21:10 < huf> soul9: he's staying just below the troll-threshold ;)
21:11 < soul9> no, because now you guys are trolling eachother, and here i
am...
21:11 -!- proszbje1 [n=raulgrel@81.84.215.230] has quit [Read error: 104
(Connection reset by peer)]
21:11 < soul9> :D
21:11 < huf> ;)))
21:11 -!- wcn [n=wcn@72-58-88-208.pools.spcsdns.net] has quit [Read error: 110
(Connection timed out)]
21:11 < steampunkey> soul9: that's at 16 minutes.  I couldn't believe it, so
I came here.  Unfortunately, it seems that you are just eager to defend the man,
but you fail to explain arguments you use to do that.
21:11 < steampunkey> more complex.  that's great.  *sheaks head*
21:11 < clip9> ugh
21:11 < soul9> it's not more complex
21:12 -!- Yaquishael [n=Yaquisha@unaffiliated/yaquishael] has quit [Success]
21:12 < steampunkey> soul9: oh it's not now?  who's the troll again?
21:12 < soul9> the standard library is way less comlex than say glibc
21:12 < engla> tuples_: you want to step the iteration forward?  don't think
it's possible but you could manually look ahead
21:12 < steampunkey> soul9: i don't think *you* even know what you're
talking about.
21:12 < soul9> the language features and syntax are very clean, with almost
no extra
21:12 -!- ukl [n=ukl@zdv-vpn1-38-30.zdv.Uni-Mainz.DE] has quit ["..."]
21:12 < tuples_> engla: that's right.  yeaaah, ok.
21:13 < soul9> steampunkey: ok, then don't talk to me anymore please
21:13 < steampunkey> soul9: so it's cleaner than C and not C++?  Listen to
yourself man
21:13 < engla> tuples_: what?
21:13 -!- Yaquishael [n=Yaquisha@cpc3-belf9-0-0-cust869.belf.cable.ntl.com] has
joined #go-nuts
21:13 < soul9> i thought we cleared that question for you
21:13 < tuples_> engla: I want to step forward, yes.
21:13 < soul9> you even almost agreed
21:13 < clip9> steampunkey: What is your background in programming?
21:13 < steampunkey> soul9: you attack me, I attack you.  see how fun that
is?  How about a nice conversation now (provided, you really do have something to
say in presenter's defense)?
21:13 < soul9> heh
21:14 -!- remod [n=remo@host91-213-dynamic.32-79-r.retail.telecomitalia.it] has
quit ["Sto andando via"]
21:14 < engla> tuples_: you know python, right?
21:14 < huf> steampunkey: whatever gave you the idea that c++ is cleaner
than c?  also, what is this "clean" thing?  compare SLOC of compilers for the
language.  c++ is way more complex than c, any way you measure it ;)
21:14 < steampunkey> clip9: C, C++, Java, Bash, Php, BASIC, ASM (two
flavors), lisp
21:14 < soul9> steampunkey: http://www.youtube.com/watch?v=anwy2MPT5RE
21:14 < Bun> I know HTML, so there!
21:14 < engla> tuples_: anyway, you can iterate channels in go, and if you
make a channel iterator, you could perahps pick off values off the channel inside
the loop too..  thereby stepping the iteration
21:15 < xorl> KirkMcDonald: I am thinking exec.Run won't work with commans
expected switches?
21:15 < huf> steampunkey: btw, at the bit in the video he's actually quite
clearly saying that it'd take him longer to explain go than to explain c, but less
time than to explain c++.
21:15 < xorl> Since it's treating them as args passed directly to?
21:15 < no_mind> is it possible to wrap a C++ library in go ?
21:15 < tuples_> engla: I think I understand.  I will look in that
direction, thanks!
21:15 < KirkMcDonald> xorl: It is a relatively thin wrapper around
fork/exec.
21:15 < steampunkey> huf: i'm applying soul's arguments to the line he's
trying (or at least shouls since we're talking about it) to explain
21:15 < engla> tuples_: sure.  but don't trust me on it not being possible
in a simpler way
21:15 < nickjohnson> From the tutorial: "There is also a byte synonym for
uint8, which is the element type for strings."
21:15 < scandal> no_mind: it doesn't appear so.  somewhere it's mentioned
that it will be eventually using swig
21:16 < nickjohnson> Does that mean that strings in Go are byte strings, not
unicode strings?  ;/
21:16 < KirkMcDonald> xorl: So of course it can do switches.
21:16 < xorl> hmm
21:16 < KirkMcDonald> nickjohnson: As a rule they are treates as containing
UTF-8 encoded data.
21:16 < KirkMcDonald> treated*
21:16 < steampunkey> can someone clearly say what he's trying to tell me?
use non-ambiguous words if you can.  it'll take some effort, but I'd appreciate
it.
21:16 < scandal> nickjohnson: don't think so, if you range over a string you
get ints, not bytes
21:16 < no_mind> hmm swig is an overkill :( I was thinking of wrapping QT
with go
21:16 < huf> steampunkey: i just told you.
21:16 < nickjohnson> KirkMcDonald: But what about string indexing and other
string operations?  Are they on characters or bytes?
21:16 < KirkMcDonald> steampunkey: Except it is an ambiguous concept.
21:16 < KirkMcDonald> nickjohnson: Bytes.
21:16 < nickjohnson> scandal: So the tutorial is wrong there?
21:17 < nickjohnson> KirkMcDonald: Why god, why?
21:17 -!- Null-A [n=jason@65-119-47-100.dia.static.qwest.net] has quit [Read
error: 110 (Connection timed out)]
21:17 -!- Null-A_ is now known as Null-A
21:17 < nickjohnson> (Not calling you god, it's more a rhetorical question)
21:17 < steampunkey> KirkMcDonald: then we must again come back to the
speaker's ability to explain and remain there.
21:17 < KirkMcDonald> nickjohnson: Actually, it depends on the operation.
21:17 < tuples_> nickjohnson: there's many functions to treat the string as
utf8
21:17 -!- octoploid [n=octoploi@77-23-212-222-dynip.superkabel.de] has quit
["WeeChat 0.3.1-dev"]
21:17 < KirkMcDonald> steampunkey: Or we can just drop it.
21:17 < huf> steampunkey: why are you sure it's his ability?
21:17 < engla> nickjohnson: I think you are right -- I think you can store
bytes of any encoding in a string
21:17 < tuples_> nickjohnson: you can split on utf8 characters, and so on
21:17 < engla> nickjohnson: however it is only designed to work with UTF-8
21:17 < steampunkey> huf: if it's ambigous, yes
21:17 < nickjohnson> engla: If it's a byte string, that's certainly the case
21:17 < KirkMcDonald> nickjohnson: for i, c := range str will iterate over
the complete UTF-8 sequences.
21:17 < nickjohnson> But only being able to index on bytes sucks
21:18 < nickjohnson> KirkMcDonald: interesting
21:18 < engla> c will be a unicode codepoit
21:18 < steampunkey> you ppl fail at talking..  -_-
21:18 < soul9> someone tell him how human communication works :(
21:18 < Bun> It doesn't
21:18 < Bun> Work, that is
21:18 < huf> steampunkey: from where i'm standing, you fail at understanding
21:18 < nickjohnson> Says the person with no capitalization, abbreviations
and two thirs of an ellipsis?
21:18 < nickjohnson> s/thirs/thirds/
21:18 < huf> ;)
21:18 < steampunkey> huf: If I do, it'y your fault.
21:18 -!- kakazza [n=kakafn@unaffiliated/kakazza] has left #go-nuts []
21:18 < rajeshsr> KirkMcDonald, is there any way to directly index an
unicode character other than traversing?
21:18 < KirkMcDonald> steampunkey: His meaning is clear if you assume he is
not a moron and that he is saying something reasonable.  I think this is probably
a reasonable assumption.
21:19 < soul9> Bun: that's subject to debate, example above ;)
21:19 -!- hipe_ [n=hipe@pool-74-108-183-148.nycmny.east.verizon.net] has joined
#go-nuts
21:19 < tuples_> can't you trolls join #go-trolls -_-
21:19 < tuples_> no-one cares.
21:19 < aho> gee...  ignore him already
21:19 < aho> :>
21:19 < bigmac> lol, i forgot how to mute people on this thing
21:19 < bigmac> anyone help with that?
21:19 < aho> /ignore
21:19 < scandal> use /ignore, luke
21:19 < engla> I agree, I think the Python way would have been better.  i.e
not allow string([]bytes), but require an explicit encoding parameter, s:=
string(bytestring, "UTF-8")
21:19 < aho> is your friend
21:19 < aho> <:
21:19 < KirkMcDonald> bigmac: /ignore
21:19 < nickjohnson> rajeshsr: Admittedly it's an O(n) in utf8
21:19 < bigmac> many thanks
21:19 < steampunkey> KirkMcDonald: ok, but "complexity" is still ambiguous.
21:19 < nickjohnson> But there's no reason it couldn't be stored internally
in, say, UTF-16
21:20 < KirkMcDonald> steampunkey: That's fine.
21:20 < steampunkey> KirkMcDonald: that's what I'm asking then.  How is it
less complex than C?
21:20 < JBeshir> nickjohnson: Except efficiency.
21:20 < steampunkey> sry.  c++
21:20 < clip9> steampunkey: Go has more core concepts (interfaces, slices,
built-in concurrency stuff, etc) than C while C++ has more (friend classes, lol).
Thats my understandig of what he is saying.
21:20 < engla> rajeshsr: no, you can't index unicode chars in UTF-8.  But
you can resync and find character boundaries even in the middle of a byte stream
21:20 < JBeshir> nickjohnson: UTF-16 doesn't make it more efficient.
21:20 < nickjohnson> engla: Unless you mean PYthon 3, I'd go further and say
.NET and Java's approach is better - no implicit conversions at all.
21:20 -!- gpurrenhage [n=gpurrenh@141.209.53.85] has quit []
21:20 < JBeshir> nickjohnson: Because it still has to do the same thing,
because not all unicode characters will fit in 16 bytes
21:20 < nickjohnson> JBeshir: Admittedly you do have to deal with codepoints
>64k, yes
21:20 < rajeshsr> nickjohnson, well, python seems to handle it well by
separating representation and making unicode more abstract.  May be Go has
something like that?
21:21 < JBeshir> Personally, I think the way Go does it is good.
21:21 < wollw> steampunkey: I took it to mean something along the lines of C
being less confusing than Go and Go being less confusing than C++.
21:21 -!- |chachan| [n=chachan@ccscliente156.ifxnetworks.net.ve] has quit ["KVIrc
Insomnia 4.0.0, revision: , sources date: 20090520, built on: 2009/06/06 11:44:47
UTC http://www.kvirc.net/"]
21:21 < nickjohnson> rajeshsr: Python 2's unicode handling is also a source
of pain, as it implicitly converts between str and unicode when necessary
21:21 -!- tuples_ [i=55023959@gateway/web/freenode/x-npxfiabtbhvgrjmv] has quit
["Page closed"]
21:21 < engla> nickjohnson: nah not really true.  the interface in Py 2 is
confusing but Py3 and 2 are the same, only with renames.  Py2 is good in unicode
ahndling
21:21 < JBeshir> Allowing indexing by character is slow and O(n) and the
only fix is to store in UTF-32.
21:22 < engla> why is character indexing important?
21:22 -!- Yaquishael [n=Yaquisha@unaffiliated/yaquishael] has left #go-nuts
["Leaving"]
21:22 < nickjohnson> engla: No, Python 3 eliminates the implicit conversion.
21:22 < engla> nickjohnson: where is the implicit conversion?
21:22 < nickjohnson>
http://docs.python.org/dev/3.0/whatsnew/3.0.html#text-vs-data-instead-of-unicode-vs-8-bit
21:22 < rajeshsr> Well, allowing a more abstract unicode string than without
caring about respresentation can make it better, i believe.
21:22 -!- MarkAtwood [n=matwood@67.136.131.11] has quit [No route to host]
21:22 < rajeshsr> i mean better than O(n) for each query
21:22 < steampunkey> clip9: doesn't Go have objects?
21:23 < nickjohnson> engla: >>> u'foo %s bar' % ('bleh')
21:23 < nickjohnson> u'foo bleh bar'
21:23 < nsz> engla: there are many string indexing in the packages
21:23 < nickjohnson> For example
21:23 < clip9> steampunkey: did you miss the etc?
21:23 < JBeshir> rajeshsr: Why would you want to index on character, anyway?
21:23 < steampunkey> rajeshsr: hehe.  my thoughts exactly
21:23 < engla> nsz: string iteration or indexing?
21:23 < JBeshir> Why not remember the character's byte-position instead of
character position?
21:23 -!- FxChiP [n=FxChiP@99-72-237-154.lightspeed.frokca.sbcglobal.net] has
joined #go-nuts
21:23 < Bun> u'foo %s bar' % ('\xFF') is an UnicodeDecodeError though
21:23 < engla> why is the question "what is the N'th character?" important?
21:23 < nsz> yes mostly iteration though (for i:=0;i<len(s);i++ {s[i]...}
21:23 < nickjohnson> rajeshsr: Exactly what I want - abstract unicode away
from encoding, and treat it as a separate entity
21:23 < rajeshsr> well, like str[7] = '\u0034' like that
21:23 < xorl> KirkMcDonald: yeah, i just don't think it wants to exec
useradd for some reason haha
21:23 < nickjohnson> Bun: Yes, that's _because_ of the implicit conversion
21:23 -!- bjb_ [n=bobby@cpe-065-184-253-213.ec.res.rr.com] has joined #go-nuts
21:24 < rajeshsr> nickjohnson, yeah!
21:24 < Bun> yeah
21:24 < xorl> I can get it to pass crap to everything else but useradd
21:24 < steampunkey> clip9: well if it does, i'm sorry, but i still just
cannot see how Go is <C++ in "complexity"
21:24 < engla> rajeshsr: strings are immutable in Go
21:24 < FxChiP> seriously?
21:24 < FxChiP> agh
21:24 < FxChiP> that's annoying
21:24 < KirkMcDonald> xorl: What if you passed the same string as the first
argument, and as argv[0]?
21:24 < Adys> I found this post:
http://groups.google.com/group/golang-nuts/browse_thread/thread/b57fd5b636453813/4ecdd0c5750bffae?lnk=raot
- I'm getting pretty much the same problem.  This is on Kubuntu 9.10.  any idea?
=\
21:24 < nickjohnson> I'm surprised anyone could _dislike_ immutable strings,
TBH
21:24 -!- Lockster [n=andy@78-105-235-193.zone3.bethere.co.uk] has joined #go-nuts
21:24 < rajeshsr> engla, ha, yeah!  missed that!  :) so do we have a
StringBuffer or anything like that.  was wanting to ask about it, but forgot..
21:24 -!- bjb is now known as Guest9407
21:25 < xorl> KirkMcDonald: still get the same result.
21:25 < engla> rajeshsr: since the string's internal storage is []byte..
21:25 < nickjohnson> Having your stored string change because the thing that
passed it in mutated it is problematic.  As is trying to use something mutable as
a dict key
21:25 < nsz> i like immutable strings, but i like mutable ones better :)
21:25 < nickjohnson> rajeshsr: I think the preferred way is to accumulate a
list of strings and join them
21:25 < engla> rajeshsr: you can just as well use a byte array I guess
21:25 < engla> ^ good suggestion
21:25 -!- bjb_ is now known as bjb
21:25 < nickjohnson> Much like in Python, in fact :)
21:26 < rajeshsr> nickjohnson, hmm
21:26 < steampunkey> clip9: ah.  it's ok.  sorry for being agressive.  i'll
take that i might not see it yet, but perhaps he was really talking about the
languages' properties
21:26 < steampunkey> same goes to all who participated.
21:26 < xorl> KirkMcDonald: "fork/exec /usr/sbin/useradd -G users,www-data:
no such file or directory"
21:26 < engla> possibly you should make a generator -- that sends string
pieces to a channel
21:26 < steampunkey> save those who ignored me :-P
21:26 < steampunkey> bb
21:26 -!- steampunkey [i=4e869f17@gateway/web/freenode/x-jwrvruoypkpshcvq] has
left #go-nuts []
21:27 < KirkMcDonald> xorl: Uh. That seems fairly clear.
21:27 < xorl> I know, if I move it
21:27 < xorl> it does nothing
21:27 < KirkMcDonald> xorl: Sure it's not just /sbin/useradd?
21:27 < xorl> that's the only response I can get out of it.
21:27 < xorl> no on my system it's /usr/sbin/useradd
21:27 < nickjohnson> To rehash my earlier question - how do goroutine
invocations compare to function calls for efficiency?  Could you use them in a
recursive function such as a minimax search without too much overhead?
21:27 < xorl> (and yes I am running this as root to test)
21:27 < KirkMcDonald> xorl: And on my system, too.
21:28 < xorl> It's just weird, echo, cat etc.  etc.
21:28 -!- melba [n=blee@unaffiliated/lazz0] has quit ["MICROSOFT WORD IS A FUN
GAME"]
21:28 -!- bguimberteau [n=bguimber@78.236.214.16] has joined #go-nuts
21:28 < rajeshsr> anyway, am not sure what it takes to write some wrapper
for a generic unicode, that can do what we ask for.  Any one has any idea?
21:28 < rajeshsr> s/wrapper/lib
21:28 < nickjohnson> rajeshsr: It's not really very useful unless it's part
of the language
21:28 -!- dga [n=dga@mlgodbe.dsl.xmission.com] has joined #go-nuts
21:29 < xorl> They seem to work just fine, but useradd is like the holy
grail of 'ignore'
21:30 -!- timmcd [n=Adium@97-117-100-106.slkc.qwest.net] has joined #go-nuts
21:30 < timmcd> Hello!
21:30 < rajeshsr> nickjohnson, of course, yeah!  :) Anyway, we need to see
how things will go, whil coding with just this.  I still believe more support on
encoding, decoding and abstractness for unicode can make Go more better
21:30 < xorl> KirkMcDonald: ah, strange it likes to ignore sbin?
21:30 < timmcd> Is there a TCP/net protocol that makes uses of channels?
21:30 < nickjohnson> rajeshsr: I'm cynical about such fundamental changes to
the language at this point
21:31 < rajeshsr> nickjohnson, yeah, but some external support in the form
of an lib is fine too.  All I/Os are via lib.  So I guess things can get well with
a complete lib too
21:32 < xorl> KirkMcDonald: ok it works with /sbin/ apps, just not
/usr/sbin/
21:32 < xorl> strange.
21:32 -!- hipe__ [n=hipe@pool-74-108-183-148.nycmny.east.verizon.net] has joined
#go-nuts
21:33 -!- proszbje [n=raulgrel@81.84.215.230] has joined #go-nuts
21:33 -!- hipe_ [n=hipe@pool-74-108-183-148.nycmny.east.verizon.net] has quit
[Read error: 104 (Connection reset by peer)]
21:33 -!- proszbje [n=raulgrel@81.84.215.230] has left #go-nuts []
21:33 -!- proszbje [n=raulgrel@81.84.215.230] has joined #go-nuts
21:33 -!- hipe [n=hipe@pool-74-108-83-4.nycmny.east.verizon.net] has quit [Read
error: 110 (Connection timed out)]
21:33 -!- proszbje [n=raulgrel@81.84.215.230] has quit [Remote closed the
connection]
21:34 < timmcd> Is there a way to setup a TCP Socket/Server connections with
go channels?
21:34 < clip9> yes
21:34 < Spade> Is there anyway to define signals handlers?
21:35 < bguimberteau> some people work @ google here ?
21:35 < timmcd> clip9: How?
21:36 -!- fultilt [n=steve@netblock-66-159-209-175.dslextreme.com] has joined
#go-nuts
21:36 -!- teralaser [n=teralase@unaffiliated/teralaser] has joined #go-nuts
21:36 * nickjohnson does, but has nothing to do with the Go project
21:36 < nickjohnson> Except being interested in it :)
21:36 -!- keithpoole [n=keithpoo@cpc3-bagu8-0-0-cust84.bagu.cable.ntl.com] has
joined #go-nuts
21:36 -!- xMDKx [n=mdkcore@200.181.231.139] has joined #go-nuts
21:37 < dga> wrt performance and goroutines and channels: Has anyone done
any rough characterization of the performance of a producer/consumer pair of
goroutines, communicating across a channel, and how that varies with the buffer
size/how to improve it, before I reinvent more wheels?
21:37 -!- Lockster [n=andy@78-105-235-193.zone3.bethere.co.uk] has quit []
21:37 < clip9> timmcd: do you want to send channel messages over TCP?
21:37 < mrjayman> i installed ubuntu via virtualbox on vista, what's the
best environment to choose after that for programming under Go?
21:37 < timmcd> clip9: Yeah, basically read from a channel instead of from
the TCPSocket, or just have the socket be a channel itself.
21:39 < clip9> timmcd: but over the network?  channels just work within the
process afaik.
21:40 < nsz> you can still use the chan interface
21:40 < Ibw> mrjayman: What do you mean by environment?  It sounds like your
all set with the virtualbox setup
21:40 -!- MarkAtwood [n=matwood@67.136.131.11] has joined #go-nuts
21:40 -!- keithpoole [n=keithpoo@cpc3-bagu8-0-0-cust84.bagu.cable.ntl.com] has
quit [Client Quit]
21:41 -!- ajray [n=alex@wvc32563rh.rh.ncsu.edu] has left #go-nuts []
21:42 < bguimberteau> somebody have configure xcode for auto build
21:42 -!- Guest9407 [n=bobby@cpe-065-184-233-244.ec.res.rr.com] has quit [Read
error: 110 (Connection timed out)]
21:42 < mrjayman> Ibw: i was thinking of something like ultra edit or visual
studio that support the Go language
21:42 -!- brunov [n=bruno@190.191.110.64] has joined #go-nuts
21:42 < luca__> is there way to call fork() without using
syscall.RawSysCall()?  Is it safe to do so?
21:42 < luca__> (I need just fork, not ForkAndExec())
21:43 < Ibw> mrjayman: There isn't much like that as of now.  Just grab a
good text editor (Kate or Gedit), a Go highlight systax file and learn to use the
command line
21:43 -!- CalJunior [n=caljunio@82-168-237-95.ip.telfort.nl] has joined #go-nuts
21:43 < xorl> KirkMcDonald: Got it working!
21:43 -!- jA_cOp [n=yakobu@unaffiliated/ja-cop/x-9478493] has quit [Read error: 54
(Connection reset by peer)]
21:43 < luca__> os.ForkExec() I mean
21:43 -!- jA_cOp [n=yakobu@ti0043a380-3093.bb.online.no] has joined #go-nuts
21:43 < xorl> nil, Pipe, Pipe, PassThrough
21:43 < xorl> Showed me the error
21:43 < mrjayman> Ibw: thanks for clarification on that matter
21:44 -!- CalJunior [n=caljunio@82-168-237-95.ip.telfort.nl] has quit [Client
Quit]
21:44 < Ibw> mrjayman: Go is so new that there isn't really much in the way
of IDEs.  I'm sure someone will come around sooner or later and make an Eclipse
plugin, but for now your stuck on the command line
21:44 < xMDKx> anyway to access some database with go?  like postgresql or
mysql...
21:45 < rajeshsr> does anyone see an idiom like: l = list("hello") and use
it to modify the list as in python with Go?
21:45 < Ibw> anyone made an ftp lib for Go yet?
21:45 -!- segoe [i=3e164621@gateway/web/freenode/x-anfqbtixnxmqajuk] has joined
#go-nuts
21:45 < segoe> hi
21:45 < dga> What do you mean "see", raj?  Are you looking for a way to have
a mutable string?
21:45 < rajeshsr> dga, yep
21:46 < rajeshsr> strings.Bytes doesn't work well with higher unicode
characters
21:46 -!- teralaser [n=teralase@unaffiliated/teralaser] has left #go-nuts []
21:46 < xorl> KirkMcDonald: Since I am pushing cmd, err := from my exec.Run,
how can I print out properly what cmd is executing?
21:48 < dga> rajeshr: I'd peek at the ReadRune() function in bufio.go.  But
I'm not convinced it'll ever be super clean unless you did explicitly convert it
to an array of runes.
21:49 -!- madhatter09 [n=wvicente@189-69-110-237.dsl.telesp.net.br] has joined
#go-nuts
21:49 < dga> (and if you did that, you'd lose the efficiency of packing the
ascii-ish runes in a single byte, if you care)
21:49 -!- kongtomorrow [n=kongtomo@ppp-67-124-88-199.dsl.pltn13.pacbell.net] has
quit [Read error: 54 (Connection reset by peer)]
21:49 -!- kongtomorrow [n=kongtomo@ppp-67-124-88-199.dsl.pltn13.pacbell.net] has
joined #go-nuts
21:50 -!- ryniek [n=Adrian-A@host-89-231-98-162.warszawa.mm.pl] has left #go-nuts
[]
21:50 < rajeshsr> dga, hmm, that comes close.  But doesn't fit for string
indexing and modification
21:51 -!- hipe [n=hipe@pool-74-108-181-155.nycmny.east.verizon.net] has joined
#go-nuts
21:51 < madhatter09> Hum...  Hi, anyone have any idea how to transform a
string to a int??  I'm lost...
21:51 < dga> import strconv; strconv.Atoi(string)
21:52 < KirkMcDonald> xorl: I'm not certain what you mean.
21:52 < xorl> ah I figured it out!
21:52 < madhatter09> dga: I'm lost...  but i'll RTFM again !
21:52 < xorl> []string{"useradd", " -m -G users,www-data " + *user}
21:53 < xorl> it quotes that last part and passes it to useradd, so useradd
is thinking that entire second part of []string is a user.
21:53 < KirkMcDonald> xorl: That..  doesn't seem right.
21:53 -!- rajeshsr [n=rajeshsr@59.92.55.149] has quit [Remote closed the
connection]
21:53 < KirkMcDonald> xorl: Oh. Yes.
21:53 < dga> madhatter: the "atoi" function, conventionally used in c to
convert a string to an integer, is found in the "strconv" package
21:53 < KirkMcDonald> xorl: That is what it does.
21:53 < xorl> that's what's breaking it
21:53 < dho> hm
21:54 < bigmac> madhatter: just be careful though strconv.atoi(...) returns
the value & err, so you have to catch both
21:54 < xorl> that's what's breaking it, I need to pass it like "useradd -m
-G users,www-data 'ignore'"
21:54 < KirkMcDonald> xorl: This array you are constructing is precisely
analogous to the argv array you receive (for example) in a C program's main
function.
21:54 -!- MarkAtwood [n=matwood@67.136.131.11] has quit [Read error: 60 (Operation
timed out)]
21:54 -!- zaunpfahl [n=zaunpfah@ip-95-223-209-156.unitymediagroup.de] has left
#go-nuts []
21:54 < xorl> Ahh
21:54 -!- timmcd [n=Adium@97-117-100-106.slkc.qwest.net] has quit ["Leaving."]
21:54 < mrjayman> ok guys i'm out, ttyn :p
21:54 < KirkMcDonald> xorl: You're not executing the command via a shell,
you're starting it directly, via an exec syscall.
21:55 < KirkMcDonald> xorl: The upshot is that you get to completely ignore
quoting and escaping issues which might arise in the shell.
21:55 < xorl> KirkMcDonald: ah, that makes a lot more sense now.
21:55 -!- mrjayman [n=mrj@82-171-232-109.ip.telfort.nl] has quit []
21:55 < KirkMcDonald> xorl: But you need to split the args up into different
elements of the array yourself.
21:56 -!- paulca [n=paul@89.100.39.244] has quit [Read error: 60 (Operation timed
out)]
21:57 < FxChiP> :/
21:57 < madhatter09> dga: tks
21:57 -!- metapandava [n=metapand@c-98-203-232-197.hsd1.wa.comcast.net] has quit
[]
21:58 -!- delza [n=delza@d66-183-63-49.bchsia.telus.net] has quit []
21:58 -!- Jan_Flanders__ [n=chatzill@d54C1E33B.access.telenet.be] has joined
#go-nuts
21:58 -!- Jan_Flanders__ is now known as Jan_Flanders
21:59 -!- MarkAtwood [n=matwood@67.136.131.11] has joined #go-nuts
21:59 -!- MarkAtwood [n=matwood@67.136.131.11] has quit [Remote closed the
connection]
21:59 < dga> Is fmt.Sprint() known to be astoundingly slow?  (Is this fixed
under gccgo?) A quick benchmark suggests it takes 5 microseconds per call to
Sprint.  (== 5 seconds in for i = 0...1 million).
21:59 -!- trost [n=trost@pool-96-225-223-137.ptldor.fios.verizon.net] has joined
#go-nuts
21:59 < xorl> KirkMcDonald: Got it all fixed now, thanks for the tips.  All
worked out now, I am going to publish this thing as example to other goobers such
as myself haha
21:59 < trost> rehi
22:00 -!- groceryheist [n=nate@user82.net177.whitworth.edu] has joined #go-nuts
22:02 -!- clearscreen [n=clearscr@e248070.upc-e.chello.nl] has joined #go-nuts
22:02 -!- furbage [n=furbage@87-194-207-82.bethere.co.uk] has quit [Read error:
110 (Connection timed out)]
22:02 -!- Spade [i=damn3d@shell.bimbrownia.org] has quit [Nick collision from
services.]
22:02 -!- Spade [i=damn3d@shell.bimbrownia.org] has joined #go-nuts
22:02 < Spade> Why array[0][int_variable] doesn't work?
22:03 < Spade> ' syntax error near n'
22:03 < Spade> if (tokens[0][n] == '!') {
22:03 < nsz> depends on how you declared tokens
22:04 < Spade> But tokens[0][0] works
22:05 < trost> WORKSFORME!
22:05 < trost> printf("%d - Buffer got %s\n", a[0][i], buffer);
22:06 < trost> how's n declared?
22:07 -!- hipe__ [n=hipe@pool-74-108-183-148.nycmny.east.verizon.net] has quit
[Read error: 110 (Connection timed out)]
22:07 < kongtomorrow> dga: that doesn't sound that slow to me… have you
compared to the standard C library?
22:07 -!- snearch [n=olaf@g225052229.adsl.alicedsl.de] has quit ["Ex-Chat"]
22:07 < dho> blah this args stuff is really confusing me
22:07 < kongtomorrow> depending on what you're formatting, anyway
22:07 < Spade> Oh, sorry, it was another line
22:07 < Amaranth> Spade: You can't dynamically create arrays like that, you
need to use slices
22:07 < dho> it looks like it should work
22:07 < Spade> There is an error in: for (n := 0; n < len(tokens[0]);
n++) {
22:07 < Spade> hello.go:88: syntax error near n
22:08 < Amaranth> Spade: try without the ()
22:08 < Spade> uhm, it works now :p cheers
22:08 -!- rgammans [n=roger@host-84-9-50-142.dslgb.com] has quit [Read error: 60
(Operation timed out)]
22:08 < dga> kong: The same program (does nothing but sprintfs a million
digits), without optimization, compiled with gcc, takes 0.2 seconds.  vs 5sec with
go.
22:08 * trost had the same problem with his experiment, spade -- wrong line
22:08 < dga> My guess is that Sprint uses reflection, but I'm not sure.
Still muddling through the fmt library.
22:09 < dga> (or rather, I know Sprint uses reflection; I'm guessing that's
the source of the slowdown, plus the alloc/free of a million string objects)
22:09 -!- me__ [n=venkates@c-68-55-179-48.hsd1.md.comcast.net] has quit [Read
error: 110 (Connection timed out)]
22:09 < Amaranth> dga: well, the alloc anyway
22:10 < kongtomorrow> dga: what platform are you on?  do you have profiling
tools?
22:10 < Amaranth> That reminds me, does go use something like glib's memory
slices for alloc?
http://library.gnome.org/devel/glib/unstable/glib-Memory-Slices.html
22:11 < dga> macos.  I do, but that was one of my next questions - good ways
to profile go programs.  I haven't RTFM'd for that yet, though, so I wasn't going
to ask yet.
22:11 < nsz> 6prof is supposed to be a go profiler..
22:11 < kongtomorrow> dga: shark should be a good start
22:12 < dga> I was assuming Shark would only give me high level information
when the program was written in go and compiled with 8g, but ..  :) Have you tried
it?
22:12 -!- esm [n=esm@70-91-101-46-chicago-il.hfc.comcastbusiness.net] has joined
#go-nuts
22:12 -!- Kashia [n=Kashia@p4FEB7D42.dip.t-dialin.net] has quit ["This computer
has gone to sleep"]
22:12 < Spade> Is there anyway to handle system signals?
22:12 < Spade> any way* :p
22:12 < kongtomorrow> no, I haven't.  I would hope that you would be able to
see if all the time was spent in memory allocation, for example.
22:12 < kongtomorrow> or in GC.
22:13 -!- Chaze [n=Chase@dslb-084-059-064-218.pools.arcor-ip.net] has joined
#go-nuts
22:13 < nsz> use the profiler of go
22:13 < Amaranth> Spade: Not yet
22:13 < Amaranth> Spade: http://code.google.com/p/go/issues/detail?id=71
22:14 -!- KillerX [n=anant@145-116-234-40.uilenstede.casema.nl] has joined
#go-nuts
22:14 -!- tetha [n=hk@pD9EE4D57.dip.t-dialin.net] has quit [Nick collision from
services.]
22:14 -!- tetha [n=hk@pD9EE6222.dip.t-dialin.net] has joined #go-nuts
22:15 -!- Jan_Flanders_ [n=chatzill@d54C1E33B.access.telenet.be] has quit [Read
error: 110 (Connection timed out)]
22:17 -!- fracture [n=ad@ip68-111-13-125.tc.ph.cox.net] has joined #go-nuts
22:18 < fracture> are the built in maps in Go done with hashing or rb trees?
22:18 -!- hanni [n=hanni@93-96-68-133.zone4.bethere.co.uk] has quit []
22:18 -!- Spade [i=damn3d@shell.bimbrownia.org] has quit [Remote closed the
connection]
22:19 -!- zerofluid [n=zeroflui@ip68-227-10-141.lv.lv.cox.net] has joined #go-nuts
22:19 < groceryheist> @fracture good question
22:20 < groceryheist> I don't know.
22:21 < dho> mmmm
22:21 < dga> Answer: Sprint is hideously slow.  Extracting the putint() code
from fmt and calling it directly, including the string alloc, reduces the runtime
of that program by a factor of almost five.
22:21 < fracture> lang spec says it is an "unordered collection", which
suggests if it is an rb tree they aren't exposing that to the user as part of the
language....
22:21 * trost saw an interview saying their based on hash tables ;(
22:22 < trost> s/their/they're/ :p
22:22 < Ibw> hmm, do you think naming a Go downloading tool wget would be a
bad idea?
22:22 < fracture> Hm.
22:22 < trost> "goget" is a much better name
22:22 < fracture> can you change the hash function?
22:22 < sladegen> wgot
22:22 < Ibw> heh
22:22 < FxChiP> Why "wget"?  :P
22:22 * trost suggests radix trees
22:22 < Ibw> web-get, it's short so it's easy to repeat over and over as a
package name, and there is a GNU command line tool called wget
22:23 < FxChiP> ah
22:23 < Ibw> the last point is the reason I think it may be a bad idea
22:23 < huf> yep
22:23 < nsz> plan 9 calls it hget (http get)
22:23 < trost> nearly as bad as naming a language Go when there's already a
Go! language that's been around for a decade
22:24 < Ibw> does hget support ftp?
22:24 < nsz> i guess not
22:24 < Ibw> trost: Maybe I can call the tool "wget!"
22:24 -!- groceryheist is now known as ntg
22:24 < trost> Hget retrieves the web page specified by the URL url and
writes it,
22:24 < trost> absent the -o option, to standard output.  The only supported
URL
22:24 < trost> type is http.
22:24 < trost> If url is of type HTTP and the -p option is specified, then
an HTTP
22:24 < trost> POST is performed with body as the data to be posted.
22:24 < nsz> no ! in filename pls
22:25 -!- kw- [n=aevirex@d91-128-61-101.cust.tele2.at] has quit [Read error: 110
(Connection timed out)]
22:25 -!- lummie [n=lummie@87-194-101-146.bethere.co.uk] has joined #go-nuts
22:25 < trost> funny, ibw
22:25 < huf> at least not in commands, anyway ;)
22:25 < Gracenotes> hm..  does returning an int from main do anything.
since there is os.Exit.  lemme see
22:25 -!- Tuller [n=Tuller@ip98-163-120-139.dc.dc.cox.net] has quit ["to the
batcave?"]
22:25 < Ibw> I dunno.  I think people will be able to see the distinction
between Go and Go!
22:25 < Ibw> Wikipedia certainly gets it
22:25 -!- Adys [n=Adys@unaffiliated/adys] has quit [Remote closed the connection]
22:25 < Gracenotes> "The function main.main() takes no arguments and returns
no value." hm
22:25 < trost> Yeah, but people probably type Go when they mean Go! because
typing Go! every time you're talking about Go! gets really silly looking.
22:26 < Gracenotes> Ibw: Wikipedia is sensitive to punctuation.  Google is
not.
22:26 -!- slicslak_ [n=slicslac@c-68-50-207-133.hsd1.dc.comcast.net] has quit
[Read error: 60 (Operation timed out)]
22:26 < Ibw> But obviously Go! is terribly popular anyway.  I doubt there
were many people typing Go! who didn't already know how to find it
22:26 < Ibw> *isn't
22:26 < sladegen> considering that name "issue" landed as numbered nine in
the issue tracker i'm begining to suspect it has been engineered...
22:27 -!- slicslak_ [n=slicslac@c-68-50-207-133.hsd1.dc.comcast.net] has joined
#go-nuts
22:27 < Ibw> sladegen: What do you mean by that?
22:27 < fracture> "Go!" vs "Go" seems about as different as "C" and "C#"...
heh heh
22:27 < sladegen> nothing like a good controversy for geekey PR.
22:28 < Gracenotes> sladegen: controversy on whose part?
22:28 < Ibw> There is obviously a lanugage called Go! You can find books and
references on the web.  I guess it could be a really elaborate stunt, perhaps
22:28 < sladegen> interwebsez!11!!!!1
22:28 -!- Chaze [n=Chase@dslb-084-059-064-218.pools.arcor-ip.net] has left
#go-nuts []
22:28 < Freeaqingme> My guess would be that google 'just pays' the bloke 10K
or so, and that all the fuzz is over
22:29 < Freeaqingme> the language has been in development for 10 years, and
still noone knows it...
22:29 -!- hanni_ [n=hanni@93-96-68-133.zone4.bethere.co.uk] has joined #go-nuts
22:29 < Ibw> Hmm, I wonder if he would even have a legal case if he wanted
to.  Go isn't a very easy thing to claim ownership of
22:29 < Freeaqingme> that, and the lack of any registered trademark
22:29 < Ibw> It sounds to me like more of an educational language anyway.
It was never going to become widely used
22:29 -!- rhelmer [n=rhelmer@adsl-69-107-65-242.dsl.pltn13.pacbell.net] has quit
[]
22:30 < Freeaqingme> if the guy was really upset, he'd have gotten a lawyer
you sought contact with google by letter.  Not in some issue report
22:30 * trost thinks he has found a defect in either the compiler or the language
spec
22:30 < trost> According to the spec, the following should compile: func
cs(i int) (int, int) {return 0, 1}
22:30 < trost> var re, im = cs(-1)
22:30 < trost> According to the compiler, it doesn't
22:30 < Ibw> huh
22:30 < nsz> ibw: legal case in which country?
22:31 < dho> GRAAAAH
22:31 < dho> this makes no sense.
22:31 < Ibw> nsz: I don't know.  I had assumed the US, but I don't know
enough about it
22:31 < dho> info registers, x/d 0x(stack) 2, x/x 0x(stack+8) -> addr,
x/s 0x(addr) -> /path/to/6.out
22:31 < uriel> Ibw: can we just ignore the whole issue?  more than enough
noise and time has been wasted on it, thanks
22:32 * trost runs out and trademarks "ogle" in hopes of ransoming his own $10K :)
22:32 < dho> so why the hell does it get fucked up
22:32 * dho si a lot
22:32 < trost> Any thoughts on the "var re,im = cs()" problem?  iant, you
still slumming here?
22:34 -!- timmcd [n=Adium@97-117-100-106.slkc.qwest.net] has joined #go-nuts
22:34 < dga> trost; re, im := cs();
22:35 < nsz> or var re,im float
22:35 < timmcd> Can anyone give me an example of making servers and
connections with the TCP stuff in pkg/net ?
22:35 < dga> right.
22:35 < dga> well, var re, im int
22:35 < Ibw> uriel: I wasn't the only one talking about it, nor was I the
one who brought it up.  Though I agree that there is no reason to carry on a long
discussion about something that, as you have said, has been talked about plenty
22:35 < dga> :)
22:35 < dga> (in other words, trost, your var declaration was incorrect)
22:36 < Gracenotes> is there a default heap size?  and any way to change it?
22:37 < Gracenotes> for 8g particularly
22:37 -!- zerofluid [n=zeroflui@ip68-227-10-141.lv.lv.cox.net] has quit
["Leaving"]
22:37 < timmcd> Can anyone give me an example of making servers and
connections with the TCP stuff in pkg/net ?
22:38 < sladegen> timmcd: perhaps look in the sources of godoc.
22:38 -!- mkristof [n=libraria@79.97.27.67] has joined #go-nuts
22:38 -!- bigmac [n=jwm@c-67-164-29-94.hsd1.ca.comcast.net] has quit [Client Quit]
22:38 < timmcd> Such as in golang.org/pkg/net?  I'm not finding the
information there very helpful.  It's probably my fault, but I would still love an
example.
22:39 -!- xMDKx [n=mdkcore@200.181.231.139] has quit [Read error: 110 (Connection
timed out)]
22:39 < timmcd> Specifically, how do I use DialTCP?  It says its like Dial,
except it takes TCPAddr's for laddr and raddr, but I have no idea as to what I
would put for the laddr in a TCPAddr...  xD
22:39 -!- leitaox1 [n=leitaox@187.88.84.122] has quit [Client Quit]
22:39 < Gracenotes> use nil for laddr
22:39 -!- asonge [n=alex@phpurge.com] has left #go-nuts []
22:39 < Gracenotes> (if you aren't doing anything local)
22:40 -!- bjb_ [n=bobby@cpe-065-184-233-244.ec.res.rr.com] has joined #go-nuts
22:40 < Gracenotes> get raddr from net.ResolveTCPAddr
22:40 -!- bjb [n=bobby@cpe-065-184-253-213.ec.res.rr.com] has quit [Nick collision
from services.]
22:41 -!- bjb_ is now known as bjb
22:42 < timmcd> Tyvm
22:42 < exch> I suppose there's no SSL support yet?
22:43 -!- bakkdoor [n=bakkdoor@s15229144.onlinehome-server.info] has quit [Read
error: 131 (Connection reset by peer)]
22:43 < uriel> Gracenotes: doesn't Dial() do dns resolution itself?
22:43 < ntg> has it been confirmed whether the map uses hashing or r-b
trees?
22:43 < uriel> it certainly should
22:43 < dga> see pkg/crypto/tls - partial
22:43 < Gracenotes> uriel: not DialTCP()
22:44 < uriel> don't use DialTCP(), /me wonders why such a function exists,
it is silly
22:44 < fracture> ntg: nope, but hashing is apparently suspected
22:44 < Gracenotes> the main benefit of using DialTCP is to get a TCPConn
22:44 < Gracenotes> you'd get one anyway, but declared as such
22:44 < exch> it works fine rly
22:44 -!- automaciej [n=maciej@fennel.blizinski.pl] has left #go-nuts []
22:44 -!- CallToPower [n=CallToPo@s15229144.onlinehome-server.info] has quit [Read
error: 104 (Connection reset by peer)]
22:44 < Gracenotes> however, the Reader/Writer functionality is in the
default Conn already
22:44 < ntg> fracture: I might look in the source code later to see if I can
figure it out
22:45 < Gracenotes> declaration, I should say
22:46 < fracture> ntg: let me know what you find if you do
22:47 -!- cgoncalves [n=carlos@opensuse/member/Cgoncalves] has left #go-nuts []
22:47 < timmcd> I am having issues with variables being declared, but not
used.
22:47 < timmcd> Ie: conn, err := net.DialTCP(...);
22:47 < timmcd> However, if I remove the err variable, I get problems about
not having the correct stuff...  any help?
22:47 < JBeshir> timmcd: Replace it with a _
22:47 < uriel> timmcd: again, don't use DialTCP, use Dial()
22:48 < uriel> and what JBeshir said
22:48 < JBeshir> _ is a special thing saying "blackhole this return value"
22:48 < timmcd> JBeshir: THanks.
22:48 < exch> var err os.Error; var conn *TCPConn; conn, err =
net.DialTCP(...); if err != nil { ohnoes_made_booboo(); }
22:48 < timmcd> Uriel: Wait, why use just dial?
22:49 < exch> it's a bad idea to 'black hole' the err value when opening a
tcp connection
22:49 < uriel> timmcd: simpler, and should make your app more sane
22:49 < uriel> that DialTCP exists is already bad enough
22:49 < exch> it's fine :p
22:49 < dho> aha
22:49 < uriel> no it isn't, it reeks of sockets, which are and evil monster
22:49 -!- lummie [n=lummie@87-194-101-146.bethere.co.uk] has quit [Read error: 110
(Connection timed out)]
22:49 < dho> the restored stack address is getting hosed somehow
22:50 -!- mkristof [n=libraria@79.97.27.67] has left #go-nuts ["Kopete 0.12.7 :
http://kopete.kde.org"]
22:50 < dho> 43ee96: 48 83 e4 f8 and $0xfffffffffffffff8,%rsp
22:50 < dho> it looks like that gets `optimized out'
22:51 -!- rickard [n=rickard@v-412-ostermalm-112.bitnet.nu] has joined #go-nuts
22:54 < timmcd> How can I convert each byte of [50]byte to a string?
22:55 -!- siam [n=siam@unaffiliated/siam] has joined #go-nuts
22:55 < voluspa> Can I explicitly type something with the := operator?
22:56 < JBeshir> No; use the = operator.
22:56 < JBeshir> That's the point of the := operator.
22:56 -!- monkfish_ [n=chatzill@pc5032.stdby.hin.no] has joined #go-nuts
22:56 < JBeshir> Well, you might be able to, but it'd seem kinda pointless.
22:56 -!- brunov [n=bruno@190.191.110.64] has quit [Read error: 145 (Connection
timed out)]
22:56 -!- northgrove
[n=northgro@c-7bb9e655.08-160-70697410.cust.bredbandsbolaget.se] has quit []
22:56 < dho> nope, yet again, i forgot to clean / recompile
22:57 < exch> oh man.  I actually used the goto statement :o
22:57 < voluspa> Yeah, I want a variable in a for loop to be explicitly
typed but throwing the var declaration in the for initialization didn't work.  Nor
did leaving it blank with a ;
22:57 < dho> goto is not evil.
22:58 < timmcd> how can I convert an array of bytes to a string?
22:58 < exch> It kinda works in this setting.  I just feel a little dirty
for doing so
22:58 < JBeshir> timmcd: string(<array>)
22:58 < timmcd> I just search for the wrong keywords, don't I? xD
22:59 -!- bguimberteau [n=bguimber@78.236.214.16] has quit []
22:59 < timmcd> Can't convert buf (type [50]uint8) to type string...  ?
22:59 -!- andern [n=NA@55.84-234-230.customer.lyse.net] has joined #go-nuts
22:59 -!- engla [n=ulrik@wikipedia/Sverdrup] has quit [Read error: 110 (Connection
timed out)]
23:02 -!- kmc_ [n=kmcallis@76.8.64.166] has quit [Remote closed the connection]
23:02 < Ycros> timmcd: I thought you said you had an array of bytes ([]byte)
23:02 < exch> timmcd: it doesnt work on fixed arrays, only slices.  try: arr
:= make([]byte, 50);
23:03 < exch> s := string(arr); will then work
23:03 -!- rog [n=rog@78.151.49.70] has quit []
23:03 -!- monkfish [n=chatzill@158.39.124.231] has quit [Read error: 145
(Connection timed out)]
23:04 < timmcd> awesome, thanks people!
23:04 < timmcd> ^_^
23:05 < timmcd> buf := []byte;
23:05 < timmcd> conn.Read(buf[0:32]);
23:05 < timmcd> that would be correct, no?
23:05 -!- hipe [n=hipe@pool-74-108-181-155.nycmny.east.verizon.net] has quit
[Remote closed the connection]
23:05 -!- Fish [n=Fish@bus77-2-82-244-150-190.fbx.proxad.net] has quit [Remote
closed the connection]
23:06 -!- jtza8 [n=jtza8@iburst-41-213-45-150.iburst.co.za] has quit ["Lost
terminal"]
23:08 -!- Ibw [n=isaac@cpe-67-241-42-134.twcny.res.rr.com] has quit [Remote closed
the connection]
23:08 -!- Ibw [n=isaac@cpe-67-241-42-134.twcny.res.rr.com] has joined #go-nuts
23:08 -!- Clooth [n=Clooth@cs27062173.pp.htv.fi] has quit [Remote closed the
connection]
23:09 < exch> buf := make([]byte, 32); conn.Read(buf[0:32]); seems to work
for me
23:09 < exch> leaving the [0:32] bit off works as well
23:11 -!- Clooth [n=Clooth@cs27062173.pp.htv.fi] has joined #go-nuts
23:11 -!- teedex [n=teedex@204.14.155.161] has quit [Remote closed the connection]
23:12 < exch> if you create that buffer outside the conn.read() loop, you do
have to zero it out before each call to conn.read(), otherwise you'll be stuck
with residual data from the previous read
23:12 -!- teedex [n=teedex@204.14.155.161] has joined #go-nuts
23:14 -!- timmcd [n=Adium@97-117-100-106.slkc.qwest.net] has left #go-nuts []
23:14 -!- Helpsys [n=ths@unaffiliated/helpsys] has joined #go-nuts
23:14 < JBeshir> Zeroing isn't good enough.
23:15 < JBeshir> Because you don't know that you haven't just read zeros.
23:15 < exch> atm i'm just recreating the slice before reading, but that
hardly seems efficient
23:15 < JBeshir> You need to check the number of bytes read and only count
from the start of the buffer to there.
23:15 < Ycros> uh, Read returns a length, does it not?
23:15 < exch> yes it does
23:15 -!- Amaranth [n=travis@ubuntu/member/Amaranth] has quit ["Ex-Chat"]
23:15 < Ycros> use it
23:16 -!- dezelin [n=dezelin@93.87.132.224] has joined #go-nuts
23:17 -!- hanse [n=hanse@188-23-73-200.adsl.highway.telekom.at] has joined
#go-nuts
23:18 -!- DrNach [n=nach@89-138-3-138.bb.netvision.net.il] has joined #go-nuts
23:20 < uriel> goto is good
23:21 < JBeshir> Goto is your friend and would *never* hurt you.
23:21 -!- timmcd [n=Adium@97-117-100-106.slkc.qwest.net] has joined #go-nuts
23:21 < uriel> as ken said once: "If you want to go somewhere, goto is the
best way to get there."
23:21 < uriel> (and this was long before Go
23:21 < uriel> )
23:21 < dho> the real evil is people who blindly hate goto
23:22 < uriel> indeed
23:22 -!- mainman__ [n=Adium@host20-155-dynamic.30-79-r.retail.telecomitalia.it]
has joined #go-nuts
23:22 < timmcd> Can I just read a single byte from a TCPConn somehow?
Without passing it into a []byte?  Ideally:
23:22 < timmcd> bytechan <- conn.Read(1); // or somesuch
23:22 < uriel> blind hate == evil; unless you blindly hate c++, which is a
good thing, because C++ will burn your eyes and your brain otherwise
23:22 -!- hanse_ [n=hanse@93-82-1-43.adsl.highway.telekom.at] has joined #go-nuts
23:24 -!- hanse [n=hanse@188-23-73-200.adsl.highway.telekom.at] has quit [Read
error: 60 (Operation timed out)]
23:24 * uriel grumbles and curses at people using TCPConn, have we learned nothing
from the mistakes of the sockets debacle?  and isn't it wonderful that in Go you
can read anything that implementes the reader interface?
23:25 -!- chid [n=dorl@c122-106-95-175.rivrw1.nsw.optusnet.com.au] has joined
#go-nuts
23:25 < uriel> in stackoverflow there is somebody asking how to do ioctls
from Go! oh dear..
23:26 < nsz> go or Go! ?
23:26 * nsz hides
23:26 -!- hagna [n=hagna@97-117-54-185.slkc.qwest.net] has joined #go-nuts
23:26 -!- hanni_ [n=hanni@93-96-68-133.zone4.bethere.co.uk] has quit []
23:26 -!- Associat0r [n=Associat@h163153.upc-h.chello.nl] has quit []
23:26 < aho> issue9'd
23:27 < uriel> Go To Hell
23:27 < JoNaZ> how can i check if a map[key] isset or not?
23:28 < nsz> btw obviously you can exec a perl script that does the ioctl
for you ;)
23:28 -!- Amaranth [n=travis@ubuntu/member/Amaranth] has joined #go-nuts
23:28 -!- newsham [n=chat@thenewsh.com] has joined #go-nuts
23:29 < mpl> nsz: obvious troll is obvious.
23:29 -!- timmcd [n=Adium@97-117-100-106.slkc.qwest.net] has left #go-nuts []
23:29 < nsz> it's called sarcasm
23:29 -!- bleam [n=quassel@ppp-124-120-174-239.revip2.asianet.co.th] has joined
#go-nuts
23:29 < nsz> JoNaZ: _,has = map[key]
23:29 -!- teedex [n=teedex@204.14.155.161] has quit [Read error: 110 (Connection
timed out)]
23:29 < nsz> probably there is a better way
23:29 -!- x-ip [n=sakura@unaffiliated/x-ip] has joined #go-nuts
23:29 < JoNaZ> nsz: tried that in a if statement..  didnt work..
23:30 < nsz> heh
23:31 < hagna> multicore seems a crisis not an opportunity" heheh
23:31 < JoNaZ> ,_val := session[sess]; if !val {dosomehting} <-- worked
23:32 -!- Dreamr_3 is now known as Dreamer3
23:32 -!- ginkgo [n=ginkgo@chello084113198244.17.14.vie.surfer.at] has joined
#go-nuts
23:32 -!- KillerX [n=anant@gentoo/developer/KillerX] has quit ["Leaving."]
23:32 < JoNaZ> how to i get the key if i: for _, value := range sessions{
23:32 < JoNaZ> how do*
23:33 < exch> for key, val := range sessions {...}
23:33 -!- KillerX [n=anant@145-116-234-40.uilenstede.casema.nl] has joined
#go-nuts
23:33 < JoNaZ> oh :) thx
23:33 < exch> the _ is just a placeholder you use if you don't need that
particular value
23:33 -!- alexsuraci [n=alex@pool-71-188-133-67.aubnin.fios.verizon.net] has quit
["Lost terminal"]
23:34 -!- adheus [n=adheus@ns0.rix.com.br] has joined #go-nuts
23:35 -!- alexsuraci [n=alex@pool-71-188-133-67.aubnin.fios.verizon.net] has
joined #go-nuts
23:35 < JoNaZ> can i "unset" a map[key] looking like this?  sessions =
map[string] chan int{} ?
23:35 -!- timmcd [n=Adium@97-117-100-106.slkc.qwest.net] has joined #go-nuts
23:35 -!- Fraeon [n=kzer-za@e212-246-65-153.elisa-laajakaista.fi] has joined
#go-nuts
23:36 < timmcd> last question (hopefully): How can I read from the
terminal/STDIN?  Just one line of input from the user, up to an enter/newline>
23:36 < timmcd> *?
23:37 < exch> JoNaZ: not sure if this actually deletes a key or just nils
the value, but you can try this: m[key] = nil, false;
23:37 < ajhager> timmcd: in := bufio.NewReader(os.Stdin); line, err :=
in.ReadString('\n');
23:38 < exch> the 'false' bit should remove the key
23:38 < ajhager> timmcd: If the user inputs ^D, err will be os.EOF
23:39 < timmcd> ajhager: Tyvm!
23:39 < timmcd> ajhager: Is there a certain error if it they input ^C?
23:40 -!- arieru [n=arieru@190.3.74.225] has joined #go-nuts
23:41 -!- proszbje [n=raulgrel@81.84.215.230] has joined #go-nuts
23:41 < ajhager> timmcd: From what I can see, it never gets to that point.
The process just ends.
23:41 < arieru> hello.  What editor do you recommend for GO, in mac ?
23:41 < hagna> are all function calls pass by reference?
23:42 < JoNaZ> exch: looks like its not deleted :S
23:42 < timmcd> Arieru: Emacs!
23:42 < timmcd> *arieru: Emacs!
23:42 < JoNaZ> arieru: vim ! :)
23:42 < ajhager> arieru: Yeah, emacs has the best support so far.
23:43 -!- ericmaxey [n=ericmaxe@c-98-203-198-10.hsd1.wa.comcast.net] has joined
#go-nuts
23:43 -!- tor7 [n=tor@c-987a71d5.04-50-6c756e10.cust.bredbandsbolaget.se] has quit
[]
23:43 < arieru> thanks ! I will try emacs...  I like vim too, but I never
tested emacs.  I think is good time for test something new
23:43 -!- newsham [n=chat@thenewsh.com] has left #go-nuts []
23:43 -!- xylifyx [n=xylifyx@87-104-72-235-dynamic-customer.profibernet.dk] has
joined #go-nuts
23:43 -!- garslo [n=user@adsl-76-235-178-76.dsl.klmzmi.sbcglobal.net] has joined
#go-nuts
23:44 < Ycros> arieru: vim has support as well, and there are some xcode
files in the sources (check in the misc/ dir)
23:44 < arieru> Ycros: thanks.  I will check
23:44 -!- bleam [n=quassel@ppp-124-120-174-239.revip2.asianet.co.th] has quit
[Remote closed the connection]
23:45 -!- arieru [n=arieru@190.3.74.225] has left #go-nuts []
23:46 -!- eydaimon [n=eydaimon@unaffiliated/anywho] has quit [Read error: 104
(Connection reset by peer)]
23:46 -!- itrekkie [n=itrekkie@ip98-165-246-56.ph.ph.cox.net] has joined #go-nuts
23:47 -!- timmcd [n=Adium@97-117-100-106.slkc.qwest.net] has left #go-nuts []
23:48 < JoNaZ> exch: looks like it worked after all...  just not my logic
23:49 -!- adheus [n=adheus@ns0.rix.com.br] has quit ["Leaving"]
23:49 -!- anders_ [n=anders@c83-253-2-206.bredband.comhem.se] has quit ["Leaving"]
23:49 -!- KillerX [n=anant@gentoo/developer/KillerX] has quit ["Leaving."]
23:51 -!- garslo [n=user@adsl-76-235-178-76.dsl.klmzmi.sbcglobal.net] has quit
[Remote closed the connection]
23:51 < exch> cool
23:52 -!- lighter [n=robert@client-86-0-127-137.nrth.adsl.virginmedia.com] has
joined #go-nuts
23:54 -!- garslo [n=user@adsl-76-235-178-76.dsl.klmzmi.sbcglobal.net] has joined
#go-nuts
23:54 -!- keithpoole [n=keithpoo@cpc3-bagu8-0-0-cust84.bagu.cable.ntl.com] has
joined #go-nuts
23:55 -!- gmurphy [n=gmurphy@203-206-248-145.dyn.iinet.net.au] has joined #go-nuts
23:57 -!- ericmaxey [n=ericmaxe@c-98-203-198-10.hsd1.wa.comcast.net] has quit
["Leaving"]
23:57 < voluspa> Has anyone toyed with the vim highlighting script to make
it a little more normal in regards to automatic tab insertion
23:57 -!- nonet [n=nonet@c-69-181-203-73.hsd1.ca.comcast.net] has left #go-nuts []
23:58 -!- mpurcell|bed is now known as mpurcell
23:58 -!- Knight_Lord [n=filipe@nl118-168-58.student.uu.se] has quit ["This
computer has gone to sleep"]
--- Day changed Sun Nov 15 2009
00:00 -!- m-takagi is now known as m-takagi_
00:01 < Gracenotes> if there is one effect of having no exceptions, I'm
placing a lot of if err != nil { return nil, err }s :) which is okay, I guess
00:02 < Ibw> IRC client?
00:02 -!- x-ip [n=sakura@unaffiliated/x-ip] has quit [Read error: 110 (Connection
timed out)]
00:02 -!- bjb [n=bobby@cpe-065-184-233-244.ec.res.rr.com] has quit [Read error:
110 (Connection timed out)]
00:03 < Ibw> Gracenotes: weren't you working on an IRC client?
00:04 < Zarutian> this has probably been asked before: has anyone written an
golang channel extender so they work over networks?
00:04 < Gracenotes> Ibw: I am, and it does run :) I'm just diverging for a
short bit
00:04 -!- gpciceri [n=gpciceri@host11-117-dynamic.41-79-r.retail.telecomitalia.it]
has joined #go-nuts
00:05 -!- Dysiode [n=pakattac@66.129.59.88] has left #go-nuts []
00:05 -!- bjb [n=bobby@cpe-065-184-253-213.ec.res.rr.com] has joined #go-nuts
00:05 < Gracenotes> still indirectly working
00:05 < Ibw> This is rather entertaining.  Looking back at IRC hisory, at
least 50% if not more of the lines are ____ has joined, or _____ has left
00:05 -!- Dysiode [n=pakattac@66.129.59.88] has joined #go-nuts
00:05 < Ibw> I didn't even notice until now.  I must have been blocking it
out because it just happened so much
00:06 < Ycros> Zarutian: I don't think so, but there is the rpc package
00:06 < scandal> Ibw: in large channels, ignoring parts/joins in your irc
client is a boon :)
00:07 < Gracenotes> I'd personally like there to be some form of collapsing
rather than outright ignoring...  but eh.
00:07 < aho> is there a way to do this in xchat?  (already wondered about
that a few days ago...  but was too lazy to join the xchat channel) :>
00:08 < Zarutian> Yeros: well the only rpc package I have found (for golang)
is srpc wich is intended for use in NaCl
00:08 < uriel> exch: got your syntax file, thanks!  posted it to
http://go-lang.cat-v.org/text-editors/
00:08 < Amaranth> How do you convert a []byte to a string?
00:08 < Ycros> Zarutian: what about the one called "rpc" which is in the
standard library?
00:08 < gpciceri> hi all, where can I find iswspace() call in go?
00:08 < ajhager> Amaranth: string(byte_slice)
00:09 < Zarutian> Yeros: aah, I see it now, thanks
00:10 < Amaranth> ajhager: and now I feel stupid :/
00:10 -!- annodomini [n=lambda@wikipedia/lambda] has quit []
00:11 -!- ako [n=nya@78.52.36.173] has joined #go-nuts
00:12 -!- Freakzoid [n=Freakzoi@1503026015.dhcp.dbnet.dk] has joined #go-nuts
00:14 -!- mainman__ [n=Adium@host20-155-dynamic.30-79-r.retail.telecomitalia.it]
has quit ["Leaving."]
00:14 < scandal> gpciceri: unicode.IsSpace()
00:14 -!- Manish_Maheshwar [n=chatzill@c-67-189-144-6.hsd1.ma.comcast.net] has
joined #go-nuts
00:14 < gpciceri> THX
00:14 < ajhager> Amaranth: haha, its cool.  It wasn't immediately obvious to
me the first time either.
00:15 -!- annodomini [n=lambda@c-75-69-96-104.hsd1.nh.comcast.net] has joined
#go-nuts
00:15 -!- fejes [n=fejes@S010600173117d936.vc.shawcable.net] has joined #go-nuts
00:15 -!- itrekkie is now known as itrekkie_afk
00:15 -!- hanni [n=hanni@93-96-68-133.zone4.bethere.co.uk] has joined #go-nuts
00:15 < fejes> hi, can anyone give me a pointer to whether Go has any
tutorials on building GUIs.
00:15 < Ibw> yes!  Konversation has a nice little checkbox "Hide
join/part/somethingelse events?"
00:15 < Ibw> fejes: I do not believe there are any GUI lib bindings for Go
right now
00:16 < Ibw> fejes: Which basically means you can't make GUIs
00:16 < fejes> Ibw: thanks, that's what I expected.  Just wanted to know if
I was wrong.
00:16 < fejes> I would love to try out a few things with Go, but the first
project on my desk requires a gui.
00:17 < Amaranth> hmm it seems there is no documentation on built in types
00:17 < Amaranth> although now that I think about it to answer for my
problem is obvious
00:17 < Amaranth> or maybe not...
00:18 < Amaranth> How do you remove something from a map?
00:18 < Manish_Maheshwar> hey everyone any newbies here with GO ..and why
are we here?  how can we contribute to GO ?
00:18 -!- NoPyGod [n=no@60-234-140-16.bitstream.orcon.net.nz] has joined #go-nuts
00:18 < Amaranth> I can remove the value by setting the key to nil but how
do I remove the key?
00:18 < ajhager> myMap[key] = 0, false
00:18 < JoNaZ> m[key] = nil, false;
00:18 < fejes> pretty much everyone is a newb with Go. it's been out for
less than a week.
00:18 < Ibw> mhm
00:18 -!- engla [n=ulrik@90-229-231-23-no153.tbcn.telia.com] has joined #go-nuts
00:18 < Manish_Maheshwar> yes..i meant...alot of people already might have
started...
00:19 < NoPyGod> i have 10 years experience with Go
00:19 < Ibw> uh huh
00:19 < DrNach> NoPyGod: just like most Java programmers have 25 years
experience in it
00:19 -!- gpciceri_
[n=gpciceri@host11-117-dynamic.41-79-r.retail.telecomitalia.it] has joined
#go-nuts
00:19 < JBeshir> I bet that's what your resume says.
00:19 < NoPyGod> exactly :)
00:19 < Manish_Maheshwar> just wanted to know how do we contribute with
GO...any ideas or examples?
00:19 < fejes> heh.
00:19 < ajhager> Amaranth: http://golang.org/doc/go_spec.html#Types --
Although that document doesn't answer your previous question.
00:19 < ajhager> Amaranth: Might help with some things though.
00:19 < Amaranth> cannot use nil as type string :/
00:20 < Amaranth> ajhager: Yeah I looked there first :)
00:20 < fejes> ok, no GUI bindings, but is there a db interface?  Are there
connects to talk with mysql or psql?
00:20 < ajhager> map[key] = "", false
00:20 < Ibw> Manish_Maheshwar: Learn the language, then perhaps create some
bindings or look for bugs/improvements in the core code
00:20 < Amaranth> hrm, doesn't that leave an empty key in my map then?
00:20 < Ibw> Manish_Maheshwar: http://golang.org/doc/contribute.html
00:20 -!- hagna [n=hagna@97-117-54-185.slkc.qwest.net] has quit [Read error: 110
(Connection timed out)]
00:21 < Manish_Maheshwar> got the 2nd idea for bugs improvements...now..wht
do u mean by create bindings?
00:21 < ajhager> Amaranth: The false part of that removes the key from the
map.
00:21 < Ibw> fejes: I don't know.  I heard someone talking about making
Postgre bindings
00:21 < fejes> ibw: thanks, I'll google, I suppose.  (=
00:21 < NoPyGod> some guy has made postgre bindings
00:21 < NoPyGod> i was just looking at them
00:22 -!- hagna [n=hagna@97-117-54-185.slkc.qwest.net] has joined #go-nuts
00:22 < Ibw> fejes: Good luck with that.  I doubt you'll find anything.
Everything that has anything to do with Go from the community is less than a few
days old-- probably not old enough for Google to take it very seriously in the
index
00:22 < NoPyGod> postgre bindings -
http://d.hatena.ne.jp/oibore/20091114/1258191288
00:22 < Amaranth> ooh
00:22 < Ibw> Manish_Maheshwar: Bindings basically allow Go code to use
things like SQL databases, graphics libraries
00:23 < Ibw> Manish_Maheshwar: Look at that link I posted though
00:23 * Amaranth needs sqlite bindings, fears he is actually going to have to do
the work himself :)
00:23 -!- Koen_ [n=Miranda@83.101.24.153] has joined #go-nuts
00:23 < Manish_Maheshwar> yea i am going thru tht...
00:23 < NoPyGod> you cant possibly _need_ them
00:24 < Amaranth> NoPyGod: well, considering my program won't work without
them...
00:24 < NoPyGod> its not like some employer is asking you to get this go
project into production
00:24 < NoPyGod> :P
00:24 < NoPyGod> what are you working on
00:24 < bthomson> somebody was asking for a django for go in stackoverflow
00:24 < Amaranth> something ;)
00:24 < NoPyGod> django is godawful
00:24 < Amaranth> bthomson: hahaha
00:24 < NoPyGod> if anything you want to produce something like Pylons, imho
00:25 < NoPyGod> GoogleAppEngine is more based around pylons than it is
django
00:25 < NoPyGod> and thats no mistake
00:25 < Amaranth> django requires metaclasses to do magic in the background
00:25 < Koen_> hi guys, if i use net.Dial to setup a tcp connection and get
a net.Conn as result, how can i use functions for net.TCPConn on that connection?
00:25 -!- emet [n=Jonathan@unaffiliated/emet] has joined #go-nuts
00:25 -!- joeedh_sleep is now known as joeedh
00:25 < NoPyGod> exactly, magic bad
00:25 < JBeshir> Koen_: You just do, I believe.
00:25 -!- oliv3 [n=olivier@phngluimglwnafhcthulhu.biniou.net] has left #go-nuts []
00:25 < bthomson> check this out:
http://stackoverflow.com/questions/1725619/can-you-recommend-a-go-language-web-framework
00:25 < Ibw> woah, what a fantastic line of code: p[i], p[j] = p[j], p[i]
00:26 < Ibw> that swaps them
00:26 < emet> can anyone recommend a Go web framework?
00:26 < Koen_> bthomson: :35: conn.SetReadBuffer undefined (type net.Conn
has no field SetReadBuffer)
00:26 < Ibw> emet: Go doesn't have a web framework
00:26 < emet> lol
00:26 < NoPyGod> Go doesnt even have exception handling
00:26 < NoPyGod> so its not exactly ideal
00:26 < emet> I was being half sarcastic
00:26 < NoPyGod> for a web framework
00:26 < Koen_> bthomson: http://golang.org/pkg/net/#tmp_277
00:26 < Ibw> Someone should add in the MOTD: Don't ask for cool libraries
written in Go. They most likely don't exist
00:26 < Amaranth> Ibw: pretty slick http implementation though
00:26 < Ibw> emet: Sorry, hard to tell
00:27 -!- shambler [i=kingrat@mm-195-161-84-93.dynamic.pppoe.mgts.by] has joined
#go-nuts
00:27 < Ibw> I'd like to seem something like RubyGems set up for Go
00:27 < Ibw> *see
00:27 < uriel> NoPyGod: exception handling is not exactly ideal either
00:27 < uriel> (which is one of the reasons go doens't have it)
00:27 < emet> how does GO handle errors then?
00:27 < fejes> ibw: impossible to google search on "go", mainly because it's
also a verb.
00:27 < uriel> emet: you return them
00:28 < emet> like C? I don't see how that's ideal either
00:28 -!- shambler [i=kingrat@mm-195-161-84-93.dynamic.pppoe.mgts.by] has quit
[Client Quit]
00:28 < fejes> horrible name choice.
00:28 < uriel> fejes: it is perfectly possible to google for go:
http://go-lang.cat-v.org/go-search
00:28 < fejes> at least "c" isn't in every essay ever written.
00:28 < fejes> (-;
00:28 -!- shambler [i=kingrat@mm-195-161-84-93.dynamic.pppoe.mgts.by] has joined
#go-nuts
00:28 < Ibw> fejes: Very true.  I suspect that eventually Go will work its
way up the index though and eventually you will be able to just search Go and see
stuff about the language
00:29 < Ibw> heh
00:29 < fejes> ibw: i hope so.  for the moment, uriel's link is helpful.
00:29 < Ibw> emet: Yes, like C
00:29 < bthomson> so all over your code you have if error {doSomething()}
00:29 -!- aho [n=nya@f051232137.adsl.alicedsl.de] has quit [Read error: 110
(Connection timed out)]
00:30 < bthomson> but whatever, its a tradeoff
00:30 < NoPyGod> yes bthomson
00:30 < uriel> bthomson: if you care about the error
00:30 < NoPyGod> exception handling will come
00:30 < NoPyGod> it will have to
00:30 < huf> ;)
00:30 < uriel> NoPyGod: not it doesn't have to, exceptions suck in every
language
00:30 < emet> how so?
00:30 < uriel> exceptions are basically an implementation of camefrom
00:30 -!- franksalim [n=frank@adsl-76-221-202-115.dsl.pltn13.sbcglobal.net] has
quit ["Ex-Chat"]
00:30 < Ycros> the question is how do you deal with exceptions and
goroutines
00:31 < uriel> a really *dumb* idea, that makes many things much harder and
much more confusing
00:31 < uriel> Ycros: send the error down a channel
00:31 < JBeshir> NoPyGod: Multiple return values allow an error return value
to be appended to the regular return value, and with explicit checks, treated as
an explicit exception?
00:31 < Koen_> JBeshir: conn.SetReadBuffer undefined (type net.Conn has no
field SetReadBuffer)
00:31 < exch> what exactly can one send over a channel?  does it limit
itself to primitive types like string/int/bytes or are structs and/or pointers
also possible?
00:31 < bthomson> well go has GOTO but not exceptions
00:31 < uriel> exch: you can send pretty much anything, including channels
00:32 < exch> hmm cool
00:32 < uriel> structs and pointers can certainly be sent over channels too
00:32 < exch> was worried there for a second I had to build elaborate
serialization mechanisms
00:32 < Ycros> channels are awesome.
00:32 < Ycros> I like how the for loop's range keyword operates on a channel
00:32 < uriel> sending channels over channels can be really useful in some
cases too
00:33 < Ycros> so channels can be iterators
00:33 < uriel> Ycros: yea, that is quite nice
00:33 < uriel> I don't think there is anything like that even on Limbo
00:33 < Ycros> ie.  the Iter() method on the container classes in the
standard library
00:34 -!- ako is now known as aho
00:34 -!- wobsite [n=wobsite_@68-189-250-56.static.oxfr.ma.charter.com] has joined
#go-nuts
00:35 < Gracenotes> eesh, I don't know how many times I'm going to end up
Googline "1 second in nanoseconds" :/
00:35 -!- ishmael [n=marcoant@189.96.48.157] has quit [Read error: 110 (Connection
timed out)]
00:35 < Amaranth> hrm, a map can have duplicate keys?
00:36 < Gracenotes> it's just easier to copy it than to type out the zeroes
00:36 < uriel> Amaranth: obviously not
00:36 < fejes> sci notation
00:36 -!- hector [n=chatzill@client-86-0-126-58.nrth.adsl.virginmedia.com] has
quit [Read error: 113 (No route to host)]
00:36 < Gracenotes> fejes: that's support for int64s?
00:36 < Amaranth> uriel: trying to figure out why my program is sending out
duplicate headers
00:36 -!- monkfish_ [n=chatzill@pc5032.stdby.hin.no] has quit [Success]
00:36 * Gracenotes only saw that in the spec for float-types
00:37 < fejes> dunno, I've been working on Go for about...  18 minutes now.
00:37 -!- naderman [n=naderman@phpbb/developer/naderman] has left #go-nuts
["http://quassel-irc.org - Chat comfortably.  Anywhere."]
00:37 < Amaranth> I just pulled send from the http package and the stuff
needed to make it compile
00:37 -!- lifeless [n=robertc@ppp245-86.static.internode.on.net] has joined
#go-nuts
00:37 < Amaranth> perhaps trying to reuse the Request I got from the actual
client is the problem
00:38 -!- xylifyx [n=xylifyx@87-104-72-235-dynamic-customer.profibernet.dk] has
quit []
00:38 < lifeless> has anyone written autoconf glue to detect 6l etc?
00:38 < wobsite> is there a way to tell what keys are in a map?
00:38 < Amaranth> lifeless: Everyone here seems to be allergic to autoconf
:/
00:38 < lifeless> wobsite: range I think, gives you an iterator
00:38 -!- slicslak_ [n=slicslac@c-68-50-207-133.hsd1.dc.comcast.net] has quit
[Read error: 60 (Operation timed out)]
00:39 -!- Popog [n=Adium@pool-71-121-200-233.sttlwa.dsl-w.verizon.net] has quit
["Leaving."]
00:39 < lifeless> time to yak shave then :(
00:39 < Gracenotes> fejes: okay :D
00:39 < Ycros> Amaranth: I hate writing/developing with autoconf.  Actually
using it works really well though.
00:40 -!- x-ip [n=sakura@unaffiliated/x-ip] has joined #go-nuts
00:40 < sergio> can I do something like bufio.NewReader() on a net.Conn?
00:40 < Amaranth> lifeless: What are you working on with go?
00:41 < lifeless> Amaranth: nothing yet, just getting a feel for it.
00:41 < Amaranth> ah
00:41 < engla> how do you make the quit channel pattern work if you want to
build an arbitrary chain of in-out channel transforms (each transform takes an
input chan, transforms, sends on out chan).  I can't imagine it working
00:41 -!- gpciceri [n=gpciceri@host11-117-dynamic.41-79-r.retail.telecomitalia.it]
has quit [Read error: 110 (Connection timed out)]
00:41 -!- gpciceri_ is now known as gpciceri
00:42 < wobsite> sergio: as long as it has the Read method, you can use that
on anything.  so yeah, I think so.
00:43 < emet> does Go have null?
00:43 < sergio> alright, wobsite.  thanks
00:43 < bthomson> nil
00:43 < Ycros> emet: it has nil
00:43 < emet> :\
00:44 < bthomson> just think of all the typing you will save
00:44 < scandal> made up for for endless if err != nil ;-)
00:44 < emet> null pointers also?
00:44 < bthomson> true that
00:45 < Ycros> emet: nil pointers, yes
00:45 -!- gmurphy [n=gmurphy@203-206-248-145.dyn.iinet.net.au] has quit []
00:47 -!- mpurcell is now known as mpurcell|afk
00:48 -!- Ibw [n=isaac@cpe-67-241-42-134.twcny.res.rr.com] has quit [Remote closed
the connection]
00:48 -!- Ibw [n=isaac@cpe-67-241-42-134.twcny.res.rr.com] has joined #go-nuts
00:48 -!- ivanwong [n=quassel@cm218-253-157-27.hkcable.com.hk] has quit [Read
error: 104 (Connection reset by peer)]
00:48 < soul9> err has global scope
00:48 < soul9> ?
00:48 < Ycros> no?
00:50 < Ibw> wow, threading is really easy
00:50 -!- ector- [n=asdf@77-58-247-151.dclient.hispeed.ch] has quit [Read error:
110 (Connection timed out)]
00:51 < NoPyGod> starting a new thread has always been easy
00:52 < NoPyGod> in every language that had threads
00:52 < NoPyGod> its thread synchronization that'll make u go crazy
00:53 -!- decriptor [n=decripto@53.250.sfcn.org] has quit [Read error: 113 (No
route to host)]
00:53 -!- dddd [n=none@pool-71-190-187-50.nycmny.fios.verizon.net] has joined
#go-nuts
00:54 < sergio> so, I have two goroutines.  Can I kill one when the other
finishes?
00:54 -!- bjb [n=bobby@cpe-065-184-253-213.ec.res.rr.com] has quit []
00:55 < lifeless> Amaranth: and you?
00:55 < Amaranth> lifeless: same really, just toying around with the http
module
00:55 < lifeless> Amaranth: server or client?
00:55 < Amaranth> lifeless: both, actually
00:56 < reubens> is there no way to do static casting?
00:57 < lifeless> reubens: no, its not a safe concept
00:57 < lifeless> reubens: but its also not needed
00:58 < reubens> why isn't it needed
00:58 < voluspa> What's the alternative, just int(), int64(), etc.?
00:59 < voluspa> I guess I'm talking about numerical expressions, not more
complicated things like string,s etc.
00:59 < lifeless> reubens: interfaces allow more generic code, and you can
do type assertions
01:00 -!- hipe [n=hipe@pool-173-52-247-199.nycmny.east.verizon.net] has joined
#go-nuts
01:00 < fracture> but doesn't using interfaces to convert between numeric
types seems like unacceptable overhead...?
01:00 < lifeless> voluspa: hmm, well - I'm no expert on go :P - but I'd make
temporary variables if I really needed to convert
01:00 < fracture> I'd imagine that induces some virtual function calls or
something in the implementation
01:00 < JBeshir> fracture: Go does not have virtual function calls.
01:01 < dddd> Does anyone know how to set a timeout on net.Dial()?  I notice
that I can set read/write timeouts via Conn methods, but nothing for dial.
01:01 -!- andresambrois [n=aa@r190-135-156-107.dialup.adsl.anteldata.net.uy] has
quit [Read error: 104 (Connection reset by peer)]
01:01 < fracture> JBeshir: I'm using C++ terminology for what happens at the
hardware level
01:01 < fracture> JBeshir: as in, a call through a poitner to a function
(wow, more C terminology)
01:02 < reubens> lifeless: okay, i guess i was just trying to force generics
into a language that doesn't support them.  interfaces don't seem like quite
enough and i'm kind of turned off by doing at runtime what could be done
statically
01:02 < lifeless> reubens: have you watched the tech talk video?
01:02 < reubens> yes
01:03 < lifeless> generics are mentioned there, as desired but not done
01:03 < JBeshir> reubens: How can it be done statically?
01:03 < JBeshir> Even static casts do stuff at runtime, it's just fixed
stuff.
01:03 < reubens> okay that's a good point
01:03 < fracture> static casts do not necessarily do stuff at runtime
01:03 -!- joeedh is now known as joeedh_store
01:03 -!- shambler_ [i=kingrat@mm-14-192-84-93.dynamic.pppoe.mgts.by] has joined
#go-nuts
01:03 < reubens> well what i was trying to do would actually still be doing
stuff at runtime so JBesh's point is made :D
01:04 < fracture> what are you trying to do?
01:04 < Ycros> the built-in map type is already using generics
01:04 < Ycros> just that we can't use them for our own types :(
01:04 -!- gpciceri [n=gpciceri@host11-117-dynamic.41-79-r.retail.telecomitalia.it]
has left #go-nuts []
01:04 < Gracenotes> okay..  so it's possible to send a SIGKILL from a
goroutine..  now to structure it so everyone else knows what the hell is going on
01:05 < NoPyGod> anyone here really experienced with threading?
01:05 < NoPyGod> not in go, but in general
01:05 < NoPyGod> specifically, .net
01:05 < lifeless> I wrote some of cygwins' pthread implementation, for my
sins
01:05 -!- JoePeck [n=JoePeck@cpe-74-69-85-249.rochester.res.rr.com] has quit [Read
error: 54 (Connection reset by peer)]
01:05 < lifeless> so, yes.
01:05 -!- JoePeck_ [n=JoePeck@cpe-74-69-85-249.rochester.res.rr.com] has joined
#go-nuts
01:05 < reubens> fracture: well, i tried to do an interface Value that
implemented Plus(right *Value) *Value, then i was going to do a type Int, and a
type Str etc, that implemented Plus(right *Int) *Int and Plus(right *Str) *Str etc
01:06 < lifeless> though if you have a .Net implementation #.net or
something may be more useful to you
01:06 < Ycros> NoPyGod: I've done threading in .net before, but I'm not sure
if I qualify as "really experienced"
01:06 < NoPyGod> ;p
01:06 < reubens> but i realized that this doesn't fit the interface
01:06 -!- dddd [n=none@pool-71-190-187-50.nycmny.fios.verizon.net] has left
#go-nuts []
01:06 -!- rhinehart [n=charles@97-116-173-127.mpls.qwest.net] has joined #go-nuts
01:06 < NoPyGod> i understand it all
01:06 -!- andresambrois [n=aa@r190-135-154-178.dialup.adsl.anteldata.net.uy] has
joined #go-nuts
01:06 < NoPyGod> but i have a problem grasping synchronization
01:06 < lifeless> reubens: I think its perhaps not idiomatic go
01:06 < reubens> so then i was going to implement Plus(right *Value) *Int,
and Plus(right *Str) *Str, and check types in those methods
01:06 < NoPyGod> i am building a rather complex messenger client
01:07 < lifeless> NoPyGod: have you read http://golang.org/doc/go_mem.html ?
01:07 < reubens> lifeless: i have no question i'm not writing idiomatic go
yet :D
01:07 < NoPyGod> no i have not
01:07 < fracture> but the goal is to try to add two things whos dynamic type
is not known?
01:07 < NoPyGod> i will check it out, looks interesting
01:07 < Ycros> NoPyGod: synchronisation in go or in .net (if the latter, why
are you asking about it in here?)
01:07 < lifeless> NoPyGod: it should help you
01:07 < NoPyGod> right now, in .net
01:07 -!- Fraeon [n=kzer-za@e212-246-65-153.elisa-laajakaista.fi] has quit [Read
error: 104 (Connection reset by peer)]
01:08 < NoPyGod> but if i could figure this shit out in .net, i like to
think i could port my works to go
01:08 < lifeless> in go, not in .net ;) .net has different rules
01:08 < NoPyGod> ;p
01:08 -!- evilhackerdude [n=stephan@e181105168.adsl.alicedsl.de] has joined
#go-nuts
01:08 -!- evilhackerdude is now known as Guest73780
01:08 < reubens> fracture: well, no.  i actually didn't want you to be able
to add Int and Str, i wanted to force both types to be the same
01:08 < lifeless> however, I don't think you need to understand .net to
understand go's memory model and that will let you know if what you are writing is
safe on go
01:08 -!- shambler [i=kingrat@mm-195-161-84-93.dynamic.pppoe.mgts.by] has quit
[Read error: 60 (Operation timed out)]
01:08 -!- ajray [n=alex@wvc32563rh.rh.ncsu.edu] has joined #go-nuts
01:09 < NoPyGod> im reading it now
01:09 < NoPyGod> bbs
01:09 < lifeless> AFK for a few hours :P
01:10 < fracture> reubens: ah I see what you're doing; got me curious how
you're supposed to do that now...
01:10 < NoPyGod> i should just do this project in go
01:10 < NoPyGod> the library has everything i need
01:10 < NoPyGod> :p
01:10 -!- Fermat [n=none@LINERVA.MIT.EDU] has left #go-nuts []
01:11 < ajray> is there a go idiomatic way to read '\r\n' delimited lines
from a Reader?
01:11 < NoPyGod> u mean like ReadLine ?
01:11 < ajray> other than 1) reading to a buffer until you hit '\n'
01:11 < ajray> or 2) using regexp's
01:11 < NoPyGod> i would go with 1
01:11 < ajray> NoPyGod: maybe
01:11 < NoPyGod> but im no Go expert
01:11 < ajray> NoPyGod: whats ReadLine in?
01:11 < Amaranth> hmm, http.Conn.SetHeader doesn't seem to be working
01:12 < Ycros> NoPyGod: best way to learn something is to use it :)
01:12 < NoPyGod> yes
01:12 -!- wobsite [n=wobsite_@68-189-250-56.static.oxfr.ma.charter.com] has quit
["Leaving"]
01:13 -!- Ibw [n=isaac@cpe-67-241-42-134.twcny.res.rr.com] has quit [Read error:
60 (Operation timed out)]
01:13 -!- Ibw [n=isaac@cpe-67-241-42-134.twcny.res.rr.com] has joined #go-nuts
01:13 < scandal> there is bufio.ReadString(delim byte) but no ReadLine per
se
01:14 < ajray> scandal: thanks.
01:14 -!- Jan_Flanders [n=chatzill@d54C1E33B.access.telenet.be] has quit
["Chatzilla 0.9.75.1 [SeaMonkey 1.1.18/2009082513]"]
01:14 -!- recover [i=recover@ip21278.lbinternet.se] has quit [Read error: 110
(Connection timed out)]
01:15 < ajray> scandal: i'm working on a tcp connection, can i use that as
the reader
01:15 -!- x-ip [n=sakura@unaffiliated/x-ip] has quit [Read error: 113 (No route to
host)]
01:16 < scandal> as an excercise, i wrote a ReadLines() function that
returns an iterator so that you can do a python-like for x in open('filename'):
http://codepad.org/WqlLpZjm
01:16 < NoPyGod> queston -
01:17 < NoPyGod> when go is able to run on windows, will a go socket be
using wsock apis?
01:17 < Amaranth> Oh, I need to make all my calls to SetHeader _before_
WriteHeader, duh :P
01:17 < NoPyGod> it may be a dumb question..
01:17 < Amaranth> That explains why the "set the status code" function is
named that
01:17 < scandal> NoPyGod: i think you'd have to ask the implementors
01:18 < scandal> (of the win port)
01:18 -!- shambler_ [i=kingrat@mm-14-192-84-93.dynamic.pppoe.mgts.by] has quit
["What you have been is not on boats."]
01:18 < trost> scandal, why do you send on the channel before checking the
error?
01:18 < NoPyGod> yes
01:18 -!- Manish [n=chatzill@c-67-189-144-6.hsd1.ma.comcast.net] has joined
#go-nuts
01:18 -!- zamnedix [i=zamnedix@otaku.freeshell.org] has joined #go-nuts
01:18 < scandal> trost: in case there is not a newline terminating the last
line of the input, it will return the partial string
01:19 < zamnedix> So, what are the advantages of Go over Python?
01:19 < NoPyGod> completely different ballgame zamnedix
01:19 < zamnedix> Meaning they can't be compared very easily?
01:19 < NoPyGod> python is slow as hell, for a start, but that's not even
the point
01:19 < trost> zamnedix: for starters, faster execution and compile-time
type checking
01:19 < NoPyGod> python is a scripting language
01:19 -!- jse [i=b5wg95pV@grievf.nihilismi.org] has joined #go-nuts
01:20 < NoPyGod> go is a systems language..  lower level
01:20 -!- siam [n=siam@unaffiliated/siam] has left #go-nuts []
01:20 < ajray> interpreted, not compiled
01:20 < trost> "scripts are what you give the actors, programs what you give
the audience"
01:20 < zamnedix> Yeah I know that much
01:20 < ajray> also python has concurrency issues (thanks to the GIL)
01:20 < NoPyGod> yes, python is terrible for threading
01:20 < ajray> wanna hear a joke?
01:20 -!- sm [n=sm@cpe-76-173-194-242.socal.res.rr.com] has quit [" "]
01:20 < ajray> "multithreaded python?
01:20 < ajray> "*
01:20 < aho> <NoPyGod> python is slow as hell, [...] <- that's an
understatement
01:20 < zamnedix> Ok, thankyou guys
01:20 -!- raichoo [n=raichoo@e181231161.adsl.alicedsl.de] has joined #go-nuts
01:20 < trost> Ok, let's be nice
01:20 < ajray> zamnedix: it doesnt have to be slow tho
01:21 -!- zamnedix [i=zamnedix@otaku.freeshell.org] has quit [Client Quit]
01:21 < ajray> theres a TON of third party additions to make it faster, from
psyco to unladen-swallow
01:21 < trost> See, now you've made him mad!
01:21 < aho> if you do some number crunching it's even slower than ie6's js
engine...  that's really impressive
01:21 < aho> in a bad way
01:21 < ajray> aho: also thats if you're using mutables for everything
(lists/dicts) :-P
01:21 < JBeshir> Go is clearer with its types and harder to make bad coding
errors in
01:22 < NoPyGod> if python could be made to run faster, with
unladen-swallow..  it would be really awesome
01:22 < bthomson> if you want fast scripting use javascript or something
01:22 < JBeshir> And according to the shootout, three times as fast or more
for most operations at this really early days.
01:22 < aho> ye, v8 is great
01:22 * trost thought this was #go-nuts
01:22 < Ycros> NoPyGod: it'd be nice if stackless python was merged into
mainline too
01:22 * NoPyGod is going nuts
01:22 < NoPyGod> duno what that is, i've never seen that
01:23 < bthomson> i'm cuckoo for cocoa puffs!
01:23 < Ycros> NoPyGod: it gives you concurrency similar to what go has
01:23 < JoNaZ> how do i check if an array element tmp[1] "is set"?
01:23 < JBeshir> Go is also three times or better faster than JS with V8
most of the time.
01:23 -!- ni| [n=james@isp2-resnet-nat1.union.edu] has quit [Nick collision from
services.]
01:23 < JBeshir> According to the shootout.
01:23 -!- slicslak_ [n=slicslac@c-68-50-207-133.hsd1.dc.comcast.net] has joined
#go-nuts
01:23 -!- madhatter09 [n=wvicente@189-69-110-237.dsl.telesp.net.br] has quit
["using sirc version 2.211+KSIRC/1.3.12"]
01:23 -!- ni| [n=james@isp2-resnet-nat1.union.edu] has joined #go-nuts
01:24 < Amaranth> ah, the problem was I was copying over the Host header
then it was getting generated twice which apparently confuses apache so it kept
trying to redirect me back to the page I was just on
01:24 -!- ni| [n=james@isp2-resnet-nat1.union.edu] has quit [Nick collision from
services.]
01:24 < NoPyGod> lol ;p
01:24 -!- Gracenotes [n=person@wikipedia/Gracenotes] has quit [Remote closed the
connection]
01:25 -!- lenst [n=user@90-229-131-67-no52.tbcn.telia.com] has quit [Remote closed
the connection]
01:25 < bthomson> yeh, go's speed would be hard to beat, no doubt abt it
01:25 -!- al-maisan [n=al-maisa@66.226.254.15] has joined #go-nuts
01:25 < NoPyGod> how does google manage to keep this stuff under wraps
01:25 < NoPyGod> until the day they preview it
01:25 < NoPyGod> same deal with google wave
01:25 < Ycros> go's not doing so well in the quad core benchmarks
01:25 < NoPyGod> nobody seemed to know about it until it was officially
previewed
01:26 < JBeshir> NoPyGod: Space lazers.
01:26 -!- shambler [n=kingrat@mm-55-160-84-93.dynamic.pppoe.mgts.by] has joined
#go-nuts
01:26 < JBeshir> That's my theory.
01:26 < NoPyGod> :P
01:26 < scandal> Ycros: link?
01:26 < Ycros> scandal:
http://shootout.alioth.debian.org/u64q/benchmark.php?test=pidigits&lang=all
01:26 < scandal> gracias
01:26 < Ycros> okay in that benchmark anyway
01:27 -!- mbarkhau [n=koloss@p54A7D2C0.dip.t-dialin.net] has joined #go-nuts
01:27 < scandal> hrm, it says 100% cpu in one thread.  that doesn't look
very parallelized :)
01:27 < mpl> NoPyGod: well, they're kindof the specialist of information on
the web, aren't they?
01:27 < bthomson> why are 3 of the cpu loads 0 if its a quadcore benchmark
01:27 < Ycros> scandal: aye
01:27 -!- deltaphc [n=delta@adsl-76-245-62-83.dsl.lsan03.sbcglobal.net] has joined
#go-nuts
01:28 < scandal> huh, the haskell one is that way as well
01:28 < Ycros> someone probably needs to GOMAXPROCS it
01:28 -!- mkanat [n=mkanat@c-67-188-1-39.hsd1.ca.comcast.net] has joined #go-nuts
01:28 -!- go__ [n=goloo@host159-202-dynamic.32-79-r.retail.telecomitalia.it] has
quit ["Ex-Chat"]
01:28 -!- Koen_ [n=Miranda@83.101.24.153] has quit ["Miranda IM! Smaller, Faster,
Easier.  http://miranda-im.org"]
01:28 < Ibw> What was the URL of the postgre binding?
01:28 < Ycros> scandal: and yet the haskell one is at the top
01:28 < scandal> Ycros: very interesting indeed
01:28 -!- ni|_ [n=james@149.106.224.20] has joined #go-nuts
01:29 < fejes> is there a postgresql binding?
01:29 -!- Kniht [n=kniht@68.58.17.177] has quit [Connection timed out]
01:29 < fejes> I didn't see one.
01:29 < Ycros> scandal: ah, but if you look at the code - it hasn't been
parallelised
01:29 < bthomson> is there something like from x import * for go
01:29 < Ycros> there is a postgresql binding, but the docs/website are all
in japanese
01:30 < ajray> scandal: thx for the tip.  Made a bufio.Reader of a
net.TCPConn and just did ReadString('\n')
01:30 < JBeshir> I'll be interested in seeing how Go works when it's been
optimised a bunch; whether it can hit its 10-20% slower than C goal.
01:30 < scandal> ajray: cool
01:30 < Ycros> postgresql bindings:
http://d.hatena.ne.jp/oibore/20091114/1258191288
01:30 < scandal> Ycros: even more interesting is that the top *several*
performers were also single threaded
01:30 -!- thedevel [n=thedevel@pool-72-78-219-199.phlapa.fios.verizon.net] has
joined #go-nuts
01:30 < ajray> scandal: for an IRC bot, cause i'm suck on the PostgreS stuff
01:30 < bthomson> or is this considered too evil to contemplate
01:30 < ajray> Ycros: o.O
01:31 < fejes> thanks
01:31 < soul9> weird, none of them look actually parallelized
01:31 < trost> Yeah, cool Java can do on 4 processors what Lua can do on one
01:31 < soul9> exxcept one or two
01:31 < scandal> bthomson: import . fmt
01:31 < ajray> Ycros: i actually was working on that myself
01:31 < scandal> or rather, import . "fmt"
01:31 < ajray> shoulda known i would be beat out
01:31 < scandal> trost: lol
01:31 < Ycros> ajray: well, feel free to collaborate with the japanese guy
on github :P
01:31 < bthomson> scandal: hmm thx
01:32 < ajray> Ycros: i may try.  three people i live with speak Japanese...
but i dont.
01:32 < soul9> trost: with the memory footprint and almost maxing out all of
the procs, yes
01:32 < soul9> lol
01:32 < Ycros> bthomson: yeah, but you shouldn't use it
01:32 < bthomson> Ycros: i just wrote some dump stuff like sum and map for a
utils package so i can pretend its python
01:33 < ajray> bthomson: if you wanna save letters you can to: import f
"fmt";
01:33 -!- loureiro [n=loureiro@201008201127.user.veloxzone.com.br] has quit [Read
error: 110 (Connection timed out)]
01:33 < Ibw> What exactly does import "C" do?
01:33 < scandal> bthomson: have you looked at "exp/iterable" ?
01:33 -!- Gracenotes [n=person@wikipedia/Gracenotes] has joined #go-nuts
01:33 < bthomson> hmm ajray this is interestng
01:34 < scandal> Ibw: allows you to invoke functions in C libraries
01:34 -!- trost [n=trost@pool-96-225-223-137.ptldor.fios.verizon.net] has quit
["Leaving"]
01:34 < Ycros> bthomson: map is in the iterable package
01:34 < bthomson> scandal: oops i, missed that one
01:34 < Ibw> scandal: I thought that was the case already.  I'd like to know
more about how exactly to use it though.  Is there a page on the golang.org
website that discusses this?  I certainly can't find it
01:34 -!- trost [n=trost@pool-96-225-223-137.ptldor.fios.verizon.net] has joined
#go-nuts
01:35 -!- jse [i=b5wg95pV@grievf.nihilismi.org] has left #go-nuts []
01:35 < Ycros> bthomson: yeah, what scandal said
01:35 < scandal> Ibw: nope, you just have to look at the examples in
misc/cgo/
01:35 < Ycros> Ibw: it's used with the cgo tool
01:35 < ajray> Ycros: the japanese one is just a wrapper of the C library.
i was working on one in Go :-) different solutions
01:35 < trost> Btw, looking at the spec, "m[k] = _, false" does indeed
delete from map m the value with key k
01:35 -!- Manish_Maheshwar [n=chatzill@c-67-189-144-6.hsd1.ma.comcast.net] has
quit [Read error: 110 (Connection timed out)]
01:35 < Ycros> Ibw: while cgo files ARE syntatically valid go, they need to
be preprocessed by cgo before they get compiled
01:35 < ajray> PostgreSQL spec comes with the spec for the TCP protocol,
which i was using
01:35 < Ycros> ajray: uh?
01:35 < Ibw> scandal: Fantastic.  That was my second question: are there any
sources with examples
01:36 < ajray> so i was writing it all in go
01:36 < Ycros> ajray: yeah, but interfacing directly with the TCP protocol
sounds horrible
01:36 < scandal> Ycros: have you played with cgo yet?
01:36 < Ycros> ajray: I'd rather bind against the official C libraries
01:36 < ajray> the net package makes it really clean
01:36 < Ibw> Ycros: Alright, thanks.  Now I have some info to set me on my
way
01:36 < ajray> Ycros: in the long run might not be a bad idea
01:36 < Ycros> scandal: no, not yet, though I'm thinking of binding
something
01:36 < ajray> i'll definitely check it out
01:36 < scandal> Ycros: i did a quick readline wrapper, but i'm not sure if
its correct yet.  lack of info :(
01:37 < ajray> Ycros: it was more of an exericise than anything else; learn
the net packages and sending stuff over tcp (byte packing etc)
01:37 < Ycros> scandal: if it works, then it's probably correct :P
01:37 < scandal> "works for me" SHIP IT
01:37 < Ycros> hehe
01:37 -!- keithpoole [n=keithpoo@cpc3-bagu8-0-0-cust84.bagu.cable.ntl.com] has
quit []
01:38 < Ibw> ajray: Are you the one with the japanese website and Postgre
bindings?
01:39 -!- thedevel [n=thedevel@pool-72-78-219-199.phlapa.fios.verizon.net] has
quit []
01:39 < gnuvince> Does Go have an if expression?
01:39 < bthomson> lol
01:39 < JoNaZ> how do i check if an array element tmp[1] "is set"?
01:39 * Amaranth really wishes for a do while loop
01:39 < scandal> gnuvince: nope, only statement i believe
01:39 < nsz> JoNaZ: len
01:39 < gnuvince> scandal: thank you.
01:39 < scandal> no ternary op either
01:39 < JoNaZ> nsz: tried that..  still gives me throw: index out of range
:(
01:40 < nsz> index < len(array)
01:40 < nsz> ..&& index >= 0
01:40 < JoNaZ> okeey ..  ill try that
01:41 < trost> map[bool]{func, func) would let you fake a ternary operator
01:41 < trost> map[bool]{func, func} would let you fake a ternary operator
01:41 < ajray> lol.  i like it.
01:42 -!- joeedh_store is now known as joeedh
01:42 < ajray> Ibw: no thats not me.  i'm american and dont speak a word of
japanese.  my impl is on github too tho (ajray/go-play.git)
01:42 -!- MvdS [n=moshe@83.119.164.251] has quit ["Leaving"]
01:43 -!- mbarkhau [n=koloss@p54A7D2C0.dip.t-dialin.net] has left #go-nuts []
01:43 < s_mosher> trost, why two funcs?  you only really need one, right?
01:43 < trost> one for the truthy, one for the falsy
01:43 < s_mosher> right, but that's just two entries, isn't it?
01:44 < s_mosher> map[false] and map[true]
01:44 -!- ni|_ [n=james@149.106.224.20] has left #go-nuts []
01:44 < trost> map[true] = func() {return TrueGoodness}; map[false] = func()
{return FalseBadness}
01:44 < trost> oh, sorry, yeah
01:45 -!- Ibw [n=isaac@cpe-67-241-42-134.twcny.res.rr.com] has quit [Remote closed
the connection]
01:45 -!- Ibw [n=isaac@cpe-67-241-42-134.twcny.res.rr.com] has joined #go-nuts
01:45 -!- niterain [n=niterain@c-76-108-29-82.hsd1.fl.comcast.net] has quit
[Remote closed the connection]
01:45 -!- garslo [n=user@adsl-76-235-178-76.dsl.klmzmi.sbcglobal.net] has left
#go-nuts ["ERC Version 5.3 (IRC client for Emacs)"]
01:46 -!- mbarkhau [n=koloss@p54A7D2C0.dip.t-dialin.net] has joined #go-nuts
01:46 < s_mosher> there was a convoluted one with closures posted on the
mailing list
01:46 -!- zerofluid [n=zeroflui@ip68-227-10-141.lv.lv.cox.net] has joined #go-nuts
01:46 -!- elmar [n=elmar@dslb-094-219-213-184.pools.arcor-ip.net] has quit
["Leaving"]
01:46 < Amaranth> hmm, ReadAtLeast doesn't seem to do what I'd hoped :/
01:47 -!- Guest73780 [n=stephan@e181105168.adsl.alicedsl.de] has quit [No route to
host]
01:47 -!- hans_stimer [n=marty@c-98-234-25-125.hsd1.ca.comcast.net] has joined
#go-nuts
01:48 -!- ni| [n=ni|_pre@c-24-34-220-147.hsd1.ma.comcast.net] has joined #go-nuts
01:48 < fracture> anyone know if google plans to make Go an open standard?
01:48 < ajray> fracture: its open source
01:48 < ajray> would that encourage more implementations?
01:49 < fracture> open source is something else
01:49 < aho> it needs to stabilize a bit more, i guess
01:49 < fracture> that would make sense
01:49 < fracture> but perhaps after a year or two...
01:49 < bogen> yeah, I think quite a few needs to get ironed out first
01:49 < fracture> it would be nicer than if google has complete control over
it
01:50 < Amaranth> fracture: heh
01:50 < Amaranth> fracture: C# is an open standard and look at who has total
control over it ;)
01:50 -!- ajbentley [n=bentley@71-38-215-103.albq.qwest.net] has quit [Read error:
60 (Operation timed out)]
01:50 -!- al-maisan [n=al-maisa@66.226.254.15] has left #go-nuts ["Parting is
tough.."]
01:50 -!- bentley` [n=bentley`@97-119-172-118.albq.qwest.net] has joined #go-nuts
01:50 < fracture> Amaranth: point.
01:50 -!- hans_stimer [n=marty@c-98-234-25-125.hsd1.ca.comcast.net] has quit
[Client Quit]
01:50 -!- hans_stimer [n=marty@c-98-234-25-125.hsd1.ca.comcast.net] has joined
#go-nuts
01:51 < ajray> fracture: with the rate things are going now, i'm not too
worried about go's future :-P
01:52 < bogen> well, I don't think anyone wants to push it that hard with
alternate C# implementations as it is.  Many are leary about mono as it is out of
fear.
01:52 < engla> found a bug in Go. (not that hard perhaps).  bytes.Map maps
twice..  I was really confused when rot13 turned cleartext to cleartext..
01:52 < kongtomorrow> fracture: that doesn't seem that interesting to me.  I
wouldn't say google has total control over it, I'd say the five authors have total
control over it, and if you don't like what they're doing you fork.
01:53 -!- voluspa [n=rwp@x-134-84-102-227.reshalls.umn.edu] has quit ["Leaving"]
01:53 < bogen> ajray: Not too worried?  Yeah, all the activity can't be all
"hype"...  at least one can hope....
01:53 < ajray> engla: are you running the latest version (hg pull -u)?
01:53 < engla> ajray: aw crap.  no I'm not; hg is not on the machine I can
work with go on
01:54 < fejes> when running ./all.bash, the make fails trying lookup
codesearch.google.com
01:54 < engla> I scanned the recent changes before filing the bug though
01:54 < ajray> bogen: that 'hype' has littered everywhere with 'i made this
interface in go to do fun shit as an exercise' like the PostgreSQL connenctions
01:54 < fracture> kongtomorrow: it's not really an issue currently, but
forking isn't a very nice solution
01:54 -!- qbit_ [n=qbit_@75.71.160.106] has joined #go-nuts
01:54 < kongtomorrow> fracture: but unless there are other implementations,
there's no point in a standards body.
01:55 < ajray> fracture: if they were using git forking/branching would be
cleaner and neater :-P
01:55 < engla> ajray: the bug is still there, that file was not changed last
4 days
01:55 < fracture> kongtomorrow: right; not an issue yet
01:55 < fracture> ajray: ...  ?
01:55 < Ycros> fracture: python does just fine without being some sort of
"standard"
01:55 < fracture> actually python has problems with exactly this
01:55 < ajray> fracture: oh.  like a whole separate implementation?
01:55 < fracture> I recall reading a couple years ago about controversy over
guido wanting to reove the lambda feature
01:55 < ajray> not minor changes to this one (like: add a 'nullable'
operator)
01:55 < limec0c0nut> fejes: Try running just ./make.bash
01:56 < fejes> limec0c0nut: Thank you.
01:56 < kongtomorrow> fracture: I mean, if the goal is to influence the
google implementation, you need to convince its authors.  a standards body does
not help.  a standards body is only a useful entity when there is more than one
implementation.
01:56 < ajray> engla: good to know.  thanks
01:56 < Ycros> fracture: I look at the various successful implementations of
python, and I don't see the problems
01:56 < hans_stimer> exit
01:56 < hans_stimer> /exit
01:56 -!- al-maisan [n=al-maisa@66.226.254.15] has joined #go-nuts
01:56 < fracture> kongtomorrow: I agreed with that already---there's no need
for standardization now for a long time
01:56 < aho> hans_stimer, /quit ? ;>
01:57 < limec0c0nut> hans_stimer: I believe you're looking for /quit :)
01:57 < ajray> hans_stimer: /window close
01:57 -!- al-maisan [n=al-maisa@66.226.254.15] has left #go-nuts ["Parting is
tough.."]
01:57 < engla> ajray: you want an explanation of the bug?
01:57 -!- hans_stimer [n=marty@c-98-234-25-125.hsd1.ca.comcast.net] has quit
["WeeChat 0.3.0"]
01:57 < kongtomorrow> okay.  I also don't know why you'd care if it ever got
standardized, unless the goal is alternate implementations.
01:57 < limec0c0nut> hans_timer: Cut circuit breaker.
01:57 -!- hans_stimer [n=hans@c-98-234-25-125.hsd1.ca.comcast.net] has joined
#go-nuts
01:57 < aho> heh
01:57 < ajray> engla: i'm not that far into the source to fully grok it.
important to know if i was using that function though
01:57 < Ycros> hans_stimer: welcome back
01:58 < fracture> Ycros: I'm not an expert with python, but I have heard
people complain about hte way the language is controlled
01:58 < ajray> kongtomorrow: unless the 'other implementation' was a
completely separate one for windows
01:58 < Ycros> fracture: they're free to fork it though.  But the fact is
that there are several popular implementations that still stack the main language
01:58 < fracture> kongtomorrow: presumably if Go catches on to any
significant degree there will eventually be more than one compiler
01:59 < amro> how do I convert string to []byte?
01:59 < kongtomorrow> ajray: there could be a point there, but that's
probably best handled by making the current single source more platform
independent
01:59 < Ycros> fracture: s/stack/track/
01:59 < fracture> Ycros: forking the interpreter is sorta irrelevant to this
issue...
01:59 < Ycros> fracture: they can fork the language and write their own
implementation
01:59 -!- ni| [n=ni|_pre@c-24-34-220-147.hsd1.ma.comcast.net] has quit [Read
error: 54 (Connection reset by peer)]
01:59 -!- ni| [n=ni|@c-24-34-220-147.hsd1.ma.comcast.net] has joined #go-nuts
02:00 < fracture> true, but it would not be canonical
02:00 < scandal> amro: strings.Bytes()
02:01 < fracture> but the things I've heard people complain about in that
world have mostly been about backward-compat breaking changes anyway
02:01 < fracture> in particular if you are trying to develop library code
that's pretty annoying
02:02 < Ycros> fracture: people always complain about backwards-compat
changes - but there comes a point where they're necessary - and python has good
policies around when and how they happen
02:02 * trost joins the channel py-nuts
02:03 < limec0c0nut> Ycros: Yeah, didn't they only break it with the 3.0
change?
02:03 < bogen> well, someone might want to make a go-llvm
02:03 -!- homovitruvius [n=maurizio@pool-72-95-253-175.pitbpa.east.verizon.net]
has joined #go-nuts
02:03 < Ycros> limec0c0nut: indeed
02:03 < fracture> Ycros: what ever happened to that lambda issue, by the
way?  did they leave it in?
02:03 < bogen> or a go-parrot
02:03 < Ycros> fracture: it's still there
02:03 -!- toumbia [n=toumbia@216.144.118.20] has quit ["Lost terminal"]
02:03 < fracture> Good.  ;)
02:03 < limec0c0nut> bogen: Or a go-z80.
02:03 < bogen> :)
02:03 < fracture> (the rationale I heard for why they were wanting to remove
it sounded bloody stupid)
02:03 < amro> scandal: thanks
02:04 < Ycros> fracture: well, I don't think it's strictly needed.  A
multi-line block sort of construct would be better - the syntax around it is hard
though
02:04 < bogen> go-megaavr
02:04 < fracture> Ycros: I'm sure there's lots of things that could be
better, but it's there, code depends on it, and it works well enough, right?
02:05 -!- trost [n=trost@pool-96-225-223-137.ptldor.fios.verizon.net] has quit
["Leaving"]
02:06 < Ycros> I don't think "code depends on it" is a good enough reason
for not cleaning up the language though.  And certainly, they did a lot of
backwards breaking changes in 3.0
02:06 < Ycros> fracture: anyway, I'm not sure what standardisation would
gain anyone
02:07 < fracture> Ycros: well, it is if you want people to do large scale
development in the language...
02:07 < fracture> python is more of a scripting/rapid devel language anyway
02:07 < Ycros> people do large scale development in python
02:07 -!- delza [n=delza@d66-183-63-49.bchsia.telus.net] has joined #go-nuts
02:07 < fracture> but Go is apparently supposed to compete with things like
C and C++
02:08 < fracture> and in that case, I've worked on 20+ year old massive
codebases....  it would be unnacceptable if new compiler releases could break that
stuff
02:08 < limec0c0nut> fracture: I don't see what that has to do with
standardization.
02:08 -!- Null-A [n=jason@65-119-47-100.dia.static.qwest.net] has quit []
02:08 < limec0c0nut> fracture: New compiler releases break stuff all the
time.  Look at GCC.
02:08 < fracture> limec0c0nut: it's not really about standardization, you're
right
02:08 < fracture> limec0c0nut: ?
02:09 < limec0c0nut> fracture: It sounds like you'd be using an ancient
compiler for all that, anyway.
02:09 < fracture> nope
02:09 < fracture> I've worked on code that was 20 years old with modern
compilers, no problems
02:09 < limec0c0nut> fracture: I mean more the target arch than the code
itself.
02:09 < limec0c0nut> fracture: The 4.0 release of GCC deprecated several
architectures.
02:09 < Gracenotes> defer is turning out to be quite useful
02:10 -!- Null-A [n=jason@65-119-47-100.dia.static.qwest.net] has joined #go-nuts
02:10 < fracture> limec0c0nut: that's not the kind of breaking change I'm
talking about though
02:10 < Ycros> anyway, I think we've still got big changes that might happen
to Go (generics, exceptions?, non-nullable pointers)
02:10 < fracture> language changes and changes to supported architecutres
(obviously an implementation-specific thing anyway) are completely different
02:10 < fracture> Ycros: yeah.  it's going to be unstable for quite a while
anyway, so this is all sorta not relevant to it
02:10 -!- Popog [n=Adium@pool-71-121-200-233.sttlwa.dsl-w.verizon.net] has joined
#go-nuts
02:11 -!- rakd [n=rakd@219.117.252.7.static.zoot.jp] has quit ["See you..."]
02:11 -!- Ibw [n=isaac@cpe-67-241-42-134.twcny.res.rr.com] has quit [Remote closed
the connection]
02:11 < kongtomorrow> Gracenotes: where is 'defer' described?
02:12 -!- Ibw [n=isaac@cpe-67-241-42-134.twcny.res.rr.com] has joined #go-nuts
02:12 < Gracenotes> at the very bottom of the specs for statements:
http://golang.org/doc/go_spec.html#Defer_statements
02:12 -!- npe [n=npe@94-224-251-223.access.telenet.be] has quit []
02:12 < kongtomorrow> Gracenotes: thanks
02:13 < kongtomorrow> that is definitely cool.
02:13 < Gracenotes> sort of a way to deal with control flow with lots of
errors about, and cleanup associate with each
02:13 < Gracenotes> *associated
02:14 -!- yaroslav [n=yaroslav@ppp91-78-103-35.pppoe.mtu-net.ru] has joined
#go-nuts
02:15 -!- teedex [n=teedex@204.14.155.161] has joined #go-nuts
02:15 < kongtomorrow> gcc sort of has that with the cleanup attribute (
http://gcc.gnu.org/onlinedocs/gcc/Variable-Attributes.html ), but it isn't as
convenient.
02:16 -!- dschn [n=dschn@pool-70-19-224-19.bos.east.verizon.net] has quit [Read
error: 60 (Operation timed out)]
02:17 -!- Ibw [n=isaac@cpe-67-241-42-134.twcny.res.rr.com] has quit [Read error:
54 (Connection reset by peer)]
02:17 -!- Ibw [n=isaac@cpe-67-241-42-134.twcny.res.rr.com] has joined #go-nuts
02:17 -!- jeffhill [n=jeff@ip72-211-208-177.oc.oc.cox.net] has joined #go-nuts
02:17 < kongtomorrow> I wonder if the variables in the deferred statement
are evaluated immediately or at function return time
02:17 < kongtomorrow> oh, immediately, docs specify
02:17 -!- Popog [n=Adium@pool-71-121-200-233.sttlwa.dsl-w.verizon.net] has quit
["Leaving."]
02:18 -!- loureiro [n=loureiro@201008197117.user.veloxzone.com.br] has joined
#go-nuts
02:18 -!- SRabbelier [n=SRabbeli@ip138-114-211-87.adsl2.static.versatel.nl] has
quit ["Leaving."]
02:18 -!- Manish_ [n=chatzill@c-67-189-144-6.hsd1.ma.comcast.net] has joined
#go-nuts
02:19 < ajray> how do i convert an int to a string?
02:19 < scandal> strconv.Itoa()
02:19 -!- wm_eddie [n=wm_eddie@kanna.wm-eddie.info] has joined #go-nuts
02:19 < ajray> fmt.SPrintf?
02:19 < ajray> scandal: thx
02:20 < jeffhill> I think I've found and fixed a bug in the type assertions
in Go...  but I don't know the language well enough to be sure.  Will the code
review process make sure I don't check crud into Mercurial?
02:20 -!- hanse_ [n=hanse@93-82-1-43.adsl.highway.telekom.at] has quit [Remote
closed the connection]
02:23 -!- wobsite [n=wobsite_@68-189-250-56.static.oxfr.ma.charter.com] has joined
#go-nuts
02:23 < hans_stimer> how do you get a slice out of an array?  to get the
entire slice this works s = &a
02:24 < ajray> jeffhill: thats what its there for :-)
02:24 -!- gmurphy [n=gmurphy@203-206-248-145.dyn.iinet.net.au] has joined #go-nuts
02:24 < Eridius> a[1:5] gets you a slice
02:24 -!- rhinehart [n=charles@97-116-173-127.mpls.qwest.net] has left #go-nuts []
02:25 -!- hans_stimer [n=hans@c-98-234-25-125.hsd1.ca.comcast.net] has quit
["WeeChat 0.3.0"]
02:25 -!- hans_stimer [n=hans@c-98-234-25-125.hsd1.ca.comcast.net] has joined
#go-nuts
02:25 < jeffhill> ajray: Think I should submit a bug for the issue, so I've
something to reference in my commit, or just commit and hope for the best?
02:25 < hans_stimer> Thanks Eridius
02:26 < ajray> jeffhill: you read the contribute page?  submitting the patch
creates an issue
02:27 -!- dejones [n=donnie@cpe-24-28-73-216.austin.res.rr.com] has joined
#go-nuts
02:27 < ajray> its in a separate tracker from the google, but it's still
filed.
02:27 < limec0c0nut> jeffhill: What's the bug?
02:27 < ajray> if you file a bug, make sure you reference it in your message
02:28 < jeffhill> I didn't see anything about auto-creating a ticket in the
contribute pages..  but then again I didn't really *study* the page either.  I
won't bother filing it as a bug, then.
02:28 < scandal> ajray: are they using trac?
02:28 -!- ni| [n=ni|@c-24-34-220-147.hsd1.ma.comcast.net] has quit []
02:28 -!- ni| [n=ni|@c-24-34-220-147.hsd1.ma.comcast.net] has joined #go-nuts
02:28 < ajray> scandal: not that i can tell
02:28 -!- dschn [n=dschn@pool-70-19-224-19.bos.east.verizon.net] has joined
#go-nuts
02:28 < scandal> ah ok, that just sounds like what trac can do so i was
wondering
02:28 < ajray> jeffhill: they have a hg plugin that will create it for you
when you 'hg submit'
02:29 < ajray> just follow the directions :-)
02:29 < jeffhill> limec0c0nut: the bug is that members that take a T* this
pointer don't show up in reflection for T, but are callable just fine.  This
screws up Printf if you call it with a value, but define a func ( this *T)
String() string.
02:29 < ajray> make sure you reply or cc to rsc or r
02:30 -!- mbarkhau [n=koloss@p54A7D2C0.dip.t-dialin.net] has quit ["Leaving."]
02:30 -!- ring-zero [n=hotshot@117.199.139.109] has quit [Remote closed the
connection]
02:30 < jeffhill> I should just put in rsc@golang.org or r@golang.org as the
reviewer?
02:31 < ajray> either works ya
02:31 < ajray> or the google dev group
02:31 < ajray> golang-dev@ whatever the google groups domain is
02:31 < limec0c0nut> jeffhill: My understanding is that's by design.  You
defined a T* as a receiver, not a T. Therefore you can call (*T).func() but not
(T).func().
02:31 -!- Null-A [n=jason@65-119-47-100.dia.static.qwest.net] has quit []
02:31 < Gracenotes> hm.  is there a really short way of getting the maximum
of two integers?
02:31 < ajray> then they'll put that as a reply to the issue/path
02:31 < ajray> patch*
02:32 < ajray> Gracenotes: not in the math lib?
02:32 -!- Popog [n=Adium@pool-71-121-200-233.sttlwa.dsl-w.verizon.net] has joined
#go-nuts
02:32 < Gracenotes> no, it's too trivial to be in the math lib
02:32 < limec0c0nut> jeffhill: Vice versa is different.  T* gets all of T's
methods for free.
02:32 < hagna> maybe crypto
02:32 < limec0c0nut> jeffhill: Let me find it in the spec.
02:33 < jeffhill> limecoconut: Nope.  Defining *T as the receiver lets you
call the method via a T or a *T.  Same for defining T as the receiver.  This is
what 6g actually does today, it's just the reflection disagrees.
02:33 -!- chupish [i=182ed347@gateway/web/freenode/x-toaqwspzwhgkgoqh] has joined
#go-nuts
02:33 -!- tesseracter_ [n=tesserac@pool-96-236-115-143.spfdma.east.verizon.net]
has quit [Remote closed the connection]
02:33 < jeffhill> But this may be incorrect w.r.t the spec, so if I'm wrong
the bug I need to fix is that you can call the method at all.  ;)
02:34 < ajray> Gracenotes: i dont know
02:34 -!- gmurphy [n=gmurphy@203-206-248-145.dyn.iinet.net.au] has left #go-nuts
[]
02:34 -!- gmurphy [n=gmurphy@203-206-248-145.dyn.iinet.net.au] has joined #go-nuts
02:34 < ajray> :-( i might file that one as a feature request
02:34 -!- Null-A [n=jason@65-119-47-100.dia.static.qwest.net] has joined #go-nuts
02:35 < ajray> Gracenotes: http://golang.org/search?q=min
02:35 < ajray> seems like min is defined a bunch of places as a local func
02:35 -!- Manish [n=chatzill@c-67-189-144-6.hsd1.ma.comcast.net] has quit [Read
error: 110 (Connection timed out)]
02:36 < limec0c0nut> jeffhill: I'm gonna test this.
02:36 < Gracenotes> that, plus there's no ternary (probably also by design)
02:36 < hans_stimer> why does a := [10]int not work?
02:37 < scandal> hans_stimer: you are missing the initialize part {...}
02:37 < chupish> no literal
02:37 -!- __mikem [n=michaelm@USF-WiFi-ResHall-nat-209.resnet.usf.edu] has joined
#go-nuts
02:37 < __mikem> Hey
02:37 < hans_stimer> but shouldn't it create default values i.e.  0
02:37 < __mikem> How o I install go if I am on a mac?
02:38 < Rob_Russell> anyone know a reason http.ListenAndServe would only
listen on ipv6?
02:38 < chupish> the instructions are the same __mikem
02:38 < chupish> I had no issue with the standard 6g install
02:38 < scandal> hans_stimer: use [10]int{} for that
02:38 < jeffhill> limec0c0nut: Please do, let me know what you find.  I've
tested it, but I've only been hacking with Go for a day and any guidance is
helpful.
02:38 < __mikem> I am looking at the instructions right now, and they are
not that obvious
02:38 < __mikem> http://golang.org/doc/install.html#tmp_57
02:39 < Ibw> __mikem: They are the same for mac
02:39 < jeffhill> __mikem: There's no .pkg or disk image, if that's what
you're looking for.  You need to build from source.
02:40 < __mikem> jeffhill: i am not looking for .pkg or disk images.  I am
looking for the .tar.gz file or a source control check out url
02:40 < chupish> are you reading the doc?
02:40 < hans_stimer> when you declare var a [10]int you don't need an
initializer but you still have values so why does a := 10[int] require it?
02:40 < chupish> hg clone -r release https://go.googlecode.com/hg/ $GOROOT
02:40 < s_mosher> hans_stimer, it's a subtle nuance with the way automatic
declarations are done, basically you have have to imply the actual data (even if
it's empty)...  you don't need to do it if you declare it explicitly (var a =
[10]int)
02:41 < s_mosher> := is basically saying declare a type for the data I'm
giving you where [10]int is lacking any hint at the data
02:41 < jeffhill> __mikem: The hard part for me there (I'm on a Macbook Pro)
was getting Mercurial installed.  http://mercurial.selenic.com/wiki/Download
02:41 < __mikem> Mercurial?
02:41 < bogen> out = new ([nLines] string); // const initializer must be
constant
02:41 < bogen> hmm
02:42 < chupish> It's a VCS __mikem
02:42 < __mikem> oh
02:42 < Eridius> bogen: nLines can't be a variable
02:42 < chupish> you need Python 2.6
02:42 < Eridius> bogen: the size of the array is part of its type
02:42 < bogen> Eridius: ok
02:42 < bogen> hmm
02:42 < jeffhill> __mikem: Yeah, it's the source control they use.  Once you
get that working, it should be cake.
02:42 < hans_stimer> hmmm....  a := int[10] seems like a pretty strong hint
02:42 < bogen> yeah
02:43 < scandal> hans_stimer: [10]int is a type, not a literal.
02:43 -!- wobsite [n=wobsite_@68-189-250-56.static.oxfr.ma.charter.com] has quit
["Leaving"]
02:43 < __mikem> jeffhill: why can't they just provide a source tarbol?  :(
02:43 < chupish> exactly, no literal
02:43 < hans_stimer> oops, meant a := [10]int
02:43 < chupish> that's the "experimental" part __mikem
02:43 < s_mosher> hans_stimer, yeah, there's no data in that.  {} is where
the literal data comes from, even though it's empty, that plus the type info is
enough
02:43 < chupish> hans_stimer, you want just `var a = [10]int;`
02:43 < s_mosher> but the type info alone isn't enough
02:44 -!- yaroslav [n=yaroslav@ppp91-78-103-35.pppoe.mtu-net.ru] has quit []
02:44 < hans_stimer> just do a sudo port install mercurial and wait 10
mintues....
02:44 < chupish> is anyone else working on a generic data structure library?
02:44 < bogen> well, if I have function returns (out [] string)
02:44 < scandal> chupish: that's not valid.  var requires a tyep to be
specified
02:44 < jeffhill> __mikem: Yeah, that was my first thought too.  Maybe once
you've got it installed, you can roll a tarball?
02:44 < __mikem> well, I am comming from a c++ background, and I was just
hoping to play around with this language.
02:44 < bogen> how do I allocate the space for it?
02:45 -!- teedex [n=teedex@204.14.155.161] has quit [Remote closed the connection]
02:45 < Ycros> chupish: it'd be nice if we had generics
02:45 < __mikem> jeffhill: i am not even sure what the dependencies are as
opposed to what i need just to build the compiler
02:45 < scandal> bogen: you can either return a slice of a literal array, or
use make()
02:45 < bogen> ok
02:45 < jeffhill> __mikem: Are you on Snow Leopard?
02:45 < __mikem> yes
02:45 -!- ginkgo [n=ginkgo@chello084113198244.17.14.vie.surfer.at] has quit
["Leaving"]
02:46 -!- teedex [n=teedex@204.14.155.161] has joined #go-nuts
02:46 < bogen> scandal: Well, I'm just going to look at the source of
strings.Split for an example
02:46 < hans_stimer> i'm on snow leopard and it is working fine
02:46 < jeffhill> __mikem: Then it's easy.  Install Mercurial (from
here:http://mercurial.berkwood.com/).  Then you just need to set the environment
variables up and run a couple of commands to build it.  No dependencies beyond
mercurial and XCode.
02:47 < __mikem> okay
02:47 < __mikem> sounds easy enough
02:47 < hans_stimer> there is a textmate plugin
02:47 < Ibw> Does cgo support c++?
02:47 -!- ybits [n=ryan@c-68-46-83-85.hsd1.nj.comcast.net] has joined #go-nuts
02:47 < scandal> Ibw: not yet
02:47 < __mikem> assuming i can find the mac installer
02:47 < __mikem> whats cgo?
02:47 < scandal> __mikem: ffi for go
02:48 < Ibw> __mikem: cgo allows you to use C code in Go programms (for
bindings and such)
02:48 < __mikem> ffi?
02:48 < __mikem> oh
02:48 < Ibw> function pointers?
02:48 < scandal> Ibw: nope, callbacks not support either :(
02:48 < Ibw> argh
02:48 < Ibw> No idea who a GUI binding would work then
02:48 < __mikem> There is a lot of stuff that isn't supported :(
02:48 < chupish> ugh
02:49 < scandal> "experimental" :)
02:49 < __mikem> I kind of wish pointer arithmatic was supported, though I
guess slices sort of do the job well enough
02:49 < __mikem> I come from a C/C++ background
02:49 < Eridius> pointer arithmetic is dangerous
02:49 < Eridius> no new languages should include it
02:49 < uriel> callbacks suck
02:49 < __mikem> Eridius: if you don't know hwat you are doing its dangerous
02:50 < Eridius> __mikem: pointer arithmetic prevents the compiler from
being able to check your code for safety
02:50 < ybits> __mikem: it's provably dangerous :P
02:50 < chupish> you can have restricted pointer arith, ala Cyclone
02:50 -!- zilt [n=aking@74.210.120.119] has joined #go-nuts
02:50 < s_mosher> uriel, I like callbacks.  well I don't hate them.
02:50 < jeffhill> I'm just not smart enough to program with pointer
arithmetic, and I'm not ashamed to admit it.  ;)
02:50 < Ibw> Eridius: then don't do anything unsafe
02:50 < __mikem> Eridius: what Ibw just said
02:50 -!- ineol [n=hal@88.171.191.168] has quit []
02:51 < uriel> s_mosher: I guess that is because you are not used to
channels
02:51 < __mikem> jeffhill: yes, well atleast you admit it rather than sprea
FUD about it :P
02:51 -!- arieru [n=arieru@190.3.74.225] has joined #go-nuts
02:51 < uriel> callbacks are just a really awful to do async programing
02:51 < __mikem> ybits: lol
02:51 < kongtomorrow> I think the rationale in go is that allowing pointer
arithmetic limits the efficiency of the garbage collector
02:51 < Eridius> that too
02:51 < __mikem> oh well, at the very least, this seems like a wonderful
little community so if I do decide to learn this language i will have plenty of
support
02:51 < Ibw> GUI libraries pretty much rely on callbacks right?  Is there
any alternative way to write code for handling say "window is minimized" without
callbacks?
02:51 < limec0c0nut> jeffhill: I think I found cause of your bug.
02:52 < jeffhill> limec0c0nut: Oh?
02:52 < limec0c0nut> jeffhill: Although I don't think it's a bug.
02:52 -!- asmo_ [n=asmo@c-f6c5e055.1155-1-64736c11.cust.bredbandsbolaget.se] has
joined #go-nuts
02:52 < kongtomorrow> every block of memory is always reachable if you
allow arbitrary pointer arithmetic
02:52 < __mikem> kongtomorrow: technically, no it isn't.  Paged memory is
great like that
02:52 < arieru> Hello...  Can anyone tellme how to install emacs
customizations for go, in macos ? I can't find .emacs file, and I don't know how
to do it, in Library/Preferences.
02:52 < chupish> nah, it can be restricted to within the allocated space
02:53 < limec0c0nut> jeffhill: Functions that take a pointer as a receiver
can be called from the base, and functions that take the base as a receiver can be
called from a pointer.  It works both ways, essentially.
02:53 < __mikem> Okay, I got mercurial installed now what?
02:53 < limec0c0nut> jeffill: However,
02:53 -!- avila- [n=avila-@bl12-236-95.dsl.telepac.pt] has joined #go-nuts
02:53 < s_mosher> uriel, how would you replace them?
02:53 < uriel> s_mosher: use channels
02:53 < Ibw> Can anyone imagine how a GUI api might work without callbacks?
02:53 < s_mosher> I knew that was coming
02:54 -!- gmurphy [n=gmurphy@203-206-248-145.dyn.iinet.net.au] has left #go-nuts
[]
02:54 < chupish> channels plus defined event type
02:54 < Ibw> I certainly can't
02:54 -!- gmurphy [n=gmurphy@203-206-248-145.dyn.iinet.net.au] has joined #go-nuts
02:54 < jeffhill> __mikem: Set your environment variables GOROOT, GOOS,
GOARCH and GOBIN.  See http://golang.org/doc/install.html, the Environment
Variables section.
02:54 < s_mosher> Ibw, I've seen event polling loops used before
02:54 < uriel> Ibw: well, then take a look at how guis work in Inferno
02:54 < __mikem> Ibw: well, wxWidgets has a way to do it without callbacks,
though that method might use callbacks internally
02:54 < uriel> polling loops suck
02:54 < limec0c0nut> jeffhill: For the purposes of implementing an
interface, a function that takes a pointer as a receiver does not qualify the base
as having implemented that interface.
02:54 < s_mosher> uriel, I'll agree to that one
02:54 < s_mosher> I don't really mind callbacks though
02:55 < Ibw> s_mosher: Oh, that's fantastic.  That may be the only way for
GUIs to work in Go for now
02:55 < chupish> uriel, you don't really think that Limbo isn't looping to
hear back from the TK proc?  :D
02:55 -!- nets [n=nets@79.178.103.16] has quit [Read error: 145 (Connection timed
out)]
02:55 < __mikem> jeffhill: where does one find the .bashrc file on a mac?  I
know where it is on linux but not mac
02:55 < jeffhill> limec0c0nut: I understand that's how it works now in the
code.  I suspect that's a bug, though.  Simply changing the reflection code
appears to make it all work the way I'd expect.
02:55 < uriel> Ibw: you might want to look at this lecture by (no other
than) russ cox: http://mirror.cat-v.org/iwp9/2007/videos/IWP9-Cox.mov
02:55 < Ibw> Thanks uriel
02:55 < Ibw> cat-v is your website, right?
02:56 * uriel should make that accessible in a more friendly format somehow..
02:56 < uriel> Ibw: for the most part, yes
02:56 < limec0c0nut> jeffhill: The interface thing is important; I think the
reflection code reflects (yeah, pun) the way that interfaces work.
02:56 < chupish> it's his site, plus a repository for most things
Inferno/Plan9 related
02:56 < jeffhill> __mikem: You need to create a .bash_profile and a .bashrc
in your home directory.  OSX supports 'em but they don't make it for you by
default.
02:56 < limec0c0nut> jeffhill: Not the way that method calling works.
02:56 < uriel> any mistakes or awful crap you find in cat-v.org, is my
fault, any interesting things should be credited to smarter people than me :)
02:56 < __mikem> oh okay
02:56 < Ycros> uriel: so what's your opinion on closures then?
02:56 < jlouis> dga: still having fun with that sprintf test?
02:56 < ericmoritz\0> In case anyone was looking for something like this:
http://github.com/oibore/go-pg
02:57 < jlouis> dga: if so, sprintf might be rewritten to a simpler version
by the C compiler
02:57 < uriel> Ycros: they are cool, if done right, but not the
be-all-end-all that some make them to be
02:57 < __mikem> jeffhill: is GOOS still going to = linux?
02:57 < chupish> no, darwin
02:57 < ybits> i discovered gofmt today.  at first, i thought it was a joke.
but it's slick
02:57 < jeffhill> limec0c0nut: It appears to actually work after my patch,
though.  Let me try another test.
02:57 < uriel> Ycros: in short, I'm happy go has them, but it is not one of
my 'must have' features
02:57 < limec0c0nut> jeffhill: It's not broken :)
02:57 < jeffhill> limec0c0nut: http://codereview.appspot.com/155044
02:57 < limec0c0nut> jeffhill: Just not the way you expect.
02:58 < __mikem> oh, duh, it says right above the thing what it equals
02:58 < uriel> (but I have very few 'must have' features, CSP is one of
them, simplicity is another, lack of inheritance is also fundamental)
02:58 < __mikem> okay the variables are set up
02:59 < Ibw> ooh, wait.  My mindset was all wrong (not Go'ish enough).  One
could create interfaces for widgets with all the functions that widget might need
(button pushed, for buttons)
02:59 < Ibw> etc
02:59 < jeffhill> limec0c0nut: But doesn't that mean that all members that
support an interface need to be pass-by-value for the this object?
02:59 < jeffhill> __mikem: hg clone -r release https://go.googlecode.com/hg/
$GOROOT
02:59 < __mikem> Okay nevermind no they are not, echo $GOROOT didn't return
anything :(
02:59 < ybits> __mikem: source .bash_profile
02:59 < jeffhill> Your .bash_profile needs to source ${HOME}/.bashrc
03:00 < limec0c0nut> jeffhill: No. Pointers get all methods that take their
base as a receiver for free.
03:00 < __mikem> okay
03:00 < uriel> Ibw: that is still wrong (probably)
03:00 < __mikem> was i supposed to put anything inside my .bash_profile?
03:00 < uriel> Ibw: you create a widget, and you get a channel, from where
you get event notifications
03:00 < __mikem> I never set one up before
03:00 < uriel> you have another channel to send commands to the widget
03:01 < jeffhill> limec0c0nut: Right, but values don't get methods that take
a pointer as the receiver?
03:01 < Ibw> uriel: Perhaps I should finish reading the documentation then
03:01 < ajray> whats the no-op in go?
03:01 < __mikem> ybits: was I supposed to put anything inside .bash_profile?
I never set one up before?
03:01 * ajray rethinks and realizes switch statements might not need a default
03:01 < limec0c0nut> jeffhill: When it comes to interfaces, correct.
03:01 < uriel> Ibw: well, I don't think there are docs on gui toolkits
because none has been released yet (but I'm sure rob has something planned)
03:02 < Ibw> uriel: I meant reading up on channels.  I don't really know
enough to think seriously about doing anything
03:02 -!- lighter [n=robert@client-86-0-127-137.nrth.adsl.virginmedia.com] has
quit ["Leaving"]
03:02 -!- zilt [n=aking@74.210.120.119] has quit ["Leaving"]
03:02 < limec0c0nut> jeffhill: When it comes to calling a method, bases and
pointers are interchangeable.
03:02 < limec0c0nut> jeffhill: I wish this were better documented.  It threw
me for a loop at first, too.
03:03 -!- hans_stimer [n=hans@c-98-234-25-125.hsd1.ca.comcast.net] has quit [Read
error: 104 (Connection reset by peer)]
03:03 * __mikem patiently waits for help in setting up .bashrc and.bash_profile
03:03 < jeffhill> limec0c0nut: I should send you a chunk of code so you can
see what the problem is.
03:03 < Ycros> Ibw: channels and goroutines are the best things in go
03:04 < limec0c0nut> jeffhill: You mean from the reflection package, or
application code?
03:04 < jeffhill> __mikem: Your .bash_profile should have one line in it
"source ${HOME}/.bashrc"
03:04 < ybits> __mikem: which file are you exporting your environment vars
from?
03:04 < Ibw> Ycros: That's the impression I'm getting
03:04 < limec0c0nut> jeffhill: Or both?
03:04 < uriel> Ibw: you might want to take a look at Inferno's tk docs:
http://doc.cat-v.org/inferno/4th_edition/limbotk/ (which is admitedly a little
akward, but should give you an idea)
03:04 < __mikem> ybits: .bashrc
03:04 < ybits> then source .bashrc
03:04 < ybits> then env | grep -i go
03:04 < jeffhill> limec0c0nut: I found the problem initially in trying to
Printf an object with a custom String() method.  Worked great with a pointer, fell
back to default with a value.
03:05 < ybits> ou should see them
03:05 < chupish> actually, if go has process io, you could do something
similar to Limbo's interface...
03:05 < ybits> you*
03:05 < __mikem> okay it works now
03:05 < uriel> Ibw: rob's paper on concurrent window systems also might
help: http://doc.cat-v.org/bell_labs/concurrent_window_system/
03:05 < chupish> you would just need TK or gtk-server
03:05 -!- Zeiris [n=Zeiris@d207-216-71-36.bchsia.telus.net] has joined #go-nuts
03:05 < jeffhill> limec0c0nut: Check out
http://groups.google.com/group/golang-nuts/browse_thread/thread/ac553c6dc72dc894/8a801d6c97a80421#8a801d6c97a80421
03:05 < limec0c0nut> jeffhill: What's the signature of the String() method?
03:05 < limec0c0nut> Okay.
03:05 < jeffhill> limec0c0nut: There's code there.  ;)
03:05 -!- zerofluid [n=zeroflui@ip68-227-10-141.lv.lv.cox.net] has quit ["This
computer has gone to sleep"]
03:05 < s_mosher> SDL uses polling loops for everything doesn't it?  You
could build your own SDL based GUI.  Gross eh?
03:06 < __mikem> hey, I just got the name HG. HG is the periodic table name
for mercury
03:06 < jeffhill> s_mosher: SDL is for games; game programmers like polling
for a bunch of silly and non-silly reasons.
03:06 < chupish> congratulations __mikem
03:06 < chupish> :D
03:06 < jeffhill> Thanks for sharing, __mikem; I didn't realize it until you
posted.  ;)
03:06 < s_mosher> jeffhill, I've only used SDL for scientific pursuits
03:07 -!- m-takagi_ is now known as m-takagi
03:07 -!- kongtomorrow [n=kongtomo@ppp-67-124-88-199.dsl.pltn13.pacbell.net] has
quit []
03:07 < s_mosher> actually I used the nintendo ds's sdl subset for games
though
03:07 < gmurphy> lol
03:07 * __mikem uses Allegro, not SDL
03:07 < jeffhill> s_mosher: Awesome!  Clearly it can be used for lots of
things, I just suspect SDL is designed for games people.
03:08 < fejes> lol
03:08 < s_mosher> sdl, I mean ogl
03:08 < s_mosher> for the games
03:08 < __mikem> jeffhill: okay, I got it checked out
03:08 < jeffhill> Sweet.
03:08 < s_mosher> but sdl was for displaying some dsp stuff
03:08 -!- nets [n=nets@bzq-79-178-116-188.red.bezeqint.net] has joined #Go-nuts
03:08 < jeffhill> __mikem: cd $GOROOT/src
03:08 < jeffhill> __mikem: ./all.bash
03:08 < s_mosher> jeffhill, well it's not for GUIs that's for sure, but if
you need a drawing surface for any reason it's not bad
03:09 < jeffhill> __mikem: That kicks off the build.
03:09 < Ibw> __mikem: I tried Allegro a few times but it was not very fun at
all.  SDL works for me just fine
03:09 < __mikem> jeffhill: its complaining that gobin is not set
03:09 < limec0c0nut> jeffhill: You discovered exactly what I was trying to
explain, only you think it's a bug :) Also, Printf() is kind of a special
function.
03:09 < jeffhill> s_mosher: I really like SDL a lot.  I've used it mostly
from pygame for messing about with.
03:10 < __mikem> also, whats with the huge binary file "root" in my home
dirrectory?  Do i need that because if not i would like to get rid of it since
space is already at a premium on this box
03:10 < Ibw> __mikem You may need to actually make the GOBIN directoy.
all.bash won't do it for you
03:10 -!- Ian_Daniher [n=it@nat-pool-128-88.olin.edu] has joined #go-nuts
03:10 < Ibw> wait, nevermind
03:10 < limec0c0nut> jeffhill: Print(Type) checks if Type implements an
interface, I forget what it's called, that has a method String().
03:10 < __mikem> jeffhill: ^
03:11 < jeffhill> limec0c0nut: But the odd bit is that you can call
a.String() and (*a).String() regardless of how the String method is declared.
03:11 -!- dga [n=dga@mlgodbe.dsl.xmission.com] has quit ["leaving"]
03:11 < Ycros> limec0c0nut: Stringer?
03:11 < s_mosher> jeffhill, yeah it's pretty good for what it's made for.
doing a gui in it would be kinda gross though.
03:11 < limec0c0nut> jeffhill: That's what I've been saying :) For the
purpose of calling a method, a base receiver and a pointer receiver are
interchangeable.
03:11 < ybits> __mikem: huge binary file "root"?
03:11 < jeffhill> __mikem: No idea what that root file is.  Try setting
GOBIN to $HOME/bin and run the script again.
03:12 < jeffhill> limec0c0nut: But for the purposes of interfaces, they are
different?
03:12 < limec0c0nut> jeffhill: But for implementing an interface, T* gets
all of T's interfaces for free.  But not the other way around.
03:12 -!- gnuvince [n=vince@64.235.207.47] has quit ["What the fruit is goin' on
here!?"]
03:12 < jeffhill> limec0c0nut: Why?
03:12 < __mikem> jeffhill: okay, I set it and it is still complainig
03:12 < s_mosher> you probably don't want an implicit object copy...
03:13 -!- asmo_ [n=asmo@c-f6c5e055.1155-1-64736c11.cust.bredbandsbolaget.se] has
quit [Remote closed the connection]
03:13 -!- hans_stimer [n=hans@c-98-234-25-125.hsd1.ca.comcast.net] has joined
#go-nuts
03:13 < limec0c0nut> jeffhill: The interfaces way is actually the safer,
"corrector" way.  The base-pointer interchangeability for calling methods is
simply convenience.
03:13 < jeffhill> __mikem: export GOBIN=${HOME}/bin in your .bashrc, then
source ~/.bashrc?
03:14 -!- loureiro [n=loureiro@201008197117.user.veloxzone.com.br] has quit [Read
error: 110 (Connection timed out)]
03:14 < limec0c0nut> jeffhill: That's my understanding of their rationale.
03:15 -!- ybits [n=ryan@c-68-46-83-85.hsd1.nj.comcast.net] has quit []
03:15 -!- loureiro [n=loureiro@201008198063.user.veloxzone.com.br] has joined
#go-nuts
03:15 -!- gnuvince [n=vince@64.235.207.47] has joined #go-nuts
03:15 < __mikem> jeffhill: no effect
03:15 < jeffhill> limec0c0nut: Is it in the standard somewhere that I've
missed?  The odd thing is that with a four line change removing that restriction
from the reflection code, everything works the way I'd expect.
03:15 -!- delza [n=delza@d66-183-63-49.bchsia.telus.net] has quit []
03:15 < jeffhill> __mikem: What's the error?
03:15 -!- Ibw [n=isaac@cpe-67-241-42-134.twcny.res.rr.com] has quit [Remote closed
the connection]
03:15 < Rob_Russell> so here's a trick...  i want to pass one of the http
status codes into a function.  They're declared as const - no data type.  So
what's my function signature?  func serveError(c *Conn, req *Request, code int) ?
03:16 -!- Ibw [n=isaac@cpe-67-241-42-134.twcny.res.rr.com] has joined #go-nuts
03:16 < arieru> Anyone can help me to configure emacs support, in mac os x ?
03:16 -!- delza [n=delza@d66-183-63-49.bchsia.telus.net] has joined #go-nuts
03:16 < __mikem> $GOBIN is not a dirrectory or doesn't exist
03:16 < __mikem> create it or set $GOBIN differently
03:16 -!- arieru [n=arieru@190.3.74.225] has left #go-nuts []
03:17 < s_mosher> Rob_Russell, yeah that should do it
03:17 -!- kaib [n=kaib@c-76-102-52-156.hsd1.ca.comcast.net] has joined #go-nuts
03:17 -!- turing_type_bot [n=turing@pool-71-241-35-143.nrflva.east.verizon.net]
has joined #go-nuts
03:17 -!- mode/#go-nuts [+v kaib] by ChanServ
03:18 < limec0c0nut> jeffhill: That's just the reflection code.  Unless the
Go runtime uses the reflection package (which I strongly doubt), you still won't
persuade a func name(Interface) to accept an object of type T when only *T
satisfies Interface.
03:18 < jlouis> Rob_Russell: I believe so.
03:18 -!- temme [n=kcollins@pool-173-71-105-240.cmdnnj.fios.verizon.net] has
joined #go-nuts
03:18 < jeffhill> __mikem: mkdir $GOBIN
03:18 -!- kaib_ [n=kaib@nat/google/x-xzwdbrsyrouhcufn] has joined #go-nuts
03:19 -!- mode/#go-nuts [+v kaib_] by ChanServ
03:19 < __mikem> wow, quietgcc aint so quiet
03:19 < Rob_Russell> s_mosher, jlouis: but in general, i think there's an
issue there...  i had to look at the constants and decide what the compiler would
do with them
03:19 < __mikem> by the way is go self hosting yet?
03:19 <+kaib_> evening everyone
03:19 < jlouis> Rob_Russell: a constant is of boolean, integer, fp or string
type
03:19 < s_mosher> Rob_Russell, you had to look at the constants to see what
they were named, too
03:19 < jlouis> Rob_Russell: http://golang.org/doc/go_spec.html#Constants
03:19 < jeffhill> limec0c0nut: http://codereview.appspot.com/155044 It's a
patch to reflect.c, and it does indeed let the methods invoke via interfaces the
way I'd expect.
03:19 < limec0c0nut> __miken: The docs say it "might as well be", but as far
as I know, nobody's done it yet.
03:20 -!- Ibw [n=isaac@cpe-67-241-42-134.twcny.res.rr.com] has quit [Read error:
54 (Connection reset by peer)]
03:20 -!- avila- [n=avila-@bl12-236-95.dsl.telepac.pt] has quit []
03:20 -!- Ibw [n=isaac@cpe-67-241-42-134.twcny.res.rr.com] has joined #go-nuts
03:20 < Rob_Russell> s_mosher: hehe, it's not the looking at that bothers
me, it's the figuring out (since const doesn't need the type specified)
03:20 < jeffhill> limec0c0nut: I've been digging around in the language
spec, but I'm not seeing anything about T and *T vs.  interfaces, other than T and
*T are interchangeable for method invocation purposes.
03:21 < limec0c0nut> jeffhill: Well I guess my last statement about the
reflection package was wrong.  But please see the reply to your patch.
03:21 < Rob_Russell> jlouis: yeah, "Constants may be typed or untyped" so
the type could be specified where the const is declared
03:21 < jlouis> Rob_Russell: there is a silent coercion that is happening.
03:21 < limec0c0nut> jeffhill: Yeah, I wish it were better-documented too.
03:21 < jlouis> basically, it will fail if your int is not big enough to
contain the value
03:22 < Rob_Russell> jlouis: right, exactly my issue
03:22 < jlouis> and since it is constant I expect it to figure it out
staticly at compile time
03:22 < s_mosher> Rob_Russell, ah.  well it's the same thing with := and the
like.  you'll see a bit of that.  once you're familiar with which types are which
it won't take much figuring
03:22 < jlouis> statically even
03:22 < __mikem> I guess "0 known bugs; 0 unexpected bugs" is a good thing?
03:22 < limec0c0nut> jeffhill: Their theory is that method invocation is a
special case, so that part is explicitly stated.
03:22 < limec0c0nut> jeffhill: Otherwise normal typing rules apply.
03:23 < Rob_Russell> s_mosher: no, i mean, i knew from looking at it that
these consts will be ints.  the issue is more about the generalized case
03:23 < s_mosher> Rob_Russell, think of them as macros and you'll be fine,
more or less
03:23 < __mikem> jeffhill: okay, am I done yet or is there more i have to
do?
03:23 < s_mosher> func foo(bar int) {}; will take foo(404); just fine
03:24 < Rob_Russell> right, it's all compile-time, so at least it's
determineable (the error message even tells the type of the const)
03:24 -!- Ibw [n=isaac@cpe-67-241-42-134.twcny.res.rr.com] has quit [Remote closed
the connection]
03:24 < jeffhill> limec0c0nut: Awesome.  I'm still not clear on *why* this
is the expected behaviour, but hopefully the Go Nuts post will clear it up.
Thanks!
03:24 -!- Ibw [n=isaac@cpe-67-241-42-134.twcny.res.rr.com] has joined #go-nuts
03:24 < jeffhill> __mikem: You're done.  6g/6l or 8g/8l should work as
commands for you now.
03:24 < __mikem> yup
03:24 < jlouis> Rob_Russell: one advantage of this scheme is that you can
define, pi say, to 50 decimal places of accuracy and get the maximal accuray in
whatever fp size you are using today
03:24 < __mikem> thanks for your help
03:25 < Rob_Russell> just seems that it should be possible to tell the
compiler when i declare my function to use the same type it used for that const
declaration - that would protect the function declration code from changes to the
const declaration
03:25 < limec0c0nut> jeffhill: No problem :)
03:25 -!- hagna [n=hagna@97-117-54-185.slkc.qwest.net] has quit [Connection timed
out]
03:25 < __mikem> jeffhill: hopefully go will be a little more successful
than the D programming language was :)
03:25 < Rob_Russell> jlouis: i like the not needing to declare a type on the
const, just wish i could say "use the same type for this variable as you did for
that const" in my function
03:26 < jeffhill> __mikem: I had problems even trying D. I clearly have
problems understanding Go, but none with actually compiling and hacking about with
it.  ;)
03:26 < jlouis> Rob_Russell: yeah.  But the type system of Go is pretty weak
03:26 < __mikem> jeffhill: you had trouble with D?
03:26 < jlouis> it is almost non-existant
03:26 < ajray> how do i remove a leading ':' character from a string neatly?
03:26 < __mikem> which compiler were you using, the Mars one or gcd?
03:26 < s_mosher> Rob_Russell, but if you did that, then how would you
handle this mystery type in the future?  how would you know what you could pass it
to inside your function?
03:27 < ajray> i could cast it to a []byte and index into that and then cast
it back to string
03:27 < s_mosher> I think the implicit conversion there saves a lot more
trouble
03:27 < s_mosher> accept an int, it looks like an int, you know what you
have -- you're good
03:27 < jlouis> s_mosher: it is no problem if you have general type
inference, but that is probably going to be against the "fast compilation" idea.
03:27 < Rob_Russell> s_mosher: well in this case it's the consts defined in
http.  in C++ i'd use an enum and the name of that enum would be the type of my
function parameter
03:27 < jeffhill> __mikem: I couldn't figure out how to install it when I
tried messing about with it a few weeks ago.
03:28 < __mikem> jeffhill: I remembered it being easy to install.
03:28 < __mikem> jeffhill: but I was using it on linux
03:28 < Rob_Russell> jlouis: now i get the "pretty weak" comment (as soon as
I thought about what i'd do in c++)
03:28 < s_mosher> jlouis, I actually *like* being beaten over the head with
types.  I mean, so long as there's an out.  void pointers or interfaces or
whatever.
03:29 < jeffhill> __mikem: Yeah, my problem is that when I hack on stuff,
I'm on MacOS.
03:29 < __mikem> jeffhill: yeah, it might be in macports or fink though
03:29 < uriel> btw, anyone has packaged go for debian yet?
03:29 < limec0c0nut> jlouis: Weak types?  What do you mean?  I think it's
very strongly typed.
03:30 < jeffhill> __mikem: No doubt, I just couldn't be bothered at the
time.
03:30 < uriel> (I think somebody did add Go to macports)
03:30 < s_mosher> Rob_Russell, gotcha.  That's alright, but unless you
already know what that enum is (e.g.  that it is an enum) you still don't know how
to work with it.
03:30 < limec0c0nut> jlouis: For one, no implicit conversions, even between
ints.
03:30 < JBeshir> Go is strongly typed.
03:30 < jlouis> limec0c0nut: it is strongly typed.  I should have used puny
instead of weak.  Sorry.
03:30 < limec0c0nut> jlouis: Two, type assertions provide runtime type
safety.
03:30 < __mikem> jeffhill: I guess you have a point.  I am lucky I tried
doing this today as opposed to durring the week or I wouldn't have had time
03:30 -!- rhelmer [n=rhelmer@adsl-69-107-65-242.dsl.pltn13.pacbell.net] has joined
#go-nuts
03:30 < __mikem> anyway, I am making dinner
03:30 < limec0c0nut> jlouis: No is it puny!  :)
03:30 < Rob_Russell> s_mosher: that's true
03:31 < limec0c0nut> jlouis: You always have to either convert an object or
make a type assertion before using it as anything other than its static type.
03:31 < limec0c0nut> jlouis: That's more strongly typed than any language
I've personally used.
03:31 < reubens> if i do 'func (self * myType) function {}', can i only
operate on things allocated with 'new'?  but 'func (self myType) function{}' works
with both 'new' and 'var' allocation?
03:32 < jlouis> limec0c0nut: I mean puny here because it lacks almost
everything type theory has added the last, say 30 years or so.
03:32 < KirkMcDonald> reubens: It has nothing to do with how it was
allocated.
03:32 < limec0c0nut> jlouis: Please elaborate.
03:32 < KirkMcDonald> reubens: It depends on whether you have a pointer or
the object itself/
03:32 < jlouis> limec0c0nut: take a look at Haskell for a modern type
system.
03:32 -!- voluspa [n=voluspa@x-134-84-102-227.reshalls.umn.edu] has joined
#go-nuts
03:32 < JBeshir> jlouis: Can you elaborate on what, exactly, is missing?
03:33 < JBeshir> Because maybe it's missing on purpose, or something.
03:33 < jlouis> JBeshir: Algebraic data types would have been nice
03:33 < JBeshir> Oh, high level types?
03:33 < jlouis> that is, recursive sum types, e.g.  recursive types of
tagged unions
03:33 < reubens> kirk, when i do func (self myType) it seems to work if i
have a pointer
03:33 < JBeshir> Why would you need that in an imperative programming
language?
03:34 < ajray> string(strings.Bytes(wd[1])[1:len(wd[1])])
03:34 < KirkMcDonald> reubens: Yes, the method set of *T includes the method
set of T.
03:34 < JBeshir> Lazy evaluation is "cool", but not at all explicit.
03:34 < limec0c0nut> jlouis: I agree with JBeshir.  This isn't a functional
language.
03:34 < ajray> is there a better way to remove the leading character of
wd[1] than that?
03:34 < jlouis> JBeshir: to make the JSON library nice for instance.
03:34 < jlouis> Right now, it looks like a kludge
03:34 < limec0c0nut> jlouis: That would mean run-time evaluation of the type
of an object.
03:34 < jlouis> you almost got pattern matching in the 'select' keyword as
well
03:35 < limec0c0nut> jlouis: In Go, please not.  :)
03:35 < reubens> kirk: but you can't go from a pointer back to a value, or
have i missed something?
03:35 < KirkMcDonald> reubens: You can dereference a pointer to get the
value it points to.
03:35 < Ycros> jlouis: yeah, I agree, they would be nice-to-haves
03:35 -!- kaib [n=kaib@c-76-102-52-156.hsd1.ca.comcast.net] has quit [Connection
timed out]
03:35 -!- kaib_ is now known as kaib
03:35 < jlouis> limec0c0nut: how is that different from the switch on ...
let me find the code
03:35 -!- wobsite [n=wobsite_@68-189-250-56.static.oxfr.ma.charter.com] has joined
#go-nuts
03:36 < limec0c0nut> jlouis: Wait, pattern-matching in the select keyword?
select is a demultiplexer.  What does it have to do with patterns?
03:36 < reubens> kirk: hm.  somehow i thought that didn't work, thanks :D
03:36 < jlouis> limec0c0nut: http://golang.org/src/pkg/json/generic.go#L197
03:36 < jeffhill> limec0c0nut: The magic reason why having T not inherit *T
methods for interface reasons is that a T is conceptually const with respect to
methods, while a *T is non-const.  Having a T "decay" into a *T interface leads to
badness.  That's the essence of rsc's explanation.
03:37 < jlouis> That is the Equal method.  It switches on a.Kind()
03:37 < jlouis> it could have been a pattern match instead
03:37 < limec0c0nut> jeffhill: Thanks, I'll take a look in a sec.
03:37 < limec0c0nut> jlouis: Did you mean switch before, not select?
03:38 < jlouis> select is almost equivalent, but it is substantially harder
03:39 < jlouis> you could match directly on what comes out of a select
03:39 < jlouis> out of a channel in a select, even
03:39 < jlouis> the select also sorely misses a NACK
03:39 < JBeshir> NACK?
03:39 < jlouis> and a channel mapper
03:39 < jlouis> Look up Concurrent ML..  This was done in the 90'es
03:40 < limec0c0nut> jlouis: NACK as in Not ACKknowledged?
03:40 < jlouis> JBeshir: cleanup if a given channel is NOT the one that is
selected
03:40 < jlouis> otherwise you need to have each case in the select take care
of that with code duplication to follow
03:41 < JBeshir> Or have it after the select?
03:41 < jlouis> then you do not know what channel was selected
03:41 < JBeshir> You can record it.
03:41 < jlouis> and it might be chan-specific
03:41 < JBeshir> With a variable 'n all.
03:41 < jlouis> yeah, it still hurts to switch on that
03:42 < jlouis> anyway, the reason all this is left out is because it is a
bitch to get right
03:42 < limec0c0nut> So basically ML has sort of a combination of switch and
select, and Go separates them.
03:42 < limec0c0nut> But select is still a demultiplexer, not a
pattern-matcher.
03:42 < jlouis> limec0c0nut: no, Erlang has it basically as the same thing.
But it has a dynamic type system, so it can do that.
03:42 -!- jeffhill [n=jeff@ip72-211-208-177.oc.oc.cox.net] has left #go-nuts []
03:42 < jlouis> CML is different
03:43 -!- jharrys [n=de043124@71.195.253.55] has joined #go-nuts
03:43 < limec0c0nut> I'm guessing here as to what you mean, since you
haven't explained what a NACK is nor why you would use a demultiplexer for pattern
matching.
03:44 -!- delsvr [n=delsvr@cpe-67-242-41-219.twcny.res.rr.com] has joined #go-nuts
03:44 < limec0c0nut> That's like using C's select() to negotiate HTTP/
03:44 -!- chupish [i=182ed347@gateway/web/freenode/x-toaqwspzwhgkgoqh] has left
#go-nuts []
03:44 < jlouis> limec0c0nut: a nack is basically a func () () { ...  } that
is bound to a case in the select.  It gets executed if another channel is chosen
in the demux
03:46 -!- m-takagi is now known as m-takagi_
03:46 < jlouis> it usually contains cleanup-code that must be executed in
that case or tracks some state for later
03:46 < jlouis> anyway, Go is a very well-balanced language I think
03:47 -!- nigwil [n=chatzill@ppp59-167-95-86.lns20.hba1.internode.on.net] has
joined #go-nuts
03:47 < jlouis> And compared to e.g.  C, C++ or Java, it is utter bliss to
write code in
03:48 < __mikem> jlouis: the good news is, it doesn't appear to be as
feature overboard as D was.  (C++ atleast has good reasons for all of its features
although I am a C++ programmer so I am kind of biased)
03:49 < jlouis> Compared to Erlang, I expect the static type system to help
a lot when writing code, although it is much lower level than Erlang is
03:49 < Ycros> C++'s worst feature was trying to remain compatible with C
03:49 < KirkMcDonald> Agreed.
03:49 < __mikem> Why use erlang?  Haskell is so much better
03:49 < JBeshir> C++'s worst feature is that it was designed by committee
03:49 < __mikem> Ycros: Objective C managed to pull it off
03:49 < JBeshir> And lacked both orthagonality and internal consistency
03:49 -!- FxChiP [n=FxChiP@99-72-237-154.lightspeed.frokca.sbcglobal.net] has left
#go-nuts ["Leaving"]
03:49 < jlouis> __mikem: Haskell kicks everythings ass :)
03:49 < Ycros> __mikem: yeah, objective C did better
03:50 < jlouis> __mikem: it is like the Godwins Law of PL discussions :)
03:50 < __mikem> Ycros: too ba C++ outperforms Objective C
03:50 < Ycros> __mikem: but message calling syntax still annoys me
03:50 -!- wobsite [n=wobsite_@68-189-250-56.static.oxfr.ma.charter.com] has quit
["Leaving"]
03:50 < __mikem> Ycros: yes i hate the message calling syntax
03:50 < __mikem> [][[]][[[]]][[[[]]]][[[[[]]]]]
03:50 -!- rhelmer [n=rhelmer@adsl-69-107-65-242.dsl.pltn13.pacbell.net] has quit
[]
03:50 < dj_ryan> i hate C++'s type system
03:51 < Ycros> __mikem: it's not the square brackets that bother me, it's
the named parameters that are technically part of the message name
03:51 < dj_ryan> Ycros: that is the BEST part of the language!
03:51 < Ycros> pfft
03:51 < jlouis> has anyone figured out if Go has a subsumption relation on
structural types yet?
03:51 < dj_ryan> did you graduate from stanford?
03:51 < dj_ryan> heh
03:51 < jlouis> I searched for 'contravariant' in the language spec, but
nothing showed up
03:52 -!- Popog [n=Adium@pool-71-121-200-233.sttlwa.dsl-w.verizon.net] has left
#go-nuts []
03:52 < dj_ryan> i used to love C++ for YEARS
03:52 < dj_ryan> but I can't handle it anymore...  I value my productivity
03:52 -!- Hong_MinHee [n=dahlia@211.239.163.54] has quit ["leaving"]
03:53 < dj_ryan> and my sanity
03:53 < dj_ryan> heh
03:53 < __mikem> Ycros: I just always wonder how such names are represented
on the object code level
03:54 < __mikem> dj_ryan: I am very productive in C++
03:54 < __mikem> infact i tend to get things done just as quickly in C++ as
I do in wimpy RAD languages
03:54 < limec0c0nut> jlouis: Subsumption relation?  There aren't quite the
same OO hierarchies in Go as in other languages.  I don't understand.
03:54 < Ycros> jlouis: you know what annoys me?
http://groups.google.com/group/golang-nuts/browse_thread/thread/21bfac3121e0edd2
03:54 < Ycros> jlouis: but I can't think of a good way to solve it - yet
03:56 < hans_stimer> anonymous fields are strange -- it is kind of like
inheritance (single or multiple) but not very explicit....  not sure why they went
that way...
03:56 < __mikem> dj_ryan: then again, I have writen so much C++ code that a
large subset of the language is second nature to me
03:56 < jlouis> limec0c0nut: take interface {} for instance.  an interface
Foo { Bar() int; } will clearly be in a subsumption relation with each other.
03:56 < ajray> how do i catch SIGINT?
03:56 -!- Gracenotes [n=person@wikipedia/Gracenotes] has quit [Remote closed the
connection]
03:56 < Amaranth> ajray: You can't setup any signal handlers yet
03:57 < __mikem> hey Amaranth
03:57 -!- vasudev [n=kakashi@117.254.118.41] has joined #go-nuts
03:57 < jlouis> limec0c0nut: so the subsumtion (subtyping) happens
automatically on the structure of the interfaces
03:57 < Amaranth> hey there __mikem
03:57 < Amaranth> Didn't know you knew how to program :P
03:57 < __mikem> Amaranth: hey, I happen to be a very good programmer
03:57 < alexsuraci> woo, hacked together something similar to erlang's
gen_fsm and gen_server
03:57 < limec0c0nut> jlouis: I don't quite speak your same vocabulary, but
an object that implements Foo will also implement interface {}.
03:57 < alexsuraci> (well, two things, I didn't combine them)
03:58 < ajray> Amaranth: not even using syscall?
03:58 < __mikem> Amaranth: by the way, do you know any C++?
03:58 < Amaranth> ajray: Nope
03:58 < jlouis> limec0c0nut: so in function calls any parameter (p interface
{}) should also work (without casts) when passed a Foo
03:58 < Amaranth> ajray: Well, not safely, anyway.  You may be able to do it
but expect it to fail randomly
03:58 < jlouis> limec0c0nut: I asked if it does
03:58 -!- voluspa [n=voluspa@x-134-84-102-227.reshalls.umn.edu] has quit
["Leaving"]
03:58 < Amaranth> __mikem: I know enough to use it badly ;)
03:59 < jlouis> without assertions, even
03:59 < __mikem> Amaranth: wanna see a program I've been writing?
03:59 < Amaranth> sure
03:59 < jlouis> if course, I can only use it as an interface {} in that
function
03:59 < limec0c0nut> limec0c0nut: Yes.
03:59 < limec0c0nut> I mean jlouis :D
03:59 < __mikem> http://www.mediafire.com/?go5mmwn5252 <-- Amaranth
04:00 -!- jharrys1 [n=de043124@c-71-195-253-55.hsd1.ut.comcast.net] has joined
#go-nuts
04:00 < limec0c0nut> jlouis: Look at the implementation of vector.Vector.
04:00 -!- jharrys [n=de043124@71.195.253.55] has quit ["Leaving."]
04:00 < jlouis> limec0c0nut: ok, thanks for the hint.  Will do later.
04:00 < dj_ryan> __mikem: maybe, its only been a few years for me, but the
super detailed specifics seemes to ahve faded fast.  Segfaults suck
04:00 < Amaranth> __mikem: wtf is that?
04:00 < limec0c0nut> jlouis: And then you can use a type assertion to
transform it back.
04:00 -!- Gracenotes [n=person@wikipedia/Gracenotes] has joined #go-nuts
04:00 < jlouis> alexsuraci: gen_server and gen_fsm sounds like a wonderful
idea
04:01 < __mikem> dj_ryan: segfaults can be hard to track down when your code
gets complicated, but hey, if you are not ealing with segfaults, you are dealing
with something else
04:01 < jlouis> alexsuraci: though supervisor might be harder to get
conceptually right >:-)
04:01 < __mikem> Amaranth: its a virtual machine
04:01 < Amaranth> __mikem: well that part is obvious
04:01 < __mikem> Amaranth: it has a very simple instruction set called
Simpletorn Machine Language
04:01 < __mikem> and it also has a built in assembler
04:01 < Amaranth> __mikem: although I'd say it's an interpreter for a crappy
language ;)
04:02 < __mikem> Amaranth: I didn't design the language.  The language was a
specification in the book C++ How to Program
04:02 < __mikem> I just implimented it
04:03 < dj_ryan> __mikem: so that is true, but one thing I have come to
enjoy about Java is that "something else" != process crash
04:03 < alexsuraci> jlouis: yeah, my implementation is kind of hacky (and
not really based on the inner workings of their erlang implementation) but you can
find it here if you want to take a look: http://github.com/vito/go-play
04:03 -!- hipe [n=hipe@pool-173-52-247-199.nycmny.east.verizon.net] has quit
[Remote closed the connection]
04:03 < __mikem> dj_ryan: tracking down the cause of incorrect output is
hardly more enjoyable than the program crashing
04:03 -!- jharrys [n=de043124@c-71-195-253-55.hsd1.ut.comcast.net] has joined
#go-nuts
04:03 -!- jharrys1 [n=de043124@c-71-195-253-55.hsd1.ut.comcast.net] has quit
[Client Quit]
04:03 < jlouis> alexsuraci: oh, thanks, i'll watch it
04:03 < Amaranth> dj_ryan: I've crashed the JVM too
04:04 < __mikem> dj_ryan: and java has its own version of a segfault, namely
NullPointerException
04:04 < dj_ryan> Amaranth: yes but that is not a typical situation
04:04 < __mikem> and .NET has NullReferenceException
04:04 < __mikem> dj_ryan: and if you know what you are doing, its not a
typical situation in C++ either
04:04 < dj_ryan> __mikem: but again, containing the crash and allowing a
production system to continue is a valuable thing
04:04 -!- ajsharp [n=ajsharp@76.89.131.245] has joined #go-nuts
04:05 < __mikem> dj_ryan: you can do that to with proper runtime checks and
error handling
04:05 -!- ni| [n=ni|@c-24-34-220-147.hsd1.ma.comcast.net] has quit [Remote closed
the connection]
04:05 < jlouis> alexsuraci: I always try to implement bittorrent clients in
new languages, but only Bcode rendering works right now :)
04:05 < __mikem> in C++
04:05 < __mikem> dj_ryan: besides, i am sure its possible to cause Go code
to segfault if you try hard enough anyway
04:05 < jlouis> For Go, that is.
04:05 < dj_ryan> well, yes, im not writing anything important in go for a
few years
04:06 < jlouis> alexsuraci: also, the inner workings of the erlang versions
are pretty scary at places
04:06 < alexsuraci> jlouis: heh, I usually end up doing things to test the
limits of the language (e.g.  a HTML DSL, sudoku solver, etc.)
04:06 < dj_ryan> HIPE!
04:06 < __mikem> my parrents are bringing me a pumpkin pie tomorrow.  I
can't wait
04:06 < alexsuraci> jlouis: yeah, noticed that when I took a peek to see if
I wanted to bother, haha
04:06 < __mikem> Amaranth: so what do you think of Simpletron?
04:07 -!- Gracenotes [n=person@wikipedia/Gracenotes] has quit [Remote closed the
connection]
04:08 < jlouis> alexsuraci: also, it is hard in Go to get a consistent
message interface (the closest would be to ave your Message struct take a JSON
object, but ugh :)
04:08 -!- timmcd [n=Adium@97-117-100-106.slkc.qwest.net] has joined #go-nuts
04:08 < dj_ryan> anyways the point isnt "how good things can be when you are
super careful, know what you are doing, etc, etc, it's what happens when the shit
hits the fan, what happens when someone is fixing "just a 1 liner" at 2am, etc,
etc.  Safety is good.
04:08 < __mikem> JSON is so much niser than XML
04:08 < dj_ryan> "niser" indeed
04:08 < __mikem> oops
04:08 < dj_ryan> XML makes me sad
04:08 < __mikem> nicer
04:09 < dj_ryan> 'nise' is a common 4chan-ism
04:09 < timmcd> Is there a way to test a TPConn if it's still connected?
04:09 < timmcd> conn.IsAlive?  or similar?
04:09 < __mikem> I didn't know that
04:09 < alexsuraci> jlouis: I have them built like this: fsm.M(FOOCONST,
data1, data2, ...  dataN)
04:09 < alexsuraci> jlouis: the constant is just something defined in the
server's source, the data are just arbitrary values
04:10 < alexsuraci> it's kind of annoying having to define constants, but
there are no atoms and I'd rather not use strings :P
04:10 < jlouis> alexsuraci: yeah.
04:11 < s_mosher> alexsuraci, atoms would be nice eh
04:11 < alexsuraci> yeah, they would.  wonder if that would have a chance if
requested...
04:11 < s_mosher> although constants are not horrible
04:11 < jlouis> In pure CSP, opposed to Erlang, you probably want some
idioms around bundles of chans
04:12 < jlouis> but you can't select on a vector.Vector of chans ...
04:12 < s_mosher> alexsuraci, I can't see it unless typed constants are
supported
04:12 -!- triplez [n=triplez@cm52.sigma225.maxonline.com.sg] has quit []
04:12 < jlouis> or can you?
04:12 < s_mosher> really, it's a lot like an enumerating typed constant
anyway
04:12 < s_mosher> from go's perspective at least
04:13 < timmcd> Is there a quick way to test if a connection is still alive?
conn.IsAlive?  or is still connected?  (a TCPConn)
04:13 < alexsuraci> s_mosher: dunno, it could happen.  atoms seem pretty
useful for a language with concurrency as big a value as it is in go
04:13 < s_mosher> yeah, I'm with you there
04:14 < alexsuraci> think I'll file an issue request for it and see where it
goes
04:14 -!- engla [n=ulrik@wikipedia/Sverdrup] has quit [Read error: 110 (Connection
timed out)]
04:14 < s_mosher> but they didn't seem to keen on ensuring constant-space
tail recursion either
04:14 < alexsuraci> actually I'll pop it on the mailing list since it's not
really a bug.
04:16 < gnuvince> How would I write a generalized powerset function?
04:17 -!- ako [n=nya@f051176082.adsl.alicedsl.de] has joined #go-nuts
04:18 < limec0c0nut> gnuvince: Er, power set of what?  A slice?
04:18 -!- halfdan_ [n=halfdan@p57A945F9.dip.t-dialin.net] has joined #go-nuts
04:19 -!- Hong_MinHee [n=dahlia@211.239.163.54] has joined #go-nuts
04:20 < proszbje> How's thr Go IDE situation coming along?
04:20 -!- Micah [n=Micah@174.23.84.70] has joined #go-nuts
04:20 < timmcd> Is there a quick way to test if a connection is still alive?
conn.IsAlive?  or is still connected?  (a TCPConn)
04:20 -!- dschn [n=dschn@pool-70-19-224-19.bos.east.verizon.net] has quit
[Connection timed out]
04:21 -!- Micah [n=Micah@174.23.84.70] has left #go-nuts []
04:21 < gnuvince> limec0c0nut: yes.  The lack of generics is freezing me
04:22 < s_mosher> proszbje, aside from syntax highlighting rules for a few
different editors, I haven't heard anything about IDE stuff
04:22 < limec0c0nut> gnuvince: Operate on a []interface{}.
04:22 -!- halfdan [n=halfdan@p57A9705C.dip.t-dialin.net] has quit [Read error: 60
(Operation timed out)]
04:22 < limec0c0nut> gnuvince: All types implement the empty interface.
04:23 -!- ajsharp [n=ajsharp@76.89.131.245] has quit []
04:23 < limec0c0nut> gnuvince: Or just use a vector.Vector.
04:23 < proszbje> Oh well, guess we'll have to wait..
04:23 -!- Gracenotes [n=person@wikipedia/Gracenotes] has joined #go-nuts
04:24 -!- EthanG [n=ethan@cpc2-lanc4-0-0-cust329.brig.cable.ntl.com] has quit
[Remote closed the connection]
04:25 -!- annodomini [n=lambda@wikipedia/lambda] has quit [Remote closed the
connection]
04:25 -!- jharrys [n=de043124@c-71-195-253-55.hsd1.ut.comcast.net] has quit
["Leaving."]
04:25 -!- theshadow [n=weechat@c-24-8-143-181.hsd1.co.comcast.net] has left
#go-nuts ["WeeChat 0.2.6"]
04:26 < timmcd> Is there a quick way to test if a connection is still alive?
conn.IsAlive?  or is still connected?  (a TCPConn)
04:27 -!- qbit_ [n=qbit_@75.71.160.106] has quit ["Computer has gone to sleep"]
04:28 < limec0c0nut> timmcd: You've read the package docs, right?
04:28 < timmcd> Yeah, for pkg/net
04:28 < limec0c0nut> timmcd: Okay, just checking.  My guess is to try
TCPConn.Read() and checking the error value.
04:28 < dj_ryan> what doyou expect to know if a call like 'IsAlive' returned
true
04:29 < timmcd> dj_ryan: if something like an IsAlive returns true, you just
know that your are still connected, that you didn't time out or get booted.
04:29 < Gracenotes> okay..  I need some easy way to set up virtualization of
some kind.  I have no idea how to do it, too :/
04:29 -!- kaib [n=kaib@nat/google/x-xzwdbrsyrouhcufn] has quit []
04:29 < Gracenotes> maybe then I can run Go code a bit more safely
04:29 < dj_ryan> but that isnt true
04:29 < limec0c0nut> Gracenotes: Virtualization of what?
04:29 < Gracenotes> OS
04:30 -!- crooter [n=crooter@adsl-69-209-124-89.dsl.klmzmi.ameritech.net] has quit
[]
04:30 < Innominate> often the only way to actually know if you're still
connected is to try and write something and check for an error
04:30 < limec0c0nut> Gracenotes: Well...  there's VMware or Sun VirtualBox.
Why do you need to virtualize?
04:30 < limec0c0nut> Are you actually crashing your machine?
04:31 -!- loureiro [n=loureiro@201008198063.user.veloxzone.com.br] has quit
["Quit"]
04:31 < limec0c0nut> Or Bochs.
04:31 < esm> Gracenote: assuming you're on Windows, and want to play with Go
(which I'm assuming why you're asking about virtualization), you might want to
look at andLinux: http://www.andlinux.org/
04:31 < s_mosher> Gracenotes, Virtualbox is dead simple
04:32 < Gracenotes> limec0c0nut: tried to set up KVM for an hour or so.  the
problem isn't so much crashing my machine as wanting to execute arbitrary remote
code (well, not *totally* arbitrary, only accessing non-filesystem-IO), but anyway
it would be nice to have a conceptually separate memory
04:32 -!- Helpsys [n=ths@unaffiliated/helpsys] has quit ["Saindo"]
04:32 < Gracenotes> the main threat here is not someone hacking my machine,
but rather blowing up my memory
04:33 -!- aho [n=nya@78.52.36.173] has quit [Read error: 110 (Connection timed
out)]
04:33 < limec0c0nut> Gracenotes: Arbitrary remote Go code?
04:33 < Gracenotes> yeah
04:33 -!- defectiv [n=clays@c-24-5-65-40.hsd1.ca.comcast.net] has quit ["This
computer has gone to sleep"]
04:33 < esm> Ah, you're on Linux?  If so, "man ulimit".
04:33 < limec0c0nut> Gracenotes: You mean as in your going to execl() it?
04:34 < clip9> You can't do much damage to memory if you are running as a
normal user and not root.
04:34 < Gracenotes> bad idea, huh?  :/ so no extra import statements beyond
fmt, the containers, safe stuff -- and I'm going to edit the compiler to enforce
it -- but no, run with the exec package
04:35 < Ycros> Gracenotes: yeah, I would run that in a vm
04:35 -!- mkanat [n=mkanat@c-67-188-1-39.hsd1.ca.comcast.net] has quit ["Bye!"]
04:36 -!- rhelmer [n=rhelmer@69.107.65.242] has joined #go-nuts
04:36 < uriel> Gracenotes: have you looked into nacl?  there is some
preliminar support to compile go code to run on nacl
04:37 < uriel> (I would prefer vx32 over nacl, but given that nacl is
developed at google Im not surprised...)
04:37 -!- bogen [n=bogen@cpe-76-186-22-145.tx.res.rr.com] has quit [Nick collision
from services.]
04:37 -!- bogen [n=bogen@cpe-76-186-22-145.tx.res.rr.com] has joined #go-nuts
04:38 < __mikem> Redundant * redundant = new Redundant();
04:41 -!- Adys_ [n=Adys@unaffiliated/adys] has joined #go-nuts
04:42 -!- Fl1pFl0p1 [n=FlipFlop@ip68-8-225-187.sd.sd.cox.net] has joined #go-nuts
04:42 -!- Null-A [n=jason@65-119-47-100.dia.static.qwest.net] has quit []
04:42 -!- Adys_ [n=Adys@unaffiliated/adys] has quit [Read error: 104 (Connection
reset by peer)]
04:42 -!- Adys [n=Adys@unaffiliated/adys] has joined #go-nuts
04:43 -!- temme [n=kcollins@pool-173-71-105-240.cmdnnj.fios.verizon.net] has quit
[Remote closed the connection]
04:43 -!- Null-A [n=jason@65-119-47-100.dia.static.qwest.net] has joined #go-nuts
04:44 < timmcd> for {
04:44 < timmcd> ...
04:44 < timmcd> if {
04:44 < timmcd> if {
04:44 < timmcd> return;
04:44 < timmcd> }
04:44 < timmcd> }
04:44 < timmcd> }
04:44 -!- flyfish [n=flyfish@74-130-53-224.dhcp.insightbb.com] has joined #go-nuts
04:44 < timmcd> will the return drop me all the way out of the for loop?
04:44 < clip9> yes
04:44 < timmcd> ok, ty
04:44 < Gracenotes> and further than that.  possibly.
04:44 < s_mosher> timmcd, it'll return to the caller
04:45 < __mikem> timmcd: return always exits the current function, break
always exits the current loop
04:45 < timmcd> Ah, so I should use break instead?  Thanks.
04:45 < __mikem> timmcd: depends on what you are trying to do
04:45 < timmcd> Just drop out of the for loop, but not the function.
04:45 -!- jeffhill [n=jeff@ip72-211-208-177.oc.oc.cox.net] has joined #go-nuts
04:45 < s_mosher> timmcd, use break with a label
04:46 < __mikem> then you woul want to use break
04:46 < esm> label the for {} loop (ie.  L: for { }) then "break L;".
04:46 < timmcd> Where can I find documentation on break?
04:46 < esm> golang.org :)
04:46 < timmcd> and labels?
04:46 < timmcd> psh lol
04:46 < __mikem> break is a very simple construct
04:46 < esm> language reference.
04:46 < __mikem> if it works the same way in go that it oes in c++ all you
hve to do is type break;
04:47 -!- DrNach [n=nach@89-138-3-138.bb.netvision.net.il] has quit [Read error:
104 (Connection reset by peer)]
04:47 < jeffhill> timmcd:
http://golang.org/doc/go_spec.html#Break_statements
04:47 < __mikem> esm: oes a labled break statement also work in C++?
04:47 -!- Rabbitbunny [n=Rabbitbu@unaffiliated/rabbitbunny] has left #go-nuts []
04:47 < esm> for, switch, and select all provide a "breakable" context.
04:47 < __mikem> esm: i never tried it
04:47 -!- DrNach [n=nach@89-138-3-138.bb.netvision.net.il] has joined #go-nuts
04:47 < esm> __mikem: No clue.  I'm not what you'd call a C++ fan.  ;-)
04:47 < __mikem> i always just used break; with no label
04:48 < timmcd> tehForLoopOfPwnage : for {…}
04:48 < alexsuraci> s_mosher: posted;
http://groups.google.com/group/golang-nuts/browse_thread/thread/cca5a35c9fc0c452
04:48 < timmcd> thats how I would do that then?
04:48 < esm> *Nod* The problem is a bare break inside a switch, inside a
loop, will break out of the switch, not the loop.  If you want to break out of the
loop, you need a label.
04:48 < __mikem> lol @ timmcd
04:48 < esm> In his example, a label isn't needed.
04:48 < __mikem> timmcd: epic label!
04:48 < timmcd> break tehForLoopOfPwnage
04:49 < Gracenotes> hm.  if you need a channel that can be filled with any
value..  it's just used for its tasty signalling goodness..  what type would you
put in it?  I'm just using bool..  I don't think there's any true unit type -.-
04:49 < s_mosher> alexsuraci, thanks for the heads-up, I'll star it and add
a reply later
04:49 < alexsuraci> s_mosher: alrighty
04:49 < esm> Gracenotes: chan interface{}
04:49 < esm> matches any type.
04:49 < timmcd> esm: That's cool!
04:49 < Gracenotes> esm: that's a universally quantified /type/, but there's
no unit type
04:50 < __mikem> timmcd: have you ha any experience in other languages?
04:50 < esm> Gracenotes: true, there's nothing like that.  "bool" or "int"
is probably your best bet there.
04:51 < Gracenotes> yeah.  or, I wonder, an empty struct?  o-o
04:51 < esm> Hmm, might work fine.  More "work" than just an int, though.
;)
04:51 -!- jb55_ is now known as jb55
04:51 < timmcd> x := [5]os.Writer;
04:51 < timmcd> would that work?
04:51 < timmcd> __mikem: Yeah, I do.
04:52 < __mikem> timmcd: which one?
04:52 < timmcd> An array of objects that fit a certain interface?
04:52 < timmcd> __mikem: Bits of everything.  Lots of Ruby tho, and some
Objective-C.
04:53 < Gracenotes> eek, my program is 506 lines.  I need some files at
*some* point..  lol
04:53 -!- ring-zero [n=hotshot@117.199.128.171] has joined #go-nuts
04:53 < __mikem> timmcd: I love Ruby.  Though my main language of choice is
C++
04:53 < lifeless> esm: isn't Any what you'd use there?
04:53 < timmcd> __mikem: Cool!
04:53 < timmcd> So, is my exxample valid?
04:53 -!- mush06 [n=mush@lam06-4-88-174-45-116.fbx.proxad.net] has quit []
04:53 < timmcd> x := [5]InterfaceType{...}
04:54 < __mikem> timmcd: I am a complete beginner to go.  So i wouldn't know
04:54 < __mikem> sorry
04:54 < __mikem> but keep soldiering on.  I am sure you will be proficient
in no time
04:54 < alexsuraci> __mikem: aren't we all?
04:54 -!- shambler [n=kingrat@mm-55-160-84-93.dynamic.pppoe.mgts.by] has quit
["What you have been is not on boats."]
04:54 < dho> only 2 tests failing now on freebsd/amd64
04:54 < __mikem> alexsuraci: well it is a new language, but I only got here
today
04:54 < limec0c0nut> timmcd: Not completely.
04:55 < scandal> timmcd: assuming you are initializing with types that meet
the InterfaceType it should be
04:55 < alexsuraci> ah, so I guess that makes you new-new
04:55 < timmcd> Scandal: Awesome, thanks.
04:55 < esm> lifeless: Any?
04:55 < limec0c0nut> timmcd: Without specifying values, you'd need var x
[5]InterfaceType{...};
04:56 < timmcd> x := make([]InterfaceType); would work as well?
04:56 < scandal> limec0c0nut: i think you leave off the {...} since its a
tyep in that case, not an initializer
04:56 < scandal> timmcd: you need a length
04:56 < esm> lifeless: do you mean unsafe.AnyType?
04:56 < lifeless> esm: http://golang.org/doc/go_for_cpp_programmers.html -
type Any interface { }
04:57 < timmcd> scandal: For a slice?
04:57 < lifeless> esm: I guess, yes, I'm still bootstrapping my
understanding of go
04:57 < esm> Ah, never actually read that doc, since I'm not really coming
from C++.  ;-)
04:57 < lifeless> esm: neither am I specifically ;)
04:57 < kim__> so i'm concerned about the future success of go
04:58 < kim__> and i know that ken has a beard and that rob and rsc don't
04:58 < kim__> does anyone know about the other authors?
04:58 < scandal> timmcd: hrm, not sure if you can create a slice that
doesn't have a backing array/slice
04:58 < esm> That declaration just defines a handy alias for interface{} of
"Any" so it's a little easier to type.  ;-)
04:58 < lifeless> ok
04:58 -!- Fl1pFl0p1 is now known as FlipFlop
04:58 < timmcd> scandal: Ok… would this work?
04:58 < timmcd> var x [5]Any; ?
04:59 < scandal> timmcd: yes
04:59 < timmcd> cool!
04:59 < scandal> x will have value nil by default
04:59 < __mikem> that thing where the square brackes preceed the thing is
strange
04:59 < timmcd> scandal: Then I could put anything in the array?
05:00 < timmcd> Also, I thought the Slice Type was almost like a mutable,
growing array?  Like we have in other languages (Ruby, other scripting languages)
05:00 < scandal> timmcd: its mutable but not growable (see vector)
05:00 < bogen> PC=0x400f9c slice 5<7>2
05:01 -!- bigmac [n=jwm@c-67-164-29-94.hsd1.ca.comcast.net] has joined #go-nuts
05:01 < scandal> timmcd: container/vector
05:01 < bogen> string is 7 characters long, I was trying to slice 5:2 and
got a string bounds exception
05:01 < timmcd> scandal: thanks
05:02 < scandal> bogen: the second value is not a count, its the end offset
05:02 < scandal> bogen: so lower < upper
05:02 < timmcd> scandal: Unlike arrays, vectors can change size dynamically.
05:02 < scandal> timmcd: yep
05:02 < timmcd> So they can grow or shrink in size as needed, the
length/capacity isn't static.
05:02 < timmcd> Nice!  ^_6
05:02 < bogen> scandal: so start-index:end-index
05:02 < scandal> bogen: yep
05:02 < bogen> hmmm...  ok, that is what I thought at first
05:02 < bogen> but ran into issues, thanks
05:03 < Gracenotes> ...  I think I just had an evil idea...
05:03 < Gracenotes> eek.
05:04 < Gracenotes> er, actually inserting code into a subprocess for it to
kill itself.  which is..  eh.
05:04 < scandal> timmcd: if you look at what vector does, it is just a
wrapper around []interface{}
05:04 -!- aho [n=nya@g227069155.adsl.alicedsl.de] has joined #go-nuts
05:04 -!- Manan [n=truthlim@142.46.164.30] has joined #go-nuts
05:04 < timmcd> scandal: Awesome
05:05 < timmcd> so you can use Any for pseudo dynamic-typing?
05:05 < timmcd> well, maybe not so pseudo ;)
05:05 < scandal> well, its more like a safe array of void*
05:05 < Ycros> "safe"
05:05 < timmcd> safe array of void?
05:06 < timmcd> (not a c/c++ user, so you may need to explain)
05:06 < Gracenotes> Any is used more than you'd think in the standard
library
05:06 < Gracenotes> often at times when parametric polymorphism would be
more appropriate, cough cough
05:06 < scandal> timmcd: in Go you have to do a type assertion on soemthing
that is an interface{} to actually use it
05:07 < scandal> which means the user of the code must know what the type is
05:07 < scandal> Gracenotes: i forsee that they will have to add that.  all
these type assertions are gross
05:07 < timmcd> Scandal: Yeah, makes sense.
05:07 -!- mejja [n=user@c-49b6e555.023-82-73746f38.cust.bredbandsbolaget.se] has
quit [Remote closed the connection]
05:08 < timmcd> scandal: Basically what I used to do in Ruby ;)
05:08 < timmcd> lol
05:08 < jeffhill> Style question: The language forbids declaring two
functions with the same name in the same package.  However, it seems like you can
declare a method version of a function and a non-method version in the same
package and the compiler is happy.  Is this bad form?
05:08 < Gracenotes> scandal: yep.  I still strongly agree with what Pike
said in the tech talk, that it shouldn't be rushed out -- it should be implemented
carefully
05:08 < scandal> timmcd: i'm not familiar with ruby (i use python), but i'm
guessing you don't need to convert the elements, you can just try to call a method
on it?
05:09 < Gracenotes> jeffhill: if you take the C++ analogy, it's like
declaring an int foo() in a class, and an int foo() outside of it.  the class call
will always require an object of that class, so there's no ambiguity.  afaik the
analogy holds for Go
05:09 < jeffhill> scandal: Ruby and Python have basically the same object
model, from what I recall.  They're both "duck typing".
05:09 < scandal> jeffhill: yeah, that was my impression
05:09 -!- ako [n=nya@f051176082.adsl.alicedsl.de] has quit [Read error: 110
(Connection timed out)]
05:09 < s_mosher> alexsuraci, I'm thinking about what that might do to the
internals of Go, and it doesn't seem pretty to me.  I mean what if you wanted
DSOs?  You start running into hairy conflicts there.
05:09 -!- xuser [n=xuser@unaffiliated/xuser] has left #go-nuts []
05:09 < Gracenotes> jeffhill: of course, the ethics of Go seems to be
avoiding name overloading in /any/ form, but YMMV
05:10 < scandal> so in python if you have a list of some objects, you can
just do: [x.method() for x in some_list]
05:10 < Gracenotes> >_>
05:10 < scandal> whereas in Go, you have to use a type assertino prior to
calling a method
05:10 < timmcd> scandal: Yeah, basically I was saying that in Ruby, you can
do a:
05:10 < timmcd> def something(this, that)
05:10 < timmcd> …
05:10 < timmcd> end
05:10 < timmcd> You can use this/that, but you don't REALLY know what it is
unless you test it.  But usually it's your own code so you don't care much, you
know whats going to be passed to it (if everything goes right) ;)
05:10 < bthomson> whoa
05:10 < timmcd> and so in Go, I could do:
05:10 < jeffhill> Gracenotes: Thank you, I think I understand why it works
technically.  I'm just not clear on if it's a poor idea in terms of best-use case.
My guess is that it's best avoided for clarity.
05:10 < timmcd> func Something(this, that *Any) {...}
05:10 < timmcd> Why I would, Idk.  I was just clarifying for myself and a
friend
05:11 -!- level09 [n=chatzill@80.227.125.119] has joined #go-nuts
05:11 -!- level09 [n=chatzill@80.227.125.119] has left #go-nuts []
05:11 < ajray> how do i create a pointer to net.TCPConn?
05:12 < ajray> var c *net.TCPConn; isn't working out
05:13 < Gracenotes> that looks fine..
05:14 < scandal> so say if we have a vector of ints:
05:14 < scandal> z:=vector.New(0); z.Push(1); z.Push(2); for x := range
z.Iter() { print(x.(int)) }
05:14 < scandal> note the x.(int)
05:14 < scandal> of course, you should just use IntVector for int :)
05:15 -!- andresambrois is now known as aa
05:15 -!- m-takagi_ is now known as m-takagi
05:16 < timmcd> ajray: The way I initialized my TCPConn: conn, _ :=
net.DialTCP("tcp", nil, raddr);
05:16 < timmcd> and then functions that take a conn:
05:16 < timmcd> func Whatever(conn *net.TCPConn) {}
05:16 < ajray> okay
05:17 < ajray> timmcd: i wanted to create the variable so i could do:
05:17 -!- segoe [i=3e164621@gateway/web/freenode/x-anfqbtixnxmqajuk] has quit
["Page closed"]
05:17 < ajray> var c *net.TCPConn); if c,e := net.DialTCP(....); e != nil {}
05:18 < timmcd> Looks good...
05:19 < timmcd> I wonder if you could implement strings as a sort of channel
>:P
05:19 < exch> the := operator in yuor if block does var initialization.  it
means you can't define the c var prior to that
05:19 < timmcd> x := "hello ";
05:19 < timmcd> x <- "world!";
05:19 < timmcd> y <-x;
05:19 < timmcd> y == "hello world!"
05:20 < ajray> timmcd: that doesnt work
05:20 < exch> just use c, e = net...
05:20 < ajray> its giving me an error on the var line
05:20 < Innominate> ajray: you don't need the var line
05:20 < timmcd> ajray: I know, I was just thinking it could be cool ;)
05:20 < ajray> Innominate: okay.  thanks, so i have to move the
initialization out of the if stmt
05:21 < ajray> i was trying to copy the patterns in the net package (thats
how they do it internally) but all the structs are internal to it, so no namespace
issues
05:21 -!- gmurphy [n=gmurphy@203-206-248-145.dyn.iinet.net.au] has quit []
05:23 -!- gpurrenhage [n=gpurrenh@141.209.53.85] has joined #go-nuts
05:23 < alexsuraci> s_mosher: sorry for the delay
05:24 -!- gpurrenhage [n=gpurrenh@141.209.53.85] has quit [Client Quit]
05:24 < alexsuraci> not sure what you mean, though
05:24 -!- ni| [n=ni|@c-24-34-220-147.hsd1.ma.comcast.net] has joined #go-nuts
05:24 -!- joeedh [n=chatzill@c-24-10-97-83.hsd1.ca.comcast.net] has quit [Read
error: 54 (Connection reset by peer)]
05:24 < alexsuraci> DSOs in particular
05:24 -!- proszbje [n=raulgrel@81.84.215.230] has quit [Read error: 145
(Connection timed out)]
05:24 < timmcd> Makefile:
05:24 < timmcd> linked : compiled
05:24 < timmcd>    8l -o gomudclient source.8
05:24 < timmcd> compiled : source.go
05:24 < timmcd>    8g source.go
05:24 < timmcd> would this be a correct go makefile?
05:24 < alexsuraci> s_mosher: you mean how different packages
handle/identify atoms?
05:25 -!- aho [n=nya@g227069155.adsl.alicedsl.de] has quit
["EXEC_over.METHOD_SUBLIMATION"]
05:25 < s_mosher> yeah, basically
05:25 < alexsuraci> yeah, that's probably the main issue
05:25 -!- emet [n=Jonathan@unaffiliated/emet] has quit ["Leaving."]
05:25 < s_mosher> I was thinking it wouldn't be a big deal at compile/link
time
05:25 < s_mosher> but if you were linking at runtime
05:25 -!- Wiz126 [n=Wiz@24.102.254.150.res-cmts.sm.ptd.net] has quit [Remote
closed the connection]
05:25 -!- nigwil [n=chatzill@ppp59-167-95-86.lns20.hba1.internode.on.net] has quit
[Read error: 113 (No route to host)]
05:25 -!- joeedh [n=chatzill@24.10.97.83] has joined #go-nuts
05:25 < s_mosher> maybe it's not a big deal though if the loaded object is
small
05:26 < alexsuraci> erlang just keeps track of all them in runtime, that
doesn't make as much sense for Go
05:26 < scandal> timmcd: you need a -o compiled on your 8g line (it defaults
to source.8 otherwise)
05:26 < alexsuraci> perhaps they could just be represented as unique values
based on their name
05:27 < lifeless> Amaranth: are you on 64bit or 32?
05:27 < Amaranth> lifeless: 64bit
05:27 < s_mosher> like strings?  ;)
05:27 < alexsuraci> yeah, except in constant (tiny) size like erlang :P
05:27 < s_mosher> yeah there's that
05:27 -!- brunov [n=bruno@190.191.110.64] has joined #go-nuts
05:28 < s_mosher> it's mostly notational for me
05:29 < s_mosher> I mean strings cost two shifted keystrokes and that's not
good for something that isn't going to be evaluated that way
05:29 < alexsuraci> yeah, it's a bit wasteful
05:29 -!- rhelmer [n=rhelmer@69.107.65.242] has quit []
05:29 < jeffhill> Has anyone found a good solution to handling the
build-order dependencies in Go? My makefiles are always broken based on package
includes...
05:30 -!- multivee [n=fonzwalt@21strategy.com] has joined #go-nuts
05:30 -!- rhelmer [n=rhelmer@adsl-69-107-65-242.dsl.pltn13.pacbell.net] has joined
#go-nuts
05:30 < lifeless> jeffhill: it needs integration
05:31 < lifeless> jeffhill: a scanner for a .go file to output the packages
used, and dump that into an included Makefile
05:31 < exch> jeffhill: I wrote a bash build script that uses the compiler
errors to recursively sort out dependencies
05:31 < timmcd> any talk on Ncurses for Go?
05:31 -!- bigmac [n=jwm@c-67-164-29-94.hsd1.ca.comcast.net] has quit ["Leaving"]
05:31 < ajray> timmcd: ya
05:31 < ajray> check the logs
05:31 < ajray> kuroneko was workin on it i think
05:32 < timmcd> ooo, how would I go about checking said logs?  (irc nub)
05:32 < jeffhill> exch: That sounds awesome!
05:32 < exch> I wouldn't go that far, but it works :)
05:32 -!- NickPresta
[n=quassel@CPE00222d183aaf-CM00222d183aab.cpe.net.cable.rogers.com] has joined
#go-nuts
05:33 < jeffhill> lifeless: Wouldn't you need to re-run the dependency
calculator over every file every time?
05:34 < delsvr> hm, are all the tests in the latest revision supposed to
work?
05:34 < delsvr> I'm failing on: gopack grc _test/path.a _gotest_.6
05:34 -!- wifs [n=eazy@murky.cs.stevens.edu] has joined #go-nuts
05:35 -!- Manan [n=truthlim@142.46.164.30] has quit [Read error: 110 (Connection
timed out)]
05:35 < ajray> exch: i wonder if theres something in the go commands to help
builds like that
05:35 -!- joeedh [n=chatzill@24.10.97.83] has quit ["ChatZilla 0.9.84-rdmsoft
[XULRunner 1.9.0.4/2008111312]"]
05:35 < timmcd> http://github.com/timmcd/GoClient
05:36 < timmcd> ^_^
05:36 < ajray> otherwise that'd be a good patch for the go compilers, so if
you give it a files list, it compiles them in proper order
05:36 < lifeless> jeffhill: yes, you'd define SOURCE.6 <- SOURCE.deps
SOURCE.go, and SOURCE.deps <- SOURCE.go
05:36 < lifeless> jeffhill: so you'd only scan a go file that changes
05:37 < jeffhill> lifeless: Right, just like with C++ dependencies.  Gotcha.
Now we just need a tool to dump a .deps file from a .go file....  sounds like a
job for Perl!  (kidding, I'll see if I can hack something out in Go)
05:37 < exch> http://bash.pastebin.com/m2e8c200 here it is.  I've put in
some comments to exlpain what it does..  Note that it is written specifically for
my own src code structure..  The idea should be easy to figure out though
05:37 < lifeless> jeffhill: I'm hacking together some autotools support, and
an include file to add make rules.
05:38 < lifeless> jeffhill: (slightly interrupted by a movie and shortly by
dinner:)) - but I'd love to include whatever you come up with.
05:38 < exch> I specifically chose to use the compiler's errors as a guide
to sorting out build order instead of building manual resolution methods
05:38 < lifeless> s/include/depend on
05:38 < timmcd> My mediocre mud client of uber simplicity:
http://github.com/timmcd/GoClient
05:38 < timmcd> usage: ./GoClient host:port
05:39 < jeffhill> lifeless: Oh, I've only been playing with Go for a day
now, I'm certain to produce nothing but trash...  but hopefully I'll learn
something while doing it.  ;)
05:39 < exch> pastebin's bash highlighter seems a bit broken :s
05:39 -!- Ibw [n=isaac@cpe-67-241-42-134.twcny.res.rr.com] has quit [Read error:
54 (Connection reset by peer)]
05:39 -!- Ibw [n=isaac@cpe-67-241-42-134.twcny.res.rr.com] has joined #go-nuts
05:39 < jeffhill> exch: Yes, I see much redness.  Thanks, this will be a big
help!
05:40 < exch> no problem
05:40 < lifeless> exch: It would be bestif the compiler output the
information, thats for sure.
05:40 < lifeless> I think I'd be inclined to add a flag to the compiler to
dump the things it looks for while compiling $goo
05:41 < exch> you mean it should handle the resolution?  I agree :p
05:41 < lifeless> exch: that too
05:41 < Gracenotes> grrr...  I do have some rather large projects
(non-go-related projects) due very soon.  ugh, bad timing >_> be back
probably sooner than I should be
05:41 -!- Gracenotes [n=person@wikipedia/Gracenotes] has quit ["Leaving"]
05:42 < timmcd> 0.3 seconds to build my mud client, lol.
05:42 < timmcd> I love Go.
05:44 < uriel> timmcd: *nice*
05:44 < Eridius> timmcd: mud clinet?  huh, that's an idea I hadn't thought
of
05:44 < Eridius> *client
05:44 * Eridius hasn't been on a mud in years
05:45 < timmcd> lol
05:45 * Eridius got pretty good at writing scripts for tf
05:45 < jeffhill> lifeless: The problem with having the compiler output it
is that, unlike C++, 6g requires dependencies to be built before you can compile
the equivalent of a .o.  It's the price to pay for avoiding .h files, I guess.
05:46 < Eridius> hrm, I still have my scripts
05:46 < lifeless> jeffhill: I'm not proposing output as a side effect
05:46 < lifeless> jeffhill: I'm proposing a mode where it scans and outputs
rather than compiling.
05:46 -!- brunov [n=bruno@190.191.110.64] has quit [Read error: 60 (Operation
timed out)]
05:47 < limec0c0nut> Eridius: Save them.  Maybe they'll be worth money
someday :P
05:47 -!- lov [i=vol@kokshark.techbandits.com] has left #go-nuts []
05:47 < jeffhill> lifeless: Ah, I understand.  Like -MM with gcc, but
without generating .o files.  Neat.
05:47 < Eridius> haha
05:48 < delsvr> anyone experience this?  http://pastie.org/pastes/696557
05:49 < exch> can't say I have
05:50 < delsvr> came after ./all.bash of the latest revision
05:50 -!- fejes [n=fejes@S010600173117d936.vc.shawcable.net] has quit [Remote
closed the connection]
05:53 -!- droid0011 [n=g1@p4FDCC472.dip.t-dialin.net] has joined #go-nuts
05:54 < timmcd> Would using ANSI/VT100 Terminal control codes work with just
a fmt.Print("")?  Also, whats the escape character?
05:54 < timmcd> ^[ ?
05:55 -!- gcopenhaver [n=greg@98.250.49.37] has quit ["Leaving."]
05:55 -!- xed [i=48dca491@gateway/web/freenode/x-iafjsvhymhvdgubk] has joined
#go-nuts
05:57 -!- ruinevil [n=ruinevil@cpe-74-68-126-254.nyc.res.rr.com] has quit
["leaving"]
05:57 -!- diltsman [n=diltsman@64.122.18.77] has joined #go-nuts
05:58 < timmcd> whats the escape code in Go? For printing terminal and ansi
codes?  Ie: echo "\e[1;36m BOO!"
05:58 < timmcd> prints a bold, ansi BOO!  on unix boxes, with \e being the
escape code.  IF I try
05:58 < timmcd> fmt.Print("\e[1;36m Boo!");
05:58 < timmcd> i get told that e is not a recognized escape sequence
05:58 -!- reubens_ [n=reubens@c-66-235-53-139.sea.wa.customer.broadstripe.net] has
joined #go-nuts
05:59 -!- Ibw [n=isaac@cpe-67-241-42-134.twcny.res.rr.com] has quit [Remote closed
the connection]
05:59 -!- nigwil [n=chatzill@ppp59-167-78-229.lns20.hba1.internode.on.net] has
joined #go-nuts
06:00 -!- judascleric [n=ryan@c-71-198-136-43.hsd1.ca.comcast.net] has joined
#go-nuts
06:00 < dho> go freebsd/amd64 almost ddone
06:00 * dho finishes up tomorrow.
06:00 < Eridius> timmcd: you could use the actual octal or hex value
06:01 < judascleric> anyone know any game or graphics libraries that work
under go yet?
06:01 < Eridius> timmcd: \e is not a documented character escape
06:01 < Eridius> timmcd:
http://golang.org/doc/go_spec.html#Character_literals
06:01 -!- diltsman [n=diltsman@64.122.18.77] has quit [Client Quit]
06:02 -!- gmurphy [n=gmurphy@203-206-248-145.dyn.iinet.net.au] has joined #go-nuts
06:02 < exch> judascleric: I think someone did some basic SDL bindings.
http://www.reddit.com/r/golang
06:03 -!- gmurphy [n=gmurphy@203-206-248-145.dyn.iinet.net.au] has left #go-nuts
[]
06:03 -!- gmurphy [n=gmurphy@203-206-248-145.dyn.iinet.net.au] has joined #go-nuts
06:04 < judascleric> cool.  thanks
06:08 -!- __mikem [n=michaelm@USF-WiFi-ResHall-nat-209.resnet.usf.edu] has quit
["leaving"]
06:08 -!- dezelin [n=dezelin@93.87.132.224] has quit [Remote closed the
connection]
06:09 -!- droid001 [n=g1@p4FDCE915.dip.t-dialin.net] has quit [Connection timed
out]
06:11 -!- rhelmer [n=rhelmer@adsl-69-107-65-242.dsl.pltn13.pacbell.net] has quit
[]
06:12 -!- Null-A [n=jason@65-119-47-100.dia.static.qwest.net] has quit [Remote
closed the connection]
06:14 < Rob_Russell> timmcd: "\x1B" should work in place of "\e"
06:14 -!- diltsman_ [n=diltsman@64.122.18.77] has joined #go-nuts
06:14 -!- spinout [n=s@adsl-71-146-141-45.dsl.pltn13.sbcglobal.net] has joined
#go-nuts
06:15 -!- delsvr [n=delsvr@cpe-67-242-41-219.twcny.res.rr.com] has quit []
06:15 < jA_cOp> hm
06:15 < Rob_Russell> timmcd: just added fmt.Print("\x1B[1;36m Boo!"); to my
code & now my gnome terminal is stuck in cyan ...
06:16 < jA_cOp> when using cgo I get this error: "
06:16 < jA_cOp> dwarf.Type lua_State reports unknown size"
06:16 < jA_cOp> What does it mean?
06:16 < jA_cOp> lua_State is a C struct
06:17 -!- evanrmurphy [n=erm@pool-74-98-44-189.pitbpa.east.verizon.net] has joined
#go-nuts
06:19 < timmcd> Rob_Rusell: Tyvm!
06:19 -!- timmcd [n=Adium@97-117-100-106.slkc.qwest.net] has quit ["Leaving."]
06:19 -!- diltsman_ [n=diltsman@64.122.18.77] has quit [Read error: 54 (Connection
reset by peer)]
06:20 -!- diltsman [n=diltsman@64.122.18.77] has joined #go-nuts
06:26 -!- Wareya [n=wareya@cpe-74-70-140-214.nycap.res.rr.com] has joined #go-nuts
06:26 -!- Kniht [n=kniht@68.58.17.177] has joined #go-nuts
06:27 -!- diltsman_ [n=diltsman@64.122.18.77] has joined #go-nuts
06:27 -!- diltsman [n=diltsman@64.122.18.77] has quit [Read error: 104 (Connection
reset by peer)]
06:27 -!- diltsman_ is now known as diltsman
06:27 -!- drusepth [n=drusepth@207.160.210.138] has joined #go-nuts
06:30 -!- triplez [n=triplez@124.155.195.7] has joined #go-nuts
06:30 -!- axisys_ [n=axisys@ip68-98-177-71.dc.dc.cox.net] has joined #go-nuts
06:30 -!- axisys_ [n=axisys@ip68-98-177-71.dc.dc.cox.net] has quit [Client Quit]
06:31 -!- CalJunior [n=caljunio@82-168-237-95.ip.telfort.nl] has joined #go-nuts
06:31 -!- axisys [n=axisys@ip68-98-177-71.dc.dc.cox.net] has joined #go-nuts
06:31 -!- CalJunior [n=caljunio@82-168-237-95.ip.telfort.nl] has quit [Client
Quit]
06:32 -!- raichoo [n=raichoo@e181231161.adsl.alicedsl.de] has quit []
06:32 -!- jgoebel [n=jgoebel@96.28.100.3] has joined #go-nuts
06:32 < jgoebel> *yawns*
06:33 < jgoebel> now to get go installed on my other mbp
06:33 -!- Freakzoid [n=Freakzoi@1503026015.dhcp.dbnet.dk] has quit [Read error:
110 (Connection timed out)]
06:33 -!- shinku [n=damn@unaffiliated/shinku] has quit ["Leaving."]
06:33 -!- glewis [n=chatzill@cpe-98-154-103-91.socal.res.rr.com] has joined
#go-nuts
06:33 -!- LinuxMercedes_ [n=nathan@r04nmjxv3.device.mst.edu] has joined #go-nuts
06:33 < LinuxMercedes_> Hey, I'm having trouble compiling go on an ubuntu
9.10 box
06:34 < LinuxMercedes_> here's the error: http://pastie.org/699365
06:34 < LinuxMercedes_> I googled it, and all I got was another pastie with
a similar error
06:34 < jgoebel> hmmm
06:34 < jgoebel> weird
06:34 < LinuxMercedes_> so I'm assuming the question has been asked before,
but the answer wasn't logged anywhere
06:34 < jgoebel> at least you're using pastie :)
06:34 < jgoebel> you try fetching the latest source?
06:35 < blackmagik> jgoebel, must make u proud :D
06:35 < reubens_> if i do 'type MyInt64 int64' so that i can define a method
to make MyInt64 fit an interface, is there some way to go back to an int64 from a
MyInt64?
06:36 < jgoebel> reubens_: have you tried just using it interchangeably?
06:36 < LinuxMercedes_> jgoebel: source is up to date as of an hour ago
06:36 < jgoebel> and why not just define the method on int64 yourself?
06:36 < jgoebel> why do you need another type?
06:36 < reubens_> jogoebel: it says cannot use type MyInt64 as type int64
06:37 < reubens_> because you can't define a method on a non-local type
06:37 < jA_cOp> I'm not familiar with mercurial, how do I use it to update
my go repository?
06:37 -!- CalJunior [n=caljunio@82-168-237-95.ip.telfort.nl] has joined #go-nuts
06:38 < scandal> jA_cOp: hg pull -u
06:38 < glewis> hg pull -u
06:38 < jgoebel> reubens: i think you can typecast it
06:38 -!- rhelmer_ [n=rhelmer@adsl-69-107-65-242.dsl.pltn13.pacbell.net] has
joined #go-nuts
06:38 < jA_cOp> from $GOROOT?
06:38 -!- rhelmer_ [n=rhelmer@adsl-69-107-65-242.dsl.pltn13.pacbell.net] has quit
[Client Quit]
06:38 < jgoebel> int64(value) maybe?
06:38 < scandal> jA_cOp: yep
06:38 < jA_cOp> ok, thanks :)
06:38 < jgoebel> damn db46 takes forever to build
06:39 < glewis> (or "hg pull ; hg update"...  the '-u' does the update for
you)
06:39 < jA_cOp> ah ok
06:39 < jA_cOp> so does mercurial work something like git then
06:39 < jgoebel> something like it :)
06:39 < jgoebel> but i'd take git anyday
06:39 -!- Wareya [n=wareya@cpe-74-70-140-214.nycap.res.rr.com] has left #go-nuts
["Leaving"]
06:39 < jgoebel> at least it's what all the ruby geeks went with :)
06:40 -!- jgoebel is now known as Dreamer3_MBP17
06:40 < glewis> Same basic concepts, but I much prefer mercurial - super
simple and blazingly fast - and never have to rebalance or whatever that git step
is
06:40 < reubens_> the only typecast that i know of is a dynamic cast from an
interface to another interface
06:40 < jA_cOp> ruby geeks eh...  all I know is that they're supposed to be
nice!
06:40 < LinuxMercedes_> Dreamer3_MBP17: any idea about the problem I had?
06:40 < glewis> I'm a Ruby and D geek that went mercurial :-)
06:40 < Dreamer3_MBP17> reubens: int32(value) does that not do what you
want?
06:40 < jA_cOp> D <3
06:40 < Dreamer3_MBP17> i was using merc
06:40 < Dreamer3_MBP17> then everyone went git
06:40 -!- Shihan [n=pjr@203-214-12-122.dyn.iinet.net.au] has quit [Remote closed
the connection]
06:40 < Dreamer3_MBP17> and it's branching in phenominal
06:41 < Dreamer3_MBP17> reminds me of perforce
06:41 < reubens_> Dreamer3_MBP17: no, that's a syntax error
06:41 < Dreamer3_MBP17> func (s Sequence) String() string {
06:41 < Dreamer3_MBP17> sort.Sort(s);
06:41 < Dreamer3_MBP17> return fmt.Sprint([]int(s));
06:41 < Dreamer3_MBP17> }
06:41 < Dreamer3_MBP17> from the effective go
06:41 < Dreamer3_MBP17> looks like they are type casting s as the type []int
06:41 -!- NoPyGod [n=no@60-234-140-16.bitstream.orcon.net.nz] has quit [Read
error: 113 (No route to host)]
06:42 < glewis> I'm guessing that this is not very Go-idiomatic:
http://pastebin.com/dda3d907 ...  for string reversal...  is there a better way?
06:43 < reubens_> it does indeed look like that.  hm.
06:43 < scandal> glewis: i'd allocate a new array of the same size, then
iterate backwards over your input string assigning to the new array.
06:43 < Dreamer3_MBP17> glewis: can't you reference a string position with
just one digit?
06:43 < reubens_> i guess i had another syntax error on the same line when i
tried to do the cast
06:43 -!- triplez [n=triplez@124.155.195.7] has quit [Read error: 104 (Connection
reset by peer)]
06:43 < reubens_> heh
06:43 < Dreamer3_MBP17> hmmm
06:44 < scandal> glewis: doing string concatention is probably doing a lot
of unnecessary allocations
06:44 < Dreamer3_MBP17> shouldn't you just define Reverse to work on (s
string) as input and add it to the string object :)
06:44 < glewis> scandal - so a byte array and then convert the byte array to
a string?
06:44 < scandal> Dreamer3_MBP17: that won't work, strings are immutable
06:45 -!- ring-zero [n=hotshot@117.199.128.171] has quit [Remote closed the
connection]
06:45 -!- pshahmumbai [n=prashant@59.164.24.103] has joined #go-nuts
06:45 < glewis> Dreamer3_MBP17 - you lost me
06:45 < scandal> glewis: yep
06:45 < Dreamer3_MBP17> ah
06:45 < Dreamer3_MBP17> wait
06:45 < Dreamer3_MBP17> Join is a method
06:45 < Dreamer3_MBP17> oh
06:45 < Dreamer3_MBP17> it returns a alie
06:45 < Dreamer3_MBP17> wait
06:45 < Dreamer3_MBP17> so could Reverse
06:45 < Dreamer3_MBP17> it doesn't have to modify the string
06:46 < scandal> Join is a function, not a method.
06:46 -!- mdeicaza [n=miguel@166.129.40.229] has quit [Read error: 110 (Connection
timed out)]
06:46 < Ycros> Dreamer3_MBP17: you can't modify a string
06:46 < Dreamer3_MBP17> uh
06:46 < Dreamer3_MBP17> i didn't say you could
06:46 -!- triplez [n=triplez@124.155.195.7] has joined #go-nuts
06:47 < glewis> ok, thanks, scandal - I'll give that a shot
06:47 < scandal> I guess it could be (v *string) Reverse() string
06:47 < Dreamer3_MBP17> yep
06:47 < Dreamer3_MBP17> that is what i was proposing
06:47 < Dreamer3_MBP17> add it to the string class :)
06:47 < Dreamer3_MBP17> or type or whatever :)
06:48 -!- bmw357 [n=bmw@71.197.122.40] has joined #go-nuts
06:48 -!- rogue780 [n=rogue780@c-68-34-234-213.hsd1.md.comcast.net] has quit [Read
error: 54 (Connection reset by peer)]
06:49 < glewis> Are you guys saying that Reverse already can operate on
strings?
06:49 -!- rogue780 [n=rogue780@c-68-34-234-213.hsd1.md.comcast.net] has joined
#go-nuts
06:49 < glewis> val := new([len(in)]byte); is apparently bogus.  :-(
06:50 -!- CalJunior [n=caljunio@82-168-237-95.ip.telfort.nl] has quit ["Colloquy
for iPhone - http://colloquy.mobi"]
06:50 < JBeshir> glewis: Yeah, use make()
06:50 < glewis> oh, ok, thanks JBeshir
06:50 -!- fracture [n=ad@ip68-111-13-125.tc.ph.cox.net] has quit [Read error: 54
(Connection reset by peer)]
06:50 -!- fracture [n=ad@ip68-111-13-125.tc.ph.cox.net] has joined #go-nuts
06:50 < JBeshir> No problem.
06:50 < scandal> glewis: yeah, i think in the [N]byte form N has to be a
constant expr
06:51 < Dreamer3_MBP17> glewis: wait, is there already a REverse anywhere?
06:51 < scandal> I don't see a Reverse function, we were just hypothesizing
06:51 < Dreamer3_MBP17> glewis: a string is jsut an array of bytes...  if
there is an array reverse you could use that :)
06:51 * glewis is clueless
06:51 < Dreamer3_MBP17> well you still have to write a string reverse but
you could just typecast and call the higher level reverse
06:51 < Dreamer3_MBP17> then return a string
06:52 < Innominate> converting the string to an array if bytes is an easy
way to do it, but a string isn't just an array of bytes(unicode!)
06:52 -!- triplez_ [n=triplez@113.10.88.210] has joined #go-nuts
06:53 < glewis> JBeshir: it doesn't like "val := make([len(in)]byte);"
either.
06:53 < scandal> yep, better to range over the string
06:53 < JBeshir> glewis: That's because that's not the syntax to make
06:53 < glewis> whups
06:53 < JBeshir> I *think* it is make(byte, len(in))
06:53 < JBeshir> But I could be wrong.
06:53 < scandal> []byte
06:55 < glewis> cool, thanks scandal and JBeshir - the combo worked.  :-)
06:55 < Dreamer3_MBP17> hmmm
06:56 -!- delza [n=delza@d66-183-63-49.bchsia.telus.net] has quit []
06:59 -!- glewis [n=chatzill@cpe-98-154-103-91.socal.res.rr.com] has quit
["ChatZilla 0.9.85 [Firefox 3.0.15/2009102815]"]
07:00 -!- hans [n=hans@c-98-234-25-125.hsd1.ca.comcast.net] has joined #go-nuts
07:00 -!- reubens_ [n=reubens@c-66-235-53-139.sea.wa.customer.broadstripe.net] has
quit [Client Quit]
07:00 -!- hans is now known as Guest18514
07:00 -!- triplez [n=triplez@124.155.195.7] has quit [Read error: 113 (No route to
host)]
07:00 -!- triplez_ is now known as triplez
07:01 -!- hans_stimer [n=hans@c-98-234-25-125.hsd1.ca.comcast.net] has quit [Read
error: 104 (Connection reset by peer)]
07:01 < Dreamer3_MBP17> hmmm
07:01 < Dreamer3_MBP17> anyone awake?
07:01 < jA_cOp> Yep
07:01 -!- ni| [n=ni|@c-24-34-220-147.hsd1.ma.comcast.net] has quit [Read error:
110 (Connection timed out)]
07:01 < jA_cOp> Why wouldn't we be
07:02 < Dreamer3_MBP17> trying to find a style i like in coloquy
07:02 -!- guanyu_ [n=guanyu@97-113-240-141.tukw.qwest.net] has joined #go-nuts
07:03 < bogen> coloquy?
07:03 < bmw357> mac IRC client
07:03 -!- Rob_Russell [n=chatzill@206-248-157-156.dsl.teksavvy.com] has left
#go-nuts []
07:03 < bogen> oh
07:04 -!- diltsman [n=diltsman@64.122.18.77] has quit []
07:04 -!- kaib [n=kaib@c-76-102-52-156.hsd1.ca.comcast.net] has joined #go-nuts
07:04 -!- mode/#go-nuts [+v kaib] by ChanServ
07:05 < LinuxMercedes_> I'm up
07:05 < LinuxMercedes_> kinda
07:05 < xed> Awake and lurking.
07:06 -!- kaib_ [n=kaib@nat/google/x-zisbukslitdpzqfz] has joined #go-nuts
07:06 -!- mode/#go-nuts [+v kaib_] by ChanServ
07:06 -!- spook[] [n=RevSpook@173-20-203-218.client.mchsi.com] has quit [Read
error: 60 (Operation timed out)]
07:07 -!- DarkAnt [n=Miranda@c-24-63-224-114.hsd1.ma.comcast.net] has quit [Read
error: 110 (Connection timed out)]
07:07 -!- triplez_ [n=triplez@124.155.195.7] has joined #go-nuts
07:08 -!- spook[] [n=RevSpook@173.20.203.218] has joined #go-nuts
07:08 -!- prip [n=_prip@host234-124-dynamic.11-87-r.retail.telecomitalia.it] has
quit [Read error: 145 (Connection timed out)]
07:09 < LinuxMercedes_> so, anyone want to help me figure out why I'm
hitting this error compiling go?  http://pastie.org/699365
07:09 < Dreamer3_MBP17> platform?
07:09 -!- flyfish [n=flyfish@74-130-53-224.dhcp.insightbb.com] has quit []
07:10 -!- SmSpillaz [n=sam@203-59-167-252.dyn.iinet.net.au] has joined #go-nuts
07:10 < LinuxMercedes_> linux/386
07:11 < Dreamer3_MBP17> no idea
07:11 < LinuxMercedes_> ubuntu 9.10 to be specific (just using it because I
couldn't be arsed to set up Debian...)
07:11 < Dreamer3_MBP17> i'm on mac
07:11 < LinuxMercedes_> nice
07:11 < Dreamer3_MBP17> building on snow leopard right now :)
07:11 < LinuxMercedes_> yeah I should probably try to set it up in a typica
config
07:11 < LinuxMercedes_> trying to get it to work for all users on a server
of mine
07:12 -!- ector- [n=asdf@77-58-247-151.dclient.hispeed.ch] has joined #go-nuts
07:12 -!- kaib [n=kaib@c-76-102-52-156.hsd1.ca.comcast.net] has quit [Read error:
60 (Operation timed out)]
07:12 -!- kaib_ is now known as kaib
07:13 -!- seymour [i=mike@dsl-185-66-4.dynamic.wa.co.za] has joined #go-nuts
07:15 < KirkMcDonald> Well.  My command-line option parser can now handle
the "nargs" feature, and I think I've got the API more or less nailed down.
07:15 < KirkMcDonald> Next: Callbacks.
07:15 < xed> LM: Does it work anyway?  I had a test fail and it hasn't
seemed to matter yet.
07:16 < LinuxMercedes_> xed: no...the make quits, so it never finishes
installing AFAIK
07:16 < xed> LM: I also got it compiled on Ubuntu 9.10 on x86 - no problems.
07:16 < xed> Hmm..
07:16 < LinuxMercedes_> hm
07:17 < xed> Maybe I shouldn't try to reinstall from newer sources.  ;->
07:17 < LinuxMercedes_> lol
07:18 < NickPresta> Simple URL Shortener in ~50 LoC:
http://github.com/NickPresta/GoURLShortener
07:19 < NickPresta> Pretty neat stuff
07:20 -!- Dysiode [n=pakattac@66.129.59.88] has left #go-nuts []
07:21 < Dreamer3_MBP17> cool
07:21 < LinuxMercedes_> hmm funny
07:21 < xed> LM: can you access /dev/urandom properly.
07:21 < LinuxMercedes_> let me check
07:22 < xed> Required by pkg/crypto/rsa/rsa_test.go
07:22 < LinuxMercedes_> I think so
07:22 < xed> Should have given you a nicer error if that was it.  Hmm...
07:22 < itrekkie_afk> hmm changes to rocks commandline are done :)
07:22 < KragenSitaker> NickPresta: do you have to declare b separately?
07:22 < itrekkie_afk> whoops, wrong channel, sorry everyone
07:22 -!- itrekkie_afk is now known as itrekkie
07:22 < KragenSitaker> you can't just say b, err := io.ReadAll?
07:23 < scandal> KragenSitaker: he's defined err in the returns, so no
07:23 < LinuxMercedes_> xed: even stranger, runing make test && gotest
passes
07:23 -!- m-takagi is now known as m-takagi_
07:23 < xed> weird.
07:23 -!- ceh [n=ceh@celsius.it.uu.se] has left #go-nuts []
07:23 < scandal> NickPresta: you can replace bytes.NewBuffer(b).String()
with string(b)
07:23 -!- hipe [n=hipe@pool-74-108-181-155.nycmny.east.verizon.net] has joined
#go-nuts
07:24 < KragenSitaker> NickPresta: also I notice that you're sometimes
Closeing the Body, but not in the case of a non-200 error code
07:24 < LinuxMercedes_> xed: I'm tempted to just recompile and hope it goes
away, but that shouldn’t fix it
07:24 < KragenSitaker> NickPresta: is it important that you Close it or not?
07:24 -!- pshahmumbai [n=prashant@59.164.24.103] has quit [Read error: 60
(Operation timed out)]
07:24 < KragenSitaker> does it really depend?
07:24 < KragenSitaker> scandal: oh, I see
07:25 < KragenSitaker> scandal: but he never takes advantage of the named
return value
07:25 < xed> LM: Here is the problem I guess: http://pastie.org/699387
07:25 < scandal> KragenSitaker: he does when he assigns to err on line 47
07:25 < NickPresta> KragenSitaker: thanks for that catch.  scandal: thanks.
That makes things much easier to deal with (and look at).
07:25 < scandal> oh wait, i see what you mean.  that should just be return;
07:26 < KragenSitaker> scandal: but then afterwards he explicitly returns a
nil for err
07:26 < scandal> KragenSitaker: good catch
07:27 -!- triplez [n=triplez@113.10.88.210] has quit [Read error: 110 (Connection
timed out)]
07:27 < NickPresta> KragenSitaker, scandal, I'm new to Go (~2 hours of doc
reading and such) so I'm happy to learn all I can.  Should I be doing something
differently with regards to closing the response.Body or how I return from that
function?
07:27 -!- triplez_ is now known as triplez
07:27 -!- erikc [n=erikc@static-209-139-213-73.gtcust.grouptelecom.net] has joined
#go-nuts
07:27 < scandal> I have not looked at the http module, so i have no idea on
that particular one
07:27 < KragenSitaker> NickPresta: I do not actually know whether it is
important to close the response.Body or not.  I'm almost as new as you!
07:28 < LinuxMercedes_> xed: looks like it
07:28 < NickPresta> KragenSitaker: :-)
07:28 < xed> LM: I think, if I'm reading it right, it simply cant decrypt
the thing it encrypted to test that functionality.
07:28 < scandal> NickPresta: since you have named return parameters in
shortenURL there are a few chanegs you can make
07:28 < KragenSitaker> NickPresta: you might also want to print the error
message to stderr instead of stdout
07:28 < jeffhill> Ok, so I've got a .go file that will scan .go files and
kick out .d files with the appropriate dependencies, assuming you always use
file-relative includes for project imports (e.g.  import "./foo" ).
07:28 < LinuxMercedes_> xed: from my limited knowledge of crypto that's what
it looks like
07:29 < scandal> NickPresta: on line 38 you can just say: return;
07:29 < xed> LM: All I can think of is permissions problems maybe.  Don't
know.
07:29 < scandal> except that you should use err instead of error so you
assign to the return var
07:29 < KragenSitaker> jeffhill: that is awesome
07:29 < KragenSitaker> scandal: only if he assigns to shortURL first
07:29 < LinuxMercedes_> xed: hmm what kind of permissions problem?
07:29 < scandal> KragenSitaker: it defaults to an empty string, no?
07:30 < NickPresta> scandal: Ah, I see.
07:30 < LinuxMercedes_> xed: it is possible; I'm installing go to a
non-standard directory
07:30 < NickPresta> And I thought I read that all values were initializes to
their "zero" values (false, "", 0, etc)?
07:30 < xed> LM: Don't know.  Maybe it never writes the stuff so shouldn't
even be a problem.
07:30 < scandal> NickPresta: yes
07:30 < KragenSitaker> scandal: oh, does it?  awesome!
07:31 < LinuxMercedes_> xed: yeah, looks like it just stashes it in a
variable
07:31 < LinuxMercedes_> only problem would be /dev/urandom permissions wise
07:31 < LinuxMercedes_> I can read /dev/urandom just fine
07:31 -!- defectiv [n=clays@c-24-5-65-40.hsd1.ca.comcast.net] has joined #go-nuts
07:31 < xed> Encrypts then decrypts.  Easy.  You're not seeing an error.
...  Uh...
07:31 < KragenSitaker> (I thought you were talking about line 50 also)
07:31 < scandal> KragenSitaker: yeah i was going to mention that part next
:)
07:32 < LinuxMercedes_> xed: and werider, it doesn't throw an error on blind
decryption...
07:33 -!- seymour_ [i=mike@dsl-244-114-37.telkomadsl.co.za] has quit [Read error:
110 (Connection timed out)]
07:33 < NickPresta> KragenSitaker, scandal: it appears to work with the
changes you've suggested.
07:33 < xed> LM: Well, it does compile stuff, right?  You can make your own
test I guess.  See if you can isolate it.  Maybe it's a real bug, or maybe real on
your set up for some odd reason.
07:34 -!- armence [n=armence@c-67-188-229-128.hsd1.ca.comcast.net] has quit
["Leaving"]
07:34 -!- spook327 [n=RevSpook@173-20-203-218.client.mchsi.com] has joined
#go-nuts
07:34 < LinuxMercedes_> xed:I guess so.  I'll take a stab at it tomorrow; it
is officially getting late here
07:34 < scandal> NickPresta: one more issue.  at line 49 do this:
shortURL=string(b); then just return;
07:34 < LinuxMercedes_> xed: what source file is the code you pastied from?
07:34 < scandal> NickPresta: since you're using named return parameters, you
can leave them out of the return
07:35 < xed> LM:/go/src/pkg/crypto/rsa/rsa_test.go
07:35 < scandal> in fact, the return isn't needed i guess
07:35 <+kaib> scandal: interestingly enough the language used to require
that you name the return arguments even when you had named ones.
07:35 < NickPresta> scandal: I get a "shortURL declared but not used"
07:35 < LinuxMercedes_> xed: sweet.  thanks man.
07:36 < Dreamer3_MBP17> you need to set it
07:36 -!- spook[] [n=RevSpook@173.20.203.218] has quit [Read error: 145
(Connection timed out)]
07:36 < Dreamer3_MBP17> shortUrl = return value
07:36 < Dreamer3_MBP17> don't you?
07:36 < xed> LM: Looks like it's the blind one that fails.  But the m2 one
is ok.  Good luck!
07:36 < LinuxMercedes_> Thanks, I'll need it
07:36 < scandal> kaib: seems a bit redundant :)
07:36 <+kaib> scandal: i remember complaining about it a while back and
recently noticed that you can just do empty returns even if you haven't assigned
them.
07:36 < LinuxMercedes_> nothing like learning a new programming language and
brushing up on crypto simultaneously =]
07:37 <+kaib> scandal: that's what *i* thought ..  :-)
07:37 < scandal> kaib: is the return even needed if you've assigned to the
name params?
07:37 < NickPresta> Dreamer3_MBP17: even when I just set it, I still get
that message.
07:37 <+kaib> scandal: i like the new way better.  makes more sense.
07:37 < Dreamer3_MBP17> nick: dunno
07:37 -!- LinuxMercedes_ [n=nathan@r04nmjxv3.device.mst.edu] has quit ["going to
watch Primer"]
07:37 < Dreamer3_MBP17> i'm new
07:37 < Dreamer3_MBP17> need a program to write :)
07:37 < xed> LM:tb vf sbhe qnlf byq!
07:37 < scandal> kaib: agreed
07:38 -!- nh [i=nh@beryl6.nhasynchro.com] has quit [Remote closed the connection]
07:38 -!- nh [i=nh@beryl6.nhasynchro.com] has joined #go-nuts
07:38 < scandal> ah i guess the return is required even with named params
07:38 < KragenSitaker> really?  you can't just fall off the end?
07:38 < scandal> we need a sufficiently smart compiler :)
07:39 < scandal> go> func() (a,b int) { a,b=1,2 }()
07:39 < scandal> function ends without a return statement
07:39 <+kaib> scandal: yep.  sigh.
07:39 <+kaib> scandal: oh well ..  :-)
07:40 <+kaib> scandal: rsc had some *really good* reason for why it was
supposed to stay that way.  it was good enough that none of it stuck ..  ;-)
07:41 < scandal> kaib: the force is strong with you :)
07:41 -!- ment_ [i=thement@ibawizard.net] has joined #go-nuts
07:42 <+kaib> anyway, i'm happy to see the first few contributions to the
source tree from the community.
07:42 < KragenSitaker> scandal: wait, you have a go repl?
07:42 < scandal> KragenSitaker: its a bash script wrapper, but yes:
http://www.cs.hmc.edu/~me/gorepl
07:43 < KragenSitaker> awesome, thanks!
07:46 -!- ment [i=thement@ibawizard.net] has quit [Read error: 110 (Connection
timed out)]
07:47 -!- jeffhill [n=jeff@ip72-211-208-177.oc.oc.cox.net] has quit []
07:49 < Dreamer3_MBP17> ok this is cool
07:50 < scandal> NickPresta: looks nice
07:50 -!- judascleric [n=ryan@c-71-198-136-43.hsd1.ca.comcast.net] has quit
[Remote closed the connection]
07:51 < NickPresta> scandal: I think so, thanks.  I wish there was some more
in-depth documentation about strings/string manipulation.  I read over the
GoCourse PDFs and they boast about powerful string manipulation but I can't find
any good examples.
07:52 < scandal> NickPresta: have you looked at the strings and strconv
packages?
07:52 * scandal still needs to read those slides
07:53 < NickPresta> scandal: I have.  I am talking about features like,
reversing characters in a string from positions i to j.  I'm not exactly sure how
to go about doing that given Go's immutable strings and such.  Do I convert to a
byte array, make the modification and convert back?
07:53 < scandal> NickPresta: pretty much
07:53 < scandal> I'm sure the std library will get filled out in time.
ALthough I'm not sure what the process will be.
07:56 < NickPresta> scandal: yeah.  I'm sure it will work out.  It is still
fairly useful and stable for something so new.  Although I'm not sure how long Go
has been active within Google itself...
07:57 < scandal> NickPresta: the faq says they started with the idea in late
2007
08:02 -!- Guest18514 [n=hans@c-98-234-25-125.hsd1.ca.comcast.net] has quit [Read
error: 110 (Connection timed out)]
08:04 -!- Zaba_ is now known as Zaba
08:08 -!- vasudev [n=kakashi@117.254.118.41] has quit [Read error: 110 (Connection
timed out)]
08:09 -!- vasudev [n=kakashi@117.254.133.231] has joined #go-nuts
08:11 -!- scriptdevil [n=scriptde@122.174.114.102] has joined #go-nuts
08:11 -!- guanyu_ [n=guanyu@97-113-240-141.tukw.qwest.net] has quit ["leaving"]
08:16 < Dreamer3_MBP17> scandal: are you going to rewrite the gorepl in go?
08:17 -!- melba [n=blee@unaffiliated/lazz0] has joined #go-nuts
08:17 < scandal> Dreamer3_MBP17: no, that was just a quick hack to help me
learn go.  there appears to be some work on a real go repl in exp/eval/
08:18 < Dreamer3_MBP17> cool
08:18 < scriptdevil> scandal, Dreamer3_MBP17 exp/eval
08:18 < scriptdevil> Oh..  Sorry.
08:18 < KirkMcDonald> fmt.Printfln would be nice.
08:18 < KirkMcDonald> I got used to having writefln in D.
08:20 < jA_cOp> Does Go have destructors as it has initialization functions?
08:20 < scriptdevil> KirkMcDonald: Yeah.  At times I feel like being allowed
to write methods outside the package would be nice(Lets us add extra stuff, like
Ruby).  But yeah.  As I think Ian said in the mailing list, it will make it too
scattered
08:21 < scriptdevil> jA_cOp: I dont think so
08:21 < jA_cOp> hm
08:21 < KirkMcDonald> scriptdevil: I'm just suggesting adding a new function
to the fmt package.
08:21 < scriptdevil> jA_cOp: Check
08:21 < jA_cOp> So, if I open a file handle for example, I'd have to
explicitly close it
08:21 < KirkMcDonald> scriptdevil: Not a change in how methods work.
08:21 < scandal> jA_cOp: you can use the defer stmt to help
08:22 < scriptdevil> KirkMcDonald: Well.  I meant stuff like that can be
done if types were extensible outside the package.
08:22 < jA_cOp> indeed scandal
08:22 < KirkMcDonald> scriptdevil: Except fmt isn't a type.  :-)
08:22 < KirkMcDonald> It's the package.
08:22 < jA_cOp> but I'm interfacing with some C code here
08:22 < jA_cOp> and it'd be nice if I could do the freeing automatically
08:22 < scriptdevil> KirkMcDonald: Aah!  Sorry.  :)
08:23 < scandal> jA_cOp: there is a function that you can define that gets
invoked when the gc wants to collect
08:23 < jA_cOp> ah
08:23 < jA_cOp> like a finalizer or something?
08:23 < scandal> let me find it
08:23 < jA_cOp> thanks :)
08:23 -!- Manish [n=chatzill@c-67-189-144-6.hsd1.ma.comcast.net] has joined
#go-nuts
08:24 < scandal> jA_cOp: see misc/cgo/gmp.go and search for destroy()
08:24 < jA_cOp> oh, thanks :D
08:24 < jA_cOp> that's awesome
08:26 < jA_cOp> yeah that's exactly what I needed
08:26 -!- daub [n=daub@91-66-67-186-dynip.superkabel.de] has joined #go-nuts
08:26 < scandal> jA_cOp: similar to java, it's probably wise to define a
.Dispose() or .Close() method since the user has no control over when the gc
occurs
08:26 -!- lenst [n=user@90-229-131-67-no52.tbcn.telia.com] has joined #go-nuts
08:26 < scandal> but its not required in all cases
08:27 < jA_cOp> hm
08:27 < jA_cOp> well, using it after that memory has been freed would be
invalid
08:27 < scriptdevil> jA_cOp: Create a bracket function
08:28 < jA_cOp> Bracket function?
08:28 -!- JeffJohnson [n=fho@unaffiliated/jeffjohnson] has left #go-nuts []
08:28 < scriptdevil> jA_cOp: A function that takes a file name and the
function to be run on the file.  Open the file, run the function close the file
08:29 < jA_cOp> Yeah, but it's not a file or something short-term
08:29 -!- elmar [n=elmar@dslb-188-097-064-178.pools.arcor-ip.net] has joined
#go-nuts
08:29 < jA_cOp> It's an instance of a Lua interpreter
08:30 -!- xed [i=48dca491@gateway/web/freenode/x-iafjsvhymhvdgubk] has quit ["Page
closed"]
08:30 < scriptdevil> jA_cOp: Ok
08:30 < jA_cOp> they can grow quite big though, so an explicit Close method
is probably a good idea, but what if someone closed it somewhere and then
something else tried to use it after that?
08:31 < jA_cOp> Just the kind "who owns this memory" problem that Go is
supposed to remove...  so I'm not sure whether or not just to stick with destroy()
or not
08:32 < scriptdevil> jA_cOp: GC wont run if anyone "will" have a chance of
using it/
08:32 < scandal> jA_cOp: put a "valid bool;" in the struct and you can set
it to false so it can't be used after a close
08:32 < KragenSitaker> jA_cOp: wait, I just reconnected to this channel ---
you have Lua working in Go?
08:32 < KragenSitaker> because that is really awesome if so
08:32 < jA_cOp> yeah it's coming along fine KragenSitaker
08:33 < jA_cOp> actually, that's way too early to say
08:33 < jA_cOp> I'm working on it anyway
08:34 < KragenSitaker> scriptdevil: do you remember where Ian was talking
about writing methods outside the package?  like a subject line or something?
08:34 < scriptdevil> KragenSitaker: I specified that.
08:34 < scriptdevil> <scriptdevil> KirkMcDonald: Yeah.  At times I
feel like being allowed to write methods outside the package would be nice(Lets us
add extra stuff, like Ruby).  But yeah.  As I think Ian said in the mailing list,
it will make it too scattered
08:35 < KragenSitaker> do you remember anything more specific than "in the
mailing list"?
08:35 < KragenSitaker> like a subject line or something?
08:35 < KragenSitaker> because I would really like to read that
08:35 < scriptdevil> KragenSitaker: Nope.  1 sec.  Will search
08:35 < KragenSitaker> thanks :)
08:36 < Dreamer3_MBP17> what is goc supposed to do?
08:36 < Dreamer3_MBP17> i just get an error importing C
08:37 < scriptdevil> KragenSitaker: It was Russ Cox
08:37 -!- Manish_ [n=chatzill@c-67-189-144-6.hsd1.ma.comcast.net] has quit [Read
error: 110 (Connection timed out)]
08:37 < scriptdevil> KragenSitaker: No. Wait.  I am confused.  1 sec
08:37 -!- yoga [n=user@ip-126.58.99.216.dsl-cust.ca.inter.net] has joined #go-nuts
08:37 < dagle> Why is it floatsize() and computeIntsize()?
08:38 < dagle> And not intesize()?
08:38 < jA_cOp> wow
08:38 < jA_cOp> yeah KragenSitaker, it works great.  I'll just implement
luaL_dostring then I'll post a small working example :D
08:38 < jA_cOp> luaL_newstate and lua_close are already wrapped and working
08:39 < KragenSitaker> jA_cOp: wow, AWESOME
08:39 < jA_cOp> I hope cgo is fine with macros
08:41 -!- qbit_ [n=qbit_@c-75-71-160-106.hsd1.co.comcast.net] has joined #go-nuts
08:42 < scriptdevil> KragenSitaker: I am unable to find it.  It might be the
IRC.  Is this channel logged?
08:43 < scriptdevil> KragenSitaker: Check out Type System is Not Uniform.
08:44 < KragenSitaker> Type System is Not Uniform?
08:44 < KragenSitaker> I don't know if it's logged
08:44 < KragenSitaker> aha,
http://groups.google.com/group/golang-nuts/browse_thread/thread/78ec8750e2acb1b6/ebf7c301417a96c4?lnk=raot
08:44 < KragenSitaker> thanks!
08:45 < scriptdevil> KragenSitaker: He meant something else.  I am either
hallucinating or it was on IRC
08:46 < KragenSitaker> no, this thread is exactly what I wanted to know.
you are awesome!  thank you!
08:48 -!- kw- [n=aevirex@91.128.61.101] has joined #go-nuts
08:50 < NickPresta> Is there a reason why `6l` cannot link and output a file
without a [dot] in it?  http://pastie.org/699410
08:51 < scandal> NickPresta: huh, works fine for me
08:52 < KirkMcDonald> NickPresta: What if you name it test.6 instead of
g.tmp?
08:52 < scandal> well, i'm using 8l to be precise
08:52 -!- NoPyGod [n=no@60-234-140-16.bitstream.orcon.net.nz] has joined #go-nuts
08:52 -!- kaib [n=kaib@nat/google/x-zisbukslitdpzqfz] has quit []
08:52 < NickPresta> KragenSitaker: same problem.
08:52 < NickPresta> sorry, KirkMcDonald
08:53 -!- raichoo [n=raichoo@i577BB240.versanet.de] has joined #go-nuts
08:53 < bmw357> Nick, scandal, works for me with a . in the output name
08:53 < NickPresta> bmw357: what happens if you omit the dot?
08:53 < scandal> i use this as a script: 8g $1.go; 8l -o $1 $1.8
08:53 -!- ntg [n=nate@user82.net177.whitworth.edu] has quit [Read error: 60
(Operation timed out)]
08:53 < bmw357> nick: I meant without, my bad
08:53 -!- Manish_ [n=chatzill@c-67-189-144-6.hsd1.ma.comcast.net] has joined
#go-nuts
08:53 < scandal> invoke like: goc bio (compiles bio.go -> bio)
08:53 < bmw357> It works either way
08:54 < bmw357> I'm also using a script, not that short though
08:54 < NickPresta> scandal: I have something similar:
http://pastie.org/699412
08:54 -!- drusepth [n=drusepth@207.160.210.138] has quit [Read error: 110
(Connection timed out)]
08:55 < NickPresta> oops, sorry.  I'm not actually running that.  I wrote
that from memory
08:55 < scandal> NickPresta: isn't that overwriting the .go file?
08:55 * KirkMcDonald uses make.
08:55 < scandal> ah ok :)
08:55 < NickPresta> scandal: yes.  I write to go.out explicitly.
08:57 < NickPresta> What is the best way to tell which version of Go I'm
running?  I just pulled down 67 changes but I compiled Go a few hours ago.
08:58 < NickPresta> I'm going to try recompiling and seeing if the problem
goes away
08:58 < scandal> someone was asking about irc logs for #go-nuts:
http://go-lang.cat-v.org/irc-logs/
08:58 < scriptdevil> scandal: I was.  Thank you
08:58 -!- Zeiris [n=Zeiris@d207-216-71-36.bchsia.telus.net] has left #go-nuts
["Leaving"]
09:01 < jA_cOp> ./8.out: symbol lookup error:
/home/jakob/go/pkg/linux_386/lua_lua.so: undefined symbol: dlsym
09:01 < jA_cOp> What am I not linking here
09:02 < scandal> -ldl ?
09:02 < jA_cOp> one sec
09:02 -!- qbit_ [n=qbit_@c-75-71-160-106.hsd1.co.comcast.net] has quit ["Computer
has gone to sleep"]
09:02 -!- illya77 [n=illya77@133-103-112-92.pool.ukrtel.net] has joined #go-nuts
09:03 < NickPresta> Hmm.  Just recompiled and see no good.  Oh well.
09:03 < scriptdevil> NickPresta: Strange.
09:03 < scriptdevil> NickPresta: Does it work when you don't use the script?
09:04 < NickPresta> scriptdevil: nope.  See: http://pastie.org/699410
09:05 < scriptdevil> NickPresta: There isn't a test there already, right?
09:05 < NickPresta> scriptdevil: nope.  There are other test* files but
`test' doesn't exist.
09:06 < bmw357> nick: try something other than test
09:06 < jA_cOp> Lua in Go: http://pastie.org/699415
09:06 < jA_cOp> KragenSitaker, ^ :D
09:06 < bmw357> test is a utility on mac os x
09:06 < Dreamer3_MBP17> it's a bash built in too, isn't it?
09:07 < Dreamer3_MBP17> or is it a gnu tool?
09:07 < bmw357> I think so
09:07 < huf> both of those ;)
09:07 -!- diltsman_ [n=diltsman@64.122.18.77] has joined #go-nuts
09:07 < scriptdevil> Dreamer3_MBP17: So?
09:08 -!- Manish [n=chatzill@c-67-189-144-6.hsd1.ma.comcast.net] has quit [Read
error: 110 (Connection timed out)]
09:09 -!- fracture [n=ad@ip68-111-13-125.tc.ph.cox.net] has quit [Read error: 60
(Operation timed out)]
09:10 < scriptdevil> I can create files named test.
09:10 < bmw357> script: I can to, it's just an idea
09:10 < diltsman_> How would I get a uint32 from a [4]byte?
09:11 -!- raichoo [n=raichoo@i577BB240.versanet.de] has quit
["http://raichoo.blogspot.com"]
09:12 -!- Adys [n=Adys@unaffiliated/adys] has quit ["I ♥ Unicode"]
09:12 -!- Adys [n=Adys@unaffiliated/adys] has joined #go-nuts
09:12 < NickPresta> hm okay.  I feel dumb.  Something other than `test'
works fine.
09:12 -!- depood [n=hidden@chello080108055214.19.11.vie.surfer.at] has joined
#go-nuts
09:13 < scriptdevil> NickPresta: :o
09:13 < scriptdevil> bmw357: Congrats :)
09:13 < NickPresta> scriptdevil: even ./test doesn't work though.  Seems
sort of strange that it won't build test in the current directory
09:13 -!- erikc [n=erikc@static-209-139-213-73.gtcust.grouptelecom.net] has left
#go-nuts []
09:13 < jA_cOp> diltsman_: var dword uint32; dword & (buffer[0] << 24)
& (buffer[1] << 16) & (buffer[2] << 8) & buffer[3];
09:13 < jA_cOp> something like that might work
09:14 < jA_cOp> I'm quite tired atm so it's probably not quite correct...
09:14 < diltsman_> jA_cOp: Thanks, that looks reasonable.  At least it is a
good starting point.
09:14 < jA_cOp> err left the assignment out: dword = (buffer[0] << 24)
& (buffer[1] << 16) & (buffer[2] << 8) & buffer[3];
09:15 < jA_cOp> or something.
09:15 -!- yoga [n=user@ip-126.58.99.216.dsl-cust.ca.inter.net] has left #go-nuts
["ERC Version 5.2 (IRC client for Emacs)"]
09:15 < scriptdevil> NickPresta: Well.  Does it allow a file named test in
some other dir?
09:16 -!- Popog [n=Adium@pool-71-121-200-233.sttlwa.dsl-w.verizon.net] has joined
#go-nuts
09:17 < NickPresta> scriptdevil: wow.  I must be extremely tired.  There was
a `test' directory in the current directory.
09:17 -!- reubens [n=reubens@c-66-235-53-139.sea.wa.customer.broadstripe.net] has
quit [Client Quit]
09:17 < NickPresta> I think it's time to go to bed.  4:15am is a little too
late...
09:17 -!- Popog [n=Adium@pool-71-121-200-233.sttlwa.dsl-w.verizon.net] has left
#go-nuts []
09:18 -!- Popog [n=Adium@pool-71-121-200-233.sttlwa.dsl-w.verizon.net] has joined
#go-nuts
09:18 < scriptdevil> diltsman_: Well.  Check out the
http://golang.org/pkg/encoding/binary/
09:18 < limec0c0nut> NickPresta: Wimp.
09:18 < NickPresta> limec0c0nut: indeed.  ;-)
09:18 < diltsman_> scriptdevil: Perfect, thanks!
09:19 < bmw357> NickPresta: At this point you're pretty much just going
around the other side, right?
09:19 < bmw357> So it's too early
09:19 < NickPresta> bmw357: well, tomorrow is an off day.  I dont much work
to do.  Hopefully I can sleep in until 10 or 11.
09:20 < NickPresta> well, goodnight all.  Thanks KragenSitaker, scriptdevil,
and scandal for the help.
09:20 < scriptdevil> NickPresta: Goodnight :)
09:20 < limec0c0nut> By the way, I know I've been out of the channel for a
bit, but I wrote a Befunge-93 interpreter in Go and made a blog post explaining
it, if anyone wants to check it out.
09:20 -!- NickPresta
[n=quassel@CPE00222d183aaf-CM00222d183aab.cpe.net.cable.rogers.com] has quit
["*sleeping"]
09:20 < limec0c0nut>
http://worsepoetry.blogspot.com/2009/11/gofunge-93-concurrent-befunge-93-in-go.html
09:21 < scriptdevil> Go isn't allowing me to sleep.  I wrote Egotags
yesterday night [IST].  Today, I am reading package documentation.  It is really
well documented.  The colorscheme is soooooo neat :)
09:21 < scriptdevil> limec0c0nut: Looks like we are suffering from the same
type of insomnia
09:22 < KirkMcDonald> My command-line option parser is now basically useful.
09:22 < limec0c0nut> scriptdevil: I was thinking the same thing!
09:22 < limec0c0nut> scriptdevil: And I have to be up in 4 hours.
09:22 < KirkMcDonald> Though I haven't yet implemented the "usage" printer.
09:22 < KirkMcDonald> ...  or flags, come to think of it.
09:23 -!- Kashia [n=Kashia@79.235.114.156] has joined #go-nuts
09:23 < KirkMcDonald> Hmm.  That might be important
09:23 < limec0c0nut> KirkMcDonald: How does it differ from the flag package?
09:23 < scriptdevil> KirkMcDonald: What does it have over the built-in flag?
09:23 < limec0c0nut> Haha
09:23 < KirkMcDonald> Ever use Python's optparse?
09:23 < scriptdevil> limec0c0nut: You are my Go-twin :)
09:23 < limec0c0nut> haha :)
09:24 < limec0c0nut> Kirk: Right, I remember you talking about this a few
days ago.
09:24 < KirkMcDonald> Yeah.
09:24 < scriptdevil> KirkMcDonald: Nope.  Been a long time rubyist :P Will
check it.  Github or bitbucket?
09:24 < KirkMcDonald> I'll be sticking it on Google Code.
09:25 < limec0c0nut> scriptdevil: You're showing up on the first page of a
Google search for "egotags".
09:25 < KirkMcDonald> Anyway.  The main feature I was missing from the flag
package was the equivalent of optparse's "append" action.
09:25 < scriptdevil> limec0c0nut: Lol.  I named it :D
09:26 -!- anders_ [n=anders@c83-253-2-206.bredband.comhem.se] has joined #go-nuts
09:26 < scriptdevil> limec0c0nut: Infact I show up on google for the Ashok
Gautham, ScriptDevil and shockingly Acer 5738 review
09:26 < jA_cOp> oh, we're under 500 now
09:26 < KirkMcDonald> So I figured, as long as I'm writing my own parser, I
might as well cram everything I can think of in there.
09:26 < scriptdevil> jA_cOp: It was 520odd yeterday
09:26 < KirkMcDonald> Oh! The other major missing feature: Callbacks.
09:27 < jA_cOp> I know scriptdevil, hence the noticable drop :D
09:27 < scriptdevil> KirkMcDonald: Done installing svn.  Show me the repo.
:D
09:27 < limec0c0nut> Kirk: Oooh that'd be cool.
09:27 < KirkMcDonald> scriptdevil: It'll be an hg repository.  And it's not
online yet.
09:27 < scriptdevil> KirkMcDonald: Thank goodness.  :) Ok
09:27 -!- MarkBao [n=MarkBao@pool-71-184-95-241.bstnma.fios.verizon.net] has quit
[Read error: 60 (Operation timed out)]
09:28 -!- FlipFlop [n=FlipFlop@unaffiliated/fl1pfl0p] has quit ["Leaving."]
09:31 -!- dagle1 [n=dagle@host162-104.bornet.net] has joined #go-nuts
09:32 -!- dagle [n=dagle@host162-104.bornet.net] has quit [Read error: 104
(Connection reset by peer)]
09:32 -!- diltsman_ [n=diltsman@64.122.18.77] has quit []
09:33 -!- NoPyGod [n=no@60-234-140-16.bitstream.orcon.net.nz] has quit []
09:35 < scriptdevil> garbeam: How is dwm's go port going?
09:36 -!- buluca [n=buluca@unaffiliated/buluca] has joined #go-nuts
09:37 -!- aron_ [n=aron@121-73-167-62.dsl.telstraclear.net] has joined #go-nuts
09:38 < sahazel> is there a go repl somewhere?
09:38 < limec0c0nut> sahazel: You mean repo?
09:38 -!- Manish [n=chatzill@c-67-189-144-6.hsd1.ma.comcast.net] has joined
#go-nuts
09:39 < limec0c0nut> sahazel: There's a Mercurial one.
http://golang.org/doc/install.html
09:40 < KirkMcDonald> "REPL" meaning read-eval-print loop.
09:40 -!- Associat0r [n=Associat@h163153.upc-h.chello.nl] has joined #go-nuts
09:40 < KirkMcDonald> An interactive interpreter.
09:40 -!- tzutzu [i=550230f2@gateway/web/freenode/x-hehikvbgdeoikauk] has joined
#go-nuts
09:40 < bmw357> shazel: http://golang.org/pkg/exp/eval/
09:41 < bmw357> sahazel*
09:41 < tzutzu> How would I go about creating a vector.Vector of
vector.IntVectors?
09:41 < limec0c0nut> Kirk: I was going through my head for acronyms...  that
one didn't come to mind :)
09:42 < bmw357> limec0c0nut: I just remember it being talked about when I
first came into the room a few hours ago
09:43 < limec0c0nut> bmw357: Ah, got it.
09:44 -!- FxChiP [n=FxChiP@99-72-237-154.lightspeed.frokca.sbcglobal.net] has
joined #go-nuts
09:44 < FxChiP> agh
09:45 -!- buluca [n=buluca@unaffiliated/buluca] has left #go-nuts []
09:45 -!- rutkowski [n=adrian@078088213039.walbrzych.vectranet.pl] has joined
#go-nuts
09:46 < scriptdevil> sahazel: There is scandal
09:46 < scriptdevil> scandal's bash based interpreter
09:46 < scriptdevil> My laptop keyboard :(
09:47 -!- vasudev [n=kakashi@117.254.133.231] has quit [Read error: 110
(Connection timed out)]
09:48 < jA_cOp> I made a rudimentary highlighter for gedit, if anyone uses
that
09:48 < scriptdevil> gtksourceview?
09:48 < jA_cOp> yep
09:49 < jessta> there really needs to be a repo for these things
09:49 < scriptdevil> jessta: Well.  Add a wiki page.  Give links to the
repos (Github, Bitbucket, Google Code).
09:50 -!- dschn [n=dschn@pool-70-19-224-19.bos.east.verizon.net] has joined
#go-nuts
09:50 -!- cgibreak [n=cgibreak@pool-96-248-174-38.chi01.dsl-w.verizon.net] has
joined #go-nuts
09:50 < jA_cOp> http://pastie.org/699454
09:51 < scriptdevil> jA_cOp: I recommend you put it in GH or BB
09:51 < jA_cOp> dump that in /usr/share/gtksourceview-2.0/language-specs
09:51 < jA_cOp> scriptdevil, HG? BB?
09:51 -!- triplez [n=triplez@124.155.195.7] has quit [Read error: 104 (Connection
reset by peer)]
09:52 < scriptdevil> jA_cOp: GitHub, BitBucket
09:52 < jA_cOp> ah, well, sounds like overkill
09:52 < jA_cOp> but I guess :P
09:52 < scriptdevil> jA_cOp: Nope.  This will grow :)
09:53 -!- |houkiom| [n=belkiss@78.235.168.105] has joined #go-nuts
09:53 -!- hector [n=chatzill@client-86-0-126-58.nrth.adsl.virginmedia.com] has
joined #go-nuts
09:53 -!- Manish__ [n=chatzill@c-67-189-144-6.hsd1.ma.comcast.net] has joined
#go-nuts
09:54 -!- Manish_ [n=chatzill@c-67-189-144-6.hsd1.ma.comcast.net] has quit [Read
error: 110 (Connection timed out)]
09:54 -!- cgibreak [n=cgibreak@pool-96-248-174-38.chi01.dsl-w.verizon.net] has
quit ["WeeChat 0.3.0"]
09:54 -!- dagle2 [n=dagle@host162-104.bornet.net] has joined #go-nuts
09:55 < jA_cOp> I made a BB repo scriptdevil, but I'll need to read up on
how to use mercurial :D
09:55 -!- triplez [n=triplez@124.155.195.7] has joined #go-nuts
09:55 -!- tzutzu [i=550230f2@gateway/web/freenode/x-hehikvbgdeoikauk] has quit
["Page closed"]
09:55 -!- dagle1 [n=dagle@host162-104.bornet.net] has quit [Read error: 104
(Connection reset by peer)]
09:58 < scriptdevil> jA_cOp: First hg init.  hg add *.  hg commit.  Then
read up on bitbucket to pull from BB. hg update.  hg commit.  Then push back to
BB. Enter your username and passwd
09:59 < jA_cOp> so all hg commands are based in the repository derived from
the working directory?
09:59 < scriptdevil> jA_cOp: The working directory is the repo.  So is every
clone of it.
09:59 < jA_cOp> ok
10:00 -!- Popog [n=Adium@pool-71-121-200-233.sttlwa.dsl-w.verizon.net] has quit
["Leaving."]
10:00 < scriptdevil> If you have the time, read HG Redbeanbook.  Google
that.  It is a book free for online reading
10:00 -!- pshahmumbai [n=prashant@59.164.24.233] has joined #go-nuts
10:03 -!- bmw357 [n=bmw@71.197.122.40] has quit []
10:03 -!- illya77 [n=illya77@133-103-112-92.pool.ukrtel.net] has quit [Read error:
54 (Connection reset by peer)]
10:04 -!- cgibreak [n=cgibreak@pool-96-248-174-38.chi01.dsl-w.verizon.net] has
joined #go-nuts
10:05 -!- defectiv [n=clays@c-24-5-65-40.hsd1.ca.comcast.net] has quit ["This
computer has gone to sleep"]
10:06 -!- itrekkie [n=itrekkie@ip98-165-246-56.ph.ph.cox.net] has quit []
10:07 -!- Manish [n=chatzill@c-67-189-144-6.hsd1.ma.comcast.net] has quit [Read
error: 110 (Connection timed out)]
10:08 -!- rgammans [n=roger@84.9.50.142] has joined #go-nuts
10:09 -!- TheL [n=brandon@95.211.85.217] has joined #go-nuts
10:09 < TheL> my oh my
10:09 < TheL> more popular than i would of expected
10:10 < jA_cOp> scriptdevil, http://bitbucket.org/ja_cop/go.lang/
10:10 < jA_cOp> all done
10:13 -!- Vershun [n=vershun@174-16-140-142.hlrn.qwest.net] has quit [Read error:
110 (Connection timed out)]
10:16 -!- bluemoon [n=bluemoon@c-98-225-14-178.hsd1.wa.comcast.net] has quit [Read
error: 110 (Connection timed out)]
10:17 -!- shambler [i=kingrat@mm-243-194-84-93.dynamic.pppoe.mgts.by] has joined
#go-nuts
10:19 -!- asmo [n=asmo@c-f6c5e055.1155-1-64736c11.cust.bredbandsbolaget.se] has
joined #go-nuts
10:23 -!- Manish [n=chatzill@c-67-189-144-6.hsd1.ma.comcast.net] has joined
#go-nuts
10:25 -!- hipe [n=hipe@pool-74-108-181-155.nycmny.east.verizon.net] has quit [Read
error: 104 (Connection reset by peer)]
10:25 -!- hipe [n=hipe@pool-74-108-181-155.nycmny.east.verizon.net] has joined
#go-nuts
10:25 -!- Popog [n=Adium@pool-71-121-200-233.sttlwa.dsl-w.verizon.net] has joined
#go-nuts
10:28 < scriptdevil> jA_cOp: Neat :)
10:29 < jA_cOp> :)
10:32 -!- SRabbelier [n=SRabbeli@ip138-114-211-87.adsl2.static.versatel.nl] has
joined #go-nuts
10:35 -!- Gertm [n=Gertm@81.83.0.66] has joined #go-nuts
10:35 < Gertm> What does it mean when all.bash ends with panic PC=xxx ?
10:35 < kuroneko> search the issue tracker
10:35 < kuroneko> I believe there's already an item open for it
10:39 -!- Manish__ [n=chatzill@c-67-189-144-6.hsd1.ma.comcast.net] has quit [Read
error: 110 (Connection timed out)]
10:40 -!- White_Sloun [n=vasya@ppp85-140-232-26.pppoe.mtu-net.ru] has joined
#go-nuts
10:40 -!- Zaba_ [n=zaba@ip102.148.adsl.wplus.ru] has joined #go-nuts
10:41 -!- gmurphy [n=gmurphy@203-206-248-145.dyn.iinet.net.au] has quit []
10:42 -!- GeDaMo [n=gedamo@212.225.108.57] has joined #go-nuts
10:43 -!- dschn [n=dschn@pool-70-19-224-19.bos.east.verizon.net] has quit [Read
error: 110 (Connection timed out)]
10:44 -!- cgibreak [n=cgibreak@pool-96-248-174-38.chi01.dsl-w.verizon.net] has
left #go-nuts ["WeeChat 0.3.0"]
10:50 -!- triplez [n=triplez@124.155.195.7] has quit [Read error: 104 (Connection
reset by peer)]
10:50 -!- xsacha [n=hewiu@131.181.210.19] has joined #go-nuts
10:50 < xsacha> really?  Go-Nuts?
10:51 -!- npe [n=npe@94-224-251-223.access.telenet.be] has joined #go-nuts
10:51 -!- Zaba [n=zaba@about/goats/billygoat/zaba] has quit [Read error: 110
(Connection timed out)]
10:51 -!- deltaphc [n=delta@adsl-76-245-62-83.dsl.lsan03.sbcglobal.net] has quit
[]
10:51 < Bun> at least it's not go-nads
10:51 -!- triplez [n=triplez@124.155.195.7] has joined #go-nuts
10:51 -!- conra [n=konrad@host-89-229-12-166.torun.mm.pl] has joined #go-nuts
10:51 -!- |houkiom| [n=belkiss@78.235.168.105] has quit ["KVIrc Insomnia 4.0.0,
revision: 3498, sources date: 20090907, built on: 2009-09-15 20:07:23 UTC
http://www.kvirc.net/"]
10:52 -!- Snert [n=chatzill@puff.snert.com] has joined #go-nuts
10:53 -!- Manish [n=chatzill@c-67-189-144-6.hsd1.ma.comcast.net] has quit [Read
error: 110 (Connection timed out)]
10:54 -!- nigwil [n=chatzill@ppp59-167-78-229.lns20.hba1.internode.on.net] has
quit [Remote closed the connection]
10:55 -!- buluca [n=buluca@unaffiliated/buluca] has joined #go-nuts
10:55 -!- gmurphy [n=gmurphy@203-206-248-145.dyn.iinet.net.au] has joined #go-nuts
10:59 -!- vegy [n=neki@we.will.never-be.afraid.org] has quit [Read error: 104
(Connection reset by peer)]
10:59 < xsacha> i was wondering about the size of resulting binaries.  i saw
a small article on how a hello world app can be quite large.  is this a fixed
overhead or does this produce much larger binaries?
10:59 -!- vegy [n=neki@we.will.never-be.afraid.org] has joined #go-nuts
10:59 < scriptdevil> xsacha: Well.  There was a thread about this in the
mailing lists
11:00 < xsacha> ok
11:00 < scriptdevil> search for the thread called Executable Size?
11:00 < scriptdevil> Started by imbuddha
11:01 -!- ShadowIce [n=pyoro@unaffiliated/shadowice-x841044] has joined #go-nuts
11:02 < xsacha> i guess i need to subscribe first
11:02 < xsacha> nevermind, found it..  it was imabuddha
11:02 -!- ineol [n=hal@mar75-9-88-171-191-168.fbx.proxad.net] has joined #go-nuts
11:05 < xsacha> oh ok, statically linked.  and yeah "fmt" is comparing to
stdio which also uses about 400KB
11:05 -!- nddrylliog [n=nddrylli@ile74-2-82-247-195-175.fbx.proxad.net] has joined
#go-nuts
11:05 -!- nddrylliog [n=nddrylli@ile74-2-82-247-195-175.fbx.proxad.net] has left
#go-nuts ["*flash*"]
11:06 -!- furbage [n=furbage@87-194-207-82.bethere.co.uk] has joined #go-nuts
11:06 < xsacha> is there any way of creating a GUI in Go yet?  Qt bindings
or something?
11:06 < bartwe> "yet" ?
11:06 < kuroneko> it'll happen in time
11:06 < kuroneko> just not right now
11:07 < xsacha> k
11:07 < xsacha> bartwe: i dont know, google might have released some
bindings with it i dont know about :P
11:07 -!- seymour [i=mike@dsl-185-66-4.dynamic.wa.co.za] has quit [Read error: 60
(Operation timed out)]
11:07 < jA_cOp> xsacha, you can interface with C, so you could make bindings
for any C library
11:07 < jA_cOp> like GTK
11:07 < xsacha> oh ok
11:07 < kuroneko> nearly
11:08 < xsacha> is that only with gccgo compiler?
11:08 < kuroneko> cgo needs some work
11:08 < jA_cOp> yeah cgo is not perfect
11:08 < kuroneko> gtk will probably break cgo without at least some of the
patches about to make it play a bit nicer
11:08 < jessta> xsacha: there is exp/draw but I don't know if it works and
someone made opengl and sdl bindings
11:08 -!- triplez [n=triplez@124.155.195.7] has quit [Read error: 54 (Connection
reset by peer)]
11:08 < jA_cOp> kuroneko: You can write a small wrapper for the functions
you use
11:09 < jA_cOp> for wherever it fails
11:10 < scriptdevil> You cannot use gtk at the moment.  No callback support
from C to go yet.
11:10 < anders_> embarrassing question but how do I create a makefile for a
go package?  :)
11:10 < jA_cOp> true scriptdevil
11:10 < scriptdevil> anders_: Include the ${GOROOT}/make.conf or something
11:10 < anders_> i tried to copy one from the source folder and modify it
but it would not compile
11:10 -!- Popog [n=Adium@pool-71-121-200-233.sttlwa.dsl-w.verizon.net] has quit
["Leaving."]
11:10 < jA_cOp> anders_, you can look at $GOROOT/misc/cgo/stdio/Makefile for
a small example
11:11 < scriptdevil>
http://github.com/limec0c0nut/Gofunge-93/blob/master/Makefile
11:11 < jA_cOp> misc/cgo/gmp/Makefile for a commented example
11:11 < anders_> ok, i'll check it out.  thanks for the quick response=)
11:15 -!- tumdum [n=tumdum@unaffiliated/tumdum] has joined #go-nuts
11:17 -!- scriptdevil [n=scriptde@122.174.114.102] has quit ["leaving"]
11:17 -!- diltsman [n=diltsman@64.122.18.77] has joined #go-nuts
11:17 -!- recover [i=recover@ip21278.lbinternet.se] has joined #go-nuts
11:18 -!- PaulOkopny [n=paul@92.62.62.33] has joined #go-nuts
11:18 < diltsman> Is there a way to walk a slice across an array?  Other
than creating a new slice for each step.
11:19 -!- lux` [n=lux@151.54.240.177] has joined #go-nuts
11:20 -!- mkeeran9 [n=mkeeran9@122.174.103.93] has joined #go-nuts
11:21 -!- hanni_ [n=hanni@93.96.68.133] has joined #go-nuts
11:21 < PaulOkopny> hi everyone
11:22 < anders_> my makefile creates the _obj dir but nothing more.  seems
like it runs 6g with the wrong arguments, no .6 file is created
11:22 < jessta> diltsman: looked at bytes package?
11:22 < jA_cOp> anders_, the _obj dir should have an object file
11:22 < GeDaMo> nadersare you doing make install?
11:22 -!- seymour [i=mike@dsl-185-66-4.dynamic.wa.co.za] has joined #go-nuts
11:23 < jA_cOp> link this with a main package
11:23 < GeDaMo> ^anders_
11:23 < anders_> it has: httpclient.a
11:23 -!- rawtaz [n=rawtaz@rho.hobbyhotellet.se] has left #go-nuts []
11:23 < anders_> im just running make
11:23 < GeDaMo> anders_: try make install
11:23 < anders_> same thing happens
11:24 < diltsman> jessta: Yes, but I'm not seeing anything to do what I
want.  The closest thing that I can find is Split which seems to really only be
useful for splitting on UTF-8 characters or an arbitrary byte pattern.
11:24 < jA_cOp> except now you can compile files importing "httpclient"
11:24 -!- scriptdevil [n=scriptde@122.174.114.102] has joined #go-nuts
11:24 < jessta> diltsman: what do you want to do?
11:24 < jA_cOp> anders_, 6g program.go && 6l program.8 _obj/httpclient.a
11:24 < jA_cOp> should give you httpclient.out
11:24 < jessta> diltsman: what do you mean by 'walk'?
11:24 < anders_> maybe theres something wrong with the file it is compiling,
but it should give me some kind of errormessage then?
11:25 < anders_> the file im trying to compile is httpclient.go
11:25 < diltsman> jessta: I want to look at successive 32-bit chunks and
process them in order.
11:25 < jA_cOp> yeah but that's a package, not a program anders_
11:25 -!- hanni [n=hanni@93-96-68-133.zone4.bethere.co.uk] has quit [Read error:
60 (Operation timed out)]
11:25 -!- hanni_ is now known as hanni
11:25 -!- mkeeran9 [n=mkeeran9@122.174.103.93] has left #go-nuts []
11:25 < diltsman> jessta: So, bytes 0-3, then 4-7, etc.
11:27 < jA_cOp> If you get httpclient.a, you've successfully compiled your
package
11:27 < anders_> ok
11:27 -!- White_Sloun [n=vasya@ppp85-140-232-26.pppoe.mtu-net.ru] has quit
["Ex-Chat"]
11:28 < jA_cOp> if you've also ran make install, you can now import
"httpclient" in other Go programs :)
11:28 < anders_> ok
11:29 < anders_> thats not necessary for now, i was just trying to compile
one single file with make.  tired of writing 6g ..  && 6l ..  all the time:)
11:29 < jessta> diltsman: you could do that in a loop, tmpslice :=
myslice[i:i+3]
11:29 < anders_> but i need a main package, right?
11:29 < jA_cOp> if you want an executable, you need a main package with a
main function (main.main)
11:29 < diltsman> jessta: Yeah, I figured that out, but I was wondering if
there was a more Go-esque way of doing it.
11:30 < anders_> probably that's why it went wrong:)
11:30 < anders_> i only had one file.  containting "package httpclient"
11:30 < jessta> diltsman: a slice is just a pointer and the length, so it's
cheap to make them
11:30 < jA_cOp> and capacity :V
11:31 < diltsman> jessta: Right, I read that in the documentation.  I just
wanted to make sure I wasn't writing ugly code because I can't figure out how to
do it any way but the C way.
11:32 < scriptdevil> diltsman: Beauty lies in the eye of the beholder.  :P
People find Perl beautiful ;)
11:32 < jessta> diltsman: I'm still figuring out the go way of doing things
too
11:32 < diltsman> scriptdevil: Perl is line-noise.  My 3 year-old writes
prettier code.
11:32 < jessta> I've never coded in Perl and never will
11:33 < jessta> that and c++
11:33 -!- jA_cOp [n=yakobu@ti0043a380-3093.bb.online.no] has quit ["Bye"]
11:34 < diltsman> I'm a C++ junkie, myself.  Java's GC just bugs me.
Non-deterministic resource release bugs me in general, but with the emphasis on
goroutines I can at least understand why Go is garbage collected.
11:35 -!- RichiH [i=richih@freenode/staff/richih] has left #go-nuts []
11:35 -!- andrebq [n=andrebq@bca201062212015.res-com.wayinternet.com.br] has
joined #go-nuts
11:36 < FxChiP> also
11:36 < FxChiP> I recommend semicolons after every line that isn't a brace
11:36 < FxChiP> because I'm too dumb to remember which one needs it and
which one doesn't
11:36 < FxChiP> :D
11:37 -!- sladegen [n=nemo@unaffiliated/sladegen] has quit [Read error: 104
(Connection reset by peer)]
11:37 < diltsman> That's where gofmt -w helps.  It will remove your extra
semicolons.
11:37 -!- pshahmumbai [n=prashant@59.164.24.233] has quit ["Ex-Chat"]
11:37 -!- sladegen [n=nemo@unaffiliated/sladegen] has joined #go-nuts
11:37 < FxChiP> ooh
11:37 < FxChiP> :D
11:37 < FxChiP> I may do that then
11:37 < scriptdevil> FxChiP: It is easy :) Remember that ; is not a
terminator but just a separator
11:37 < diltsman> Then you can go back and add them and it will remove them
for you...a never-ending cycle of pain.
11:38 < wm_eddie> It'd be nice if emacs did a gofmt on save.
11:38 < FxChiP> :D
11:38 < FxChiP> you can probably make it do so
11:38 < FxChiP> It doesn't like indenting right
11:38 < scriptdevil> wm_eddie: I bet someone already is on it.
11:38 -!- XniX23 [n=XniX23@we.will.never-be.afraid.org] has joined #go-nuts
11:38 < wm_eddie> yeah.
11:38 < diltsman> cindent in Vim doesn't work well with ; as a separator and
not as a terminator.
11:39 < diltsman> Also, it doesn't like :=
11:39 < scriptdevil> FxChiP: But I still add them everywhere because of that
emacs indenting extra if there is no ;.  I have to use M-i in that case
11:39 -!- mtz [n=jaan@165.206.191.90.dyn.estpak.ee] has quit [Read error: 60
(Operation timed out)]
11:39 < FxChiP> scriptdevil, seriously?
11:39 < FxChiP> scriptdevil, argh
11:39 < FxChiP> scriptdevil, that might explain my issues
11:39 < scriptdevil> FxChiP: Does it indent correctly for you?  My closing
brace goes in one full level
11:39 < FxChiP> Thanks for that
11:40 < scriptdevil> FxChiP: :)
11:40 < FxChiP> Mine does that too, I try to backspace it to the proper
place and if I hit backspace the one more time to do it it sends it all the way
back to column 1
11:40 < scriptdevil> FxChiP: One of those occassions.  If emacs does it
wrong, it must be that the thing is wrong after all :P
11:40 < PaulOkopny> Can anyone tell if there are any go tutorials with
examples?  I need a list tutorial.
11:40 < FxChiP> I took to just doing that and spacing it back
11:40 < FxChiP> :(
11:40 < scriptdevil> FxChiP: Dont space it up.  Use M-i
11:40 < FxChiP> k
11:40 < scriptdevil> tab-to-tab-stop
11:41 * FxChiP is fairly new to emacs :D
11:41 < FxChiP> and Go
11:41 < diltsman> PaulOkopny: http://golang.org/doc/go_tutorial.html
11:41 < scriptdevil> FxChiP: I have been using it for ages and I still dont
elisp :( I must learn it
11:41 < FxChiP> (Speaking of, is there a way to turn an int into a string
that isn't bad?)
11:41 < FxChiP> (In Go, I mean)
11:42 < wm_eddie> Sprintf?
11:42 < GeDaMo> Define bad :P
11:42 -!- rog [n=rog@89.240.185.200] has joined #go-nuts
11:42 -!- vdrab [n=vdrab@cap012-227.kcn.ne.jp] has joined #go-nuts
11:42 < scriptdevil> PaulOkopny: There is no list-tutorial.  There is no
list.  Effective go has some stuff about slices.  Read the docs in godoc if you
want to read about containers
11:44 -!- PaulOkopny [n=paul@92.62.62.33] has quit ["Leaving."]
11:48 -!- diltsman [n=diltsman@64.122.18.77] has quit []
11:49 -!- depood [n=hidden@chello080108055214.19.11.vie.surfer.at] has quit
["leaving"]
11:50 * scriptdevil yawns.
11:51 -!- depood [n=depood@chello080108055214.19.11.vie.surfer.at] has joined
#go-nuts
11:52 -!- conra [n=konrad@host-89-229-12-166.torun.mm.pl] has quit [Remote closed
the connection]
11:52 -!- mtz [n=jaan@165.206.191.90.dyn.estpak.ee] has joined #go-nuts
11:58 -!- Ivatar [n=graham@tu055.demon.co.uk] has joined #go-nuts
12:00 -!- Hofanoff [i=hofanoff@78.46.41.143] has joined #go-nuts
12:02 -!- madmoose [n=madmoose@chef.nerp.net] has quit [Read error: 60 (Operation
timed out)]
12:02 -!- fultilt [n=steve@netblock-66-159-209-175.dslextreme.com] has quit
["WeeChat 0.2.6.1"]
12:02 -!- buluca [n=buluca@unaffiliated/buluca] has quit [Read error: 110
(Connection timed out)]
12:03 -!- scriptdevil [n=scriptde@122.174.114.102] has quit ["leaving"]
12:03 -!- hector_ [n=chatzill@client-86-0-126-58.nrth.adsl.virginmedia.com] has
joined #go-nuts
12:05 -!- RooTer [i=rooter@87-205-66-223.adsl.inetia.pl] has quit [Remote closed
the connection]
12:05 -!- RooTer [i=rooter@87-205-66-223.adsl.inetia.pl] has joined #go-nuts
12:05 -!- tumdum [n=tumdum@unaffiliated/tumdum] has quit []
12:06 -!- hector [n=chatzill@client-86-0-126-58.nrth.adsl.virginmedia.com] has
quit [Read error: 110 (Connection timed out)]
12:06 -!- p0g0 [n=pogo@unaffiliated/p0g0] has joined #go-nuts
12:06 -!- hector_ is now known as hector
12:07 -!- mfb [n=mark@j0.ramona.indybay.org] has quit [Read error: 104 (Connection
reset by peer)]
12:08 -!- Lidys [n=Lidys@ADijon-152-1-29-40.w83-194.abo.wanadoo.fr] has joined
#go-nuts
12:08 < Lidys> hey
12:08 < jessta> hello
12:09 -!- zer0c00l [n=user@117.199.131.81] has joined #go-nuts
12:09 -!- xcombelle [n=chatzill@AToulouse-551-1-105-248.w92-149.abo.wanadoo.fr]
has joined #go-nuts
12:09 -!- Dvyjones [i=dvyjones@unaffiliated/dvyjones] has joined #go-nuts
12:09 < Dvyjones> You don't happen to know any vim syntax files for go?
12:09 -!- Kniht [n=kniht@68.58.17.177] has quit [Read error: 145 (Connection timed
out)]
12:10 < GeDaMo> Dvyjones: $GOROOT/misc/vim
12:10 -!- mfb [n=mark@j0.ramona.indybay.org] has joined #go-nuts
12:10 < Dvyjones> Oh :P
12:10 < __gilles> Snert ?
12:10 < GeDaMo> :D
12:10 -!- awishformore [n=awishfor@78.141.152.48] has joined #go-nuts
12:10 -!- madmoose [n=madmoose@chef.nerp.net] has joined #go-nuts
12:13 < Snert> __gilles g'day (why do you have __ in your name?)
12:13 < Snert> most annoying to type
12:14 < __gilles> hi
12:14 < __gilles> oh the __ is because i need to have a registered nick to
join some channels, and gilles i my usual nick ;)
12:14 < __gilles> removing the debugger and profile
12:14 < __gilles> i could build go on openbsd/amd64
12:15 < __gilles> i think i can get it working using what dho did for
freebsd/amd64
12:15 < Snert> i just figured it was a vanity thing that you wanted to be
sorted at teh top of the list
12:15 < Snert> cool
12:15 * Snert is into the vino
12:16 * Snert is mellow and kinda being lazy
12:16 < DrNach> Go already works on OpenBSD?
12:17 < Snert> __gilles so do your 8.out or 6.out files run?
12:17 < __gilles> not yet
12:17 < Snert> DrNach I've been working on the 386 port for it these past
few days; it compiles , but doesn't run go compiled programs yet
12:17 < __gilles> nah not a vanity thing :)
12:18 < __gilles> gilles is taken, _gilles is taken, __gilles was next on
the list ;p
12:18 < DrNach> Snert: the issue is in the platform library?
12:18 < Snert> __gilles you could have just another name, maybe gilly :)
12:19 < __gilles> yeah, but i registered this one and got used to it ;)
12:19 < Snert> DrNach at the moment I'm guessin that the code doesn't run
because of a bad syscall interface function
12:19 -!- Koen_ [n=Miranda@83.101.24.153] has joined #go-nuts
12:19 < Snert> was looking into the calling convention last night
12:20 < Snert> before I got to the point that I needed relax and watch a
flic
12:20 < DrNach> Open/Net BSD does have some of the calling convention
swapped around compared to Linux/FreeBSD for functions
12:20 -!- superjudge [n=superjud@83.250.109.232] has joined #go-nuts
12:21 < __gilles> it's sad, the asm part we can't share snert :)
12:21 < Snert> DrNach well I've been trying to figure them out; dho gave me
some useful pointers as to where to discover them
12:21 -!- mush06 [n=mush@lam06-4-88-174-45-116.fbx.proxad.net] has joined #go-nuts
12:22 < Snert> __gilles never say never; never hurts to share more examples;
never
12:22 < __gilles> nah i mean, the calling convention looks pretty different
12:22 < Snert> __gilles I thought i was pretty ...  good at this stuff
12:22 -!- tor7 [n=tor@c-987a71d5.04-50-6c756e10.cust.bredbandsbolaget.se] has
joined #go-nuts
12:23 < Snert> but a little out of practice
12:23 < Snert> i can portably code in C, but been a while since my last port
12:24 < __gilles> oh, C is not the problem :)
12:24 < __gilles> for me asm is the problem
12:24 -!- pshahmumbai [n=prashant@59.164.24.233] has joined #go-nuts
12:24 < __gilles> and the fact that there's stuff which isn't portable
between linux and openbsd
12:24 < Snert> well I used to do asm a lot
12:24 < __gilles> (ie: ptrace_syscall)
12:24 -!- hanni [n=hanni@93.96.68.133] has quit []
12:24 < Snert> ptrace is pretty easy i thought
12:24 < __gilles> after i started commenting out non portable ptrace parts
in linux.c
12:25 < __gilles> i realized that it would be easier to get rid of the
entire debugger and rewrite it
12:25 < __gilles> it's full of /proc lookups
12:25 -!- proszbje [n=raulgrel@81.84.215.230] has joined #go-nuts
12:25 < __gilles> and even if you mount /proc on openbsd, i'm pretty sure
its outdated
12:25 < __gilles> and broken
12:25 < Snert> well there is that option, but I found I could map 95% of the
ptrace
12:25 < __gilles> yup, mapping them was not really a problem
12:25 < __gilles> besides the define names
12:25 < Snert> at the time i just wanted to get it to compile
12:25 < __gilles> but getting them to run after it builds
12:26 < __gilles> is another issue :)
12:26 < Snert> i figured that after i got it to compile and run some go
programs i could refine and correct
12:26 < __gilles> yup that's what i want to do
12:26 < __gilles> but after a first read
12:26 < __gilles> i realized that most of the file is unportable because it
relies on linux specific stuff
12:26 < Snert> i'm pretty much there, but my 8.out won't run
12:26 < Snert> :(
12:26 < __gilles> the /proc being one
12:27 < Snert> nah!
12:27 -!- m-takagi_ is now known as m-takagi
12:27 < Snert> /proc is a poor man's toilet
12:28 < __gilles> :)
12:28 < Snert> sysctl is the way to go ;)
12:28 -!- Z3vil [n=Administ@41.214.154.181] has joined #go-nuts
12:28 < __gilles> yeah
12:28 < Snert> i so so hate people that say "use /proc"
12:28 < __gilles> i don't know if everything that the debugger needs can be
fetched from sysctl though
12:28 < __gilles> but worst case, there's still kvm
12:29 -!- Sylvain_ [i=52ee981a@gateway/web/freenode/x-agofenswmvgicuda] has joined
#go-nuts
12:29 < __gilles> anyway, that's going ot wait till my hello world prints :p
12:29 < Snert> well ptrace on openbsd I foudn complete ; only missing equiv
is sysstop
12:29 < __gilles> brb
12:29 -!- xcombelle [n=chatzill@AToulouse-551-1-105-248.w92-149.abo.wanadoo.fr]
has quit [Remote closed the connection]
12:30 < Snert> ya, want my hello world to print too
12:30 -!- aron_ [n=aron@121-73-167-62.dsl.telstraclear.net] has quit []
12:30 * Snert is slipping
12:30 -!- monkfish [n=chatzill@pc4231.stdby.hin.no] has joined #go-nuts
12:30 < Z3vil> hi,
12:31 -!- anders_ [n=anders@c83-253-2-206.bredband.comhem.se] has quit [Read
error: 110 (Connection timed out)]
12:33 -!- rajeshsr [n=rajeshsr@59.92.20.216] has joined #go-nuts
12:33 -!- keithpoole [n=keithpoo@cpc3-bagu8-0-0-cust84.bagu.cable.ntl.com] has
joined #go-nuts
12:37 < XniX23> is there any compiling tool out yet?  like a bash script or
something?
12:39 < frodenius> yes?  did you even bother to read the getting started
document?
12:39 -!- Shihan [n=pjr@124-171-2-17.dyn.iinet.net.au] has joined #go-nuts
12:40 * Snert needs a refill
12:40 -!- Kniht [n=kniht@c-68-58-17-177.hsd1.in.comcast.net] has joined #go-nuts
12:41 -!- Z3vil [n=Administ@41.214.154.181] has quit [Read error: 60 (Operation
timed out)]
12:41 < dho> well, now segfaulting in memstart
12:43 -!- proszbje [n=raulgrel@81.84.215.230] has quit [Read error: 110
(Connection timed out)]
12:44 -!- GeDaMo [n=gedamo@212.225.108.57] has quit ["Leaving."]
12:46 < XniX23> frodenius: thanks, not whole, i noticed only gccgo so far,
but anyway i wrote my own script
12:47 -!- proszbje [n=raulgrel@81.84.215.230] has joined #go-nuts
12:47 < xsacha> script?
12:48 < praetorian> isn't that what makefiles are for?  ;)
12:48 < xsacha> that does 6g and then 6l?
12:48 < hector> does anyone know the calling convention of plan 9?
12:49 < XniX23> xsacha: yes i didnt know any other way of doing that coz im
a bit of a beginner
12:49 -!- Associat0r [n=Associat@h163153.upc-h.chello.nl] has quit [Read error:
104 (Connection reset by peer)]
12:50 < XniX23> praetorian: hah a bit too early about makefiles, i'll
probably know how to use these by the end of this semester :$
12:52 -!- andrebq [n=andrebq@bca201062212015.res-com.wayinternet.com.br] has left
#go-nuts []
12:53 < xsacha> well it wont take long to learn, i suggest doing it now
12:54 -!- belkiss [n=kvirc@78.235.168.105] has joined #go-nuts
12:55 -!- vdrab [n=vdrab@cap012-227.kcn.ne.jp] has quit []
12:55 -!- rmt_ [n=rmt@dslb-092-074-074-003.pools.arcor-ip.net] has joined #go-nuts
12:55 < proszbje> Is the only tutorial on go the one on the golang website?
12:56 < rajeshsr> proszbje, well, look at the 3 pdfs by Rob Pike.  They are
awesome.  I liked it a lot more than the web content
12:56 < rajeshsr> It is in the tutorial
12:56 < proszbje> thanks
12:56 -!- existsec_ [n=existsec@76-228-31-64.lightspeed.frokca.sbcglobal.net] has
quit [Read error: 110 (Connection timed out)]
12:57 -!- xsacha2 [n=hewiu@131.181.210.19] has joined #go-nuts
12:57 -!- existsec_ [n=existsec@76-228-31-64.lightspeed.frokca.sbcglobal.net] has
joined #go-nuts
12:58 -!- |houkiom| [n=belkiss@78.235.168.105] has joined #go-nuts
12:58 -!- keithpoole [n=keithpoo@cpc3-bagu8-0-0-cust84.bagu.cable.ntl.com] has
quit []
12:59 < dho> GRUMBLE
12:59 -!- belkiss [n=kvirc@78.235.168.105] has quit ["KVIrc Insomnia 4.0.0,
revision: 3582, sources date: 20090924, built on: 2009-10-30 14:04:36 UTC
http://www.kvirc.net/"]
13:00 < Snert> dho: (hic!)
13:00 -!- vegard [n=vegard@ben.ifi.uio.no] has joined #go-nuts
13:00 -!- |houkiom| [n=belkiss@78.235.168.105] has left #go-nuts ["No matter how
dark the night, somehow the Sun rises once again"]
13:00 -!- |houkiom| [n=belkiss@78.235.168.105] has joined #go-nuts
13:01 < dho> Snert: one bug left
13:01 < dho> starting a goroutine
13:01 < dho> getting a segfault in mstart
13:01 < dho> after that i suspect most everything works
13:01 -!- anders_ [n=anders@83.253.2.206] has joined #go-nuts
13:01 * dho bbl
13:03 -!- shankhs [i=d2d43004@gateway/web/freenode/x-qdyqvswkpusvuaei] has joined
#go-nuts
13:03 -!- octoploid [n=octoploi@77-23-212-222-dynip.superkabel.de] has joined
#go-nuts
13:04 -!- rmt [n=rmt@dslb-092-074-078-049.pools.arcor-ip.net] has quit [Read
error: 110 (Connection timed out)]
13:06 -!- seymour_ [i=mike@dsl-185-66-4.dynamic.wa.co.za] has joined #go-nuts
13:06 < shankhs> hi I was trying to install go and found that the installer
was trying to download something which it couldnt ( maybe because i am behind a
firewall)...any solution?
13:07 -!- vdrab [n=vdrab@cap012-227.kcn.ne.jp] has joined #go-nuts
13:07 -!- seymour [i=mike@dsl-185-66-4.dynamic.wa.co.za] has quit [Read error: 104
(Connection reset by peer)]
13:07 -!- furbage [n=furbage@87-194-207-82.bethere.co.uk] has quit []
13:08 -!- engla [n=ulrik@90-229-231-23-no153.tbcn.telia.com] has joined #go-nuts
13:09 -!- mainman__ [n=Adium@host20-155-dynamic.30-79-r.retail.telecomitalia.it]
has joined #go-nuts
13:09 -!- andresambrois [n=aa@r190-135-161-77.dialup.adsl.anteldata.net.uy] has
joined #go-nuts
13:12 < shankhs> the forums suggest that i should add http to NOTEST
13:12 < shankhs> done
13:13 -!- shankhs [i=d2d43004@gateway/web/freenode/x-qdyqvswkpusvuaei] has quit []
13:13 < Snert> dho: lucky you; i'm sure to have many if I could just get
past the current one
13:15 -!- xsacha [n=hewiu@131.181.210.19] has quit [Read error: 110 (Connection
timed out)]
13:16 -!- |houkiom| [n=belkiss@78.235.168.105] has quit ["KVIrc Insomnia 4.0.0,
revision: 3498, sources date: 20090907, built on: 2009-09-15 20:07:23 UTC
http://www.kvirc.net/"]
13:16 -!- belkiss [n=belkiss@78.235.168.105] has joined #go-nuts
13:16 < belkiss> hi all
13:16 -!- elmar_ [n=elmar@188.107.217.198] has joined #go-nuts
13:17 -!- dragon3_away is now known as dragon3
13:17 -!- xsacha2 is now known as xsacha
13:17 -!- zer0c00l` [n=user@117.199.138.147] has joined #go-nuts
13:17 * Snert needs to eat; cheers
13:18 < dho> Snert: what's up
13:21 < hendry> http://pastebin.com/m74a0a828 can someone please point out
what i've done wrong to get "too many arguments to return error"
13:22 -!- aa [n=aa@r190-135-154-178.dialup.adsl.anteldata.net.uy] has quit [Read
error: 104 (Connection reset by peer)]
13:22 -!- hanni [n=hanni@93-96-68-133.zone4.bethere.co.uk] has joined #go-nuts
13:23 < Innominate> the function doesn't have a return type but tries to
return a bool
13:24 < sladegen> func assert(x, y int) (ret bool) {
13:24 < hendry> oh right, thanks
13:27 -!- zer0c00l [n=user@117.199.131.81] has quit [Read error: 110 (Connection
timed out)]
13:30 -!- lummie [n=lummie@87-194-101-146.bethere.co.uk] has joined #go-nuts
13:31 -!- ragsagar [n=ragsagar@117.204.98.169] has joined #go-nuts
13:31 -!- daub [n=daub@91-66-67-186-dynip.superkabel.de] has quit [Read error: 113
(No route to host)]
13:32 -!- elmar [n=elmar@dslb-188-097-064-178.pools.arcor-ip.net] has quit [Read
error: 110 (Connection timed out)]
13:35 -!- creack [n=creack@ip-67.net-80-236-112.lhaylesroses.rev.numericable.fr]
has quit [Read error: 60 (Operation timed out)]
13:35 -!- dwery [n=dwery@nslu2-linux/dwery] has quit [Read error: 104 (Connection
reset by peer)]
13:35 -!- creack [n=creack@ip-67.net-80-236-112.lhaylesroses.rev.numericable.fr]
has joined #go-nuts
13:35 -!- anders_ [n=anders@83.253.2.206] has quit ["Leaving"]
13:35 -!- White_Sloun [n=vasya@ppp85-140-232-26.pppoe.mtu-net.ru] has joined
#go-nuts
13:36 < White_Sloun> Is there any omni completion plugin for vim?  I found
only syntax highlight file.
13:38 < bogen> Is there a common simplification of: for i := 0; i < len
(in); i++
13:39 -!- bakkdoor [n=bakkdoor@s15229144.onlinehome-server.info] has joined
#go-nuts
13:39 -!- CallToPower [n=CallToPo@87.106.78.92] has joined #go-nuts
13:39 < sladegen> for i, v := range in { ...
13:39 < sladegen> perhaps, perhaps not...
13:41 < bogen> sladegen: for _, v := range in { ...
13:42 < bogen> sladegen: thanks
13:44 < jessta> White_Sloun: no completion, you should make it
13:44 -!- hanse [n=hanse@188-23-93-90.adsl.highway.telekom.at] has joined #go-nuts
13:45 < octoploid> White_Sloun: no, but a vim indent file would be more
important first.
13:45 < jlouis> bogen: for lists, there is a l.Iter() you can range over.
It builds a goroutine that loops and hands you the channel on which it spews out
the iteration
13:45 < jlouis> the channel can be ranged over, which is pretty cool
13:45 < White_Sloun> ok, I thought that if there is etags and ctags files
generators then maybe there is already omni completion plugin
13:46 -!- engla [n=ulrik@wikipedia/Sverdrup] has quit [Read error: 110 (Connection
timed out)]
13:46 < bogen> jlouis: thanks, I'll need to look into that
13:47 -!- stefanc [n=stefanc@188.25.244.29] has joined #go-nuts
13:47 -!- arun_ [n=arun@unaffiliated/sindian] has quit [Read error: 104
(Connection reset by peer)]
13:48 -!- hanse [n=hanse@188-23-93-90.adsl.highway.telekom.at] has quit [Remote
closed the connection]
13:48 -!- Snert [n=chatzill@puff.snert.com] has quit [Remote closed the
connection]
13:48 -!- daub [n=daub@91-66-67-186-dynip.superkabel.de] has joined #go-nuts
13:49 -!- eduardoboss [n=boss@189.114.205.6.dynamic.adsl.gvt.net.br] has joined
#go-nuts
13:50 -!- hanse [n=hanse@188-23-93-90.adsl.highway.telekom.at] has joined #go-nuts
13:50 -!- xsacha [n=hewiu@131.181.210.19] has left #go-nuts []
13:51 -!- dwery [n=dwery@nslu2-linux/dwery] has joined #go-nuts
13:54 -!- teedex [n=teedex@204.14.155.161] has quit [Remote closed the connection]
13:54 -!- teedex [n=teedex@204.14.155.161] has joined #go-nuts
13:57 -!- ni| [n=ni|@c-24-34-220-147.hsd1.ma.comcast.net] has joined #go-nuts
14:00 -!- depood [n=depood@chello080108055214.19.11.vie.surfer.at] has quit [Read
error: 54 (Connection reset by peer)]
14:01 -!- depood [n=depood@chello080108055214.19.11.vie.surfer.at] has joined
#go-nuts
14:02 -!- White_Sloun [n=vasya@ppp85-140-232-26.pppoe.mtu-net.ru] has quit
["Ex-Chat"]
14:06 -!- CFlux [n=CFlux@pool-98-108-155-174.ptldor.fios.verizon.net] has joined
#go-nuts
14:06 < bogen> hmmm....  accidentally using := instead of = somewhere can
cause subtle problems, but in C/C++ one can make that mistake as well
14:06 -!- seymour_ [i=mike@dsl-185-66-4.dynamic.wa.co.za] has quit [Read error:
104 (Connection reset by peer)]
14:08 < jessta> bogen: usually it will get picked up by the compiler
14:08 < bogen> jessta: well, not when you are in a nested scope
14:09 < bogen> if flag := expression, flag
14:10 < bogen> if flag := expression; flag
14:10 < bogen> rather
14:10 -!- Manan [n=truthlim@142.46.164.30] has joined #go-nuts
14:10 < bogen> where flag is already defined, won't picked up by the
compiler
14:10 < hendry> seems a ugly to me, having to use Cmp for comparing Natural
numbers instead of !=
14:10 -!- gcopenhaver [n=greg@c-98-250-49-37.hsd1.mi.comcast.net] has joined
#go-nuts
14:11 -!- lummie [n=lummie@87-194-101-146.bethere.co.uk] has quit [Read error: 110
(Connection timed out)]
14:11 -!- clearscreen [n=clearscr@e248070.upc-e.chello.nl] has quit ["Leaving."]
14:12 -!- teedex [n=teedex@204.14.155.161] has quit [Read error: 110 (Connection
timed out)]
14:12 -!- clearscreen [n=clearscr@e248070.upc-e.chello.nl] has joined #go-nuts
14:15 -!- evilhackerdude [n=stephan@e181080091.adsl.alicedsl.de] has joined
#go-nuts
14:15 < hendry> is the reflect package what i should be using to inspect
variables for their type and method?
14:17 -!- mennis [n=mennis@65.12.170.146] has joined #go-nuts
14:18 -!- mennis [n=mennis@65.12.170.146] has quit [Client Quit]
14:21 -!- brunov [n=bruno@190.191.110.64] has joined #go-nuts
14:25 -!- asmo_ [n=asmo@c-f6c5e055.1155-1-64736c11.cust.bredbandsbolaget.se] has
joined #go-nuts
14:26 -!- asmo [n=asmo@c-f6c5e055.1155-1-64736c11.cust.bredbandsbolaget.se] has
quit [Read error: 104 (Connection reset by peer)]
14:27 -!- triplez [n=triplez@cm52.sigma225.maxonline.com.sg] has joined #go-nuts
14:27 -!- gmurphy [n=gmurphy@203-206-248-145.dyn.iinet.net.au] has quit []
14:28 -!- pagenoare [n=page@unaffiliated/pagenoare] has joined #go-nuts
14:28 < pagenoare> it's possible to creare GUI in Go?
14:28 < wm_eddie> pagenoare: An HTTP GUI?  Sure.
14:29 -!- limec0c0nut [n=michael@c-24-12-53-42.hsd1.il.comcast.net] has quit
["Leaving"]
14:29 < wm_eddie> Anything else will probably require SWIG support first.
14:29 < pagenoare> what about normal, like in Qt/GTK ?
14:29 -!- keithpoole [n=keithpoo@cpc3-bagu8-0-0-cust84.bagu.cable.ntl.com] has
joined #go-nuts
14:29 < wm_eddie> For that you'll need SWIG.
14:29 < pagenoare> oke
14:29 < pagenoare> thanks
14:29 < bogen> I though it was funny that someone posted that with a gui api
that Go won't attract many programmers
14:30 < bogen> that without...
14:30 < JBeshir> Said person clearly has never developed software for *nix.
14:30 < JBeshir> :P
14:30 < Manan> or done any scripting at all
14:30 < wm_eddie> Well, most people don't use *nix
14:31 < pshahmumbai> do we have any wiki for go ?
14:31 -!- blup [n=icedtea@athedsl-4469096.home.otenet.gr] has joined #go-nuts
14:31 < bogen> one can ALWAYS add gui support later, a solid foundation is
much more important
14:33 < DrNach> Are there any examples yet showing how to call a C function?
14:33 -!- al-maisan [n=al-maisa@66.226.254.66] has joined #go-nuts
14:33 < wm_eddie> look at the cgo examples.
14:34 < bogen> Go (with cgo) wraps C call in similar ways that Ada and C#
wrap C calls
14:35 < wm_eddie> It's pretty interesting.
14:35 < wm_eddie> but I'm not sure I like the whole comment thing...
14:35 -!- oa_Bob1 [n=oa_Bob@159.232.72-86.rev.gaoland.net] has joined #go-nuts
14:36 -!- lux` [n=lux@151.54.240.177] has quit [Read error: 110 (Connection timed
out)]
14:36 < wm_eddie> Seems a little hackish to have the compiler have to look
into the comments for #include statements
14:37 -!- hanse [n=hanse@188-23-93-90.adsl.highway.telekom.at] has left #go-nuts
["Verlassend"]
14:38 -!- clearscreen [n=clearscr@e248070.upc-e.chello.nl] has quit [Read error:
104 (Connection reset by peer)]
14:38 < Manan> Hm, so, does anyone have any idea when we might see a
compiler for Go for Windows?
14:38 -!- justin- [n=justin`@cpe-76-179-254-13.maine.res.rr.com] has quit
["Leaving"]
14:39 -!- lux` [n=lux@151.54.240.177] has joined #go-nuts
14:41 < bogen> Manan: http://code.google.com/p/go/issues/detail?id=107
14:42 < Manan> Ah, thank you very much.
14:42 < mjburgess> i'm using virtualbox + ubuntu on windows7, for now
14:42 < bogen> There was something on the mailing list about that as well
14:43 < bogen> A Windows port - golang-nuts | Google Groups
<http://groups.google.com/group/golang-nuts/browse_thread/thread/e948344145d1f9e5/96246b411ac37a11?lnk=raot>
14:44 -!- keithpoole [n=keithpoo@cpc3-bagu8-0-0-cust84.bagu.cable.ntl.com] has
quit []
14:45 -!- dragon3 is now known as dragon3_away
14:45 < bogen> andLinux is another possibility http://www.andlinux.org/
14:46 < Manan> Woah, that's neat.
14:46 -!- asmo_ [n=asmo@c-f6c5e055.1155-1-64736c11.cust.bredbandsbolaget.se] has
quit [Remote closed the connection]
14:46 -!- keithpoole [n=keithpoo@cpc3-bagu8-0-0-cust84.bagu.cable.ntl.com] has
joined #go-nuts
14:49 -!- GeDaMo [n=gedamo@212.225.108.57] has joined #go-nuts
14:50 -!- dipen [n=dipen@117.195.72.223] has joined #go-nuts
14:50 -!- asmo [n=asmo@c-f6c5e055.1155-1-64736c11.cust.bredbandsbolaget.se] has
joined #go-nuts
14:51 -!- brunov [n=bruno@190.191.110.64] has quit [Read error: 110 (Connection
timed out)]
14:52 -!- pshahmumbai [n=prashant@59.164.24.233] has quit ["Ex-Chat"]
14:52 -!- DrNach [n=nach@89-138-3-138.bb.netvision.net.il] has quit [Remote closed
the connection]
14:53 -!- DrNach [n=nach@89-138-3-138.bb.netvision.net.il] has joined #go-nuts
14:54 < rajeshsr> is range a syntactic sugar for calling some underlying
method?  Is it possibnle to have it for mytype?
14:54 -!- keithpoole [n=keithpoo@cpc3-bagu8-0-0-cust84.bagu.cable.ntl.com] has
quit []
14:55 -!- al-maisan [n=al-maisa@66.226.254.66] has left #go-nuts ["Parting is
tough.."]
14:56 < scandal> rajeshsr: you can impplement the Iterable interface so that
you can range over your own type
14:56 -!- sku [n=sk@93.190.179.188] has joined #go-nuts
14:56 < vdrab> is range a function?
14:56 < rajeshsr> scandal, oh, thanks
14:56 < rajeshsr> so i need to implement what method?
14:56 < rajeshsr> Iter() ?
14:56 < scandal> yes
14:57 < scandal> vdrab: no, its a keyword you can use with the for statement
14:57 -!- boris__ [n=boris@77-58-235-116.dclient.hispeed.ch] has joined #go-nuts
14:58 -!- dju_ [i=dju@ip-39.net-80-236-37.suresnes.rev.numericable.fr] has quit
[Read error: 54 (Connection reset by peer)]
14:58 -!- trost [n=trost@pool-96-225-223-137.ptldor.fios.verizon.net] has joined
#go-nuts
14:58 -!- dju_ [i=dju@ip-39.net-80-236-37.suresnes.rev.numericable.fr] has joined
#go-nuts
14:58 < trost> Hi, guys, what did I miss?
14:59 < vdrab> scandal: i see...  i wonder why though..  not that it
matters, but.
14:59 -!- boris__ [n=boris@77-58-235-116.dclient.hispeed.ch] has quit [Client
Quit]
14:59 -!- dan_ [n=dan@pool-71-124-228-150.bstnma.east.verizon.net] has joined
#go-nuts
14:59 < dipen> how does go compare with languages like erlang when it comes
to process model and transparent inter process communication accross networks.
14:59 -!- insane_coder [n=nach@89-138-158-241.bb.netvision.net.il] has joined
#go-nuts
14:59 < dipen> is there any blog posts abt that?
15:00 < trost> Might try some Erlang blogs
15:00 -!- dan_ is now known as Bolo
15:00 < scandal> vdrab: i'm not sure of the details, but i agree.  it would
be nice to be able to omit it and have the compiler figure out when the arg is
something you can iterate over
15:00 < bogen> trost: what did you miss?  Go is getting renamed and Google
is dropping Linux support for it.
15:00 < trost> Oh noes!
15:00 < dipen> i am looking to learn a new language for server development,
was looking at erlang before go's announcement, now evaluating both.
15:01 * scandal checks the calendar to make sure it's not Apr 1.  :-)
15:01 * bogen only uses Linux, so this is not good for him...
15:02 < Bolo> Where did you see that bogen?
15:02 < scandal> bogen: have they renamed it Ya, with debugger named hoo!
15:03 <+danderson> dipen: Go is currently very experimental, I wouldn't use
it for production code just yet.
15:04 -!- mainman__ [n=Adium@host20-155-dynamic.30-79-r.retail.telecomitalia.it]
has quit ["Leaving."]
15:04 < no_mind> dipen, hello
15:04 < dipen> no_mind: hey :)
15:05 < dipen> danderson: I dont need it yet, but yeah like in 5-6 months
time.  I know its not mature, but would wanna clearly understand what it aims to
solve.  Like erlang specifically solve concurrency challenges.
15:05 < bogen> Bolo: I was messing with trost
15:06 <+danderson> dipen: you may want to read
http://golang.org/doc/go_lang_faq.html#origins
15:06 <+danderson> the origin sections explain a little bit of what Go is
about.
15:06 -!- thedevel [n=thedevel@pool-72-78-219-199.phlapa.fios.verizon.net] has
joined #go-nuts
15:06 <+danderson> But basically, the goal is to build a modern systems
programming language (ie.  something on the same level as C, more or less)
15:06 -!- vdrab [n=vdrab@cap012-227.kcn.ne.jp] has quit []
15:06 -!- mainman__ [n=Adium@host20-155-dynamic.30-79-r.retail.telecomitalia.it]
has joined #go-nuts
15:07 <+danderson> the concurrency support in Go is very interesting, but
it's not all about concurrency the way Erlang is.
15:07 < blup> you cant put it on the same level as c
15:07 < blup> cause of no pointer arithmetics
15:08 -!- cbus [n=cbus@83.140.181.59] has left #go-nuts []
15:08 < blup> so aimed at similar tasks possibly, but same level..  not
quite
15:08 <+danderson> That is not quite exact.  Go can do indexed access, which
the compiler can transform into pointer arithmetic for efficiency.
15:08 -!- ni| [n=ni|@c-24-34-220-147.hsd1.ma.comcast.net] has quit [Read error: 60
(Operation timed out)]
15:08 <+danderson> But the lack of freeform pointer arithmetic prevents the
derivation of invalid dereferences, which is a very nice thing to have.
15:09 < blup> oui
15:09 < blup> i think i might have come off as rude :/
15:10 <+danderson> not at all, I'm just mildly disagreeing :)
15:10 <+danderson> well, I agree that there is no pointer arithmetic
available to the programmer
15:10 <+danderson> but you seem to imply that it leads to loss of
functionalit
15:10 <+danderson> +y
15:10 < blup> i was thinking embedded systems
15:10 < blup> but i believe that you can jsut use C there
15:11 * trost thinks erlang concurrency and go concurrency are actually fairly
similar
15:11 < blup> *go on using C there without it being much as a problem since
the hardware is gonna be way more of a problem than the programming language you
are using
15:11 <+danderson> very small embedded systems are a problem for a different
reason, because the runtime is quite large
15:11 < GeDaMo> If you're talking about accessing arbitrary address, you
could add a package to Go for that
15:11 <+danderson> compared to C's minimal "set up the stack pointer"
runtime
15:11 < trost> It's both about sending messages between
tasks/processes/whatevers
15:12 < blup> i think the go runtime is a very desiurable thing to have
15:12 <+danderson> trost: sure, but Erlang has a few different approaches on
the subject
15:12 < trost> fer sure
15:12 < jessta> for embedded systems you should probably just use C
15:12 <+danderson> by default Go channels use CSP semantics, where
goroutines have to rendezvous to transmit a value
15:12 * trost programs embedded systems with 4 GB RAM
15:13 * danderson programs embedded systems with 128 bytes of RAM :)
15:13 < blup> gtk bindings would be lovely ><
15:13 < Bun> gtk port would be lovely
15:13 <+danderson> kids these days, less than 1G of ram and they're
completely at a loss!  :P
15:13 < trost> :D
15:13 -!- Garibaldi [n=adalton@173-16-117-14.client.mchsi.com] has joined #go-nuts
15:13 < Koen_> guys, i can't figure out how to use the ResolveTCPAddr
function of net.TCPAddr
15:13 < Koen_> i always get type net.TCPAddr is not an expression
15:14 < Koen_> probably because i'm calling it wrong
15:14 < wm_eddie> Wow, I thought 2K of RAM was tight.
15:14 < blup> i have 2k o.o
15:14 -!- asmo [n=asmo@c-f6c5e055.1155-1-64736c11.cust.bredbandsbolaget.se] has
quit [Nick collision from services.]
15:15 -!- kill-9 [n=kill-9@cpe-65-24-145-70.columbus.res.rr.com] has joined
#go-nuts
15:15 -!- asmo_ [n=asmo@85.224.197.246] has joined #go-nuts
15:15 -!- Guest18514 [n=hans@c-98-234-25-125.hsd1.ca.comcast.net] has joined
#go-nuts
15:15 < trost> So how are you calling it?  Why are you calling it?
15:16 < Koen_> trost: net.TCPAddr.ResolveTCPAddr(raddr,SERVER);
15:16 -!- seymour [i=mike@dsl-145-143-168.telkomadsl.co.za] has joined #go-nuts
15:16 < Koen_> trost: i want to use it with DialTCP from TCPConn
15:16 < Koen_> trost: the result, that is
15:17 < trost> DialDCP takes the addr directly.  No need to resolve
15:17 -!- DrNach [n=nach@89-138-3-138.bb.netvision.net.il] has quit [Connection
timed out]
15:17 -!- crooter [n=crooter@adsl-69-209-124-89.dsl.klmzmi.ameritech.net] has
joined #go-nuts
15:18 < Koen_> DialTCP(net string, laddr, raddr *TCPAddr) if i use
"hostname:port",nil,nil i get invalid argument
15:18 < vegard> does go have something like instanceof operator?
15:18 < trost> Anyhow, resolveTCPAddr only takes 1 arg, a string
15:18 -!- clearscreen [n=clearscr@e248070.upc-e.chello.nl] has joined #go-nuts
15:18 < trost> Personally, I'd just use dial()
15:19 < Koen_> trost: but how do i use functions from tcpconn when i get
net.Conn back from Dial()
15:19 < ajhager> I am using os.ForkExec but no matter what I put for the
envv argument, I can't get the environment variables to be set.  Anyone have a
clue what is needed?
15:19 < trost> Dial("tcp", "", "google.com:80")
15:20 * trost is thinking in terms of Plan 9 and is trying to quickly read the net
package docs...
15:20 < rajeshsr> scandal, how to implement Iter() say for a custom type:
type mying int
15:20 < wm_eddie> vegard: I think you use foo.(Type) inside an if statement.
15:20 < rajeshsr> *myint
15:20 < trost> rajeshsr, I submitted a bug on the vars := Read(...) problem
15:20 < rajeshsr> trost, oh, thats cool!  so thats a bug!  :)
15:21 < Koen_> trost: conn,err = net.Dial(..) i got that, but i want to call
functions from TCPConn on conn
15:21 < trost> TCPConn(net.Dial(...))
15:21 < trost> no?
15:21 < Koen_> trost: i can't figure out how using the docs
15:21 < Amaranth> rajeshsr: func (this int) Iter(...etc)
15:21 < scandal> rajeshsr: you need to write a method (v myint) Iter() chan
interface{}
15:21 < Amaranth> rajeshsr: err, this myint
15:21 < trost> yeah, I found them doing something similar in the docs with
complexSqrt(-1)
15:22 < rajeshsr> scandal, oh, it returns a channel?!  was wondering about
that!
15:22 < trost> More precisely, Koen_, net.TCPConn(net.Dial(...))
15:22 < rajeshsr> BTW, where is that documented?
15:23 < vegard> wm_eddie: thanks!
15:23 < Koen_> trost: where is something like that documented because i
didn't find it
15:23 -!- keithpoole [n=keithpoo@cpc3-bagu8-0-0-cust84.bagu.cable.ntl.com] has
joined #go-nuts
15:23 < trost> http://golang.org/pkg/net/#tmp_220 says TCPConn is an
implementation of the Conn interface for TCP network connections
15:24 < rajeshsr> trost, bug id?
15:24 < scandal> rajeshsr: hrm, i just looked at the exp/iterable to see how
it worked
15:24 < trost> 188, rajeshsr
15:25 < Koen_> trost: i mean the syntax for something like
net.TCPConn(net.Dial()), don't even know how you would call that
15:25 < trost> oops, Dial returns two values.  The first one can be
converted to TCPConn assuming the second is nil and not an error
15:25 < trost> http://golang.org/pkg/net/#tmp_73 is the docs for Dial()
15:26 < rajeshsr> scandal, hmm, ok.
15:26 < Koen_> trost: that doesn't state how to make the conversion to
net.TCPConn syntaxwise
15:26 < rajeshsr> trost, cool!  seen that
15:26 < trost> conn, err := Dial(...); tcpConn := TcpConn(conn)
15:27 < rajeshsr> trost, BTW, i think it fails only in package scope, right?
15:27 < trost> TCPConn is a convert to convert anything to type TCPConn
15:27 < trost> nope
15:27 -!- godfath3r__ [n=godfath3@athedsl-4488148.home.otenet.gr] has joined
#go-nuts
15:27 < trost> fails inside a function, as best I can tell
15:27 -!- halfdan_ is now known as halfdan
15:27 < trost> Hi, halfdan.  Better than no dan at all.
15:27 < halfdan> hi trost
15:28 < trost> brb
15:28 -!- Godfath3r_ [n=godfath3@athedsl-4489942.home.otenet.gr] has quit [Read
error: 60 (Operation timed out)]
15:28 < halfdan> actually halfdan is a scandinavian name
15:29 < rajeshsr> trost, yeah, := only works in function scope.  But := is
disallowed in package scope, i guess
15:29 < blup> := is the shit
15:29 < rajeshsr> trost, I mean it works with using: re, im := fun()
15:29 < blup> best operator ever
15:29 < halfdan> := is awesome
15:30 -!- buluca [n=buluca@static-217-133-79-50.clienti.tiscali.it] has joined
#go-nuts
15:30 < blup> btw was goto added just for fun cause of the name or was it
genuinely considered necissary?
15:30 * trost says hi to Scandinavia
15:31 < JBeshir> blup: Possibly to allow more complex behaviour than is
possible otherwise.
15:31 -!- reubens [n=reubens@c-66-235-53-139.sea.wa.customer.broadstripe.net] has
joined #go-nuts
15:31 * halfdan sends greetings from germany ;)
15:31 < blup> if it was that makes me happy ;p
15:31 < blup> that a language released in '09 has goto
15:31 < rajeshsr> BTW, is := disallowed in package scope?  It was said so by
KirkMcDonald yesterday.  But I wasn't able to find anything in docs.  May be I
didn't read well
15:32 < halfdan> blup: well, even php introduced goto some months ago.  dont
mix up the goto from old languages like basic/c whatever with the goto from php/go
15:32 < scandal> rajeshsr: see 'Declarations and scope' in the language
reference
15:32 < scandal> := is not a decl
15:33 < scandal> TopLevelDecl = Declaration | FunctionDecl | MethodDecl .
15:33 < trost>
http://golang.org/doc/go_spec.html#Short_variable_declarations says Short variable
declarations may appear only inside functions.
15:33 < jessta> goto has always been a useful tool
15:33 * trost thinks goto foo can always be replaced with return foo(...)
15:34 < trost> ...except maybe not in Go
15:34 -!- nekschot [i=nekschot@82-171-143-27.ip.telfort.nl] has joined #go-nuts
15:34 < trost> "defer" complicates the issue
15:34 < trost> or maybe not
15:34 -!- dipen [n=dipen@117.195.72.223] has quit [Read error: 104 (Connection
reset by peer)]
15:34 < blup> i think the only way to emulat goto behaviouir would be with
exceptions
15:34 < scandal> trost: should be ok, defer is executed when exiting the
function and you can't use goto out of a function
15:34 < blup> of course that would give you no gobackto
15:35 < scandal> gosub/return :)
15:35 < trost> RDROP EXIT ;
15:35 < rajeshsr> scandal, uh!  too subtle!  :) thanks
15:36 < rajeshsr> anyway, why prohibit := in package scope.  I see no
rationale for that
15:36 < trost> Now you're asking hard questions.
15:36 < rajeshsr> trost, me?!  :)
15:37 < scandal> rajeshsr: most likely to simply the parser.  note that at
package scope you can use var foo = somefunc() without any type specified
15:37 -!- elmar_ [n=elmar@188.107.217.198] has quit [Read error: 110 (Connection
timed out)]
15:37 -!- elmar_ [n=elmar@dslb-188-097-068-188.pools.arcor-ip.net] has joined
#go-nuts
15:37 -!- crooter [n=crooter@adsl-69-209-124-89.dsl.klmzmi.ameritech.net] has left
#go-nuts []
15:37 < trost> ...unless somefunc is Read.  (-:
15:37 < rajeshsr> scandal, yeah, playe around with it and that caused us to
find issue 188
15:38 < rajeshsr> yeah
15:38 < jessta> trost: I see lots of people try to get around using goto by
doing all sort of crazy things
15:38 < jessta> the goto phobia is very weird
15:38 -!- ginkgo [n=ginkgo@chello084113198244.17.14.vie.surfer.at] has joined
#go-nuts
15:38 < trost> It's actually pretty easy to avoid if you keep your functions
small, jessta
15:38 < scandal> rajeshsr: i guess that doesn't bother me much.  as a style
issue, i would only call allocation functions to initialize globals at package
scope
15:39 * trost admits using do{...}while(0) to fake it on occassion
15:39 < jessta> trost: yeah, most of the time you don't need goto, but
sometimes you do
15:39 * trost never needs goto.  So there.  (-:
15:39 < blup> as he said "do wierd things to avoid it"
15:39 < jessta> trost: well, it's your loss
15:39 < trost> nah.  Smaller functions is the main way to avoid it, and
that's a win all around
15:40 < scandal> uses goto occasionally in C to add fake exception handling
15:40 < blup> fake?
15:40 -!- Irssi: #go-nuts: Total of 498 nicks [0 ops, 0 halfops, 2 voices, 496
normal]
15:40 < trost> Any how, this is #go-nuts, not #goto-nuts
15:40 < blup> it's very much real
15:40 < scandal> well, fake RAII at least.  :)
15:40 < scandal> trost: heh
15:40 -!- diltsman [n=diltsman@64.122.18.77] has joined #go-nuts
15:41 < scandal> in Go, defer gets rid of that need
15:41 < wm_eddie> try/catch is just a fancy goto.
15:41 < wm_eddie> in fact, how is @try @catch implemented in Obj-c?
15:41 < rajeshsr> wm_eddie, yeah!  i have (ab)used it a lot!  :)
15:42 < blup> screw obj-c ><
15:42 < rajeshsr> it abstracts longjmp beautifully!  :)
15:42 < scandal> rajeshsr: after all, why restrict your goto to a single
function, right?  :)
15:43 -!- keithpoole [n=keithpoo@cpc3-bagu8-0-0-cust84.bagu.cable.ntl.com] has
quit []
15:43 < blup> yeah i wana go into nexted loops and jump between fuctions
15:43 < rajeshsr> scandal, yeah!  anyway, i like it to write some recursive
search and terminate once u found it.  Its really boring to return a bool and
check it all out!  just "throw found"!  :)
15:44 < blup> thats absurd :P
15:44 < blup> blup
15:44 -!- stefanc [n=stefanc@188.25.244.29] has quit ["Leaving"]
15:44 -!- LaSaRuX [n=pedro@184.Red-83-50-170.dynamicIP.rima-tde.net] has joined
#go-nuts
15:45 < trost> "return found_value" no worky?
15:45 < scandal> rajeshsr: i guess in go you'd just create a channel and do
your recursive search in a goroutine, push the found item into the chan then
return?
15:45 < blup> he said he doesnt like returning a boolean :P
15:45 < JBeshir> It's especially absurd
15:45 < trost> Pass in a function that the search routine calls when it
can't find it
15:45 < JBeshir> Given how slow exceptions are
15:45 < rajeshsr> inorder() chk; inorder()
15:45 < jessta> rajeshsr: I've seen code that does that, infact it was in an
assignment I subbmitted for uni
15:46 -!- ehird [n=ehird@91.105.120.35] has joined #go-nuts
15:46 < rajeshsr> cases like that require a bool returned.  But i feel its
ok to throw and let the implementation unwrap!
15:46 -!- tumdum [n=tumdum@unaffiliated/tumdum] has joined #go-nuts
15:46 < rajeshsr> scandal, in go too things would't change i guess
15:47 < rajeshsr> except that it can be a goroutine
15:47 < jessta> rajeshsr: someone used it as a hack to return multiple
values from a function without having to change the interface
15:47 -!- cbacelar_ is now known as mesenga_
15:47 -!- mesenga_ is now known as mesenga
15:47 -!- french [i=550230f2@gateway/web/freenode/x-rlougwrxkdbxutyb] has joined
#go-nuts
15:47 < trost> longjmp()s with style.  Ugh.
15:47 -!- tumdum [n=tumdum@unaffiliated/tumdum] has quit [Client Quit]
15:48 < rajeshsr> jessta, haha!  thro int, throw string!!!  :)
15:48 < french> Is the regexp package utf8 safe?
15:48 < rajeshsr> cool!
15:48 < diltsman> I had a CS professor who implemented a cooperative
multithreading "Operating System" using longjmp to implement the threading.
15:49 < rajeshsr> diltsman, threading?!
15:49 < Bun> is `had' significant here?
15:49 < trost> Seems like the pth library does something similar, diltsman
15:49 -!- boris__ [n=boris@77-58-235-116.dclient.hispeed.ch] has joined #go-nuts
15:49 < jessta> diltsman: isn't that how goroutines work?
15:50 < blup> iant, or danderson could probably answer this
15:50 < diltsman> rajeshsr: Yes.  You did have to make a function call back
to the "OS" to swap threads, but effectively, yes.
15:50 < blup> i do know its pthreads in gccgo though
15:50 < diltsman> jessta: Maybe, but at least it is hidden from the users.
15:50 < rajeshsr> diltsman, you mean the function executes in a thread or
use longjmp to simulate it?
15:50 * trost cringes at the mention of pthreads
15:50 -!- dipen [n=dipen@117.195.71.177] has joined #go-nuts
15:50 < diltsman> longjmp was used to simulate interleaving of threads on a
single host thread.
15:50 < blup> trost, pthreads pthreds pthreds
15:51 * trost shudders, screams, and cowers (in that order)
15:51 < jessta> diltsman: it's not really a simulation
15:51 < rajeshsr> diltsman, ha, to multiplex which function to execute?
15:51 < jessta> that's the only way to do it
15:51 < rajeshsr> well, am not sure how it is possible
15:51 < rajeshsr> you wud still have blocking calls
15:51 < diltsman> It was for an OS theory class.  It was painful.
15:51 < rajeshsr> thats where threading could help out
15:51 < trost> pth has some magic to replace the blocking calls with a
context switch and a readying to select(2)
15:52 * trost presume Go does, too
15:52 < trost> (well, ok, epoll rather than select)
15:52 < jessta> spawn a new OS thread for blocking calls
15:52 -!- boris__ [n=boris@77-58-235-116.dclient.hispeed.ch] has quit [Client
Quit]
15:54 -!- Gertm [n=Gertm@81.83.0.66] has left #go-nuts []
15:55 < blup> i am a pthread
15:56 -!- mdeicaza [n=miguel@32.177.154.31] has joined #go-nuts
15:57 * trost is a full-blown process with memory protection
15:58 * bogen is a hardware interrupt service routine
15:58 < Amaranth> arg, this is so annoying
15:59 < Amaranth> resp is http.Response and resp.Body.Read always returns 0
for the bytes read count
15:59 < Amaranth> io.ReadAll(resp.Body) works though
15:59 < Amaranth> oh, and io.ReadAtLeast just stalls forever
16:01 -!- Rock4eveR [i=Rock4eve@unaffiliated/rock4ever] has joined #go-nuts
16:01 -!- french [i=550230f2@gateway/web/freenode/x-rlougwrxkdbxutyb] has quit
["Page closed"]
16:05 -!- diltsman [n=diltsman@64.122.18.77] has quit []
16:06 -!- anders_ [n=anders@c83-253-2-206.bredband.comhem.se] has joined #go-nuts
16:07 < eiro> hello all
16:07 -!- anders_ [n=anders@c83-253-2-206.bredband.comhem.se] has quit [Client
Quit]
16:07 -!- anders_ [n=anders@c83-253-2-206.bredband.comhem.se] has joined #go-nuts
16:07 -!- linearz [n=linearz@118.100.5.104] has joined #go-nuts
16:07 -!- superjudge_ [n=superjud@c83-250-109-232.bredband.comhem.se] has joined
#go-nuts
16:07 < Amaranth> everyone just uses io.ReadAll too :/
16:08 < eiro> var omitNewline = flag.Bool("n", false, "don't print final
newline")
16:08 < eiro> i read this line from tutorial ...  i from omitNL :=
flag.Bool( ...
16:08 < Dvyjones> What does this error mean: gobot.go:11: multiple-value
net.ResolveTCPAddr() in single-value context ?
16:09 < eiro> instead.  it doesn't work.  did i missed some point about := ?
16:09 -!- mbarkhau [n=koloss@p54A7D2C0.dip.t-dialin.net] has joined #go-nuts
16:09 < Amaranth> Dvyjones: ResolveTCPAddr has two return values and you're
trying to assign it to one return value
16:09 -!- diltsman [n=diltsman@64.122.18.77] has joined #go-nuts
16:09 < Dvyjones> So "socket, err := net.DialTCP("tcp", nil, addr);" isn't
valid?
16:10 < Amaranth> eh?
16:10 -!- belkiss [n=belkiss@78.235.168.105] has quit ["KVIrc Insomnia 4.0.0,
revision: 3498, sources date: 20090907, built on: 2009-09-15 20:07:23 UTC
http://www.kvirc.net/"]
16:10 < Amaranth> That line looks fine, it must be complaining about
something else
16:11 < Dvyjones> Oh, wait.
16:11 * Dvyjones looked at the wrong line xD
16:11 < Amaranth> The line above that, I'm guessing :)
16:11 < Dvyjones> Indeed.
16:11 < Dvyjones> Is there a way to ignore a return value?
16:11 < Amaranth> change addr := net.Resolve...  to addr, err := or addr, _
:= to ignore the err return
16:12 < Amaranth> _ is much nicer than my dontcare int I use when doing Xlib
things :)
16:13 -!- sm [n=sm@cpe-76-173-194-242.socal.res.rr.com] has joined #go-nuts
16:13 -!- Bolo [n=dan@pool-71-124-228-150.bstnma.east.verizon.net] has quit
["Leaving"]
16:13 < Dvyjones> var b [512]byte; socket.Read(b); os.Stdout.Write(b); //
This should print something?  socket is a *TCPConn
16:14 -!- binaryjohn [n=binaryjo@cpe-24-30-132-50.san.res.rr.com] has joined
#go-nuts
16:14 < Amaranth> If it's anything like the problems I've having socket.Read
is reading 0 bytes
16:14 -!- octoploid [n=octoploi@77-23-212-222-dynip.superkabel.de] has quit
["WeeChat 0.3.1-dev"]
16:15 -!- superjudge [n=superjud@83.250.109.232] has quit [Read error: 145
(Connection timed out)]
16:15 -!- superjudge__ [n=superjud@c83-250-109-232.bredband.comhem.se] has joined
#go-nuts
16:16 -!- superjudge__ is now known as superjudge
16:16 < Dvyjones> Amaranth: Probably.
16:16 < Dvyjones> Looks like it's reading 0 bytes here.
16:17 -!- trost [n=trost@pool-96-225-223-137.ptldor.fios.verizon.net] has quit
["Leaving"]
16:18 -!- linearz [n=linearz@118.100.5.104] has quit []
16:19 < jessta> Dvyjones: any error?
16:19 -!- philcrissman [n=philcris@c-75-72-98-108.hsd1.mn.comcast.net] has quit
["Leaving..."]
16:19 -!- anders_ [n=anders@c83-253-2-206.bredband.comhem.se] has quit ["leaving"]
16:20 -!- superjudge_ [n=superjud@c83-250-109-232.bredband.comhem.se] has quit
[Read error: 60 (Operation timed out)]
16:21 -!- Manish [n=chatzill@c-67-189-144-6.hsd1.ma.comcast.net] has joined
#go-nuts
16:21 < Manish> join #go-nuts
16:21 -!- cmarcelo [n=cmarcelo@187.59.243.125] has joined #go-nuts
16:22 < Manish> join #go-nuts
16:22 -!- buluca [n=buluca@static-217-133-79-50.clienti.tiscali.it] has quit [Read
error: 110 (Connection timed out)]
16:23 -!- cmarcelo [n=cmarcelo@enlightenment/developer/cmarcelo] has quit [Read
error: 104 (Connection reset by peer)]
16:23 < Dvyjones> jessta: cannot use b (type [512]uint8) as type []uint8
16:23 < Dvyjones> jessta: []byte doesn't error, but it reads 0 bytes.
16:24 -!- qbit_ [n=qbit_@c-75-71-160-106.hsd1.co.comcast.net] has joined #go-nuts
16:24 -!- cmarcelo [n=cmarcelo@enlightenment/developer/cmarcelo] has joined
#go-nuts
16:24 < Dvyjones> I have to go, bbl.
16:25 -!- kingless [n=user@adsl-162-171-194.rmo.bellsouth.net] has joined #go-nuts
16:25 < drhodes> what would be the next best way to map[MyType]OtherType, if
MyType isn't supported by map?
16:27 < Amaranth> neat, I've got a working (certainly not spec compliant)
proxy server in 66 lines of code
16:27 -!- Rock4eveR [i=Rock4eve@unaffiliated/rock4ever] has left #go-nuts []
16:29 -!- zer0c00l` is now known as zer0c00l
16:30 < diltsman> What happens if you try to take a slice of a slice that is
bigger than the capacity of what you are slicing?
16:30 < nickjohnson> So, is there a Go HTTP server already?
16:30 < Amaranth> nickgibbon: uh, yeah, it comes with one
16:31 < Amaranth> nickgibbon: the http module
16:31 * nickjohnson presumes Amaranth means me
16:31 < nickjohnson> cool.
16:31 < Amaranth> err, stupid nick completion :P
16:31 < nickjohnson> Hey, careful with your words there ;)
16:31 < vegai> nickjohnson: even cooler that golang.org runs on go?
16:31 < dagle2> nickjohnson: There are also a tiny example server in the
http package.
16:31 < diltsman> Amaranth: 66 lines of code?  That isn't hardly code.
That's like a sneeze.
16:31 < vegai> drhodes: perhaps serialize MyType?
16:31 < nickjohnson> vegai: Ah, right, I'd forgotten about that
16:32 < Amaranth> diltsman: well, I've also got 180 lines of code copied
from the http module due to http.send being lowercase :)
16:33 < nickjohnson> Another stupid question, then: Any support for
arbitrary precision integers?
16:33 < Amaranth> isn't that the bigint module?
16:33 < XniX23> does http package handle cookies if i login to a website?
16:33 < Amaranth> err, bignum
16:33 < nickjohnson> Just wondering how big a fractran implementation would
be in Go :)
16:34 < Amaranth> XniX23: No, it doesn't have a behind the scenes cookie
store
16:34 < XniX23> Amaranth: so i would actually be logged out on second
request?
16:35 < Amaranth> XniX23: Considering there is no public API that lets you
set cookies you won't even get in on the first request :)
16:35 < Shihan> stupid question..  if your passing data into a c library,
what would be the difference between myfunctioncall("somedata") and
myfunctioncall(fmt.Sprintf("somedata")) ?
16:35 < Amaranth> Shihan: The second one is a somewhat slow way of making a
copy of the string
16:36 < XniX23> Amaranth: oh right, i forgot about that :)
16:36 < Shihan> for some reason, the first one works, the second does not...
its got me quite weirded out
16:36 < Amaranth> Shihan: I suppose the first one would also be a const
string
16:37 < XniX23> Shihan: try myfunctioncall(v:=fmt.Sprintf("somedata"))
16:37 < XniX23> omg what did i just write
16:38 < Amaranth> XniX23: I think that'll pass true to the function
16:38 < Shihan> yeah, i figured it might be going back to a const and thats
messing with it...
16:38 < Shihan> xni, yeah i tried that one already too
16:38 < XniX23> Amaranth: yes, dummie me
16:38 < Shihan> or at least, v:= fmt.Sprint...; myfunctioncall(v);
16:40 < XniX23> Shihan: i dont think you can do it that way, unless
Sprintf() returns a string
16:40 < Shihan> sprintf does ineed return a string
16:40 -!- vegy [n=neki@we.will.never-be.afraid.org] has quit ["( www.nnscript.com
:: NoNameScript 4.22 :: www.esnation.com )"]
16:40 < XniX23> Shihan: hmm...  no idea then :)
16:41 < Amaranth> I'm tempted to pull the whole http module into my source
tree just to strip out the use of fmt
16:41 < Shihan> i.e.  v:= fmt.Sprintf("somestring: %s", mystring) would
rturn as a string what fmt.Printf("somestring: %s", mystring) would print to
stdout..
16:42 < XniX23> dunno why it doesnt work then
16:42 < XniX23> g2g have fun solving this one ;)
16:42 -!- Dvyjones [i=dvyjones@unaffiliated/dvyjones] has quit [Remote closed the
connection]
16:42 < Sylvain_> nickjohnson: webserver example is here :
http://golang.org/doc/effective_go.html#web_server
16:43 -!- XniX23 [n=XniX23@we.will.never-be.afraid.org] has quit [Remote closed
the connection]
16:43 < nickjohnson> cool, thanks
16:43 < Amaranth> dang, this program is using 6.2MB of memory
16:43 * nickjohnson gasps in horror
16:43 -!- itrekkie [n=itrekkie@ip98-165-246-56.ph.ph.cox.net] has joined #go-nuts
16:43 < Amaranth> a python version uses 4MB and a C version uses 256KB :/
16:44 < binBASH> does go have a SPDY example?  ;)
16:44 < Amaranth> hehe, no
16:44 < Amaranth> That web server example is very confusing
16:44 -!- thedevel [n=thedevel@pool-72-78-219-199.phlapa.fios.verizon.net] has
left #go-nuts []
16:44 -!- brunov [n=bruno@190.191.110.64] has joined #go-nuts
16:45 -!- JoePeck_ is now known as JoePeck
16:45 < Amaranth> http://golang.org/pkg/http/#tmp_54 is easier to understand
16:45 -!- Guest18514 [n=hans@c-98-234-25-125.hsd1.ca.comcast.net] has quit [Read
error: 104 (Connection reset by peer)]
16:46 -!- ForLoop [n=forloop@87-150-128.netrun.cytanet.com.cy] has joined #go-nuts
16:47 < binBASH> are there fedora rpms?
16:48 < Amaranth> no
16:48 < binBASH> Too bad :(
16:48 < Amaranth> Go in its current state can't really be packaged
16:49 < Amaranth> It is dependent on env variables which a package cannot
set for all users
16:52 -!- kingless [n=user@adsl-162-171-194.rmo.bellsouth.net] has quit ["ERC
Version 5.3 (IRC client for Emacs)"]
16:52 -!- bolo [n=bolo@pool-71-124-228-150.bstnma.east.verizon.net] has joined
#go-nuts
16:52 < jessta> SPDY is the strangest thing I've seen in a while
16:53 < mainman__> Amaranth: why not?
16:54 -!- tuckerkevin [n=tuckerke@pool-70-109-27-99.atl.dsl-w.verizon.net] has
joined #go-nuts
16:54 < jessta> Amaranth: pretty sure it can
16:54 < diltsman> Writing functionality to convert UTF-32 to UTF-8.  Talk
about bitwise operators.
16:54 < Amaranth> mainman__: Well I suppose it could change /etc/environment
but Debian/Ubuntu at least have a rule that packages cannot depend on env
variables to work correctly
16:55 < mainman__> Amaranth: that's a smart rule, but for unofficial package
you can do it, in my company we have .debs with intellc++/oracle that need to
change envorinment stuff to work
16:56 * Amaranth only does official packages
16:56 < Amaranth> Or packages that I want to someday become official
16:56 < mainman__> ah ok ;)
16:56 -!- CalJunior [n=Adium@82-168-237-95.ip.telfort.nl] has joined #go-nuts
16:56 < jessta> but yeah, making rpms at this stage is silly as it's not
even finished yet
16:57 < JBeshir> Amaranth: Wrap the binaries in shell scripts that set the
appropriate environmental variables
16:57 < JBeshir> Ugly, but works
16:57 -!- mdeicaza [n=miguel@32.177.154.31] has left #go-nuts ["Ex-Chat"]
16:57 < Amaranth> JBeshir: I actually plan on doing just that
16:57 -!- CalJunior [n=Adium@82-168-237-95.ip.telfort.nl] has quit [Client Quit]
16:57 < Amaranth> JBeshir: or patching the binaries to put the env variable
set at build time in as a default to use if the variables are not set at runtime
16:58 -!- ehird_ [n=ehird@91.105.112.3] has joined #go-nuts
16:58 < scandal> you might be able to just do setenv("/usr/local/lib/go/");
in the main();
16:59 -!- tuckerkevin [n=tuckerke@pool-70-109-27-99.atl.dsl-w.verizon.net] has
quit ["~ Trillian Astra - www.trillian.im ~"]
17:00 -!- facemelter [n=facemelt@87.60.0.194] has joined #go-nuts
17:00 < mainman__> uhm i'll prefer shellscript stuff, maybe that's gets
infos from /etc/* or /etc/default/* , it'll give me the possibility to have
multiple version installed
17:00 -!- brunov [n=bruno@190.191.110.64] has quit [Read error: 60 (Operation
timed out)]
17:00 < Amaranth> Why would you have multiple versions installed?
17:01 < mainman__> could happens, thinks about python or gcc
17:01 < mainman__> some binaries that need old runtime to work, etc..
17:01 < Amaranth> python is like that due to extension API compatibility
issues
17:02 -!- CalJunior [n=Adium@82-168-237-95.ip.telfort.nl] has joined #go-nuts
17:02 < Amaranth> and gcc is like that for kernel module API compatibility
issues :)
17:02 -!- lux` [n=lux@151.54.240.177] has quit [Read error: 110 (Connection timed
out)]
17:02 -!- Snert_ [n=chatzill@puff.snert.com] has joined #go-nuts
17:02 < Amaranth> So long as go is only building full complete statically
linked programs and doesn't have a C extension API there is no point
17:03 -!- facemelter [n=facemelt@87.60.0.194] has quit [Client Quit]
17:03 < mainman__> uhm ok, it makes sense
17:04 < JBeshir> Right.
17:04 < JBeshir> And once it has a non-statically linked runtime
17:04 < JBeshir> A separate package can be used.
17:06 -!- oa_Bob1 [n=oa_Bob@159.232.72-86.rev.gaoland.net] has quit [Read error:
60 (Operation timed out)]
17:06 < jessta> I still think static linking is a great idea
17:07 -!- CalJunior [n=Adium@82-168-237-95.ip.telfort.nl] has quit [Client Quit]
17:07 < scandal> it makes fixing bugs in libraries a pain, though
17:08 < JBeshir> jessta: Do you work for Kingston, or another RAM-selling
company?
17:08 < jessta> not at all
17:08 -!- hans_stimer [n=hans@c-98-234-25-125.hsd1.ca.comcast.net] has joined
#go-nuts
17:09 < jessta> you seriously think that the executable size is an issue?
17:09 < JBeshir> Yes
17:09 -!- MMG555 [n=subaru@pool-98-115-184-58.chi01.dsl-w.verizon.net] has joined
#go-nuts
17:09 < MMG555> Morning all.
17:09 -!- MMG555 is now known as Melchior
17:09 < Melchior> er
17:09 -!- Melchior is now known as Balthazar
17:09 < mainman__> jessta: uhm considering that there's an arm compiler,
could be
17:09 < JBeshir> Honestly, Go's runtime isn't really big enough to make it
an issue, but in general, shared beats static with few weaknesses when you can
guarantee the shared is available.
17:09 < hans_stimer> what is the go philosophy on dereferencing null -- does
the runtime catch it?  does it crash hard?
17:10 -!- drusepth [n=drusepth@207.160.210.138] has joined #go-nuts
17:10 < jessta> hans_stimer: yes
17:11 < Balthazar> I am sort of new to programming, inasfar as I have not
actually mastered any programming language.
17:11 < hans_stimer> I found a case where it crashes hard, but I'm not sure
if that is considered OK with go
17:11 < scandal> hans_stimer: its probably a bug in go.  i think the idea is
to avoid those situations
17:12 < hans_stimer> so I should report it?
17:12 -!- facemelter [n=facemelt@87.60.0.194] has joined #go-nuts
17:12 < jessta> if you access a nil variable it should crash, that is
expected beahviour
17:13 < rajeshsr> in 8g how are goroutines implemented?
17:13 < JBeshir> With care.
17:13 < alexsuraci> neat, go.* make a go pastie site pretty trivial
17:13 < hans_stimer> so not a go bug
17:13 < saati> hans_stimer: its a feature
17:13 < Discoloda> is there syntax highlight for go in vim?
17:14 < scandal> Discoloda: misc/vim
17:14 < mainman__> Discoloda: y, check misc/
17:14 -!- bolo [n=bolo@pool-71-124-228-150.bstnma.east.verizon.net] has quit
["Leaving"]
17:14 -!- ehird [n=ehird@91.105.120.35] has quit [Success]
17:14 -!- ehird_ is now known as ehird
17:15 < alexsuraci>
http://toogeneric.com/files/2009-11-15-121542-1678x1048-scrot.png
17:15 < Discoloda> oh, cool
17:15 < Discoloda> thanks
17:16 -!- kim__ [n=kim@207-179-227-215.mtco.com] has quit [Read error: 60
(Operation timed out)]
17:16 -!- kim__ [n=kim@72-34-13-35.mtco.com] has joined #go-nuts
17:17 < Balthazar> Is there anyone willing to give a beginning programmer
some direction/advice?
17:18 -!- anders_ [n=anders@c83-253-2-206.bredband.comhem.se] has joined #go-nuts
17:18 < bogen> Balthazar: beginner to Go? Or in general?
17:18 < binBASH> alexsuraci: I would get blind by this highlight colors :p
17:18 < Balthazar> in general.
17:18 < alexsuraci> binBASH: psh, i use that everywhere
17:18 < Balthazar> basically, at most, I know a very little bit of perl, and
even then I have to read a book or tutorial as I'm doing it.
17:18 -!- gcopenhaver [n=greg@c-98-250-49-37.hsd1.mi.comcast.net] has left
#go-nuts []
17:19 < Amaranth> Balthazar: This probably isn't the best language for a
beginner in general
17:19 < binBASH> alexsuraci: Way to bright *g
17:19 < Balthazar> the faq said it was trying to be an easy language.
17:19 < Discoloda> alexsuraci: i noticed that erlang tab :P
17:19 < bogen> Balthazar: yeah, I agree Amaranth, that Go is likely not a
good language for beginners
17:19 < saati> Balthazar: but there are no docs for beginners
17:19 -!- engla [n=ulrik@90-229-231-23-no153.tbcn.telia.com] has joined #go-nuts
17:19 < Amaranth> There are barely docs for experts
17:20 < bogen> Balthazar: it is too immature at the moment and makes a lot
of assumptions about the expertise of those trying it out
17:20 < Amaranth> You tend to have to dive into the source code and hope
intuition based on previous experience leads you to the right thing
17:20 -!- anders_ [n=anders@c83-253-2-206.bredband.comhem.se] has quit [Client
Quit]
17:20 -!- anders_ [n=anders@c83-253-2-206.bredband.comhem.se] has joined #go-nuts
17:20 < bogen> It is at this point easy for expert programmers to dig in and
figure it out
17:20 < Balthazar> What language for a beginner would you suggest, then?
17:20 < Amaranth> python
17:20 < Manan> Python.
17:20 < bogen> agreed
17:20 < bogen> Python
17:20 -!- anders_ [n=anders@c83-253-2-206.bredband.comhem.se] has quit [Client
Quit]
17:20 < saati> ruby is nice too
17:21 < bogen> Or Lua
17:21 < Amaranth> http://www.greenteapress.com/thinkpython/thinkCSpy.pdf
17:21 < jessta> python and C
17:21 < jessta> not one or the other
17:21 -!- ineol [n=hal@mar75-9-88-171-191-168.fbx.proxad.net] has quit []
17:21 < Discoloda> yeah, Python is great
17:21 < depood> don't learn java ..  it was a waste for me :/
17:21 < andguent> python is a highly inconsistent piece of crap
17:21 < Amaranth> After Python I'd learn C, certainly
17:21 < Manan> Assembly :D
17:21 < andern> you can read it online here:
http://www.greenteapress.com/thinkpython/html/
17:21 -!- Vershun [n=vershun@174-16-140-142.hlrn.qwest.net] has joined #go-nuts
17:22 -!- oa_Bob1 [n=oa_Bob@147.0.90-79.rev.gaoland.net] has joined #go-nuts
17:22 < alexsuraci> Discoloda: yea, was using it as a reference for my
gen_fsm/gen_server ports :P
17:22 * bogen suggests a few years of Forth, then asking the question again...
17:22 < Balthazar> andguent, why do you say this
17:22 < JBeshir> Python is a decent language.  lack of type safety and clean
declarations makes kittens die, though.
17:23 < Discoloda> alexsuraci: nice
17:23 < Amaranth> JBeshir: Done right it almost reads like english and it
has a nice repl so it's good for tinkering to figure out how things works
17:24 < Amaranth> s/works/work/
17:24 < SRabbelier> Why can't I use ":=" in the global scope?
17:25 -!- ni| [n=ni|@c-24-34-220-147.hsd1.ma.comcast.net] has joined #go-nuts
17:27 -!- swilde [n=user@xdslae105.osnanet.de] has joined #go-nuts
17:30 -!- Fish [n=Fish@78.238.225.114] has joined #go-nuts
17:30 < swilde> hi *,
17:30 < swilde> building the current hg tip I get bunch off errors (diffs)
during the tests:
17:30 < swilde> [_many_ lins]
17:30 < swilde> < =========== fixedbugs/bug212.go
17:30 < swilde> <
17:30 -!- jeffhill [n=jeff@ip72-211-208-177.oc.oc.cox.net] has joined #go-nuts
17:30 < swilde> < =========== fixedbugs/bug213.go
17:30 < swilde> ---
17:30 < swilde> > panic PC=xxx
17:30 < swilde> but in finally I get:
17:30 -!- lilpenguina [n=penguina@adsl-69-226-228-130.dsl.pltn13.pacbell.net] has
quit ["Leaving."]
17:30 < swilde> 0 known bugs; 0 unexpected bugs; test output differs
17:30 < swilde> is this normal/known or is there a problem I could trace
down?
17:30 < swilde> I see this on three different systems (all GOARCH=386
GOOS=linux).
17:30 < swilde> FWIW, besides this, the resulting builds seem to work as
expected...  :)
17:30 -!- zer0c00l [n=user@117.199.138.147] has quit ["ERC Version 5.3 (IRC client
for Emacs)"]
17:30 -!- drusepth [n=drusepth@207.160.210.138] has quit [Read error: 110
(Connection timed out)]
17:31 -!- nets [n=nets@bzq-79-178-116-188.red.bezeqint.net] has quit ["Leaving"]
17:33 < alexsuraci> swilde: normal
17:34 -!- binaryjohn [n=binaryjo@cpe-24-30-132-50.san.res.rr.com] has quit []
17:34 * bogen has been on the verge of changing coding styles for a while now....
gofmt pushed him over the edge...
17:35 -!- rhelmer [n=rhelmer@adsl-69-107-65-242.dsl.pltn13.pacbell.net] has joined
#go-nuts
17:35 -!- binaryjohn [n=binaryjo@cpe-24-30-132-50.san.res.rr.com] has joined
#go-nuts
17:35 -!- Dvyjones [i=dvyjones@unaffiliated/dvyjones] has joined #go-nuts
17:36 < Discoloda> does go have trinary opss?
17:36 < bogen> :)
17:36 < Discoloda> ?:
17:37 < swilde> alexsuraci: ok, good to know.  The word "panic" in the
output had a certain effect on me...  ;-)
17:37 < bogen> Discoloda: no, there is a discussion on the mailing list
about it
17:38 < bogen> No ternary operator?!  - golang-nuts | Google Groups
<http://groups.google.com/group/golang-nuts/browse_thread/thread/cf60d4198b7df20f/e4d7d3fcb8ee5df5>
17:38 -!- depood [n=depood@chello080108055214.19.11.vie.surfer.at] has quit [Read
error: 54 (Connection reset by peer)]
17:39 -!- depood [n=depood@chello080108055214.19.11.vie.surfer.at] has joined
#go-nuts
17:40 < ajray> bogen: theres a couple of things i've heard good arguements
for in the language:
17:40 < scandal> i started a FAQ for #go-nuts if anyone is interested
http://www.cs.hmc.edu/~me/go-nuts-faq.html
17:40 < ajray> ternary operators, min/max functions (for comparing ints),
'nullable' variables
17:41 < dho> yeah, i'm out of ideas.
17:41 -!- ni| [n=ni|@c-24-34-220-147.hsd1.ma.comcast.net] has quit [Read error: 60
(Operation timed out)]
17:41 -!- castlevaniafan [n=castleva@f048134231.adsl.alicedsl.de] has joined
#go-nuts
17:41 < ajray> dho: do you think Go is better/worse than alef?
17:41 -!- heavensrevenge_ [i=63ee179c@gateway/web/freenode/x-yjkagwtstvrximxx] has
joined #go-nuts
17:42 -!- ragsagar [n=ragsagar@117.204.98.169] has quit ["Leaving"]
17:42 < bogen> ajray: yeah, min/max can be added with interfaced functions,
see the example for the Tern function at the end: No ternary operator?!  -
golang-nuts | Google Groups
<http://groups.google.com/group/golang-nuts/browse_thread/thread/cf60d4198b7df20f/e4d7d3fcb8ee5df5>
17:42 < bogen> ajray: and would not require modifying the language
17:42 < dho> ajray: better, it already has better system support :)
17:42 < ajray> true :-)
17:42 < dho> i never used alef
17:43 < ajray> the one thing that would require modification would be the
'nullable'
17:43 < dho> and i haven't used go yet
17:43 -!- penguin42 [n=dg@tu006.demon.co.uk] has joined #go-nuts
17:43 < dho> so
17:43 -!- teedex [n=teedex@204.14.155.161] has joined #go-nuts
17:43 < dho> also for some reason my handler isn't catching segv again o_O
17:44 < Dvyjones> Does anyone else have trouble with TCPConn.Read only
reading 0 bytes?
17:44 -!- nh [i=nh@beryl6.nhasynchro.com] has left #go-nuts []
17:44 -!- scriptdevil [n=scriptde@122.174.83.228] has joined #go-nuts
17:44 < ajray> Dvyjones: not really.  are you supposed to be reading
something?
17:44 -!- thedevel [n=thedevel@pool-72-78-219-199.phlapa.fios.verizon.net] has
joined #go-nuts
17:44 < Dvyjones> ajray: I am.
17:44 < ajray> (is there an error?)
17:44 < Dvyjones> There isn't :P
17:45 < Dvyjones> I have a for loop with a read and write, it just looks to
be hanging.
17:45 < ajray> can you paste it?
17:45 < Dvyjones> Sure, let me see.
17:45 -!- Manish_maheshwar [n=chatzill@c-67-189-144-6.hsd1.ma.comcast.net] has
joined #go-nuts
17:45 < Dvyjones> http://gist.github.com/235343
17:46 -!- stefanha [n=stefanha@78.47.77.187] has joined #go-nuts
17:46 < Dvyjones> It's probably just me not knowing Go well enough though :P
17:46 < Dvyjones> Nevermind.
17:46 < Dvyjones> I figured it now :P
17:46 < ajray> http://github.com/ajray/go-play/blob/master/irc.go
17:47 < Dvyjones> Ooh, cool.
17:47 < Dvyjones> Anyways, I found the error too.
17:47 < ajray> thats exactly what i'm working on right now
17:47 < ajray> what was it?
17:47 < Dvyjones> I changed "var b []byte;" to "b := make([]byte, 512);"
17:48 -!- oa_Bob1 [n=oa_Bob@147.0.90-79.rev.gaoland.net] has quit ["Quitte"]
17:48 < stefanha> Is it possible to do net.Conn.Accept/Read in a select
statement?  I'd like to handle get/send on channels alongside Accept/Read so that
network server goroutines can be told to cleanly exit.
17:49 -!- CarbonFlux [n=CFlux@pool-98-108-155-174.ptldor.fios.verizon.net] has
joined #go-nuts
17:49 -!- eduardoboss [n=boss@189.114.205.6.dynamic.adsl.gvt.net.br] has quit []
17:50 -!- Netsplit leguin.freenode.net <-> irc.freenode.net quits: Anusko,
Wezz6400, nullpo, Ian_Daniher, oklofok, KragenSitaker, Ivatar, taaz, Esmil, spb,
(+82 more, use /NETSPLIT to show all of them)
17:50 -!- Netsplit leguin.freenode.net <-> irc.freenode.net quits:
Exstatica, Hertta, arty, DJCapelis, kw-, Innominate, vomjom, Dreamer3_MBP17,
senneth, CallToPower, (+27 more, use /NETSPLIT to show all of them)
17:50 -!- nullpo_ [n=nullpo@221x252x46x83.ap221.ftth.ucom.ne.jp] has joined
#go-nuts
17:50 -!- frodeniu1 [i=frod@migoto.de] has joined #go-nuts
17:50 -!- CarbonFlux is now known as CFlux
17:50 < scriptdevil> Huge netsplits
17:50 -!- Netsplit over, joins: dho
17:50 -!- dwery [n=dwery@93-39-51-125.ip74.fastwebnet.it] has joined #go-nuts
17:51 -!- Netsplit over, joins: taaz
17:51 < stefanha> Channels and blocking syscalls seem to be independent.  It
would be nice to select on both I/O operations and channels.
17:51 -!- foxspurlock [n=Brian@cpe-74-66-16-82.nyc.res.rr.com] has joined #go-nuts
17:51 -!- Netsplit over, joins: Discoloda
17:51 < ajray> hopy crap
17:51 -!- Netsplit over, joins: brontide
17:51 -!- Netsplit over, joins: jobias
17:51 -!- rajeshsr [n=rajeshsr@59.92.20.216] has quit ["Leaving"]
17:51 -!- Netsplit over, joins: oklofok, vhold
17:52 -!- Netsplit over, joins: ac
17:52 < scriptdevil> stefanha: I know you might have done this already, but
anyway.  Run the syscall on a separate goroutine.  On finish, return using a
channel
17:52 -!- NoOneButMe [i=znc@85.17.224.147] has joined #go-nuts
17:52 -!- Netsplit over, joins: wm_eddie
17:53 < stefanha> scriptdevil: The goroutine that is running the blocking
syscall may hang around forever.
17:53 -!- Netsplit over, joins: exch
17:53 < stefanha> scriptdevil: It would be nice to shut down that goroutine.
17:54 -!- Netsplit over, joins: Ian_Daniher
17:54 < penguin42> is there anything which dictates how many real threads
the goroutines turn into?
17:54 < stefanha> scriptdevil: See what I mean?  :)
17:54 < scriptdevil> stefanha: Now.  That brings us back to the square 1 :)
17:54 < stefanha> penguin42: Yes, there is an environment variable and a
runtime pkg function to set
17:54 < stefanha> the number of OS threads to multiplex goroutines onto.
17:55 < stefanha> http://golang.org/pkg/runtime/#tmp_40
17:55 < penguin42> cool
17:55 < scriptdevil> penguin42: That works only with 6g, 8g etc.  gccgo
sends 1 goroutine to 1 thread
17:55 < penguin42> yeh 'm using 6g etc
17:55 < scriptdevil> penguin42: Will work then.
17:55 < penguin42> (Horrid names incidentally...)
17:55 -!- Fish [n=Fish@78.238.225.114] has joined #go-nuts
17:56 < scriptdevil> penguin42: You would appreciate it if you used p9.
17:56 < penguin42> scriptdevil: Ah I didn't
17:56 -!- hans_stimer [n=hans@c-98-234-25-125.hsd1.ca.comcast.net] has joined
#go-nuts
17:56 -!- tomaw_ [i=tomaw@freenode/staff/tomaw] has joined #go-nuts
17:56 -!- Exstatica [i=Exstatic@freenode/staff/exstatica] has joined #go-nuts
17:56 -!- xid [n=xid@narc.oti.cz] has joined #go-nuts
17:56 -!- nacmartin [n=a@wikipedia/chabacano] has joined #go-nuts
17:56 < ajray> penguin42: not if you're used to plan9
17:57 -!- Fish is now known as Guest53121
17:57 -!- cankoy [n=cankoy@94.54.13.77] has joined #go-nuts
17:57 -!- exch is now known as Guest51604
17:57 < dho> penguin42: why do you think they suck?
17:57 -!- marko` [n=marko@letku118.adsl.netsonic.fi] has joined #go-nuts
17:58 * Snert_ No!!  used my last dried habanero pepper.  Life as I know it is
over!
17:58 -!- Esmil [n=esmil@4704ds1-gjp.0.fullrate.dk] has joined #go-nuts
17:58 -!- mxcl [n=mxcl@94-193-125-246.zone7.bethere.co.uk] has joined #go-nuts
17:58 -!- petr [i=uyawo@rzstud3.stud.uni-karlsruhe.de] has joined #go-nuts
17:58 -!- icy [n=icy@lighttpd/icy] has joined #go-nuts
17:58 -!- binBASH [i=michael@stopovr.com] has joined #go-nuts
17:58 -!- dD0T [n=dD0T@unaffiliated/dd0t] has joined #go-nuts
17:58 -!- saati [n=bjb@marvin.harmless.hu] has joined #go-nuts
17:58 -!- zum [n=jsykari@xdsl-83-150-88-4.nebulazone.fi] has joined #go-nuts
17:58 -!- Wezz6400 [n=Wezz6400@145-118-111-123.fttx.bbned.nl] has joined #go-nuts
17:58 -!- Clooth [n=Clooth@cs27062173.pp.htv.fi] has joined #go-nuts
17:58 -!- sfuentes [n=sfuentes@cpe-98-154-70-216.socal.res.rr.com] has joined
#go-nuts
17:58 -!- SRabbelier1 [n=SRabbeli@ip138-114-211-87.adsl2.static.versatel.nl] has
joined #go-nuts
17:58 -!- t5vaha01 [i=t5vaha01@rhea.oamk.fi] has joined #go-nuts
17:58 -!- scoopr [i=scoopr@et.vaan.osaa.fi] has joined #go-nuts
17:58 -!- rhelmer [n=rhelmer@adsl-69-107-65-242.dsl.pltn13.pacbell.net] has joined
#go-nuts
17:58 -!- diltsman [n=diltsman@64.122.18.77] has joined #go-nuts
17:58 -!- Manan [n=truthlim@142.46.164.30] has joined #go-nuts
17:58 -!- tor7 [n=tor@c-987a71d5.04-50-6c756e10.cust.bredbandsbolaget.se] has
joined #go-nuts
17:58 -!- mfb [n=mark@j0.ramona.indybay.org] has joined #go-nuts
17:58 -!- slicslak_ [n=slicslac@c-68-50-207-133.hsd1.dc.comcast.net] has joined
#go-nuts
17:58 -!- lifeless [n=robertc@ppp245-86.static.internode.on.net] has joined
#go-nuts
17:58 -!- msw [n=msw@66.192.95.199] has joined #go-nuts
17:58 -!- kolmodin [n=kolmodin@gentoo/developer/kolmodin] has joined #go-nuts
17:58 -!- luca_work_ [n=luca@host35.190-136-120.telecom.net.ar] has joined
#go-nuts
17:58 -!- hhg [n=hhg@hhg.to] has joined #go-nuts
17:58 -!- nigeltao [n=nigeltao@203.39.247.241] has joined #go-nuts
17:58 -!- mpurcell|afk [n=mpurcell@vpn.michaelpurcell.info] has joined #go-nuts
17:58 -!- mejja [n=user@c-49b6e555.023-82-73746f38.cust.bredbandsbolaget.se] has
joined #go-nuts
17:59 < penguin42> dho: I don't see a reason to name them based on the
architecture, and given how short the language name is, it wouldn't have harmed to
have the word 'go' in the command
17:59 -!- heavensrevenge_ [i=63ee179c@gateway/web/freenode/x-yjkagwtstvrximxx] has
joined #go-nuts
17:59 < scriptdevil> dho: One initial shock for me was that logical names
did not tab complete.
17:59 -!- zum [n=jsykari@xdsl-83-150-88-4.nebulazone.fi] has quit [Killed by
sagan.freenode.net (Nick collision)]
17:59 -!- Clooth [n=Clooth@cs27062173.pp.htv.fi] has quit [Killed by
sagan.freenode.net (Nick collision)]
17:59 -!- zum [n=jsykari@xdsl-83-150-88-4.nebulazone.fi] has joined #go-nuts
17:59 -!- Clooth [n=Clooth@cs27062173.pp.htv.fi] has joined #go-nuts
17:59 -!- alexf [n=alexf@c-71-205-224-173.hsd1.mi.comcast.net] has joined #go-nuts
17:59 -!- harryv [n=harry@67.207.147.205] has joined #go-nuts
17:59 -!- Vershun [n=vershun@174-16-140-142.hlrn.qwest.net] has joined #go-nuts
17:59 -!- asmo_ [n=asmo@85.224.197.246] has joined #go-nuts
17:59 -!- CallToPower [n=CallToPo@87.106.78.92] has joined #go-nuts
17:59 -!- proszbje [n=raulgrel@81.84.215.230] has joined #go-nuts
17:59 -!- Hofanoff [i=hofanoff@78.46.41.143] has joined #go-nuts
17:59 -!- Kashia [n=Kashia@79.235.114.156] has joined #go-nuts
17:59 -!- kw- [n=aevirex@91.128.61.101] has joined #go-nuts
17:59 -!- Dreamer3_MBP17 [n=jgoebel@96.28.100.3] has joined #go-nuts
17:59 -!- cold-penguin [n=ben@92.8.42.199] has joined #go-nuts
17:59 -!- clip9 [i=tj@12.81-166-62.customer.lyse.net] has joined #go-nuts
17:59 -!- ztzg_ [n=dash@dslb-084-057-004-092.pools.arcor-ip.net] has joined
#go-nuts
17:59 -!- riot [n=wntrmut@137.226.147.251] has joined #go-nuts
17:59 -!- wollw [n=wollw4@75-101-22-68.dsl.dynamic.sonic.net] has joined #go-nuts
17:59 -!- jshriver [n=jshriver@cblmdm24-53-165-86.buckeyecom.net] has joined
#go-nuts
17:59 -!- kertak [n=kertak@78.233.124.158] has joined #go-nuts
17:59 -!- josh [n=josh@c-67-177-6-66.hsd1.ut.comcast.net] has joined #go-nuts
17:59 -!- eiro [n=marc@phear.org] has joined #go-nuts
17:59 -!- Cameron [n=Cameron@203.217.12.139] has joined #go-nuts
17:59 -!- senneth [i=senneth@irssi/staff/senneth] has joined #go-nuts
17:59 -!- praetorian [i=praetori@unaffiliated/praetorian] has joined #go-nuts
17:59 -!- blasdelf [n=fred@76.104.181.225] has joined #go-nuts
17:59 -!- taybin [n=taybin@24.42.93.107] has joined #go-nuts
17:59 -!- Smari [n=smari@130.208.143.11] has joined #go-nuts
17:59 -!- hallsa [n=shane@miles.jfet.net] has joined #go-nuts
17:59 -!- vomjom [n=vomjom@99-157-248-71.lightspeed.stlsmo.sbcglobal.net] has
joined #go-nuts
17:59 -!- tyler_wylie [n=tyler@fedora/tyler-wylie] has joined #go-nuts
17:59 -!- Hertta [n=ptr@188.72.205.52] has joined #go-nuts
17:59 -!- arty [n=arty@reactos/developer/arty] has joined #go-nuts
17:59 -!- dpb [i=dpb@unaffiliated/dpb] has joined #go-nuts
17:59 -!- Jooon [n=jooon@c-1711e455.01-300-73746f7.cust.bredbandsbolaget.se] has
joined #go-nuts
17:59 -!- Innominate [n=sirrobin@71.77.41.139] has joined #go-nuts
17:59 -!- harja [n=maharj@130.232.203.196] has joined #go-nuts
17:59 -!- DJCapelis [n=djc@blender/coder/DJCapelis] has joined #go-nuts
17:59 -!- daganev [n=daganev@adsl-99-32-245-41.dsl.lsan03.sbcglobal.net] has
joined #go-nuts
17:59 -!- Snert_ [n=chatzill@puff.snert.com] has quit ["ChatZilla 0.9.85 [Firefox
3.5.5/20091102152451]"]
17:59 -!- hanni [n=hanni@93-96-68-133.zone4.bethere.co.uk] has quit [Killed by
ballard.freenode.net (Nick collision)]
17:59 < dho> i suppose
17:59 * dho is used to plan 9
17:59 -!- icy__ [n=icy@singularity.cryosphere.de] has joined #go-nuts
17:59 < dho> easier for me to figure out what cross compiler i'm using
17:59 -!- petr [i=uyawo@rzstud3.stud.uni-karlsruhe.de] has quit [Connection reset
by peer]
17:59 -!- icy [n=icy@lighttpd/icy] has quit [Connection reset by peer]
17:59 -!- binBASH__ [i=michael@stopovr.com] has joined #go-nuts
17:59 -!- binBASH [i=michael@stopovr.com] has quit [Connection reset by peer]
17:59 < Manan> That's a pretty long list of DCs and connects
18:00 < dho> it's a netsplit
18:00 < penguin42> (Ditto the object file names)
18:00 -!- gnibbler [n=duckman@124-168-57-102.dyn.iinet.net.au] has quit [Remote
closed the connection]
18:00 < dho> right
18:00 -!- `sg [n=sg@160-90.107-92.cust.bluewin.ch] has joined #go-nuts
18:00 -!- gnibbler [n=duckman@124-168-57-102.dyn.iinet.net.au] has joined #go-nuts
18:00 -!- icy__ is now known as icy
18:00 -!- saati_ [n=bjb@marvin.harmless.hu] has joined #go-nuts
18:00 < marko`> What a promising language!  A collection of features from
other languages but it might have just hit the sweet spot.
18:01 < scriptdevil> marko`: So. :) Start coding ;)
18:01 < ajray> scriptdevil: you want them to tabl complete?
18:01 < marko`> Will do.
18:01 -!- Popog [n=Adium@pool-71-121-200-233.sttlwa.dsl-w.verizon.net] has joined
#go-nuts
18:01 < scriptdevil> ajray: huh?
18:01 -!- KragenSitaker [n=kragen@panacea.canonical.org] has joined #go-nuts
18:01 -!- purefusion [n=purefusi@cblmdm24-53-171-140.buckeyecom.net] has joined
#go-nuts
18:01 -!- xorl [n=xorl@xorl.xen.prgmr.com] has joined #go-nuts
18:01 -!- spb [i=stephen@freenode/developer/exherbo.spb] has joined #go-nuts
18:01 -!- dibb [n=dibb@ashera.openend.se] has joined #go-nuts
18:01 -!- jlouis [i=jlouis@130.225.165.29] has joined #go-nuts
18:01 -!- huf [n=huf@mu.parawag.net] has joined #go-nuts
18:01 -!- nickjohnson [n=arachnid@coilette.notdot.net] has joined #go-nuts
18:01 -!- JKnife [n=JKnife@gr33nn1nj4.com] has joined #go-nuts
18:01 -!- m-takagi [n=m-takagi@linode.m-takagi.jp] has joined #go-nuts
18:01 -!- shatly [n=hartsra@tarsonis.dhcp.rose-hulman.edu] has joined #go-nuts
18:01 -!- igorgue [n=igorgue@69.172.212.24] has joined #go-nuts
18:01 -!- shawn [n=shawn@208-78-98-92.slicehost.net] has joined #go-nuts
18:01 -!- doublec [n=doublec@li30-216.members.linode.com] has joined #go-nuts
18:01 < ajray> i emailed a bash completion script to the mailling list.  it
makes 6g etc tab-complete only .go filenames
18:01 -!- petr_ [i=uyawo@rzstud3.stud.uni-karlsruhe.de] has joined #go-nuts
18:01 < ajray> and 6l, etc match .6 filenames
18:02 < scandal> ajray: nice
18:02 < scriptdevil> ajray: Well.  I use zsh and i can do something similar
if I needed.
18:02 -!- Manish [n=chatzill@c-67-189-144-6.hsd1.ma.comcast.net] has quit
[Success]
18:02 < ajray> okay.  i'm pretty sure bash stole that from zsh anyway
18:02 -!- delza [n=delza@d66-183-63-49.bchsia.telus.net] has joined #go-nuts
18:02 -!- svanlund [n=david@cordelia.pingpangdns.com] has joined #go-nuts
18:02 -!- Wezz6400_ [n=Wezz6400@145-118-111-123.fttx.bbned.nl] has joined #go-nuts
18:02 -!- jeffhill [n=jeff@ip72-211-208-177.oc.oc.cox.net] has joined #go-nuts
18:02 -!- swilde [n=user@xdslae105.osnanet.de] has joined #go-nuts
18:02 -!- andresambrois [n=aa@r190-135-161-77.dialup.adsl.anteldata.net.uy] has
joined #go-nuts
18:02 -!- vegard [n=vegard@ben.ifi.uio.no] has joined #go-nuts
18:02 -!- Shihan [n=pjr@124-171-2-17.dyn.iinet.net.au] has joined #go-nuts
18:02 -!- madmoose [n=madmoose@chef.nerp.net] has joined #go-nuts
18:02 -!- Ivatar [n=graham@tu055.demon.co.uk] has joined #go-nuts
18:02 -!- dejones [n=donnie@cpe-24-28-73-216.austin.res.rr.com] has joined
#go-nuts
18:02 -!- bentley` [n=bentley`@97-119-172-118.albq.qwest.net] has joined #go-nuts
18:02 -!- JoePeck [n=JoePeck@cpe-74-69-85-249.rochester.res.rr.com] has joined
#go-nuts
18:02 -!- tedster [n=tedster@cpe-008051.dhcp008.wadsnet.net] has joined #go-nuts
18:02 -!- Anusko [n=anusko@a83-132-19-244.cpe.netcabo.pt] has joined #go-nuts
18:02 -!- triddell [n=tim@207-191-198-64.cpe.ats.mcleodusa.net] has joined
#go-nuts
18:02 -!- cyt [n=cyt@li57-21.members.linode.com] has joined #go-nuts
18:02 -!- pilt [n=pilt@h-60-10.A163.priv.bahnhof.se] has joined #go-nuts
18:02 -!- sanooj [i=jpihlaja@unaffiliated/joonas] has joined #go-nuts
18:02 -!- pquerna [n=chip@apache/committer/pquerna] has joined #go-nuts
18:02 -!- jarfhy [n=jeff@68.146.152.204] has joined #go-nuts
18:02 -!- ahf [i=ahf@irssi/staff/ahf] has joined #go-nuts
18:02 -!- gl [n=gl@coders.fr] has joined #go-nuts
18:02 -!- JoNaZ [n=jonaz@user77.77-105-229.netatonce.net] has joined #go-nuts
18:02 -!- plh [i=plh@gateway/shell/rootnode.net/x-ompdoidztyfuooev] has joined
#go-nuts
18:02 -!- pbunbun [n=bunbun@minerva.redbrick.dcu.ie] has joined #go-nuts
18:02 -!- sstangl [n=sean@BERLIN.RES.CMU.EDU] has joined #go-nuts
18:02 < scriptdevil> ajray: I meant I would expect g<TAB> to complete
to the go linker or go compiler.  With 6g or 8g, that is impossible :)
18:02 -!- Raziel2p [n=Raziel2p@ti0032a380-dhcp0316.bb.online.no] has joined
#go-nuts
18:02 -!- marko` [n=marko@letku118.adsl.netsonic.fi] has left #go-nuts ["Killed
buffer"]
18:02 -!- Wezz6400 [n=Wezz6400@145-118-111-123.fttx.bbned.nl] has quit [Connection
timed out]
18:03 < scriptdevil> I am turning off this user login/logoff notification
now!
18:03 * dho waits for rsc to appear
18:03 -!- Snert [n=chatzill@puff.snert.com] has joined #go-nuts
18:03 -!- jadamcze_ [n=jadamcze@ppp59-167-90-160.lns20.hba1.internode.on.net] has
joined #go-nuts
18:04 -!- Futek [n=Futek@3505ds3-amb.0.fullrate.dk] has joined #go-nuts
18:04 < heavensrevenge_> so is there a way to read input from the console
yet??  i couldnt figure it out yesterday
18:04 < hector> anyone know what libcgo is?
18:04 -!- saati [n=bjb@marvin.harmless.hu] has quit [Connection timed out]
18:04 < scandal> heavensrevenge_: os.Stdin
18:04 -!- soul9 [n=none@unaffiliated/johnnybuoy] has joined #go-nuts
18:04 < dho> go linked to libc
18:04 < heavensrevenge_> ill look in the docs
18:05 < scriptdevil> heavensrevenge_: Read() on os.Stdin
18:05 < ajray> scriptdevil: an easy solution would be to alias your favorite
(ex 6g) compiler to something starting with g, so it does tab complete
18:05 -!- alexf [n=alexf@c-71-205-224-173.hsd1.mi.comcast.net] has quit [Client
Quit]
18:05 < hector> dho: is that so go programs can call into libc?
18:05 < heavensrevenge_> well more to call that and shove its results into a
var
18:06 -!- alexf [n=alexf@c-71-205-224-173.hsd1.mi.comcast.net] has joined #go-nuts
18:06 < heavensrevenge_> i tried yesterday but i couldnt figure out how to
call/construct a simple ReadLine for myself
18:07 < scriptdevil> ajray: I have that :) A small shell script that both
compiles and links.  I called it just g :P Given that I use it sooo often
18:07 < scriptdevil> heavensrevenge_: File Read operations on os.Stdin
should work
18:07 < scandal> heavensrevenge_: bufio.ReadString
18:07 -!- fforde [n=fforde@pool-71-240-185-56.dllstx.fios.verizon.net] has joined
#go-nuts
18:07 -!- fforde [n=fforde@pool-71-240-185-56.dllstx.fios.verizon.net] has left
#go-nuts ["Leaving."]
18:08 -!- aho [n=nya@g227069155.adsl.alicedsl.de] has joined #go-nuts
18:08 -!- jadamcze [n=jadamcze@ppp59-167-92-51.lns20.hba1.internode.on.net] has
quit [Read error: 110 (Connection timed out)]
18:09 -!- eVo-Quahog [n=Quahog@ip24-250-40-85.ri.ri.cox.net] has joined #go-nuts
18:11 < ehird> what's the function pointer syntax?
18:11 < heavensrevenge_> theres one thing reading the docs, is trying to see
how to call the func
18:11 -!- Alkavan [n=igal@77.124.62.58] has joined #go-nuts
18:11 < heavensrevenge_> bufio.readLines seems to have an internal call that
would work
18:11 -!- xcombelle [n=xcombell@AToulouse-551-1-105-248.w92-149.abo.wanadoo.fr]
has joined #go-nuts
18:12 -!- wabbott81 [n=wabbott8@adsl-19-88-184.asm.bellsouth.net] has quit
["Leaving"]
18:12 -!- CalJunior [n=Adium@82-168-237-95.ip.telfort.nl] has joined #go-nuts
18:13 < scandal> buf := bufio.NewReader(os.Stdin); s, e :=
buf.ReadString('\n')
18:13 -!- eVo-Quahog is now known as ssorel
18:14 -!- keithpoole [n=keithpoo@cpc3-bagu8-0-0-cust84.bagu.cable.ntl.com] has
joined #go-nuts
18:14 < scriptdevil> func (a, b int, z float) (bool)
18:15 -!- ssorel is now known as eVo-Quahog
18:15 -!- felipe [n=felipe@my.nada.kth.se] has joined #go-nuts
18:16 < scriptdevil> ehird: Are you trying to return a function?
18:17 -!- binaryjohn [n=binaryjo@cpe-24-30-132-50.san.res.rr.com] has quit []
18:17 < ehird> scriptdevil: Yarr
18:17 -!- diltsman [n=diltsman@64.122.18.77] has quit []
18:17 -!- fracture [n=ad@ip68-111-13-125.tc.ph.cox.net] has joined #go-nuts
18:17 < scriptdevil> ehird: *(func (a,b int, z float) (bool)) should work
18:17 < ehird> right
18:19 < scriptdevil> ehird: Well.  Is that right or a /sarcastic/ right?
18:19 < ehird> Right :P
18:19 -!- aron_ [n=aron@121-73-167-62.dsl.telstraclear.net] has joined #go-nuts
18:19 < ehird> intacc.go:6: cannot take the address of (node O-33)
18:19 < ehird> you can't return a function and you can't make a pointer out
of a function by doing &func
18:19 < ehird> grumble
18:19 -!- rbohn_ [n=rbohn@192.206.100.4] has joined #go-nuts
18:20 < ehird> I doubt assigning it and doing &foo will work
18:20 < ehird> because foo expires after the function
18:20 -!- blup [n=icedtea@athedsl-4469096.home.otenet.gr] has quit ["Leaving"]
18:20 -!- `sg [n=sg@160-90.107-92.cust.bluewin.ch] has quit ["->"]
18:21 -!- eVo-Quahog [n=Quahog@ip24-250-40-85.ri.ri.cox.net] has quit ["Leaving"]
18:21 -!- stefanha [n=stefanha@78.47.77.187] has left #go-nuts []
18:21 < scriptdevil> ehird: Well.  Not in Go. I think the values remain even
after the original function exits.  As long as some pointer uses it
18:21 < ehird> oh wait you can return functions directly
18:21 -!- crossbizz [n=chatzill@c-67-189-144-6.hsd1.ma.comcast.net] has joined
#go-nuts
18:22 < crossbizz> hi
18:22 < scriptdevil> ehird: Of course.  You need a pointer only if you want
it stored in the arg itself
18:22 < scriptdevil> crossbizz: :) Hey
18:23 < Manish_maheshwar> Crossbizz and Manish both ar same..on diff
machines...Finally i have installed GO on my MAC ..and did a Hello World...
18:23 < Manish_maheshwar> Crossbizz is on MAC and Manish on a PC
18:23 < Manish_maheshwar> :)
18:25 < Dvyjones> How do I convert []byte to a string?
18:25 < ehird> Dvyjones: string()
18:25 < scriptdevil> .String()
18:25 < ehird> or that
18:26 < scriptdevil> Sorry.  Mine wont work
18:26 < scriptdevil> Mine works on a bytes.ByteBuffer
18:26 < Manish_maheshwar> Which editor would u recommend to write Go code ?
18:26 < scriptdevil> Manish_maheshwar: Emacs :)
18:26 < Manish_maheshwar> kool!
18:26 < scriptdevil> Manish_maheshwar: This can easily become a flamewar
18:27 < ehird> I guess there isn't any interface for "number"?  So that int,
big.Int, bignum.Rational etc all work?
18:27 -!- facemelter [n=facemelt@87.60.0.194] has quit [Remote closed the
connection]
18:27 < scriptdevil> Manish_maheshwar: By the way.  This is scriptdevil on
Archlinux and Ashok at my home ;)
18:27 -!- Guest51604 is now known as exch
18:27 < Manish_maheshwar> :) kool ashok
18:27 -!- ring-zero [n=hotshot@117.207.64.212] has joined #go-nuts
18:28 -!- bmw357 [n=bmw@71.197.122.40] has joined #go-nuts
18:28 < ehird> Guess not.
18:28 -!- Guest53121 [n=Fish@78.238.225.114] has quit [Remote closed the
connection]
18:28 -!- xal [n=tobi@CPE001e527d7ab0-CM001bd71325c0.cpe.net.cable.rogers.com] has
quit []
18:28 -!- Fish [n=Fish@78.238.225.114] has joined #go-nuts
18:28 < scriptdevil> Is there a way to list all interfaces.  I am sick of
grepping it each time
18:28 < olegfink> ehird: what'd you put in it?
18:28 < ehird> http://www.zvon.org/other/haskell/Outputprelude/Num_c.html
18:28 < ehird> :P
18:29 < __gilles> ls
18:29 < ehird> __gilles: Ding!  Wrong.
18:29 -!- crooter [n=crooter@adsl-69-209-124-89.dsl.klmzmi.ameritech.net] has
joined #go-nuts
18:31 -!- osmosis [n=steven@cpe-98-148-47-216.socal.res.rr.com] has joined
#go-nuts
18:31 -!- hans_stimer [n=hans@c-98-234-25-125.hsd1.ca.comcast.net] has quit [Read
error: 110 (Connection timed out)]
18:31 < scriptdevil> Good night
18:31 -!- scriptdevil [n=scriptde@122.174.83.228] has quit ["leaving"]
18:31 -!- binaryjohn [n=binaryjo@cpe-24-30-132-50.san.res.rr.com] has joined
#go-nuts
18:31 -!- heavensrevenge
[n=eric@CPE001d0fe73b7d-CM00111ae5c642.cpe.net.cable.rogers.com] has joined
#go-nuts
18:31 < heavensrevenge> allo
18:32 -!- dschn [n=dschn@pool-70-19-224-19.bos.east.verizon.net] has joined
#go-nuts
18:32 < heavensrevenge> im trying to get that readLine function to work but
im getting some problems
18:32 < ehird> sweet, the compiler segfaulted.
18:34 -!- raichoo [n=raichoo@i577BB240.versanet.de] has joined #go-nuts
18:36 -!- Manish_mah [n=chatzill@c-67-189-144-6.hsd1.ma.comcast.net] has joined
#go-nuts
18:36 -!- rbohn [n=rbohn@192.206.100.4] has quit [Read error: 110 (Connection
timed out)]
18:37 -!- CalJunior [n=Adium@82-168-237-95.ip.telfort.nl] has left #go-nuts []
18:38 -!- rhelmer [n=rhelmer@adsl-69-107-65-242.dsl.pltn13.pacbell.net] has quit
[]
18:38 -!- XniX23 [n=XniX23@89-212-198-49.dynamic.dsl.t-2.net] has joined #go-nuts
18:38 < rickard> ls
18:38 < rickard> k wrong term:p
18:39 < jeffhill> So I've got a .go file that will scan imports and make .d
files so your Makefiles will work correctly with multi-file projects.  Anyone got
advice on how I can post this somewhere helpful?
18:40 < jeffhill> I'm looking at making a google code project for it, but
it's just one file + Makefile so that seems silly.
18:41 < Snert> __gilles: ding!
18:42 < engla> jeffhill: post on some website.  or a gist (gist.github.com)?
18:42 -!- lummie [n=lummie@87-194-101-146.bethere.co.uk] has joined #go-nuts
18:42 -!- keithpoole [n=keithpoo@cpc3-bagu8-0-0-cust84.bagu.cable.ntl.com] has
quit []
18:42 -!- lummie [n=lummie@87-194-101-146.bethere.co.uk] has left #go-nuts []
18:43 -!- annodomini [n=lambda@wikipedia/lambda] has joined #go-nuts
18:43 < engla> jeffhill: gists can be cloned and forked
18:43 -!- Alkavan [n=igal@77.124.62.58] has quit [Remote closed the connection]
18:44 < jeffhill> engla: Neat!  I'll post it to gist then post a URL to
go-nuts.  Thanks!
18:45 < engla> I don't know mercurial or a comparable service using
mercurial
18:46 < engla> except http://hg-git.github.com/ made available by github to
use git repos from mercurial
18:46 -!- IvatarHome [n=graham@tu055.demon.co.uk] has joined #go-nuts
18:46 < GeDaMo> Doesn't bitbucket do that?
18:46 -!- andresambrois is now known as aa
18:46 -!- Glao [n=raskc@c-71-198-180-232.hsd1.ca.comcast.net] has joined #go-nuts
18:46 -!- xcombelle [n=xcombell@AToulouse-551-1-105-248.w92-149.abo.wanadoo.fr]
has quit [No route to host]
18:47 < engla> GeDaMo: a "gist" service?
18:47 < GeDaMo> I don't know
18:47 -!- p0g0 [n=pogo@unaffiliated/p0g0] has quit [Connection timed out]
18:48 -!- Lidys_ [n=Lidys@ADijon-152-1-5-19.w83-194.abo.wanadoo.fr] has joined
#go-nuts
18:48 < akheron> is there a way to get a net.Conn from an existing fd?
18:48 < engla> GeDaMo: the gist thing is a pastebin service except every
paste is a small repository, where changes are tracked, and you can fork it
18:48 < jeffhill> Ok, so if anyone's working with a multi-file project and
wants a tool that automatically creates .d files so your .go files compile in the
correct order, here's a tool that'll do that for you:
http://gist.github.com/235391
18:48 < GeDaMo> engla: ah, ok
18:49 < akheron> engla: except that forking gists hasn't been possible since
github moved to rackspace
18:49 < akheron> it's just broken
18:49 < engla> ah ok
18:49 < akheron> haven't tried very recently, though
18:49 < engla> I haven't used gist for some time
18:49 -!- Manish_maheshwar [n=chatzill@c-67-189-144-6.hsd1.ma.comcast.net] has
quit [Read error: 110 (Connection timed out)]
18:50 -!- jabb [n=grue@71.94.31.166] has quit [Read error: 104 (Connection reset
by peer)]
18:51 -!- crossbizz [n=chatzill@c-67-189-144-6.hsd1.ma.comcast.net] has quit [Read
error: 110 (Connection timed out)]
18:53 -!- keithpoole [n=keithpoo@cpc3-bagu8-0-0-cust84.bagu.cable.ntl.com] has
joined #go-nuts
18:53 < heavensrevenge> why doesthis give me a "multiple-value
s.*Reader·ReadSlice() in single-value context" error?  : {s :=
bufio.NewReader(os.Stdin);name := s.ReadSlice('\n');}
18:54 < scandal> heavensrevenge: ReadSlice returns two values and you've
only specified a var for one
18:55 < heavensrevenge> awe damn
18:55 -!- xcombelle [n=xcombell@AToulouse-551-1-105-248.w92-149.abo.wanadoo.fr]
has joined #go-nuts
18:56 -!- Sylvain_ [i=52ee981a@gateway/web/freenode/x-betadiswcnwwnuxp] has joined
#go-nuts
18:56 -!- Ivatar [n=graham@tu055.demon.co.uk] has quit [Read error: 110
(Connection timed out)]
18:56 < heavensrevenge> do we always need to have an error case returned or
something??
18:57 -!- emet [n=Jonathan@unaffiliated/emet] has joined #go-nuts
18:57 < scandal> it is a good practice to check for errors
18:57 -!- keithpoole [n=keithpoo@cpc3-bagu8-0-0-cust84.bagu.cable.ntl.com] has
quit [Client Quit]
18:57 < dho> sanding drywall is exactly >< that much funn
18:58 < sladegen> name, _ := s.ReadSlice("\n"); to ignore it
18:58 < sladegen> if yo must.
18:59 -!- keithpoole [n=keithpoo@cpc3-bagu8-0-0-cust84.bagu.cable.ntl.com] has
joined #go-nuts
19:00 < ajray> how do reference a const from another package?
19:00 < ajray> pkg.Constname?
19:00 < scandal> yes
19:01 < heavensrevenge> thanks alot sladegen, well that did it but that \n
delimiter was printed lol
19:01 -!- dzen [i=benoit@lucile.litchis.org] has joined #go-nuts
19:01 -!- keithpoole [n=keithpoo@cpc3-bagu8-0-0-cust84.bagu.cable.ntl.com] has
quit [Client Quit]
19:02 < dzen> is there a syntax hilight for vim ?
19:02 < uriel> dzen: yes, misc/vim/
19:02 < dzen> uriel: thanks
19:03 < exch> hmm.  I wish the polymorphism support was a bit more extensive
in go :( Lot's of boilerplate code has to be rewritten over and over
19:03 < uriel> (also, for people that uses editors not included in misc/, I
have started to collect syntax files and so on at:
http://go-lang.cat-v.org/text-editors/ )
19:04 -!- octoploid [n=octoploi@77-23-212-222-dynip.superkabel.de] has joined
#go-nuts
19:04 -!- feamcor [n=feamcor@196.210.237.204] has joined #go-nuts
19:05 < JoePeck> uriel: awesome!  thanks
19:05 -!- Lidys [n=Lidys@ADijon-152-1-29-40.w83-194.abo.wanadoo.fr] has quit [Read
error: 110 (Connection timed out)]
19:05 -!- teedex [n=teedex@204.14.155.161] has quit [Remote closed the connection]
19:06 < bthomson> need to get the indenter into vim somehow
19:06 -!- teedex [n=teedex@204.14.155.161] has joined #go-nuts
19:07 -!- jeffhill [n=jeff@ip72-211-208-177.oc.oc.cox.net] has left #go-nuts []
19:07 -!- pool [n=pool@ip98-182-40-121.ri.ri.cox.net] has joined #go-nuts
19:07 -!- kingless [n=user@adsl-162-171-194.rmo.bellsouth.net] has joined #go-nuts
19:07 -!- feamcor [n=feamcor@196.210.237.204] has quit [Client Quit]
19:07 < engla> bthomson: autoindent helps a bit
19:07 < ajray> bthomson: just execute it on the file then reload it
19:08 < octoploid> intender for vim?  Where :-)?
19:08 -!- unautre [i=unautre@server1.tonbnc.fr] has joined #go-nuts
19:08 -!- dipen [n=dipen@117.195.71.177] has quit [Read error: 110 (Connection
timed out)]
19:08 < ajray> bthomson: :!  gofmt -<mycommands> -w <filename>
19:08 < ajray> then :edit
19:08 -!- unautre [i=unautre@server1.tonbnc.fr] has left #go-nuts []
19:08 < ajray> octoploid: theres a prettyprinter: gofmt
19:09 < bthomson> ah, good idea ajray
19:10 -!- sjbrown [n=sjbrown@c-67-188-36-211.hsd1.ca.comcast.net] has joined
#go-nuts
19:11 < octoploid> ajray: Yes, I know: ":silent ! gofmt -w %
19:11 < octoploid> "
19:11 < sjbrown> hw.go:7: os.File is not io.Writer
19:11 < sjbrown> any hints?
19:11 -!- dipen [n=dipen@117.195.66.79] has joined #go-nuts
19:12 -!- Associat0r [n=Associat@h163153.upc-h.chello.nl] has joined #go-nuts
19:12 < XniX23> can anyone tell me why this doesnt work?
http://pastebin.com/m1ffbd406
19:12 -!- anders_ [n=anders@c83-253-2-206.bredband.comhem.se] has joined #go-nuts
19:12 < ajray> sjbrown: make it a writer?
19:12 < ajray> context would be helpful
19:12 < exch> XniX23: lose the 'var'
19:12 < sjbrown> but if it implements Write( []byte) shouldn't it already be
a Writer?
19:13 < exch> no need for that in a struct declaration
19:13 < ajray> XniX23: whats that for?  looks pretty cool.
19:13 < ajray> sjbrown: yeah, so you can do Write()
19:13 < sjbrown> fp was an os.File, and I was doing fmt.Fprint(fp, myString
)
19:13 < ajray> but io.Writer has more fun stuff, like formatted writing
19:13 < XniX23> exch: thanks, but in main function i had to add var :)
19:13 < sjbrown> oh
19:14 < sjbrown> i've found os.File.WriteString, which i should have been
using in the first place
19:14 < XniX23> ajray: im trying to build a rubix cube solver
19:14 < ajray> wow
19:14 < exch> XniX23: inside a function you have to use either 'var x int'
or 'x :=..'
19:14 < exch> not in a struct definition though
19:14 -!- diltsman_ [n=diltsman@64.122.18.77] has joined #go-nuts
19:14 < XniX23> exch: thanks a lot ;)
19:18 < Dvyjones> I have a weird problem with sockets.  Suddenly it hangs on
Read(), and that doesn't return before the server closes because of a PING timeout
(I know that the server has sent some data).
19:18 < Dvyjones> http://gist.github.com/235419
19:18 < Dvyjones> It ends up erroring on Read() with the message EOF :P
19:18 -!- tar_ [n=tom@c-67-180-208-162.hsd1.ca.comcast.net] has joined #go-nuts
19:19 -!- bmw357 [n=bmw@71.197.122.40] has quit []
19:20 -!- pool [n=pool@ip98-182-40-121.ri.ri.cox.net] has quit [Client Quit]
19:20 -!- mxcl [n=mxcl@94-193-125-246.zone7.bethere.co.uk] has quit [Remote closed
the connection]
19:20 -!- anders_ [n=anders@c83-253-2-206.bredband.comhem.se] has quit ["Lost
terminal"]
19:21 -!- brunov [n=bruno@190.191.110.64] has joined #go-nuts
19:21 < jessta> Dvyjones: how do you know the server has sent some data?
19:21 -!- hipe_ [n=hipe@pool-74-108-181-155.nycmny.east.verizon.net] has joined
#go-nuts
19:21 < Dvyjones> jessta: I tried with me being the server (using netcat,
and my debugging IRC server).
19:21 -!- hipe [n=hipe@pool-74-108-181-155.nycmny.east.verizon.net] has quit [Read
error: 104 (Connection reset by peer)]
19:21 -!- rutkowski [n=adrian@078088213039.walbrzych.vectranet.pl] has quit
["WeeChat 0.3.1-dev"]
19:22 -!- cnrdh [n=ch@230.233.34.95.customer.cdi.no] has joined #go-nuts
19:22 < Dvyjones> Also, the chances for it not to send anything except the
three first lines every time I test using the bot, and it sending all the expected
data when I use netcat, are pretty slim.
19:22 -!- IvatarHome [n=graham@tu055.demon.co.uk] has quit ["leaving"]
19:23 -!- hans_stimer [n=hans@c-98-234-25-125.hsd1.ca.comcast.net] has joined
#go-nuts
19:23 < Dvyjones> s/bot, and/bot, but/
19:26 -!- facemelter [n=facemelt@87.60.0.194] has joined #go-nuts
19:27 -!- Lidys [n=Lidys@ADijon-152-1-31-233.w83-194.abo.wanadoo.fr] has joined
#go-nuts
19:27 -!- dipen1 [n=dipen@117.195.64.83] has joined #go-nuts
19:28 -!- hans_stimer [n=hans@c-98-234-25-125.hsd1.ca.comcast.net] has quit
["WeeChat 0.3.0"]
19:29 < dzen> is there a wave server implementation in go ? :)
19:29 < dagle2> Lol.
19:29 < dzen> héhé
19:30 -!- benebioglu_ [n=benebiog@hopper.cs.bilgi.edu.tr] has quit [Remote closed
the connection]
19:30 -!- nekschot [i=nekschot@82-171-143-27.ip.telfort.nl] has quit []
19:30 < sjbrown> argh.  mandatory semicolons are driving me crazy
19:30 < jessta> Dvyjones: I'm yet to use the net pkg for anything, but it
does stike me as strange that the read() function doesn't specify an amount to
read
19:31 -!- Futek [n=Futek@3505ds3-amb.0.fullrate.dk] has quit []
19:31 < dagle2> sjbrown: They are less then other languages.
19:31 < jessta> Dvyjones: tried it with a smaller b?
19:31 < sjbrown> i'm just used to Python
19:32 < engla> not requiring them as consistently as in C is crazy
19:32 -!- aron_ [n=aron@121-73-167-62.dsl.telstraclear.net] has left #go-nuts []
19:32 < sjbrown> are the semicolons syntactically necessary?
19:32 < jessta> yes, they seperate statements
19:32 < uriel> the rule for semicolons is quite simple once you 'get it'
19:32 < dagle2> engla: Then "requiring" them in your go code.
19:33 -!- mainman__ [n=Adium@host20-155-dynamic.30-79-r.retail.telecomitalia.it]
has quit ["Leaving."]
19:33 < dho> read doesn't take a len?
19:33 < dho> where
19:33 < sjbrown> i think the "statements cannot span lines" should be the
more important consistency
19:33 -!- Glao [n=raskc@c-71-198-180-232.hsd1.ca.comcast.net] has quit [Read
error: 104 (Connection reset by peer)]
19:33 -!- pure_x01 [n=pure@c83-248-3-188.bredband.comhem.se] has joined #go-nuts
19:33 < engla> dagle2: it's not for my reading pleasure
19:33 -!- kingless [n=user@adsl-162-171-194.rmo.bellsouth.net] has quit ["ERC
Version 5.3 (IRC client for Emacs)"]
19:34 < dho> oh.
19:34 -!- Glao [n=raskc@c-71-198-180-232.hsd1.ca.comcast.net] has joined #go-nuts
19:34 < bthomson> i love the exposed index variable during "for := range",
very nice
19:34 < jessta> sjbrown: some statements are longer than others
19:34 -!- facemelter [n=facemelt@87.60.0.194] has quit ["Lost terminal"]
19:34 < pure_x01> Have i understand it corretcly that a binary built with
6g/6l can be sent to any linux amd64 machine and executed..  or what is needed on
that machine?
19:34 < dho> jessta: there's sock.setReadBuffer.
19:35 < sjbrown> jessicara, in my experience, statements that are > 80
characters appear about once in every thousand lines
19:35 -!- jbo [n=jbo@CPE002436a02e88-CM0016b531f6b4.cpe.net.cable.rogers.com] has
joined #go-nuts
19:35 < Dvyjones> jessta: Ooh.
19:35 < sjbrown> oops.  i meant jessta
19:35 < uriel> pure_x01: yes
19:35 -!- jbo [n=jbo@CPE002436a02e88-CM0016b531f6b4.cpe.net.cable.rogers.com] has
left #go-nuts []
19:35 < Dvyjones> jessta: It works when reading one byte at a time.
19:35 < sjbrown> anyways, don't mean to be a syntax snob
19:35 < jessta> Dvyjones: that's not the same thing
19:35 -!- jbo [n=jbo@CPE002436a02e88-CM0016b531f6b4.cpe.net.cable.rogers.com] has
joined #go-nuts
19:35 < pure_x01> uriel: thnx
19:35 < sjbrown> i'll get used to it
19:35 -!- ako [n=nya@f051119015.adsl.alicedsl.de] has joined #go-nuts
19:35 < Dvyjones> jessta: ?
19:35 < jessta> Dvyjones: oops
19:36 < jessta> not you
19:36 < Dvyjones> :P
19:36 < jessta> dho: that's not the same thing
19:36 < jessta> Dvyjones: the read() must get it's length from the slice
19:36 < Dvyjones> jessta: It is, I read the code.
19:37 -!- zerofluid [n=zeroflui@ip68-227-10-141.lv.lv.cox.net] has joined #go-nuts
19:37 < Dvyjones> jessta: Still, shouldn't it read up to x bytes?
19:37 < jbo> Which writer should I use if I want to buffer a string?  For
example, output from the base64 encoder.
19:37 -!- Sylvain_ [i=52ee981a@gateway/web/freenode/x-betadiswcnwwnuxp] has quit
["Page closed"]
19:38 < dho> Dvyjones: The implementation says that for b []byte, it should
read up to len(b)
19:38 < engla> package io has functions to read a special amount of bytes?
19:38 -!- prip [n=_prip@host135-123-dynamic.36-79-r.retail.telecomitalia.it] has
joined #go-nuts
19:38 < dho> see os/file.go
19:38 < dho> src/pkg/os/file.go rather
19:38 < jessta> Dvyjones: reads on sockets have always blocked until the
expected amount is read
19:38 -!- Kashia [n=Kashia@79.235.114.156] has quit [Read error: 145 (Connection
timed out)]
19:38 < engla> io.ReadAll/io.ReadAtLeast
19:39 -!- dipen1 [n=dipen@117.195.64.83] has quit [Read error: 60 (Operation timed
out)]
19:39 -!- dschn [n=dschn@pool-70-19-224-19.bos.east.verizon.net] has quit [Read
error: 110 (Connection timed out)]
19:39 < engla> then slice size does the other thing I suppose -- read at
most
19:39 < dho> jessta: the socket implementation uses a poll
19:39 < dho> which is implemented as the os's best polling method, epoll,
kqueue
19:40 -!- depood [n=depood@chello080108055214.19.11.vie.surfer.at] has quit
[Remote closed the connection]
19:41 -!- facemelter [n=facemelt@87.60.0.194] has joined #go-nuts
19:41 < jessta> dho: but not from the perspective of the goroutine, the
gorountine blocks on the read(), but the thread the goroutine is running in
doesn't
19:42 -!- jadamcze [n=jadamcze@ppp59-167-67-194.lns20.hba1.internode.on.net] has
joined #go-nuts
19:42 -!- Thorn [n=thorn@unaffiliated/thorn] has quit ["Leaving"]
19:43 -!- dipen [n=dipen@117.195.66.79] has quit [Read error: 110 (Connection
timed out)]
19:43 -!- Guest77007 [n=marty@c-98-234-25-125.hsd1.ca.comcast.net] has joined
#go-nuts
19:43 -!- Snert [n=chatzill@puff.snert.com] has quit ["ChatZilla 0.9.85 [Firefox
3.5.5/20091102152451]"]
19:43 -!- jbo [n=jbo@CPE002436a02e88-CM0016b531f6b4.cpe.net.cable.rogers.com] has
quit []
19:44 < nickjohnson> What's the use-case of the 'defer' statement?
19:44 < dho> jessta: ah ok
19:44 < jessta> nickjohnson: closing a file
19:45 < jessta> nickjohnson: you open a file and defer the closing of the
file to the end of the function
19:45 < nickjohnson> hm, fair enough I suppose
19:45 < nickjohnson> I was hoping it was something cooler ;)
19:46 < jessta> it just says "do this when this function returns"
19:46 -!- Lidys_ [n=Lidys@ADijon-152-1-5-19.w83-194.abo.wanadoo.fr] has quit [Read
error: 110 (Connection timed out)]
19:46 < nickjohnson> right
19:46 < nickjohnson> more or less like a finally block, only with function
scope
19:46 * dho -> lunch
19:47 < jessta> it's great for doing clean up
19:49 -!- ineol [n=hal@mar75-9-88-171-191-168.fbx.proxad.net] has joined #go-nuts
19:49 < engla> defer is a bit like try..  finally
19:49 < engla> saves an indent and so on the plus side, not so explicitly
scoped as try..finallyon the negative side
19:50 -!- tc [n=travis@rrcs-67-78-243-170.se.biz.rr.com] has joined #go-nuts
19:51 < nickjohnson> yup
19:51 < nickjohnson> But one could argue that if you have different scopes
for cleanup, you should have different functions anyway
19:51 < nickjohnson> at least usually
19:51 -!- mxcl [n=mxcl@94-193-125-246.zone7.bethere.co.uk] has joined #go-nuts
19:51 -!- General1337 [n=support@71-84-247-187.dhcp.gldl.ca.charter.com] has
joined #go-nuts
19:51 < General1337> hey guys
19:51 < General1337> I'm trying to set my enviromental variables but it's
not working
19:52 -!- swilde [n=user@xdslae105.osnanet.de] has quit ["ERC Version 5.3 (IRC
client for Emacs)"]
19:52 < General1337> at the end of bashrc I have export GOROOT=$HOME/go and
the others but it doesn't do anything :|
19:52 -!- aho [n=nya@g227069155.adsl.alicedsl.de] has quit [Read error: 113 (No
route to host)]
19:52 < GeDaMo> Have you started a new shell?
19:53 < General1337> yes
19:53 < GeDaMo> bashrc or .bashrc?
19:53 < General1337> .bashrc
19:53 < KirkMcDonald> General1337: What does echo $GOROOT say?
19:53 < engla> is your shell bash?
19:53 < KirkMcDonald> heh
19:53 < General1337> it says nothing
19:54 < KirkMcDonald> That is a good question.
19:54 < GeDaMo> General1337: echo $SHELL
19:54 < General1337> :|
19:54 < General1337> it's /bin/bash
19:55 < nacmartin> source ~/.bashrc
19:55 < General1337> well that seemd tow ork
19:55 < General1337> seemed to work*
19:55 -!- jadamcze_ [n=jadamcze@ppp59-167-90-160.lns20.hba1.internode.on.net] has
quit [Read error: 110 (Connection timed out)]
19:56 -!- Guest77007 [n=marty@c-98-234-25-125.hsd1.ca.comcast.net] has quit []
19:56 < General1337> but i'm still etting "$GOROOT is not set correctly or
not exported"
19:56 < KirkMcDonald> General1337: In the same window, or a different
window?
19:56 < General1337> what do you mean
19:56 < KirkMcDonald> Do you have multiple terminal windows open?
19:56 < General1337> no
19:56 < General1337> i'm only using one
19:56 < KirkMcDonald> Okay.
19:57 < KirkMcDonald> Did you also add $GOBIN to your PATH?
19:57 < sergio> hmm.  doesn't the -I switch from 6c supports a path
containing a space?  (I am double quoting it)
19:58 < uriel> sergio: I think there might be a bug about that...  check the
issue tracker
19:58 < diltsman_> Is there a better way to do a compare between slices than
testing for length equality and then an element-wise compare?
19:58 < sergio> ah, okay, uriel.  thanks
19:58 < uriel> (I vaguely remember some spaces-in-path issue)
19:58 < General1337> no KirkMcDonald
19:58 < General1337> I don't even know what that mean s:|
19:58 < GeDaMo> General1337: PATH=${PATH}:$GOBIN
19:59 < sladegen> what does "env | grep ^GO" say?
19:59 < jessta> diltsman_: bytes.Compare()
19:59 < General1337> it says GOARCH=386, GOROOT=/home/serjh/go, GOOS=linux
19:59 -!- Yaquishael [n=Yaquisha@unaffiliated/yaquishael] has joined #go-nuts
19:59 < diltsman_> jessta: Thanks.  You would think I would have thought to
look in that package.
20:00 < sergio> uriel, issue 115 is the closest one, I guess, but it's about
the build scripts not quoting the path, so that spaces can't be used
20:00 < nickjohnson> What if the slices are of a comparable type that isn't
bytes?
20:01 < sladegen> and "ls $GOROOT"?  it should have the AUTHORS/README
files...
20:01 < uriel> sergio: ah, then it might be something else...  sergio what
error are you getting?
20:01 -!- cnrdh [n=ch@230.233.34.95.customer.cdi.no] has left #go-nuts []
20:01 -!- Jan_Flanders [n=chatzill@d54C1E33B.access.telenet.be] has joined
#go-nuts
20:02 < General1337> sladegen were you talking to me
20:02 < sergio> well, actually I was checking that issue, and got this
problem while building misc/cgo/stdio.  it wont find the runtime headers in the
path indicated by -I
20:03 * sladegen peers quizicly at General1337
20:03 < General1337> what
20:03 < General1337> $GOROOT is not set correctly or not exported
20:03 < General1337> GOARCH=386, GOROOT=/home/serjh/go, GOOS=linux
20:04 < sladegen> yes, and does /home/serjh/go contain README file among
others?
20:04 < GeDaMo> What about GOBIN?
20:05 < sladegen> export GOBIN=$HOME/bin
20:05 < General1337> that folder doesn't even exist
20:05 < General1337> :|
20:05 -!- ako is now known as aho
20:05 < sladegen> and mkdir $HOME/bin
20:05 -!- ring-zero [n=hotshot@117.207.64.212] has quit ["Leaving"]
20:05 < General1337> no wonder
20:05 -!- Manish_mah_ [n=chatzill@c-67-189-144-6.hsd1.ma.comcast.net] has joined
#go-nuts
20:06 -!- M32311 [n=m32311@68-186-182-171.dhcp.leds.al.charter.com] has quit
[Remote closed the connection]
20:06 -!- dschn [n=dschn@pool-70-19-224-19.bos.east.verizon.net] has joined
#go-nuts
20:06 < General1337> the variables all passed but now I got an error saying
to double check that /home/serjh/bin is in your $PATH
20:07 < sladegen> go doesn't work on freebsd yet, btw.
20:07 -!- thedevel [n=thedevel@pool-72-78-219-199.phlapa.fios.verizon.net] has
quit []
20:07 < General1337> i am using ubuntu
20:08 < General1337> there
20:08 < General1337> it works
20:08 < General1337> thanks for the help
20:08 < rickard> export PATH=$PATH:$GOBIN
20:08 -!- osmosis [n=steven@cpe-98-148-47-216.socal.res.rr.com] has quit
["Ex-Chat"]
20:09 -!- melba [n=blee@unaffiliated/lazz0] has quit ["MICROSOFT WORD IS A FUN
GAME"]
20:10 -!- Lorthirk [n=cm0901@109.115.69.63] has joined #go-nuts
20:12 -!- amacleod [n=amacleod@c-24-34-33-96.hsd1.ma.comcast.net] has joined
#go-nuts
20:14 -!- jbo [n=jbo@CPE002436a02e88-CM0016b531f6b4.cpe.net.cable.rogers.com] has
joined #go-nuts
20:16 < Koen_> is there a catchall for switch in go?
20:16 -!- diltsman_ [n=diltsman@64.122.18.77] has quit []
20:16 < scandal> Koen_: default
20:16 < exch> could someone exlpain to me why this doesn't work?
http://go.pastebin.com/m33098c2a
20:16 < Koen_> thanks
20:17 -!- amacleod [n=amacleod@c-24-34-33-96.hsd1.ma.comcast.net] has quit [Client
Quit]
20:17 -!- JPascal [n=jpascal@213.141.153.53] has joined #go-nuts
20:17 < zerofluid> Koen_: a little more than halfway in the Day One of the
training slides
20:17 -!- sjbrown [n=sjbrown@c-67-188-36-211.hsd1.ca.comcast.net] has quit [Read
error: 60 (Operation timed out)]
20:17 < engla> exch: the method is on a pointer
20:17 < scandal> exch: your method is defined to received a pointer
20:17 < engla> (that's my guess)
20:18 < exch> ah.  lemme try a value then
20:18 -!- osmosis [n=steven@cpe-98-148-47-216.socal.res.rr.com] has joined
#go-nuts
20:18 -!- osmosis [n=steven@cpe-98-148-47-216.socal.res.rr.com] has quit [Read
error: 104 (Connection reset by peer)]
20:18 < exch> righty.  that fixed it.  thanks :)
20:18 < jessta> exch: Shape is an interface, you don't embed interfaces in
structs
20:19 < Amaranth> exch: Or stick a & in front of your calls to Rect
20:19 < KirkMcDonald> Ah, yes, lines 10 and 21 are suspect.
20:19 < scandal> jessta: can't you store a reference to an object that
implements an interface that way?
20:19 -!- Null-A [n=jason@65-119-47-100.dia.static.qwest.net] has joined #go-nuts
20:19 < exch> trying to wrap my head around this interface stuff.  My brain
is wired to the polymorphism in C#
20:20 < JPascal> Hello all!
20:20 -!- qbit_ [n=qbit_@c-75-71-160-106.hsd1.co.comcast.net] has quit ["Computer
has gone to sleep"]
20:20 -!- ego_ [n=ego@athedsl-260189.home.otenet.gr] has joined #go-nuts
20:20 < exch> the interface embedding works btw..  works without as well
though :p
20:20 -!- Manish_mah [n=chatzill@c-67-189-144-6.hsd1.ma.comcast.net] has quit
[Read error: 110 (Connection timed out)]
20:21 -!- hugov [n=hugov@sjc237n225.joh.cam.ac.uk] has joined #go-nuts
20:21 < KirkMcDonald> I am semi-surprised this this is not an error.
20:21 < KirkMcDonald> that this*
20:21 < JPascal> Whether is in "Go" analogues of functions "dlopen" and
"dlsym" as in C/C ++?
20:21 < hugov> can anyone tell me how to install the Xcode language specs?
20:21 < jessta> exch: it just doesn't do anything
20:21 < Amaranth> JPascal: They don't exist, everything is statically linked
20:21 < exch> yea I noticed
20:22 < Amaranth> hugov: Doesn't exist
20:22 < scandal> exch: you added an extra field to the sruct that can store
an object that implements the Shape interface
20:22 < exch> it does offer a nice visual indicator that rect/circle are
related to Shape though
20:22 < hugov> Amaranth: it's under misc/xcode?
20:22 < Amaranth> I thought that was build system stuff, guess I never
really looked
20:23 < zerofluid> hugov: /Developer/Library/Xcode/Specifications
20:23 -!- MarkBao [n=MarkBao@pool-71-184-95-241.bstnma.fios.verizon.net] has
joined #go-nuts
20:23 < KirkMcDonald> exch: The entire point of the interface mechanism is
that there need not exist any relationship, aside from the struct implementing the
interface.
20:23 < JPascal> I mean I can not create library and cause function from the
main module of the program?
20:23 < Amaranth> hugov: Yeah, that's just project creation support and
syntax highlighting
20:23 < Amaranth> hugov: If that's what you meant, ok
20:24 < Amaranth> I thought you meant documentation on how the language
works
20:24 < exch> KirkMcDonald: Yea, that's what I'm having trouble with
understanding.  My brain is wired for these kind of things after 9 years of C#
programming :s
20:24 < hugov> Amaranth, thanks that worked!
20:24 < hugov> i'd been trying /Library or ~/Library, not /Developer/Library
20:24 -!- hugov [n=hugov@sjc237n225.joh.cam.ac.uk] has quit [Client Quit]
20:24 < jessta> exch: no inheritnace, only interfaces
20:25 < exch> that does imply a ton of boilerplate code that has to be
written
20:25 < KirkMcDonald> exch: What does?
20:25 < Amaranth> JPascal: You can make go programs that are in multiple
files
20:25 < jessta> exch: and you don't explictly implement an interface
20:26 < Amaranth> JPascal: You just compile them to *.8 files then call the
linker to link them all together into one binary
20:26 < Amaranth> JPascal: But you can't make a library using go
20:26 < KirkMcDonald> A dynamic library.
20:26 < jessta> exch: you implement an interface it the object happens to
have the methods required to implement the interface
20:26 < jessta> *if the object
20:26 < exch> hmm
20:27 < uriel> note: gccgo can do dynamic linking, and (if I got it right)
seems to be a way to load dynamically C code when using cgo
20:27 < Amaranth> exch: It's sort of like duck typing, if that helps
understand it
20:27 < uriel> (not following closely the discussion, so this might not be
what was being asked for)
20:27 -!- encolpe [n=encolpe@gai69-3-82-235-15-3.fbx.proxad.net] has joined
#go-nuts
20:28 < jessta> exch: in your case both circle and rect implement the Area
interface because they both have an Area() method
20:28 < exch> yes.  I do get it.  I was just hoping the indication of
relationsips cuold be a little more explicit.  I suppose I have to completely lose
my way of thinking about this
20:28 < jessta> *shape interface
20:28 < Null-A> exch: write a comment...
20:29 < KirkMcDonald> exch: In the project I am working on right now, I have
just organized my code in such a way that this is clear.
20:29 < KirkMcDonald> exch: So a file might have an interface at the top,
and then a number of structs which implement this interface.
20:30 -!- arieru [n=arieru@190.3.74.225] has joined #go-nuts
20:30 -!- Adys [n=Adys@unaffiliated/adys] has quit ["I ♥ Unicode"]
20:31 -!- arieru [n=arieru@190.3.74.225] has left #go-nuts []
20:31 < exch> it's not always possible to do it that neatly though.  Suppose
yuo are using an interface from an already existing package.  Comments will have
to do then
20:31 -!- pierron_ [n=pierron@91-164-241-202.rev.libertysurf.net] has joined
#go-nuts
20:32 -!- Adys [n=Adys@unaffiliated/adys] has joined #go-nuts
20:32 < KirkMcDonald> Sure.  Or it will be obvious from the context.
20:32 < Null-A> You can still recreate the packages interface in your own
package
20:32 -!- Freakzoid [n=Freakzoi@1503026015.dhcp.dbnet.dk] has joined #go-nuts
20:32 < Null-A> it won't matter
20:32 < Null-A> if you wanted to document it
20:33 -!- tar_ [n=tom@c-67-180-208-162.hsd1.ca.comcast.net] has quit []
20:33 < exch> I'm just used to all this become clear from the code itself,
regardless of where it comes from.  Even at runtime when you don't actually have
any code (reflection)
20:33 < exch> that's a niche case though.
20:33 < General1337> ./usr/include/gnu/stubs.h:7:27: error: gnu/stubs-32.h:
No such file or directory
20:33 -!- hansstimer [n=hans@c-98-234-25-125.hsd1.ca.comcast.net] has joined
#go-nuts
20:33 < General1337> is there a way to fix this?
20:34 < Null-A> clarity is function, in part of convention; go has new
conventions.
20:34 -!- wimpog [n=wimpog@pool-151-203-160-148.wma.east.verizon.net] has joined
#go-nuts
20:34 < exch> true
20:34 < wimpog> how can I get gccgo ?
20:34 -!- Futek [n=Futek@3505ds3-amb.0.fullrate.dk] has joined #go-nuts
20:35 < wimpog> is there a way of creating an executable with a custom name?
Like in C: gcc hello.c -o hello
20:35 -!- brunov [n=bruno@190.191.110.64] has quit [Read error: 110 (Connection
timed out)]
20:35 < KirkMcDonald> wimpog: 6l supports a -o option.
20:35 < KirkMcDonald> 6l -o hello main.6
20:35 < Amaranth> wimpog: and 8l and 5l support -o as well of course
20:35 < KirkMcDonald> (The option has to come first.)
20:36 < wimpog> KirkMcDonald: let me try
20:37 < wimpog> KirkMcDonald: ahha!!!  the option has to come first!  good
point thanks!
20:37 < jessta> exch: the relationships between objects is less important
than what they do
20:37 < wimpog> KirkMcDonald: how do I get user input?  Like scanf or cin in
C/C++?
20:38 < jessta> exch: thus, rather than making a shape interface and then
making 'shapes' to implement it, you instead just make those shapes
20:39 < alexsuraci> hurrah, my Go pastie (in Go) is working.
http://toogeneric.com:8000/
20:39 < wimpog> Is there a numeric datatype long in GO?
20:39 < alexsuraci> example:
http://toogeneric.com:8000/view?paste=O1nNp0S8uZy7M6jPa1W1pIl7S9yKs1G3
20:39 < exch> wimpog: r := bufio.NewReader(os.Stdin); s :=
r.ReadString("\n");
20:39 < KirkMcDonald> wimpog: os.Stdin will give you a File object.
http://golang.org/pkg/os/#tmp_360
20:39 < jessta> exch: and then make an interface that matches the
similarities
20:39 < annodomini> Is there a way to select between a list (of arbitrary
length) of different channels?  It seems that in the select statement I have to
explicitly list each channel; I haven't seen a way to select over a whole list (or
array, or slice, or other collection) of them.
20:39 < KirkMcDonald> What exch said.
20:40 -!- hipe_ is now known as hipe|away
20:40 -!- rog [n=rog@89.240.185.200] has quit [Read error: 104 (Connection reset
by peer)]
20:40 -!- rog [n=rog@89.240.185.200] has joined #go-nuts
20:40 -!- Manish_mah [n=chatzill@c-67-189-144-6.hsd1.ma.comcast.net] has joined
#go-nuts
20:40 < JPascal> Who already try using "Go" for CGI application?
20:41 -!- jbo [n=jbo@CPE002436a02e88-CM0016b531f6b4.cpe.net.cable.rogers.com] has
quit []
20:41 < exch> jessta: I get the idea, but here comes the biolerplate bit
again.  Consider this: Shape is a struct that implements X/Y, which are fields
shared by both rect and circle..  in the Go scenario, I have to implement the same
fields twice.  Once for each struct (Rect and Circle)
20:42 < exch> for 2 fields thats hardly an issue, but for complex models
this can become tedious quite fast
20:43 < KirkMcDonald> annodomini: Spin off a goroutine for each channel
which just forwards all of them into a single, common channel.
20:43 < KirkMcDonald> annodomini: Then select on that.
20:43 < jessta> exch: yeah, it seems like a problem, but it's much eaiser
than having to think about rect and circle everytime you make a change to shape
20:43 -!- aidecoe [n=aidecoe@etiriah.aidecoe.name] has joined #go-nuts
20:43 -!- delsvr [n=delsvr@cpe-67-242-41-219.twcny.res.rr.com] has joined #go-nuts
20:43 < exch> with a good layout that isn't a problem really
20:44 < jessta> yep, if your progam is simple enough and doesn't change
20:45 < annodomini> KirkMcDonald: Hmm.  I suppose that would work; seems a
bit heavyweight for something I felt should be simpler.
20:45 -!- facemelter [n=facemelt@87.60.0.194] has quit ["leaving"]
20:46 < jessta> the point of Go's model is to avoid the effort of
maintaining a tree of types
20:46 -!- Ian_Daniher [n=it@nat-pool-128-88.olin.edu] has quit [Read error: 113
(No route to host)]
20:46 < exch> Refactoring sn't much of an issue in Go I suppose.  Which has
it's advantages
20:47 -!- RayNbow [i=kirika@scientia.demon.nl] has joined #go-nuts
20:47 < jessta> copy and paste code reuse is easy
20:47 < exch> :p
20:47 < jessta> it's easy to think about and easy to do
20:47 < Garibaldi> copy and paste code debugging is the pain :-P
20:47 -!- diltsman_ [n=diltsman@64.122.18.77] has joined #go-nuts
20:47 -!- tuples_ [i=550230f2@gateway/web/freenode/x-ocwygjwtdiqdzvks] has joined
#go-nuts
20:47 < nacmartin> is there a web server made in go?
20:48 < exch> copy/pasting it 5 times and the realizing you have to fix all
5 of em is a pain to :)
20:48 -!- aa [n=aa@r190-135-161-77.dialup.adsl.anteldata.net.uy] has quit [Read
error: 104 (Connection reset by peer)]
20:48 -!- pierron [n=pierron@91-164-254-130.rev.libertysurf.net] has quit [Read
error: 101 (Network is unreachable)]
20:48 < tuples_> Why does "i := 5; a := new([i]int);" not work?  I know I
can use make(), but...
20:48 -!- aa [n=aa@r190-135-161-77.dialup.adsl.anteldata.net.uy] has joined
#go-nuts
20:48 < scandal> tuples_: i must be const
20:48 < jessta> exch: search/replace
20:49 < tuples_> but, why?
20:49 -!- diltsman_ [n=diltsman@64.122.18.77] has quit [Client Quit]
20:49 < scandal> tuples_: because [N]int is a type
20:49 < tuples_> Ah right.
20:49 < Garibaldi> search, find more than you expected, replace too many,
introduce even more bugs
20:49 < jessta> encapulation is more important
20:50 < Garibaldi> I don't disagree
20:50 -!- sjbrown [n=sjbrown@c-67-188-36-211.hsd1.ca.comcast.net] has joined
#go-nuts
20:50 < jessta> debugging weird errors that occur further down your tree is
hard
20:50 < jessta> having to think about every class that inherits from this
class before changing it is a pain
20:51 -!- ag90 [n=Adium@bas3-unionville55-1279752520.dsl.bell.ca] has joined
#go-nuts
20:51 < exch> both scenarios have merit, but also come with definite
disadvantages.
20:51 -!- Fl1pFl0p1 [n=FlipFlop@unaffiliated/fl1pfl0p] has joined #go-nuts
20:51 < Garibaldi> if it's properly encapsulated, it's not bad
20:51 -!- dschn [n=dschn@pool-70-19-224-19.bos.east.verizon.net] has quit [Read
error: 110 (Connection timed out)]
20:51 < Garibaldi> problem is, most people don't properly encapsulate
implementation details in a superclass from its subclasses
20:51 -!- tuples_ [i=550230f2@gateway/web/freenode/x-ocwygjwtdiqdzvks] has quit
[Client Quit]
20:52 < jessta> because OOP is hard
20:52 < Amaranth> exch: http://golang.org/doc/effective_go.html#embedding
20:52 < jessta> really hard
20:52 < annodomini> nacmartin:
http://golang.org/doc/effective_go.html#web_server and http://golang.org/pkg/http/
20:52 < Amaranth> exch: look at how it embeds structs
20:52 < Garibaldi> worse problem is textbooks teach people not to do so
20:52 < Amaranth> yay inheritance
20:52 < jessta> it's so difficult that most programmers can't do it right
20:52 -!- yuanxin [n=uman@uawifi-nat-210-16.arizona.edu] has joined #go-nuts
20:52 -!- facemelter [n=facemelt@87.60.0.194] has joined #go-nuts
20:52 < nacmartin> annodomini, thanks
20:53 < Garibaldi> too many texts use protected state, and loose the
encapsulation
20:53 < Garibaldi> jessta: that I don't disgree with either
20:53 < exch> OOP is much easier for me to understand than procedural
programming.  prolly because I started uot with OOP from the beginning
20:53 -!- crooter [n=crooter@adsl-69-209-124-89.dsl.klmzmi.ameritech.net] has left
#go-nuts []
20:53 < Garibaldi> I mean, the key is different languages have different
uses.  Just because OO is good in some cases doesn't mean it's good everywhere
20:53 < exch> Amaranth: yes I saw that.  it's nice
20:54 -!- Manish_mah_ [n=chatzill@c-67-189-144-6.hsd1.ma.comcast.net] has quit
[Read error: 110 (Connection timed out)]
20:54 -!- Ian_Daniher [n=it@nat-pool-128-88.olin.edu] has joined #go-nuts
20:55 -!- rhelmer [n=rhelmer@adsl-69-107-65-242.dsl.pltn13.pacbell.net] has joined
#go-nuts
20:56 -!- ag90 [n=Adium@bas3-unionville55-1279752520.dsl.bell.ca] has left
#go-nuts []
20:56 < yuanxin> is anyone here using go-mode.el ?
20:56 < wimpog> how do I declare a long integer?
20:56 < Garibaldi> does anyone have a go syntax file for vim?
20:56 < yuanxin> wimpog: int64 ?
20:57 -!- lux` [n=lux@151.54.240.177] has joined #go-nuts
20:57 -!- MarkBao [n=MarkBao@pool-71-184-95-241.bstnma.fios.verizon.net] has quit
[Read error: 110 (Connection timed out)]
20:57 < yuanxin> Garibaldi: try $GOROOT/misc/vim :)
20:57 < Garibaldi> doh, I didn't even think to look
20:57 < Garibaldi> thanks
20:57 -!- Gracenotes [n=person@wikipedia/Gracenotes] has joined #go-nuts
20:57 < yuanxin> Garibaldi: np
20:58 -!- prefrontal [n=prefront@mist.colorado.edu] has joined #go-nuts
20:58 -!- gpurrenhage [n=gpurrenh@141.209.53.85] has joined #go-nuts
20:59 < wimpog> yuanxin: thanks!
20:59 -!- Popog [n=Adium@pool-71-121-200-233.sttlwa.dsl-w.verizon.net] has quit
["Leaving."]
21:00 < yuanxin> wimpog: np
21:00 < wimpog> yuanxin: so it would be number int64 := 100000000; ?
21:01 -!- hipe|away [n=hipe@pool-74-108-181-155.nycmny.east.verizon.net] has quit
[Remote closed the connection]
21:01 < exch> num := int64(1000000000);
21:01 < wimpog> exch: ohh
21:01 < Ycros> yuanxin: I'm using go-mode
21:01 < yuanxin> Ycros: have you been having any problems with it?
21:01 < yuanxin> I find it often indents wrong
21:01 < wimpog> exch: and what if I just want to declare a long variable
w/out any value?
21:01 < wimpog> num int64; ?
21:02 < reubens> var num int64 if you don't want to use :=
21:02 < Ycros> yuanxin: yes, it can't deal with the optional semicolons.  If
you put semicolons in everywhere it's fine
21:02 < Amaranth> var num int64;
21:02 < wimpog> thanks
21:02 -!- hstimer [n=hans@c-98-234-25-125.hsd1.ca.comcast.net] has joined #go-nuts
21:02 < yuanxin> Ycros: okay.  Thanks.
21:02 * Amaranth always put in semicolons
21:02 < Amaranth> semicolons were optional in javascript too but that tends
to mask errors
21:02 < wimpog> Amaranth: how do I get a number from a keyboard, prompting
the user for it?
21:02 < Amaranth> s/were/are/
21:03 < reubens> i don't think go has the same problems with semicolon
insertion as javascript
21:03 -!- Fish [n=Fish@78.238.225.114] has quit [Read error: 104 (Connection reset
by peer)]
21:03 < yuanxin> Ycros: I also find that if I visit a new empty file, it
will use spaces instead of tabs for indentation, until I kill the buffer and visit
the file again
21:03 < Amaranth> wimpog: Read it into a string then use strconv.Atoi64
21:03 < Ycros> Amaranth: they're not optional everywhere, but they're
separators rather than terminators
21:03 < yuanxin> Ycros: have you come across that problem?
21:03 < reubens> python also has optional semicolons but you never see
anyone using them
21:03 < Ycros> yuanxin: I don't think I've noticed that issue
21:03 < jessta> semicolons aren't optional, they are required
21:03 < yuanxin> Ycros: Hm.
21:03 -!- hansstimer [n=hans@c-98-234-25-125.hsd1.ca.comcast.net] has quit [Read
error: 104 (Connection reset by peer)]
21:03 < Amaranth> reubens: Python also doesn't try to be really helpful when
it runs into a syntax error
21:04 < Ycros> jessta: they are optional on the last statement in a block
because they're separators
21:04 < yuanxin> The correct way to update one's Go distribution is: cd
$GOROOT && hg pull && hg update && cd src && ./all.bash
21:04 -!- gpurrenhage [n=gpurrenh@141.209.53.85] has quit []
21:04 < yuanxin> correct?
21:04 < jessta> Ycros: nope, they are required between every statement
21:05 < Ycros> jessta: between, yes, but optional after the last one
21:05 < scandal> yuanxin: that works.  however: you dont need to be in the
$GOROOT--you can be anywhere in the tree.  and you can use hg pull -u as a
shortcut
21:05 -!- snnd [n=dennis@shell.hackerlab.de] has joined #go-nuts
21:05 < Amaranth> yuanxin: it looks like all.bash cleans up previous builds
so that should be fine
21:05 < snnd> hi there!
21:06 < yuanxin> scandal, Amaranth: thanks !
21:06 < jessta> Ycros: not optional, they are just not required
21:06 < reubens> words mean things
21:06 < yuanxin> jessta: is there a difference between "allowed but not
required" and "optional"?
21:06 < yuanxin> If so enlighten me
21:06 -!- teatime [n=c@213-187-177-166.dd.nextgentel.com] has joined #go-nuts
21:07 -!- sachetto [n=sachetto@189.17.213.204] has joined #go-nuts
21:07 < jessta> yuanxin: optional indicts that they should be there, but you
can leave them off if you want
21:07 < teatime> hello nutters
21:07 -!- JPascal [n=jpascal@213.141.153.53] has left #go-nuts []
21:07 < yuanxin> teatime: hi
21:07 < cankoy> hello, are braces required around a single statement block?
21:07 -!- wimpog [n=wimpog@pool-151-203-160-148.wma.east.verizon.net] has left
#go-nuts []
21:07 < yuanxin> cankoy: if you mean in if and for statements, yes
21:07 < teatime> i've just heard about go and it seems awesome
21:07 < Garibaldi> yay!
21:07 < jessta> yuanxin: but they shouldn't be there, since they are
seperators not terminators
21:08 < reubens> i think a semicolon at end of the last statement should be
there, because i don't want to worry about putting it there if i put another
statement there later
21:08 -!- castlevaniafan [n=castleva@f048134231.adsl.alicedsl.de] has quit
["Leaving..."]
21:08 < reubens> so i think they should be there but you can leave them off
if you want
21:08 < jessta> yuanxin: eg.  pizza,pie,cheese, <- the comma at the end
is silly
21:08 < yuanxin> jessta: I disagree about your definition of "optional".
But that is a discussion about English, rather than about Go, so I won't go into
it here.
21:08 -!- LjL [n=ljl@unaffiliated/ljl] has joined #go-nuts
21:09 < yuanxin> does gofmt strip extraneous semicolons?
21:09 < jessta> with a -w it does
21:09 < JBeshir> I wonder what happens if you feed programs which aren't Go
to gofmt
21:09 < teatime> in pascal, statements aren't terminated by semicolons, they
are separated by them.  and since there is no statement after the last, the last
semicolon is optional
21:09 -!- heavensrevenge_ [i=63ee179c@gateway/web/freenode/x-yjkagwtstvrximxx] has
quit ["Page closed"]
21:10 < yuanxin> JBeshir: errors
21:10 -!- teop [n=teop@89.232.105.11] has quit [Read error: 60 (Operation timed
out)]
21:10 < JBeshir> yuanxin: Aww.  I was hoping it'd just try to plow on and do
something to it.
21:10 -!- Futek [n=Futek@3505ds3-amb.0.fullrate.dk] has quit []
21:10 -!- interskh [n=interskh@c-67-163-156-103.hsd1.pa.comcast.net] has quit
[Read error: 110 (Connection timed out)]
21:10 < yuanxin> JBeshir: i.e.  same thing that happens if you feed it Go
source with syntax errors
21:10 -!- wubo [n=quassel@c-68-48-40-190.hsd1.md.comcast.net] has joined #go-nuts
21:10 -!- kizzo [n=kizzo@c-24-6-50-117.hsd1.ca.comcast.net] has joined #go-nuts
21:11 < yuanxin> clearly, gofmt has to parse the source for it to work...
it can't do anything meaningful with unparsable text
21:11 -!- interskh [n=interskh@c-67-163-156-103.hsd1.pa.comcast.net] has joined
#go-nuts
21:11 < yuanxin> I imagine this is true of all "tidy" type programs,
although I don't know for sure
21:13 -!- niekie [i=quasselc@dreamworld.bergnetworks.com] has joined #go-nuts
21:13 < Amaranth> wow an extra line at the end of the file is enough for
gofmt to consider the file not valid gofmt style
21:13 -!- sku [n=sk@93.190.179.188] has quit [Remote closed the connection]
21:13 < sladegen> yuanxin: i think it does the opposite adding termnating
semicolon...
21:15 < yuanxin> sladegen: I will try it when done editing this file :)
21:15 < Dvyjones> How do I do arr[5:-1] in Go? Slice to the end that is.
21:15 < Dreamer3_MBP17> you can get the end with len()
21:16 < Dvyjones> so arr[5:len(arr)]?
21:16 -!- ajray [n=alex@wvc32563rh.rh.ncsu.edu] has left #go-nuts []
21:16 < Dreamer3_MBP17> try it :)
21:16 < hstimer> How far is Go going with the "System Programming Language"
features i.e.  placed memory allocations, exact data layout, asm, etc...?
21:16 -!- Popog [n=Adium@pool-71-121-200-233.sttlwa.dsl-w.verizon.net] has joined
#go-nuts
21:16 < Amaranth> hstimer: Pretty sure they meant system as in "what you
write web servers in" :)
21:16 < Amaranth> not "write a kernel"
21:17 < KirkMcDonald> It is a systems programming language, not a system
programming language.
21:17 * Dvyjones waves to niekie
21:17 < Amaranth> It gets confusing though since C is both
21:17 < hstimer> ahh...  fine distinction that s makes
21:17 < sladegen> yuanxin: nope, i was wrong, it left one line if without
semicolon alone, anyway...
21:18 < Amaranth> It's not particularly good at it though
21:18 -!- Arathorn [n=arathorn@78-86-114-145.zone2.bethere.co.uk] has joined
#go-nuts
21:18 < yuanxin> Ycros: hm, after updating to latest mercurial revision, the
problem disappeared.  I guess it was a temporary bug...
21:18 < Arathorn> hi all - does go support function pointers?
21:18 < Amaranth> sladegen: gofmt strips semicolons from return and break
statements
21:18 < Ycros> yuanxin: ah, I guess I should update
21:19 -!- ego_ [n=ego@athedsl-260189.home.otenet.gr] has quit [Remote closed the
connection]
21:19 < Amaranth> Arathorn: You can pass functions around, if that is what
you mean
21:19 -!- jessicara [n=nya@unaffiliated/jessicara] has left #go-nuts ["No matter
how dark the night, somehow the Sun rises once again"]
21:19 < yuanxin> Ycros: I meant the problem with tabs replaced by spaces on
first visit to the file.  I don't know whether it still chokes on omitted
semicolons.
21:19 < sladegen> but i did notice it add semicolons at the end of imports.
21:19 < yuanxin> Arathorn: functions are first-class in Go.
21:20 < Arathorn> ah, right, ok
21:20 -!- sachetto [n=sachetto@189.17.213.204] has quit ["Leaving"]
21:20 * Arathorn wonders why his channel of type func() isn't working then
21:21 -!- jessicara [n=nya@unaffiliated/jessicara] has joined #go-nuts
21:21 < exch> mm I can't actually 'cast' an item as a Shape directly, but
inheritance does work with type assertion to Rect or Circle:
http://go.pastebin.com/m571d665a
21:21 < yuanxin> Arathorn: post a test case
21:21 < exch> suppose i'll settle for that :)
21:21 < sladegen> Arathorn: perhaps you need exact signature with arguments
and return values types.
21:21 < Ycros> yuanxin: oh, okay
21:21 -!- turing_type_bot [n=turing@pool-71-241-35-143.nrflva.east.verizon.net]
has quit [Read error: 110 (Connection timed out)]
21:21 < Arathorn> potentially
21:22 * Arathorn tries to get it working without a channel first
21:22 < Ycros> Arathorn: and you have closures too :)
21:22 -!- encolpe [n=encolpe@gai69-3-82-235-15-3.fbx.proxad.net] has quit [Read
error: 110 (Connection timed out)]
21:23 * sladegen chants closures, closures, closure (demend continuations!, too;)
21:23 -!- encolpe [n=encolpe@gai69-3-82-235-15-3.fbx.proxad.net] has joined
#go-nuts
21:23 * sladegen is only sorry that go is not scheme
21:24 -!- Omei [n=chatzill@99-178-130-115.lightspeed.sndgca.sbcglobal.net] has
joined #go-nuts
21:25 < Arathorn> so, if I have func foo() {}, should I be able to assign it
to a function type with something like bar func() := foo?
21:25 -!- engla [n=ulrik@wikipedia/Sverdrup] has quit [Read error: 60 (Operation
timed out)]
21:25 -!- Manish_mah_ [n=chatzill@c-67-189-144-6.hsd1.ma.comcast.net] has joined
#go-nuts
21:26 < KirkMcDonald> exch: Why use a *Shape instead of a Shape as the
anonymous field?
21:27 -!- Freakzoid [n=Freakzoi@1503026015.dhcp.dbnet.dk] has quit [Remote closed
the connection]
21:27 < exch> it's listed like that in the go docs
21:27 < scandal> Arathorn: f := func() interface{}; is valid, for example
21:27 < exch> works either way
21:27 < KirkMcDonald> It will work either way.  But you'll get to omit the &
(and the allocation) on lines 40 and 43.
21:27 < exch> ya
21:28 -!- dgnorton [n=dgnorton@24.224.99.49] has joined #go-nuts
21:28 -!- superjudge [n=superjud@c83-250-109-232.bredband.comhem.se] has quit []
21:28 -!- Yaquishael [n=Yaquisha@unaffiliated/yaquishael] has left #go-nuts
["Leaving"]
21:28 < Arathorn> oh, f := foo works, doh
21:29 < dgnorton> is there go syntax highlighting for gedit?
21:29 < Ycros> yuanxin: according to the changelog for go-mode.el, there was
a fix to do with the semicolon things - haven't tried it yet, rebuilding go
21:29 < hstimer> It appears that reflection is only thourgh the field tags
-- nothing automatic or global right?
21:29 < XniX23> dgnorton: yes there is
21:29 < scandal> dgnorton: http://go-lang.cat-v.org/text-editors/gedit/
21:30 -!- Kashia [n=Kashia@port-92-200-27-151.dynamic.qsc.de] has joined #go-nuts
21:30 < dgnorton> XniX23, thanks.  guess I should have been a little more
specific with my question.  :-)
21:30 < dgnorton> scandal, thanks for the link
21:31 -!- rhelmer [n=rhelmer@adsl-69-107-65-242.dsl.pltn13.pacbell.net] has quit
[]
21:31 < yuanxin> Ycros: I haven't run into any problems so far
21:31 < yuanxin> Ycros: and I've been omitting terminating semicolons
21:31 -!- brunov [n=bruno@190.191.110.64] has joined #go-nuts
21:31 < Ycros> yuanxin: neat
21:31 < XniX23> dgnorton: hah, i was actually searching where i put mine
when i downloaded, but someone already pasted a link to the file ;)
21:32 -!- defectiv [n=clays@c-24-5-65-40.hsd1.ca.comcast.net] has joined #go-nuts
21:32 < dgnorton> XniX23, it's the thought that counts.  :)
21:32 < XniX23> dgnorton: i agree
21:33 -!- Adys [n=Adys@unaffiliated/adys] has quit [Read error: 110 (Connection
timed out)]
21:33 -!- Lidys [n=Lidys@ADijon-152-1-31-233.w83-194.abo.wanadoo.fr] has quit
["Quitte"]
21:33 -!- XniX23 [n=XniX23@89-212-198-49.dynamic.dsl.t-2.net] has quit [Remote
closed the connection]
21:33 -!- mrjayman [n=mrj@82-171-232-109.ip.telfort.nl] has joined #go-nuts
21:35 -!- dgnorton [n=dgnorton@24.224.99.49] has quit ["Ex-Chat"]
21:35 < Arathorn> how do you wait for a goroutine to consume the contents of
its channel (if the channel has non-zero capacity)
21:35 < Arathorn> ?
21:35 -!- pure_x01 [n=pure@c83-248-3-188.bredband.comhem.se] has quit ["Ex-Chat"]
21:37 -!- ikke [n=1kk3@unaffiliated/ikkebr] has joined #go-nuts
21:37 < Koen_> its probably me but, i can get Read() to wait the specified
time i set using SetReadTimeout on my tcpconn
21:37 -!- xcombelle [n=xcombell@AToulouse-551-1-105-248.w92-149.abo.wanadoo.fr]
has quit ["Parti"]
21:37 < Koen_> can't*
21:38 -!- frodeniu1 is now known as frodenius
21:38 < yuanxin> why can't a string be converted to a slice of bytes?
21:39 < Dvyjones> There is no LDAP library for Go, right?
21:39 < JBeshir> yuanxin: You have to convert it to bytes first
21:39 < yuanxin> JBeshir: how to do this?
21:39 < yuanxin> Dvyjones: right now, if you can't find it at golang.org/pkg
it probably doesn't exist
21:39 < JBeshir> yuanxin: I forgot.
21:39 < Dvyjones> yuanxin: True.
21:39 < Arathorn> meh, how do I wait for a goroutine to complete?  :/
21:40 < yuanxin> Arathorn: have the goroutine send a signal on a channel
when it finishes
21:40 < scandal> Arathorn: you pass it a chan and have it write to it when
its done
21:40 -!- mrjayman [n=mrj@82-171-232-109.ip.telfort.nl] has left #go-nuts []
21:40 < exch> yuanxin: b := strings.Bytes("foo");
21:40 < yuanxin> exch: hm, okay, thanks.
21:40 < yuanxin> seems like []byte(str) should just work, but I guess not
21:40 < exch> nope
21:40 < exch> the reverse does work though :p
21:40 < Arathorn> oh, right
21:40 < Arathorn> thanks
21:40 -!- Manish_mah [n=chatzill@c-67-189-144-6.hsd1.ma.comcast.net] has quit
[Read error: 110 (Connection timed out)]
21:41 < yuanxin> exch: yup
21:41 < yuanxin> exch: which is why I thought []byte(str) should work
21:42 -!- JoePeck [n=JoePeck@cpe-74-69-85-249.rochester.res.rr.com] has quit []
21:42 < yuanxin> seems odd, given how conversions work in Go, that you
should be able to convert from one to the other but not the other way around.
Maybe this is due to some complexity in how UTF-8 works that I'm not aware of.
21:42 < exch> im guessing it is..  although converting a string to a byte
array has it's problems..  you can't index individual multi-byte characters that
way
21:43 -!- engla [n=ulrik@90-229-231-23-no153.tbcn.telia.com] has joined #go-nuts
21:43 < exch> go needs some kind of a multibyte char type
21:44 -!- Dvyjones [i=dvyjones@unaffiliated/dvyjones] has quit ["Sleep."]
21:46 -!- m-takagi is now known as m-takagi_
21:47 -!- dschn [n=dschn@pool-70-19-224-19.bos.east.verizon.net] has joined
#go-nuts
21:48 < KirkMcDonald> exch: See: strings.Split
21:48 < KirkMcDonald> exch: Also note that for ..  range on a string will
yield the UTF-8 sequences, not the bytes.
21:48 < yuanxin> I wonder if they considered making encodings other than
UTF-8 default
21:49 < exch> KirkMcDonald: I know about the slpit() method.  the range
thing is nice though
21:49 -!- JoePeck [n=JoePeck@cpe-74-69-85-249.rochester.res.rr.com] has joined
#go-nuts
21:49 < exch> *split
21:49 -!- JoePeck [n=JoePeck@cpe-74-69-85-249.rochester.res.rr.com] has quit
[Client Quit]
21:51 -!- jadamcze_ [n=jadamcze@ppp59-167-95-105.lns20.hba1.internode.on.net] has
joined #go-nuts
21:52 < engla> exch: what do you mean with multibyte char type?
21:52 < engla> in Go a unicode codepoint == an int
21:53 -!- Null-A [n=jason@65-119-47-100.dia.static.qwest.net] has left #go-nuts []
21:53 -!- Null-A [n=jason@65-119-47-100.dia.static.qwest.net] has joined #go-nuts
21:53 -!- mush06 [n=mush@lam06-4-88-174-45-116.fbx.proxad.net] has quit []
21:53 -!- brunov [n=bruno@190.191.110.64] has quit [Read error: 110 (Connection
timed out)]
21:54 < jessta> yuanxin: ken invented utf-8 so I doubt they would have
21:54 < exch> I'm referring to indexing individual characters in a string.
that shouldn't yield bytes, but full characters.  Seems go already handles that
though
21:55 < bogen> any one know of a function example that would help me write a
function that takes any simple type (string, character, float, int) and returns a
string that is the closest equivalent?
21:56 < sanooj> bogen: there is insufficient data to proceed at this time.
21:56 < Ycros> bogen: fmt.Sprintf can do that
21:57 < jessta> exch: lookd at the utf8 package?
21:57 < bogen> Ycros: yeah, but I need to know the types ahead of time.  I
was thinking a generalized function interface.  No, problem, I'll dig through how
to make an interface
21:58 < bogen> Ycros: well, with fmt.Sprint I would need to know the type is
what I meant
21:59 < bogen> Sprintf
21:59 < Ycros> bogen: no you don't, not if you use "%v" as the format string
21:59 < bogen> Ycros: ok, thanks
21:59 -!- fgb [n=fgb@190.246.85.45] has joined #go-nuts
22:00 < Ycros> bogen: infact
22:00 -!- TheBlueWizard [i=tbw@dialup-4.249.51.204.Dial1.Washington2.Level3.net]
has joined #go-nuts
22:00 < Ycros> bogen: you can just use Sprint
22:00 -!- tuckerkevin [n=kevin@pool-70-109-27-99.atl.dsl-w.verizon.net] has joined
#go-nuts
22:00 -!- NEEDMOAR [n=user@needmoar.broker.freenet6.net] has joined #go-nuts
22:00 < Ycros> not Sprintf
22:00 < bogen> ok
22:01 -!- Popog [n=Adium@pool-71-121-200-233.sttlwa.dsl-w.verizon.net] has quit
["Leaving."]
22:01 < yuanxin> how far along is Ogle?
22:01 -!- Associat0r [n=Associat@h163153.upc-h.chello.nl] has quit []
22:01 < yuanxin> Has anyone been able to use it productively yet?
22:01 -!- mesenga [n=cbacelar@189.105.45.108] has quit [Remote closed the
connection]
22:02 -!- encolpe [n=encolpe@gai69-3-82-235-15-3.fbx.proxad.net] has quit
["Leaving"]
22:03 < reubens> hm.  i wonder why a unicode codepoint is an int instead of
an int32
22:04 -!- NEEDMOAR [n=user@needmoar.broker.freenet6.net] has left #go-nuts []
22:04 -!- Koen_ [n=Miranda@83.101.24.153] has quit [Read error: 104 (Connection
reset by peer)]
22:04 < bogen> Ycros: thanks, fmt.Sprint does exactly what I need
22:05 -!- tuckerkevin [n=kevin@pool-70-109-27-99.atl.dsl-w.verizon.net] has quit
["Leaving"]
22:05 < Ycros> bogen: and it'll work on anything, not just basic types.  I'm
pretty sure it'll call .String() if something has that method too.
22:05 -!- emet [n=Jonathan@unaffiliated/emet] has left #go-nuts []
22:06 -!- jadamcze [n=jadamcze@ppp59-167-67-194.lns20.hba1.internode.on.net] has
quit [Read error: 110 (Connection timed out)]
22:06 -!- TheBlueWizard [i=tbw@dialup-4.249.51.204.Dial1.Washington2.Level3.net]
has left #go-nuts []
22:06 -!- itrekkie [n=itrekkie@ip98-165-246-56.ph.ph.cox.net] has quit []
22:07 -!- tminos [n=bowens@lampbuilder.com] has left #go-nuts ["Leaving.."]
22:07 -!- mirtch [n=mirtchov@S01060013100dbc55.cg.shawcable.net] has joined
#go-nuts
22:08 -!- fg [n=fg@151.95.173.43] has joined #go-nuts
22:08 -!- subat_qn [n=subat_qn@78.236.214.16] has joined #go-nuts
22:08 < fg> hi:)
22:11 < facemelter> hi, could anybody give me a hint of why i get this
error: http://pastebin.com/m750318dd
22:11 -!- raichoo [n=raichoo@i577BB240.versanet.de] has quit
["http://raichoo.blogspot.com"]
22:16 -!- binBASH__ is now known as binBASH
22:17 < fg> is there any vim plugin already available for go?
22:17 < sfuentes> in misc
22:17 < engla> misc/vim for syntax
22:17 -!- jA_cOp [n=ya@ti0043a380-3093.bb.online.no] has joined #go-nuts
22:18 < fg> thanks
22:18 -!- mirtch [n=mirtchov@S01060013100dbc55.cg.shawcable.net] has left #go-nuts
[]
22:18 -!- lifeless [n=robertc@ppp245-86.static.internode.on.net] has quit [Read
error: 54 (Connection reset by peer)]
22:18 -!- lifeless [n=robertc@ppp245-86.static.internode.on.net] has joined
#go-nuts
22:19 < facemelter> *compilation error that is
22:19 -!- tetha [n=hk@pD9EE6222.dip.t-dialin.net] has quit [Nick collision from
services.]
22:19 -!- tetha [n=hk@pD9EE7EEA.dip.t-dialin.net] has joined #go-nuts
22:21 -!- sjbrown [n=sjbrown@c-67-188-36-211.hsd1.ca.comcast.net] has quit [Read
error: 104 (Connection reset by peer)]
22:21 < sladegen> facemelter: dunno but it's not related to that "conflicts:
3 shift/reduce" line
22:22 < sladegen> i get it too but compilation completes.
22:22 < jlouis> facemelter: from when is that pull?
22:22 < jlouis> oh
22:23 < teatime> is a windows compiler in the works?
22:23 < jlouis> it is just that the grammar has 3 S/R conflicts.  I guess
they are living with that
22:23 * sladegen is trying "make" in src/cmd/cc, only.
22:23 < Garibaldi> meh, who runs windows?  :-)
22:23 < facemelter> jlouis: i've tried with 3 different pulls...  newest
release, head, and an older release
22:23 < daub> hi, i have uploaded a vim syntax file for go.  hope someone
could use it.
22:23 -!- nigwil [n=chatzill@berkner.ccamlr.org] has joined #go-nuts
22:23 < daub> http://www.vim.org/scripts/script.php?script_id=2853
22:24 < daub> but it is far from perfect now
22:24 <+danderson> daub: there is already one in the Go repository, under
misc/vim
22:24 <+danderson> unless you're talking about something else
22:24 * sladegen slaps duab with a parrot ;)
22:24 < quag> daub: doesn't the go source contain a vim syntax file?
22:24 < binBASH> ;)
22:25 < facemelter> sladegen, well mine doesn't complete
22:25 < quag> daub: misc/vim/go.vim
22:25 < binBASH> Useless work imho
22:25 -!- bmw357 [n=bmw@71.197.122.40] has joined #go-nuts
22:25 < daub> oh, thanks :/
22:25 < sladegen> facemelter: try doing only make in src/cmd/cc?
22:25 < quag> daub: heh
22:25 -!- cankoy [n=cankoy@94.54.13.77] has quit ["<-"]
22:25 < quag> daub: it could probably be improved though.
22:25 < facemelter> sladegen, oh, and i thought you were sarcastic btw xD
hehe
22:25 <+danderson> daub: check it out.  Maybe you have features that the
repository one doesn't cover.  If so, patches would be most welcome!
22:26 < quag> daub: I found the misc/vim/go.vim doesn't auto indent/deindent
blocks correctly
22:26 < Ycros> hey, strings are passed around by reference, aren't they?
It's just I can't find an explicit mention of the fact in the docs
22:26 < yuanxin> danderson: what is the significance of your +v ?
22:26 < yuanxin> Does it mean Google employee?
22:26 < facemelter> sladegen, make in src/cmd/cc gives exact same error
22:26 <+danderson> in my case, yes.
22:27 <+danderson> However, I'm not on the Go team and have no special
expertise of the language
22:27 <+danderson> I just answer simple questions and kick trolls/spammers.
22:27 < daub> quag ok i will have a look at it
22:27 < sladegen> facemelter: i have "test -f y.tab.c && touch y.tab.c"
after that conflict line
22:27 < Freeaqingme> danderson, your job description is IRC cop?  :P
22:28 -!- Cyprien [n=Cyprien@191-184.79-83.cust.bluewin.ch] has joined #go-nuts
22:28 < jlouis> facemelter: tried manually working through the lines and
asking for the error value after each, or similar?
22:28 -!- rhelmer [n=rhelmer@adsl-69-107-65-242.dsl.pltn13.pacbell.net] has joined
#go-nuts
22:28 <+danderson> Freeaqingme: no, it's just a low-bandwidth extra on the
side :)
22:29 < yuanxin> So I take it no one here knows how to use Ogle, or if using
it is even possible yet?
22:29 < yuanxin> I can't find any documentation anywhere...  besides the
actual source code
22:29 < delza> I am trying to wrap Cairo for use from Go, testing out the
FFI
22:30 -!- elmar_ [n=elmar@dslb-188-097-068-188.pools.arcor-ip.net] has quit
["Leaving"]
22:30 < delza> First I'm trying to get a super-simple "hello world" minimal
program working
22:30 < facemelter> jlouis, hold on
22:30 <+danderson> yuanxin: Ogle is still very young afaik, it's not yet
fully usable
22:30 < sladegen> facemelter: it may be only quietgcc script failing...
22:30 -!- gmurphy [n=gmurphy@203-206-248-145.dyn.iinet.net.au] has joined #go-nuts
22:31 < delza> My cairo wrapper so far (just what I need for the hello
world) is here: http://pastebin.com/f14c9c684 and the output from make is here:
http://pastebin.com/f3114f23d
22:31 < delza> I'm curious where the term "free" is coming from
22:31 < jlouis> facemelter, sladegen i've heard other people having problems
with quietgcc, but I've never encountered them here on an Ubuntu 9.10
22:31 < delza> And how to get the C code to be preserved for inspection
22:32 -!- ntg [n=nate@user44.net178.whitworth.edu] has joined #go-nuts
22:32 -!- lux` [n=lux@151.54.240.177] has quit [Read error: 104 (Connection reset
by peer)]
22:32 < KragenSitaker> exch: if you iterate over a string with `range`, you
get the Unicode characters
22:32 -!- al-maisan [n=al-maisa@63.133.153.66] has joined #go-nuts
22:33 -!- XniX23 [n=XniX23@89-212-198-49.dynamic.dsl.t-2.net] has joined #go-nuts
22:33 < KragenSitaker> Ycros: strings are immutable, so whether they're
passed by reference or by value is not detectable by user code
22:34 < facemelter> jlouis: bison -y cc.y just gives the "conflicts: ..:"
line
22:34 < KragenSitaker> (which probably means they are passed by value for
efficiency)
22:34 < facemelter> jlouis, sladegen, and this is quite an obscure distro im
using indeed (SliTaz)
22:34 < sladegen> is it producing any output?  how about "bison --version"?
22:34 -!- wimpog [n=wimpog@pool-151-203-160-148.wma.east.verizon.net] has joined
#go-nuts
22:35 < wimpog> syntax of a for loop?
22:35 < jlouis> KragenSitaker: don't you mean by a pointer to the head of
the said string?  A copy of the string seems irrelevant
22:35 -!- blankthemuffin [n=josh@116.250.39.225] has joined #go-nuts
22:35 < jlouis> wimpog: there is a BNF in the language spec
22:35 -!- subat_qn [n=subat_qn@78.236.214.16] has quit []
22:35 < wimpog> jlouis: where?
22:36 < jlouis> wimpog: http://golang.org/doc/go_spec.html#For_statements
22:36 < jlouis> wimpog: the BNF is embedded in the document, so to speak
22:36 < wimpog> jlouis: thanks
22:36 < wimpog> this is my 1st day w/GO
22:36 < aho> on ARM926EJ-S i still get that bloody "Command terminated by
signal 4" error if i try to run the hello world programm there
22:37 < facemelter> sladegen: version is 2.4.1, and output of bison -y cc.y
gives "conflicts: 3 shift/reduce" ...  where the hell is this broken pipe coming
from :S
22:37 < sladegen> facemelter: perhaps you are not getting y.tab.h file?  gnu
bison 2.1 and 2.3 seem to work here.
22:37 -!- JSharpe2 [n=jamie@5ad1d7f1.bb.sky.com] has joined #go-nuts
22:37 < KragenSitaker> jlouis: I meant by reference, oops!
22:37 < facemelter> sladegen: no, there is no y.tab.h file present
22:37 < KragenSitaker> so yes
22:37 < aho> (GOARCH=arm, GOARM=5)
22:37 < sladegen> facemelter: so that's it...  perhaps downgrade?  i think
it could be reported as issue...
22:38 < Ycros> KragenSitaker: it would make sense for them to be passed by
reference since they're immutable, AND, I see a distinct lack of *string present
in the standard library.  But there's no reference in the documentation that this
is the case, whereas slices, maps and channels are explicitly mentioned
22:38 < jlouis> aho: SIGILL?
22:38 -!- hackbench [n=hackbenc@88.242.234.176] has joined #go-nuts
22:38 < aho> ?:)
22:38 -!- awalton [n=awalton@76.177.53.219] has quit [Connection timed out]
22:38 < KragenSitaker> Ycros: yup
22:38 < jlouis> aho: illegal instruction, so the compiler may have emitted
something you are not allowed to execute
22:39 < aho> hum
22:39 < KragenSitaker> well, more likely something that isn't a valid
instruction
22:39 -!- fg [n=fg@151.95.173.43] has left #go-nuts []
22:39 -!- dga [n=dga@mlgodbe.dsl.xmission.com] has joined #go-nuts
22:39 < rog> just checking: an interface method can never be a closure,
right?
22:39 < facemelter> sladegen: but isn't y.tab.h an autogenerated file?
22:39 < aho> <aho> (GOARCH=arm, GOARM=5) <- but there isn't
anything i can do besides setting those two, right?
22:39 < sladegen> facemelter: yes, it's supposed to be generate by bison
22:40 < sladegen> and y.tab.c
22:40 -!- exch [n=nuada@h144170.upc-h.chello.nl] has quit [Read error: 104
(Connection reset by peer)]
22:41 -!- qbit_ [n=qbit_@c-75-71-160-106.hsd1.co.comcast.net] has joined #go-nuts
22:41 < aho> ARM926EJ-S is v5...  so, in theory it should work, right?
22:41 < yuanxin> Ycros: well, you wouldn't expect it to be mentioned by the
documentation, since it's presumably up to the implementation
22:41 < jlouis> rog: I can't see how to do it, but mind you that I've only
written some 250 lines of code in Go :)
22:41 -!- hipe [n=hipe@pool-96-250-112-146.nycmny.east.verizon.net] has joined
#go-nuts
22:42 -!- smooge [n=smooge@int.smoogespace.com] has joined #go-nuts
22:42 < dga> Is it correct to assume that the only way to use Go with
protocol buffers at the moment is via an as-yet-unreleased version of protobuf?
Or is there a hack if one, say, wants to link against an already-generated
protobuf file?
22:42 -!- Popog [n=Adium@pool-71-121-200-233.sttlwa.dsl-w.verizon.net] has joined
#go-nuts
22:43 < quag> dga: could ffi be used to talk to c protocol buffers?
22:43 -!- al-maisan [n=al-maisa@63.133.153.66] has left #go-nuts ["Parting is
tough.."]
22:44 < facemelter> sladegen, jlouis, oh it seems as tho bison outputs to
cc.out instead of y.tab.h
22:44 < wimpog> is this correct: for number := start; number < start +
count; number++
22:44 < dga> Not sure.  The challenge is that protobufs actually produce c++
code, and I'm not sure how well that would work.  I think there's a third-party c
impl of protobuf that might do the trick, though, if needed.
22:44 < wimpog> for some reason it does not add start and count
22:45 < KirkMcDonald> Man, this library isn't even a thousand lines of code.
22:45 < KirkMcDonald> Though it probably will be by the time I'm done.
22:45 < facemelter> sladegen, jlouis, no sorry im mistaken..  it would have
to output both a .c and .h file, rite?
22:45 < blankthemuffin> there is a runtime C version of protobuff
22:45 < blankthemuffin> as in no code generation required
22:45 < blankthemuffin> http://wiki.github.com/haberman/upb
22:46 < wimpog> how do I print out numbers with Printf()?
22:47 < sladegen> facemelter: well, i'm getting y.tab.c and y.tab.h (the
latter is produced because of -d switch)
22:47 -!- brunov [n=bruno@190.191.110.64] has joined #go-nuts
22:47 < dga> Thanks, blankthem.  I'll check that out.  Could do the trick
very well for now.
22:47 -!- rgammans [n=roger@84.9.50.142] has quit [Read error: 113 (No route to
host)]
22:47 < jA_cOp> wimpog, fmt.Printf("%d", 123);
22:47 < Ycros> yuanxin: I would expect it to be mentioned for a "systems
language"
22:48 < facemelter> sladegen, but you still get the "conflicts: .." warning?
strange
22:48 < facemelter> sladegen, ill try compiling bison
22:48 < penguin42> in the 'echo' example how does the initialisation of the
global var work since that happens before the flag.Parse() in main() ?
22:48 < yuanxin> Ycros: loads of implementation details in C are left to,
not surprisingly, the implementation
22:48 < yuanxin> I don't see why Go should be different
22:48 -!- gmurphy [n=gmurphy@203-206-248-145.dyn.iinet.net.au] has quit []
22:48 -!- blankthemuffin [n=josh@116.250.39.225] has quit ["Leaving"]
22:48 -!- scyth [n=scyth@rots.in.rs] has joined #go-nuts
22:48 < sladegen> facemelter: what's "echo $?" after you run bison yourself?
yes i get that error message but return starus is 0.
22:49 -!- blankthemuffin [n=josh@116.250.39.225] has joined #go-nuts
22:49 < dga> actually, double thanks, blank.  I might have another use for
upb in a real (meaning non-playing-with-go) context.  :)
22:49 < sladegen> facemelter: try with bison 2.3
22:50 < Dreamer3_MBP17> i need a go project
22:50 < facemelter> sladegen: $?  is 0
22:50 < KirkMcDonald> Dreamer3_MBP17: Write a Diplomacy adjudicator.
22:50 < dga> Dreamer: integrate upb with Go for me.  :p :)
22:50 < Dreamer3_MBP17> i need something simple :)
22:51 -!- hstimer [n=hans@c-98-234-25-125.hsd1.ca.comcast.net] has quit [Read
error: 110 (Connection timed out)]
22:51 -!- eric [n=eric@CPE001d0fe73b7d-CM00111ae5c642.cpe.net.cable.rogers.com]
has joined #go-nuts
22:51 < yuanxin> Dreamer3_MBP17: write an IRC client
22:51 < dga> if you're just looking to putz around, grab some of the
problems from Project Euler and solve them.  They're very toy, though, and won't
really stress the "systems" niceness of Go.
22:51 -!- rog [n=rog@89.240.185.200] has quit []
22:51 -!- eric is now known as Guest93318
22:51 < facemelter> sladegen, i found the problem!  apparently my distro
hadn't marked 'm4' as a dependency needed by bison
22:51 < quag> dga: good advice
22:52 * yuanxin hates distro stupidities ...
22:52 < quag> upb looks handy :)
22:52 < facemelter> but weird that bison doesn't report any problems with it
22:52 -!- mitchellh [n=mitchell@c-71-231-140-22.hsd1.wa.comcast.net] has joined
#go-nuts
22:53 < sladegen> facemelter: 0_o
22:53 -!- rog [n=rog@89.240.185.200] has joined #go-nuts
22:53 < Dreamer3_MBP17> hmmm
22:53 < Dreamer3_MBP17> does it not have the answers somewhere so you can
check yourself?
22:53 < blankthemuffin> bind opengl 3.2 core to go for me Dreamer3_MBP17
22:53 < sladegen> facemelter: i don't know how m4 would figure into this, it
may be needed to build bison but not run it.
22:54 < facemelter> sladegen, well it fixed it apparently...  but i still
needed to add the -d flag
22:54 -!- harryv [n=harry@67.207.147.205] has left #go-nuts []
22:54 < sladegen> facemelter: how did you fix it?
22:54 < sladegen> from Makefile it looks like go only cares about y.tab.h
file.
22:55 -!- rhelmer [n=rhelmer@adsl-69-107-65-242.dsl.pltn13.pacbell.net] has quit
[]
22:55 -!- binaryjohn [n=binaryjo@cpe-24-30-132-50.san.res.rr.com] has quit []
22:55 < facemelter> sladegen: i added -d flag to the y.tab.h clause to the
Makefile in src/cmd/cc
22:55 -!- heavensrevenge
[n=eric@CPE001d0fe73b7d-CM00111ae5c642.cpe.net.cable.rogers.com] has quit [Read
error: 145 (Connection timed out)]
22:56 -!- GeDaMo [n=gedamo@212.225.108.57] has quit ["Leaving."]
22:57 < yuanxin> Dreamer3_MBP17: is making an IRC client too hard for you?
22:57 < sladegen> facemelter: or not...  it's probably just touching it up
for make benefit.  -d flag is set in src/Make.conf
22:57 < uriel> facemelter: what distro are you using?
22:57 < yuanxin> That's what I"m working on right now...  it'll be a nice
challenge as I know nothing about networking or concurrency
22:57 < facemelter> uriel: SliTaZ
22:57 < uriel> oh dear...
22:58 < facemelter> hehe i know :) im using it for a thin client
22:59 -!- tush726 [n=tushar@122.167.31.128] has joined #go-nuts
22:59 < facemelter> well everything seemed to compile now...  somehow it
must have ignored the $(YFLAGS) i dunno ...
22:59 < cworth> delza: Very interesting to see work on getting at cairo from
go.  Do keep me posted on any progress you make.
22:59 < wimpog> How do I get command line parameters and convert them to
int64?
22:59 < dga> see the "strconv" package
22:59 -!- kw- [n=aevirex@91.128.61.101] has quit ["leaving"]
22:59 < uriel> facemelter: IMHO the go install instructions should document
m4 as a dependency, given how many broken distros are out there...  but russ seems
to have decided not to do it (after all, it is the distros fault)
23:00 < dga> and for the command line parameters, see the tutorial.
23:00 < quag> wimpog: http://golang.org/pkg/strconv/#tmp_62
23:00 < quag> strconv.Atoi65(string) (int65, os.Error)
23:01 < facemelter> uriel, well yes...  but it also very odd, that bison
doesn't warn you about the missing m4 then
23:02 * sladegen facepalms
23:04 -!- ShadowIce [n=pyoro@unaffiliated/shadowice-x841044] has quit
["Verlassend"]
23:04 -!- sachetto [n=sachetto@189.17.213.204] has joined #go-nuts
23:04 < facemelter> yes, i have indeed no idea what im talking about :D
23:04 -!- clip9 [i=tj@12.81-166-62.customer.lyse.net] has quit [Read error: 145
(Connection timed out)]
23:04 -!- guest_ [n=guest@aafo129.neoplus.adsl.tpnet.pl] has joined #go-nuts
23:05 -!- hackbench [n=hackbenc@88.242.234.176] has quit [Read error: 145
(Connection timed out)]
23:05 < sladegen> facemelter: no, you are right.  i see "mysterious" m4
scripts in usr/share/bison
23:06 -!- rhelmer [n=rhelmer@adsl-69-107-65-242.dsl.pltn13.pacbell.net] has joined
#go-nuts
23:06 < facemelter> sladegen: ohh...  fail..  perhaps this should be taken
to the bison mailing list?
23:07 < sladegen> and "strings `which bison` | grep m4" returns some
references, too.
23:07 -!- exch [n=nuada@h144170.upc-h.chello.nl] has joined #go-nuts
23:07 -!- aa [n=aa@r190-135-161-77.dialup.adsl.anteldata.net.uy] has quit [Read
error: 60 (Operation timed out)]
23:08 < sladegen> facemelter: nah, either distro package manager should list
m4 as runtime bison dep or one should know better himself.
23:08 < facemelter> sladegen, alright
23:08 < sladegen> considering gnu build chaintool depends on m4 i never not
had m4 installed.
23:09 -!- dschn [n=dschn@pool-70-19-224-19.bos.east.verizon.net] has quit [Read
error: 110 (Connection timed out)]
23:10 -!- facemelter [n=facemelt@87.60.0.194] has quit ["Lost terminal"]
23:10 -!- rbancroft [n=rumble@S01060014bf54b5eb.cg.shawcable.net] has quit [Read
error: 110 (Connection timed out)]
23:10 -!- h4xOr [n=prudhvi@aldebaran.surapaneni.in] has quit ["leaving"]
23:11 -!- facemelter [n=facemelt@87.60.0.194] has joined #go-nuts
23:11 < facemelter> :S
23:11 < KirkMcDonald> Selective imports might be nice.
23:12 < KirkMcDonald> That is (to steal D's syntax), you could say: import
"fmt" : Printf
23:12 -!- andrewh [n=andrewh@94-194-56-42.zone8.bethere.co.uk] has joined #go-nuts
23:12 < KirkMcDonald> Then you would be able to use Printf unqualified,
without also pulling in the rest of fmt's namespace.
23:13 < bthomson> KirkMcDonald: +1
23:15 -!- StDan [n=danielb@124-197-59-227.callplus.net.nz] has joined #go-nuts
23:15 -!- Lorthirk [n=cm0901@109.115.69.63] has quit [Remote closed the
connection]
23:15 -!- Pilate [n=wotgoes@75.141.254.198] has joined #go-nuts
23:16 -!- unomystEz_ [n=burnin@unaffiliated/unomystez] has joined #go-nuts
23:16 < quag> KirkMcDonald: I suspect that selective imports would never be
added
23:16 -!- mpurcell|afk [n=mpurcell@vpn.michaelpurcell.info] has quit [Read error:
60 (Operation timed out)]
23:16 < quag> part of the style is to shorten names of functions and types
by always having the context of the package name
23:17 < quag> selective imports would work against that goal
23:17 -!- homovitruvius [n=maurizio@pool-72-95-253-175.pitbpa.east.verizon.net]
has quit [Remote closed the connection]
23:17 -!- shawn [n=shawn@208-78-98-92.slicehost.net] has quit [Read error: 60
(Operation timed out)]
23:17 < quag> KirkMcDonald: what do you think?
23:17 -!- homovitruvius [n=maurizio@pool-72-95-253-175.pitbpa.east.verizon.net]
has joined #go-nuts
23:17 -!- nickjohnson [n=arachnid@coilette.notdot.net] has quit [Read error: 60
(Operation timed out)]
23:17 -!- nickjohnson [n=arachnid@coilette.notdot.net] has joined #go-nuts
23:17 < KirkMcDonald> quag: This is basically the case with D and Python as
well.
23:17 < KirkMcDonald> Which both have a roughly equivalent feature.
23:17 -!- Lorthirk [n=cm0901@109.115.69.63] has joined #go-nuts
23:18 < KirkMcDonald> "from fmt import Printf" would be the Python way of
spelling it.
23:18 -!- guest_ [n=guest@aafo129.neoplus.adsl.tpnet.pl] has quit [Remote closed
the connection]
23:18 < wimpog> how do I use this Atoi64?
23:19 < quag> KirkMcDonald: I don't disagree that the other languages have
similar features, but I doubt that go will get those features for philosophic
reasons.
23:19 < wimpog> I want to get the first arg: num :=
strconv.Atoi64(flag.Arg(0));
23:19 < wimpog> but it does not work
23:19 -!- binaryjohn [n=binaryjo@cpe-24-30-132-50.san.res.rr.com] has joined
#go-nuts
23:19 < KirkMcDonald> quag: In my Python experience, it is sufficient if you
can determine which module something came from by cycling through the uses of the
identifier within the file.
23:19 < quag> num, err := strconv.Atoi64(flag.Arg(0)); ?
23:19 < KirkMcDonald> quag: In any even, I am filing an issue with the idea,
and will let the development team decide.
23:20 < KirkMcDonald> event*
23:20 < quag> KirkMcDonald: good idea
23:20 -!- clip9 [i=tj@12.81-166-62.customer.lyse.net] has joined #go-nuts
23:20 -!- gnuvince [n=vince@64.235.207.47] has quit [Remote closed the connection]
23:20 -!- engla [n=ulrik@wikipedia/Sverdrup] has quit [Remote closed the
connection]
23:20 < quag> They'll spell it out one way or another
23:20 < quag> and make the intent clear.
23:20 < sladegen> wimpog: first arg is 1...  Arg(0) is binary filename...
23:20 < wimpog> quag: and what do I do w/err now?  It says declared and not
used
23:20 -!- krig_ [i=kegie@stalin.acc.umu.se] has quit [Remote closed the
connection]
23:20 -!- mjrosenb_ [n=mjrosenb@ip68-108-253-68.sb.sd.cox.net] has joined #go-nuts
23:20 -!- krig [i=kegie@stalin.acc.umu.se] has joined #go-nuts
23:20 < quag> wimpog: check that the conversion worked :)
23:20 < reubens> so what is the reason Unicode codepoints are int rather
than int32?
23:20 -!- exDM69 [n=riku@entropy.fi] has quit [Remote closed the connection]
23:20 -!- exDM69 [n=riku@entropy.fi] has joined #go-nuts
23:20 < wimpog> quag: how?
23:20 < quag> wimpog: or use num, _ := instead to ignore all errors
23:20 -!- axisys [n=axisys@ip68-98-177-71.dc.dc.cox.net] has quit [Remote closed
the connection]
23:20 < wimpog> ohh
23:21 -!- JoNaZ_ [n=jonaz@user77.77-105-229.netatonce.net] has joined #go-nuts
23:21 -!- mikejs_ [n=me@mikej.st] has joined #go-nuts
23:21 -!- axisys [n=axisys@ip68-98-177-71.dc.dc.cox.net] has joined #go-nuts
23:21 < quag> if err != nil { } // handle the error
23:21 -!- shawn [n=shawn@208-78-98-92.slicehost.net] has joined #go-nuts
23:21 < quag> err == nil means there wasn't an error
23:21 -!- likewhoa [n=likewhoa@ool-45717734.dyn.optonline.net] has quit [Nick
collision from services.]
23:21 < wimpog> quag: I see, thanks
23:21 < wimpog> quag: very bizarre syntax
23:21 -!- tabo [n=tabot@camelot.tabo.pe] has quit ["Coyote finally caught me"]
23:21 < quag> wimpog: there seems to be a common pattern of doing something,
then checking to see if an error occurred.
23:21 -!- cmarcelo [n=cmarcelo@enlightenment/developer/cmarcelo] has quit [Read
error: 104 (Connection reset by peer)]
23:22 -!- Adys [n=Adys@unaffiliated/adys] has joined #go-nuts
23:22 < sladegen> not at all...  try prolog or lisps for bizarro
23:22 < quag> lots of things return error codes.
23:22 < wimpog> how do I exit(1)?
23:22 -!- mjrosenb [n=mjrosenb@ip68-108-253-68.sb.sd.cox.net] has quit [Nick
collision from services.]
23:22 < KirkMcDonald> (It is a little funny that the next open issue above
the one I just posted is about designing a PEP-style process for feature changes.)
23:23 < sladegen> wimpog: os.Exit(1) iirc
23:23 -!- mjrosenb_ is now known as mjrosenb
23:23 -!- vcgomes [n=vcgomes@li17-238.members.linode.com] has quit [Remote closed
the connection]
23:23 < wimpog> sladegen: thanks!  BTW Arg(0) does appear to be the first
argument, not the filename itself
23:24 -!- dzen [i=benoit@lucile.litchis.org] has left #go-nuts []
23:24 -!- teedex_ [n=teedex@204.14.155.161] has joined #go-nuts
23:24 -!- tehspazz [n=c@213-187-177-166.dd.nextgentel.com] has joined #go-nuts
23:24 -!- asmo_ [n=asmo@85.224.197.246] has quit [Remote closed the connection]
23:24 < sladegen> wimpog: yes...  os.Args may start from filename.
23:24 -!- zeebo- [n=zeebo-@pool-74-110-97-28.nrflva.fios.verizon.net] has quit
[Read error: 104 (Connection reset by peer)]
23:24 -!- clajo04_ [n=clajo04_@74.72.55.57] has quit [Connection reset by peer]
23:24 < wimpog> sladegen: I see...
23:25 * sladegen haven't checked yet.
23:25 -!- tabo [n=tabot@camelot.tabo.pe] has joined #go-nuts
23:25 -!- evanrmurphy [n=erm@pool-74-98-44-189.pitbpa.east.verizon.net] has quit
[Excess Flood]
23:25 -!- evanrmurphy [n=erm@pool-74-98-44-189.pitbpa.east.verizon.net] has joined
#go-nuts
23:25 -!- clajo04_ [n=clajo04_@74.72.55.57] has joined #go-nuts
23:25 < jlouis> wimpog: multiple return values is a godsend.  Why nobody
added them earlier on is a puzzle
23:25 -!- zeebo- [n=zeebo-@pool-74-110-97-28.nrflva.fios.verizon.net] has joined
#go-nuts
23:25 < wimpog> jlouis: yes true!!
23:26 < XniX23> jlouis: python have
23:26 -!- vcgomes [n=vcgomes@li17-238.members.linode.com] has joined #go-nuts
23:26 < clip9> perl too
23:26 < sladegen> wimpog: godoc --http=:6060 & and direct your browser at
http://localhost:6060/pkg/os/
23:26 < bogen> what is the proper way to do this: if err { fmt.Println
(err); os.Exit (err); } // err is of type Error
23:26 -!- teedex [n=teedex@204.14.155.161] has quit [Read error: 104 (Connection
reset by peer)]
23:26 -!- mikejs [n=me@mikej.st] has quit [Read error: 104 (Connection reset by
peer)]
23:26 -!- hipe_ [n=hipe@pool-96-250-112-146.nycmny.east.verizon.net] has joined
#go-nuts
23:27 -!- gnuvince [n=vince@64.235.207.47] has joined #go-nuts
23:27 < wimpog> sladegen: very cool.  Thanks!
23:27 < sladegen> bogen: os.ErrorString...
23:27 -!- mpurcell [n=mpurcell@vpn.michaelpurcell.info] has joined #go-nuts
23:27 * sladegen mayperhaps some moare.
23:28 < kuroneko> sladegen: overkill.
23:28 -!- sachetto [n=sachetto@189.17.213.204] has quit [Read error: 104
(Connection reset by peer)]
23:28 < kuroneko> err.String() should be sufficient.
23:28 -!- engla [n=ulrik@90-229-231-23-no153.tbcn.telia.com] has joined #go-nuts
23:28 < KirkMcDonald> Python doesn't have multiple return values so much as
they are a consequence of the tuple packing and unpacking syntax.
23:28 < bogen> sladegen: weel, I can get the error text, I need to know if
err is and error, and return the errcode (the if and the os.Exit are the part I'm
having the trouble with)
23:28 * sladegen tries to nodes sagely, but fails.
23:29 < kuroneko> bogen: There is no errcode.
23:29 < wimpog> sladegen: so how do i get the filename in my program?
23:29 < kuroneko> Go aheres strongly to the idea that error codes are fairly
meaningless outside of a direct test for the error
23:30 -!- xmjcpp [n=xmjcpp@MTRLPQ02-1176252029.sdsl.bell.ca] has joined #go-nuts
23:30 < kuroneko> so os.Exit(1) is as good as anything else.
23:30 < bogen> ok
23:30 < yuanxin> jlouis: of course C has multiple return values
23:30 -!- qbit_ [n=qbit_@c-75-71-160-106.hsd1.co.comcast.net] has quit
["WinPants!"]
23:30 < yuanxin> jlouis: all Go adds is some nicer syntax
23:30 < kuroneko> yuanxin: eh, what?
23:30 -!- exch [n=nuada@h144170.upc-h.chello.nl] has quit [Read error: 145
(Connection timed out)]
23:30 < kuroneko> since when?
23:31 < XniX23> KirkMcDonald: isnt it actually the same in the end?
23:31 < KirkMcDonald> kuroneko: You can return a struct.
23:31 < kuroneko> that's still a single value.
23:31 < KirkMcDonald> XniX23: More or less.  :-)
23:31 < sladegen> wimpog: os.Args[0]
23:31 < kuroneko> it's a complex value, but it's still singular.
23:31 < KirkMcDonald> C and Python are the same in this respect, really.
23:31 -!- brunov [n=bruno@190.191.110.64] has quit [Read error: 145 (Connection
timed out)]
23:31 < wimpog> sladegen: ahhh!!!
23:31 < kuroneko> damnit, don't turn me into a language lawyer :P
23:31 < KirkMcDonald> You're not returning multiple values in Python, but a
single tuple.
23:31 < yuanxin> kuroneko: also void func(int in1, int in2, int *out1, int
*out2)
23:31 < wimpog> sladegen: and to Printf it I use %s?
23:31 < quag> KirkMcDonald: good point.  Not a common usage though.
23:31 < kuroneko> yuanxin: they're not returns - you're passing in pointers.
23:32 < yuanxin> kuroneko: makes no difference
23:32 -!- JoNaZ [n=jonaz@user77.77-105-229.netatonce.net] has quit [Read error:
110 (Connection timed out)]
23:32 < kuroneko> yuanxin: yes it does.
23:32 < XniX23> oh i see what you're saying
23:32 < annodomini> Does Go have any built in way of killing off goroutines
other than having them simply return?
23:32 < annodomini> For instance, if I fork off a goroutine to do some big
long computation, but for some reason it turns out that I don't need that value
any more, is there any way to just kill it off, without having to thread
throughout the entire computation a check on a channel which returns all the way
up to the top level if the computation has been cancelled.
23:32 < mjburgess> why does unboxing have to use a dynamic conversion?
23:32 < sladegen> wimpog: or %v or just print...  there is many ways to skin
that rabbit.
23:32 -!- alphazero_ [n=alphazer@ip68-106-96-239.dc.dc.cox.net] has joined
#go-nuts
23:32 -!- hipe [n=hipe@pool-96-250-112-146.nycmny.east.verizon.net] has quit [Read
error: 110 (Connection timed out)]
23:32 < KirkMcDonald> mjburgess: Once you've boxed a value, the static type
is lost.
23:32 -!- Balthazar [n=subaru@pool-98-115-184-58.chi01.dsl-w.verizon.net] has quit
[Remote closed the connection]
23:32 < kuroneko> yuanxin: return values and arguments can be handled quite
different depending on calling convention.
23:32 < wimpog> stupid question...  are all C printf flags valid here?
23:33 < yuanxin> wimpog: no
23:33 < wimpog> yuanxin: a lot of exceptions?
23:33 < yuanxin> wimpog: take a look at the documentation on
golang.org/pkg/fmt
23:33 < kuroneko> what you're trying to say is that there are ways to work
around C's single-return.
23:33 < hnsr> i would say having the syntax for multiple return values is
still very useful though, no need to create a struct for every function just so
you can tack on an err field or something
23:33 -!- unomystEz [n=burnin@unaffiliated/unomystez] has quit [Connection timed
out]
23:33 < XniX23> do i need to always pass &variable to a function with
variable *int as parameter to actually change it?
23:33 < KirkMcDonald> mjburgess: To get the static type back, you need to
assert "this interface{} is actually a Foo", and confirming that this is so can
only be a runtime check.
23:33 -!- bechamel [n=user@host-85-201-159-186.brutele.be] has joined #go-nuts
23:33 < yuanxin> kuroneko: of course, from the implementation's perspective
they are different, but from the user's perspective they do the same thing
23:34 < mjburgess> oh i see, yes, that makes sense
23:34 < bogen> sladegen: well, when I don't have an error, checking for the
error gives me a SIGSEGV
23:34 -!- teatime [n=c@213-187-177-166.dd.nextgentel.com] has quit [Connection
timed out]
23:34 -!- rbancroft [n=rumble@S01060014bf54b5eb.cg.shawcable.net] has joined
#go-nuts
23:34 < kuroneko> yuanxin: except pointer passing also requires more
checking
23:34 < kuroneko> also, users don't see APIs >_>
23:34 -!- Cewebwalz [n=chatzill@c-24-147-157-5.hsd1.ma.comcast.net] has joined
#go-nuts
23:34 -!- Cewebwalz [n=chatzill@c-24-147-157-5.hsd1.ma.comcast.net] has left
#go-nuts []
23:34 < yuanxin> kuroneko: I meant the user of the C language, not the
eventual end-user of the program
23:35 -!- xmjcpp [n=xmjcpp@MTRLPQ02-1176252029.sdsl.bell.ca] has quit ["Leaving"]
23:35 < bogen> sladegen: oh, err != nil
23:35 < yuanxin> kuroneko: I see your point, and I feel like this discussion
is more about English semantics than Go or even C
23:35 < kuroneko> anyway, there are fun and games when passing pointers
23:35 < yuanxin> kuroneko: so we should stop talking about it, since we are
in a channel devoted to Go :)
23:35 < sladegen> bogen: prolly ;)
23:36 < yuanxin> (I also share your distaste for language lawyering :) )
23:36 < alphazero_> Is there a boiler plate makefile for a multifile package
project?  (Have seen the contribute page on golang.org but that is only for
contributions, right?)
23:37 < KirkMcDonald> alphazero_: I wrote a primer on the subject:
http://kirkmcdonald.blogspot.com/2009/11/on-compilation-of-go-packages.html
23:37 < kuroneko> look at the makesfiles in src/pkg ?
23:37 < alphazero_> Thanks Kirk.  I'll check it out!
23:38 < XniX23> anyone?
23:38 < kuroneko> the makefiles in Go follow the same style as used in plan9
where there are includes to provide most common target strategies, you just set
the appropriate variables and include the right bits
23:38 -!- PPilate [n=wotgoes@75.141.254.198] has quit [Connection timed out]
23:38 < engla> KirkMcDonald: Re the quote: fun!  took a while to get it
23:38 < sladegen> alphazero_: also
http://jb55.com/114/building-and-installing-your-first-go-package/
23:39 < KirkMcDonald> engla: :-)
23:39 < annodomini> Ah. There's runtime.Goexit to end the current Goroutine
without having to return all the way up to the top level.  That gives me half of
what I want; I'd still have to thread something that receives on a channel and
calls this all throughout the computation.
23:40 < sladegen> alphazero_: nvrmind.
23:40 -!- snearch_ [n=olaf@g225053046.adsl.alicedsl.de] has joined #go-nuts
23:40 < XniX23> ok, no one :p
23:40 < yuanxin> annodomini: I've had the same problem with lack of this
23:41 < yuanxin> annodomini: it'd be nice to be able to, in the syntax for
starting a goroutine, specify a "quit" channel sending to which will automatically
cause the goroutine to exit
23:41 < jlouis> annodomini: I've pondered using that to hack up exceptions
:)
23:41 < penguin42> it's a pity the .6 files don't have something obvious
identifying them as go files to make a file(1) def easy
23:41 < yuanxin> something like go someFunc() someChan
23:41 < bogen> if err != nil { log.Exit(err); } // is what I was looking for
and works correctly
23:41 < Dreamer3_MBP17> constant 600851475143 overflows int
23:41 < Dreamer3_MBP17> hmmm
23:41 < Dreamer3_MBP17> so much for a number just being a number :)
23:41 < kuroneko> and jb55.com instructions follows what I would recommend
using for the life of the current go compiler.
23:42 < yuanxin> Dreamer3_MBP17: You misunderstand
23:42 < Dreamer3_MBP17> i was just doing := assignment
23:42 -!- hector [n=chatzill@client-86-0-126-58.nrth.adsl.virginmedia.com] has
quit [Read error: 113 (No route to host)]
23:42 < nsz> Dreamer3_MBP17: read the language spec
23:42 < kuroneko> it uses the go build system makefiles and those will
continue to be updated as long as the current build system remains
23:42 < nsz> int is not an integer number..  it has well defined semantics
(either int32 or int64)
23:43 < mitchellh> Dreamer3_MBP17:
http://golang.org/doc/go_spec.html#Integer_overflow
23:43 < annodomini> yuanxin, jlouis: Yeah, I'm coming at this from an Erlang
background, and it feels that Erlang has a lot more capable tools for managing
processes.
23:43 < kuroneko> annodomini: it's early days ye
23:43 < kuroneko> yet even
23:43 < Dreamer3> so how can i make it a int64?
23:43 < engla> annodomini: a goroutine started in a goroutine will not nest?
if it nests, and Goexit kills both, you have a solution, but it's unlikely
23:44 < yuanxin> annodomini: I've never looked at Erlang
23:44 < kuroneko> I like erlang.  I just dislike the runtime.
23:44 < nsz> Dreamer3: if you need integer numbers then look into bignum (or
big if finite precision is ok)
23:44 < annodomini> kuroneko: True; I'm certainly giving Go a chance, as it
does have some interesting properties
23:45 < Dreamer3> i'm not sure how to specify that on the := line
23:45 < nsz> Dreamer3: to make it an int64 use int64..
23:45 < yuanxin> annodomini: out of curiosity, how does Erlang solve this
problem?
23:45 < dga> or, dreamer, explicitly declare it an Int64
23:45 < nsz> var a int64 = 1;
23:45 -!- LaSaRuX is now known as LaSa_out
23:45 < nsz> a := int64(1);
23:45 < nsz> etc
23:45 < Dreamer3> hmmm
23:45 < sladegen> Dreamer3: or perhaps you want pkg/big or pkg/bignum
23:46 < annodomini> yuanxin: Well, Erlang works a bit differently.  Instead
of typed channels like Go, it has one message inbox per process, which is an
asynchronous queue.
23:46 < jlouis> annodomini: it depends a bit on what you want.  In Erlang
the fault tolerance is interesting
23:46 < Dreamer3> what?
23:46 < jlouis> and I don't see that in Go in the future, sadly
23:47 -!- reubens_ [n=reubens@c-66-235-53-139.sea.wa.customer.broadstripe.net] has
joined #go-nuts
23:47 < annodomini> yuanxin: You can pattern match over the messages in your
inbox, and there are some pre-defined messages that the runtime knows about that
will kill processes or notify other processes that they've been killed.
23:47 < annodomini> Processes can be linked together, and when they are,
they will notify all processes they are linked to that they've died.
23:48 -!- m-takagi_ is now known as m-takagi
23:48 < kuroneko> jlouis: Erlang was engineered with that in mind
23:48 < jlouis> kuroneko: indeed!
23:48 < kuroneko> it was, afterall, the language behind a stack of high
reliability telephony platforms
23:48 < annodomini> This is a brief, and overly simplified explanation of
Erlang; read Joe Armstrong's book for a much better description of how it works.
23:48 < yuanxin> annodomini: I'll keep that in mind
23:49 -!- XniX23 [n=XniX23@89-212-198-49.dynamic.dsl.t-2.net] has quit [Remote
closed the connection]
23:49 < jlouis> kuroneko: and my "higly reliable" bittorrent client :)
23:49 < kuroneko> I'm of the general opinion, with failover and transparent
host migration stuff finally starting to get up to scratch
23:49 < yuanxin> annodomini: My professional use of programming is quite
limited; it's mainly a hobby for me, so I don't have a lot of time to devote to
it...  but I'll certainly keep Erlang on the list of interesting languages to look
at.
23:49 -!- recover [i=recover@ip21278.lbinternet.se] has quit [Read error: 110
(Connection timed out)]
23:49 -!- JBeshir [n=namegduf@138-38-226-61.resnet.bath.ac.uk] has quit [Read
error: 104 (Connection reset by peer)]
23:49 < kuroneko> why on earth should the language have to worry about this
stuff
23:49 < kuroneko> just deal with OS and app errors - let the OS and the
machine sort out keeping you running.  :)
23:49 < annodomini> Erlang is what sold me on the basic idea of
communicating sequential processes; but Erlang isn't ideal in many ways.
23:50 < jlouis> kuroneko: well, it enables and interesting programming model
in which an error in the program is not fatal to the whole program, but only to
part of it
23:50 < jlouis> this fault isolation can, for some problems, be very
beneficial
23:50 < kuroneko> jlouis: and when undesired, it's anightmare.
23:50 < Dreamer3_MBP17> hmmm
23:50 < Dreamer3_MBP17> guess i'm doing problem 3 wrong
23:50 < kuroneko> try debuging stuff under linuxthreads sometime when you
have subtle thread death problems.
23:50 < jlouis> kuroneko: oh yes.
23:50 < kuroneko> NPTL at least fixed that problem
23:51 < penguin42> when I have something at the top level scope that is var
foo = flag.Int(...) and I call flag.Parse() in main - when is foo valid?
23:52 < eno> Go still does not have a story for distributed computing,
solved in Erlang
23:52 < ehird> The story is pretty simple I would think
23:52 < ehird> "Goroutines are distributed across machines".
23:52 * kuroneko cringes
23:52 < penguin42> ehird: I thought it defines them as being shared memory
23:52 < eno> i don't think it's that simple
23:52 < quag> ehird: depends if such a solution is needed
23:53 < dga> sure it does, eno - but you have to look behind the design.  :)
"Deal with it at the application level, because that's how you do things in a
cluster environment."
23:53 < ehird> basically the same as GOMAXPROCS=cores*machines, and having
cores=all the cores of every machine
23:53 < ehird> of course it wouldn't be implemented like that
23:53 < ehird> but that's a simple, dumb, and possibly working strategy
23:53 < dga> (because in a cluster environment, there's no one-size-fits-all
when it comes to dealing with fault tolerance.)
23:53 < ehird> otherwise?  The same as Plan 9 clusters.
23:53 < scandal> penguin42: after you call flag.Parse() your options will be
valid
23:53 < ehird> Same people, after all.
23:53 < quag> ehird: sockets + serialization :)
23:53 < ehird> ...and go is so plan 9 already.
23:53 < quag> ehird: what are plan 9 clusters like?
23:54 < penguin42> scandal: How does it actually achieve that - in the
statement var width = flag.Int() how does the assignment get deferred?
23:54 < ehird> quag: Hard to explain.  Basically even single-machine
installations are multi-machine installations with only one member.
23:54 < ehird> quag: It relies heavily on 9P, the networked filesystem
protocol.
23:54 < ehird> (Since everything really is a file on Plan 9.)
23:54 < ehird> ((Evil offloading answer: Ask uriel!))
23:54 < kuroneko> hhahaha.
23:54 < kuroneko> or me.
23:55 < eno> can 9P be used on unreliable network?
23:55 < ehird> Or you, mysterious person.
23:55 < kuroneko> plan 9 is oriented around user-specific namespaces
23:55 < ehird> Distributed computing over an unreliable network?  Awesome,
that sounds basically like, uh, a really fun thing.
23:55 -!- ehird [n=ehird@91.105.112.3] has left #go-nuts []
23:55 -!- ehird [n=ehird@91.105.112.3] has joined #go-nuts
23:55 < ehird> oops
23:55 < eno> why not
23:55 < scandal> penguin42: the flag package internally keeps pointers to
those options and fills them out when you call flag.Parse()
23:55 < dga> distributed computing over an unreliable network: sounds like
the real world.  :)
23:56 < penguin42> ehird: If you're going to do bigscale distributed you
have to - after all on a BIG system something is bound to fail
23:56 < kuroneko> plan9 doesn't do much in the way of distribution though
23:56 < Gracenotes> all networks are unrealiable
23:56 -!- Manish_mah [n=chatzill@c-67-189-144-6.hsd1.ma.comcast.net] has joined
#go-nuts
23:56 < kuroneko> it provides one protocol to share all namespace resources
23:56 < ehird> kuroneko: eh?  plan 9 is intended to be used on a cluster.
23:56 < penguin42> scandal: So you can get a pointer to thing that you were
assigned to?
23:56 < Gracenotes> ...  to some degree or another
23:56 * quag runs off to find a backhoe to help simulate a real-world network.  :)
23:56 < kuroneko> ehird: no - it was intended to be used in a cpu
farm/terminal network
23:56 < ehird> well, whatever
23:56 < ehird> cpu farm is close enough for me
23:56 < kuroneko> where you had a few expensive big machines, and lots of
cheap terminals
23:56 < mycroftiv> quag: plan 9 basic design is modular, a modern plan9
cluster schematically is a venti deduplicative data server backend, fossil file
server backed by the venti, and multiple CPU servers booted from the fossil, which
can all import each other's resources including synthetic filesystems
23:56 < scandal> penguin42: yes, see funcs like VisitAll and Lookup
23:57 < ehird> Ooh, mycroftiv too.
23:57 < penguin42> scandal: Neat :-))
23:57 -!- hstimer [n=hans@c-98-234-25-125.hsd1.ca.comcast.net] has joined #go-nuts
23:57 < kuroneko> a model which died out when PCs stoped being slow
23:57 < ehird> I should have expected that this place would be teeming with
Plan 9 folk.
23:57 < insane_coder> well, the creators of Plan 9 created Go, what would
you expect?
23:57 < kuroneko> well, yeah.  :)
23:57 < ehird> in typical mycroftiv style you have to prod him for
definitions before understanding half of what he said :-D
23:57 < quag> so go is Plan 9's evil plan to take over the world, right?
:-)
23:57 < ehird> insane_coder: Exactly.
23:57 < penguin42> kuroneko: Wheel Sutherlands wheel of reincarnation around
again
23:57 < ehird> insane_coder: i'm really happy that it's being used as a
vehicle of sorts to force plan 9 concepts on people ;-)
23:57 < kuroneko> quag: or at least show the unix-users the error of their
ways :)
23:57 < mycroftiv> quag: there are definitely some connections in the
language to limbo, which is what the plan9 spinoff inferno is written in
23:58 < ehird> quag: ha, basically what i was saying!
23:58 < insane_coder> ehird: true, and ideally more Plan 9 ideas should be
brought to Linux, not just the proc filesystem
23:58 < ehird> linux /proc is crappy compared to plan 9's
23:58 < kuroneko> the main ideas from 9 I'd like to see is real, per-user
namespacing
23:58 < ehird> really crappy
23:58 < insane_coder> I'd like to see better file based hardware access like
Plan 9 had
23:59 < mycroftiv> network transparent synthetic filesystems as the backend
for applications is really nice architecture
23:59 < ehird> people complaining about the toolchain upset me, plan 9's
toolchain is awesome :(
23:59 < kuroneko> insane_coder: that was part of the everything's a
filesystem :)
23:59 < quag> kuroneko: what is the per-user namespacing?
23:59 -!- mbarkhau [n=koloss@p54A7D2C0.dip.t-dialin.net] has quit [Read error: 104
(Connection reset by peer)]
23:59 -!- mbarkhau [n=koloss@p54A7D2C0.dip.t-dialin.net] has joined #go-nuts
23:59 < kuroneko> quag: well, in 9 - it's actually per-process.  :)
23:59 < ehird> but then they call it google's language anyway which shows
they don't know the unix/plan 9 people behind it, so eh
23:59 < insane_coder> kuroneko: yes, but unforunately Linux doesn't do such
a good job
23:59 -!- mbarkhau [n=koloss@p54A7D2C0.dip.t-dialin.net] has quit [Remote closed
the connection]
23:59 < ehird> probably a good heuristic to ignore no
23:59 < ehird> *on
23:59 < quag> kuroneko: each proces gets its own root fs?
23:59 < quag> and sees stuff specific to it?
--- Day changed Mon Nov 16 2009
00:00 < kuroneko> quag: sort of - each process inherits the namespace from
the parent
00:00 < quag> s/it/itself/
00:00 < kuroneko> but can add its own stuff which only it and it's children
will see
00:00 < kuroneko> so, on a 9 box, I can log in, and then mount some
filesystem which is private to me from somewhere else
00:00 < quag> would things like tcp sockets be handled as a file under a
specific location?
00:00 -!- petr_ is now known as petr
00:00 < dga> which gets amazingly awesome when you can easily lock your
child into a subset of the filesystem you see, too.
00:00 < ehird> quag: yep!  they are
00:00 < kuroneko> and only direct subchildren of my shell will see it
00:00 < ehird> /net
00:01 < kuroneko> and yeah, TCP is handled via a filesystem :)
00:01 < eno> quag, in 9, you'll have ctrl file, and data file
00:01 < eno> something like that
00:01 < quag> no more nc :)
00:01 < dagle2> quag: each process has it's mount table.
00:01 < quag> does sound nifty
00:01 < quag> does Plan 9 have a path forward?
00:01 < kuroneko> it's open sourced.
00:02 < kuroneko> but it's not really going anywhere these days.
00:02 < dga> its creators are taking over google?  :)
00:02 < dagle2> And you can see mount table for a process in /proc
00:02 < quag> or is it lost in limbo
00:02 < kuroneko> people do cool stuff with it occasionally
00:02 < mycroftiv> its still used for research, IBM has it running on Blue
Gene and an activity team working with it
00:02 < ehird> a pun i see?  *g*
00:02 -!- aa [n=aa@r190-135-208-214.dialup.adsl.anteldata.net.uy] has joined
#go-nuts
00:02 < eno> lots of ideas in plan9 are very elegant
00:02 < ehird> plan 9 is pretty dead, unfortunataely.
00:02 < ehird> *unfortunatetly
00:02 < ehird> *unfortunately dammit
00:02 < chrome> i'm using plan 9 right now
00:02 < ehird> i would love for it to resurge, but go+linux is probably
"good enough"
00:02 * dga compares the plan9 bunny logo to the Go bunny logo
00:02 < insane_coder> Did Plan 9 have transparent archive support?
00:03 < eno> but, i don't know how well it works for real world distributed
compuatation
00:03 < ehird> chrome: ooh, the final fourth user!
00:03 < ehird> we found him, guys!
00:03 < ehird> dga: same artist
00:03 < chrome> ehird: I lied.
00:03 < dagle2> It's not dead before the last user is dead!
00:03 < ehird> renée french, wife of rob pike
00:03 < kuroneko> insane_coder: sort of
00:03 < kuroneko> insane_coder: that was a function provided by the standard
plan9 fileserver
00:03 -!- oklofok [n=oklopol@a91-153-117-208.elisa-laajakaista.fi] has quit [Read
error: 104 (Connection reset by peer)]
00:03 -!- oklofok [n=oklopol@a91-153-117-208.elisa-laajakaista.fi] has joined
#go-nuts
00:03 < mycroftiv> i have 3 physical plan 9 machines and two VMs running
right now, im making up for those of you not running any
00:04 < dagle2> ehird: I have 1 plan 9 machine.  2 virtual machines with
plan 9 and 3 machines with inferno running hosted.  :)
00:04 < insane_coder> kuroneko: with a setup like that, why aren't we all
using Plan 9 today???
00:04 -!- leitaox [n=leitaox@187.88.10.198] has joined #go-nuts
00:04 < ehird> mycroftiv: dagle2: you're the first and third users.
00:04 < dga> and in fairness to p9, probably a lot of people run Venti who
don't run full plan9.
00:04 < kuroneko> insane_coder: bell-labs/lucent.
00:04 < ehird> insane_coder: lack of compatibility to the rest of the world
(which wouldn't fit in anyway), licensing, lack of marketing...
00:05 < ehird> insane_coder: tl;dr two words "research os"
00:05 -!- daub [n=daub@91-66-67-186-dynip.superkabel.de] has quit [Read error: 113
(No route to host)]
00:05 < kuroneko> ehird: Unix was the same
00:05 < kuroneko> the main difference was too little, too late
00:05 < ehird> unix came before there were things to be compatible with
00:05 * dagle2 facepalms.
00:05 < kuroneko> erm
00:05 < kuroneko> no
00:05 < ehird> and unix wasn't *so* radical
00:05 < quag> any bets on if we'll see go grow per-app namespaces?  :)
00:05 < ehird> kuroneko: I meant huge bases of stuff
00:05 < dagle2> I have to encrypt some txt to hand in tomorrow.
00:06 < dagle2> But the key is old.
00:06 < quag> heh
00:06 < dagle2> 1 year old.
00:06 < ehird> quag: maybe as a sort of file-system-like interface to stuff
00:06 < ehird> but I doubt it, we have too much non-fs-sorta interfaces to
stuff in go already
00:06 < ehird> i guess they just let that one slide
00:06 < Amaranth> my GPG key is 3 years old
00:07 < dagle2> That's just libs?
00:07 < dagle2> Amaranth: I meant that it expired 1 year ago.
00:07 < Amaranth> ah
00:07 < dho> > ./run
00:07 < dho> 0 known bugs; 0 unexpected bugs
00:07 < dho> > uname -a
00:07 < dho> FreeBSD bigdisk.dho.apt 8.0-RC1 FreeBSD 8.0-RC1 #1: Sat Oct 24
11:51:32 EDT 2009 dho@bigdisk.dho.apt:/usr/obj/usr/src/sys/BIGDISK amd64
00:07 -!- oklokok [n=oklopol@a91-153-117-208.elisa-laajakaista.fi] has joined
#go-nuts
00:07 < dagle2> Nice to give me a key that expired 1 year ago.
00:08 < dagle2> dho: 1 week later?  :)
00:08 < penguin42> scandal: Can I just clarify, my var foo = flag.Int()
seems to have made foo a *Int which I guess makes more sense - is that correct?
00:08 -!- dschn [n=dschn@pool-70-19-224-19.bos.east.verizon.net] has joined
#go-nuts
00:08 < scandal> penguin42: yes, its a pointer
00:08 < kuroneko> dho: awesome.  :)
00:08 < kuroneko> dho: linux or native fbsd binaries?
00:08 -!- Arathorn [n=arathorn@78-86-114-145.zone2.bethere.co.uk] has quit ["This
computer has gone to sleep"]
00:09 -!- godfath3r__ is now known as Godfath3r
00:09 < dho> native, sir
00:09 < penguin42> scandal: Ah OK, that makes sense - it kind of spooks me
that something is a pointer transparently
00:09 < dho> dagle2: 1 week?
00:09 -!- devyn [n=devyn@S01060013d4130071.vc.shawcable.net] has joined #go-nuts
00:09 < dho> 4 days.
00:09 < kuroneko> dho: good man.  :) that's a awesome effort.  :)
00:09 < kuroneko> how hard is it to put in a new binary format?
00:09 < dga> it's not transparent, penguin, you just used inference to avoid
having to know how it worked.  :)
00:09 < Amaranth> kuroneko: BSD used ELF
00:09 -!- FreshMeat [n=crump@c-67-180-74-9.hsd1.ca.comcast.net] has quit []
00:10 < penguin42> dga: Except I found out the hard way when I passed it to
another function
00:10 < Amaranth> so he "just" had to handle the syscalls
00:10 < dho> Amaranth: nossir.
00:10 < dho> far from true
00:10 < penguin42> dga: so I really did have to know
00:10 < Amaranth> which part?  :)
00:10 < dga> *nod* inference ain't a substitute for the man page, alas.
00:10 < dho> Amaranth: > hg diff | wc -l 4990
00:11 < dho> so far
00:11 < delsvr> is there anything like getopt for go?
00:11 < Amaranth> dho: I didn't say it was easy, just the quotes
00:11 < scandal> delsvr: flag package
00:11 < nsz> delsvr: see flag
00:11 < delsvr> ty
00:11 < Amaranth> s/just/thus/
00:11 -!- oklofok [n=oklopol@a91-153-117-208.elisa-laajakaista.fi] has quit [Read
error: 60 (Operation timed out)]
00:11 < reubens_> when i do "type F func() int" and then "f := new(F)", what
exactly is happening?
00:11 < dho> Amaranth: http://golang.pastebin.com/d39006986
00:12 -!- snearch_ [n=olaf@g225053046.adsl.alicedsl.de] has quit ["Ex-Chat"]
00:12 < nsz> .s :)
00:12 < kuroneko> .s is unavoidable sometimes
00:12 < Amaranth> dho: I'm not sure why you don't understand me...
00:12 < scandal> reubens_: i believe you are allocation a new nil reference
to a function
00:13 < kuroneko> what I'm interested in is the changes to the darwin and
linux rt0.s
00:13 < dho> Amaranth: 19:11 < Amaranth> which part?  :)
00:13 < nsz> Amaranth: those are not just syscalls
00:13 < dho> I thought you were referring to which other parts i needed to
modify.
00:13 < dho> so I showed you.
00:13 < Amaranth> dho: I'm saying it was a _lot_ of work but not as much as
kuroneko seemed to imply
00:13 -!- Manish_mah_ [n=chatzill@c-67-189-144-6.hsd1.ma.comcast.net] has quit
[Connection timed out]
00:13 -!- h4xOr [n=prudhvi@aldebaran.surapaneni.in] has joined #go-nuts
00:13 < dho> well, probably as much, but in different places :)
00:13 < Amaranth> dho: Like porting to Windows will involve implementing PE
handling and such
00:14 < dho> right.
00:14 < kuroneko> yup, and that's in part why I'm asking about amount of
effort
00:14 < Amaranth> while *BSD uses ELF
00:14 < reubens_> scandal: it ends up not being nil
00:14 < yuanxin> dho: congrats1
00:14 < yuanxin> *congrats!
00:14 < Amaranth> dho: Anyway, awesome work
00:14 -!- exch [n=nuada@h144170.upc-h.chello.nl] has joined #go-nuts
00:14 < scandal> reubens_: if you deref it, it probably is
00:14 < kuroneko> because the Win32 mob wants love, and at least we don't
have to write a new arch to do it
00:15 < reubens_> oh, so *f would be nil?
00:15 < sladegen> yes
00:15 < Amaranth> dho: Now make it work on x86 and arm ;)
00:15 < scandal> reubens_: if you know C, its similiar to doing this: int
**p; p =malloc(sizeof(*p)); *p=0;
00:15 < reubens_> you guys are right, *f is nil
00:15 < penguin42> why is png a top level thing rather than image.png ?
00:15 < mitchellh> reubens_: It just allocates space for a pointer to a
function.
00:15 < mitchellh> reubens_: http://golang.pastebin.com/m53548355
00:15 -!- gpurrenhage [n=gpurrenh@141.209.53.85] has joined #go-nuts
00:15 < dho> Amaranth: reppie is working on x86
00:15 < dagle2> reubens_: I have always seen new as malloc and make as
c++/java constructors.
00:16 < dho> i don't have any arm to test on
00:16 < Amaranth> penguin42: The documentation implies it's under image
00:16 < dga> confused, penguin - the png package is in image.  Or do you
mean something else?
00:16 < dho> also, dynamic linking doesn't work
00:16 < dho> and syscalls aren't finished.  some of them don't work at all
00:16 < reubens_> dagle2: yeah, but i was expecting new to allocate space
for F, not for *F
00:16 < penguin42> dga/Amaranth: I do an import of "image/png" but to use
Encode I do png.Encode not image.png.Encode
00:16 < dga> (Do you mean "why don't I refer to it as image.png instead of
having the import go directly to the top-level"?)
00:16 < kuroneko> dho: still, you've got the test suite passing
00:16 -!- hstimer [n=hans@c-98-234-25-125.hsd1.ca.comcast.net] has quit [Read
error: 60 (Operation timed out)]
00:17 < Amaranth> dho: That means you have to extend the test suite too :)
00:17 -!- ikke [n=1kk3@unaffiliated/ikkebr] has quit [Read error: 60 (Operation
timed out)]
00:17 < ehird> penguin42: that's the convention
00:17 < dho> Amaranth: well...
00:17 < dho> no
00:17 < ehird> it's to keep package names short
00:17 < dho> that's not tests from ./run.sh
00:17 < dagle2> reubens_: Ok.
00:17 < ehird> import image_png "image/png" works, but don't do that
00:17 < dho> that's tests from $GOROOT/tests
00:17 < sladegen> reubens_: perhaps try make
00:17 < dho> there are package tests too, those are what fail
00:17 < kuroneko> ah
00:17 < Amaranth> ah
00:17 < kuroneko> right
00:17 < penguin42> ehird: OK, not quite obvious from the docs
00:18 < ehird> btw, here's paul graham's acc closure-testing thingy in go:
http://sprunge.us/JXMf it only does fixed-size ints, though, not any number;
couldn't find an appropriate interface
00:18 < ehird> very simple and elegant
00:18 -!- binaryjohn [n=binaryjo@cpe-24-30-132-50.san.res.rr.com] has quit []
00:18 * dho is about to hg upload
00:19 < dga> If you wanted to make it behave kinda like you expected,
penguin, you could munge your import declaraction: import img_png "img/png"
00:19 < dga> and force yourself to call img_png (if you had a namespace
collision).
00:19 < Dreamer3_MBP17> is there an easy way to turn a number into a string?
00:19 -!- ikke [n=1kk3@unaffiliated/ikkebr] has joined #go-nuts
00:19 < Dreamer3_MBP17> 323 => "323"
00:19 < ehird> yes
00:19 < ehird> see strconv
00:19 < reubens_> strconv.Itoa
00:19 < ehird> http://golang.org/pkg/strconv/
00:20 < dga> Dreamer: Sprint(323), or, faster, strconf.Itoa(323)
00:20 < ehird> heh, i need a macro for http://golang.org/{cmd,pkg}
00:20 < ehird> link to them so much
00:20 < dga> typo, sorry, strconv
00:20 < ehird> thank god the paths are shorter than python docs
00:20 < dga> pity that "gl.org" is taken.  :)
00:20 < Dreamer3_MBP17> oh cool
00:20 < Dreamer3_MBP17> Itoa
00:20 < Dreamer3_MBP17> i need to import strconv right?
00:20 < quag> it is a shame that the doc paths don't have nice #anchors for
each function
00:20 -!- ikke [n=1kk3@unaffiliated/ikkebr] has quit [Client Quit]
00:21 -!- SRabbelier1 [n=SRabbeli@ip138-114-211-87.adsl2.static.versatel.nl] has
quit [Client Quit]
00:21 < mitchellh> quag: Since the docs are generated with godoc, I'm sure
that would be easy to add
00:21 < quag> mitchellh: just thinking that a patch might be in order :)
00:21 -!- Jan_Flanders [n=chatzill@d54C1E33B.access.telenet.be] has quit [Read
error: 54 (Connection reset by peer)]
00:21 < ehird> quag: yeah
00:21 < ehird> "tmp_" is disturbing, too
00:21 < engla> is it possible to make a multivalued iteration (with
multivalued chan)?  like i,j,m := range MyObj.Iter()
00:21 < ehird> Dreamer3_MBP17: yeah
00:21 -!- dragon3_away is now known as dragon3
00:21 < dga> They're already in there, actually, but with numeric IDs
instead of happily human-friendly things.
00:22 < ehird> "nice #anchors"
00:22 < ehird> "nice"
00:22 < quag> dga: right.  :)
00:22 < dga> http://golang.org/src/pkg/archive/tar/writer.go#L38
00:22 < ehird> Dreamer3_MBP17: add "strconv"; to your import ( ...  ) then
just strconv.Iota(...)
00:22 < quag> dga: now that is cool
00:22 -!- facemelter [n=facemelt@87.60.0.194] has left #go-nuts []
00:22 -!- facemelter [n=facemelt@87.60.0.194] has joined #go-nuts
00:23 -!- Jan_Flanders [n=chatzill@d54C1E33B.access.telenet.be] has joined
#go-nuts
00:23 < ehird> http://golang.org/pkg/strconv/#tmp_188 indentation leading to
preformatted mistake here...
00:23 -!- dragon3 [n=dragon3@122.208.75.82] has left #go-nuts []
00:23 * Amaranth wonders how to handle https connections in go
00:23 -!- Cyprien [n=Cyprien@191-184.79-83.cust.bluewin.ch] has quit [Read error:
110 (Connection timed out)]
00:23 < dga> I don't know how well pkg crypto/tls works, Amar
00:24 < Amaranth> dga: I can't even get the http module to accept a
connection
00:24 < Amaranth> I think it's hardcoded for "http" as the protocol
00:25 < Dreamer3_MBP17> hmm
00:25 < dga> oh, no - I think you'd have to create a TLS Listener and then
hand it off to http after you validate.
00:25 -!- Omei [n=chatzill@99-178-130-115.lightspeed.sndgca.sbcglobal.net] has
quit [Read error: 110 (Connection timed out)]
00:25 < ehird> can i just say that go is awesome
00:25 -!- jA_cOp [n=ya@ti0043a380-3093.bb.online.no] has quit [Read error: 110
(Connection timed out)]
00:25 < devyn> ehird: permission granted :D
00:25 < ehird> go is awesome
00:25 < quag> ehird: go-nuts
00:25 < quag> :)
00:25 < dga> where, having not used either module short of looking at their
functions, I have no idea how to accomplish said handoff.  But I trust the go
developers to have kept that in mind at least a little bit.  :)
00:26 < dga> such as (c *Conn) Hijack()
00:26 < ehird> quag: has dekorte looked at go?
00:26 < yuanxin> who is dekorte?
00:26 < ehird> steve dekorte creator of Io
00:26 < ehird> quag is an io-guy
00:26 < dga> oops, hijack is backwards.  hm.
00:26 < ehird> http://iolanguage.com/
00:26 < ehird> dga: yeah i looked at hijack first too :D
00:26 < Dreamer3_MBP17> is there any way to quickly reverse an array that's
built in?
00:26 < Dreamer3_MBP17> trying to reverse a string
00:27 < ehird> Dreamer3_MBP17: not using the String type?  why
00:27 < ehird> s/$/?/
00:27 < Dreamer3_MBP17> gotta check for palidrome :)
00:27 < Dreamer3_MBP17> string==reverse(string) seems easy :)
00:28 < Dreamer3_MBP17> i know a string can become an array of chars...  is
there any builting reverse operation fro array then?
00:28 < Amaranth> dga: Nah, it's an HTTP CONNECT request (like GET, POST,
etc)
00:28 < Amaranth> dga: The headers are plaintext
00:28 < ehird> Dreamer3_MBP17: .String() or string()
00:28 < ehird> string(bytes) or bytes.String()
00:28 < Dreamer3_MBP17> no
00:28 < Amaranth> well, for that part of it
00:28 < Dreamer3_MBP17> i mean to reverse the array
00:28 < ehird> ah.
00:28 < Amaranth> I actually don't carry about the rest, I'm just trying to
forward it to a different server
00:28 < Amaranth> s/carry/care/
00:28 * Amaranth is typing weird things today
00:28 < dga> Oh. Did I misinterpret that you're building an HTTP proxy,
Amaranth?
00:29 < Amaranth> dga: Well, I want to proxy https
00:29 < wimpog> how do I cast float64 to int64?
00:29 -!- diltsman_ [n=diltsman@64.122.18.77] has joined #go-nuts
00:29 < dga> (Sorry, I'd assumed server.) Gotcha.
00:29 < KragenSitaker> wimpog: int64(foo)?
00:29 < wimpog> or take int value
00:29 < wimpog> KragenSitaker: thx
00:29 < penguin42> can multiple functions all write to a channel (e.g.  if I
have 100 goroutines and I want to wait for them all to finish, can I just pass
them the same channel and wait to read 100 items off?)
00:29 < dga> Yes
00:29 < Amaranth> dga: So I want to handle GET, POST, etc but just make a
request to another server if it's CONNECT since that's https
00:29 < jlouis> penguin42: yup
00:29 -!- turing_type_bot [n=turing@pool-71-241-35-143.nrflva.east.verizon.net]
has joined #go-nuts
00:29 < wimpog> KragenSitaker: not working
00:29 < yuanxin> penguin42: Yes...  thread-safety is kinda the point of
channels ^^
00:29 < KragenSitaker> penguin42: yes, this is one of the key differences
between Go and CSP
00:29 < yuanxin> or I guess goroutine-safety
00:30 < penguin42> jlouis: Cool - is there a neater way to wait for a whole
set of goroutines ?
00:30 -!- SmSpillaz [n=sam@203-59-167-252.dyn.iinet.net.au] has quit [Nick
collision from services.]
00:30 < ehird> yep, select
00:30 < ehird> although i haven't used it yet
00:30 < ehird> i've just seen people say select a lot for that P:
00:30 < ehird> *:P
00:30 < dga> Now i get it, Amaranth.  I don't see an easy way to do that
short of rewriting your own version of readRequest in server.go
00:30 < wimpog> float64 to int64 cast?
00:30 < yuanxin> ehird: it's unclear to me how you would use select to
accomplish that.
00:30 -!- hipe [n=hipe@pool-96-239-40-195.nycmny.east.verizon.net] has joined
#go-nuts
00:30 < Amaranth> dga: Yeah, that's what I'm afraid of
00:30 < penguin42> ehird: I'm just waiting for completion of the whole set,
not sure select would do that
00:30 < KragenSitaker> wimpog: compiler error?
00:30 < delsvr> why can't I use the instantiation shorthand (:=) outside of
a func?
00:30 < ehird> oh, right
00:30 < jlouis> select lets you wait for a static amount of different
channels
00:30 < wimpog> KragenSitaker: cannot use number (type int64) as type
float64
00:31 < ehird> delsvr: i think to make you be explicit and careful w/ your
globals
00:31 < Dreamer3_MBP17> hmm
00:31 < Dreamer3_MBP17> can i add to a pkg?
00:31 < Dreamer3_MBP17> like add my own strings.Reverse but in MY main
source file
00:31 < wimpog> KragenSitaker: sorry, I need int64 to become float64
00:31 < jlouis> I'd just go with a loop
00:31 < KragenSitaker> wimpog: oh, float64(foo) then?
00:31 < wimpog> KragenSitaker: sqrt expects float64
00:31 < quag> wimpog: float64(theInt)
00:31 < delsvr> ehird: hmm, okay, thanks
00:31 < wimpog> let me try
00:31 < devyn> Dreamer3_MBP17: I would imagine so, just create a file that
defines the package
00:31 < Dreamer3_MBP17> but there is already a strings pkg
00:31 < ehird> delsvr: whereas in a function having to declare the type can
just be needless fluff/noise
00:31 < yuanxin> What is the point of making it an error to import a package
and not use it?
00:32 < penguin42> jlouis: Yeh - I'm kind of surprised there isn't a
predefine for a way to wait for a whole set
00:32 < quag> wimpog: a c-cast looks like (int)x, a go conversion looks like
int(x).
00:32 -!- grncdr [n=stephen@S01060018f8f966ac.gv.shawcable.net] has quit [Client
Quit]
00:32 < ehird> Dreamer3_MBP17: no, it's a black box
00:32 < yuanxin> I cuoldn't find anything on this in the language design FAQ
00:32 < ehird> Dreamer3_MBP17: i know you're a ruby guy — stop trying to
monkey patch!  banish that urge :P
00:32 < Dreamer3_MBP17> ehird: you lost me
00:32 < wimpog> quag: is it always like this in GO?
00:32 < quag> wimpog: yes
00:32 < jlouis> penguin42: well, you can use the same channel for all of
them IIRC
00:32 < ehird> yuanxin: same with unused vars
00:32 < Dreamer3_MBP17> ehird: what should i be doing?
00:32 < Dreamer3_MBP17> strings.Reverse sounds useful
00:32 -!- plh [i=plh@gateway/shell/rootnode.net/x-ompdoidztyfuooev] has left
#go-nuts [" "]
00:32 < ehird> yuanxin: it's to make you careful and not lazy
00:32 < yuanxin> ehird: the unused vars makes a bit more sense
00:32 < Dreamer3_MBP17> vs my own private method
00:32 < ehird> Dreamer3_MBP17: tough — packages are sealed
00:32 < yuanxin> ehird: that can be a source of bugs.
00:32 < Dreamer3_MBP17> i could just contribute a patch :)
00:32 < ehird> Dreamer3_MBP17: that also
00:33 < Dreamer3_MBP17> so you're saying just write my own reverse method
00:33 < ehird> yeah
00:33 < ehird> yuanxin: no, being lazy can be
00:33 < Ycros> ehird: rampant monkey patching is one of the things I most
dislike about Ruby
00:33 < ehird> Ycros: yah, it is pretty bad
00:34 < ehird> go solves the want for it without the problems, genius :)
00:34 < sladegen> operator overloading ftw!
00:34 < ehird> sladegen: x_x
00:34 < ehird> you make kitty sad
00:34 < yuanxin> what is monkey patching?
00:34 < Ycros> ehird: hehe!
00:35 < ehird> yuanxin: adding or changing methods in classes
00:35 -!- lenst [n=user@90-229-131-67-no52.tbcn.telia.com] has quit [Remote closed
the connection]
00:35 < ehird> in ruby, often done to such basic things as String
00:35 < dga> from outside the class.  one of the most fun and horrible
things, at the same time, about ruby.
00:35 < ehird> source of much confusion, horror, and chainsaw
countermeasures
00:35 -!- LjL [n=ljl@unaffiliated/ljl] has quit [Read error: 131 (Connection reset
by peer)]
00:35 < Ycros> sometimes you require two libraries in Ruby and the world
explodes
00:35 < sladegen> (let ((+ -)) (if (= 4 (+ 2 2)) 'win 'lose))
00:35 < ehird> (The Chainsaw Infanticide Logger Manuever
http://blade.nagaokaut.ac.jp/cgi-bin/scat.rb/ruby/ruby-talk/153380)
00:36 < ehird> (pasted code is dead but you get the idea)
00:36 < ehird> sladegen: lisp-2 fan eeh
00:36 < ehird> *eh
00:36 < sladegen> nah
00:36 * sladegen pats scheme's head.
00:36 -!- hstimer [n=hans@c-98-234-25-125.hsd1.ca.comcast.net] has joined #go-nuts
00:36 < dga> that's awesome, ehird.  :)
00:37 < jlouis> penguin42: really crappy example:
http://gist.github.com/235612
00:37 < annodomini> Is there a read line function in Go?
00:37 < ehird> annodomini: nope!
00:37 < dga> annodomin: see the bufio pkg
00:37 < ehird> make a bufio.Reader and ReadString(\n')
00:37 < Ycros> annodomini: I don't think so, but someone in here wrapped
libreadline
00:38 < ehird> Ycros: not the same thinng
00:38 < ehird> read line = read a line
00:38 < dga> you can call rd.ReadString('\n')
00:38 < reubens_> is there a way to compile go to C?
00:38 < ehird> reubens_: no.
00:38 < dga> and ehird types faster than i check my emacs buffer to be sure.
:)
00:38 < penguin42> jlouis: Yeh, that's basically the type of thing I'm
trying to do - it just struck me that a set of goroutines might be a useful
concept to work with, e.g.  being able to represent that lets the scheduler know
that you're waiting for the lot to finish
00:38 < ehird> yeah, after rd := bufio.NewReader(os.Stdin)
00:38 < annodomini> Ah, thanks.
00:39 < annodomini> Yeah, I just wanted to read to the next newline, not a
readline binding.
00:39 -!- gcopenhaver [n=greg@c-98-250-49-37.hsd1.mi.comcast.net] has joined
#go-nuts
00:39 < Dreamer3_MBP17> len := len(s);
00:39 < Dreamer3_MBP17> var new [len]byte;
00:39 < Dreamer3_MBP17> hmmm
00:39 -!- bechamel [n=user@host-85-201-159-186.brutele.be] has quit [Remote closed
the connection]
00:39 < Dreamer3_MBP17> ivalid array bound le?
00:39 < Dreamer3_MBP17> len?
00:39 < sladegen> len must be const
00:39 < hendry> i know you're supposed to run tests with gotest.  though, i
want to run tests from main and I'm sure how to initialise a test object.  It's
not: var t = new testing.T // then what is it?
00:39 < Dreamer3_MBP17> hmmmm
00:40 < Dreamer3_MBP17> i'm tring to allocate another array of the same size
to do a byte reverse
00:40 < Dreamer3_MBP17> i guess i could just call Bytes again
00:40 -!- mitchellh [n=mitchell@c-71-231-140-22.hsd1.wa.comcast.net] has quit
["Leaving."]
00:40 < Dreamer3_MBP17> and overwrite what it gives me
00:41 -!- mitchellh1 [n=mitchell@c-71-231-140-22.hsd1.wa.comcast.net] has joined
#go-nuts
00:41 -!- Lorthirk [n=cm0901@109.115.69.63] has quit [Read error: 110 (Connection
timed out)]
00:41 < jlouis> penguin42: I wouldn't worry too much about that in the long
run
00:41 < ehird> hendry: that is not how you create structs in go.
00:41 < dwery> anyone knows how to escape a ( in a regexp?  \( gives an
error
00:41 < ehird> http://golang.org/pkg/testing/
00:41 < jlouis> dwery: \\( perhaps?
00:41 < ehird> you can't do it
00:42 -!- jabb [n=grue@71.94.31.166] has joined #go-nuts
00:44 < dwery> jlouis: it worked
00:44 < dwery> !
00:44 < sladegen> perhap (( (;
00:44 < Dreamer3_MBP17> grrrr
00:44 < jlouis> dwery: too much oddities in this world make me go for that
kind of stuff on a per-reflex basis
00:44 < Dreamer3_MBP17> why is my answer wrong
00:44 -!- hipe_ [n=hipe@pool-96-250-112-146.nycmny.east.verizon.net] has quit
[Read error: 110 (Connection timed out)]
00:45 < Dreamer3_MBP17> oh i see
00:45 < dwery> jlouis: good shot.  I would not ever have thought of it
00:45 < sladegen> because it's not not false?
00:45 * penguin42 wonders how long it will take me to start declaring arguments
the right way around when I switch back to C
00:46 -!- ineol [n=hal@mar75-9-88-171-191-168.fbx.proxad.net] has quit []
00:46 < jlouis> penguin42: hehe, I like this one better.  It follows Haskell
and ML in their style
00:46 < jlouis> t : T, where t is a term and T is a type.
00:46 -!- bluemoon [n=bluemoon@c-98-225-14-178.hsd1.wa.comcast.net] has joined
#go-nuts
00:46 < dwery> jlouis: thank you very much, I'll sleep well now :D
00:46 < bmw357> Hey everyone, I'm kinda new to Go and I'm working through
the tutorial page.  I copied down the File I/O example and tried to run it, but I
get an import error.  I've checked it a bunch of times, but I'm having no luck.
I'd appreciate it if someone could check it out here: http://imgur.com/tatWP.png
00:46 < penguin42> jlouis: I've never tried ML and I only really tried
Haskell once for a corse about 20 years ago
00:46 < Dreamer3_MBP17> http://pastie.org/700390
00:46 < Dreamer3_MBP17> gotta be a better way of doing that?
00:47 < sladegen> bmw357: echo $GOROOT
00:47 < hendry> ehird: so i can't run a test manually from a main func?
i.e.  initiate a test object to use to run the tests?
00:47 -!- gpurrenhage [n=gpurrenh@141.209.53.85] has quit []
00:47 < yuanxin> bmw357: paste the output of env | grep '^GO'
00:47 < jlouis> Dreamer3_MBP17: try n := new([len(s)]byte) perhaps?
00:47 < jlouis> (not tested(
00:48 -!- oklofok [n=oklopol@a91-153-117-63.elisa-laajakaista.fi] has joined
#go-nuts
00:48 < Dreamer3> syntax error near len
00:48 < bmw357> sladegen, yuanxin: http://pastebin.com/m476338ee
00:48 < sladegen> bmw357: eh...  no, you need to have all the other examples
compiled in current dir.
00:48 < clip9> use make(
00:49 < Dreamer3_MBP17> problem4.go:23: syntax error near len
00:49 < clip9> Dreamer3: new := make([]byte, len(s))
00:49 < Dreamer3> ah
00:49 < engla> Dreamer3: new is a keyword though
00:50 < Dreamer3> works :)
00:50 -!- proszbje [n=raulgrel@81.84.215.230] has quit [Remote closed the
connection]
00:50 < bmw357> sladegen: I see, thanks
00:50 < bmw357> ls
00:50 < clip9> new dosen't work that way.
00:51 -!- proszbje [n=raulgrel@81.84.215.230] has joined #go-nuts
00:51 < sladegen> bmw357: i haven't run through it but you will need to use
gopack.
00:51 < ehird> just use the Makefile system
00:52 < ehird> http://golang.org/doc/contribute.html#tmp_31
00:52 < ehird> (ignore the bit starting "After creating a new" unless you
put it in the go tree...)
00:52 < jlouis> Dreamer3_MBP17: 2 sec
00:52 -!- itrekkie [n=itrekkie@ip72-200-108-156.tc.ph.cox.net] has joined #go-nuts
00:52 -!- Godfath3r [n=godfath3@athedsl-4488148.home.otenet.gr] has quit [Remote
closed the connection]
00:53 < jlouis> Dreamer3_MBP17: http://pastie.org/700395
00:53 < ehird> jlouis: good code.
00:53 < ehird> though why n?
00:53 < wimpog> guys, where do I get gccgo compiler?
00:53 -!- triplez [n=triplez@cm52.sigma225.maxonline.com.sg] has quit []
00:53 < ehird> wimpog: same place as regular go.  i suggest you do not use
it
00:54 < wimpog> eharmon: why?
00:54 < ehird> the other compiler has a gc (albeit a crappy one) and better
support for goroutines, plus it's faster and better-designed
00:54 < jlouis> ehird: just some name for the 'new' string
00:54 < ehird> *ehird, you mean
00:54 < quag> jlouis: won't the reverse break on multibyte utf8 characters?
00:54 < ehird> wimpog: admittedly the output from gccgo is faster atm, but
it leaks memory and the other compiler is so much better in every respect
00:54 < jlouis> quag: true
00:54 -!- proszbje1 [n=raulgrel@81.84.215.230] has joined #go-nuts
00:55 < wimpog> ehird: by other you mean 8g?
00:55 < ehird> wimpog: 8g is just for x86; 6g/5g also exist.  and that
implies using [865]l as linker too
00:55 < ehird> wimpog: and yes.  also, it's the only one that can call C
code (with cgo)
00:55 < tokuhiro______> quick question: How to add debug symbol with 8g?  I
want to profile it with cachegrind.
00:55 < ehird> wimpog: the name for the suite is gc, which is a bit
confusing
00:55 < quag> does anyone else find 8l is slow?
00:56 < quag> much slower than 6l
00:56 < wimpog> so 5g, 6g, 8g are better compilers in general for GO?
00:56 < ehird> wimpog: yes
00:56 < ehird> quag: 8* is more immature atm
00:56 -!- gpurrenhage [n=gpurrenh@141.209.53.85] has joined #go-nuts
00:56 < ehird> 6g/6l came first
00:56 < penguin42> it's not helpful for the compiler to say 'syntax error
near frob' if there are multiple frobs on a line
00:56 < ehird> wimpog: also, it's "Go" :)
00:57 < sladegen> wimpog: http://golang.org/doc/gccgo_install.html
00:57 < wimpog> what is 5g and 6g for?
00:57 < ehird> wimpog: 5* is ARM
00:57 < sladegen> if you must.
00:57 < quag> 6 is for x64
00:57 < ehird> wimpog: 6* is amd64
00:57 < wimpog> ahh
00:57 < ehird> (64-bit)
00:57 < yuanxin> "amd64" is misleading
00:57 < ehird> wimpog: this way, cross-compiling is the same as normal
compiling :)
00:57 < penguin42> (and how did ARM end up being 5?)
00:57 < scyth> I'm not quite sure I understand what exactly is a goroutine.
Is it just a pure event driven async code, or there's more to it?
00:57 -!- diltsman_ [n=diltsman@64.122.18.77] has quit []
00:57 < ehird> yuanxin: it's the name of the architecture
00:57 < ehird> penguin42: inherited from plan 9.  it's arbitrary
00:57 < ehird> scyth: it's like a coroutine
00:57 < penguin42> ehird: Yeuch
00:57 < ehird> except truly parallel
00:57 < ehird> penguin42: it doesn't matter :)
00:57 < quag> what if there are more than 10 target arches?  :)
00:58 < ehird> quag: do what plan9 does, use names
00:58 < wimpog> so really gccgo is having memory leaks, otherwise it's ok?
00:58 < ehird> http://man.cat-v.org/plan_9/1/2c
00:58 < ehird> they have 0-8c, kc, qc, vc
00:58 < penguin42> ehird: Well once you have the ARMv6 and ARMv7 compilers,
and the Thumb and ....
00:58 < ehird> after 36 architectures, uhh, congratulate yourself?
00:58 < Dreamer3> crisis?
00:58 < ehird> wimpog: nope
00:58 < quag> ehird: heh
00:58 < wimpog> ehird: what else?
00:58 < quag> ehird: that is what utf8 is for :)
00:59 < ehird> wimpog: it leaks memory, it is worse at goroutines, it's much
(much!  much!) slower, it lacks the nice plan 9 toolchain, and development is
focused on gc
00:59 < ehird> quag: :-D
00:59 < ehird> ég
00:59 < scyth> ehird, well, true parallelisation can come only with
threads/forks.  Is it based on threads or?
00:59 < quag> ehird: I did like the comment, "Does Chinese even have
uppercase?"
00:59 < ehird> scyth: GOMAXPROCS is the var you set, so i guess forks
00:59 -!- Tuller [n=Tuller@pool-72-84-246-12.rcmdva.fios.verizon.net] has joined
#go-nuts
00:59 < delsvr> 
00:59 < ehird> wimpog: the only advantage of gccgo is that the output
programs are a bit faster.  I strongly recommend using gc + the plan 9 toolchain
(*l)
01:00 < engla> scyth: threads
01:00 < scyth> ehird, forks can't share a same memory space
01:00 < ehird> scyth: yeah, true
01:00 < ehird> i was just guessing without thinking
01:00 < engla> scyth: although goroutines are not 1 to 1 with threads
01:00 < wimpog> ehird: which gc and 9 toolchain?
01:00 < wimpog> ehird: I'm using 8g and 8l to compile
01:00 < ehird> wimpog: that's the [568]g and [568]l
01:00 < Manish_mah> gccgo
01:00 < ehird> wimpog: then continue doing so
01:01 < wimpog> ehird: I see, thanks
01:01 < Manish_mah> gccgo i tried to install....but failed
01:01 < ehird> or 6g/6l if you have 64-bit
01:01 < Manish_mah> anyone with a nice tutorial on it?
01:01 < ehird> more mature
01:01 < Manish_mah> i use 8g 8l riGHT NOW
01:01 < ehird> Manish_mah: I don't really get the feeling that _anyone_
cares about gccgo :-)
01:01 < Dreamer3_MBP17> do you need gccgo to link to C libraries?
01:01 < ehird> Nope
01:01 -!- Manan [n=truthlim@142.46.164.30] has quit []
01:01 < ehird> You need gc
01:01 < ehird> cgo is gc-only
01:01 < ehird> (It uses gcc, though, but not gccgo)
01:02 < ehird> (In fact it uses both gcc and the Plan 9 C compiler (*c))
01:02 < Manish_mah> but the website says..  golang.org ..  gccgo is the best
compiler u can use...6g..8gg can also be used but dont give u less efficient code
01:02 < ehird> Manish_mah: It's not the best.
01:02 < ehird> It just produces slightly faster code.
01:02 < penguin42> holy fuck - that worked!
01:03 < scyth> engla, so is is it just one thread per CPU core and then
async code withing each thread?
01:03 < ehird> But it compiles and links much much MUCH slower than gc,
doesn't let you interface to C, implements goroutines worse than gc, has no GC...
01:03 <+iant> ehird: wait, gccgo does let you interface to C
01:03 < sladegen> ehird: what does gc mean in the versus gccgo context?
01:03 < ehird> iant: hmm was cgo support added?
01:03 < ehird> sladegen: the (number)g/l tools
01:04 < ehird> sladegen: the name of (number)g collectively is gc, I guess
because it's the g commands, written in C
01:04 <+iant> ehird: it's simpler in gccgo, you can use an asm declaration
on a function declaration to give the C name of the function
01:04 < ehird> sladegen: (number)l is the linker you use with them; from
Plan 9
01:04 <+iant> see the bottom of http://golang.org/doc/gccgo_install.html
01:04 < ehird> the naming convention is from plan 9.  gc is confusing though
01:04 < jlouis> this is perhaps a more idiomatic string reverse:
http://pastie.org/700404 -- I don't know if it is O(n^2) though :/
01:04 < ehird> since gc is the one with the GC :-D
01:04 < Manish_mah> see..i believe abt less efficient code...from 6g or 8g
...so if gccgo is avail y dun we use it ?
01:04 < ehird> iant: super-ugly!
01:04 < ehird> Manish_mah: [01:03] ehird: But it compiles and links much
much MUCH slower than gc, […], implements goroutines worse than gc, has no GC...
01:04 <+iant> it's not that much worse than the cgo dance in practice
01:04 < ehird> Final code speed is not everything.
01:05 -!- jA_cOp [n=yakobu@88.89.34.27] has joined #go-nuts
01:05 -!- fgb [n=fgb@190.246.85.45] has left #go-nuts []
01:05 < Manish_mah> i believe so ...thts of more imp right..
01:05 < penguin42> what was that flag to change the number of threads used?
01:05 < ehird> attention is on gc too
01:05 -!- diltsman [n=diltsman@64.122.18.77] has joined #go-nuts
01:05 < ehird> Manish_mah: (also, could you please use less chatspeak
abbreviations?  it's harder for the rest of us to read...  :))
01:05 < jlouis> penguin42: GOMAXPROCS i believe, but look it up
01:05 < sladegen> ehird: so it's an acronym of "Gee a Compiler!"-)
01:05 < ehird> sladegen: :-D
01:05 < ehird> "Go Compile"
01:05 < sladegen> ahh
01:06 < ehird> no, I backronymmed that
01:06 < Manish_mah> my bad...i will :
01:06 < ehird> although it may be "go compiler"
01:06 < ehird> Manish_mah: thanks :)
01:06 < Manish_mah> :)
01:06 < jlouis> perhaps there is a better implementation of that reverse
with a vector.Vector
01:07 < quag> jlouis: could a for be done over the range of the string?
01:07 < Gracenotes> anyone want mildew-covered muffins from my closet?
01:07 < Gracenotes> they've only been sitting there for a month
01:07 < ehird> Gracenotes: Yes.
01:07 < quag> I think that gets on character at a time
01:07 < penguin42> jlouis: Yeh that works nicely - behold a parallel
mandelbrot :-)
01:07 < ehird> penguin42++
01:07 < jlouis> quag: it is basically what I am doing
01:07 < Gracenotes> well, not sure if it's mildew, but it is a healthy mold
colony nonetheless
01:07 < ehird> outputting to png?
01:07 -!- crossbizz [n=chatzill@c-67-189-144-6.hsd1.ma.comcast.net] has joined
#go-nuts
01:07 < penguin42> ehird: Yep, give me a sec I'll post the code
01:07 * quag awaits the code :)
01:08 < ehird> penguin42: please do!!
01:08 < ehird> i bet it's really short and elegant LIKE ALL GO CODE :P
01:08 -!- oklokok [n=oklopol@a91-153-117-208.elisa-laajakaista.fi] has quit [No
route to host]
01:08 < penguin42> anyone got a pastebin without a load of advertising?
01:08 < ehird> somebody create the IOGCC, quick!
01:08 < ehird> The International Obfuscated Go Code Contest
01:08 < ehird> penguin42: sprunge.us
01:08 < quag> penguin42: http://www.quag.geek.nz/paste/
01:08 < ehird> curl -F 'sprunge=<mandelbrot.c' sprunge.us
01:08 < ehird> erm
01:08 < ehird> *.go
01:08 < quag> a little more minimal than what you might want though :)
01:09 < ehird> sprunge is so minimal it has no web interface :P
01:09 -!- proszbje [n=raulgrel@81.84.215.230] has quit [Connection timed out]
01:09 < rthc> penguin42: vpaste.net, it even supports go for syntax
highlighting
01:09 < quag> Oooo sprunge
01:09 < penguin42> http://www.quag.geek.nz/paste/b134fc0598fe6f20.txt
01:09 < ehird> penguin42: Traitor!
01:09 < ehird> And I tried to show you the true spr—
01:09 < ehird> Hey, those don't look like tabs to me.
01:09 < ehird> Are you sure you ran gofmt?  :{
01:09 < reubens_> am i supposed to do something more than compile blah.go
before i can compile something with import blah "blah" ?
01:10 < ehird> reubens_: use the makefile system
01:10 < penguin42> ehird: Ahem no I hadn't - those are the 2 spaces I
normally write with
01:10 < ehird> http://golang.org/doc/contribute.html#tmp_31
01:10 < ehird> just look at the code snippet
01:10 < ehird> penguin42: go convention is 8-width tabs :)
01:10 < ehird> gofmt mandelbrot.go should do it (won't overwrite; -w for
that)
01:10 < Gracenotes> meeoww
01:11 < oklofok> which of those is the odd line?
01:11 < jlouis> penguin42: I like how easy that was to distribute over
multiple CPUs
01:11 < ehird> go doRow (y, valInRange ( *top
01:11 < ehird> the spacing just keeps increasing :D
01:11 < ehird> but yeah; apart from formatting, very nice code
01:11 < penguin42> jlouis: I'm not convinced using the channel for the join
on all the threads feels that natural
01:11 < ehird> just tried; gofmt works wonders
01:11 < Dreamer3> how can i do powers?
01:11 < Dreamer3> 5**2= 25
01:12 < Dreamer3> or 5^2
01:12 < penguin42> ehird: Yeh I've just done that
01:12 < quag> penguin42: the signaling completion does feel a bit odd
01:12 < ehird> that mandelbrot is nice, could use a higher res and colouring
though :P
01:12 < ehird> ah, there's flags to increase the size
01:13 < penguin42> ehird: Hey the res is a flag - I just did a 5kx5k one
01:13 < penguin42> hmm colouring
01:13 < dho> night all.
01:13 * dho will do more with syscall stuff tomorrow maybe
01:13 < ehird> there's stuff on how to do smooth colouring at
http://en.wikipedia.org/wiki/Mandelbrot_set
01:13 < sladegen> Dreamer3: math.Pow
01:13 < penguin42> if only had more than 2 cores, it's almost enough for me
to go out and buy an i970
01:14 < quag> heh.  "Why did you get an i970?" "Wanted to render Mandelbrot
faster."
01:14 < ehird> >D
01:14 < ehird> *:D
01:15 < ehird> still, very nice core usage
01:15 < ehird> running `./6.out -size=5000 -maxIter=2048 >foo.png`
01:15 < ehird> impressively low memory usage!
01:15 < wimpog> ehird: sorry for stupid question, I get that 6g and others
are called gc, but what do you mean by the plan 9?  The linker 6l and others?
01:15 < penguin42> ehird: before I found the png pacakge I was tempted into
thinking I could make it allocate a line buffer in the doRow and then the memory
usage would be proportional to the number of concurrent threads actually scheduled
01:16 < ehird> wimpog: Yeah — they're ported from the Plan 9 from Bell Labs
OS that the Go team made
01:16 < ehird> (official successor to Unix)
01:16 < wimpog> ehird: I see
01:16 < diltsman> If I have a []byte with valid UTF-8 codes in it, how would
I get a string with that data?  Would I do something like string(bytes)?
01:16 -!- proszbje [n=raulgrel@81.84.215.230] has joined #go-nuts
01:16 -!- proszbje1 [n=raulgrel@81.84.215.230] has quit [Read error: 104
(Connection reset by peer)]
01:16 < ehird> wimpog: It's also the originator of the (number)(letter)
convention for development tools
01:16 < ehird> diltsman: nailed it one
01:16 < wimpog> ehird: which one?  The plan 9?
01:16 < ehird> Plan 9, yes.
01:17 < ehird> A lot of things in Go are Plan 9-esque.
01:17 < penguin42> so, is there a GUI for this thing yet?
01:17 < jlouis> Dreamer3: pkg/math
01:17 < ehird> penguin42: nope :P
01:17 < ehird> bind tk or something, nice and easy
01:17 -!- npe [n=npe@94-224-251-223.access.telenet.be] has quit []
01:17 < penguin42> ehird: Hmm, I saw there was a mention in the video about
a SWIG build - does that exist yet?
01:17 < jlouis> Dreamer3: though you probably need to write your own O(lg n)
int powering function
01:17 < ehird> penguin42: Dunno.
01:17 < ehird> cgo seems simple enough.
01:18 < ehird> You can create a wrapper without defining stuff that's in the
library.
01:18 < wimpog> ehird: I'm reading here that gccgo can link C/C++ programs
compiled in gcc/g++ with a Go program compiled w/gcc
01:18 < ehird> wimpog: You can interface to C code in gc with cgo.
01:18 < wimpog> what's cgo?
01:18 < penguin42> EHIRD: I'm half tempted to pour gtk+ through it
01:19 < ehird> PENGUIN42: ARE YOU OKAY YOU ARE EVIL AND SHOULD FEEL BAD
01:19 < ehird> oops, sorry, caught the caps lock from someone
01:19 < penguin42> ehird: MY SHIFT KEY IS A BIT STICKY
01:19 < ehird> IS IT
01:19 < penguin42> it's an old Model M and I haven't figured out why it
sticks
01:19 < ehird> yay, model ms
01:20 < ehird> almost as good as — on second thoughts, I don't think I need
to spill arguments about keyboard keyswitches into this channel.
01:20 < wimpog> ehird: could you explain in two words how exactly to use cgo
to interface C/C++ progs?
01:20 < jlouis> penguin42: I don't think that drainage is that problematic
01:20 < oklofok> real easily
01:21 < ehird> wimpog: See golang.org P:
01:21 < ehird> *:P
01:21 < jA_cOp> you can't interface with C++ code yet wimpog
01:21 < wimpog> ehird: do you have to setup cgo separately?
01:21 < ehird> wimpog: It's just one command you run
01:21 < olegfink> by the way, when I was about to look in src/cmd for the
first time, I was pretty sure the frontend would be called gg, because c's
frontend is cc
01:21 < ehird> wimpog: Do you have the Makefile system set up?
01:21 -!- ForLoop [n=forloop@87-150-128.netrun.cytanet.com.cy] has quit [Read
error: 104 (Connection reset by peer)]
01:21 -!- theGussi [n=gussi@gussi.is] has joined #go-nuts
01:21 -!- gpurrenhage [n=gpurrenh@141.209.53.85] has quit []
01:21 -!- ForLoop [i=forloop@87-150-128.netrun.cytanet.com.cy] has joined #go-nuts
01:21 < wimpog> ehird: ok...  I do not have makefile, but I can create it
01:22 < jA_cOp> $GOROOT/misc/cgo - two examples on how to use cgo
01:22 < ehird> http://golang.org/cmd/cgo/ here is cgo's docs
01:22 < ehird> wimpog: The easiest way to use cgo is,
01:22 < ehird> http://golang.org/doc/contribute.html#tmp_31
01:22 < ehird> Copy that makefile source into Makefile, change TARG and
GOFILES, and add the cgo-using file into CGOFILES
01:22 < ehird> (remove it from GOFILES)
01:22 < ehird> then it'll call cgo and handle the output for you
01:22 < alphazero_> guys thanks for the links -- got my code packaged
correctly.
01:23 < wimpog> I see
01:23 < ehird> (note: with the makefiles, you can only use cgo with packages
(libraries))
01:23 < ehird> (not commands; I think the point is that you make a wrapper
library and use that in your separate command)
01:23 < ehird> wimpog: it should all become clear after using it :)
01:23 -!- alphazero_ [n=alphazer@ip68-106-96-239.dc.dc.cox.net] has quit []
01:23 < wimpog> ehird: I've been using Go for exactly 5 hours so far :)
01:23 < ehird> yah :)
01:24 -!- roberto__ [i=d9947a35@gateway/web/freenode/x-ljlprqrpcqkpnvvi] has
joined #go-nuts
01:24 < ehird> it's daunting, I think, because it's so simple compared to
the stuff we generally use now
01:24 < wimpog> ehird: yeah
01:24 < ehird> takes some time to sort of stop trying to apply the thinking
needed for complex things
01:24 < ehird> and just "learning" it
01:25 < wimpog> ehird: yes
01:26 < reubens_> am i misreading the makefile stuff or do i have to keep my
code in a subdirectory of $GOROOT/src/pkg/ if i am writing a package?
01:26 -!- Manish_mah_ [n=chatzill@c-67-189-144-6.hsd1.ma.comcast.net] has joined
#go-nuts
01:26 < ehird> reubens_: nope
01:26 < ehird> just put the Makefile you copy from there elsewhere
01:26 -!- Jan_Flanders [n=chatzill@d54C1E33B.access.telenet.be] has quit
["Chatzilla 0.9.75.1 [SeaMonkey 1.1.18/2009082513]"]
01:27 < ehird> if you make a package, and do 'make install', it will go in
$GOROOT/pkg/$GOOS_$GOARCH but that's just where installed packages go for
importing
01:27 -!- Zaba [n=zaba@ip102.148.adsl.wplus.ru] has joined #go-nuts
01:27 < ehird> but yeah, the Makefile works anywhere
01:27 < reubens_> okay, i'll try again
01:27 < reubens_> thanks
01:27 < ehird> the src/ stuff and modifying the other files is just for
contributing stuff to Go itself
01:27 -!- hipe_ [n=hipe@pool-96-250-114-188.nycmny.east.verizon.net] has joined
#go-nuts
01:27 < reubens_> makes sense
01:28 -!- Jan_Flanders [n=chatzill@84.193.227.59] has joined #go-nuts
01:28 -!- RayNbow [i=kirika@scientia.demon.nl] has quit ["When science finally
locates the center of the universe, some people will be surprised to learn they're
not it"]
01:28 -!- wimpog [n=wimpog@pool-151-203-160-148.wma.east.verizon.net] has quit []
01:28 < ehird> i like how the makefiles just run gc on all the files without
bothering with make's dependency-based separate-file compilation
01:28 < ehird> because it's just so fast to compile all of them :)
01:29 -!- delza [n=delza@d66-183-63-49.bchsia.telus.net] has quit []
01:30 -!- diltsman [n=diltsman@64.122.18.77] has quit []
01:30 -!- Zaba_ [n=zaba@about/goats/billygoat/zaba] has quit [Success]
01:31 < delsvr> is import actually an abstraction to the directory/file
structure?
01:31 < ehird> it's pretty much like c's #include as far as resolution goes
01:31 < ehird> looks in $GOROOT/pkg/$GOOS_$GOARCH, then .
01:31 < ehird> the end
01:31 < ehird> the exact file for e.g.  container/vector is
$GOROOT/pkg/$GOOS_$GOARCH/container/vector.a
01:32 < ehird> (.a being a static library)
01:32 < delsvr> what if vector was declared as package newvector
01:32 < ehird> importing would be the same and it'd be called newvector
01:32 < ehird> but the convention is to name a package as its filename
without .go
01:33 -!- Shihan [n=pjr@124-171-2-17.dyn.iinet.net.au] has quit [Remote closed the
connection]
01:33 -!- proszbje [n=raulgrel@81.84.215.230] has quit [Connection timed out]
01:35 -!- itrekkie [n=itrekkie@ip72-200-108-156.tc.ph.cox.net] has quit []
01:35 -!- Gussi [n=gussi@gussi.is] has quit [Connection timed out]
01:35 -!- theGussi is now known as Gussi
01:36 -!- hansstimer [n=hans@98.234.25.125] has joined #go-nuts
01:37 -!- hstimer [n=hans@c-98-234-25-125.hsd1.ca.comcast.net] has quit [Read
error: 104 (Connection reset by peer)]
01:37 -!- timmcd [n=Adium@97-117-100-106.slkc.qwest.net] has joined #go-nuts
01:37 -!- mjard [n=k@70.114.138.168] has quit ["leaving"]
01:38 < bogen> is there an already provided way of doing this: func
repeatedString (r string, n int) (out string) { for i := 0; i < n; i++ { out +=
r }} return; } // I've search through fmt, strings, and strconv, but can't find
one (given a string I want to repeat it the given number of times)
01:38 < ehird> doesn't sound like something we have.
01:40 < bogen> ok, was just wondering.  I don't mind there not being an
existing way, I just prefer not do something in a way where I could have used an
already provided way
01:40 < ehird> we need some more string functions, methink
01:40 < ehird> feel free to submit a patch for that as strings.Repeat
01:40 < engla> bogen: what about using strings.Join with an array of the
same string repeated
01:41 -!- crossbizz [n=chatzill@c-67-189-144-6.hsd1.ma.comcast.net] has quit [Read
error: 110 (Connection timed out)]
01:41 -!- Manish_mah [n=chatzill@c-67-189-144-6.hsd1.ma.comcast.net] has quit
[Read error: 110 (Connection timed out)]
01:41 < engla> honestly that doesn't sound like a general enough function to
warrant a place in the go packages
01:42 < engla> just an opinion though
01:42 < ehird> strings should be a collection of utilities imo
01:42 -!- Zaba_ [n=zaba@about/goats/billygoat/zaba] has joined #go-nuts
01:42 < ehird> I want to repeat a string quite often
01:42 < ehird> especially e.g.
01:42 < ehird> strings.Repeat('\t', indent);
01:42 < ehird> when generating code
01:42 -!- hipe [n=hipe@pool-96-239-40-195.nycmny.east.verizon.net] has quit [Read
error: 110 (Connection timed out)]
01:43 < bogen> yeah, well, generating code is my need for it as well
01:43 -!- Jan_Flanders [n=chatzill@84.193.227.59] has quit ["Chatzilla 0.9.75.1
[SeaMonkey 1.1.18/2009082513]"]
01:44 -!- roberto__ [i=d9947a35@gateway/web/freenode/x-ljlprqrpcqkpnvvi] has quit
["Page closed"]
01:44 -!- dschn [n=dschn@pool-70-19-224-19.bos.east.verizon.net] has quit [Read
error: 145 (Connection timed out)]
01:44 -!- Alkavan [n=igal@77.124.62.58] has joined #go-nuts
01:44 -!- RobertoCatini [i=d9947a35@gateway/web/freenode/x-bkifobfcvpnmhxpk] has
joined #go-nuts
01:45 < timmcd> func Repeat(str string, times int) string {
01:45 < timmcd> var out string;
01:45 < timmcd> for i := 1;i <= times;i++ {
01:45 < timmcd> out += fmt.Sprintf("%s", str);
01:45 < timmcd> }
01:45 < timmcd> return out;
01:45 < timmcd> }
01:45 < timmcd> that would work, right?
01:45 -!- Zaba [n=zaba@about/goats/billygoat/zaba] has quit [Read error: 110
(Connection timed out)]
01:45 < Alkavan> hay, can anyone give me advice for a good code editor for
linux that suites go?
01:45 < ehird> Alkavan: vim
01:46 < timmcd> Alkavan: Emacs!  ^_^
01:46 < timmcd> ehird: Emacs!  ^_^
01:46 < ehird> timmcd: but emacs' philosophy is so unlike go :(
01:46 < ehird> timmcd: you are a bad person
01:46 < timmcd> ehird: :'(
01:46 -!- yoga [n=user@ip-126.58.99.216.dsl-cust.ca.inter.net] has joined #go-nuts
01:46 < Manish_mah_> hey I really like Aquamacs
01:46 < ehird> timmcd: btw, uh, do ) (string out)
01:46 < timmcd> I'll go write depressing poems now, tyvm.  :(
01:46 < dga> func repstring(s string, count int) (ns string) { for i := 0; i
< count; i++ { ns += s } return;
01:46 < ehird> no need to do return out;
01:46 < ehird> or declade it
01:46 < dga> }
01:46 < ehird> *declare it
01:46 < ehird> just name the return var that
01:46 < ehird> yeah, what dga said
01:46 < dga> (forgive the lack of a return in there)
01:46 < ehird> name that Repeat, add return;, run gofmt on it, submit patch
:P
01:47 < ehird> dga: erm you have a return
01:47 < ehird> XD
01:47 < Manish_mah_> AQUAMACS gives a nice interface for Emacs...it has all
the functionality of emacs...and a better UI
01:47 < dga> sorry, i meant formatting.  :)
01:47 < Manish_mah_> try it out
01:47 < timmcd> Manish_mah_: I prefer Carbon Emacs on my mac.
01:47 < dga> my irc client is sometimes a bit aggressive about removing
newlines.
01:47 < penguin42> right, that's my mandelbrot posted to the list - it's
nearly 2am here so time for bed :-)
01:47 < ehird> Aquamacs is just Emacs with some Mac-specific stuff.  "meh"
01:47 < Manish_mah_> ye
01:48 < timmcd> We need a nice bot in here.  So we can pm it some code and
it runs gofmt on it.
01:48 < timmcd> and then posts it in here ;)
01:48 < timmcd> Or just posts it to a pastie for us ;)
01:48 < ehird> timmcd: better, pm a link to code and it sprunge.us's the
gofmtted code
01:48 -!- schultzi [n=schultzi@99-57-244-217.uvs.rcsntx.sbcglobal.net] has joined
#go-nuts
01:48 < yuanxin> timmcd: Write one.  In go.  :)
01:48 -!- qwebirc27579 [i=d9947a35@gateway/web/freenode/x-jwpcelykkodwedrw] has
joined #go-nuts
01:48 -!- qwebirc27579 [i=d9947a35@gateway/web/freenode/x-jwpcelykkodwedrw] has
quit [Client Quit]
01:48 -!- RobertoCatini [i=d9947a35@gateway/web/freenode/x-bkifobfcvpnmhxpk] has
quit [Client Quit]
01:48 < ehird> echo code | gofmt /dev/stdin | curl -F 'sprunge=<-'
http://sprunge.ua
01:48 < timmcd> yuanxin: After I finish my MU* Client ;)
01:48 < ehird> there's all the non-irc stuff done for you.
01:48 < yoga> ehird: the customize files for Aquamacs in different
locations.
01:48 < ehird> *.ys
01:48 < ehird> *.us ffs
01:49 < ehird> well, non-irc and non-http
01:49 -!- RobertoCatini [i=d9947a35@gateway/web/freenode/x-lmvpztbljginjzlm] has
joined #go-nuts
01:49 < yuanxin> timmcd: what in the world is MU* ?
01:49 < ehird> could have it work on inline code only i suppose
01:49 -!- crossbizz [n=chatzill@c-67-189-144-6.hsd1.ma.comcast.net] has joined
#go-nuts
01:49 < ehird> yuanxin: mud/mush
01:49 -!- Tuller [n=Tuller@pool-72-84-246-12.rcmdva.fios.verizon.net] has quit
["to the batcave?"]
01:49 < ehird> i assume
01:49 < ehird> hmm, okay, I'm gonna write this gofmt bot since I need it a
llot
01:49 < ehird> *lot
01:49 -!- RobertoCatini [i=d9947a35@gateway/web/freenode/x-lmvpztbljginjzlm] has
quit [Client Quit]
01:49 < crossbizz> hey people this is Manish_Mah on MAc...  now ..  I am
tryin to run this program..  Unix utility echo(1): which is here
http://golang.org/doc/go_tutorial.html
01:50 < crossbizz> it doesnt give me any output...any ideas on it?
01:50 -!- RobertoCatini [i=d9947a35@gateway/web/freenode/x-oezmaxredlsktslf] has
joined #go-nuts
01:50 -!- triplez [n=triplez@116.14.22.95] has joined #go-nuts
01:51 < dga> did you *actually* want repeat submitted as a strings pkg
addition, ehird?
01:51 < ehird> Sure, why not?
01:51 < ehird> *Repeat so it's public.
01:51 < engla> penguin42: nice, I'll try it
01:51 < ehird> Not my choice to make, but I'd like it in.
01:51 < bogen> ehird: Ok, I'll submit a patch, might be a couple hours
before I get to it though
01:52 < dga> It'll get marked as duplicate.  One sec and it'll be submitted.
01:52 < sladegen> crossbizz: ./echo smth foo bar googa
01:52 < crossbizz> huh?
01:52 < sladegen> or 6.out or 8.out...  whatever arch you are on.
01:52 < bogen> dga: ok, I'll pass then, I'll just way for yours
01:52 < crossbizz> i did...
01:52 < crossbizz> not working
01:52 < bogen> s/way/wait/
01:52 < crossbizz> 8.out
01:53 < crossbizz> ahhh got it..
01:53 < sladegen> you aren't using zsh?
01:54 < crossbizz> its right..it shud print a blank newline..that is what
its doing
01:54 < crossbizz> should*
01:54 < engla> penguin42: it works, at least.  really good!
01:54 -!- Manan [n=truthlim@142.46.164.30] has joined #go-nuts
01:54 -!- RobertoCatini [i=d9947a35@gateway/web/freenode/x-oezmaxredlsktslf] has
quit [Client Quit]
01:55 -!- robcat [i=d9947a35@gateway/web/freenode/x-cfxzbocncpzkmyqd] has joined
#go-nuts
01:55 < dga> but now, now I am confused.  as a non-mercurial user: Is "hg
change" a typo in the "how to contribute" instructions?
01:55 < penguin42> engla: Thanks, anyway time for bed
01:55 < ehird> No
01:55 < ehird> They have a funky codereview extension thing
01:55 < dga> oh.  I see.  hg code-login
01:55 < ehird> I think you have to install it
01:55 -!- triplez [n=triplez@116.14.22.95] has quit [Remote closed the connection]
01:56 -!- robcat [i=d9947a35@gateway/web/freenode/x-cfxzbocncpzkmyqd] has quit
[Client Quit]
01:56 -!- triplez [n=triplez@bb116-14-22-95.singnet.com.sg] has joined #go-nuts
01:56 -!- mjard [n=k@70.114.138.168] has joined #go-nuts
01:56 < Manan> Does anyone here have any experience with andlinux.org?
01:57 -!- esm [n=esm@70-91-101-46-chicago-il.hfc.comcastbusiness.net] has quit
["Quitting"]
01:57 -!- esm [n=esm@70-91-101-46-chicago-il.hfc.comcastbusiness.net] has joined
#go-nuts
01:58 -!- robcat [i=d9947a35@gateway/web/freenode/x-dvwkkxqwwayqasjn] has joined
#go-nuts
01:58 -!- penguin42 [n=dg@tu006.demon.co.uk] has quit [Read error: 60 (Operation
timed out)]
01:58 -!- dschn [n=dschn@pool-70-19-224-19.bos.east.verizon.net] has joined
#go-nuts
01:58 -!- leitaox [n=leitaox@187.88.10.198] has quit [Client Quit]
01:59 < ehird> hmm, err, is there a convenient inline syntax for an array?
02:00 < dga> change uploaded, ehird, bogen.
02:01 -!- Kniht [n=kniht@c-68-58-17-177.hsd1.in.comcast.net] has quit [Connection
timed out]
02:01 < ehird> http://codereview.appspot.com/155063/show
02:01 < ehird> dga: issues I can see: "count copies of string s" should be
"ccount copies of the string s."
02:01 < ehird> that's, uh, it
02:01 -!- Null-A [n=jason@65-119-47-100.dia.static.qwest.net] has quit []
02:02 < bogen> dga: thanks.  I need to start running out of my own checkout,
I've been using someone else's install package and just updating often
02:02 < dga> one bug for a 7 line change sounds about on par.  :)
02:02 < dga> Is there a recommended set of reviewers other than Russ, btw?
02:02 < ehird> 1 bug / 7 lines seems to be a good general rule with software
02:02 < ehird> dga: btw you can upload an amended change quite easily
02:03 -!- schultzi [n=schultzi@99-57-244-217.uvs.rcsntx.sbcglobal.net] has quit []
02:03 -!- eduardoboss [n=eduardo@189.114.206.57.dynamic.adsl.gvt.net.br] has
joined #go-nuts
02:03 -!- Null-A [n=jason@65-119-47-100.dia.static.qwest.net] has joined #go-nuts
02:05 -!- clip9 [i=tj@12.81-166-62.customer.lyse.net] has quit [Remote closed the
connection]
02:06 < dga> done, ehird.
02:07 < ehird> http://codereview.appspot.com/155063/diff2/1:1001/5
02:07 < ehird> forgot the .
02:07 < ehird> (sorry, anal I know, but I think rsc would be the same :P)
02:08 < dga> No, no, you're right - the other comments are all
period-terminated.  mea culpa.
02:08 < dga> (and thank you.  :)
02:08 < Dreamer3> can you append items to a slice?
02:09 -!- proszbje [n=raulgrel@81.84.215.230] has joined #go-nuts
02:09 < dga> If it has space.  See the "Effective Go" for an example of an
Append function.
02:09 < ehird> what's the var for GOROOT?
02:09 < ehird> it's in some package
02:10 < Dreamer3> hmmm
02:10 < Dreamer3> so if i don't need to incrase beyond capacity i just get a
bigger slice than the current size?
02:10 < Dreamer3> slice[0:len(slice)+1]
02:10 < Dreamer3> and then set slice[len(slice)] ?
02:11 < dga> your slice of the underlying storage array becomes larger.
02:11 < jlouis> ehird, dga: Test cases mayhaps?
02:11 < ehird> jlouis: It'd be pretty hard to mess up such a tiny function
:-P
02:11 -!- askhader [n=askhader@taurine.csclub.uwaterloo.ca] has joined #go-nuts
02:11 < jlouis> ehird: indeed it looks right here
02:12 < dga> though, in fairness, there's a test for every function already.
seems appropriate to add one.  <goes back to his editor>
02:12 -!- Manan [n=truthlim@142.46.164.30] has quit []
02:12 < dga> my academic roots are showing.  too quick to call it done.  :)
02:13 < Dreamer3> hmmm
02:14 < ehird> ugh
02:14 < Dreamer3> how do i create a new slice?
02:14 < ehird> exec.Run(Getenv("GOROOT") + "/gofmt"
02:14 < ehird> how ugly :P
02:14 < ehird> *os.Getenv
02:14 -!- Null-A [n=jason@65-119-47-100.dia.static.qwest.net] has quit []
02:14 -!- crakrjak [n=merc@rrcs-70-62-156-154.central.biz.rr.com] has quit [Client
Quit]
02:14 < ehird> oops, forgot /bin/
02:14 < ehird> wait
02:14 < engla> Dreamer3: make([]byte, 10)
02:14 < ehird> I could just use GOBIN, heh
02:15 -!- Null-A [n=jason@65-119-47-100.dia.static.qwest.net] has joined #go-nuts
02:15 < ehird> ehh
02:15 < ehird> io.ReadAll doesn't work on an exec.Cmd?
02:15 < ehird> seems to hang
02:15 < engla> ehird: doesn't exec.Run find the program in $PATH?
02:15 < ehird> engla: Seems not.
02:16 -!- hstimer [n=hans@c-98-234-25-125.hsd1.ca.comcast.net] has joined #go-nuts
02:16 < engla> ok
02:16 -!- hansstimer [n=hans@98.234.25.125] has quit [Read error: 131 (Connection
reset by peer)]
02:16 < engla> ehird: :-) I found exec.LookPath
02:16 -!- eduardoboss [n=eduardo@189.114.206.57.dynamic.adsl.gvt.net.br] has quit
[Remote closed the connection]
02:16 < ehird> Oh, of course.
02:16 < Dreamer3_MBP17> anything like slice.include?(34)
02:16 < Dreamer3_MBP17> not sure what pkg i should look in
02:17 < engla> Dreamer3_MBP17: what are you trying to do
02:17 < Dreamer3_MBP17> build up a small array of primes
02:17 < jA_cOp> I get this error for the first instance of me trying to call
a method on my Client object: test.go:14: implicit assignment of irc.Client field
'cbs'
02:17 < ehird> writing
02:17 < ehird> if err != nil {
02:17 < ehird> errs = err.String();
02:17 < ehird> return;
02:17 < ehird> }
02:17 < ehird> a lot is distressing
02:18 < jA_cOp> what does the error mean?
02:19 < engla> Dreamer3_MBP17: you want to grow a slice?
02:19 < ehird> Dreamer3_MBP17: use a Vector.
02:19 < Dreamer3_MBP17> let me try this with slices first :)
02:19 < Dreamer3_MBP17> i'm just trying to learn
02:19 < Dreamer3_MBP17> then i'll look at Vector
02:19 < ehird> not the proper use of slices.
02:19 < Dreamer3_MBP17> well
02:19 < Dreamer3_MBP17> i'm not growing it
02:19 < Dreamer3_MBP17> i'm caching the first 100 primes
02:19 < Dreamer3_MBP17> so it's 100 length slice
02:20 -!- loureiro [n=loureiro@201008201196.user.veloxzone.com.br] has joined
#go-nuts
02:21 < sladegen> if i understand correctly slices are a sort of views on
arrays, only.
02:21 < Dreamer3_MBP17> primes := make([]int, 100);
02:21 < Dreamer3_MBP17> hmmm
02:21 < Dreamer3_MBP17> is that wrong?
02:21 < timmcd> var out string;
02:21 < timmcd> for {
02:21 < timmcd> ...
02:21 < timmcd> out += ...
02:21 < timmcd> …
02:21 < timmcd> out := "";
02:21 < timmcd> }
02:21 < engla> why do you think it is wrong?
02:21 < timmcd> When I try to reset out to basically empty, I get 'out
declared and not used' on the line I try to reset it… what's going on?
02:21 < mitchellh1> timmcd: Use pastebin please
02:21 < timmcd> mitchellh1: K, sorry.
02:21 < gnuvince> Is it possible to use gotest outside $GOROOT?  I have a
small project in my ~/programming/go/ directory, but I can't call gotest on
cribbage_test.go?
02:21 < eno> Dreamer3_MBP17: you can re-allocate and copy slice
02:22 < engla> timmcd: := makes a new variable
02:22 < timmcd> Oh yeah!
02:22 < eno> see Effective Go, slices, Append
02:22 < timmcd> Thanks, engla >_<
02:22 < timmcd> silly mistake
02:22 < Dreamer3_MBP17> i'm not getting why this wrong
02:22 < eno> Dreamer3_MBP17: what's the error message?
02:23 < Dreamer3_MBP17> problem7.go:11: syntax error near primes
02:23 < Dreamer3_MBP17> primes := make([]int, 100);
02:23 < eno> what's the previous line?
02:23 < Dreamer3_MBP17> just a normal import
02:23 < Dreamer3_MBP17> copied from all my other programs
02:23 < engla> ah, you can't use := at global scope
02:23 < eno> := can only be used in function
02:23 < Dreamer3_MBP17> hmm
02:24 < ehird> okay, I have a function func formatSnippet(code string)
(formatted, errs string)
02:24 < ehird> works nicely
02:24 < ehird> now to wrap IRC around it
02:24 < dga> okay.  Test cases added for strings.Repeat.  Comments on the
testcases?  :-)
02:24 < eno> you want to write most stuff in functions anyway
02:24 < ehird> or, actually, I should put that in another file
02:24 < Dreamer3_MBP17> hmmm
02:24 < Dreamer3_MBP17> so i should be able to do var primes []int; right?
02:24 < Dreamer3_MBP17> or does that not work either?
02:24 < dga> ponder.  not uploaded.  one sec.
02:24 -!- clip9 [i=tj@12.81-166-62.customer.lyse.net] has joined #go-nuts
02:25 -!- diltsman_ [n=diltsman@64.122.18.77] has joined #go-nuts
02:25 < eno> Dreamer3_MBP17: that declaration should work
02:25 < Dreamer3_MBP17> hmmm
02:25 -!- slicslak_ [n=slicslac@c-68-50-207-133.hsd1.dc.comcast.net] has quit
["Leaving"]
02:25 -!- proszbje [n=raulgrel@81.84.215.230] has quit [Connection timed out]
02:26 < Dreamer3_MBP17> obviously i still don't get it
02:26 -!- clip9 [i=tj@12.81-166-62.customer.lyse.net] has left #go-nuts []
02:26 < Dreamer3_MBP17> var primes [100]int;
02:26 < Dreamer3_MBP17> primes=primes[0:1];
02:26 < Dreamer3_MBP17> primes[0]=2;
02:26 -!- yuanxin [n=uman@uawifi-nat-210-16.arizona.edu] has quit ["leaving"]
02:26 < Dreamer3_MBP17> error on 2nd line
02:26 -!- clip9 [i=tj@12.81-166-62.customer.lyse.net] has joined #go-nuts
02:27 < engla> ok, why don't you tell the error?
02:27 < Dreamer3_MBP17> same error as before
02:27 -!- Manan [n=truthlim@142.46.164.30] has joined #go-nuts
02:27 < Dreamer3_MBP17> "syntax error new primes"
02:27 -!- proszbje [n=raulgrel@81.84.215.230] has joined #go-nuts
02:27 < engla> primes[0:1] creates a new slice from an array
02:27 < eno> you're assigning a slice to an array
02:27 < dga> Ah.There we go.  Testcases uploaded in rev 5.  :)
02:28 < Dreamer3_MBP17> hmmm
02:28 < Dreamer3_MBP17> var prime_storage [100]int;
02:28 < Dreamer3_MBP17> var primes slice;
02:28 < Dreamer3_MBP17> primes=prime_storage[0:1];
02:28 < Dreamer3_MBP17> last line, same error
02:28 -!- uman [n=uman@unaffiliated/uman] has joined #go-nuts
02:29 < engla> cripes, slice is not a type
02:29 < engla> []int is
02:29 < dga> Dreamer: var primes []int;
02:29 < Dreamer3_MBP17> ok
02:29 < Dreamer3_MBP17> hmmm
02:29 -!- uman [n=uman@unaffiliated/uman] has quit [Client Quit]
02:29 < Dreamer3_MBP17> [] denotes a slice and [int] detones an array?
02:29 -!- jgarbers-home [n=jgarbers@c-98-192-80-139.hsd1.ga.comcast.net] has
joined #go-nuts
02:29 < eno> yes
02:29 < Dreamer3_MBP17> same error with var primes []int;
02:30 < Dreamer3_MBP17> on last line
02:30 < eno> what are you trying to do?
02:30 < Dreamer3_MBP17> setup simple storage for some prime numbers
02:30 < Dreamer3_MBP17> that starts a size 1 and i add to it later
02:30 < Dreamer3_MBP17> i'm trying to initialize it
02:30 < Dreamer3_MBP17> var prime_storage [100]int;
02:30 < Dreamer3_MBP17> var primes []int;
02:30 < Dreamer3_MBP17> primes=prime_storage[0:1];
02:30 < Dreamer3_MBP17> primes[0]=2;
02:30 < Dreamer3_MBP17> is that i'm trying to do
02:30 < hstimer> How would the Go Gods feel about making a newline terminate
a statement?
02:30 < Dreamer3_MBP17> *what
02:31 -!- Tuller [n=Tuller@pool-72-84-246-12.rcmdva.fios.verizon.net] has joined
#go-nuts
02:31 < hstimer> Semicolon could still be used when multiple statements are
on a single line
02:32 < timmcd> http://github.com/timmcd/GoClient/tree/mydev
02:32 < timmcd> Can anyone look at my goclient.go and help me out?
02:32 < Garibaldi> hstimer: what if a line is long and I want to break it
across multiple lines?
02:32 < timmcd> For some reason unknown to me, it's cutting off the last
line from the MU.
02:32 < timmcd> *MUD
02:32 < Dreamer3_MBP17> anyone?
02:32 < devyn> timmcd: HI!
02:32 < timmcd> devyn: =D
02:32 < engla> hstimer: and adding line continuation inside ()
02:32 -!- uman [n=uman@unaffiliated/uman] has joined #go-nuts
02:33 -!- brunov [n=bruno@190.191.110.64] has joined #go-nuts
02:33 < engla> Garibaldi: do like in python, enclose in ()
02:33 < engla> Garibaldi: for example x = (2 + 3 + \newline_here 5)
02:33 < hstimer> seems like other "modern" languages have worked that out
02:33 < Dreamer3_MBP17> grrr
02:33 < devyn> hstimer: Yeah, I think newline-terminators are good.
Semicolons should act as terminators too.
02:34 -!- yuanxin [n=uman@uawifi-nat-210-16.arizona.edu] has joined #go-nuts
02:34 < hstimer> cool.  We have voted and decided.  Newline terminates and ;
is optional
02:34 < Garibaldi> x = (foo(x, y, \newline_here z)) ?
02:34 -!- jimi_hendrix [n=jimi_hen@unaffiliated/jimihendrix] has joined #go-nuts
02:34 < engla> Garibaldi: you already have one set of () for the function
call
02:34 < jimi_hendrix> wow, didnt think it would be this big
02:34 < uman> ugh
02:34 < Garibaldi> ah, I see
02:34 < Garibaldi> ok, I'll buy in
02:34 < jimi_hendrix> is there a vim plugin or something for syntax
highlighting
02:35 < hstimer> Garibaldi: the go formater probably wont let you do that
;-)
02:35 < yuanxin> jimi_hendrix: $GOROOT/misc/vim
02:35 < jimi_hendrix> ooooh
02:35 < Garibaldi> meh, go formatter uses tabs too
02:35 * bogen likes break label; // (Although it is just a glorified goto)
02:35 < jA_cOp> I have a gtksourceview highlighter if anyone uses gedit and
the likes :P
02:36 -!- jharrys [n=de043124@c-71-195-253-55.hsd1.ut.comcast.net] has joined
#go-nuts
02:36 < jimi_hendrix> and which compiler would i use, gccgo or the other one
02:36 < hstimer> Garibaldi: how would you feel about \ to continue a
statement?
02:36 < dga> use gc (8g, 6g, etc)
02:36 < engla> jimi_hendrix: only gccgo if you must.  compiling it is a pain
02:36 < jimi_hendrix> ok
02:36 < Garibaldi> hstimer: might be okay too
02:37 < jimi_hendrix> oh, and does go support C libs?
02:37 < jimi_hendrix> in some way
02:37 -!- K6HX [n=markv@c-76-126-161-201.hsd1.ca.comcast.net] has joined #go-nuts
02:37 < Ycros> jimi_hendrix: yes, look in misc/cgo/
02:37 < jimi_hendrix> ah, a friend was wondering
02:38 -!- stockwellb [n=stockwel@72.8.30.114] has joined #go-nuts
02:38 < kuroneko> just note, cgo is a bit...  quirky
02:38 -!- gofmt [n=gofmt@91.105.112.3] has joined #go-nuts
02:38 < ehird> gofmt: test
02:38 < ehird> aww.
02:38 < Dreamer3_MBP17> so anyone know why my array, slice stuff isnt'
working?
02:39 < kuroneko> if you're getting errors during a cgo compile, it could
easily be cgo, rather than your code that's the problem
02:39 < Ycros> yeah, keep an eye on cgo in the issue tracker
02:39 -!- gofmt [n=gofmt@91.105.112.3] has quit [Remote closed the connection]
02:39 -!- gofmt [n=gofmt@91.105.112.3] has joined #go-nuts
02:39 < ehird> gofmt: yo
02:39 < ehird> Hoorah.
02:40 < ehird> This lil' thing should be running quite soon.
02:40 < ehird> Does the http package support making http requests?
02:40 -!- QV [n=viosys@67-23-1-17.static.slicehost.net] has joined #go-nuts
02:41 < timmcd> Are there any pastebin sorta tools with simple http URLs to
make a post?
02:41 < jimi_hendrix> oh and last question, i think
02:41 < jimi_hendrix> do i need to keep those environment variables after
the build?
02:42 < eno> Dreamer3_MBP17: put the assignment in function
02:42 -!- uman [n=uman@unaffiliated/uman] has quit ["Bye everyone!"]
02:42 < yuanxin> jimi_hendrix: yes.
02:42 < ehird> timmcd: Yes!
02:42 -!- sdier [n=sdier@faraway.dier.name] has joined #go-nuts
02:42 -!- jgarbers-home [n=jgarbers@c-98-192-80-139.hsd1.ga.comcast.net] has left
#go-nuts []
02:42 < ehird> timmcd: http://sprunge.us/
02:42 < Ycros> ehird: http.Get http.Post ?
02:42 -!- proszbje1 [n=raulgrel@81.84.215.230] has joined #go-nuts
02:42 < ehird> timmcd: Are you writing the gofmt bot?  cuz I'm doing that :P
02:42 < Dreamer3_MBP17> eno: hmmmm so have an init() function and then call
that?
02:42 < quag> timmcd: ehird likes sprunge :)
02:42 < Dreamer3_MBP17> from man?
02:42 -!- ginkgo [n=ginkgo@chello084113198244.17.14.vie.surfer.at] has quit
[Remote closed the connection]
02:42 < Dreamer3_MBP17> main
02:42 < ehird> i do :D
02:43 < quag> ehird: a gofmt go paste bin could be interesting
02:43 < ehird> Ycros: thanks
02:43 < ehird> quag: what I'm doing is, say "gofmt: code"
02:43 < ehird> and it'll give you a sprunge us to the gofmt'd code
02:43 < eno> you can do that, at least it does not like free standing
assignments
02:43 < ehird> later on, perhaps gofmt: url so you can do longer things
02:43 < eno> i guess you can have "var name type = some expression"
02:44 -!- Popog [n=Adium@pool-71-121-200-233.sttlwa.dsl-w.verizon.net] has quit
["Leaving."]
02:44 < eno> for anything more complicated, you better use some func
02:44 -!- proszbje [n=raulgrel@81.84.215.230] has quit [Connection timed out]
02:45 < devyn> ehird: lol, we were just talking about that :D (gofmt bot)
02:45 < eno> i'd reduce global anyway
02:45 < ehird> devyn: that's what inspired me :P
02:46 < jimi_hendrix> why is ed required?!
02:46 < Dreamer3_MBP17> hmmm
02:46 < devyn> ehird: Hmm, why not use a pastebin with Go syntax
highlighting?
02:46 < ehird> devyn: because none exist.
02:46 < Dreamer3_MBP17> problem7.go:22: undefined: init
02:46 < ehird> devyn: I would love to make one, but not now.
02:46 < Dreamer3_MBP17> but i defined it just above main
02:46 < devyn> ehird: lol
02:46 < jimi_hendrix> i love how fast go is growing
02:46 < Manan> woohoo, finally installed Go.
02:46 < quag> ehird: sprunge has syntax highlighting
02:46 < ehird> quag: not for go.
02:46 -!- gofmt [n=gofmt@91.105.112.3] has quit [Remote closed the connection]
02:46 < devyn> jimi_hendrix: That's the magic of Google.
02:47 < quag> when go is added to http://pygments.org/docs/lexers/ it will
:)
02:47 < jimi_hendrix> devyn, i know
02:47 < eno> Dreamer3_MBP17: pastebin your program
02:47 < Dreamer3_MBP17> grrrrrrrr
02:48 < robcat> http://gopaste.org/ (some problems with multiline comments)
02:48 < Dreamer3_MBP17> http://pastie.org/700487
02:48 < Dreamer3_MBP17> line 22
02:48 -!- gofmt [n=gofmt@91.105.112.3] has joined #go-nuts
02:48 -!- ehird [n=ehird@91.105.112.3] has left #go-nuts []
02:48 -!- ehird [n=ehird@91.105.112.3] has joined #go-nuts
02:48 < ehird> whoever said gopaste.org
02:48 < ehird> make it make my eyes bleed less and easily accessible via
http
02:48 < jimi_hendrix> how long does compile take?
02:48 < ehird> and you have a deal
02:48 < jimi_hendrix> for the compiler
02:48 < ehird> gofmt: aaa
02:48 < gofmt> ehird: ofmt: aaa
02:48 < ehird> wat
02:48 < timmcd> does sprunge.us support go for highlighting?
02:48 -!- gofmt [n=gofmt@91.105.112.3] has quit [Remote closed the connection]
02:49 < Dreamer3_MBP17> pastie.org will support go hilighting soon :)
02:49 < ehird> no
02:49 < Dreamer3_MBP17> soon as i figure out this program maybe :)
02:49 < timmcd> coolio
02:49 < ehird> pastie is too bloated ui for me :{
02:49 -!- gofmt [n=gofmt@91.105.112.3] has joined #go-nuts
02:49 < ehird> and requires some javascript stuff to automate
02:49 < Dreamer3_MBP17> hahahaha
02:49 < Dreamer3_MBP17> whatever
02:49 < ehird> gofmt: aaa
02:49 < gofmt> ehird: aaa
02:49 < ehird> gofmt: <3 :a
02:49 < gofmt> ehird: <3 :a
02:49 < ehird> Hooray!
02:49 -!- gofmt [n=gofmt@91.105.112.3] has quit [Remote closed the connection]
02:49 < Dreamer3_MBP17> so anyone know what is wrong with my init func?
02:49 < ehird> main.init is some internal thing i think
02:50 < Manan> oh shoot, go didn't install properly Q_Q
02:50 < Dreamer3_MBP17> ok
02:50 < Dreamer3_MBP17> inits works better
02:50 < Dreamer3_MBP17> :)
02:50 < Dreamer3_MBP17> lets try this
02:50 < Manan> back to trouble-shooting this...
02:51 < timmcd> gofmt: test
02:51 < ehird> I ^C'd it
02:51 < ehird> just a sec
02:51 < timmcd> Ehird: If you are still working on the bot...
02:52 < ehird> It is almost ready.
02:52 < timmcd> ehird: How are you going to make it work?
02:52 < ehird> Just have to add the quick sprunge paste and it'll be done.
02:52 < ehird> timmcd: Whadya mean
02:52 < timmcd> ehird: You supply it code in a pm, and it gofmt and psrunges
it, then gives you a link?
02:52 -!- gofmt [n=gofmt@91.105.112.3] has joined #go-nuts
02:52 < ehird> gofmt: invalid(
02:52 < gofmt> ehird: /dev/stdin:2:1: expected declaration, found 'IDENT'
invalid
02:52 < gofmt> ehird:
02:52 < ehird> timmcd: in channel actually
02:52 -!- kizzo [n=kizzo@c-24-6-50-117.hsd1.ca.comcast.net] has quit ["leaving"]
02:52 -!- Popog [n=Adium@pool-71-121-200-233.sttlwa.dsl-w.verizon.net] has joined
#go-nuts
02:52 < timmcd> gofmt: test
02:52 < gofmt> timmcd: /dev/stdin:2:1: expected declaration, found 'IDENT'
test
02:52 < gofmt> timmcd:
02:52 -!- gofmt [n=gofmt@91.105.112.3] has quit [Remote closed the connection]
02:52 < ehird> fixing that extra line
02:52 < timmcd> uh oh, error ehird.  :)
02:52 -!- gofmt [n=gofmt@91.105.112.3] has joined #go-nuts
02:53 -!- Popog [n=Adium@pool-71-121-200-233.sttlwa.dsl-w.verizon.net] has quit
[Client Quit]
02:53 < ehird> gofmt: func foo() {return 42;}
02:53 < devyn> gofmt: package main
02:53 < gofmt> devyn: /dev/stdin:2:1: expected declaration, found 'package'
02:53 < Ycros> ehird: yeaaaaah, you could test it in another channel
02:53 -!- kizzo [n=kizzo@24.6.50.117] has joined #go-nuts
02:53 < ehird> (already handled package for you)
02:53 < ehird> Ycros: well yeah, almost done though :P
02:53 -!- gofmt [n=gofmt@91.105.112.3] has quit [Remote closed the connection]
02:53 < devyn> gofmt: package main; func main() {}
02:53 < devyn> aww
02:53 < devyn> :D
02:53 < engla> ehird: /query
02:53 < timmcd> gofmt: func foo() {return 4 + 2}
02:53 < Manan> install attempt #3
02:53 < ehird> engla: only listens on the channel :P
02:53 < devyn> timmcd: he just took it down :D
02:53 -!- proszbje1 [n=raulgrel@81.84.215.230] has quit [Read error: 60 (Operation
timed out)]
02:53 < timmcd> I saw :(
02:53 < engla> ehird: so fix it
02:53 < ehird> meh
02:54 < ehird> if you can open a query you can run gofmt locally
02:54 < Ycros> hmm, there's no dynamc loading stuff in go at the moment, is
there
02:54 < devyn> Ycros: as in loading a program from a file?
02:54 -!- drusepth [n=drusepth@70.250.208.129] has joined #go-nuts
02:55 < Ycros> devyn: as in, something like dlopen
02:55 < devyn> Ycros: ahh, no, I don't think so.  but there probably will be
02:55 < Ycros> or say, Haskell's hs-plugins package
02:55 -!- drusepth` [n=drusepth@ppp-70-250-208-129.dsl.spfdmo.swbell.net] has
joined #go-nuts
02:55 < Ycros> because it'd be neat to have an IRC bot written in Go with
dynamically loadable/reloadable modules
02:56 < Ycros> then ehird wouldn't have to keep restarting t
02:56 < Ycros> it
02:56 -!- devyn [n=devyn@S01060013d4130071.vc.shawcable.net] has left #go-nuts []
02:56 < timmcd> http://sprunge.us/dWEa?go
02:56 < timmcd> sorry, mispost
02:56 < ehird> Doesn't highlight
02:56 < timmcd> just a test ;)
02:56 -!- nacmartin [n=a@wikipedia/chabacano] has quit ["Ex-Chat"]
02:56 < ehird> timmcd: stop racing me :P
02:56 < timmcd> lol I'm not, I was just writing an alias for my mac
02:56 < timmcd> so that It auto copies the link to my pasteboard =D
02:57 < timmcd> gofmt test.go | sprunge
02:57 < timmcd> tis what i do ^_^
02:57 -!- timmcd [n=Adium@97-117-100-106.slkc.qwest.net] has quit ["Leaving."]
02:57 -!- mizai [n=mizai@rhou-164-107-213-187.resnet.ohio-state.edu] has quit
[Read error: 110 (Connection timed out)]
02:57 < Ycros> I should add gofmt to my emacs keybind
02:58 < clip9> meh..  just do :%!gofmt
02:58 < clip9> ;)
02:58 -!- hipe_ [n=hipe@pool-96-250-114-188.nycmny.east.verizon.net] has quit
[Remote closed the connection]
02:58 < engla> Someone is working on http://gopaste.org/ -- pastebin with
gofmt, seems to work fine
02:58 < alexsuraci> that'd be me :)
02:58 < alexsuraci> tweaking it as we speak
02:59 < engla> ah nice
02:59 -!- evanrmurphy [n=erm@pool-74-98-44-189.pitbpa.east.verizon.net] has quit
[]
02:59 -!- blankthemuffin [n=josh@116.250.39.225] has quit [Read error: 104
(Connection reset by peer)]
02:59 < alexsuraci> just got multiline comments working a few minutes ago,
hah
03:00 -!- mizai [n=mizai@164.107.141.220] has joined #go-nuts
03:00 < ehird> Let's see about this!
03:00 -!- gofmt [n=gofmt@91.105.112.3] has joined #go-nuts
03:01 < ehird> gofmt: foo
03:01 < gofmt> ehird: /dev/stdin:2:1: expected declaration, found 'IDENT'
foo
03:01 < ehird> gofmt: func foo() int {return 42;}
03:01 -!- gofmt [n=gofmt@91.105.112.3] has quit [Remote closed the connection]
03:01 < ehird> ...
03:01 < ehird> Wow.
03:01 < uriel> engla: wow, gopaste!  I was thinking of doing precisely that!
03:01 -!- shambler [i=kingrat@mm-243-194-84-93.dynamic.pppoe.mgts.by] has quit
["What you have been is not on boats."]
03:01 < engla> alexsuraci: ^
03:01 < ehird> gopaste seems cool, pretty ugly though
03:01 < Amaranth> Who is making a bot that runs go code?
03:01 < alexsuraci> uriel: the source is at http://github.com/vito/go-play
if you're interested
03:01 < Ycros> clip9: I have C-c C-c in go-mode doing a save, gofmt, make
03:01 < ehird> and it needs a more convenient way to post via http
03:02 < ehird> Amaranth: Gracenotes
03:02 < alexsuraci> ehird: it's pretty spartan at the moment, adding things
and refining it as I go along
03:02 -!- gofmt [n=gofmt@91.105.112.3] has joined #go-nuts
03:02 < ehird> alexsuraci: if I gave you a CSS file would you use it?  :P
03:02 < alexsuraci> code display was my #1 priority but now that's settling
down
03:02 < ehird> gofmt: func foo() int {return 42;}
03:02 < gofmt> ehird:
03:02 < ehird> mehh
03:02 -!- gofmt [n=gofmt@91.105.112.3] has quit [Remote closed the connection]
03:02 < Amaranth> I think I'm going to have fun with syscalls
03:02 < Gracenotes> Amaranth: hey
03:02 < Amaranth> hehe
03:02 < ehird> alexsuraci: also, is having /f89u instead of
/view?paste=dsf98yw4589yaer9t8uer too much to ask?
03:02 < Ycros> ehird: I don't think you can usefully format a single line of
code
03:03 < Gracenotes> Amaranth: I've been using syscalls myself.  two of them.
03:03 < ehird> Ycros: true.
03:03 < Gracenotes> Amaranth: are you also writing such a bot?
03:03 < Amaranth> Gracenotes: I meant making your bot use them :)
03:03 < alexsuraci> ehird: once I figure out http url routing some more,
sure
03:03 < Ycros> ehird: gofmt is already picky about syntactically correct
files
03:03 -!- drusepth [n=drusepth@70.250.208.129] has quit [Read error: 145
(Connection timed out)]
03:03 < Gracenotes> Amaranth: oh, sure :) I just kill processes and set
resource limits.
03:03 < alexsuraci> ehird: this is all written in Go so I'm sort of limited
to what's currently available unless I want to really go hardcore with this :P
03:04 -!- blankthemuffin [n=josh@116.250.39.225] has joined #go-nuts
03:04 < Gracenotes> I'd be working on it right now, but I have homework that
is unconditionally due in 2 hours
03:04 < Amaranth> Gracenotes: Exactly, kill processes :)
03:04 < alexsuraci> ehird: as for css stuff, I wouldn't mind adding a
selector of some sorts
03:04 < uriel> alexsuraci: cool
03:04 < ehird> alexsuraci: i just mean in general design
03:04 < Amaranth> Oh, ehird is running gofmt
03:04 < Gracenotes> Amaranth: it is a very simple, easy-to-use, and powerful
design.  exactly why I won't import that module for my bot, heh.
03:04 -!- arieru [n=arieru@190.3.74.225] has joined #go-nuts
03:04 < ehird> I was, alexsuraci just obsoleted it though
03:05 < uriel> alexsuraci: there is an issue with getting a warning from
firefox when you submit the form
03:05 -!- diltsman_ [n=diltsman@64.122.18.77] has quit []
03:05 < alexsuraci> uriel: what does it say?
03:05 < clip9> alexsuraci: Isen you use template instead of manually
building the html?
03:05 < uriel> that you are getting redirected and if you want to pass on
the form contents, or something like that..
03:05 < clip9> ergh
03:06 < Amaranth> ok so readRequest is getting the CONNECT call...
03:06 < alexsuraci> clip9: I use my own little toy library, mixed with
template, yes
03:06 < clip9> irssi is messing with me
03:06 < Amaranth> err, serve is
03:06 < clip9> ah..  ok
03:06 < alexsuraci> uriel: ah, I see it.
03:07 < alexsuraci> yeah, the redirect is a bit fickle, I had to do some
underhanded stuff to get it going' not sure why.  something I'm still looking at.
03:07 < jA_cOp> ah this is making me nuts, any attempt to use a struct
returned from another package results in the compile error "implicit assignment of
X field Y"
03:07 < jA_cOp> where X is the struct type name
03:07 < uriel> alexsuraci: are you running the go web server?
03:07 -!- bentley` [n=bentley`@97-119-172-118.albq.qwest.net] has quit [Read
error: 113 (No route to host)]
03:07 < uriel> or you are using some kind of front end?
03:07 < alexsuraci> uriel: I'm just using the http package
03:07 < uriel> cool
03:08 < jA_cOp> Has anyone else encountered this error?
03:08 < uriel> alexsuraci: when you feel that it is ready, please post it to
http://reddit.com/r/golang
03:08 < ehird> uriel: goblin looks very interesting btw, anything done on
that yet or just ideas?
03:08 < alexsuraci> uriel: will do
03:08 < blankthemuffin> a go web server already?
03:08 < blankthemuffin> heh
03:08 < ehird> um it's in the stdlib
03:08 < ehird> and golang.org runs on it
03:09 < uriel> ehird: been too busy with other projects, hope to sit down
and start hacking on that soon, patches are welcome ;)
03:09 < uriel> (nice thing about goblin is that it is easy to split up the
task :))
03:10 < ehird> uriel: one problem i forsee you having is that getting a char
or a line from stdin is a bit of a bitch (need a bufio.Reader)
03:10 < ehird> maybe want to write a teeny tiny pkg for that
03:10 < ehird> uriel: btw will it include mount and stuff or just "non-os"
utils?
03:12 < ehird> uriel: (I'm interested primarily because I'm making a little
uber-simple linux distro with some plan 9 influences...  and there are not many
coreutils alternatives out there with good design)
03:12 -!- diltsman_ [n=diltsman@64.122.18.77] has joined #go-nuts
03:14 < uriel> ehird: well, for that you can use p9p/9base ;)
03:14 -!- deeps [n=chatzill@124.124.108.5] has joined #go-nuts
03:15 -!- pool [n=pool@ip98-182-40-121.ri.ri.cox.net] has joined #go-nuts
03:15 < ehird> 9base doesn't have mount and i think p9p mount is just for 9p
stuff
03:15 < uriel> mount and co are very tied to the OS, so I don't plan to
implement them (it would be very hard to build portable versions)
03:15 < ehird> i dunno, man 2 mount is pretty simple
03:15 < uriel> (afaik mount is not from coreutils on linux)
03:16 < uriel> yes, man 2 mount is simple, but the fs options and so on are
not only os specific, but even fs specific
03:16 < kuroneko> linux mount is evil
03:16 < ehird> uriel: true.
03:16 < uriel> kuroneko: indeed
03:16 < ehird> uriel: well, anyway, I will watch with interest and if you
get an hg repo up, will contribute
03:16 < kuroneko> it's about 10x more complicated than BSDs
03:16 < kuroneko> because it has deep sekret arcane knowledge of linux
filesystems
03:16 -!- ehird [n=ehird@91.105.112.3] has quit []
03:17 -!- kolmodin [n=kolmodin@gentoo/developer/kolmodin] has quit [Read error: 60
(Operation timed out)]
03:17 < kuroneko> yup, mount on ubuntu comes from...  util-linux
03:17 < kuroneko> no surprise there.
03:17 < kuroneko> it's VERY linux specific.
03:17 -!- crossbizz [n=chatzill@c-67-189-144-6.hsd1.ma.comcast.net] has quit [Read
error: 110 (Connection timed out)]
03:18 -!- arieru [n=arieru@190.3.74.225] has left #go-nuts []
03:18 < uriel> ehird: you might want to check 9mount:
http://sqweek.dnsdojo.org/code/9mount/ but that is not a general solution
03:21 -!- bjarneh [n=bjarneh@1x-193-157-194-25.uio.no] has joined #go-nuts
03:21 -!- harryv [n=harry@67.207.147.205] has joined #go-nuts
03:23 < harryv> ok, this is a semi-long paste, but I'm getting kinda
frustrated.  anyways: I wrote a simple chat server in go the other day, while not
perfect it works pretty good.  except for writing strings to a TCPConn:
https://gist.github.com/68c3cd3af3f0848b5542 - gochat.go, line 154-155, if you
test it, you will see that it writes both sender/message on top of one another,
and the colon as well
03:23 < harryv> so, if I join as 'harryv' and say hey, the output will be
something like
03:23 < harryv> :haheyv
03:24 < harryv> I haven't been able to replicate it in my small tests with
TCPConn otherwise
03:24 < harryv> which is the reason for posting all the code.  I just want
it to work noe :P
03:24 < harryv> *now
03:25 -!- hipe [n=hipe@pool-173-56-205-166.nycmny.east.verizon.net] has joined
#go-nuts
03:26 -!- mikejs_ is now known as mikejs
03:26 < quag> harryv: that seems crazy :)
03:26 -!- mizai [n=mizai@164.107.141.220] has quit [Connection timed out]
03:27 -!- defectiv [n=clays@c-24-5-65-40.hsd1.ca.comcast.net] has quit ["This
computer has gone to sleep"]
03:27 -!- mitchellh1 [n=mitchell@c-71-231-140-22.hsd1.wa.comcast.net] has quit
["Leaving."]
03:27 -!- mitchellh [n=mitchell@71.231.140.22] has joined #go-nuts
03:28 < kuroneko> harryv: sounds like you might be spitting an inadvertant
\r out
03:28 -!- Tuller [n=Tuller@pool-72-84-246-12.rcmdva.fios.verizon.net] has quit
["to the batcave?"]
03:29 -!- phillipsm [n=mattscom@173-23-60-179.client.mchsi.com] has joined
#go-nuts
03:29 < harryv> hm
03:29 -!- yuanxin [n=uman@uawifi-nat-210-16.arizona.edu] has quit [Read error: 110
(Connection timed out)]
03:29 -!- mizai [n=mizai@rhou-164-107-213-187.resnet.ohio-state.edu] has joined
#go-nuts
03:29 < Manan> ugh
03:30 < Manan> choosing andLinux in order to compile Go code without having
to switch to Linux might not have been the best choice
03:30 < s_mosher> kuroneko, harryv, maybe the \r is being sent in the
message?  MS terminators are \r\n after all
03:30 -!- timmcd [n=Adium@97-117-100-106.slkc.qwest.net] has joined #go-nuts
03:30 < kuroneko> s_mosher: probably.
03:30 < kuroneko> hence my suggestion.
03:31 < timmcd> Ehird, you here?
03:31 < harryv> kuroneko: will see what happens if I remove the \r's.
03:31 < Amaranth> the last comment on
http://kzk9.net/b/2009/11/utilizing-multi-core-in-go-programming-language/ has
some of the most incredible spam I've ever seen
03:31 < Manan> I'm getting all these weird installation errors, and I can't
tell if they're because my distro doesn't come with many apps or if it's because I
messed up
03:31 < quag> harryv: it works for me
03:31 < s_mosher> kuroneko, I think I missed it
03:31 < Amaranth> It's somewhat relevant but basically gibberish
03:31 < harryv> quag: what os?
03:31 < quag> Linux
03:31 < quag> using 8g
03:31 < s_mosher> haha
03:32 < timmcd> Amaranth: Hey, thats my spam you're talking about!
03:32 < harryv> might be the mac telnet client then.
03:32 < quag> harryv: could be
03:32 < quag> I was using nc :)
03:32 < Amaranth> timmcd: Well then, you can clean it up now :)
03:32 < timmcd> Amaranth: lol
03:32 < Ycros> interesting, I'm on x86, but I only have 6cov, 6prof and 6nm
- not their 8 equivalents
03:33 < quag> Ycros: then it built the x86_64 versions :)
03:33 < quag> I assume you've got an x86_64 cpu?
03:33 < Ycros> it looks like they're maybe mis-named
03:33 < dga> I believe there _is_ only the 6 version of some of those...
they're generic.
03:33 < kuroneko> Ycros: if you said GOARCH=amd64, you get 6*
03:34 < kuroneko> if you said GOARCH=386, you get 8*
03:34 < kuroneko> they're native to your platform
03:34 < Ycros> I have half-half
03:34 < Ycros> I have and am using 8c and 8l
03:34 < kuroneko> but they target x86_64 or i386
03:34 < quag> Ycros: hey, quite right: 6cov 6nm 6prof 8a 8c 8g 8l
03:34 < dga> no...  cov prof and nm don't produce code.  therefore, there's
only a 6* version of them.
03:34 < kuroneko> depending on their name
03:34 < Ycros> ha!
03:34 < kuroneko> the compiler suite is inteneded to crosscompile
03:35 < Ycros> well my cpu is actually amd64, but my kernel and system are
x86
03:35 < quag> Ycros: this kernel is P3 :)
03:35 -!- tor7 [n=tor@c-987a71d5.04-50-6c756e10.cust.bredbandsbolaget.se] has quit
[]
03:35 -!- jharrys [n=de043124@c-71-195-253-55.hsd1.ut.comcast.net] has quit
["Leaving."]
03:35 < dga> see the prof makefile:
03:35 < dga> # The directory is prof because the source is portable and
general.
03:35 < dga> # We call the binary 6prof to avoid confusion and because this
binary
03:35 < dga> # is linked only with amd64 and x86 support.
03:36 < quag> lol
03:36 < quag> "to avoid confusion..."
03:36 -!- zilt [n=aking@74.210.120.119] has joined #go-nuts
03:36 < dga> heh
03:36 < Ycros> see, running "make coverage" calls 6cov, which looks for
6.out, which fails because I only have an 8.out
03:36 < quag> because it only supports 6 and 8, we'll call it 6.  :)
03:37 -!- robcat [i=d9947a35@gateway/web/freenode/x-dvwkkxqwwayqasjn] has quit
["Page closed"]
03:37 < quag> Ycros: if links are added for 8cov and so on, does it work?
03:38 -!- jharrys [n=de043124@71.195.253.55] has joined #go-nuts
03:38 < Ycros> quag: if I run it passing 8.out explicitly - it seems to hang
03:38 < Ycros> I'm not sure if it's working correctly
03:39 -!- Guest93318
[n=eric@CPE001d0fe73b7d-CM00111ae5c642.cpe.net.cable.rogers.com] has quit [Remote
closed the connection]
03:40 < Ycros> either way, I'm really happy go has testing support out of
the box
03:41 < sahazel> so, I just put a string in a Vector
03:41 < sahazel> how do I get it back out?
03:41 < dga> i := vec.At(100);
03:41 < sahazel> I seem to wind up with a vector.Element
03:41 < harryv> kuroneko: indeed, cutting some \r and \n off did it.
thanks.
03:41 < dga> str := i.(string)
03:41 < harryv> this was driving me crazy :P
03:42 -!- diltsman_ [n=diltsman@64.122.18.77] has quit []
03:42 < dga> Or you could use the StringVector class that's specialized to
hold only strings - if you want only strings.  Then you don't have to unbox
explicitly like that.
03:42 < Null-A> Has there ever been a decent language with CSPs and data
mutability before go?
03:42 < Manan> hmm, is that how typecasting works in Go?
something.(typecast)?
03:42 < sahazel> hm
03:42 -!- levicook [n=levicook@66-188-117-206.dhcp.mdsn.wi.charter.com] has joined
#go-nuts
03:42 < Manan> kind of odd syntax
03:43 -!- bernardh [n=bernard@60-234-247-181.bitstream.orcon.net.nz] has joined
#go-nuts
03:43 < Ycros> Null-A: stackless python?
03:43 -!- buluca [n=buluca@unaffiliated/buluca] has joined #go-nuts
03:43 < sahazel> v.At(0).(string) says "throw: interface conversion"
03:43 < Null-A> Ycros: I'll check it out
03:43 < Ycros> Manan: as with anything, you get used to it
03:43 < sahazel> Null-A: newsqueak?
03:43 < Ycros> Null-A: it's normal python, with CSPs pretty much
03:43 <+iant> sahazel: that means the v.At(0) is not actually of type string
03:43 -!- me___ [n=venkates@c-68-55-179-48.hsd1.md.comcast.net] has joined
#go-nuts
03:43 < Null-A> sahazel: well..  that's an ancient scripting language
03:44 < dga> are you sure you've got a string in there?  :)
03:44 < uriel> stackless python doesn't come even close to do CSP
03:44 < me___> hi world
03:44 < uriel> (you can't alt/select on channels, if one 'thread' blocks,
they all block, etc..)
03:44 < Manan> hullo me.
03:44 < Null-A> Ycros: what kind of communication primitives?
03:44 -!- Popog [n=Adium@pool-71-121-200-233.sttlwa.dsl-w.verizon.net] has joined
#go-nuts
03:45 -!- hyn [n=hyn@p0a38fe.tokyte00.ap.so-net.ne.jp] has joined #go-nuts
03:45 < Null-A> ah i see
03:45 < uriel> as for other languages doing CSP: Alef and Limbo are direct
ancestors of Go (and by the same people)
03:45 < uriel> (and of course newsqueak)
03:45 < Null-A> *nods*
03:45 < Ycros> I just get a "ptrace waitpid: unexpected new tid 23601 status
0x57f" when trying to run 6cov
03:46 < me___> also, 'concurrent ML' by john reppy.
03:46 < uriel> the people doing the 'benchmarks' comparing stackless and go
are just totally clueless, they are comparing apples with hand grenades
03:46 < quag> heh
03:46 < quag> uriel: bang on
03:46 < Dreamer3_MBP17> http://github.com/yyyc514/project_euler_in_go
03:46 < Ycros> Null-A: it has tasklets and channels
03:46 < quag> uriel: comparing a mature stable language to a brand spanking
new one that is rapidly changing.
03:47 < Ycros> Null-A: but it doesn't actually introduce any new syntax to
python (though python is expressive enough that this is not an issue)
03:47 < Dreamer3_MBP17> ok where is the textmate syntax files for go again?
03:47 < Null-A> uriel: are goroutines without local variables, 0 size on
the stack?
03:47 < uriel> Ycros: channels are not very useful if you can't alt/select
on them, and tasklets are not very useful for concurrency if when one blocks, they
all stop
03:47 < quag> :)
03:47 < Ycros> uriel: stackless python has pre-emptive scheduling, it's just
not on by default
03:48 < Ycros> uriel: not sure about multiplexing
03:48 < uriel> Null-A: I don't know, but from what I understood, the stack
is 'split', and each goroutine currently gets a 4k stack by default
03:48 < Ycros> uriel: but I think there's a way to do it
03:48 < uriel> Ycros: pre-emptive scheduling is not what I'm talking about
03:48 < Null-A> uriel: huh?  what happens if you have 10^6 goroutines?
03:48 < Ycros> uriel: pre-emptive scheduling means one tasklet can't block
all of them
03:48 -!- de_wizze [n=sumjuan@adsl-074-184-093-139.sip.asm.bellsouth.net] has
joined #go-nuts
03:49 -!- yuanxin [n=uman@uawifi-nat-210-16.arizona.edu] has joined #go-nuts
03:49 < Ycros> uriel: oh, you mean scheduling across native threads.
03:49 < uriel> Ycros: I'm talking about doing a syscall that blocks, and
having the other 'tasks' (or goroutines, or whatever) run
03:49 < Ycros> uriel: aye
03:49 -!- defectiv [n=clays@c-24-5-65-40.hsd1.ca.comcast.net] has joined #go-nuts
03:50 < reubens_> if i want to enumerate possible error codes for a
function, should i just do a bunch of these?  "var ERRNAME os.Error =
os.NewError(`friendly text`);" ...  and then someone using my function can check
"err == ERRNAME" ?
03:50 < Ycros> uriel: though you can, at that point, spawn an OS thread -
but you have to handle it yourself.  Not as nice as Go for sure.
03:50 -!- kota1111 [n=kota1111@gw2.kbmj.jp] has joined #go-nuts
03:50 < uriel> limbo and Go can do both things, and I can't imagine how
anyone finds stackless useful for anything without such basic functionality
(although clearly some people do find it useful), in any case the comparison is
meaningless given the very different functionality
03:50 < Manan> Go install attempt #4
03:50 < me___> uriel: limbo mapped all dis procs onto one host thread
though.
03:50 < Dreamer3_MBP17> grrrr
03:50 < uriel> Ycros: if you are going to spawn an OS thread yourself, using
stackless doesn't buy you much...
03:50 < Dreamer3_MBP17> i'm searching the issue tracker but i can't find the
patches
03:50 < uriel> me___: nope
03:50 < Manan> hopefully fixed that cannot execute binary file error x_x
03:50 < Ycros> has anyone else managed to get cov working?
03:50 < quag> uriel: go seems to be threatening people :)
03:50 < uriel> me___: the limbo model is the same as the Go model
03:51 < uriel> (mostly anyway)
03:51 < levicook> Quick api question: How do can I get a string from the
byte[] io.ReadFile() hands me?  I know the file is UTF8, so I'm not worried about
encoding, and I suspect *bufio.Reader.ReadString(os.EOF) will be involved, but
can't connect the dots yet.
03:51 < Ycros> levicook: string(myBytes)
03:51 < quag> "go jump off a bridge" sort of response from people who are
quite happy with their pet langauge :)
03:51 -!- de_wizze [n=sumjuan@adsl-074-184-093-139.sip.asm.bellsouth.net] has left
#go-nuts []
03:51 < me___> uriel: i'm pretty sure the dis vm is not reentrant.  in fact,
look in libinterp/xec.c, the dis regfile is a global among other things...
03:51 < uriel> me___: yes, but that is not what we are talking about..
03:51 < me___> uriel: host procs were started to do IO stuff iirc...
03:52 < yuanxin> Is there a way to read the entire available contents of a
TCP connection into a slice of bytes?
03:52 < levicook> hmm.  thanks.  too easy, huh?
03:52 < Ycros> yuanxin: ReadAll in...  bufio I think
03:52 < uriel> me___: exactly, host procs/threads are started to do IO,
which is what Go does oto
03:52 < Null-A> Go is google's way of beta testing an experimental language
to see if its worthy of their own internal usage ;) We're the ginny pets.
03:52 < uriel> me___: and what stackless can't do
03:52 -!- diltsman [n=diltsman@64.122.18.77] has joined #go-nuts
03:52 < Null-A> Also, they want us to do most of the compiler work
03:52 < quag> uriel: how is IO identified?
03:52 < me___> uriel: in go, if you have two for (;;); , its possible each
gets mapped to a host proc if i understood it right.
03:53 < quag> each syscall tagged?
03:53 -!- crakrjak [n=merc@rrcs-70-62-156-154.central.biz.rr.com] has joined
#go-nuts
03:53 < uriel> quag: sycalls that block
03:53 < Dreamer3_MBP17> hmm
03:53 < Dreamer3_MBP17> anyone?
03:53 < Dreamer3_MBP17> textmate grammar?
03:53 < uriel> Dreamer3_MBP17: what is your problem?
03:53 < uriel> Dreamer3_MBP17: http://go-lang.cat-v.org/text-editors/
03:53 -!- Null-A [n=jason@65-119-47-100.dia.static.qwest.net] has left #go-nuts []
03:54 < quag> uriel: will a call using ffi to a c function that does IO be
identified as IO?
03:54 < me___> i'm hoping someone will write a Limbo <-> Go rosetta
stone...
03:54 < Dreamer3_MBP17> oh
03:54 < Manan> noooooo install error #4
03:54 < uriel> quag: that is a good question, no clue about that, ffi is not
quite the same as just making a syscall
03:55 -!- srspencer [n=spence@c-98-204-108-221.hsd1.md.comcast.net] has joined
#go-nuts
03:55 < uriel> Manan: can you please explain what error do you have?
03:55 < reubens_> is there a simple way to turn a [4]byte into an int32?
03:55 < quag> uriel: as long as there is a way to mark a block of code as
'IO' then any blocking issues could be avoided.
03:55 < yuanxin> Ycros: it appears to be in io, not bufio
03:55 < reubens_> it's easy enough to write methods to turn data read in as
[]bytes into ints but i'm curious if there was a way that already existed to do
that
03:55 < yuanxin> Ycros: thanks for the function name though
03:56 < Dreamer3_MBP17> uriel: thanks!
03:56 < hstimer> Internals question: when you return the address of a local
variable, what is going on behind the scenes?
03:56 < engla> anyone expert on cgo
03:56 < Amaranth> hstimer: What do you mean?
03:56 < Amaranth> engla: The person who wrote it
03:56 < quag> hstimer: &foo{ 1, 2, 3}?
03:57 < engla> I'm trying to wrap strxfrm, how to pass a buffer to be
written
03:57 -!- crakrjak [n=merc@rrcs-70-62-156-154.central.biz.rr.com] has quit [Read
error: 60 (Operation timed out)]
03:57 -!- delza [n=delza@66.183.63.49] has joined #go-nuts
03:57 -!- reubens_ [n=reubens@c-66-235-53-139.sea.wa.customer.broadstripe.net] has
quit [Client Quit]
03:57 < Amaranth> ah, http.ReadResponse blows up on "CONNECT
mail.google.com:443 HTTP/1.1" due to the lack of / and the :
03:58 < hstimer> I'm assuming that locals are just sitting on the stack
under normal conditions.  But when you return the address of a local then it can't
be there.  Was it marked by the compiler to be on the heap?
03:58 < Amaranth> It tries to say that is invalid and redirect to /443
03:58 < Ycros> hstimer: I'm pretty sure that's what happens, yes
03:58 < Ycros> hstimer: but we don't have normal stacks anyway
03:58 < hstimer> Or are they moved when the address is taken?
03:59 < hstimer> Same issue as lambda
03:59 < Amaranth> so then the browser says "CONNECT mail.google.com:443
HTTP/1.1" again since paths aren't used at all in this call and it just keep
repeating until the browser gives up due to excessive recursion
03:59 < Manan> hm guys, quick Linux nub question here, how do I log out of
sudo in a terminal?
03:59 < harryv> ctrl-d or exit(1) or whatevz.
03:59 < uriel> hstimer: if you return the address of a variable, IIRC the
compiler makes sure to allocate it in the heap
03:59 < Amaranth> so it's actually http.ParseURL that is failing
04:00 < uriel> (I think this has been discussed in the go-nuts mailinglist)
04:00 < Ycros> hstimer: no, I think the compiler does it
04:00 < quag> harryv: trying to test out go chat on linux?
04:00 -!- phillipsm [n=mattscom@173-23-60-179.client.mchsi.com] has quit
["ChatZilla 0.9.85 [Firefox 3.5.5/20091109134913]"]
04:00 < hstimer> Thanks for the answer.  So how are Go stacks different?
04:01 < uriel> somebody wrote an irc client in go already?  link?
04:01 < quag> uriel: nah, just a little chat server.
04:01 < uriel> hstimer: they are 'split', this is explained in the docs..
04:01 -!- deeps [n=chatzill@124.124.108.5] has quit [Remote closed the connection]
04:01 < uriel> quag: ah, still cool
04:01 < harryv> quag: it has been.  should work fine
04:01 < hstimer> k.  I'll look for it.
04:01 < quag> multiple telnet sessions, with each line sent out to the
others
04:01 < harryv> uriel: http://github.com/ichverstehe/gochat/
04:01 -!- Popog [n=Adium@pool-71-121-200-233.sttlwa.dsl-w.verizon.net] has quit
["Leaving."]
04:01 < quag> uriel: https://gist.github.com/68c3cd3af3f0848b5542
04:01 < harryv> I don't guarantee the code quality, though :P
04:02 < uriel> btw, anyone with cool go stuff, please post it to
http://reddit.com/r/golang/
04:02 < quag> uriel: looks dead simple :)
04:02 < quag> heh, gochat is already on there r/golang
04:04 < quag> uriel: any idea how to get http://reddit.com/r/golang/ added
to the topic?
04:06 < Ycros> quag: ask one of the +v guys
04:06 < quag> woah...  almost 500 people in here :)
04:07 < yuanxin> is there any news on getting ncurses working with Go?
04:07 -!- me___ [n=venkates@c-68-55-179-48.hsd1.md.comcast.net] has quit [Read
error: 60 (Operation timed out)]
04:07 < diltsman> How would I convert from string to []byte?  I tried
[]byte(input), but that gives an error.
04:07 < Ycros> yuanxin: I believe kuroneko was working towards that goal
04:08 < quag> diltsman: strings.Bytes(s)
04:08 < kuroneko> it's on my todo list
04:08 < quag> diltsman: and to go the other way, convert bytes (utf8) into a
string: string(b)
04:08 < kuroneko> I've been held up by cgo + varargs
04:08 < engla> anyone know how to allocate and pass a writable buffer to
cgo?  (a *char)
04:08 -!- pool_ [n=pool@ip98-182-40-121.ri.ri.cox.net] has joined #go-nuts
04:09 -!- donpdonp [i=donp@donk.personaltelco.net] has joined #go-nuts
04:09 < yuanxin> kuroneko: if I PM you my e-mail address, will you let me
know when you make some progress?
04:09 -!- pool_ [n=pool@ip98-182-40-121.ri.ri.cox.net] has left #go-nuts
["Leaving"]
04:09 < kuroneko> umm, no.
04:09 < kuroneko> you can watch my github
04:09 < diltsman> quag: I got the other direction fine.
04:09 < engla> in fact, I know how to allocate an pass, passing
c=C.CString(string(buf)) where buf is an allocated []byte works..  but the result
is not written back to that object c..  so some extra copy is made
04:09 < donpdonp> is there a way to write a GTK app in go?
04:10 < yuanxin> kuroneko: sounds good
04:10 -!- bernardh [n=bernard@60-234-247-181.bitstream.orcon.net.nz] has left
#go-nuts ["Ex-Chat"]
04:10 < kuroneko> I don't do notifications, but I'm happy for people to
track my half finished crap ;)
04:10 < Amaranth> cute, when all.bash fails to build a module it just skips
it so code you try to compile can't use it
04:10 < Amaranth> donpdonp: Nope, check again in 6 months maybe
04:10 < kuroneko> just don't complain that it doesn't work or that I'm
taking too long
04:10 < kuroneko> http://github.com/kuroneko
04:11 < yuanxin> kuroneko: of course
04:11 < Ycros> donpdonp: yeah, someone would need to write a wrapper, and
for something the size of gtk it'll take a while
04:11 < donpdonp> Amaranth: doh.  is there any way to link to clibs?
04:11 < Ycros> donpdonp: yes, cgo, see misc/cgo/ in the sources
04:11 < Ycros> donpdonp: but there are issues with it
04:11 < kuroneko> I currently can't write go for a living
04:11 < Manan> Guys, I'm confused.  http://tinyurl.com/yl42wks tells me to
run all.bash as a normal user, but the moment I try to do that I simply get
"Permission denied"
04:11 < kuroneko> so yeah, I will take my time.  :)
04:12 < donpdonp> Ycros: ok thx!
04:12 < Amaranth> donpdonp: A library like that is going to be tricky to
wrap
04:12 < Amaranth> donpdonp: All UI stuff has to happen on the same thread
that calls gtk_init
04:12 < donpdonp> is there any existing graphical UI? a 'tk' lib perhaps?
04:12 < Amaranth> nope
04:12 < quag> Manan: export GOBIN= with a location for installing to
04:12 < Ycros> donpdonp: I think there's an SDL wrapper, but that's very low
level
04:12 < timmcd> It seems to me Go is pretty sparse in that area.
04:12 < quag> make sure that it is on the $PATH
04:13 < Ycros> donpdonp: I think most of us are still learning the language
;)
04:13 < Manan> okay, should it not be a location in root?
04:13 < donpdonp> Ycros: indeed :) me too
04:13 < quag> Manan: not unless you want to build with sudo :)
04:13 < Manan> right
04:13 < quag> Manan: seems a little odd to me :)
04:13 < Manan> Thanks.
04:13 < doublec> without c callbacks in to go code, wrapping most gui
libraries won't be easy
04:13 < Manan> Sorry, haha, kind of new to Linux stuff
04:14 * quag waves to doublec
04:14 * doublec waves back
04:14 -!- mjrosenb [n=mjrosenb@ip68-108-253-68.sb.sd.cox.net] has left #go-nuts []
04:14 -!- crakrjak [n=merc@rrcs-70-62-156-154.central.biz.rr.com] has joined
#go-nuts
04:14 < yuanxin> kuroneko: Besides Google employees, I doubt there is anyone
who writes Go for a living at thsi point
04:15 < Ycros> yuanxin: quick, lets form a startup ;)
04:15 < Ycros> we'll launch our web 3.0 platform on GO
04:15 < yuanxin> Ycros: haha
04:15 < Manan> lol
04:15 < yuanxin> Ycros: reimplement Facebook in Go
04:16 < bjarneh> is this channel logged somewhere?  i guess many questions
have already been answered..
04:16 -!- bmw357 [n=bmw@71.197.122.40] has quit [Read error: 113 (No route to
host)]
04:16 < harryv> bjarneh: http://go-lang.cat-v.org/irc-logs/go-nuts
04:16 -!- diltsman [n=diltsman@64.122.18.77] has quit []
04:16 < bjarneh> harryv: thankes
04:16 < donpdonp> yuanxin: queue the recruiters looking for "at least a year
of Go experience".  :)
04:16 < bjarneh> s/tankes/thanks/
04:16 < donpdonp> s/queue/cue/
04:17 < Dreamer3_MBP17> hmmm
04:17 < Dreamer3_MBP17> how can i get a single character of string
04:17 < Dreamer3_MBP17> using an array index returns a byte
04:17 < donpdonp> does go have an interactive mode like ruby's irb, or
python?
04:17 < Dreamer3_MBP17> no
04:17 < harryv> donpdonp: it's compiled, so, no.
04:17 < Dreamer3_MBP17> it's compiled
04:17 -!- itrekkie [n=itrekkie@ip72-200-108-156.tc.ph.cox.net] has joined #go-nuts
04:17 -!- halfdan_ [n=halfdan@p57A96C05.dip.t-dialin.net] has joined #go-nuts
04:18 < quag> Dreamer3_MBP17: could a one character slice be used?
04:18 < doublec> compiled languages can have an interactive mode too...
04:18 -!- Ian_Daniher [n=it@nat-pool-128-88.olin.edu] has quit [Read error: 104
(Connection reset by peer)]
04:18 < Dreamer3_MBP17> quag: well i'm already using a slice of the
string...  and it's returning an array of bytes
04:18 < yuanxin> doublec: irrespective of that, Go does not.
04:18 < Ycros> donpdonp: there's an interpreter in the works
04:19 < stockwellb> is there more documentation of slices than just
"effective go"?
04:19 < yuanxin> stockwellb: the language specification
04:19 < stockwellb> thank you
04:20 < yuanxin> hum, should I start writing my IRC client in Go, or should
I start doing my homework
04:20 < yuanxin> dilemma...
04:20 < quag> ah ha!  Who was doing the string reverse before?  The
utf8.DecodeRune and utf8.EncodeRune look like the way to go
04:20 < quag> yuanxin: irc client
04:21 * uriel votes for irc client too ;)
04:21 < quag> if students did homework how would irc clients ever get
written?
04:21 < Ycros> indeed
04:21 -!- Ian_Daniher [n=it@nat-pool-128-88.olin.edu] has joined #go-nuts
04:22 < Dreamer3_MBP17> Users/jgoebel/go/euler/problem8.go:40:
multiple-value strconv.Atoi() in single-value context
04:22 < Dreamer3_MBP17> wow, what does that mean
04:22 < quag> yuanxin: if you haven't written an irc client you can't
graduate :)
04:22 -!- Drakeson [n=user@69-196-172-71.dsl.teksavvy.com] has quit [Read error:
60 (Operation timed out)]
04:22 < yuanxin> Dreamer3_MBP17: you used it like it only has one return
value
04:22 < yuanxin> Dreamer3_MBP17: in fact it has two
04:22 < quag> Dreamer3_MBP17: Atoi() returns two values, the int and an
error code
04:22 < stockwellb> my progam compiles but throws a SIGTRAP: trace trap when
run.  Where do I begin to understand why?
04:22 < Dreamer3_MBP17> ah
04:22 < Innominate> dreamer: atoi returns two values, a result and an error,
var, e := strconv...
04:23 < Innominate> er, var with the actual variable name
04:23 < Dreamer3_MBP17> hmmm
04:23 < Innominate> if you don't care about the error you can do number, _
:= strconv...
04:23 < Dreamer3_MBP17> yep
04:23 < Innominate> but i think thats a situation you'd want to check for it
04:24 -!- diltsman [n=diltsman@64.122.18.77] has joined #go-nuts
04:24 -!- srspencer [n=spence@c-98-204-108-221.hsd1.md.comcast.net] has quit
["Leaving"]
04:24 -!- loureiro [n=loureiro@201008201196.user.veloxzone.com.br] has quit
["Quit"]
04:24 -!- hyn [n=hyn@p0a38fe.tokyte00.ap.so-net.ne.jp] has quit ["Computer has
gone to sleep"]
04:25 -!- brunov [n=bruno@190.191.110.64] has quit [Read error: 110 (Connection
timed out)]
04:25 < timmcd> It seems pretty simple with cgo to convert C libraries to C.
04:25 < timmcd> Am I right?  ^_^
04:25 -!- gordonbroom [n=gordonbr@S0106001b63f4ab15.gv.shawcable.net] has left
#go-nuts []
04:25 < yuanxin> timmcd: "cat" converts C libraries to C quite nicely
04:25 < quag> lol
04:25 < timmcd> rrg >_<
04:25 < timmcd> C libs to Go, sorry.
04:25 < timmcd> xD
04:26 < yuanxin> timmcd: people have run into thorny issues
04:26 < yuanxin> timmcd: Cf. kuroneko trying to get Go to work with ncurses
:)
04:26 < sahazel> if I have "type foo []byte", is there a way to convert a
[]byte into a foo?
04:26 < quag> will it be called "go curse"?
04:27 < timmcd> I would totally go curse.
04:27 < Amaranth> wow after all that the actual problem with the http module
handling CONNECT requests is that is splits "mail.google.com:443" into a host of
"mail.google.com" and a path of "443" which cleanPath turns into "/443"
04:27 < timmcd> ;)
04:27 -!- timmcd [n=Adium@97-117-100-106.slkc.qwest.net] has quit ["Leaving."]
04:27 < Amaranth> s/that is/that it/
04:27 -!- aa [n=aa@r190-135-208-214.dialup.adsl.anteldata.net.uy] has quit [Read
error: 113 (No route to host)]
04:28 -!- rhelmer [n=rhelmer@adsl-69-107-65-242.dsl.pltn13.pacbell.net] has quit
[]
04:28 -!- pool [n=pool@ip98-182-40-121.ri.ri.cox.net] has left #go-nuts
["Leaving"]
04:29 < yuanxin> sahazel: foo(b)
04:29 < yuanxin> sahazel: where b is of type []byte
04:29 < sahazel> "invalid receiver type []uint8" is making me sad
04:30 < sahazel> thanks yuanxin
04:30 -!- poul [n=pool@ip98-182-40-121.ri.ri.cox.net] has joined #go-nuts
04:32 -!- BMeph_ [n=black_me@65.103.151.24] has joined #go-nuts
04:33 <+iant> sahazel: give it a name
04:34 -!- homovitruvius [n=maurizio@pool-72-95-253-175.pitbpa.east.verizon.net]
has quit [Remote closed the connection]
04:34 -!- squirrelmetal [n=timothy@66-190-55-242.dhcp.mdsn.wi.charter.com] has
joined #go-nuts
04:34 -!- hansstimer [n=hans@c-98-234-25-125.hsd1.ca.comcast.net] has joined
#go-nuts
04:35 -!- halfdan [n=halfdan@p57A945F9.dip.t-dialin.net] has quit [Read error: 110
(Connection timed out)]
04:35 -!- kolmodin [n=kolmodin@gentoo/developer/kolmodin] has joined #go-nuts
04:35 -!- karl2 [n=karl@wads-5-233-224.resnet.mtu.edu] has joined #go-nuts
04:36 -!- hstimer [n=hans@c-98-234-25-125.hsd1.ca.comcast.net] has quit [Read
error: 110 (Connection timed out)]
04:36 < engla> iant: have you seen that python stackless tasklets are
allegedly faster than goroutines?
http://www.dalkescientific.com/writings/diary/archive/2009/09/15/100000_tasklets.html
04:36 < squirrelmetal> is there a recommended text editor with syntax
highlighting for Go? I couldn't find reference to one on the website
04:36 < engla> (don't read all of the post, it's a bit annoying)
04:37 -!- c_nick [n=nick@61.12.58.162] has joined #go-nuts
04:37 < uriel> engla: read backlog
04:37 < scandal> squirrelmetal: http://go-lang.cat-v.org/text-editors/
04:37 < squirrelmetal> thank you, i will check that out
04:37 < uriel> engla: the comparison is ridiculous, given that tasklets
don't do almost any of the things goroutines do
04:38 <+iant> engla: I hadn't seen it; I expect goroutines to get faster,
they are only slightly tuned at present; I guess we'll see over time
04:39 < engla> uriel: really?  superficially they allow parting of work in
the same way
04:39 < poul> for those interested on many other GO related topics, check
out <golang-nuts.googlegroups.com>
04:39 < Innominate> squirrel: The go distribution includes syntax
highlighting files for xcode, vim and emacs
04:39 < uriel> engla: *superfieically*
04:39 < squirrelmetal> scandal: thanks, i was not aware of that site just
the golang.org one
04:40 < squirrelmetal> Innominate: good to know, thank you very much
04:40 < uriel> engla: again, I mentioned this in backlog: among other things
with tasklets you can't 'select' (nee alt) on multiple channels and more
importantly: if one tasklet blocks, they all block!
04:41 < engla> that I know.  I can't find it in the backlog though
04:41 < uriel> engla: so stackless is basically doing *zero* concurrency,
and can't handle blocking io at all, while in go, if your goruoutine does
something that blocks, the other goruoutines will keep going just fine
04:42 < engla> without blocking IO goroutines are scheduled just like
tasklets
04:43 < uriel> engla: that is like saying MS-DOS and Unix schedule processes
the same as long as you have a single process
04:43 -!- Ian_Daniher [n=it@nat-pool-128-88.olin.edu] has quit [Read error: 104
(Connection reset by peer)]
04:44 -!- reubens_ [n=reubens@c-66-235-53-139.sea.wa.customer.broadstripe.net] has
joined #go-nuts
04:44 < uriel> one of the main reasons to have goroutines is to have io
workers, that take care of io, you can't do that at all in stackless
04:45 -!- dgnorton [n=dgnorton@24.224.99.49] has joined #go-nuts
04:45 -!- jeffhill [n=jeff@ip72-211-208-177.oc.oc.cox.net] has joined #go-nuts
04:45 < kuroneko> part of the whole point of goroutines is that you can
block inside a goroutine without stopping everything else
04:45 < kuroneko> at least, as I've interpretted all of this so far
04:45 -!- Ian_Daniher [n=it@nat-pool-128-88.olin.edu] has joined #go-nuts
04:46 -!- stockwellb [n=stockwel@72.8.30.114] has left #go-nuts []
04:46 < uriel> kuroneko: exactly
04:47 < uriel> without that, the whole thing would be quite useless
04:47 -!- diltsman [n=diltsman@64.122.18.77] has quit []
04:48 -!- msolo [n=mike@adsl-69-107-87-88.dsl.pltn13.pacbell.net] has joined
#go-nuts
04:49 < donpdonp> import "time"; func main() {time.Sleep(1234)} -> syntax
error near time
04:49 < yuanxin> donpdonp: try syscall.Sleep
04:49 < donpdonp> i did :(
04:49 -!- jdp [n=gu@75.97.120.11.res-cmts.senj.ptd.net] has joined #go-nuts
04:49 <+iant> yuanxin: there is a time.Sleep
04:49 <+iant> donpdonp: do you have a package clause?
04:50 <+iant> package main import "time" func main() { time.Sleep(1234) }
04:50 < yuanxin> iant: Ah. What is the difference ?
04:50 -!- msolo [n=mike@adsl-69-107-87-88.dsl.pltn13.pacbell.net] has quit [Client
Quit]
04:51 -!- poul [n=pool@ip98-182-40-121.ri.ri.cox.net] has quit ["Leaving"]
04:51 < donpdonp> iant: http://pastie.org/700579
04:51 <+iant> yuanxin: I'm not sure there is much different, but the general
goal is that programs avoid using the syscall package unless they don't care if
they are system dependent
04:51 <+iant> donpdonp: you are missing a semicolon between lines 7 and 8
04:51 <+iant> semicolons are required to separate statements
04:51 < yuanxin> iant: Seems like including the same Sleep function in each
violates "keep concepts orthogonal"...
04:51 < donpdonp> go uses semicolons?  doh.
04:51 < donpdonp> i was hoping it didnt at all
04:52 < hansstimer> donpdonp: I'm lobbying against them.
04:52 <+iant> yuanxin: time.Sleep should work on any system; syscall.Sleep
will only work on systems which actually have a sleep system call
04:52 < donpdonp> that fixed it.  thx
04:52 < alexsuraci> uriel: fixed that firefox warning
04:52 < donpdonp> hansstimer: whoho.  the got rid of the if parens, so
they're half way there (i love ruby syntax)
04:52 <+iant> hansstimer: we are very unlikely to permit invisible syntax in
Go; Go is not Python
04:53 < yuanxin> new line is hardly invisible
04:53 < yuanxin> (but I agree that it is a stupid choice for a statement
separator)
04:53 < donpdonp> its a fantasic choice, highly readable
04:53 <+iant> I suppose it depends on your definition of invisible; let me
change to whitespace syntax, then
04:53 < donpdonp> i supposed it can be a problem when one statement spans
multiple lines
04:54 -!- hipe [n=hipe@pool-173-56-205-166.nycmny.east.verizon.net] has quit
[Remote closed the connection]
04:54 < engla> whitespace is not significant in Python, indentation is.
it's a different level.
04:54 < engla> what's wrong with ending statements at newline?
04:54 -!- JoePeck [n=JoePeck@cpe-74-69-85-249.rochester.res.rr.com] has joined
#go-nuts
04:54 < engla> implicit continuation inside (for example) parens is more
powerful I think
04:54 < donpdonp> how do i get an infinite loop?  tried while true {} and
while 1 {}
04:54 < jdp> it's very natural, even in math textbooks if an expression goes
to a new line they use some sort of bent arrow or something to signify
04:55 < hansstimer> for {}
04:55 < jdp> dodonp: for {}
04:55 < donpdonp> thx
04:55 < sladegen> everybody knows s-expressions are the best, with good
indentations all the ()'s disappear, disappear, disappear...
04:55 < hansstimer> hehehhehehe
04:55 < yuanxin> donpdonp: Go doesn't have while
04:56 < kuroneko> that's because for is a specialised while.
04:56 < kuroneko> why have both?
04:56 < donpdonp> is it wrong to expect to go-routies that printf to
interleave their statements?
04:56 < donpdonp> routines
04:56 < kuroneko> donpdonp: yes.
04:56 < donpdonp> :)
04:57 < kuroneko> donpdonp: there's no guaranty of execution order at all
between goroutines.
04:57 < donpdonp> im getting 100% of one routine's printfs and 0% of the
other.
04:57 < donpdonp> ok
04:57 < blankthemuffin> Python is so cool with its syntax.  so succinct.
04:57 < kuroneko> and yes, goroutines don't preempt yet I believe
04:57 -!- nigwil [n=chatzill@berkner.ccamlr.org] has quit ["ChatZilla 0.9.85
[Firefox 3.5.5/20091102152451]"]
04:57 < engla> donpdonp: main program won't wait for all goroutines to
finish
04:57 -!- diltsman [n=diltsman@64.122.18.77] has joined #go-nuts
04:57 < donpdonp> engla: yeah, i threw in a sleep after the two 'go'
statements
04:58 < uriel> alexsuraci: cool!
04:58 -!- diltsman [n=diltsman@64.122.18.77] has quit [Client Quit]
04:58 < Dreamer3_MBP17> hmm
04:58 < Dreamer3_MBP17> where does go look for imports?
04:58 < donpdonp> ended up with this: http://pastie.org/700582
04:59 < engla> donpdonp: better to explicitly wait on a channel
04:59 -!- abbyz [n=abhishek@unaffiliated/abbyz] has left #go-nuts []
04:59 < engla> time.sleep == sloppy code in any language
04:59 -!- foxspurlock [n=Brian@cpe-74-66-16-82.nyc.res.rr.com] has left #go-nuts
[]
04:59 < donpdonp> true.  i didnt grasp the channel stuff from the goog tech
talk :)
04:59 -!- yuanxin [n=uman@uawifi-nat-210-16.arizona.edu] has quit ["leaving"]
05:00 < sladegen> Dreamer3_MBP17: $GOROOT/pkg/$GOOS_$GOARCH and current dir,
too, i think.
05:00 -!- rhelmer [n=rhelmer@adsl-69-107-65-242.dsl.pltn13.pacbell.net] has joined
#go-nuts
05:00 < Dreamer3_MBP17> i have primes.go but import "primes" does not work
05:00 < Dreamer3_MBP17> can't find import: primes
05:00 < sladegen> ./primes
05:00 < Amaranth> hmm, does go have something like select()?
05:00 < Amaranth> other than using channels
05:00 -!- mkanat [n=mkanat@c-67-188-1-39.hsd1.ca.comcast.net] has joined #go-nuts
05:01 < chrome> it uses poll() under the hood
05:01 < Amaranth> so no, probably not
05:01 < chrome> you can select { } over multiple channels
05:02 < Amaranth> I don't have channels, I have sockets
05:02 < uriel> Amaranth: the whole point of goroutines is that you dont need
to use abominations like poll() and select()
05:02 -!- bentley` [n=bentley`@97-119-174-76.albq.qwest.net] has joined #go-nuts
05:02 -!- me___ [n=venkates@c-68-55-179-48.hsd1.md.comcast.net] has joined
#go-nuts
05:02 < chrome> what uriel said
05:02 -!- Daminvar [n=Daminvar@129.21.81.77] has joined #go-nuts
05:02 < uriel> Amaranth: then run one goroutine per connection
05:02 < Dreamer3_MBP17> hmmm
05:02 < Innominate> Is there any way to select over an array of channels?
05:02 < Dreamer3_MBP17> are globals actually local to packages?
05:02 < uriel> Anusko: and please, don't call them 'sockets', it makes me
cringe
05:02 < chrome> http://www.stupendous.net/archives/2009/11/12/google-go/
<-- how I did it
05:02 < uriel> Innominate: no
05:03 < me___> Innominate: not directly.
05:03 <+iant> Innominate: no, that is a feature we are considering
05:03 < kuroneko> hi iant
05:03 < Amaranth> uriel: Wha?
05:03 < sladegen> Innominate: see mailing list
05:03 -!- defish [n=ubuntu@219.95.96.90] has left #go-nuts ["Leaving"]
05:03 < uriel> Amaranth: use a single channel
05:03 < Amaranth> uriel: no no, the bit about not calling them sockets
05:03 < me___> or build a tree of channels
05:03 < scandal> iant: should i submit errors in the "Effective Go" doc to
the issue tracker?
05:03 < uriel> iant: I think most requests for selecting on an array of
channels come from misconceptions about how channels work
05:04 < uriel> Amaranth: sockets are an abomination
05:04 <+iant> scandal: sure, or even better contribute a fix; note that some
things have been fixed over the weekend
05:04 < jb55> or maybe a map of channels to handlers that you can select on?
05:04 <+iant> uriel: I think there are some specific cases where it is
useful to have an array, though clearly it can always be done in different ways
05:05 -!- levicook [n=levicook@66-188-117-206.dhcp.mdsn.wi.charter.com] has quit
[]
05:05 -!- evilhackerdude [n=stephan@e181080091.adsl.alicedsl.de] has quit [Nick
collision from services.]
05:05 < scandal> iant: i just checked, the error is still there.  i will go
ahead and set myself up to submit a fix
05:05 -!- diltsman_ [n=diltsman@64.122.18.77] has joined #go-nuts
05:05 -!- evilhackerdude [n=stephan@e181102016.adsl.alicedsl.de] has joined
#go-nuts
05:05 -!- petr [i=uyawo@rzstud3.stud.uni-karlsruhe.de] has quit [Read error: 54
(Connection reset by peer)]
05:05 < donpdonp> package and import dont need semicolons, function bodies
do.  import ("a" ; "b") semicolon seperated list, but func main(a,b type) is a
comma seperated list.  thats confusing
05:05 < jeffhill> iant: What are those cases?  From playing about with
Erlang, it's not clear to me when you'd want an array of channels, and I'm
genuinely curious.
05:06 <+iant> donpdonp: simple rule: omit semicolons at top level; always
use semicolons when not at top level; either way, gofmt will adjust things
05:06 -!- mitchellh [n=mitchell@71.231.140.22] has quit ["Leaving."]
05:06 < donpdonp> iant: ok.  what about import ("a"; "b") why not a comma
there?
05:07 -!- diltsman_ [n=diltsman@64.122.18.77] has quit [Client Quit]
05:07 -!- itrekkie [n=itrekkie@ip72-200-108-156.tc.ph.cox.net] has quit []
05:07 < sladegen> i bet suahilli is confusing, too, when you start learning
it.
05:07 -!- hipe [n=hipe@rrcs-24-103-109-119.nyc.biz.rr.com] has joined #go-nuts
05:07 < uriel> Amaranth: see here
http://doc.cat-v.org/bell_labs/good_bad_ugly/slides/8
05:07 <+iant> jeffhill: As I recall the basic idea is that you have a set of
goroutines which may work on different things; you move them in and out of your
array depending on what they are working on
05:08 <+iant> donpdonp: that is for consistency with var (a int; b byte)
where we use a semicolon
05:08 < donpdonp> interesting.
05:09 < jeffhill> iant: So you're using one goroutine as a task manager /
multiplexer for a pool of goroutines.  Clever.  Thanks!
05:09 < Dreamer3_MBP17> ok
05:10 < Dreamer3_MBP17> summing all the primes below 2,000,000 is taking a
long time
05:10 < Dreamer3_MBP17> wonder if i could speed this up
05:10 -!- gwg [n=gwg@65.78.164.174] has joined #go-nuts
05:11 -!- ajbouh [n=adamb@c-71-233-151-63.hsd1.ma.comcast.net] has quit [Remote
closed the connection]
05:11 < me___> Dreamer3_MBP17: how are you generating the primes?
05:11 < me___> is this for euler?
05:11 < Dreamer3_MBP17> yes
05:12 -!- gwg [n=gwg@65.78.164.174] has left #go-nuts []
05:12 < Dreamer3_MBP17> i ahve a Prime method that checks to see if a # is a
prime by seeing if it's divisible by anything...  aand it caches the first 10000
primes and tries those first
05:12 < Innominate> Try a sieve
05:12 < Innominate> http://en.wikipedia.org/wiki/Sieve_of_Eratosthenes
05:12 -!- Popog [n=Adium@pool-71-121-200-233.sttlwa.dsl-w.verizon.net] has joined
#go-nuts
05:13 < Dreamer3_MBP17> looking
05:13 < exch> this looks mighty familiar :p http://ooc-lang.org
05:13 < alexsuraci> there, now gopaste has raw file viewing too.
05:13 -!- dga [n=dga@mlgodbe.dsl.xmission.com] has quit [Read error: 110
(Connection timed out)]
05:13 < Innominate> There is also an example, i dont know how fast it
actually is in, the tutorial
05:14 < engla> it is slow, it starts one goroutine per prime
05:14 < Dreamer3_MBP17> ha
05:14 < engla> or I can imagine it is not optimal, but really cool
05:14 < me___> i did that problem back in the day with libthread, switching
from divisibility to a sieve changed time from many minutes to seconds...
05:15 < engla> it should be an interesting benchmark for channels and
goroutines as go improves
05:15 < Dreamer3_MBP17> hmmm
05:15 -!- wobsite [n=wobsite_@68-189-250-56.static.oxfr.ma.charter.com] has joined
#go-nuts
05:15 < Dreamer3_MBP17> i'm trying to write a general purpose prime routine
05:15 < Dreamer3_MBP17> not just solve the problem
05:15 -!- squirrelmetal [n=timothy@66-190-55-242.dhcp.mdsn.wi.charter.com] has
quit ["Leaving"]
05:15 -!- jA_cOp [n=yakobu@88.89.34.27] has quit ["Leaving"]
05:15 < Dreamer3_MBP17> it seems that you couldn't do that infinitely with a
sieve
05:15 < engla> btw the tutorial sieve generates 10000 primes in a few
seconds
05:16 < Innominate> a sieve is an efficient way to generate a list of primes
05:16 < Dreamer3_MBP17> 10,000 is easy :) i need 2m
05:16 < Dreamer3_MBP17> yeah 10,000 is fast with divising :)
05:17 -!- Manan [n=truthlim@142.46.164.30] has quit [Read error: 110 (Connection
timed out)]
05:17 < jeffhill> This is sort of a stupid question, but I'm digging about
in the 6g/gc code and I can't seem to find the main anywhere.  Is there somewhere
obvious that I'm overlooking here?
05:17 -!- teedex_ [n=teedex@204.14.155.161] has quit [Remote closed the
connection]
05:18 < me___> jeffhill: its in cc/lex.c
05:18 -!- jharrys [n=de043124@71.195.253.55] has quit ["Leaving."]
05:18 < Innominate> dreamer: Doing it for one number and doing it for a list
of numbers are sort of two different problems
05:19 -!- rhelmer [n=rhelmer@adsl-69-107-65-242.dsl.pltn13.pacbell.net] has quit
[]
05:19 -!- kill-9 [n=kill-9@cpe-65-24-145-70.columbus.res.rr.com] has quit [Read
error: 110 (Connection timed out)]
05:19 < jeffhill> me__: Thanks!
05:20 -!- buluca [n=buluca@unaffiliated/buluca] has quit [Read error: 113 (No
route to host)]
05:21 < me___> jeffhill: actually, i misread you.  i thought you said 8c..
:) you want gc/lex.c
05:21 < uriel> alexsuraci: gopaste is down :(
05:21 < Dreamer3_MBP17> Innominate: yeah they are
05:22 < jeffhill> me___: Thanks, I was wondering why I was looking at a
Plan9 C compiler.  ;)
05:22 < Dreamer3_MBP17> alexsuraci: pastie.org :)
05:22 < Dreamer3_MBP17> is there a hard wired way to build a small array?
05:22 < Dreamer3_MBP17> [1,2,3,4,5] etc?
05:23 < sladegen> [...]array{1,2,3}
05:23 < Dreamer3_MBP17> do i do ...  or do i need to put 3 there?
05:24 < sladegen> ...  makes it autodetect size.
05:24 < sladegen> rtfm!-}
05:24 < Dreamer3_MBP17> i've been reading
05:24 < me___> Dreamer3_MBP17: oh, another quick hack that helped me, (prime
% 6) == 1 or 5...
05:24 < alexsuraci> uriel: hm, someone crashed it.
05:24 * alexsuraci investigates
05:24 < uriel> hehehe
05:25 < alexsuraci> Dreamer3_MBP17: what about it?
05:25 < Dreamer3_MBP17> just giving you an option
05:25 < ericmoritz\0> sladegen, hows [...]int{1,2,3} differ from
[]int{1,2,3}?
05:25 < uriel> alexsuraci: it wasn't me, I swear!  ;P
05:26 -!- turutosiya [n=turutosi@219.106.251.65] has joined #go-nuts
05:26 < jeffhill> ericmoritz: My understanding is that [...]int makes an
array where the size is computed, []int makes a slice.
05:26 < alexsuraci> let's see what the last paste was
05:26 < sladegen> ericmoritz\0: not sure...  perhaps the latter will give
you slice to array of 3 ints...
05:26 -!- diltsman [n=diltsman@64.122.18.77] has joined #go-nuts
05:26 -!- Irssi: #go-nuts: Total of 475 nicks [0 ops, 0 halfops, 2 voices, 473
normal]
05:26 < ericmoritz\0> I still don't understand slices completely
05:27 < hansstimer> an array is the actual data
05:27 < sladegen> they are like safe pointer views on the arrays provided
due to absence of pointer arithmetic.
05:27 < hansstimer> a slice i a window into the array data
05:27 < Dreamer3_MBP17> hmmm
05:27 < hansstimer> the window might cover the entire array or just a
portion
05:28 < alexsuraci> oh, someone pasted an empty paste.  should probably add
a check for that.
05:28 < ericmoritz\0> when would I want to use an array over a slice of that
array?
05:28 < hansstimer> you need an array to start with
05:29 < hansstimer> then you pass slices around to other routines to read or
modify your array
05:29 < Dreamer3_MBP17> hmmm
05:29 < Dreamer3_MBP17> will it not auto build primes.go ?
05:29 < Dreamer3_MBP17> do i need a makefile?
05:29 < Dreamer3_MBP17> it seems to only work if primes.6 already exists
05:30 < sladegen> ericmoritz\0: don't know if you can pass array by value,
so you probably don't have a choice in using slices.
05:30 < jeffhill> ericmoritz: It's my understanding that you'll always want
to pass slices into functions as arguments, but allocate arrays.
05:30 < alexsuraci> ah, it wasn't empty, just "import".
05:30 < hansstimer> you can pass arrays by value, but since they are copied
it usually isn't what you want
05:30 < alexsuraci> hmm.
05:30 < sladegen> hansstimer: right
05:31 -!- sagax [n=asdfwert@69-196-187-51.dsl.teksavvy.com] has joined #go-nuts
05:32 -!- awishformore [n=awishfor@78.141.152.48] has quit [Remote closed the
connection]
05:33 -!- hipe [n=hipe@rrcs-24-103-109-119.nyc.biz.rr.com] has quit [Remote closed
the connection]
05:33 < alexsuraci> uriel: all fixed, back up.
05:34 -!- ineol [n=hal@mar75-9-88-171-191-168.fbx.proxad.net] has joined #go-nuts
05:34 < me___> wow, in just a few days, go has a number of entries in the
great compiler shootout...
05:35 < jb55> alexsuraci: what's the url?  I may have missed it.
05:35 -!- ArekZB [n=ArekZB@76-10-138-81.dsl.teksavvy.com] has joined #go-nuts
05:35 < hansstimer> the best I can tell the reason for the array/slice
design is so that you can have a traditional array that is laid out in memory with
no hidden length field, but still allow for safety by being able to pass slices
around that have the bounds info to prevent overwrites
05:36 -!- jharrys [n=de043124@c-71-195-253-55.hsd1.ut.comcast.net] has joined
#go-nuts
05:36 < sladegen> jb55: gopaste.org?
05:37 < alexsuraci> jb55: yep, http://gopaste.org/
05:37 < jb55> thanks
05:37 -!- jharrys1 [n=de043124@c-71-195-253-55.hsd1.ut.comcast.net] has joined
#go-nuts
05:37 -!- jharrys [n=de043124@c-71-195-253-55.hsd1.ut.comcast.net] has quit
[Client Quit]
05:37 < ericmoritz\0> so, does this work as expected?
http://pastebin.com/m7befe9c8
05:38 < sladegen> comments are way to dark, black background is ok, but too
too dark otherwise.
05:38 < ericmoritz\0> well, ignore that I forgot a return statement
05:39 < alexsuraci> sladegen: I just ported the twilight scheme for now,
down the line I'll probably add a theme dropdown or something.
05:39 < Innominate> eric: Not to be a dick or anything but, dont you already
know if it works as expected?
05:39 < uriel> alexsuraci: great!
05:39 < uriel> alexsuraci: did you find out what was the problem?
05:39 < alexsuraci> yeah
05:39 < alexsuraci> someone submitted a paste that was just "import"
05:40 < alexsuraci> which of course failed to parse, but I forgot to add a
check before I attempted to print the resulting AST.
05:42 < dgnorton> if I have func foo() and I call it "go foo()", it will run
on a separate thread?
05:43 < sladegen> ericmoritz\0: looks ok if not for a fact that v is
undeclared to be uint16 (not sure if := wouls fix it).  and b would be local to
the pop_ function...  anyway.
05:44 -!- stesla [n=samuel@saffron.thoughtlocker.net] has joined #go-nuts
05:44 < scandal> dgnorton: in a separate goroutine
05:45 < ericmoritz\0> I gues I should clarify what I was wondering about,
would modifying b (b = b[2:len(b)]) change for main() since it's a slice?
05:45 -!- Manish_mah_ [n=chatzill@c-67-189-144-6.hsd1.ma.comcast.net] has quit
[Read error: 110 (Connection timed out)]
05:45 < dgnorton> scandal, so if func foo calls fmt.Printf("here\n"); and I
call "go foo()" in a loop, should it print?
05:46 -!- jadamcze_ [n=jadamcze@ppp59-167-95-105.lns20.hba1.internode.on.net] has
quit ["Changing server"]
05:46 -!- Shihan [n=pjr@202.92.82.154] has joined #go-nuts
05:46 < scandal> dgnorton: it should print once for each time you invoke
foo() (assuming that's all foo() does)
05:47 < Innominate> eric: i would think that it does, but i'm not really
sure.  since i don't know the answer off the top of my head, what i would do would
be to try it and see what happens
05:47 < Shihan> hi folks...  anyone seen any go floating around using the go
json package?
05:47 < sladegen> ericmoritz\0: don't think so...  but perhaps write it out,
compile and see, heh.
05:48 -!- turutosiya [n=turutosi@219.106.251.65] has quit [Read error: 110
(Connection timed out)]
05:48 < ericmoritz\0> sladegen, yeah, I'm doing that now
05:48 < dgnorton> scandal, it's not.  But the func is doing some other
stuff...iterating a vector searching for a value.
05:48 -!- henriwatson [n=henriwat@203sdl30m56.codetel.net.do] has joined #go-nuts
05:48 < Innominate> eric: Let me know the result heh
05:49 < dgnorton> scandal, if i just call it "foo();" it works but if I call
it "go foo()" it does not print.
05:49 < henriwatson> I'm having trouble compiling Go on OS X.
05:49 < jb55> Shihan: your looking for go code examples using the json
package?
05:49 < Shihan> yeah, basically :)
05:50 < wobsite> henriwatson: what is your issue specifically?
05:50 < scandal> dgnorton: are you sure your program isnt exiting immediatly
instead of waiting for the goroutines to finish?
05:50 < dgnorton> scandal, that's exactly what's happening!
05:50 < hansstimer> henriwatson: most mac people who are having problems are
using an old version of xcode
05:50 < henriwatson> wobsite: when compiling I get a ton of errors,
basically only two binaries compile
05:50 < dgnorton> scandal, how can I wait?
05:50 < hansstimer> henriwatson: assuming they are able to checkout.
05:51 < wobsite> examples?
05:51 < jb55> Shihan: I use the json package in my twitter library,
Unmarshal is awesome for filling structs with json data:
http://github.com/jb55/go-twitter
05:51 < scandal> dgnorton: create a chan and pass it to your foo() function.
after each foo is finished, put a value on the channel
05:51 < henriwatson> hansstimer: used mercurial previously, checking out was
no problem
05:51 < Shihan> ahh yes, i did see that in the mailing list...  thanks
05:51 < scandal> dgnorton: in the main() look on receving from the channel.
when the count is the # of goroutines, you are done
05:51 < jb55> unfortunatly I dont have a small use case, theres a bunch of
code you might have to look through
05:52 < henriwatson> hansstimer: this is what I got while compiling:
http://pastie.org/private/cp1eqdnuaxw3zjfzslst7a
05:52 < Shihan> i'm just really confused how you build a json type without
doing something like StringToJson()...
05:52 -!- droid001 [n=g1@p4FDCC258.dip.t-dialin.net] has joined #go-nuts
05:52 < jb55> I was using StringToJson initially but Unmarshal is alot more
intuitive
05:53 < jb55> it uses reflection to fill structs, so if you have a struct
with the same variable names and structure as the json object it will fill it with
the data, ignoring fields it doesnt find
05:53 < henriwatson> hansstimer: also xcodebuild -version returns:
http://pastie.org/private/cnlwndsirckkxrr33zx5sg
05:53 < dgnorton> scandal, count is a property of the chan?
05:54 < hansstimer> henriwaton: assuming you have 1) set your environment
variables correctly, 2) checked out correctly, 3) have current xcode, then the
next thing I would verify is that you are trying to build a version of go that
your processor supports
05:54 < scandal> dgnorton: no, you need to do it yourself
05:54 < henriwatson> hansstimer: I ran uname -p, and it said i386, so I set
my GOARCH variable to 386
05:55 < henriwatson> hansstimer: also, while upgrading to Snow Leopard,
X-Code broke pretty badly, I'm still using X-Code from Leopard though (don't have
access to SL cd again until tomorrow)
05:56 < hansstimer> hansstimer: you can download SL xcode
05:56 < hansstimer> henriwatson: you can download sl xcode from apples dev
site
05:56 < henriwatson> hansstimer: internet here is absolute crap
05:57 -!- diltsman [n=diltsman@64.122.18.77] has quit []
05:57 < henriwatson> hansstimer: I know, but SL X-Code is 2GB...
05:57 < hansstimer> henriwatson: oh....  then wait for disks, but you might
still have to download to get the update.  the disk is slightly older than what is
on the site
05:58 < henriwatson> hansstimer: is it worth installing from CD tomorrow, or
waiting until I go to the US tuesday next week?
05:59 < Shihan> jb55: intersting read that code...  that does give me some
idea of what to do
05:59 < hansstimer> henriwatson: I can't answer that.  I don't know if the
xcode on CD will work.
06:00 < hansstimer> henriwatson: xcode 3.2.1 is 731MB not 2GB
06:00 < sladegen> ericmoritz\0: looks like i was "right", it gives different
(though wrong for some other reason) answers (different values of v1 and v2) after
you do slice = slice[2:len(slice)] between the assignments in main.
06:00 -!- robsc [n=robsc@203.39.247.241] has joined #go-nuts
06:00 < henriwatson> hansstimer: iPhone SDK (which includes X-Code) is 2GB.
06:01 < hansstimer> henriwatson: you wont need the iphone sdk, which isn't
on the cd either
06:01 < wobsite> is there some way to get vim to do syntax highlighting for
go?
06:01 < henriwatson> hansstimer: oh, crap.  well, I'll install from CD
tomorrow and get SDK when I go to the states.
06:01 < henriwatson> hansstimer: thanks btw.
06:01 < hansstimer> henriwatson: np
06:01 < scandal> wobsite:
http://www.cs.hmc.edu/~me/go/go-nuts-faq.html#vim-syntax
06:02 -!- henriwatson [n=henriwat@203sdl30m56.codetel.net.do] has quit []
06:02 < jb55> wobsite: in the misc dir there are syntax files for vim and
other editors
06:02 < wobsite> cool, thanks
06:02 -!- hipe [n=hipe@pool-74-108-181-155.nycmny.east.verizon.net] has joined
#go-nuts
06:02 -!- limec0c0nut [n=michael@c-24-12-53-42.hsd1.il.comcast.net] has joined
#go-nuts
06:03 < ericmoritz\0> sladegen, yeah, it doesn't modify the slice in the
pop_uint16, it has to be modified in main()
06:05 < hansstimer> scandal: please add the info on "why go wont build on my
mac".  btw good start
06:05 < scandal> hansstimer: i'm not familiar with the issue, but if you
want to /msg or email me text i will include it
06:05 < Dreamer3_MBP17> ok
06:05 < Dreamer3_MBP17> a sieve was CRAZY fast :)
06:06 < sladegen> ericmoritz\0: perhaps there is a way to pass slice be
refernce, too, but my brain hurts atm ;)
06:06 * Dreamer3_MBP17 pasted
http://pastie.textmate.org/private/wzdxaxiheg8fjyjbu5evq
06:06 < Dreamer3_MBP17> so i'm thinking that could be shorter
06:07 < Dreamer3_MBP17> the last two loops seem awful repetitive
06:07 < Dreamer3_MBP17> i have to count how many spots i need before i can
build the array to hold them
06:07 < Amaranth> uriel: I switched to a channel based setup, works great
06:08 < Amaranth> although I only used one channel
06:08 < Amaranth> So I probably could have done the same thing with nested
loops, really
06:09 -!- droid0011 [n=g1@p4FDCC472.dip.t-dialin.net] has quit [Read error: 110
(Connection timed out)]
06:09 < jeffhill> Dreamer3_MBP17: Try using a vector instead; import
"container/vector".  http://golang.org/pkg/container/vector/
06:09 < ericmoritz\0> sladegen, here's the working code,
http://pastebin.com/m744da58b
06:09 < Dreamer3_MBP17> ah
06:09 < Dreamer3_MBP17> neat
06:09 < Dreamer3_MBP17> hmmm
06:10 < Dreamer3_MBP17> i'm using int64
06:10 < Dreamer3_MBP17> does it really only work with int?
06:10 < Dreamer3_MBP17> ah i guess i can use a raw vector
06:10 < jeffhill> You can always use the generic Vector.
06:10 -!- jharrys1 [n=de043124@c-71-195-253-55.hsd1.ut.comcast.net] has quit
["Leaving."]
06:11 < Amaranth> oh, using goroutines and channels also seems to make my
system max out both cores...
06:11 -!- evilhackerdude [n=stephan@e181102016.adsl.alicedsl.de] has quit [Read
error: 60 (Operation timed out)]
06:11 -!- jharrys [n=de043124@c-71-195-253-55.hsd1.ut.comcast.net] has joined
#go-nuts
06:11 < sladegen> ericmoritz\0: perhaps, << after converting for sure
;)
06:11 < dgnorton> if i have 4 cores and I call a bunch of go routines,
should it use all cores?
06:12 < Amaranth> dgnorton: Only if you set GOMAXPROCS to 4
06:12 * sladegen afks
06:12 < Amaranth> either via the runtime module or an env variable set
before running the program
06:13 < dgnorton> Amaranth, thanks
06:14 < Dreamer3_MBP17> o/euler/primes.go:78:
results.*Vector·Push((interface { })(i)) used as value
06:14 < Dreamer3_MBP17> o/euler/primes.go:82: cannot use results (type
*vector.Vector) as type []int64
06:14 < Dreamer3_MBP17> not sure i'm doing the pointer stuff right
06:15 < Dreamer3_MBP17> results := vector.New(100);
06:15 < Dreamer3_MBP17> is that correct?
06:15 < ericmoritz\0> sladegen, yeah it's late, took me a few minutes to
catch that...
06:15 < dgnorton> Amaranth, that worked but the results were
interesting...ran much slower pegging 4 cores than it does with one core
06:15 < Amaranth> dgnorton: yeah, that can happen sometimes
06:15 < Amaranth> the scheduler to map gorountines to threads is not
optimized
06:16 -!- ericmoritz\0 [n=ericmori@c-76-123-248-214.hsd1.tn.comcast.net] has quit
["Leaving"]
06:17 -!- glewis [n=chatzill@cpe-98-154-103-91.socal.res.rr.com] has joined
#go-nuts
06:19 < Dreamer3_MBP17> damn
06:19 -!- Popog [n=Adium@pool-71-121-200-233.sttlwa.dsl-w.verizon.net] has quit
["Leaving."]
06:19 < Dreamer3_MBP17> i can't range over a vector?
06:19 < Dreamer3_MBP17> that isn't very helpful
06:19 -!- itrekkie [n=itrekkie@ip72-200-108-156.tc.ph.cox.net] has joined #go-nuts
06:20 < dgnorton> Amaranth, my original test was running multiple searches
serially.  Then using go routines with one core it cut the search time by a factor
of 3.  go routines with 4 cores is slower than serially with one core.
06:20 < scandal> Dreamer3_MBP17: you need to call the .Iter() method
06:20 < hansstimer> Where did the idea for the _ (blank identifier) come
from?  I've never seen that before.
06:20 < Dreamer3_MBP17> ah wait
06:21 < Dreamer3_MBP17> i think Data might be more useful
06:21 < scandal> Dreamer3_MBP17: you'll have to look at it to make sure it
doesn't do a bunch of copying
06:22 < scandal> hansstimer: its present in some languages that feature
pattern matching
06:22 -!- reubens_ [n=reubens@c-66-235-53-139.sea.wa.customer.broadstripe.net] has
quit [Client Quit]
06:22 < Dreamer3_MBP17> Users/jgoebel/go/euler/primes.go:82: cannot use
tresults.*Vector·Data() (type []interface { }) as type []int64
06:22 < Dreamer3_MBP17> hmmm
06:22 < KirkMcDonald> I have just discovered that the regexp module is,
uh...  limited.
06:22 < Dreamer3_MBP17> trying to get my array of ints back out of Vector
06:22 < dgnorton> Dreamer3_MBP17, vector.New(0)
06:23 < hansstimer> scandal: perl?  ruby?
06:23 < Dreamer3_MBP17> i have a new vector already and i'm pushing things
into it, but then i want to turn it back into a slice of ints
06:23 < Dreamer3_MBP17> which data should do
06:23 < scandal> hansstimer: erlang and haskell have, for example
06:24 < hansstimer> scandal: ah.
06:24 < kota1111> 1
06:24 < kota1111> sry.  never mind.
06:24 < Dreamer3_MBP17> need type assertion to use interface { } as int64
06:24 < Dreamer3_MBP17> hmmm
06:24 < dgnorton> Dreamer3_MBP17, i had a vector the other night that i was
preallocating.  I could push elements on it just fine but could not iterate it
because I wasn't using ALL of the prealocate spots.
06:25 < dgnorton> Dreamer3_MBP17, for type assertion I think it's
"myvar.(type)"
06:25 < scandal> Dreamer3_MBP17: that won't work since there is no guarantee
all the elements are int64
06:25 < scandal> Dreamer3_MBP17: look at what IntVector.Data() does
06:26 < Dreamer3_MBP17> scandal: inside my function there is a guarantee
06:26 < scandal> Dreamer3_MBP17: if you just want to iterate, .Iter() will
do so without making a copy
06:26 < Dreamer3_MBP17> so i really need to convert it back to int there
06:26 < Dreamer3_MBP17> i want to hand []int64 out of my function
06:26 < Dreamer3_MBP17> so i need to get the ints back from the vector
06:26 < scandal> Dreamer3_MBP17: right, but there is no way to convert with
a type assertion
06:26 -!- sagilpin [n=sagilpin@c-98-238-233-57.hsd1.ca.comcast.net] has joined
#go-nuts
06:27 -!- dgnorton [n=dgnorton@24.224.99.49] has quit ["Ex-Chat"]
06:27 -!- Shihan [n=pjr@202.92.82.154] has quit ["home time"]
06:27 < Dreamer3_MBP17> ha
06:27 < Dreamer3_MBP17> all Data does it build an array :)
06:28 -!- sm [n=sm@cpe-76-173-194-242.socal.res.rr.com] has quit []
06:28 < Dreamer3_MBP17> ick
06:28 < Dreamer3_MBP17> this is waht i was trying to avoid by using vector
:)
06:28 -!- daub [n=daub@91-66-67-186-dynip.superkabel.de] has joined #go-nuts
06:28 < Dreamer3_MBP17> seems i still need a for loop to get my data back
out of the vector i stored it in
06:29 < Innominate> one thing about vector is that
06:30 < Innominate> iterating through a vector seems to be incredibly
shockingly slow
06:30 < glewis> I see the "An I/O Package" example of "file.go" in the
tutorial, but isn't there an equivalent standard file-handling package in the
library?  I must be missing something.
06:30 < Dreamer3_MBP17> not worried about performance yet really :)
06:31 < Innominate> dreamer: I'm talking a few orders of magnitude slower
than an array
06:31 -!- dgnorton [n=dgnorton@24.224.99.49] has joined #go-nuts
06:31 < scandal> glewis: os.File and io.*
06:31 < Innominate> I may have been doign somethign wrong but wow it was
slow when i did
06:31 < glewis> thanks, scandal!
06:31 < Dreamer3_MBP17> i'm just tyring to get my data back out of it :)
06:31 -!- General13372 [n=support@71-84-247-187.dhcp.gldl.ca.charter.com] has
joined #go-nuts
06:32 < jb55> so I assume <-chan int is the same type as chan int, with
just a forced receive as a qualifier?
06:32 -!- dgnorton [n=dgnorton@24.224.99.49] has quit [Client Quit]
06:33 < jb55> yup seems to work
06:33 < jb55> hmm maybe not
06:33 -!- unnikrishnan1 [n=User01@59.93.3.67] has joined #go-nuts
06:34 < unnikrishnan1> hi
06:34 < Dreamer3_MBP17> primes.go:83: must call tresults.*Vector·Iter
06:34 < Dreamer3_MBP17> what does that mean?
06:34 < Dreamer3_MBP17> for i, v := range tresults.Iter {
06:34 < unnikrishnan1> i have a problem while compiling from svn
06:34 < scandal> go> z:=vector.New(2);z.Set(0,2);z.Set(1,3);for v:=range
z.Iter() { println(v.(int)) }
06:35 < unnikrishnan1> i got the following error when i tried to make it
06:35 < unnikrishnan1> configure: error: cannot run C compiled programs.
06:35 < unnikrishnan1> If you meant to cross compile, use `--host'.
06:35 < unnikrishnan1> See `config.log' for more details.
06:35 < unnikrishnan1> make[2]: *** [configure-stage1-target-libstdc++-v3]
Error 1
06:35 < Dreamer3_MBP17> scandal: i still get: v = tresults.*Vector·Iter()
used as value
06:35 < hansstimer> Go design seemed to me to be pretty good until I got to
printing...  I understand that Ruby et al have an easier time because they are
interpreted, but isn't there some way we could have the variables embeded in the
string instead of tacked on the end?
06:36 < Dreamer3_MBP17> oh wait
06:36 -!- teedex [n=teedex@204.14.155.161] has joined #go-nuts
06:36 -!- General1337 [n=support@71-84-247-187.dhcp.gldl.ca.charter.com] has quit
[Read error: 60 (Operation timed out)]
06:36 < unnikrishnan1> any body plz help me
06:36 < Dreamer3_MBP17> does the range not return an iterator?
06:36 < scandal> hansstimer: fmt.Printf
06:36 -!- ntg [n=nate@user44.net178.whitworth.edu] has quit [Read error: 60
(Operation timed out)]
06:36 < scandal> hansstimer: oh wait nm
06:36 -!- ineol [n=hal@mar75-9-88-171-191-168.fbx.proxad.net] has quit []
06:37 < wobsite> hansstimer: it's not qutie the same, but you fmt.Print and
Println at least allow you to do ("first part of string", variable, "rest of
string");
06:37 < scandal> Dreamer3_MBP17: range does not return an iterator, it takes
one and spits out elements one at a time
06:38 < hansstimer> wobsite: yes, that is kind of nice but not quite the
same
06:38 < jb55> Dreamer3_MBP17: the idea is range only works on the built in
types, Iter() returns a receive only channel (which range can operate on) which it
reads from one by one
06:38 < Dreamer3_MBP17> but it usually supports returning index and value
06:38 < jb55> pretty sure
06:38 < Dreamer3_MBP17> vectors don't do that
06:38 < scandal> Dreamer3_MBP17: only for array types
06:38 < Dreamer3_MBP17> ?
06:38 < Dreamer3_MBP17> ah
06:38 < Dreamer3_MBP17> grrrr :)
06:38 -!- glewis [n=chatzill@cpe-98-154-103-91.socal.res.rr.com] has quit
["ChatZilla 0.9.85 [Firefox 3.0.15/2009102815]"]
06:41 * Dreamer3_MBP17 pasted
http://pastie.textmate.org/private/cjujufom8lvpcduvncea
06:41 < Dreamer3_MBP17> that still seems awful long
06:42 < scandal> Dreamer3_MBP17: you should range over tresults.Iter() not
.Data()
06:42 < scandal> otherwise you copy the entire array twice
06:42 < Dreamer3_MBP17> then i don't get the index
06:42 < Dreamer3_MBP17> so i'd have to add more lines to setup and increment
i, yes?
06:42 < scandal> ye
06:42 < Dreamer3_MBP17> just seems like a lot of code to do so little
06:44 < scandal> this is a result of lack of templates.  lots of code dupe
06:44 < Dreamer3_MBP17> or a results of the language :)
06:44 < Dreamer3_MBP17> by templates do you mean i should expect all this
boiler plate stuff?
06:44 < Dreamer3_MBP17> i'm trying to figure out how to abstract it away
06:44 < jb55> most of the smell I'm finding in Go is just due to lack of
generics
06:44 -!- itrekkie [n=itrekkie@ip72-200-108-156.tc.ph.cox.net] has quit []
06:45 < jb55> gopefully they get around into implementing it into the
language
06:45 < Dreamer3_MBP17> is type a first level class?
06:45 < scandal> Dreamer3_MBP17: if you look at invector stringvector and
vector its all the same except for the types.
06:45 < Dreamer3_MBP17> can i pass a type around?
06:45 < scandal> Dreamer3_MBP17: in c++ or java you'd write the code once
and be able to use it for any tye
06:46 -!- crashR [n=crasher@codextreme.pck.nerim.net] has joined #go-nuts
06:46 < Dreamer3_MBP17> i'm wanting somethin glike vector.ConvertTo([]int64)
06:46 < Dreamer3_MBP17> then i could hide the complexity inside vector
06:46 -!- drusepth` [n=drusepth@ppp-70-250-208-129.dsl.spfdmo.swbell.net] has quit
[Read error: 110 (Connection timed out)]
06:47 -!- Popog [n=Adium@71.121.200.233] has joined #go-nuts
06:47 < scandal> i think you'd do that by creating interfaces like type
IntConvertable interface { ToInt(v interface{}) }
06:48 < hansstimer> just curious, why aren't we doning this in google wave?
06:48 < wobsite> I'm still trying to find a good way to Read/Write types
like uint32, or a good way to break them down into []byte
06:48 < scandal> wobsite: did you see the "gob" package?
06:50 -!- zilt [n=aking@74.210.120.119] has quit [Read error: 60 (Operation timed
out)]
06:50 < wobsite> looks promising, thanks
06:51 < Dreamer3_MBP17> scandals sounce like then i need an interface for
every imaginable type i might use
06:51 < Dreamer3_MBP17> sounds annoying
06:52 < Dreamer3_MBP17> i'm not that familiar with channels yet
06:52 < scandal> nod.  i think eventually go will need generics/templates
06:52 < Dreamer3_MBP17> is there any reason Iter couldn't return both the
index and value?
06:52 < Dreamer3_MBP17> it's just iterating over an internal array inside
the vector
06:52 < Dreamer3_MBP17> so it's range call has access to both
06:53 < Dreamer3_MBP17> it's just discarding the index now
06:53 < scandal> i dont think channels can return multivalues?
06:53 * Dreamer3_MBP17 pasted
http://pastie.textmate.org/private/5rwzzqbajnr8uugz5rw1lw
06:53 < Dreamer3_MBP17> ah
06:53 < Dreamer3_MBP17> so a channel limitation :(
06:54 -!- mitchellh [n=mitchell@c-71-231-140-22.hsd1.wa.comcast.net] has joined
#go-nuts
06:54 -!- nigwil [n=chatzill@59.167.78.229] has joined #go-nuts
06:54 -!- rgammans [n=roger@host-84-9-50-142.dslgb.com] has joined #go-nuts
06:57 -!- quietdev [n=quietdev@unaffiliated/quietdev] has joined #go-nuts
06:57 < uriel> Dreamer3_MBP17: you can use gopaste.org
06:57 < uriel> Dreamer3_MBP17: what is a channel limitation?
06:58 < scandal> uriel: he wanted a: chan (int, int64)
06:58 < uriel> use a struct
06:58 < scandal> specifically for use in a range like you get with arrays
06:59 < Dreamer3_MBP17> uriel: why would i use a paste site other than the
one i designed :)
06:59 < uriel> Dreamer3_MBP17: because it automatically uses gofmt
06:59 < uriel> and because it is prettier
06:59 < uriel> and because it runs go
06:59 < Dreamer3_MBP17> oh
06:59 < Dreamer3_MBP17> it's not ugly
06:59 < Dreamer3_MBP17> pastie is just as pretty :)
07:00 < Dreamer3_MBP17> but i'll agree go is more minimal
07:00 < Dreamer3_MBP17> well, if you paste from TM pastie is pretty..  need
to add go support
07:00 < uriel> scandal: lack of built in tuple type is one of the few things
I miss from limbo, but didn't miss it much really
07:00 < Dreamer3_MBP17>
http://projecteuler.net/index.php?section=problems&id=11
07:00 < Dreamer3_MBP17> on problem 11 :)
07:01 < wobsite> I don't think gob quite does what I need; it seems to
encode the data in a special form; I just want to be able to write types other
than []byte; they need to be unmodified
07:01 -!- andern [n=NA@55.84-234-230.customer.lyse.net] has quit [Read error: 60
(Operation timed out)]
07:01 -!- clip9 [i=tj@12.81-166-62.customer.lyse.net] has quit [Read error: 60
(Operation timed out)]
07:02 < scandal> wobsite: maybe the "binary" package is more suitable
07:02 < scandal> encoding/binary
07:03 -!- andern [n=NA@55.84-234-230.customer.lyse.net] has joined #go-nuts
07:04 < wobsite> bingo.
07:04 -!- clip9 [i=tj@12.81-166-62.customer.lyse.net] has joined #go-nuts
07:04 < wobsite> been looking for this for days.
07:04 -!- rgammans [n=roger@host-84-9-50-142.dslgb.com] has quit ["Leaving"]
07:04 < sagilpin> Does anyone know if there is an easy way to get a copy of
the underlying array corresponding to a slice?  (I want to be able to modify a
copy the array without changing original)
07:05 -!- andrewh [n=andrewh@94-194-56-42.zone8.bethere.co.uk] has quit [Client
Quit]
07:06 < scandal> sagilpin: there is bytes.Copy() but only for []byte
07:07 < sagilpin> My array is int, but where would I look that up?  Where
did you find out about that method?
07:07 -!- buluca [n=buluca@93-36-112-168.ip59.fastwebnet.it] has joined #go-nuts
07:07 < scandal> http://golang.org/pkg/
07:08 -!- limec0c0nut [n=michael@c-24-12-53-42.hsd1.il.comcast.net] has quit
["Leaving"]
07:09 -!- ntg [n=nate@user44.net178.whitworth.edu] has joined #go-nuts
07:09 < sagilpin> I see, thanks scandal.  I'll look to see if I can find my
answer there.
07:11 < fracture> `/[art
07:11 -!- BMeph_ is now known as BMeph
07:11 -!- fracture [n=ad@ip68-111-13-125.tc.ph.cox.net] has left #go-nuts []
07:11 -!- annodomini [n=lambda@wikipedia/lambda] has quit []
07:13 < Dreamer3_MBP17> What is the value of the first triangle number to
have over five hundred divisors?
07:14 < Dreamer3_MBP17> hmmm
07:14 -!- aroneous [n=aroneous@121-73-167-62.dsl.telstraclear.net] has joined
#go-nuts
07:14 < scandal> sagilpin: i've been putting array utility routines into my
own package http://www.cs.hmc.edu/~me/go/arrays.go
07:14 -!- depood [n=depood@chello080108055214.19.11.vie.surfer.at] has joined
#go-nuts
07:16 -!- Floppy [n=stranded@ool-18bf4330.dyn.optonline.net] has joined #go-nuts
07:16 < sagilpin> scandal: this is nice, save me the trouble of doing it
myself, until I figure out if it is supported natively.  Thanks.
07:25 -!- engla [n=ulrik@wikipedia/Sverdrup] has quit [Read error: 110 (Connection
timed out)]
07:26 < Dreamer3_MBP17> ok this is hard
07:27 -!- lenst [n=user@90-229-131-67-no52.tbcn.telia.com] has joined #go-nuts
07:28 -!- Adys [n=Adys@unaffiliated/adys] has quit ["I ♥ Unicode"]
07:29 -!- thomastim [n=n@160.231.221.87.dynamic.jazztel.es] has joined #go-nuts
07:30 < sagilpin> scandal: It looks like creating a library for this, the
way you did, is the thing to do currently.  The way they copy the byte arrays is
the same way you do.
07:30 -!- thomastim [n=n@160.231.221.87.dynamic.jazztel.es] has quit [Remote
closed the connection]
07:31 -!- trickie [n=trickie@94.100.112.225] has joined #go-nuts
07:31 < sagilpin> unless someone knows how to convert an int slice to a byte
slice
07:32 -!- Xavvy [i=kintoen@bitchx/dev/eth0] has quit ["brb"]
07:33 -!- andern [n=NA@55.84-234-230.customer.lyse.net] has quit [Read error: 104
(Connection reset by peer)]
07:33 < vegai> hey...  can a piece of FFI code block all goroutines?
07:33 < Dreamer3_MBP17>
http://projecteuler.net/index.php?section=problems&id=12 do you have to be some
math genious to solve this quickly?
07:33 -!- Alkavan [n=igal@77.124.62.58] has quit [Read error: 110 (Connection
timed out)]
07:33 < vegai> Dreamer3_MBP17: given that it's project euler, the quick
answer is YES
07:34 < vegai> I actually got the same feeling already at problem #3
07:34 < Dreamer3_MBP17> problem 3 was easy
07:34 < Dreamer3_MBP17> real 0m2.014s
07:35 < vegai> but I think you can solve that one with brute force, too
07:35 < Dreamer3_MBP17> oh i'm writing routes for all these, i don't know
any super smart math thingies
07:35 -!- sku [n=sk@217.175.4.65] has joined #go-nuts
07:35 < Dreamer3_MBP17> problem 3 wasn't even a hard brute force though with
a little smarts
07:36 < vegai> did you solve #3 with brute force too?
07:36 -!- andern [n=NA@55.84-234-230.customer.lyse.net] has joined #go-nuts
07:36 < Dreamer3_MBP17> you just start finding small divisors and then check
if their inverse is prime :)
07:36 < Dreamer3_MBP17> since the way to get the big disivor is divide by
the small divisors
07:36 < vegai> yeah, I guess that's one of the things I forgot from my
discrete math course
07:37 < vegai> what a waste of time that was, too :-/
07:37 < Dreamer3_MBP17> problem 12 has me stuck though
07:37 < Dreamer3_MBP17> i'm pretty sure i have a brute force solution
07:37 < Dreamer3_MBP17> but it's way too slow
07:37 * Dreamer3_MBP17 pasted
http://pastie.textmate.org/private/3j6dhtbkffwzbdalkh6jlq
07:37 * Dreamer3_MBP17 pasted
http://pastie.textmate.org/private/qjaxkwksky7ikdpo4ilqga
07:38 < jdp> i dunno how feasible this is, but for each triangle number keep
a list of its factors
07:38 < Dreamer3_MBP17> how does that help?
07:38 -!- Alkavan [n=igal@77.126.218.205] has joined #go-nuts
07:38 < jdp> and every time you find another triangle number, check if any
of its higher factors are also triangle numbers
07:38 < vegai> yeah, seems like the earlier ones share the factors
07:38 < jdp> then, you already have the rest of that number's list
07:38 < vegai> hmm, but not all
07:38 < jdp> so you don't have to keep factoring for numbers you already
have
07:39 < vegai> ah
07:39 < Dreamer3_MBP17> hmm
07:40 < Dreamer3_MBP17> i'm not sure that's clear to me
07:41 -!- turutosiya [n=turutosi@219.106.251.65] has joined #go-nuts
07:41 < Dreamer3_MBP17> the highest divisor count i've seen is like 288
07:41 < Dreamer3_MBP17> i was reading stuff on divisor functions on
wikipedia but it goes all crazy math over my head
07:41 -!- dschn [n=dschn@pool-70-19-224-19.bos.east.verizon.net] has quit
[Connection timed out]
07:42 < lifeless> its kind of relevant, that is a very math heavy problem ;)
07:43 < jaxdahl> well, you know you can put an upper bound on it easily
07:43 < Dreamer3_MBP17> ?
07:43 < jaxdahl> find the 500th prime
07:43 < bogen> golang-ctfe - Project Hosting on Google Code
<http://code.google.com/p/golang-ctfe/> I made a macro preprocessor of sorts
in Go.
07:43 -!- octoploid [n=octoploi@77-23-212-222-dynip.superkabel.de] has quit
["WeeChat 0.3.1-dev"]
07:43 < jaxdahl> then sum 1:500th_prime
07:43 -!- blackmagik [n=blackmag@unaffiliated/blackmagik] has quit ["Leaving"]
07:43 < jaxdahl> that's your upper bound
07:44 < Dreamer3_MBP17> not sure how that helps
07:44 -!- trickie [n=trickie@94.100.112.225] has quit ["outty"]
07:44 < jaxdahl> it doesn't :)
07:44 < jaxdahl> just lets you know if you screwed up
07:44 < Dreamer3_MBP17> *rolls eyes*
07:44 -!- trickie [n=trickie@94.100.112.225] has joined #go-nuts
07:44 < Dreamer3_MBP17> 8018010 192
07:44 < Dreamer3_MBP17> 8022015 24
07:44 < Dreamer3_MBP17> 8026021 4
07:44 < Dreamer3_MBP17> 8030028 24
07:44 < Dreamer3_MBP17> that is just too random
07:46 < Dreamer3_MBP17> 10767120 320
07:46 -!- robsc [n=robsc@203.39.247.241] has quit [Read error: 110 (Connection
timed out)]
07:46 < Dreamer3_MBP17> new high
07:46 -!- LaSa_out [n=pedro@184.Red-83-50-170.dynamicIP.rima-tde.net] has quit
[Read error: 60 (Operation timed out)]
07:49 -!- itrekkie [n=itrekkie@ip72-200-108-156.tc.ph.cox.net] has joined #go-nuts
07:49 < Dreamer3_MBP17> jumping too the top an then coming down doesn't even
always help either since the bigger a number is doesn't necessaril make it more
divisible
07:50 < jaxdahl> Dreamer3, how many divisors did 2162160 have?
07:50 < Dreamer3_MBP17> dunno
07:50 < depood> does anyone using xcode for go?
07:51 < jaxdahl> Dreamer3, check 17907120
07:51 < Dreamer3_MBP17> uh my routine hasn't gotten that far
07:53 -!- stesla [n=samuel@saffron.thoughtlocker.net] has left #go-nuts []
07:53 -!- daub [n=daub@91-66-67-186-dynip.superkabel.de] has left #go-nuts []
07:54 < jaxdahl> Dreamer3, finally remember my euler login details
07:54 < Dreamer3_MBP17> ha
07:54 < jaxdahl> you better optimize or the sun will burn out
07:55 -!- delza [n=delza@66.183.63.49] has quit []
07:56 < Dreamer3_MBP17> crap :)
07:56 < Dreamer3_MBP17> made my Divisor_count method WAY faster :)
07:56 -!- uchouhan [n=Adium@cpe-76-174-46-7.socal.res.rr.com] has joined #go-nuts
07:56 < Dreamer3_MBP17> find the largest disivor when we find the smallest,
and don't iterate past that
07:57 -!- buluca [n=buluca@93-36-112-168.ip59.fastwebnet.it] has left #go-nuts []
07:57 -!- ShadowIce [n=pyoro@unaffiliated/shadowice-x841044] has joined #go-nuts
07:58 -!- zerofluid [n=zeroflui@ip68-227-10-141.lv.lv.cox.net] has quit
["Leaving"]
07:58 -!- multivee [n=fonzwalt@21strategy.com] has left #go-nuts []
07:58 < jaxdahl> http://projecteuler.net/index.php?section=problems&id=197
this is the highest # i solved, i haven't been back in a while
07:59 < Dreamer3_MBP17> you solved 1-197?
08:00 < jaxdahl> no
08:00 < jaxdahl> i solved 35 of them
08:00 < Dreamer3_MBP17> i was trying them in order mostly :)
08:00 < jaxdahl> i didn't try them all
08:01 -!- strlen [n=alex@behemoth.strlen.net] has quit [Read error: 60 (Operation
timed out)]
08:01 -!- jeffhill [n=jeff@ip72-211-208-177.oc.oc.cox.net] has quit []
08:02 -!- jharrys [n=de043124@c-71-195-253-55.hsd1.ut.comcast.net] has quit
["Leaving."]
08:04 -!- seymour [i=mike@dsl-145-143-168.telkomadsl.co.za] has quit [Read error:
104 (Connection reset by peer)]
08:04 -!- asmo [n=asmo@c83-248-96-173.bredband.comhem.se] has joined #go-nuts
08:05 -!- kill-9 [n=kill-9@cpe-65-24-145-70.columbus.res.rr.com] has joined
#go-nuts
08:07 -!- seymour_ [i=mike@dsl-145-143-168.telkomadsl.co.za] has joined #go-nuts
08:07 -!- alt^255 [n=k@85.88.27.205] has joined #go-nuts
08:07 -!- existsec_ [n=existsec@76-228-31-64.lightspeed.frokca.sbcglobal.net] has
quit ["Leaving"]
08:07 < uriel> alexsuraci: maybe you should add a link to the github page
from gopaste.org?
08:09 < mitchellh> Go has no https (SSL/TLS) support yet does it?
08:09 < mitchellh> Would probably have to use cgo to link in to openssl or
something eh?
08:09 -!- strlen [n=alex@behemoth.strlen.net] has joined #go-nuts
08:13 < Dreamer3_MBP17> got it :)
08:13 < Dreamer3_MBP17> wow
08:13 < Dreamer3_MBP17> 1.7 seconds :)
08:13 < vegai> can a piece of FFI code block all goroutines?
08:13 < Dreamer3_MBP17> problem was a slow Divisor_count function
08:15 -!- Popog [n=Adium@71.121.200.233] has quit ["Leaving."]
08:15 -!- furbage [n=furbage@87-194-207-82.bethere.co.uk] has joined #go-nuts
08:15 < uriel> mitchellh: its got quite a bit of crypto code implemented, so
that could be an start..
08:15 -!- alex725629 [n=alex7256@58.37.83.112] has joined #go-nuts
08:16 -!- furbage [n=furbage@87-194-207-82.bethere.co.uk] has quit [Client Quit]
08:16 < Dreamer3_MBP17> jaxdahl: look at this
08:16 * Dreamer3_MBP17 pasted
http://pastie.textmate.org/private/f9tolqpgbsrbqj7qtmmqq
08:16 < Dreamer3_MBP17> use that inverse divisor trick
08:16 -!- quietdev [n=quietdev@unaffiliated/quietdev] has left #go-nuts []
08:17 < uriel> mitchellh: bindings for openssl should not be too hard to
build either
08:17 -!- Irssi: #go-nuts: Total of 469 nicks [0 ops, 0 halfops, 2 voices, 467
normal]
08:17 -!- seymour [i=mike@dsl-145-143-168.telkomadsl.co.za] has joined #go-nuts
08:19 -!- Manish_mah [n=chatzill@c-67-189-144-6.hsd1.ma.comcast.net] has joined
#go-nuts
08:19 -!- recover [i=recover@ip21278.lbinternet.se] has joined #go-nuts
08:21 -!- hd_ [n=hd_@253.176.233.220.static.exetel.com.au] has quit [Connection
timed out]
08:21 -!- seymour_ [i=mike@dsl-145-143-168.telkomadsl.co.za] has quit [Read error:
60 (Operation timed out)]
08:22 -!- jonesy_ [n=jonesy@68.64.144.211] has joined #go-nuts
08:22 -!- seymour [i=mike@dsl-145-143-168.telkomadsl.co.za] has quit [Read error:
54 (Connection reset by peer)]
08:23 -!- seymour [i=mike@dsl-145-143-168.telkomadsl.co.za] has joined #go-nuts
08:23 -!- shambler [n=sil@213.184.241.199] has joined #go-nuts
08:23 -!- jonesy [n=jonesy@68.64.144.211] has quit [Read error: 110 (Connection
timed out)]
08:23 -!- jonesy_ is now known as jonesy
08:24 < hansstimer> mitchellh: I heard from someone on Go that they are
working on it and should have it checked in a few weeks
08:26 < FxChiP> hm
08:26 < FxChiP> Has anyone done CGI stuff with it?
08:26 -!- existsec_ [n=existsec@76-228-31-64.lightspeed.frokca.sbcglobal.net] has
joined #go-nuts
08:28 -!- kaigan|work
[n=kaigan@c-8290e255.1411-10-64736c14.cust.bredbandsbolaget.se] has joined
#go-nuts
08:28 -!- Manish_mah_ [n=chatzill@c-67-189-144-6.hsd1.ma.comcast.net] has joined
#go-nuts
08:29 -!- FxChiP [n=FxChiP@99-72-237-154.lightspeed.frokca.sbcglobal.net] has quit
[Read error: 60 (Operation timed out)]
08:30 -!- LaSaRuX [n=pedro@88.19.37.17] has joined #go-nuts
08:30 < mitchellh> hansstimer: ah, then maybe i should wait
08:31 -!- blankthemuffin [n=josh@116.250.39.225] has quit [Read error: 131
(Connection reset by peer)]
08:31 < hansstimer> mitchellh: I would think so
08:31 -!- FxChiP [n=FxChiP@99-72-237-154.lightspeed.frokca.sbcglobal.net] has
joined #go-nuts
08:32 -!- Snert [n=chatzill@puff.snert.com] has joined #go-nuts
08:33 -!- seymour_ [i=mike@dsl-145-143-168.telkomadsl.co.za] has joined #go-nuts
08:34 -!- abbyz [n=abhishek@unaffiliated/abbyz] has joined #go-nuts
08:35 -!- octoploid [n=octoploi@77-23-212-222-dynip.superkabel.de] has joined
#go-nuts
08:37 -!- seymour [i=mike@dsl-145-143-168.telkomadsl.co.za] has quit [Read error:
104 (Connection reset by peer)]
08:39 -!- nigwil [n=chatzill@59.167.78.229] has quit [Read error: 148 (No route to
host)]
08:40 < Dreamer3_MBP17> Users/jgoebel/go/euler/problem16.go:16: cannot
define new methods on non-local type bignum.Integer
08:40 < Dreamer3_MBP17> hmmmm
08:40 -!- turutosiya [n=turutosi@219.106.251.65] has quit [Read error: 110
(Connection timed out)]
08:40 < Dreamer3_MBP17> that seems annoying
08:40 -!- hyn [n=hyn@p0a38fe.tokyte00.ap.so-net.ne.jp] has joined #go-nuts
08:41 < Snert> morning
08:42 < Dreamer3_MBP17> morning
08:42 < hansstimer> morning
08:42 -!- delsvr [n=delsvr@cpe-67-242-41-219.twcny.res.rr.com] has quit []
08:43 < Snert> Hmm.  Reminds me of the fish tank scene in Monty Python's
Meaning of Life
08:44 < Dreamer3_MBP17> so how would i go about adding a Pow function to
bignum?
08:44 < jabb> when wrapping a C library for Go, does the shared library
location always have to be the default location?  Can it search for the shared
library in the same directory as the executable?
08:44 -!- Manish_mah [n=chatzill@c-67-189-144-6.hsd1.ma.comcast.net] has quit
[Read error: 110 (Connection timed out)]
08:45 < hansstimer> the docs say if you want to add methods to a builtin
type you should wrap the type and then create methods for the wrapped type
08:45 -!- dRiZzle [n=dRizzle@77.221.236.236] has joined #go-nuts
08:50 -!- seymour_ [i=mike@dsl-145-143-168.telkomadsl.co.za] has quit [Read error:
60 (Operation timed out)]
08:52 -!- sliceofpi [n=Adium@c-98-201-178-27.hsd1.tx.comcast.net] has joined
#go-nuts
08:53 < sliceofpi> Has anyone put together a textmate bundle for the go
language syntax highlighting?
08:54 < hansstimer> sliceofpi: there is one on github
08:54 < sliceofpi> just found it
08:54 < sliceofpi> hansstimer: thanks
08:55 -!- nigwil [n=chatzill@ppp59-167-78-229.lns20.hba1.internode.on.net] has
joined #go-nuts
08:55 -!- seymour_ [i=mike@dsl-145-143-168.telkomadsl.co.za] has joined #go-nuts
08:56 < sliceofpi> Anybody know what google's response is to the
pre-existing go language?
08:56 -!- blankthemuffin [n=josh@116.250.39.225] has joined #go-nuts
08:59 < KirkMcDonald> I'm slowly accruing a library of boilerplate
functions.
08:59 < sliceofpi> Anyone start an intriguing projects using go yet?  I'm
trying to gauge the reception of go by the community...
08:59 < KirkMcDonald> I'm writing a command-line option parser.
09:00 < KirkMcDonald> After that, I was going to hack together a build tool.
09:00 < mizai> let's port Tango to Go and fragment the community :D
09:00 -!- zilt [n=aking@74.210.120.119] has joined #go-nuts
09:00 < KirkMcDonald> mizai: Oh lord no I will end you.
09:00 < mizai> haha
09:00 < bogen> I'm working on macro/preprocessor front end.
09:00 < mizai> a rebuild like tool for go would be nice though
09:01 -!- petr [i=uyawo@rzstud3.stud.uni-karlsruhe.de] has joined #go-nuts
09:01 < KirkMcDonald> mizai: An exactly equivalent tool can't be done.
09:01 < KirkMcDonald> mizai: An import does not imply any source files.
09:01 < mizai> ah
09:01 < bogen> Well, my preprocessor is already working, and the macro
language is just Go.
09:01 < KirkMcDonald> mizai: But you could make a tool which, given a
complete list of source files, can determine the complete dependency graph.
09:02 < mizai> KirkMcDonald: still pretty nice :)
09:02 < KirkMcDonald> Indeed.
09:02 < sliceofpi> what are ya'll using go for in terms of development?
Anything outside of tools for improving development with go?  like, iunno, a
cometd implementation, for instance?
09:02 < KirkMcDonald> sliceofpi: vim and make.
09:02 < bogen> Gedit and make.
09:04 < mizai> sliceofpi: Google's super secret new text editor.  They've
been releasing a new project every two weeks it seems, so why not?
09:04 -!- fabled [n=fabled@letku109.adsl.netsonic.fi] has joined #go-nuts
09:04 -!- unomystEz_ [n=burnin@unaffiliated/unomystez] has quit [Read error: 54
(Connection reset by peer)]
09:05 -!- seymour_ [i=mike@dsl-145-143-168.telkomadsl.co.za] has quit [Read error:
104 (Connection reset by peer)]
09:05 -!- unomystEz_ [n=burnin@unaffiliated/unomystez] has joined #go-nuts
09:05 < sliceofpi> let me rephrase: Is anyone building any actual software
using go that has a comparable c software?  I'm toying with building some
prototype implementation of something like a cometd server just to get a feel for
go but i'm curious what other types of projects people are pursuing with go...
09:05 < KirkMcDonald> Well, the language has been public for less than a
week.
09:06 < sliceofpi> Yes, I'm aware.
09:06 -!- zeebo- [n=zeebo-@pool-74-110-97-28.nrflva.fios.verizon.net] has quit
[Read error: 60 (Operation timed out)]
09:06 < KirkMcDonald> So it's not like there is any mature, production-ready
software written in Go. :-)
09:06 -!- AryehGregor [n=Simetric@mediawiki/simetrical] has quit [Read error: 60
(Operation timed out)]
09:06 -!- vcgomes [n=vcgomes@li17-238.members.linode.com] has quit [Read error: 60
(Operation timed out)]
09:06 -!- wooden [n=anon@user-387hrrg.cable.mindspring.com] has quit [Read error:
60 (Operation timed out)]
09:06 < wobsite> sliceofpi : I'm sorta fooling with writing an xlib for go.
09:06 -!- magglass1 [n=notroot@unaffiliated/magglass1] has quit [Read error: 60
(Operation timed out)]
09:06 < sliceofpi> Of course not
09:06 -!- magglass1 [n=notroot@unaffiliated/magglass1] has joined #go-nuts
09:06 < fabled> i'd like to ask some assembly level implementation details,
any one here with the knowledge who could spare a minute?
09:06 -!- vcgomes [n=vcgomes@li17-238.members.linode.com] has joined #go-nuts
09:06 < wobsite> but obviously I haven't gotten very far
09:06 -!- wooden [n=anon@user-387hrrg.cable.mindspring.com] has joined #go-nuts
09:06 < wobsite> and frankly it may be a bit over my head.
09:06 -!- AryehGregor [n=Simetric@mediawiki/simetrical] has joined #go-nuts
09:07 -!- zeebo- [n=zeebo-@74.110.97.28] has joined #go-nuts
09:07 < me___> fabled: what kind of stuff?
09:07 < fabled> specifics about goroutine creation, how goroutines are
scheduled and about stack management
09:07 -!- Sylvain_ [i=d4528311@gateway/web/freenode/x-eyeeygxuowvfiffh] has joined
#go-nuts
09:08 < me___> fabled: on what platforms?
09:08 -!- petr [i=uyawo@rzstud3.stud.uni-karlsruhe.de] has left #go-nuts []
09:08 < fabled> me___: mostly x86
09:09 < fabled> but i guess the same principals apply to all platforms
09:09 < sliceofpi> What's everybody's language backgrounds?
09:09 < KirkMcDonald> sliceofpi: I've spent the most time in C, C++, Python,
D.
09:09 < KirkMcDonald> sliceofpi: Dabbled in others.
09:09 < sliceofpi> KirkMcDonald: so you are a systems programmer, mostly?
09:10 < wobsite> C, Java mostly, but a bit of everything
09:10 < me___> okay.  in linux/386, newosproc() (in
src/pkg/runtime/thread.c) creates host threads onto which coroutines are
multiplexed.  these host threads don't go away atm.
09:10 < KirkMcDonald> I am actually paid to write Python.  :-)
09:10 < me___> pkg/runtime/proc.c contains the go-level scheduler, which
takes coroutines and muxes them onto host threads (called Ms. yay single letters).
09:10 < wobsite> I mess around with a lot of languages, but most of what I
end up actually seriously writing stuff in is C/Java
09:10 -!- vz_ [n=vz@static133-147.adsl.no] has joined #go-nuts
09:11 < wobsite> actually, pretty proficient in sh too
09:11 < sliceofpi> KirkMcDonald: ah, me, too.  i do primarily django
development for my consulting company (Slice of Pi) but I also dabble in
customized PLM/CRM implementations using C#/VB.NET/Java/Javascript/whatever's
available.
09:11 < me___> there is a runqueue in proc.c, on which coroutines are
enqueued.
09:12 < me___> each M is inside scheduler().  we take one off, dispatch.
09:13 -!- cankoy [n=cankoy@94.54.13.77] has joined #go-nuts
09:13 < me___> any more particulars you were interested in?
09:13 < fabled> me___: proc.c looks the interesting bits.  is scheduler run
on single thread, or multiple threads concurrently?
09:13 < me___> multiple afaik.  each Mach (M) runs mstart at spinup.
09:14 < me___> a lock in the sched structure protects the coroutine queue.
09:14 < fabled> oh
09:15 < fabled> so it'll likely perform better when there's fewer goroutine
context switches
09:15 < fabled> since scheduling is not lock free
09:15 < fabled> how about the stack management?
09:15 < me___> i don't know, haven't looked into it..
09:16 < fabled> sounds like it just has custom epilogue and prologue code
for generated functions that alloc more stack from heap
09:16 < KirkMcDonald> I am given to understand that the current scheduler
(as well as the GC) are far from the final desired implementations.
09:16 < fabled> GC is to be rewritten according to web page
09:16 < me___> the GC is a mark/sweep that's marked 'NOT FOR PRODUCTION'.
09:16 < fabled> did not find anything about scheduler
09:17 < KirkMcDonald> I remember hearing something about the scheduler using
a single global lock for context switches or something.  I forget.
09:17 < me___> re GC: i hear that they're looking into IBM's Recycler
project.
09:17 < KirkMcDonald> me___: Yes, I heard this, too.
09:17 < me___> KirkMcDonald: yes, that's case currently.
09:17 -!- defectiv [n=clays@c-24-5-65-40.hsd1.ca.comcast.net] has quit ["This
computer has gone to sleep"]
09:18 < fabled> any idea why Plan9 compiler was used as basis?
09:18 < KirkMcDonald> fabled: Same people.
09:18 < fabled> ah
09:18 < me___> ken thompson wrote it, (kencc).  its simple and compiles
fast.
09:18 < vegai> s/Same/Sane/
09:18 < me___> its pretty portable too.
09:20 < fabled> ah, proc.c has the stack extending mechanism explained too
09:21 -!- Lorthirk [n=cm0901@109.113.34.93] has joined #go-nuts
09:24 -!- Floppy [n=stranded@ool-18bf4330.dyn.optonline.net] has quit ["and while
I bring in every dink in the kingdom with open wings...it all boils down to them
shit-soaked pigs"]
09:24 -!- uchouhan [n=Adium@cpe-76-174-46-7.socal.res.rr.com] has quit
["Leaving."]
09:25 -!- sowa [n=sowa@85.214.104.79] has joined #go-nuts
09:26 -!- raichoo [n=raichoo@lain.dhcp.uni-bielefeld.de] has joined #go-nuts
09:26 -!- sowa [n=sowa@85.214.104.79] has quit [Client Quit]
09:26 -!- sowa [n=sowa@85.214.104.79] has joined #go-nuts
09:28 -!- raphael_ is now known as raphael
09:28 -!- UKRep547 [n=jcricket@80.68.93.104] has joined #go-nuts
09:28 < UKRep547> hey all!  I just wanted to talk about syntax declarations
of pointers from Go.
09:29 -!- mainman__ [n=Adium@host247-200-dynamic.45-79-r.retail.telecomitalia.it]
has joined #go-nuts
09:29 <+danderson> feel free, but the go team (most likely to have useful
answers) is on california time, so they're not around right now
09:29 < c_nick> hi i was trying to setup gccgo i finished sourcecode and
building phrases listed on http://golang.org/doc/gccgo_install.html but now when i
go gccgo myfile.go i get an error message cannot find gccgo..  while 8g works fine
09:30 -!- mainman__ [n=Adium@host247-200-dynamic.45-79-r.retail.telecomitalia.it]
has quit [Client Quit]
09:30 < UKRep547> the argument was you declare "var <names>
<type>", the argument being that in C "int* a,b" was confusing.  Well of
course it's confusing.  That's the wrong way of declaring variables in C. You
should put the asterisk next to the variable name, not the type name.  Really, I
talk about comparing oranges to apples.  Nothing confusing about "int a, *b, c;"
in C.
09:30 -!- evilhackerdude [n=stephan@e181102016.adsl.alicedsl.de] has joined
#go-nuts
09:31 < UKRep547> thanks danderson I'm aware the Americans are (if sensible)
sound asleep at this time.  I just have to rant and this is the only place to do
it wrt Go :)
09:31 < UKRep547> Go is getting a lot of airtime on stackoverflow.com
09:32 <+danderson> UKRep547: you could also check out the mailing list.  I
think I recall something over there about declaration syntax
09:32 < UKRep547> ok thanks danderson
09:32 < sliceofpi> I'm an unsensible american.
09:32 < sagax> but it's more than not being around...  they are _asleep_
09:32 < me___> sliceofpi: me too.
09:32 < sliceofpi> 3:30 am
09:33 -!- lux` [n=lux@151.54.240.177] has joined #go-nuts
09:33 -!- Cyprien [n=Cyprien@pub1.heig-vd.ch] has joined #go-nuts
09:33 * UKRep547 wonders who started the bad bad habit of putting the asterisk
next to the type name in C...
09:33 -!- m-takagi is now known as m-takagi_
09:34 < UKRep547> there was a whole generation of CS students completely
confuzzled by that
09:34 < sliceofpi> anyone toyed with connecting to a postgresql or mysql
database using go?  or at least looked into the amount of work involved?
09:34 <+danderson> sliceofpi: there has been talk of DB interfaces on list
09:35 < sliceofpi> ah…time to subscribe, i see.
09:35 <+danderson> but the basic idea would be to interface with the C lib
with FFI, same as other current bindings
09:35 <+danderson> yes, the peanut gallery has mostly subsided, now only
discussions and longstanding rants remain :)
09:36 < me___> hah.
09:36 -!- melba [n=blee@unaffiliated/lazz0] has joined #go-nuts
09:37 < sliceofpi> mmm, i'm thinking of implementing a redis clone in
go…something to get my feet wet in go…more or less...
09:38 < me___> redis?
09:38 -!- teedex [n=teedex@204.14.155.161] has quit [Remote closed the connection]
09:38 < sliceofpi> http://github.com/antirez/redis/
09:38 * UKRep547 is a longstanding rant
09:39 -!- hector [n=chatzill@client-86-0-126-58.nrth.adsl.virginmedia.com] has
joined #go-nuts
09:39 < sliceofpi> its an in-memory key-value store similar to tokyo
cabinet…kind of interesting project.
09:39 -!- bleam [n=quassel@ppp-124-120-159-9.revip2.asianet.co.th] has joined
#go-nuts
09:39 -!- bleam is now known as BLeAm
09:39 < UKRep547> sliceofpi in-memory key-value store..  different from
memcached?  (I might look up "tokyo cabinet")
09:40 < sliceofpi> Yes, its somewhat different.
09:40 < sliceofpi> http://code.google.com/p/redis/
09:40 < sliceofpi> It does more than memcached if I recall properly
09:40 < sliceofpi> Its pretty damn fast as a kv store…i toyed with it as a
session-store on a smaller site.
09:41 -!- ncopa [n=ncopa@90.149.51.19] has joined #go-nuts
09:41 -!- alex725629 [n=alex7256@58.37.83.112] has left #go-nuts []
09:41 -!- Chaze [n=Chase@dslb-094-219-221-200.pools.arcor-ip.net] has joined
#go-nuts
09:41 -!- bogen [n=bogen@cpe-76-186-22-145.tx.res.rr.com] has quit [Read error: 60
(Operation timed out)]
09:43 < jabb> to convert to another type of pointer you just do, "*int(p)"?
09:43 < UKRep547> ooh can you do that jabb?
09:43 * UKRep547 is curious
09:43 < jdp> sliceofpi: http://github.com/dustin/gomemcached
09:43 < jabb> I'm asking :P
09:43 < jdp> might be interesting to you
09:44 < jdp> code isn't very clean i don't think
09:44 -!- adante [n=adante@59.167.212.65] has quit [Read error: 60 (Operation
timed out)]
09:44 -!- adante [n=adante@59.167.212.65] has joined #go-nuts
09:44 < UKRep547> I would bet you can't, jabb..  it would seem to contradict
the design intentions of the language
09:44 < sliceofpi> jdp: thanks, that is interesting
09:44 < jdp> i'm actually doing something similar to learn go as well :)
09:45 -!- Kniht [n=kniht@c-68-58-17-177.hsd1.in.comcast.net] has joined #go-nuts
09:46 < sliceofpi> jdp: what are you doing?
09:46 < jdp> priority queue server
09:47 < sliceofpi> ah
09:47 -!- Decoy_ [n=decoy@ns1.ukr.ua] has joined #go-nuts
09:47 < UKRep547> thanks jdp that looks interesting (go source for memcached
server)
09:48 -!- osmosis [n=steven@cpe-98-148-47-216.socal.res.rr.com] has joined
#go-nuts
09:49 -!- Decoy_ is now known as mfilenko
09:51 -!- robcat [i=d9947a35@gateway/web/freenode/x-mmemavmpofpbmeky] has joined
#go-nuts
09:53 -!- Fl1pFl0p1 [n=FlipFlop@unaffiliated/fl1pfl0p] has left #go-nuts []
09:54 < Snert> dho: where are ALL your updates for FreeBSD?
09:57 < Dreamer3_MBP17> hmmm
09:57 < Dreamer3_MBP17> not sure what i'm missing this time
09:58 < Dreamer3_MBP17>
http://projecteuler.net/index.php?section=problems&id=17
09:58 < Dreamer3_MBP17> 21224 is my answer
09:58 -!- hansstimer [n=hans@c-98-234-25-125.hsd1.ca.comcast.net] has quit [Read
error: 110 (Connection timed out)]
09:58 -!- nigwil [n=chatzill@ppp59-167-78-229.lns20.hba1.internode.on.net] has
quit ["ChatZilla 0.9.85 [Firefox 3.5.5/20091102152451]"]
09:58 < jdp> how do i check for specific errors in go
09:58 < jdp> like n, err := whatever.Read(buf[0:32])
09:58 < jdp> how do i check if err is an EOF error
09:59 < Dreamer3_MBP17> not sure, what type is err?
09:59 < jdp> good question
09:59 < Dreamer3_MBP17> code will say
09:59 < jdp> it's reading from a tcpconn
10:00 < jdp> so i'm assuming os
10:00 < jdp> os.Error
10:00 -!- mitchellh [n=mitchell@c-71-231-140-22.hsd1.wa.comcast.net] has quit
["Leaving."]
10:01 -!- bogen [n=bogen@76.186.22.145] has joined #go-nuts
10:01 -!- jandem [n=jandem@unaffiliated/jandem] has joined #go-nuts
10:03 -!- hyn [n=hyn@p0a38fe.tokyte00.ap.so-net.ne.jp] has quit ["Get MacIrssi -
http://www.sysctl.co.uk/projects/macirssi/"]
10:03 -!- XniX23 [n=XniX23@89-212-198-49.dynamic.dsl.t-2.net] has joined #go-nuts
10:03 -!- robcat_ [i=d9947a35@gateway/web/freenode/x-qqfdfftlcoribnhx] has joined
#go-nuts
10:04 -!- mizai [n=mizai@rhou-164-107-213-187.resnet.ohio-state.edu] has quit
[Read error: 110 (Connection timed out)]
10:04 -!- robcat [i=d9947a35@gateway/web/freenode/x-mmemavmpofpbmeky] has quit
[Ping timeout: 180 seconds]
10:05 -!- BrowserUk [n=Miranda@78.144.205.141] has joined #go-nuts
10:06 -!- wobsite [n=wobsite_@68-189-250-56.static.oxfr.ma.charter.com] has quit
["Leaving"]
10:06 -!- BLeAm [n=quassel@ppp-124-120-159-9.revip2.asianet.co.th] has quit
[Remote closed the connection]
10:07 -!- robcat_ [i=d9947a35@gateway/web/freenode/x-qqfdfftlcoribnhx] has quit
[Client Quit]
10:08 < BrowserUk> Hi all.  Trying to build go under ubunto 9.10.  The build
goes clean until this point: http://pastebin.com/m3d22b8d3 when it stops because
it cannot find gnu/stubs-64.h: No such file or directory.  Any pointers as to what
is missing?
10:09 -!- blankthemuffin [n=josh@116.250.39.225] has quit ["Leaving"]
10:10 < Garibaldi> BrowserUk: in Gentoo-land, that file comes from glibc
10:11 < Garibaldi> and is located at: /usr/include/gnu/stubs-64.h
10:11 < jlouis> BrowserUk: perhaps you miss a glibc-dev package?
10:12 < jlouis> BrowserUk: sudo apt-get install bison gcc libc6-dev ed make
for starters :)
10:12 < jlouis> build-essential is also a package you should install
10:12 -!- osmosis [n=steven@cpe-98-148-47-216.socal.res.rr.com] has quit
["Ex-Chat"]
10:12 < jlouis> worked here without any fuzz
10:17 -!- zhaozhou [n=zhaozhou@linfast53.bitnet.nu] has quit ["Lost terminal"]
10:17 -!- yoga [n=user@ip-126.58.99.216.dsl-cust.ca.inter.net] has left #go-nuts
["ERC Version 5.3 (IRC client for Emacs)"]
10:19 < BrowserUk> jlouis I did issue that command at the appropriate point
and if I reissue it now it says(abbrev's):Reading state information...  Done bison
...gcc ...libc6-dev ...ed ...  make is already the newest version.0 upgraded, 0
newly installed, 0 to remove and 87 not upgraded.
10:19 -!- binBASH [i=michael@stopovr.com] has quit [Read error: 104 (Connection
reset by peer)]
10:20 -!- triplez [n=triplez@bb116-14-22-95.singnet.com.sg] has quit []
10:21 -!- DJCapelis [n=djc@blender/coder/DJCapelis] has quit [Read error: 145
(Connection timed out)]
10:21 -!- jandem [n=jandem@unaffiliated/jandem] has quit ["Leaving"]
10:22 -!- dRiZzle [n=dRizzle@77.221.236.236] has quit [Remote closed the
connection]
10:22 < BrowserUk> jluois I've added build-essential and I'll see what
happens.  (Kinda new to linux dev.)
10:23 -!- awalton [n=awalton@cpe-76-177-53-219.natcky.res.rr.com] has joined
#go-nuts
10:23 < BrowserUk> Nope.  Stops with teh same error at the same place :(
10:24 < Garibaldi> doesn't *buntu have some command that will tell you from
what package a file comes?
10:26 -!- vz_ is now known as vz
10:27 < sladegen> but it only works on installed files /me thinks.
10:27 < mpl> dpkg -S filepath
10:27 < mpl> works on debian, should work on *buntu.
10:27 < Garibaldi> but someone else here probably has the file :-)
10:28 < XniX23> i got cannot find gnu/stubs-32.h when i tried to install
32bit on 64bit arch, so maybe u're trying to install 64 on 32?  just guessing :\
10:29 -!- crashR [n=crasher@codextreme.pck.nerim.net] has quit ["Leaving."]
10:29 < XniX23> or was it that i picked x386 instead of amd64 or smth, dont
remember
10:29 < BrowserUk> I am using a 64-bit Ubunto install ...  so maybe I need
lib6c-amd64?
10:29 -!- raichoo [n=raichoo@lain.dhcp.uni-bielefeld.de] has quit []
10:29 < XniX23> did u do that?  export GOARCH=amd64 ?
10:30 < sladegen> BrowserUk: try it...  and lib6c-amd64-dev package if it
exists.
10:30 -!- Glaxys [n=raskc@c-71-198-186-8.hsd1.ca.comcast.net] has joined #go-nuts
10:30 < Garibaldi> BrowserUk: what does 'uname -m' say?
10:30 < BrowserUk> Indeed...that seems to have done the trick.  Thanks guys.
10:31 < sladegen> that should go in some wiki-faqi-of-da-channel.
10:31 -!- Nanoo [n=Nano@95-89-198-15-dynip.superkabel.de] has joined #go-nuts
10:31 -!- serdar__ [n=serdar@dslb-084-060-209-061.pools.arcor-ip.net] has joined
#go-nuts
10:31 < serdar__> hi
10:32 < serdar__> is this the google go or the other go?
10:32 < XniX23> google
10:32 -!- ephoenix [n=phoenixl@cpe-66-108-194-2.nyc.res.rr.com] has joined
#go-nuts
10:32 < BrowserUk> Well almost....It now stops here:
http://pastebin.com/d2f94f4ee Thoughts anyone?
10:33 < serdar__> what's the new name of go?
10:33 < serdar__> I mean because of issue 9
10:33 < Garibaldi> BrowserUk: what does 'uname -m' say?
10:33 < Norgg> BrowserUk: Might be building for the wrong architecture?
10:34 < UKRep547> BrowserUk, same as the one on perlmonks?
10:34 < BrowserUk> UKRep...Yes.
10:35 < BrowserUk> Is that good or bad :)
10:35 < Garibaldi> odd that I repeat the same question and get no answer.
Ok, good luck :-)
10:35 -!- cbus [n=cbus@83.140.181.59] has joined #go-nuts
10:36 < sladegen> yeah, looks like you are using 32 bit ubuntu on 64 bit
cpu...
10:36 < Garibaldi> sladegen: maybe you can ask him to do a uname -m and see
10:36 < Garibaldi> :-P
10:36 -!- cankoy [n=cankoy@94.54.13.77] has quit ["<-"]
10:36 < XniX23> true lol, wonder why he still didnt do that
10:37 * sladegen shrugs.
10:37 < BrowserUk> Sorry Garibaldi You are coing up in a light brown color
and my eyesight meansd I can barely read you.  The sansweer to your Q is:i686
10:37 < Garibaldi> BrowserUk: you have a 32-bit install
10:37 < sladegen> i only wipe floors here.
10:38 -!- dajero [n=dajero@cp834233-a.gelen1.lb.home.nl] has joined #go-nuts
10:38 < sladegen> export GOARCH=386
10:38 < BrowserUk> mehere@mehere-desktop:~/go/src$ env | grep '^GO'
10:38 < BrowserUk> GOBIN=/home/mehere/bin
10:38 < BrowserUk> GOARCH=amd64
10:38 < BrowserUk> GOROOT=/home/mehere/go
10:38 < BrowserUk> GOOS=linux
10:39 < XniX23> GOARCH=386
10:39 < Garibaldi> you have GOARCH set to amd64, but your Linux installation
is 32-bit
10:39 < Garibaldi> either, GOARCH=386 or reinstall a 64-bit version of Linux
10:39 < BrowserUk> Okay, thanks.  I'll blow away the VM and start again.
10:39 < F1sh> serdar__: Issue9 is a good name
10:40 -!- mitsuhiko [n=mitsuhik@ubuntu/member/mitsuhiko] has joined #go-nuts
10:40 < XniX23> so they're actually gonna change the name?  how did i miss
that :P
10:40 < sladegen> issue9 from outer cyberspace
10:40 < serdar__> F1sh, not the name of the issue but the name of go, which
is discussed on the issue
10:40 < mitsuhiko> new name?
10:40 -!- Kashia [n=Kashia@port-92-200-27-151.dynamic.qsc.de] has quit ["This
computer has gone to sleep"]
10:40 < serdar__> it would be fair.
10:41 < sladegen> XniX23: nah, don't think so...  would have to change logo,
never!
10:41 < BrowserUk> Cheers guys.
10:41 < mitsuhiko> I have a few troubles getting started with slices/arrays.
What would be the idiomatic version of this c code in go?
http://paste.pocoo.org/show/150971
10:41 < jdp> logo wouldnt have the be changed, just the lettered part
10:42 < sladegen> but those two bars sorta imply the swoosh go-movement.
10:42 < F1sh> serdar__: yes, Issue9 as the new name of go
10:42 -!- triplez [n=triplez@cm52.sigma225.maxonline.com.sg] has joined #go-nuts
10:42 -!- robcat [i=d9947a35@gateway/web/freenode/x-bwvoqajymovnqyvd] has joined
#go-nuts
10:42 < serdar__> F1sh, really?  that's nice :)
10:43 < XniX23> lol what a legendary name
10:43 -!- jdp [n=gu@75.97.120.11.res-cmts.senj.ptd.net] has quit []
10:43 -!- Glao [n=raskc@c-71-198-180-232.hsd1.ca.comcast.net] has quit [Connection
timed out]
10:43 -!- Glao [n=raskc@c-71-198-186-8.hsd1.ca.comcast.net] has joined #go-nuts
10:45 -!- smcq [n=smcq@smcq.net] has joined #go-nuts
10:47 -!- cryptobeacon [n=irvin@unaffiliated/cryptobeacon] has joined #go-nuts
10:48 -!- linearz [n=linearz@239.76.50.60.brf01-home.tm.net.my] has joined
#go-nuts
10:48 -!- mizai [n=mizai@rhou-164-107-213-187.resnet.ohio-state.edu] has joined
#go-nuts
10:49 -!- Glaxys [n=raskc@c-71-198-186-8.hsd1.ca.comcast.net] has quit [Connection
timed out]
10:50 -!- Snert [n=chatzill@puff.snert.com] has quit ["ChatZilla 0.9.85 [Firefox
3.5.5/20091102152451]"]
10:51 -!- Snert [n=achowe@puff.snert.com] has joined #go-nuts
10:53 < cryptobeacon> i get a FAIL: http.TestClient error
10:57 -!- afurlan [n=afurlan@scorpion.mps.com.br] has joined #go-nuts
10:58 -!- BrowserUk [n=Miranda@78.144.205.141] has quit ["Miranda IM! Smaller,
Faster, Easier.  http://miranda-im.org"]
10:59 -!- sku [n=sk@217.175.4.65] has quit [Remote closed the connection]
11:01 < sladegen> cryptobeacon:
http://code.google.com/p/go/issues/detail?id=20 ?
11:02 -!- delfick [n=iambob@203-206-117-15.dyn.iinet.net.au] has joined #go-nuts
11:02 -!- scriptdevil [n=scriptde@122.174.127.171] has joined #go-nuts
11:03 -!- u4ia [n=weechat@quepasa.solcon.nl] has joined #go-nuts
11:03 < cryptobeacon> thank sladegen
11:03 -!- plainhao [n=plainhao@mail.xbiotica.com] has quit []
11:04 < Dreamer3_MBP17>
http://projecteuler.net/index.php?section=problems&id=20
11:04 < Dreamer3_MBP17> i'm not sure exactly what it's asking for
11:05 < sladegen> calculate 100!  and sum digits of this number in it's
decimal representation most probably.
11:06 < Dreamer3_MBP17> yeah
11:06 < Dreamer3_MBP17> that was it :)
11:07 * sladegen kills some apostrophes'
11:09 < Dreamer3_MBP17> so is it not possible to add functions to system
classes?
11:09 < sladegen> it's presumably hard if language used doesn't support
bignums.
11:09 < Dreamer3_MBP17> like att my own math functions
11:09 -!- seymour [i=mike@dsl-145-143-168.telkomadsl.co.za] has joined #go-nuts
11:10 < scriptdevil> Dreamer3_MBP17: Well.  System classes?
11:10 -!- rog [n=rog@89.240.185.200] has quit []
11:10 < Dreamer3_MBP17> sure
11:10 < sladegen> no, but you can always alias core types with your own
"type my_string string" typedef.  hadn't yet gone deeper into the interfaces use.
11:10 < Dreamer3_MBP17> there a lots of missing methods
11:10 < scriptdevil> You could if you create your own type
11:11 < Dreamer3_MBP17> i'm talking about non-type methods
11:11 < Dreamer3_MBP17> math.Pow
11:11 < Dreamer3_MBP17> just takes 2 params
11:11 < scriptdevil> Dreamer3_MBP17: Oh. Ok. Well.  create your own library
:)
11:11 < Dreamer3_MBP17> what if i want math.My_super_func
11:11 -!- Lorthirk [n=cm0901@109.113.34.93] has quit [Read error: 104 (Connection
reset by peer)]
11:11 < Dreamer3_MBP17> can i call it math and import the existing math
routines?
11:12 < Dreamer3_MBP17> seemlessly
11:12 < scriptdevil> Dreamer3_MBP17: Create a package called dreamermath :)
11:12 < scriptdevil> Dreamer3_MBP17: No. But you could import . "math" afaik
11:12 < Dreamer3_MBP17> and that does?
11:13 < scriptdevil> Dreamer3_MBP17: Import that in your package and I think
it will be available directly from your package too.  Not sure though
11:14 < sladegen> you could probably create your own math package and do
"var func Pow = math.Pow()" but what's the point...
11:14 -!- RayNbow [i=kirika@scientia.demon.nl] has joined #go-nuts
11:14 -!- mejja [n=user@c-49b6e555.023-82-73746f38.cust.bredbandsbolaget.se] has
quit [Remote closed the connection]
11:14 -!- dajero_ [n=dajero@cp834233-a.gelen1.lb.home.nl] has joined #go-nuts
11:14 < Dreamer3_MBP17> yeah
11:15 < Dreamer3_MBP17> i'm just thinking of ruby where it's so easy to
extend things
11:15 < Dreamer3_MBP17> having import "math" and import "math2" seems weird
11:15 < scriptdevil> sladegen: I meant aren't packages available
transitively?
11:15 < sladegen> or just math.Pow ...  will never know until we try ;)
11:15 < sladegen> scriptdevil: i think that would be to easy.
11:15 < sladegen> s/to/too/
11:16 < Dreamer3_MBP17> package cannot import itself
11:17 < scriptdevil> Dreamer3_MBP17: Of course it can't.  Why did you say
ther?
11:17 < Dreamer3_MBP17> trying to enhance math
11:17 -!- seymour [i=mike@dsl-145-143-168.telkomadsl.co.za] has quit [Read error:
60 (Operation timed out)]
11:17 < sladegen> if they disallowed attaching new methods to types from
imported packages i would guess that imported bindings are not visible outside of
packages, too.
11:18 < Dreamer3_MBP17> yeah, that bugs me too
11:18 < Dreamer3_MBP17> that i can't attach new methods to imported types
11:18 < sladegen> unless you assign them to package local names...
11:18 < Dreamer3_MBP17> ?
11:19 -!- engla [n=ulrik@90-229-231-23-no153.tbcn.telia.com] has joined #go-nuts
11:20 < mitsuhiko> anyone can give me a hint how such code would look like
in go?  http://paste.pocoo.org/show/150971/
11:21 < mitsuhiko> i have not fully understood yet how i would replace
realloc and pass out an array from a function
11:21 -!- Chaze [n=Chase@dslb-094-219-221-200.pools.arcor-ip.net] has quit []
11:21 < mitsuhiko> or what's the best way to read from stdin to the end of
file into a []byte
11:23 < scriptdevil> mitsuhiko: Well.  bufio.Read(os.Stdin ...
11:23 -!- raichoo [n=raichoo@i577AF286.versanet.de] has joined #go-nuts
11:24 -!- Manish_mah_ [n=chatzill@c-67-189-144-6.hsd1.ma.comcast.net] has quit
[Read error: 110 (Connection timed out)]
11:24 < mitsuhiko> scriptdevil: egl.  var text []byte; nn, err :=
bufio.Read(text); ?
11:25 -!- alt^255 [n=k@85.88.27.205] has left #go-nuts []
11:27 -!- dibb [n=dibb@ashera.openend.se] has quit [Read error: 60 (Operation
timed out)]
11:27 < sladegen> well it sort of worked...
11:28 -!- Zaba_ is now known as Zaba
11:28 -!- dibb [n=dibb@ashera.openend.se] has joined #go-nuts
11:28 -!- seymour [i=mike@dsl-145-143-168.telkomadsl.co.za] has joined #go-nuts
11:30 < scriptdevil> mitsuhiko: No. I think I know a long way.  There could
be something shorter.  Use var x of type bytes.Buffer.  use r :=
bufio.NewReader(x) Then use the r.Read(), x.Bytes()
11:30 -!- dajero [n=dajero@cp834233-a.gelen1.lb.home.nl] has quit [Read error: 110
(Connection timed out)]
11:30 < scriptdevil> mitsuhiko: I am wrong.  One sec
11:31 < scriptdevil> mitsuhiko: You are right
11:31 < scriptdevil> But use os.Stdin instead of text
11:32 < scriptdevil> Grrr.  I need sleep.  I am blabbering!
11:32 -!- scriptdevil [n=scriptde@122.174.127.171] has quit [""Red eyed""]
11:32 -!- reubens_ [n=reubens@c-66-235-53-139.sea.wa.customer.broadstripe.net] has
joined #go-nuts
11:33 < mitsuhiko> r := bufio.NewReader(Os.Stdin); r.Read(text);
11:33 < mitsuhiko> that should do the trick
11:33 -!- delfick [n=iambob@203-206-117-15.dyn.iinet.net.au] has left #go-nuts []
11:33 < mitsuhiko> however, apparently nothing happens
11:33 < mitsuhiko> it does not even attempt to read from stdin
11:34 < mitsuhiko> ah sure.  Read only reads to the size of the text slice
11:34 < mitsuhiko> which is 0
11:34 < Dreamer3_MBP17> hmmmm
11:35 -!- xMDKx [n=mdkcore@200.140.247.98] has joined #go-nuts
11:35 -!- sagilpin [n=sagilpin@c-98-238-233-57.hsd1.ca.comcast.net] has quit [Read
error: 110 (Connection timed out)]
11:35 -!- kota1111 [n=kota1111@gw2.kbmj.jp] has quit ["Leaving..."]
11:35 -!- Arathorn [n=arathorn@87-194-127-65.bethere.co.uk] has joined #go-nuts
11:36 < mitsuhiko> no, i just have no idea
11:37 -!- m-takagi_ is now known as m-takagi
11:37 -!- sliceofpi [n=Adium@c-98-201-178-27.hsd1.tx.comcast.net] has quit
["Leaving."]
11:38 < sladegen> http://paste.lisp.org/display/90485
11:38 -!- Jan_Flanders [n=chatzill@d54C1E33B.access.telenet.be] has joined
#go-nuts
11:38 * sladegen sighs.
11:38 < sladegen> Dreamer3_MBP17: break a brain.
11:39 -!- Arathorn [n=arathorn@87-194-127-65.bethere.co.uk] has quit [Client Quit]
11:40 -!- seymour [i=mike@dsl-145-143-168.telkomadsl.co.za] has quit [Read error:
104 (Connection reset by peer)]
11:42 -!- Stotherd [n=davidsto@gi0-0.cr1.vg1.core.bfs.wombatfs.net] has joined
#go-nuts
11:43 < Stotherd> Hi, having an issue trying to link the example program
file.go.  I get
11:43 < Stotherd> mainstart: undefined: main·init
11:43 < Stotherd> mainstart: undefined: main·main
11:43 < Stotherd> when trying to link the file
11:44 < garbeam> Stotherd: package main missing?
11:44 -!- fabled [n=fabled@letku109.adsl.netsonic.fi] has left #go-nuts
["Ex-Chat"]
11:45 < Dreamer3_MBP17> do you have a main function?
11:45 < Dreamer3_MBP17> and does ou file include package main at the top?
11:46 -!- tedster [n=tedster@cpe-008051.dhcp008.wadsnet.net] has quit [Read error:
110 (Connection timed out)]
11:47 < JoNaZ_> how can i compare theese 2 strings?
11:47 < JoNaZ_> invalid operation: (sessions[sendtoval]).host == hostname
(type []string == []string)
11:48 -!- snearch_ [n=olaf@g225059075.adsl.alicedsl.de] has joined #go-nuts
11:48 < Stotherd> dreamer/garbeam, thanks, didn't actually look at the file
beforehand...
11:50 -!- unnikrishnan1 [n=User01@59.93.3.67] has left #go-nuts []
11:50 -!- aho [n=nya@f051119015.adsl.alicedsl.de] has quit
["EXEC_over.METHOD_SUBLIMATION"]
11:52 -!- ikke [n=ikkibr@unaffiliated/ikkebr] has joined #go-nuts
11:52 -!- dajero_ [n=dajero@cp834233-a.gelen1.lb.home.nl] has quit [Read error:
104 (Connection reset by peer)]
11:52 < mitsuhiko> okay.  [512]meh is something completely different than
make([]meh, 512)
11:52 < mitsuhiko> now i'm slightly wiser
11:55 -!- hipe [n=hipe@pool-74-108-181-155.nycmny.east.verizon.net] has quit [Read
error: 104 (Connection reset by peer)]
11:55 -!- hipe [n=hipe@pool-74-108-181-155.nycmny.east.verizon.net] has joined
#go-nuts
11:58 < Dreamer3_MBP17> hmmm
11:58 < Dreamer3_MBP17> can't i use interfaces to make a function accept any
type?
11:58 -!- hipe [n=hipe@pool-74-108-181-155.nycmny.east.verizon.net] has quit [Read
error: 104 (Connection reset by peer)]
11:58 -!- hipe [n=hipe@pool-74-108-181-155.nycmny.east.verizon.net] has joined
#go-nuts
11:58 -!- serdar__ is now known as Serdar
11:58 < jb55> correct
11:58 < Dreamer3_MBP17> func gather(items []interface{})
11:58 < Dreamer3_MBP17> this doesn't work...  it won't let me pass [10]int
11:59 -!- raichoo [n=raichoo@i577AF286.versanet.de] has quit []
11:59 < jb55> ah yes
11:59 < jb55> ran into this one myself
11:59 < jb55> they are considered different types
11:59 < jb55> you need to use interface{}
11:59 < Dreamer3_MBP17> so any thoughts?
12:00 < Dreamer3_MBP17> Users/jgoebel/go/euler/test.go:14: gather((interface
{ })(arr)) used as value
12:00 -!- LaSaRuX is now known as LaSa_out
12:00 -!- robcat [i=d9947a35@gateway/web/freenode/x-bwvoqajymovnqyvd] has quit
["Page closed"]
12:08 < mitsuhiko> arrays don't support pointer arrithmetic, i get that, but
what is the replacement?
12:09 < mitsuhiko> how would i do fread(buf + offset, 1, 256, stdin) look
like in go?
12:10 -!- penguin42 [n=dg@tu006.demon.co.uk] has joined #go-nuts
12:10 -!- delfick [n=iambob@203-206-117-15.dyn.iinet.net.au] has joined #go-nuts
12:10 < delfick> high is there bindings for gtk for go?
12:11 < penguin42> delfick: I asked that yesterday and apparently no
12:11 < delfick> damn....
12:11 < delfick> next question becomes is it trivial/possible ?
12:11 < mitsuhiko> delfick: out of curiosity, why?
12:11 < delfick> out of curiosity
12:11 < mitsuhiko> why write gtk apps in go if there are mono, python, you
name it
12:12 -!- jonesy [n=jonesy@68.64.144.211] has left #go-nuts []
12:12 < penguin42> delfick: Well there is cgo which apparently lets you bind
c calls to go - and that might do it
12:12 -!- plainhao [n=plainhao@mail.xbiotica.com] has joined #go-nuts
12:13 < delfick> never really done gui stuff before, so I can't compare to
how go would make that better/safer/easier .....  more curiosity atm :p
12:13 < penguin42> mitsuhiko: That question is equivalent to why write go
since there is mono, python, you name it
12:13 < mitsuhiko> penguin42: not really, go is a lower level language
"similar" to c
12:13 < mitsuhiko> which neither mono or python are
12:13 < delfick> penguin42: because the languages have different purposes
12:14 -!- tushar_ [n=tushar@122.167.39.34] has joined #go-nuts
12:14 < penguin42> mitsuhiko: And many gtk apps are written in C, so it's an
alternative to that
12:14 -!- tush726 [n=tushar@122.167.31.128] has quit [Read error: 54 (Connection
reset by peer)]
12:14 < mitsuhiko> just because gtk itself is c
12:14 < mitsuhiko> and c is the common denominator, so it makes sense to
have gtk in c
12:14 < penguin42> my experience with python gtk apps is they are quite slow
12:14 < delfick> the next question, slightly related, mostly unrelated, is
it possible to have a go version of c extensions for python?
12:14 < mitsuhiko> my experience with go is that it's quite slow
12:14 < engla> what in gtk needs to be fast?
12:15 < mitsuhiko> gtk apps in python are as responsive as gtk apps in c, i
would not notice the difference
12:15 < jessta> the problem with gtk is callbacks
12:15 < jessta> you can call C code from Go, but not call Go code from C
12:15 < penguin42> mitsuhiko: That's not my experience
12:16 < mitsuhiko> penguin42: which python gtk application is slow?
12:16 < jessta> ...currently
12:16 < mitsuhiko> and what would be an example of a responsive gtk c
application?
12:16 <+danderson> delfick: that already exists.  See the FFI code in Go.
12:16 -!- darjeeling [n=dj@114.111.62.248] has joined #go-nuts
12:16 < penguin42> mitsuhiko: exaile
12:16 < delfick> danderson, cool, I'll do that now :)
12:17 < jimi_hendrix> i got this while compiling the compiler last night,
what do i do: http://pastebin.com/d64081f8b
12:17 < penguin42> mitsuhiko: It's possible it's just exaile that sucks but
the problems are the places where the python code would have to do the work
12:17 -!- conra [n=konrad@host-89-229-12-166.torun.mm.pl] has joined #go-nuts
12:18 -!- Ishmael [n=Dedalus@200.202.122.5] has joined #go-nuts
12:18 < delfick> danderson: sorry, but where can i find this FFI code ?
12:19 < mitsuhiko> penguin42: counter example.  evolution is damn ow :)
12:19 < mitsuhiko> *slow
12:19 < mitsuhiko> anyhow.  gtg
12:20 < penguin42> I still use mutt :-)
12:21 <+danderson> delfick: it's not well documented yet, you need to use
the source - see misc/cgo
12:21 < delfick> ok then
12:21 < delfick> tgnx
12:21 * delfick should probably get some sleep or put more effort into
concentrating....  (I keep making typing mistakes tonight :()
12:22 < Dreamer3_MBP17> does go have anything like ruby's iterators and
blocks?
12:23 < Dreamer3_MBP17> .each .any .map .select .detect ?
12:23 -!- xMDKx [n=mdkcore@200.140.247.98] has left #go-nuts []
12:23 < Dreamer3_MBP17> i'm trying to think of how to approximate the
concepts
12:23 < Dreamer3_MBP17> range kind of does each
12:24 -!- nexneo [n=niket@115.108.175.41] has joined #go-nuts
12:24 <+danderson> not to my knowledge, although you can pass function
literals around, and containers have a Do method that does what you'd expect
12:24 -!- chachan [n=chachan@200.62.25.156] has joined #go-nuts
12:25 < Dreamer3_MBP17> Do hmmm
12:25 < Dreamer3_MBP17> i couldn't seem to define a function inline though
12:25 -!- ineol [n=hal@mar75-9-88-171-191-168.fbx.proxad.net] has joined #go-nuts
12:25 < Dreamer3_MBP17> in ruby you'd do something like @people.any?  {|x|
x.drunk?  }
12:25 < Dreamer3_MBP17> to find drunk people
12:26 < jessta> Dreamer3_MBP17: interable package
12:26 < jessta> *iterable
12:26 < Dreamer3_MBP17> and it would tell you if any of the objections in
@people (an array or other enumberable object) were drunk
12:26 < Dreamer3_MBP17> looking
12:27 < delfick> hmm, interesting
http://www.dalkescientific.com/writings/diary/archive/2009/09/15/100000_tasklets.html
12:27 <+danderson> Dreamer3_MBP17: specifically, the package is exp.iterable
12:27 -!- Cyprien [n=Cyprien@pub1.heig-vd.ch] has quit [Read error: 110
(Connection timed out)]
12:27 < Dreamer3_MBP17> yep
12:27 < Dreamer3_MBP17> reading it now
12:28 <+danderson> and indeed, it does export a few things that should be of
use to you, although obviously the syntax isn't ruby
12:29 -!- tokuhiro______ [i=tokuhiro@p2241-ipbf4402marunouchi.tokyo.ocn.ne.jp] has
quit [Read error: 113 (No route to host)]
12:29 -!- reubens_ [n=reubens@c-66-235-53-139.sea.wa.customer.broadstripe.net] has
quit [Client Quit]
12:31 < nexneo> declaring func for type is verbose.  for example
http://friendpaste.com/2s4pH0PuKlTUAfIMVMzcFg repeats (t *Twitter) in every func,
is there way to minimize it?
12:31 -!- ctimmerm [n=ctimmerm@83.150.80.193] has joined #go-nuts
12:31 -!- tehspazz [n=c@213-187-177-166.dd.nextgentel.com] has quit [Read error:
148 (No route to host)]
12:31 < Dreamer3_MBP17> no
12:31 < Dreamer3_MBP17> that's how it works
12:31 -!- Alkavan [n=igal@77.126.218.205] has quit [Read error: 113 (No route to
host)]
12:32 < delfick> nexneo: not yet...  but hopefully someday
http://groups.google.com/group/golang-nuts/browse_thread/thread/7c53bd7eeb7b72ef/c49cf6eac402c972
12:32 -!- tokuhiro______ [i=tokuhiro@p3195-ipbf2309marunouchi.tokyo.ocn.ne.jp] has
joined #go-nuts
12:32 -!- Meowtimer [n=meowtime@vpn-ce242003.extern.uni-duisburg-essen.de] has
joined #go-nuts
12:32 < delfick> (there is also another thread that proposes a similar
thing)
12:32 -!- teatime [n=c@mail.zdata.no] has joined #go-nuts
12:32 < jimi_hendrix> i got this while compiling the compiler last night,
what do i do: http://pastebin.com/d64081f8b (sorry if there was an answer, i
missed it and its not in my logs)
12:34 -!- Ishmael [n=Dedalus@200.202.122.5] has quit [Remote closed the
connection]
12:35 < Dreamer3_MBP17> jessta: can you include functions inline?
12:35 < nexneo> delfick: Okay, "go" tries to remove most repetitive things.
So this become very apparent
12:35 < Dreamer3_MBP17> first := Find(ints, isAbove3);
12:35 < Dreamer3_MBP17> i see a bunch of that in the tests
12:35 < Dreamer3_MBP17> but that requires you define isAbove3 in advance
12:35 < jimi_hendrix> anyone?
12:35 < delfick> anywho, gtg, cya peoples :)
12:35 -!- delfick [n=iambob@203-206-117-15.dyn.iinet.net.au] has left #go-nuts []
12:35 < sladegen> jimi_hendrix: tried running all.bash not as root?
http://code.google.com/p/go/issues/detail?id=84 perhaps "make clean" or otherwise
clean up beforehand, too.
12:36 < jimi_hendrix> i did run it as root
12:36 -!- p0g0 [n=pogo@unaffiliated/p0g0] has joined #go-nuts
12:36 -!- jessicara [n=nya@unaffiliated/jessicara] has quit [Read error: 113 (No
route to host)]
12:37 < sladegen> jimi_hendrix: read my lips.
12:37 < jessta> Dreamer3_MBP17: you can set a variable to an anonymous
function
12:38 < jimi_hendrix> i ran ./clean.bash, and am now making
12:38 < Dreamer3_MBP17> but can i include the anon function inline?
12:39 < jessta> Dreamer3_MBP17: I think so, I haven't tried it
12:40 -!- nexneo [n=niket@115.108.175.41] has quit []
12:40 -!- fhs [n=fhs@pool-72-89-195-252.nycmny.east.verizon.net] has quit
["leaving"]
12:42 -!- Meowtimer [n=meowtime@vpn-ce242003.extern.uni-duisburg-essen.de] has
quit ["Arr"]
12:43 * atsampson peers upwards -- you wouldn't want to use cgo directly to make
GTK+ bindings for Go; it'd be easier to knock together a generic
GObject-introspection-based generator (e.g.  like Vala has), then you'd get lots
of libraries very easily, and maintainance would be easier...
12:43 -!- hipe [n=hipe@pool-74-108-181-155.nycmny.east.verizon.net] has quit [Read
error: 110 (Connection timed out)]
12:44 -!- dajero [n=dajero@cp834233-a.gelen1.lb.home.nl] has joined #go-nuts
12:45 < sladegen> Dreamer3_MBP17: something like this?
http://gopaste.org/view?paste=Z3sFj4O6qVy6G2hSi9Z6fEu4T5oAz5A8 i'm sure if one
really wanted something better could be cooked up (with reflection and better
interfaces-fu)
12:45 -!- tushar_ [n=tushar@122.167.39.34] has quit [Read error: 104 (Connection
reset by peer)]
12:48 -!- loureiro [n=loureiro@189.2.128.130] has joined #go-nuts
12:48 -!- ncopa [n=ncopa@90.149.51.19] has left #go-nuts ["Ex-Chat"]
12:51 < jb55> mikejs: http://github.com/mikejs/gomongo very nice, looking
forward to this one
12:51 -!- KillerX [n=anant@145-116-234-40.uilenstede.casema.nl] has joined
#go-nuts
12:54 -!- cryptobeacon [n=irvin@unaffiliated/cryptobeacon] has quit ["Leaving"]
12:56 -!- nexneo [n=niket@59.95.193.226] has joined #go-nuts
12:59 -!- eduardoboss [n=boss@189.114.206.57.dynamic.adsl.gvt.net.br] has joined
#go-nuts
13:01 -!- XniX23 [n=XniX23@89-212-198-49.dynamic.dsl.t-2.net] has quit [Remote
closed the connection]
13:02 -!- tor7 [n=tor@c-987a71d5.04-50-6c756e10.cust.bredbandsbolaget.se] has
joined #go-nuts
13:05 -!- nexneo [n=niket@59.95.193.226] has quit ["Bye"]
13:07 -!- c_nick [n=nick@61.12.58.162] has left #go-nuts ["Ex-Chat"]
13:08 -!- cankoy [n=cankoy@94.54.13.77] has joined #go-nuts
13:09 -!- tushar_ [n=tushar@122.167.39.34] has joined #go-nuts
13:11 < cankoy> In tutorial, under Echo, it says "The only necessary
semicolons in that program are on lines 8, 15, and 21 .." . Why is it necessary on
21?
13:12 < ikke> link pelase
13:12 < atsampson> http://golang.org/doc/go_tutorial.html#tmp_44
13:13 < atsampson> because it's needed to separate it from the next
statement...
13:13 < atsampson> (where the "for" is the next statement, and that doesn't
have one after it because it ends with a })
13:15 -!- asmo [n=asmo@c83-248-96-173.bredband.comhem.se] has quit [Remote closed
the connection]
13:16 < cankoy> then, why is it not necessary on, say, 20?
13:16 < madmoose> Did they forget to mention the one on 20?
13:17 < madmoose> afaict, that's required too.
13:17 <+danderson> yes, that is required too.
13:18 <+danderson> Any two statements in a block must be separated by a
semicolon.  Since the last statement has no following statement, the final
semicolon is optional.
13:24 < sladegen> dumbcolonesses
13:24 -!- conra [n=konrad@host-89-229-12-166.torun.mm.pl] has left #go-nuts []
13:25 < dho> Snert: the build stuff is already integrated
13:25 -!- DJCapelis [n=djc@capelis.dj] has joined #go-nuts
13:25 < depood> what can i do, in the tutorial ..  import "./file" ...  i
get can't find import ./file ..  (file.go is in the same directory) ?
13:26 < Snert> dho: cool
13:26 < dho> Snert: the freebsd-specific stuff is in cl 152142
13:27 < dho> Snert: http://codereview.appspot.com/152142/show
13:27 < Snert> dho: ya i found it, been very helpful in pointing out a few
pieces i missed
13:27 -!- remy__ [n=remy@telnet.telecom-lille1.eu] has joined #go-nuts
13:28 < sladegen> depood: compile file.go, then try that helloworld.  do it
inside doc/progs
13:28 < Snert> dho: question: void newosproc(M *m, G *g, void *stk, void
(*fn)(void)) what are m and g ? (from runtime/$GOOS/thread.c)
13:29 < dho> defined in runtime/runtime.h
13:29 -!- conra|afk [n=conrad@host-89-229-12-166.torun.mm.pl] has joined #go-nuts
13:29 -!- joshm|secc [n=joshm|se@69.2.202.199] has joined #go-nuts
13:30 < me___> dho: thanks for the build stuff, btw!
13:30 < dho> np
13:30 < remy__> hi folks, does anyone know how you can make a conversion
from []bytes to string
13:30 < dho> Snert: M is a `machine', G is a goroutine
13:30 < dho> remy__: string()
13:30 < dho> .String()
13:31 < remy__> damn, thanks
13:31 < dho> and something else i'm sure
13:31 < dho> np
13:31 < dho> is a faq :)
13:32 < sladegen> conra|afk: do you have any connection with google or are
you squating the domain just in case?
13:32 < Snert> dho: how does the goroutine relate to fn then?
13:32 < depood> oh, well ..  thanks sladegen
13:32 < dho> Snert: fn is always mstart
13:33 < Snert> mstart?
13:33 < dho> defined in runtime/proc.c
13:33 < me___> mstart setups up the mach, then has it enter the scheduler.
13:33 < dho> Snert: Ms can have multiple Gs
13:34 < Snert> yes, I know
13:34 < dho> it's like thread pools or whatever.
13:34 < me___> *sets up.  each mach in in scheduler(), pulling coroutines
off a list...
13:35 -!- rog [n=Adium@89.240.185.200] has joined #go-nuts
13:35 < dho> hey rog
13:35 -!- asmo [n=asmo@c-f6c5e055.1155-1-64736c11.cust.bredbandsbolaget.se] has
joined #go-nuts
13:35 < rog> hey dho
13:35 < me___> btw, that part makes me vaguely nervous.  they aren't really
coroutines when its possible for them to be executing at once on more than one
Mach
13:35 < me___> rog: hi
13:35 < Snert> what I'm having trouble with is the invocation; how to factor
in G and fn; I'm implementing using rfork(RFTHREAD|RFMEM|RFNOWAIT)
13:35 <+danderson> conra|afk: yes?  Why the ping?
13:35 < me___> Snert: after the rfork, you need to switch stacks in the
child to stk, then jmp to fn
13:35 < dho> Snert: the linux implementation is more accurate
13:36 < me___> look at the implementation of rfork_thread in the openbsd
libc_r (if that's what you use?)
13:36 < dho> me___: Gs don't jump Ms
13:36 < me___> dho: i'm working from memory, but there was only one runqueue
iirc?
13:36 < Snert> me__ doesn't rfork already assign a separate stack ?
13:37 < me___> iirc rfork just gives you more registers, it doesn't do the
stack stuff for you.
13:37 < dho> Snert: take a look at runtime/linux/$ARCH/sys.s
13:37 < dho> see the clone implementation
13:38 < dho> that's vaguely what you'll want to be using if you are rforking
13:38 < me___> dho: clone (and thr_create and lwp_create) take stacks.
clone and thr_create even take TLS params.
13:38 < dho> sure
13:39 < dho> but clone returns very differently from my thr_new
13:39 < dho> and works more like rfork in that regard in that it returns
twice
13:39 < me___> mm, yea.
13:39 -!- aa [n=aa@r190-135-140-55.dialup.adsl.anteldata.net.uy] has joined
#go-nuts
13:39 < me___> whereas thr_create and lwp_create don't, fair.
13:40 < dho> right, they execute fn
13:40 < dho> but fn's always mstart, so i ignore it
13:40 < me___> i don't set fn to mstart, i have a wrapper to setup TLS
here...
13:40 -!- binaryjohn [n=binaryjo@cpe-24-30-132-50.san.res.rr.com] has joined
#go-nuts
13:40 * dho working on amd64
13:40 < dho> so i don't really have to deal with tls
13:41 < me___> how does that work on amd64?
13:41 < dho> also, youu don't set fn to mstart
13:41 < dho> but it is always mstart when newosproc is called
13:41 < dho> so
13:41 < me___> sure, 'fn'.  my mind was constant propagating.
13:41 < me___> :)
13:42 < dho> 1 sec
13:42 < me___> on amd64, how does tls-equivalent work?
13:43 < dho> i believe you get it automagically
13:43 < dho> so you don't have to fake it or something; it's handled by the
kernel
13:44 < me___> okay; is GS still used?
13:44 < me___> or is segmentation dead on amd64?
13:44 < dho> you do have fsbase and gsbase in regs
13:44 < dho> but there's no user ldt
13:45 < dho> well, you can emulate it
13:45 < dho> and obviously amd64 has x86 compat
13:46 -!- rog [n=Adium@89.240.185.200] has left #go-nuts []
13:47 -!- rog [n=rog@89.240.185.200] has joined #go-nuts
13:48 < dho> does df have amd64 yet?
13:48 < dho> i quit doing df in 2004 or so
13:50 < me___> its new in 2.4.  dunno how well it works, i work on a k6-2.
:)
13:50 < dho> hm
13:50 < dho> i can probably set you up with access to an amd64 vm if you
want.
13:51 < Snert> me__ appears that rfork_thread is not exported as far as I
can tell
13:51 -!- joshm|secc [n=joshm|se@69.2.202.199] has left #go-nuts []
13:51 * dho looks at openbsd rfork
13:51 -!- reubens_ [n=reubens@c-66-235-53-139.sea.wa.customer.broadstripe.net] has
joined #go-nuts
13:51 < me___> Snert: rfork_thread isn't a syscall; its a libc wrapper
around rfork that does the fiddly stuff for you.
13:51 < Snert> i have been
13:52 < Snert> i see that, i found teh kernal code
13:52 < Snert> but doesn't appear to be exported in libc
13:52 < me___> doesn't matter for this exercise, since you're not linking
libc...
13:52 < dho> you're just reimplementing
13:52 < dho> don't try to do this portably -- it isn't
13:52 -!- XniX23 [n=XniX23@89-212-198-49.dynamic.dsl.t-2.net] has joined #go-nuts
13:52 < dho> (portable)
13:52 < dho> :)
13:53 < dho> the problem with the BSDs is that porting it is very
version-dependent
13:53 < me___> does openbsd still use libc_r?
13:53 < dho> yes
13:53 < Snert> don't think so
13:53 -!- hendry [n=hendry@webvm.net] has left #go-nuts []
13:53 < Snert> I always try to be portable
13:53 -!- PadraicB [n=padraic@86-42-148-189-dynamic.b-ras1.bbh.dublin.eircom.net]
has joined #go-nuts
13:54 < dho> you can't, this is not portable by definition
13:54 < me___> Snert: good luck.  i imagine you could construct this to be
portable between the BSDs, but even that'd be a stretch...
13:54 < dho> not unless we all use rfork, and i don't think that's a good
idea
13:54 < dho> i'd rather use the kernel threading interface
13:54 < me___> i don't either.  these are nicer :)
13:55 < alexsuraci> oh good, gopaste is still up.
13:55 < me___> also #dragonflybsd notes that the lwp_create* here shares
signal properties that rfork doesnt
13:55 < dho> also syscall conventions are different
13:55 < Snert> the thing is that kernal threading in OBSD is based on rfork
13:55 < dho> that makes sense.
13:55 < Snert> along with a few other bits and bobs
13:56 < Snert> I found this yesterday
http://www.openbsd.org/papers/eurobsd2005/tedu-rthreads.pdf
13:57 < Snert> of course teh switch to kernel threads on OBSD hasn't been
completed yet; FreeBSD and NetBSD 5 have
13:57 < Snert> but for teh purposes of Go, I think the what's there is
enough
13:57 < dho> ok
13:57 < dho> have you looked at the linux clone implementation in Go yet?
13:57 < dho> I'm pretty sure that's very similar to what you're goign to
want to do
13:58 * Snert one day has to explore the internels
13:58 < dho> Snert: take a look at the syscalls section of the paper you
just linked
13:58 < dho> Snert: that's pretty much all the information you need.
13:59 < Snert> i know :) I've been studying it
13:59 < dho> then the MD code section describes rfork_thread.
13:59 < dho> you just need to re-implement that in assembler
13:59 < Snert> obsd has a copy of teh freebsd rfork_thread code
14:00 < Snert> just be nice if I could just link to it
14:00 < dho> you can probably use my thread.c semaphore locking
implementation
14:00 < dho> you can't just link to it
14:00 < me___> dho: thanks for the offer for amd64; i've some stuff i need
to get done in the next few days, but then i'll come back to dealing with this..
i'd like to finish i386 first though.
14:00 < dho> np
14:01 * dho needs to sync up with reppie and see how his freebsd/i386 work is
coming
14:01 < depood> is there any better dok than
http://golang.org/pkg/syscall/#tmp_502 ?
14:01 < me___> hmm, would it be worth having a wiki page or some other
synchronization tool for go-bsd work?
14:02 < dho> me___: i was considering writing a document on what i did
14:02 < dho> depood: what are you trying to do?
14:02 < dho> depood: that interface is very non-portable
14:03 < me___> okay, i think it'd be nice to have shared editable thingy, so
we'd be able to update port statues and what's shared and how each of the other
ones work?
14:03 < me___> *have a ...
14:03 < depood> understanding some of the basics in the go tutorials ^^
14:03 < me___> would be pretty cool if you wrote something up though.
14:03 < dho> me___: if you have a place we can do that, by all means
14:04 -!- rog1 [n=Adium@89.240.185.200] has joined #go-nuts
14:04 < dho> depood: basically, the interface is syscall.Syscallname() and
the arguments reflect whatever syscallname(2) says in your OS manpages
14:04 < me___> um, any i have a wikifs running on an inferno vm someplace,
but you'd have to edit with acme...  or a friend of mine has a wiki we can use, if
you're okay with that?
14:05 -!- lbrandy_ [n=lbrandy_@206.210.81.55] has joined #go-nuts
14:05 < me___> (the friend's wiki is moinmoin)
14:05 < dho> i hate moinmoin
14:05 < dho> acme's fine
14:05 < depood> i mean syscall.Open parameter, im trying to understand and
read the code from the file tutorial
14:05 < me___> hahaha okay.  tcp!inferno.makesad.us!wiki it is then.  i'll
make a page.
14:05 < Snert> dho: how does go detroy mutexes / semaphores; for my
implementation I used POSIX sem_init and friends, but there did not appear to be
anything to destroy a mutex semphore.
14:06 < dho> Snert: that paper you pasted has something
14:06 < dho> Snert: do you have ksem_init/ksem_post/ksem_wait/ksem_destroy
syscalls?
14:06 < me___> Snert: you need to use the sem* syscalls, btw.
14:07 < dho> if so you can just use my implementation in thread.c in CL
152142
14:07 < Snert> dho no
14:07 < Snert> i already checked before you came online
14:07 < dho> great openbsd cvsweb is nonexistant
14:08 < me___> luckily the fbsd manpage browser has openbsd manpages.
14:08 < dho> eh
14:08 < dho> freebsd ksem/thr_ isn't documented in manpages anyway
14:09 -!- annodomini [n=lambda@c-75-69-96-104.hsd1.nh.comcast.net] has joined
#go-nuts
14:09 < me___> oh, sadness.
14:09 < dho> Snert: you have semctl(2)
14:10 < Snert> teh POSIX versions are easier ;)
14:10 -!- scriptdevil [n=scriptde@122.174.162.72] has joined #go-nuts
14:10 < dho> they also can't be used.
14:10 < dho> period
14:10 < Snert> why?
14:10 < dho> because you can't link libc
14:10 -!- esm [n=esm@70-91-101-46-chicago-il.hfc.comcastbusiness.net] has quit
["Quitting"]
14:10 < Snert> grrrr
14:11 < Snert> ok what is it then to create an anonymouse sem
14:11 -!- al-maisan [n=al-maisa@63.133.153.66] has joined #go-nuts
14:11 -!- al-maisan [n=al-maisa@63.133.153.66] has left #go-nuts ["Parting is
tough.."]
14:11 -!- GoNoGo [n=penalva@pc115.pallas.cines.fr] has joined #go-nuts
14:11 -!- diltsman_ [n=diltsman@64.122.18.77] has joined #go-nuts
14:11 < Snert> never mind, i think i found some code
14:12 -!- dga [n=dga@mlgodbe.dsl.xmission.com] has joined #go-nuts
14:13 < dho> oh there we go
14:13 < dho> librthread
14:13 -!- binaryjohn [n=binaryjo@cpe-24-30-132-50.san.res.rr.com] has quit []
14:14 < dho> Snert: see src/lib/librthread/arch/i386/rfork_thread.S
14:14 < Snert> i've already been looking at it
14:15 -!- etianen [n=david@cpc1-cmbg5-0-0-cust767.cmbg.cable.ntl.com] has joined
#go-nuts
14:15 -!- Issue9 [n=Issue9@c-76-108-93-32.hsd1.fl.comcast.net] has quit [Read
error: 113 (No route to host)]
14:15 < scriptdevil> Where is the doc that says why there are no type
heirarchies?  Is there a doc like that?
14:16 -!- delza [n=delza@d66-183-63-49.bchsia.telus.net] has joined #go-nuts
14:16 < dho> Snert: ok, that and rthread_sync should be good :)
14:17 < Snert> rthread_sync?
14:17 -!- binaryjohn [n=binaryjo@cpe-24-30-132-50.san.res.rr.com] has joined
#go-nuts
14:17 -!- drusepth [n=drusepth@adsl-75-39-192-198.dsl.spfdmo.sbcglobal.net] has
joined #go-nuts
14:17 -!- binaryjohn [n=binaryjo@cpe-24-30-132-50.san.res.rr.com] has quit [Client
Quit]
14:17 * Snert feels like a code thief
14:17 < sladegen> scriptdevil: perhaps lang design faq...
14:18 < sladegen> open sores is theft.
14:18 < dho> rhtread_sync implements semaphores on top of thrsleep/thrwakeup
14:18 < me___> dho: http://inferno.makesad.us/wiki/go_on_bsd/
14:18 < etianen> A pretty major thing I've noticed (although I may be
missing something) in the standard library, is that there seems to be a lot of
passing byte arrays around for strings.  This looks to be a step backwards from
the language-level unicode handling of something like Python.
14:19 < me___> you should be able to edit with the acme wiki client, the
server is tcp!inferno.makesad.us!wiki
14:19 < dho> i don't use inferno, i'm guessing that's just wikifs?
14:19 -!- jddron [n=jdo@alog0001.analogic.com] has joined #go-nuts
14:19 -!- dga [n=dga@mlgodbe.dsl.xmission.com] has quit ["leaving"]
14:19 -!- drusepth` [n=drusepth@adsl-75-39-192-198.dsl.spfdmo.sbcglobal.net] has
joined #go-nuts
14:20 < engla> etianen: absolutely.  there seems to be lacking on byteslices
vs strings consistency
14:20 < me___> yep.
14:20 < dho> ok
14:20 < engla> etianen: strings are also treated as arbitrary byte arrays
someplaces
14:20 < me___> i use p9 to edit, actually.  just that the wikifs server is
running on inferno...
14:20 -!- raichoo [n=raichoo@i577AF286.versanet.de] has joined #go-nuts
14:21 < dho> all else failing, i have plan 9 also on my openbsd laptop
14:21 < etianen> engla: I was trying to write a simple trigram generator,
and have currently fallen down on character encoding and splitting strings on
whitespace.
14:21 < engla> etianen: and bytes.Map takes a function int -> int and
maps unicode codepoints (as bytearray) and not byte values
14:21 < me___> hah, having to use plan9 to edit a wiki page...
14:21 < engla> what's a trigram?
14:21 < bogen> scriptdevil: are you on 32 or 64 bit?
14:22 < scriptdevil> Go it64
14:22 < Snert> well I don't know anything about Plan 9; I read a paper on it
years ago;
14:22 < dho> we need a go9p implementation
14:22 -!- etianen [n=david@cpc1-cmbg5-0-0-cust767.cmbg.cable.ntl.com] has left
#go-nuts []
14:22 < me___> yes.
14:22 < scriptdevil> scriptdevil: I mean...  64bit.  Why?
14:22 -!- binaryjohn [n=binaryjo@cpe-24-30-132-50.san.res.rr.com] has joined
#go-nuts
14:22 < bogen> scriptdevil: I assume the go-lang-hg aur package is yours?
14:22 < scriptdevil> bogen: Yeah.
14:22 < dho> and a go reimplementation of plan 9 called GOOSe
14:22 -!- F1sh [n=Fish@86.65.182.194] has quit [Read error: 104 (Connection reset
by peer)]
14:22 < dho> lewl
14:23 -!- dschn [n=dschn@pool-70-19-224-19.bos.east.verizon.net] has joined
#go-nuts
14:23 < me___> with another renee french logo?
14:23 < scriptdevil> bogen: I will be back in half an hour.  Excuse me
14:23 -!- alamar [i=alamar@oops.kernel.de] has quit [Read error: 101 (Network is
unreachable)]
14:23 < dho> i pity the goose it ends up being
14:23 < bogen> scriptdevil: no problem
14:23 -!- etianen [n=david@cpc1-cmbg5-0-0-cust767.cmbg.cable.ntl.com] has joined
#go-nuts
14:23 < etianen> engla: http://en.wikipedia.org/wiki/Trigram (The short
answer being: a quick and dirty text generation method, quite fun as a demo
program)
14:24 -!- reubens_ [n=reubens@c-66-235-53-139.sea.wa.customer.broadstripe.net] has
quit [Client Quit]
14:24 < dho> in any case i need to go to work
14:24 < me___> okay, take care!  if you need anything for the wiki, let me
know...
14:24 < dho> should be good
14:25 -!- LaSa_out is now known as LaSaRuX
14:25 < dho> Snert: you should be able to edit the wiki usign plan 9 port
14:25 < etianen> engla: I'm assuming that most of the holes in the standard
library are due to a changing language specification.  Thus, I can forgive not
having a "split string around whitespace" method.  However, things like character
encoding are pretty funamental.
14:25 < dho> ...at least, i think there's some wikifs utility
14:25 < me___> there is.
14:25 < dho> yeah
14:25 < dho> so if you use wikifs, i don't think you even need acme
14:26 * dho out
14:26 -!- conra|afk [n=conrad@host-89-229-12-166.torun.mm.pl] has quit []
14:26 -!- diltsman_ [n=diltsman@64.122.18.77] has quit []
14:28 -!- turing_type_bot [n=turing@pool-71-241-35-143.nrflva.east.verizon.net]
has quit [Read error: 110 (Connection timed out)]
14:29 -!- tom_s [n=tom@KD113150100075.ppp-bb.dion.ne.jp] has joined #go-nuts
14:29 -!- hstimer [n=hans@c-98-234-25-125.hsd1.ca.comcast.net] has joined #go-nuts
14:30 -!- annodomini [n=lambda@wikipedia/lambda] has quit []
14:31 -!- phoenixlink__ [n=phoenixl@cpe-66-108-194-2.nyc.res.rr.com] has joined
#go-nuts
14:31 -!- ineol [n=hal@mar75-9-88-171-191-168.fbx.proxad.net] has quit []
14:32 -!- jamalta [n=jamalta@209.20.66.76] has left #go-nuts []
14:32 -!- ephoenix [n=phoenixl@cpe-66-108-194-2.nyc.res.rr.com] has quit [Read
error: 110 (Connection timed out)]
14:32 -!- F1sh [n=Fish@86.65.182.194] has joined #go-nuts
14:32 -!- bquinn [n=bquinn@nat/yahoo/x-xeulbpoevfzvktlj] has joined #go-nuts
14:33 -!- Daminvar [n=Daminvar@129.21.81.77] has quit [Read error: 60 (Operation
timed out)]
14:33 < scriptdevil> bogen: Yeah.  You can pm me if you want.
14:34 -!- Daminvar [n=Daminvar@129.21.81.77] has joined #go-nuts
14:34 -!- Serdar [n=serdar@dslb-084-060-209-061.pools.arcor-ip.net] has quit [Read
error: 110 (Connection timed out)]
14:35 -!- Serdar [n=serdar@dslb-084-060-228-140.pools.arcor-ip.net] has joined
#go-nuts
14:35 -!- me___ [n=venkates@c-68-55-179-48.hsd1.md.comcast.net] has quit ["Lost
terminal"]
14:35 -!- bquinn [n=bquinn@nat/yahoo/x-xeulbpoevfzvktlj] has quit [Client Quit]
14:36 -!- bquinn [n=bquinn@nat/yahoo/x-gkuxkivnwqybodcz] has joined #go-nuts
14:36 -!- drusepth [n=drusepth@adsl-75-39-192-198.dsl.spfdmo.sbcglobal.net] has
quit [Read error: 110 (Connection timed out)]
14:38 < uriel> etianen: python's unicode support is really horrible
14:39 < etianen> uriel: I meant the new stuff that's gone into Python 3.0+
14:39 < uriel> yes
14:39 < uriel> I mean that too
14:40 < alexsuraci> uriel: gopaste survived the night :P
14:40 < etianen> uriel: The trouble I'm having with go, is that if I read
from bytes in from a file, how to I decode them into a string using a specified
encoding?
14:40 < etianen> uriel: In Python, this is easy: bytes.decode("big5")
14:41 -!- snearch_ [n=olaf@g225059075.adsl.alicedsl.de] has quit ["Ex-Chat"]
14:41 < uriel> alexsuraci: cool!  congrats!
14:42 < uriel> etianen: use utf-8
14:42 < alexsuraci> thanks, lol
14:42 < uriel> any other encoding is totally braindead
14:42 -!- Cyprien [n=Cyprien@pub1.heig-vd.ch] has joined #go-nuts
14:42 < etianen> uriel: nevertheless, non-utf8 documents still exist.
14:42 < exDM69> uriel: that's a bit of an overstatement
14:43 < exDM69> urf-8 has it's problems
14:43 < uriel> etianen: then convert them to utf-8
14:43 -!- ecmicro [n=jam@client-75-102-118-241.mobility-up.psu.edu] has joined
#go-nuts
14:43 < exDM69> and choosing to support only 1 encoding, no matter what it
is, is about as smart as supporting only ascii
14:43 < uriel> exDM69: the 'problems' I have heard of are all FUD and rubish
14:43 < exDM69> it may work now but the future may change things
14:44 < uriel> exDM69: er, except that utf-8 can represent every char under
the sun, and a few more
14:44 < etianen> Take the regexp module of go: it operates on byte slices.
This byte slice might be in utf16, utf8, big5...
14:44 < exDM69> uriel: O(n) access is a major problem for many algorithms
14:44 < uriel> support for multiple encodings is a total waste of time and
plain evil on any modern environment
14:44 < uriel> exDM69: that is what Runes are for
14:44 < exDM69> for most purposes one encoding is good enough
14:45 < uriel> so, supporting all kinds of useless stuff that nobody sane
uses is just *bad*
14:45 < uriel> encoding proliferation has caused already untold damage and
harm to the world
14:45 -!- rog1 [n=Adium@89.240.185.200] has left #go-nuts []
14:46 < etianen> So is the current status of go that all byte slices that
are processed by string manipulation methods are all taken to be utf8?
14:46 < uriel> etianen: there are 'Runes' too
14:46 < Snert> dho: In the sys.s file: I see symbol defines like "TEXT
sigaltstack(SB),7,$0" - what is the signifcance of (SB), 7, and $0 here?
14:47 < uriel> (which I guess you could say are the same as UTF-32, although
they are just an in-memory representation, and not meant to be written or
exchanged in any way)
14:47 < exDM69> uriel: what are the runes you're talking about?
14:47 < exDM69>
http://www.fileformat.info/info/unicode/block/runic/utf8test.htm probably not
these :)
14:48 -!- rog1 [n=Adium@89.240.185.200] has joined #go-nuts
14:48 < uriel> exDM69: http://doc.cat-v.org/plan_9/4th_edition/papers/utf
14:49 -!- chid [n=dorl@c122-106-95-175.rivrw1.nsw.optusnet.com.au] has quit []
14:49 < etianen> Here's a problem with the current approach: len("嗧嗧嗧") ==
9!
14:50 < Freeaqingme> it's multibyte/utf8 </hint
14:50 < uriel> see for example ReadRune() here: http://golang.org/pkg/bufio/
14:51 <+iant> etianen: strings are sequences of bytes, so that is how len
works; if you want the number of UTF-8 characters, use utf8.RuneCountInString
14:51 -!- alamar [i=alamar@oops.kernel.de] has joined #go-nuts
14:51 <+iant> I don't think anybody is particularly opposed to providing
library functions for non-UTF-8 encodings, but those library functions have not
been written
14:52 < etianen> iant: but can you imagine how tedious that could get?
14:52 <+iant> how tedious what would get?
14:52 < etianen> iant: calling RuneCountInString whenever a string length is
needed
14:53 <+iant> If that is too many characters for you to type, write a helper
function
14:53 < sladegen> you mean typing it?
14:54 < etianen> It essentially means that any code that deals with strings
needs to import the utf8 library and then call a massive method name each time a
length is required.  Seems to go against the 'terse' aim of the language.
14:54 -!- azmorf [n=azmorf@zuzzun.ru] has joined #go-nuts
14:55 < uriel> iant: yes, sorry, I didn't mean to sound overly-harsh,
obvioulsy it makes sense to have libraries to encode and decode any encoding
14:55 -!- hyn [n=hyn@p0a38fe.tokyte00.ap.so-net.ne.jp] has joined #go-nuts
14:55 < uriel> iant: what I meant is that having the language support more
than one encoding directly is very evil
14:56 < sladegen> import "utf8"; var func ulen(s string) int =
utf8.RuneCountInString;
14:56 < dho> Snert: I forget that every time someone asks me.
14:56 <+iant> etianen: actually other than the fact that the source must be
UTF-8, UTF-8 is built into the language in very minimal ways; the main exception
is using range over a string; everything else is library code
14:57 < dho> flags and offset or something, I don't remember
14:57 < hstimer> etianen: in java (don't ask why I was writing a server
java; complete mistake) I got around this by keeping the characters as bytes and
not strings.  a little bit of a pain, but I didn't pay the unicode overhead which
is larger in java than Go I believe
14:57 < sladegen> oops: import "utf8"; var ulen func(s string) int =
utf8.RuneCountInString;
14:57 -!- cankoy [n=cankoy@94.54.13.77] has left #go-nuts []
14:58 -!- binaryjohn [n=binaryjo@cpe-24-30-132-50.san.res.rr.com] has quit []
14:59 < etianen> I've grown pretty fond of the Python approach of dealing
with 'bytes' and 'str' objects completely separately.  If you want to treat bytes
as a string, then decode them.  If you want to treat a string as bytes, then
decode it.  It means that at any point in your code, you know whether your data is
suitable for string manipulation.
14:59 -!- base3 [n=base3@host81-141-239-146.wlms-broadband.com] has joined
#go-nuts
14:59 < uriel> iant: runes are 4bytes in Go, right?
15:00 <+iant> uriel: yes
15:00 < uriel> ah, cool
15:00 < uriel> russ fixed that recently in p9p, I was wondering why :))
15:00 < uriel> etianen: there are strings and byte arrays in go
15:01 < etianen> uriel: yeah, but a string seems to be just an immutable
byte array.
15:01 < spook327> hey, i got go through hg a bit ago, how do i get the most
current version?
15:01 -!- rog1 [n=Adium@89.240.185.200] has left #go-nuts []
15:01 < sladegen> spook327: hg pull -u
15:01 -!- drusepth` [n=drusepth@adsl-75-39-192-198.dsl.spfdmo.sbcglobal.net] has
quit [Read error: 110 (Connection timed out)]
15:02 < spook327> sladegen: thank you
15:02 -!- base3 [n=base3@host81-141-239-146.wlms-broadband.com] has left #go-nuts
[]
15:02 < sladegen> wherever in $GOROOT
15:02 < etianen> uriel: My concern is that a naive coder can write a program
that uses slice notation on strings, which will work great right up until the
point that it hits an international character.
15:02 -!- insaneroot [n=insanero@87.162.142.170] has joined #go-nuts
15:02 -!- nil [n=ni|@isp2-resnet-nat1.union.edu] has joined #go-nuts
15:03 -!- insaneroot [n=insanero@87.162.142.170] has left #go-nuts []
15:03 < sladegen> i say: kill naive coder!
15:04 -!- awishformore [n=awishfor@78.141.152.48] has joined #go-nuts
15:04 -!- tom_s [n=tom@KD113150100075.ppp-bb.dion.ne.jp] has quit ["Leaving"]
15:04 < Yappo_> 僕も上場きぎで働いたら月曜の夜からキャバクラ行けるのかなぁ
15:04 -!- levicook [n=levicook@gw.alice.com] has joined #go-nuts
15:05 -!- BeholdMyGlory [n=behold@d83-183-183-70.cust.tele2.se] has joined
#go-nuts
15:05 < Yappo_> miss
15:05 < etianen> sladegen: Totally.  But the number of duff PHP libraries
that die with international characters is huge.
15:06 < lux`> I'm trying to compile golang compiler but I get this error:
http://gopaste.org/raw?paste=N8cLc9O3rCd1K5jDz9X0bPm3K1nXz4W6
15:06 < sladegen> etianen: move in time and kill php inventor.
15:06 <+iant> lux`: this happens if you run the test as root; I think it is
fixed in the most current sources
15:06 < lux`> I'm using the most recent ones
15:06 < lux`> well I'll run it as normal user
15:08 -!- paulca [n=paul@89.127.165.178] has joined #go-nuts
15:08 -!- diltsman [n=diltsman@128.187.169.90] has joined #go-nuts
15:08 < dwery> mmm..what's the call to fork the currently running process?
15:08 < bogen> sladegen, uriel, etianen: I don't think Go's native string
type should suffer with a bunch of extra checks when the utf8 package should to
used with multibyte characters are present.  The documentation just needs to state
that in my opinion.
15:08 -!- BeholdMyGlory [n=behold@d83-183-183-70.cust.tele2.se] has left #go-nuts
["Leaving"]
15:09 -!- FIQ [n=FIQ@213-67-76-113-no52.tbcn.telia.com] has joined #go-nuts
15:09 -!- annodomini [n=lambda@130.189.179.215] has joined #go-nuts
15:10 < dho> dwery: syscall.fork, I guess.
15:10 < scriptdevil> dwery: fork?
15:10 -!- drusepth [n=drusepth@209.106.203.252] has joined #go-nuts
15:10 -!- MigoMipo [n=kvirc@84-217-7-251.tn.glocalnet.net] has joined #go-nuts
15:10 < dwery> dho: can't find it.  there's only syscall.ForkExec
15:10 < s_mosher> is there a way to check whether a channel is buffered?
15:11 < dwery> which seems abit different from man 2 fork
15:11 < bogen> dwery: use syscall.RawSyscall then :)
15:12 -!- jA_cOp [n=yakobu@ti0043a380-3093.bb.online.no] has joined #go-nuts
15:12 < sladegen> dwery: dunno perhaps using os.  version will be moare
robust.
15:12 < dwery> bogen: I daren't :)
15:13 < etianen> bogen: I second that the documentation should make it very
clear that things like regexp are expecting utf8.  In a lot of legacy languages,
ascii has been the implicit byte string encoding.
15:13 < dho> there may be a reason it's not implemented
15:13 < dho> let me look
15:13 < dho> dwery: os/arch?
15:13 < dwery> os.ForkExc..  seems reasonable
15:13 < dwery> linux/386
15:14 -!- etianen [n=david@cpc1-cmbg5-0-0-cust767.cmbg.cable.ntl.com] has left
#go-nuts []
15:14 -!- robcat_ [i=d9947a35@gateway/web/freenode/x-iilzmtomzpiuhuzl] has joined
#go-nuts
15:14 < dho> dwery: yeah, you want ForkExec
15:14 < dho> it wraps r1, r2, err1 = RawSyscall(SYS_FORK, 0, 0, 0);
15:14 -!- nbaum [n=nathan@84.45.115.9] has joined #go-nuts
15:16 < dwery> I'll have to find the path to myself..
15:16 < dwery> where's argv[0]?  :D
15:16 < sladegen> it doesn't matter...  if someone hits non high ascii char
it will blow whatever the assumption was.
15:16 < sladegen> os.Args[]
15:16 < sladegen> i guess.
15:16 < dwery> well..  that would re-execute my whole binary
15:17 < dho> dwery: take a look at src/pkg/syscall/exec.go
15:17 < dwery> looking
15:17 < dho> specifically forkAndExecInChild
15:18 < dwery> dho: it does the raw syscal
15:18 < dho> yeah.
15:19 < dwery> dho: are you suggesting to use RawSyscall alone?
15:20 < dho> i'm suggesting to look at how forkAndExecInChild works after it
calls SYS_FORK
15:21 < dwery> dho: I do not need any file descripto, so I can avoid that
part
15:21 < dwery> but after that it does the Exec, which I do not need
15:22 < dho> ok, so don't exec :)
15:22 < dwery> dho: I just do not feel nice in doing the raw sys call :D
15:22 < dho> why are you forking, out of curiosity
15:22 < sladegen> use the spoon.
15:23 < dwery> dho: mybinary is called from another executable and I want to
give ack control immediately
15:23 < dwery> \back*
15:23 < dho> weird, why can't that executable fork/exec your binary?
15:24 < dwery> it calls my binary without forking and I cannot change that
15:24 < dho> fair enough
15:24 < dwery> so I'll have to find a clean way to fork without leaving a
zombie around
15:25 < sladegen> i have no clue but perhaps reexec yourself and return...
15:26 < dwery> I'll investigate further
15:26 * sladegen gibbereeshish away.
15:27 -!- nil [n=ni|@isp2-resnet-nat1.union.edu] has quit [Read error: 104
(Connection reset by peer)]
15:27 < s_mosher> dwery, you might have more fun using syscall for that so
you can setsid and stuff...  but I have no idea how well it will really work
15:28 -!- diltsman [n=diltsman@128.187.169.90] has quit [Read error: 104
(Connection reset by peer)]
15:28 -!- diltsman [n=diltsman@128.187.169.90] has joined #go-nuts
15:28 -!- leitaox [n=leitaox@189.20.94.66] has joined #go-nuts
15:29 < dwery> s_mosher: I guess I''l have to a) close stdin, out and err b)
fork c)setsid
15:30 < s_mosher> I'm a little surprised there's no daemonizing stuff in os,
or even any examples
15:31 -!- delza [n=delza@d66-183-63-49.bchsia.telus.net] has quit []
15:31 -!- Egelmex [n=me92@myrtle.ukc.ac.uk] has joined #go-nuts
15:32 -!- scriptdevil [n=scriptde@122.174.162.72] has left #go-nuts []
15:32 < dwery> maybe they'll add it...  go is quite new...
15:32 -!- no_mind [n=orion@122.161.255.103] has quit [Read error: 110 (Connection
timed out)]
15:32 < dwery> and I don't want to saturate the issue list ;)
15:33 -!- no_mind [n=orion@122.161.124.147] has joined #go-nuts
15:34 -!- zoglesby [n=zoglesby@fsf/member/zoglesby] has joined #go-nuts
15:34 -!- conra|afk [n=conrad@host-89-229-12-166.torun.mm.pl] has joined #go-nuts
15:34 < dwery> ok, the outlined sequence works nicely
15:34 < dwery> ps show that the process has been correctly detached
15:35 < s_mosher> right on
15:35 < s_mosher> good to know it works
15:36 < dwery> I'll open a ticket or I
15:36 < dwery> ll forgot it
15:36 -!- annodomini_ [n=lambda@wikipedia/lambda] has joined #go-nuts
15:37 -!- Serdar [n=serdar@dslb-084-060-228-140.pools.arcor-ip.net] has quit [Read
error: 60 (Operation timed out)]
15:37 < rog> is there any way to interrupt/stop an in-progress system call
in Go? (e.g.  to get a socket read that times out)
15:37 < uriel> 15:02 < etianen> uriel: My concern is that a naive
coder can write a program that
15:38 < uriel> a naive coder will always find a way to mess up
15:38 -!- GoNoGo [n=penalva@pc115.pallas.cines.fr] has quit [Client Quit]
15:39 -!- aa [n=aa@r190-135-140-55.dialup.adsl.anteldata.net.uy] has quit [Remote
closed the connection]
15:40 < diltsman> I have the var v = [][]byte{...} which compiles, but when
I use for input := range v it claims that input is a v.  Why isn't it saying input
is a []byte?
15:41 -!- alexsuraci` [n=alex@li71-127.members.linode.com] has joined #go-nuts
15:41 -!- zoglesby [n=zoglesby@fsf/member/zoglesby] has left #go-nuts ["Leaving"]
15:41 -!- silvs [n=silvs@scruffy.silvs.org] has joined #go-nuts
15:41 < andguent> rog: why dont you use a goroutine?
15:41 < diltsman> Err...It claims that v is an int.
15:42 < uriel> dho: how is the fbsd port?
15:42 < dho> uriel: 100% on compiler / runtime.
15:42 < dho> uriel: just some syscall polishing left
15:42 -!- reubens [n=reubens@c-66-235-53-139.sea.wa.customer.broadstripe.net] has
quit [Client Quit]
15:42 < dho> and libmach, but russ says we can punt on that for a while
15:42 < dho> and dynamic linking doesn't work
15:43 -!- Rob_Russell [n=chatzill@206-248-157-156.dsl.teksavvy.com] has joined
#go-nuts
15:43 -!- annodomini [n=lambda@wikipedia/lambda] has quit [Read error: 110
(Connection timed out)]
15:43 < s_mosher> dho, not bad
15:44 < dho> uriel: http://inferno.makesad.us/wiki/go_on_bsd/
15:44 -!- tushar_ [n=tushar@122.167.39.34] has quit ["Leaving"]
15:44 -!- decriptor [n=decripto@137.65.132.18] has joined #go-nuts
15:45 < dho> ...i thought p9p has wikifs or something
15:45 < uriel> dho: cool
15:45 < uriel> I don't think so, me__ should use werc's wiki ;P
15:47 -!- annodomini [n=lambda@130.189.179.215] has joined #go-nuts
15:47 < rog> andguent: that was my plan, but how do i stop the goroutine?
15:48 < rog> andguent: or is my only option to let garbage goroutines pile
up?
15:49 < dho> rog: non-blocking i/o and timeouts?
15:49 -!- Manish_mah [n=chatzill@c-67-189-144-6.hsd1.ma.comcast.net] has joined
#go-nuts
15:49 -!- leitaox [n=leitaox@189.20.94.66] has quit [Client Quit]
15:49 < dho> rog: the polling API should do fine for that if you just care
about e.g.  read/write blocking
15:51 -!- conra|afk [n=conrad@host-89-229-12-166.torun.mm.pl] has quit [Read
error: 54 (Connection reset by peer)]
15:51 -!- conra|afk [n=conrad@host-89-229-12-166.torun.mm.pl] has joined #go-nuts
15:52 < rog> dho: polling API?
15:53 < uriel> rog: have you had any problem with 'letting the goroutines
pile up'?
15:53 < rog> code search for "polling" doesn't bring up anything?
15:53 -!- annodomini_ [n=lambda@wikipedia/lambda] has quit [Read error: 110
(Connection timed out)]
15:53 < uriel> (just curious)
15:54 < dho> uriel: they *do* consume memory
15:54 < rog> at 4K a throw i'm sure they'd be a problem eventually
15:54 -!- lux` [n=lux@151.54.240.177] has quit [Read error: 104 (Connection reset
by peer)]
15:54 < dho> rog: see src/pkg/net/fd_${GOARCH}.go
15:55 < uriel> well, it all depends on what you are doing and how many
goroutines you'll have around, that is why I was asking
15:55 -!- sm [n=sm@cpe-76-173-194-242.socal.res.rr.com] has joined #go-nuts
15:55 -!- brown` [n=user@72.14.228.129] has joined #go-nuts
15:56 -!- zerofluid [n=zeroflui@ip68-227-10-141.lv.lv.cox.net] has joined #go-nuts
15:57 < hector> iant: i need some help with the thread local storage on
windows
15:57 < rog> uriel: nope, i'm just asking in principle, as it's one of the
issues that can be troublesome in inferno.
15:57 -!- annodomini_ [n=lambda@wikipedia/lambda] has joined #go-nuts
15:58 < rog> dho: it's not clear how that code is accessed from outside the
net package
15:58 < rog> dho: all the structs and functions seem to be internal
15:58 < hector> anyone out there understand the ldt/tls stuff?
15:58 < dho> hector: what about it
15:59 < hector> dho: i am looking at how to write the thread entry function
on windows
15:59 < hector> dho: that is called from newosproc
15:59 < rog> uriel: but if you want a timeout on every read, as is required
with interfacing with certain h/w, then you can quickly end up piling up a lot of
processes...
15:59 < hector> dho: in the linux port there is a comment that says // set
up ldt 7+id to point at m->tls.
15:59 -!- robcat_ [i=d9947a35@gateway/web/freenode/x-iilzmtomzpiuhuzl] has quit
[Ping timeout: 180 seconds]
16:00 < dho> right
16:00 < hector> dho: does this imply sharing of an m's tls between threads?
16:00 < dho> no, newosproc gets called with a new M
16:00 < dho> and 7+id
16:01 < dho> id = new id
16:02 -!- delza [n=delza@d66-183-63-49.bchsia.telus.net] has joined #go-nuts
16:02 -!- lux` [n=lux@151.54.240.177] has joined #go-nuts
16:02 < hector> i'm not sure about the ldt stuff (since on windows i'm using
0x2c[fs] as the tls pointer) but ldt 7+id sounds like it could run out of ldt
entries
16:02 -!- Jan_Flanders [n=chatzill@d54C1E33B.access.telenet.be] has quit [Read
error: 104 (Connection reset by peer)]
16:02 -!- diltsman [n=diltsman@128.187.169.90] has quit []
16:02 < hstimer> nl: it put a transparent grey over my view....  is that
expected behavior?
16:02 -!- Rob_Russell [n=chatzill@206-248-157-156.dsl.teksavvy.com] has quit
["ChatZilla 0.9.85 [Firefox 3.5.5/20091102152451]"]
16:02 -!- delza [n=delza@d66-183-63-49.bchsia.telus.net] has quit [Client Quit]
16:03 -!- annodomini [n=lambda@wikipedia/lambda] has quit [Read error: 110
(Connection timed out)]
16:04 -!- Jan_Flanders [n=chatzill@d54C1E33B.access.telenet.be] has joined
#go-nuts
16:04 < hector> dho: i think i'll just MOVL m_tls, 0x2c[FS]
16:04 -!- {MSX} [i=51d0625e@gateway/web/freenode/x-raonhcyfmyxmrdvk] has joined
#go-nuts
16:05 -!- drusepth [n=drusepth@209.106.203.252] has quit [Read error: 110
(Connection timed out)]
16:06 -!- Discoloda [n=vincent@li89-236.members.linode.com] has left #go-nuts []
16:06 -!- triddell [n=tim@207-191-198-64.cpe.ats.mcleodusa.net] has left #go-nuts
[]
16:07 -!- Helmar [n=helmwo@91.39.97.123] has joined #go-nuts
16:08 -!- ginkgo [n=ginkgo@chello084113198244.17.14.vie.surfer.at] has joined
#go-nuts
16:08 -!- annodomini [n=lambda@130.189.179.215] has joined #go-nuts
16:08 -!- uchouhan [n=Adium@cpe-76-174-46-7.socal.res.rr.com] has joined #go-nuts
16:09 -!- andresambrois [n=aa@200.40.114.26] has joined #go-nuts
16:10 -!- andresambrois is now known as aa
16:10 < Helmar> Go ist not evil.  It's just something to watch like a change
go to issue9 can be done ;)
16:11 -!- linearz [n=linearz@239.76.50.60.brf01-home.tm.net.my] has quit []
16:11 < uriel> Helmar: andguent might know more about that?  he did the 9vx
port
16:12 < uriel> (or most of it anyway)
16:12 -!- JKnife [n=JKnife@gr33nn1nj4.com] has left #go-nuts []
16:12 -!- Manish_mah [n=chatzill@c-67-189-144-6.hsd1.ma.comcast.net] has quit
[Read error: 110 (Connection timed out)]
16:12 < Helmar> uriel: good to know.
16:13 < dho> uriel: you mean hector?
16:13 < uriel> yes
16:13 < uriel> argg..
16:14 < hector> uriel: no probs.  i just typed in that assembler
16:14 < Helmar> My main concerns are currently what happens to the language.
It is not "perfect" (well, what is) - but for example the concept of "recursion"
needs to be introduced.  It's currently broken and ...
16:14 -!- conra|afk [n=conrad@host-89-229-12-166.torun.mm.pl] has quit []
16:14 < Helmar> ...  and making headache if looking further at it.
16:14 < dho> oh ffs.
16:15 < andguent> hector: the only problems with ldts on windows is when you
put another than 0x23 in %ss...
16:15 -!- ctimmerm [n=ctimmerm@83.150.80.193] has quit ["Leaving..."]
16:15 -!- annodomini_ [n=lambda@wikipedia/lambda] has quit [Read error: 110
(Connection timed out)]
16:15 < hector> andguent: that's why i'm using the TEB in fs
16:17 -!- JoePeck [n=JoePeck@cpe-74-69-85-249.rochester.res.rr.com] has quit []
16:18 < andguent> hector: yeah %gs and %fs are fine...  even %gs for most
cases
16:18 -!- DotMethod [n=mike@priv.efnet.pe] has joined #go-nuts
16:18 < hector> andguent: i couldn't find any documentation on gs, fs is
well understood
16:18 < DotMethod> hola
16:19 < andguent> hector: %gs is loaded with a ldt where 0 starts with a
data structure of your current thread
16:19 -!- annodomini_ [n=lambda@wikipedia/lambda] has joined #go-nuts
16:19 < Helmar> Any guesses why "recursion" is not that big thing with Go?
Btw.  I understand that for named functions...
16:19 < andguent> hector: one of the functions is TLS
16:19 < exch> is there a some convenient method somewhere to convert a go
string to *int8 ?
16:19 < Helmar> exch: no, why?
16:20 < hector> andguent: hmm, it sounds like you're talking about fs
16:20 < exch> I need it to pass a string to an external c function through
go's foreign function system
16:21 < andguent> hector: oh maybe.  i always mix those ones up
16:21 < Helmar> exch: you could make an own method.
16:21 < exch> cgo automatically generates a number of types from the c
header files.  One of which accepts *int8 for a string
16:21 < andguent> hector: basically one you are free to use whatsoever...the
other one is mostly okay too...but avoid it when you can
16:21 < uriel> Helmar: recursion works just fine in Go
16:21 < Helmar> exch: strings are not mutable.
16:21 < exch> bummer
16:21 < Helmar> uriel: no, not for anonymous funcs.
16:21 -!- clearscreen [n=clearscr@e248070.upc-e.chello.nl] has quit [Read error:
104 (Connection reset by peer)]
16:21 < andguent> hector: hm.  wait...there were some issues with mingw
which is also doing TLS stuff themselves..but i cannot recall the details
16:22 -!- Cyprien [n=Cyprien@pub1.heig-vd.ch] has quit [Read error: 60 (Operation
timed out)]
16:22 <+danderson> Helmar: that has been brought up on the list I believe,
it would be best to continue that discussion over there.
16:23 < Helmar> danderson: I was the one that wrote it.
16:23 <+danderson> well, there you go then :-)
16:23 -!- zerofluid [n=zeroflui@ip68-227-10-141.lv.lv.cox.net] has quit [Read
error: 60 (Operation timed out)]
16:24 -!- SRabbelier [n=SRabbeli@ip138-114-211-87.adsl2.static.versatel.nl] has
joined #go-nuts
16:24 -!- ikkebr [n=ikkibr@unaffiliated/ikkebr] has joined #go-nuts
16:25 < Helmar> danderson: well, I've checked - there was no new input.
There is also an issue now.
16:25 < Helmar> danderson: I try all channels of communication ;-)
16:26 < SRabbelier> What's the idiomatic way to do something like "env, e =
GetEnv()" when err is a named return value but env is not, that is, I really want
to use "env, e := GetEnv()" but that overrides e rather than assigning it
16:26 -!- annodomini [n=lambda@wikipedia/lambda] has quit [Read error: 110
(Connection timed out)]
16:26 -!- dajero [n=dajero@cp834233-a.gelen1.lb.home.nl] has quit [Read error: 60
(Operation timed out)]
16:26 < Amaranth> hmm, how can I signal a goroutine to quit?
16:27 < SRabbelier> Amaranth: give it a quit channel a
16:27 <+danderson> I suggest pinging the thread on the list.  Really the
only folks who can help are the go team at this point, so I'd reping the list
thread.  They're more likely to see that than IRC chatter.
16:27 < Amaranth> SRabbelier: Sure but won't it then block trying to read
from that thread?
16:27 < Amaranth> s/thread/channel/
16:27 < Amaranth> bleh too early in the morning
16:27 -!- jwzn` [n=user@CPE001839f8e82b-CM0017ee6363de.cpe.net.cable.rogers.com]
has joined #go-nuts
16:27 < Helmar> danderson: OK, why not chat a little bit ;)
16:28 < SRabbelier> Amaranth: use a select
16:28 < SRabbelier> Amaranth: http://golang.org/doc/progs/server1.go?h=quit
16:28 < nbaum> Amarant you can use select, or <-quit in an expression
context.
16:28 < nbaum> select is probably better.
16:29 -!- annodomini [n=lambda@130.189.179.215] has joined #go-nuts
16:31 -!- ghaering [n=ghaering@87.119.218.126] has joined #go-nuts
16:31 -!- {MSX} [i=51d0625e@gateway/web/freenode/x-raonhcyfmyxmrdvk] has quit
["Page closed"]
16:32 -!- tcpip4000 [n=fulano@dsl-emcali-190.99.184.23.emcali.net.co] has joined
#go-nuts
16:33 -!- chickamade [n=chickama@222.254.12.228] has joined #go-nuts
16:33 -!- jwzn [n=user@CPE001839f8e82b-CM0017ee6363de.cpe.net.cable.rogers.com]
has quit [Read error: 60 (Operation timed out)]
16:33 < nbaum> My bad, it's not quite as simple as "expression context".
You might do, e.g.  if _, ok := <-ch; ok { return }
16:34 < chickamade> how do cast an int into float?
16:35 -!- Sylvain_ [i=d4528311@gateway/web/freenode/x-eyeeygxuowvfiffh] has quit
[Ping timeout: 180 seconds]
16:36 -!- padraic_ [n=padraic@86-42-148-171-dynamic.b-ras1.bbh.dublin.eircom.net]
has joined #go-nuts
16:36 -!- jimi_hendrix [n=jimi_hen@unaffiliated/jimihendrix] has quit [Connection
timed out]
16:36 -!- annodomini_ [n=lambda@wikipedia/lambda] has quit [Read error: 110
(Connection timed out)]
16:37 -!- jimi_hendrix [n=jimi_hen@unaffiliated/jimihendrix] has joined #go-nuts
16:39 -!- mtz [n=jaan@165.206.191.90.dyn.estpak.ee] has quit [Read error: 110
(Connection timed out)]
16:39 -!- binaryjohn [n=binaryjo@cpe-24-30-132-50.san.res.rr.com] has joined
#go-nuts
16:39 -!- shambler [n=sil@213.184.241.199] has quit ["Super perfundo on the early
eve of your day."]
16:40 -!- PadraicB [n=padraic@86-42-148-189-dynamic.b-ras1.bbh.dublin.eircom.net]
has quit [Read error: 110 (Connection timed out)]
16:40 < rbohn_> float(x)
16:40 -!- mtz [n=jaan@90.191.206.165] has joined #go-nuts
16:40 -!- annodomini_ [n=lambda@wikipedia/lambda] has joined #go-nuts
16:40 -!- ikke [n=ikkibr@unaffiliated/ikkebr] has quit [Read error: 110
(Connection timed out)]
16:41 -!- binaryjohn [n=binaryjo@cpe-24-30-132-50.san.res.rr.com] has quit [Client
Quit]
16:42 -!- jA_cOp [n=yakobu@ti0043a380-3093.bb.online.no] has quit ["Leaving"]
16:43 < exch> mm the wrapping of external libs is pretty easy it seems :o
Got the PCRE library hooked up for some proper regex support
16:44 < halfdan_> hey
16:44 < halfdan_> are there closures in go?  like func inside a func..?
16:44 < harryv> yeah
16:44 < halfdan_> example?
16:45 < Helmar> exch: PCRE?  would you share this?
16:45 < harryv> func () { fmt.Print("hep!") }()
16:45 < halfdan_> and with params?
16:45 -!- offby1 [n=user@pdpc/supporter/monthlybyte/offby1] has quit [Read error:
60 (Operation timed out)]
16:45 < exch> Helmar: I will when it's done
16:46 < Helmar> exch: nice thing - many are waiting ;)
16:46 -!- The_Ball [n=The_Ball@123-2-12-83.static.dsl.dodo.com.au] has joined
#go-nuts
16:46 -!- offby1 [n=user@q-static-138-125.avvanta.com] has joined #go-nuts
16:46 < exch> heh I got tired of waiting ;)
16:46 < whiteley> halfdan_: http://golang.org/doc/GoCourseDay1.pdf page 53.
16:47 < Helmar> exch: I tied shipped things first...
16:47 -!- annodomini [n=lambda@wikipedia/lambda] has quit [Read error: 110
(Connection timed out)]
16:48 < Helmar> "tried" of course.  *g*
16:48 -!- sm [n=sm@cpe-76-173-194-242.socal.res.rr.com] has quit [Connection timed
out]
16:48 -!- armence [n=armence@c-67-188-229-128.hsd1.ca.comcast.net] has joined
#go-nuts
16:48 -!- vasudev [n=kakashi@117.254.115.184] has joined #go-nuts
16:49 -!- alexsuraci` [n=alex@li71-127.members.linode.com] has quit ["Lost
terminal"]
16:49 -!- al-maisan
[n=al-maisa@conference/ubuntu-developer-summit/x-fvnnyhnyvtmbjayy] has joined
#go-nuts
16:49 < harryv> halfdan_: here's a stupid example: http://pastie.org/701155
16:49 -!- al-maisan
[n=al-maisa@conference/ubuntu-developer-summit/x-fvnnyhnyvtmbjayy] has left
#go-nuts ["Parting is tough.."]
16:49 -!- wobsite [n=wobsite_@140.232.182.110] has joined #go-nuts
16:50 -!- annodomini [n=lambda@130.189.179.215] has joined #go-nuts
16:51 -!- hipe [n=hipe@pool-74-108-181-155.nycmny.east.verizon.net] has joined
#go-nuts
16:52 -!- rovar [i=41c66d9a@gateway/web/freenode/x-xmnjlyfrxplyabvm] has joined
#go-nuts
16:53 -!- kaigan|work
[n=kaigan@c-8290e255.1411-10-64736c14.cust.bredbandsbolaget.se] has left #go-nuts
[]
16:53 -!- konrath [n=chatzill@189.34.46.111] has joined #go-nuts
16:53 < nbaum> Idly, I spent ages trying to figure out what was wrong with
go func () { doSomething() };
16:53 < dwery> exch: we're all waiting :D
16:55 -!- jimi_hendrix [n=jimi_hen@unaffiliated/jimihendrix] has quit [Read error:
110 (Connection timed out)]
16:55 < hector> dho: just wondering, do i have to implement locking if i'm
just trying out hello world?
16:55 -!- uchouhan [n=Adium@cpe-76-174-46-7.socal.res.rr.com] has quit
["Leaving."]
16:56 < dho> hector: for fmt.Printf, yes.
16:56 < dho> for $GOROOT/tests/helloworld.go, no
16:57 < dho> well, you have to at least stub it anyway
16:57 -!- azmorf [n=azmorf@zuzzun.ru] has quit []
16:57 -!- iarwain [n=iarwain@ec2-79-125-6-47.eu-west-1.compute.amazonaws.com] has
left #go-nuts []
16:57 < hector> dho: yeah stubbing was the first thing i did
16:58 -!- annodomini_ [n=lambda@wikipedia/lambda] has quit [Read error: 110
(Connection timed out)]
16:58 < dho> then you should be able to do that at least.
16:58 < rovar> nbaum: I just jumped in on your very last statement, are
anonymous functions supported in Go?
16:58 < dho> also doesn't require signal handling or anything like that
16:58 < harryv> rovar: yes.
16:59 < rovar> and ptrs to functions have a sane syntax?  I can't seem to
find any docs on it.
16:59 < harryv> foo := func() { ..  }
16:59 < harryv> foo()
17:00 < rovar> what is the type of foo?
17:00 -!- mitchellh [n=mitchell@c-71-231-140-22.hsd1.wa.comcast.net] has joined
#go-nuts
17:00 < harryv> http://golang.org/doc/go_spec.html#Function_types
17:00 -!- ineol [n=hal@mar75-9-88-171-191-168.fbx.proxad.net] has joined #go-nuts
17:01 < harryv> or something.
17:01 < rovar> thanks
17:01 -!- trickie [n=trickie@94.100.112.225] has quit ["outty"]
17:01 -!- sm [n=sm@cpe-75-85-88-227.socal.res.rr.com] has joined #go-nuts
17:01 < halfdan_> harryv: nice, what's wrong with this then:
http://nopaste.info/e7e259212e.html
17:01 < rovar> tests/closure.go gives me hope for this language :)
17:01 < dho> hm
17:01 -!- annodomini_ [n=lambda@wikipedia/lambda] has joined #go-nuts
17:01 -!- interskh [n=interskh@c-67-163-156-103.hsd1.pa.comcast.net] has quit
[Read error: 60 (Operation timed out)]
17:02 -!- remy__ [n=remy@telnet.telecom-lille1.eu] has quit [Remote closed the
connection]
17:02 -!- wcr [n=wcr@unaffiliated/warcrime] has joined #go-nuts
17:02 < Helmar> fmt.Println("f(5) = " + f(5)(6)(7));
17:02 < Helmar> Syntax error?!
17:03 < halfdan_> sure, but how would i call the function returned by f(5)?
17:03 < halfdan_> besides the string + int error
17:03 -!- skyyy [i=caw@129.21.116.238] has quit [Client Quit]
17:03 -!- trutkin_ [n=trutkin@64.1.25.211.ptr.us.xo.net] has joined #go-nuts
17:04 -!- mitchellh [n=mitchell@c-71-231-140-22.hsd1.wa.comcast.net] has quit
[Client Quit]
17:04 -!- hyn [n=hyn@p0a38fe.tokyte00.ap.so-net.ne.jp] has quit ["Computer has
gone to sleep"]
17:04 < rovar> has someone made a vim syntax file for go yet?  I am having a
hard time googling for it
17:04 < halfdan_> rovar: it's inside the repo
17:04 < oklofok> halfdan_: aren't your types wrong, your type says you're
returning a function that returns an int, but you return a function that returns a
function
17:04 < halfdan_> rovar: see misc/vim/go.vim
17:04 < rovar> oh..  sweet.  thanks
17:04 < Helmar> in the repo is a vim syntax file.
17:04 -!- harryv [n=harry@67.207.147.205] has left #go-nuts []
17:04 -!- Dreamer3_MBP17 [n=jgoebel@96.28.100.3] has quit []
17:05 < halfdan_> oklofok: hm
17:05 -!- sm_ [n=sm@cpe-76-173-194-242.socal.res.rr.com] has joined #go-nuts
17:05 < oklofok> return type: (func(int) int); returned object: func (y int)
(func(int) int) ...
17:06 < nbaum> Dare I asked about an emacs mode?
17:06 -!- octoploid [n=octoploi@77-23-212-222-dynip.superkabel.de] has quit
["WeeChat 0.3.1-dev"]
17:06 -!- skyyy [i=caw@res55551479.rh.rit.edu] has joined #go-nuts
17:06 < Helmar> misc/emacs
17:06 < nbaum> rovar: The problem is that "go"'s argument is a function
call, not a function itself.  You have to do go func () { doSomething() } ();
17:07 < nbaum> Helmar: Simple as that.  I probably would never have looked
there.
17:07 -!- drusepth [n=drusepth@209.106.203.252] has joined #go-nuts
17:07 < SRabbelier> how do I join two string slices?
17:07 -!- rajeshsr [n=rajeshsr@59.96.11.66] has joined #go-nuts
17:08 -!- lotrpy [n=lotrpy@202.38.97.230] has joined #go-nuts
17:08 -!- annodomini [n=lambda@wikipedia/lambda] has quit [Connection timed out]
17:08 -!- bbeck [n=bbeck@dxr-fw.dxr.siu.edu] has joined #go-nuts
17:08 < rovar> oddly..  it doesn't highlight..  i wonder what I broke.
17:10 -!- timmcd [n=Adium@97-117-100-106.slkc.qwest.net] has joined #go-nuts
17:10 -!- Venom_X [n=pjacobs@66.54.185.131] has joined #go-nuts
17:10 -!- triddell [n=tim@207-191-198-64.cpe.ats.mcleodusa.net] has joined
#go-nuts
17:11 -!- trutkin [n=trutkin@64.1.25.210.ptr.us.xo.net] has quit [Read error: 110
(Connection timed out)]
17:12 < Helmar> SRabbelier: you ever had to do?  Well, the returning thing
at least is not a simple slice.  It would cause a new array (or what), so I guess
you've to do a little more than "+" with strings.  Well, I neever needed it up to
now ;)#
17:12 -!- annodomini [n=lambda@130.189.179.215] has joined #go-nuts
17:12 < SRabbelier> Helmar: I have to now, yes
17:13 < scandal> SRabbelier: strings.Join
17:13 -!- kaib [n=kaib@c-76-102-52-156.hsd1.ca.comcast.net] has joined #go-nuts
17:13 -!- mode/#go-nuts [+v kaib] by ChanServ
17:14 -!- Wezz6400_ is now known as Wezz6400
17:14 < SRabbelier> scandal: actually, that joins them into one big string
17:14 < SRabbelier> scandal: I want ["0", "1"] and ["2", "3"] to become
["0", "1", "2", "3"]
17:15 < scandal> SRabbelier: i believe you can use vector.StringVector to do
that
17:16 -!- kaib [n=kaib@c-76-102-52-156.hsd1.ca.comcast.net] has quit [Client Quit]
17:16 -!- teedex [n=teedex@204.14.155.161] has joined #go-nuts
17:16 < timmcd> =D
17:17 -!- smooge [n=smooge@int.smoogespace.com] has quit ["-ENOBRAIN"]
17:17 -!- smooge [n=smooge@int.smoogespace.com] has joined #go-nuts
17:17 < SRabbelier> scandal: ah, yes, thank you
17:17 < halfdan_> nbaum: nope go func() is not required :)
17:18 < halfdan_> works if i just give em the correct return type
17:18 < halfdan_> which is..  very ugly
17:18 -!- annodomini_ [n=lambda@wikipedia/lambda] has quit [Read error: 110
(Connection timed out)]
17:19 -!- ecmicro [n=jam@client-75-102-118-241.mobility-up.psu.edu] has left
#go-nuts []
17:20 < rajeshsr> hi
17:20 -!- sm [n=sm@cpe-75-85-88-227.socal.res.rr.com] has quit [Read error: 113
(No route to host)]
17:20 -!- sm_ is now known as sm
17:20 < rajeshsr> There isn't any lib in go yet that supports things like
StringBuffer in java or string in C++, right?
17:21 < timmcd> I believe with cgo:
17:21 < timmcd> C.cstring(str);
17:21 < timmcd> converts a string to a c-string
17:21 < scandal> rajeshsr: bytes.Buffer is the closest
17:21 < rajeshsr> scandal, hmm, ok
17:22 -!- path[l] [n=path@59.162.86.164] has joined #go-nuts
17:22 < path[l]> hi
17:22 < path[l]> I was wondering if someone could help me with something
quite basic.  Im trying to use easy_install to install mercurial and I get an
error I dont understand.  (Im on mac os)
17:23 -!- cmarcelo [n=cmarcelo@200.184.118.130] has joined #go-nuts
17:23 -!- ghaering [n=ghaering@87.119.218.126] has quit [Read error: 60 (Operation
timed out)]
17:23 < pagenoare> paste the error
17:23 -!- buluca [n=buluca@unaffiliated/buluca] has joined #go-nuts
17:23 -!- delza [n=delza@209-52-232-202.vlan452.static.ucc-net.ca] has joined
#go-nuts
17:23 -!- Popog [n=Adium@pool-71-121-200-233.sttlwa.dsl-w.verizon.net] has joined
#go-nuts
17:23 < rajeshsr> BTW, after pulling changes its enough to do: ./all.bash
again right?
17:23 < path[l]> $ sudo easy_install Mercurial
17:23 < path[l]> Password:
17:23 < path[l]> Searching for Mercurial
17:23 < path[l]> Reading http://pypi.python.org/simple/Mercurial/
17:23 < path[l]> No local packages or download links found for Mercurial
17:23 < path[l]> error: Could not find suitable distribution for
Requirement.parse('Mercurial')
17:24 < scandal> rajeshsr: yes
17:24 -!- daxelrod [n=daxelrod@164.55.254.106] has joined #go-nuts
17:24 < rajeshsr> scandal, thanks
17:24 < Helmar> path[l]: Well, no excuses...  You could use a Linux or read
Dox...
17:25 < uriel> path[l]: what Mac Os version?
17:25 < rovar> halfdan_: this is my first go program..  it's my take on
correcting your paste
http://gopaste.org/view?paste=A8wHf8X3dEw4V8vQe7J8oBw4T5dUv0A0
17:25 -!- sagax [n=asdfwert@69-196-187-51.dsl.teksavvy.com] has quit ["Leaving"]
17:25 < uriel> path[l]: and probably using fink or such would be easier
17:25 < path[l]> 10.6
17:25 -!- sliceofpi [n=Adium@c-98-201-178-27.hsd1.tx.comcast.net] has joined
#go-nuts
17:25 < rovar> i broke out the funcs into vars because that helped me
decipher the error messages.
17:25 < path[l]> I was wondering if it might be related to my http_proxy
17:25 < uriel> path[l]: or get mercurial from here
http://mercurial.berkwood.com/
17:26 < uriel> path[l]: it doesn't matter, easy_install is braindead
17:26 < uriel> get hg some other way
17:26 < path[l]> hmm ok
17:26 -!- Stotherd [n=davidsto@gi0-0.cr1.vg1.core.bfs.wombatfs.net] has quit
["Leaving."]
17:26 * uriel wonders why OS X doesn't come with mercurial by default...
17:27 < pagenoare> hm...  There'are sources of Go Paste ?
17:27 -!- drusepth` [n=drusepth@209.106.203.252] has joined #go-nuts
17:27 < path[l]> hmm I can just use mac ports cant I
17:27 -!- kim__ [n=kim@72-34-13-35.mtco.com] has quit [Read error: 110 (Connection
timed out)]
17:27 < pagenoare> get it, nevermind
17:28 -!- kim__ [n=kim@207-179-247-248.mtco.com] has joined #go-nuts
17:28 < pagenoare> awesome design
17:28 -!- UKRep547 [n=jcricket@80.68.93.104] has quit [Remote closed the
connection]
17:28 < rajeshsr> scandal, any idea of what seem the popular demand as an
lib for Go?
17:28 < Helmar> path[l]: why not?  Mercurial is not complicated to install.
Even under MacOS.
17:29 < rajeshsr> scandal, wud like to work on it when I get time!  :)
17:29 < path[l]> Ill just use mac ports and get it
17:29 -!- mitchellh [n=mitchell@D-69-91-163-160.dhcp4.washington.edu] has joined
#go-nuts
17:29 < path[l]> Helmar: I was just following the instructions on the go
site but if there's no need to use easy_install then screw it
17:29 -!- annodomini [n=lambda@wikipedia/lambda] has quit [Read error: 110
(Connection timed out)]
17:30 < scandal> rajeshsr: well, peresonally i know I'm mising os.walk()
from python :)
17:30 -!- hkm [n=hkm@ip-64-15-147-186.static.privatedns.com] has joined #go-nuts
17:30 -!- mitchellh [n=mitchell@D-69-91-163-160.dhcp4.washington.edu] has quit
[Client Quit]
17:30 < rajeshsr> scandal, hmm, ok!
17:30 < scandal> rajeshsr: i think mainly people are experimenting right
now.
17:31 -!- anders_ [n=anders@c83-253-2-206.bredband.comhem.se] has joined #go-nuts
17:31 < rajeshsr> yeah, but working with an lib will definitely help us
leran more, find more bugs if it exists etc.
17:31 < Helmar> path[l]: Mhm, I did not try a MacOS now - last Mac died
because of hardware problems...  But Mercurial I did get installed there a few
weeks ago.
17:31 -!- drusepth [n=drusepth@209.106.203.252] has quit [Read error: 110
(Connection timed out)]
17:31 < rajeshsr> just writing a sudoku code, came with bug 188
17:32 -!- buluca [n=buluca@unaffiliated/buluca] has left #go-nuts []
17:32 -!- snnw [n=snnw@dhcp-095-096-105-101.chello.nl] has joined #go-nuts
17:32 < scandal> rajeshsr: agreed.  i was playing with exp/iterable and
noticed that Map didn't work with arrays, so i wrote an arrays package.
17:32 < path[l]> ah k
17:33 < chickamade> I just wrote a much more efficient prime sieve than the
one from the tutorial
<http://groups.google.com/group/golang-nuts/browse_thread/thread/b18c67aacb49f348#>
17:33 -!- padraic_ [n=padraic@86-42-148-171-dynamic.b-ras1.bbh.dublin.eircom.net]
has quit [Read error: 60 (Operation timed out)]
17:33 < rajeshsr> scandal, thats cool!  may be we need to start some new
site, like cpan of perl etc.
17:33 < rajeshsr> tat can even be in code.google.com
17:33 < scandal> someone mentioned that on the email list, but i don't think
anything came of it
17:34 < scandal> so far the golan reddit seems to be the place where people
are posting their work
17:34 -!- snnw [n=snnw@dhcp-095-096-105-101.chello.nl] has left #go-nuts []
17:34 < rajeshsr> scandal, hmm, but without a centralized repo, things can
not get good.  we can have votes too add to core lib etc.
17:34 -!- sowa [n=sowa@85.214.104.79] has quit ["Lost terminal"]
17:35 < rajeshsr> oh, i dint check tat, lemme see
17:36 -!- emil [n=emil@193.225.16.62.customer.cdi.no] has joined #go-nuts
17:37 -!- emil is now known as Kverndal
17:37 -!- Cyprien [n=Cyprien@23-120.107-92.cust.bluewin.ch] has joined #go-nuts
17:39 -!- interskh [n=interskh@c-67-163-156-103.hsd1.pa.comcast.net] has joined
#go-nuts
17:40 -!- uchouhan [n=Adium@pool-71-105-65-88.lsanca.dsl-w.verizon.net] has joined
#go-nuts
17:40 -!- dezelin [n=dezelin@91.150.116.219] has joined #go-nuts
17:42 < drhodes> chickamade: adding runtime.GOMAXPROCS := 2; to your main in
sieve2.go shaved 4 ms off the ./time, fwiw - I wonder if it beats haskell's sieve.
17:42 < drhodes> (on a tired pentium 4)
17:42 -!- clearscreen [n=clearscr@e248070.upc-e.chello.nl] has joined #go-nuts
17:42 -!- vasudev [n=kakashi@117.254.115.184] has quit [Read error: 110
(Connection timed out)]
17:43 -!- clearscreen [n=clearscr@e248070.upc-e.chello.nl] has quit [Read error:
104 (Connection reset by peer)]
17:43 -!- jarfhy [n=jeff@68.146.152.204] has quit [Remote closed the connection]
17:43 < rajeshsr> this issue is interesting:
http://code.google.com/p/go/issues/detail?id=226&colspec=ID%20Type%20Status%20Owner%20Summary
17:43 < chickamade> drhodes: hmm does it make a difference using
GOMAXPROCS=2 ./sieve2 [n] or use runtime.GOMAXPROCS inside the program?
17:44 < rajeshsr> had anyone worked with languages that support recursion in
anonymous functions?
17:44 < rajeshsr> What they do?
17:45 -!- hyn [n=hyn@p0a38fe.tokyte00.ap.so-net.ne.jp] has joined #go-nuts
17:46 -!- padraic_ [n=padraic@86-42-169-1-dynamic.b-ras1.bbh.dublin.eircom.net]
has joined #go-nuts
17:46 < rhc> rajeshsr: you can do that with a y combinator, not sure if any
language supports it with some kind of syntatic support
17:47 < drhodes> chickamade: I'm not sure, but now that I look at it again,
my -n was only 1000 and increasing it to 100000 shows that my above statement was
bunk.
17:47 < rajeshsr> rhc, yeah when looking through net was introduced to such
notions!  anyway am yet to understand what they mean!
17:48 -!- path[l] [n=path@59.162.86.164] has quit []
17:48 -!- dajero [n=dajero@82-169-246-141.ip.telfort.nl] has joined #go-nuts
17:49 < olegfink> rajeshsr: my suggestion for go-like languages is an
implicit variable defined in function scope with the value of the function it's
referenced in.
17:49 < rickard> I'm looking to do an introduction and play around with the
Go language with some other students at our university.  I'm in charge of this
happening and I wonder if you have any other online resources for Go beginners
other than the youtube video from TechTalks and golang.org?
17:49 -!- gkmngrgn [n=gkmngrgn@unaffiliated/gkmngrgn] has joined #go-nuts
17:50 -!- halfdan_ is now known as halfdan
17:50 < rajeshsr> olegfink, well, on seeing that i was tempted to think
about how will u call an anonymous function that encloses another anonymous
function from inside this?  Anyway I wasn't sure if such a pattern will make sense
to warrant some thinking!  :)
17:51 < XniX23> rickard: record it and put it online
17:51 < saati_> rickard: not really
17:51 < rickard> XniX23: It will be in Swedish, maybe not that helpful =)
17:51 < rajeshsr> rickard, the 3 pdfs from Rob Pike, they rock!  I lerant a
lot from this, than from everything in tutorial
17:52 < timmcd> rajeshsr: Link?
17:52 < XniX23> rickard: oh damn, and yes 3pdf's are probably the best thing
out there
17:52 -!- Fraeon [n=kzer-za@e212-246-65-153.elisa-laajakaista.fi] has joined
#go-nuts
17:52 < rajeshsr> it is in tutorial itself, Day 1, 2 and 3
17:52 < timmcd> Ah tyvm
17:52 < olegfink> rajeshsr: not really in my experience
17:53 < XniX23> where can we see some progress on go language?
17:53 < halfdan> XniX23: bugtracker?
17:53 < halfdan> rickard: oh swedish is fine ;=)
17:53 < XniX23> halfdan: only this so far?  no improvements?  ;p
17:54 < rajeshsr> olegfink, yeah, of course!  But they are a sort of
intellectual curiosity.  I would say that even patterns involving recursion of
anonymous functions are contrived!
17:54 < rickard> rajeshsr: oh 3pfs, got it.  thanks!
17:54 -!- cvmori [n=carlos@201.21.171.68] has joined #go-nuts
17:54 -!- conra [n=konrad@host-89-229-12-166.torun.mm.pl] has joined #go-nuts
17:54 -!- kitallis [n=kitallis@122.163.111.128] has joined #go-nuts
17:55 -!- wobsite [n=wobsite_@140.232.182.110] has quit ["Leaving"]
17:56 < kitallis> \0/
18:02 -!- dowaito [n=user@ip65-44-117-2.z117-44-65.customer.algx.net] has joined
#go-nuts
18:02 -!- thundering-light [i=75c502bf@gateway/web/freenode/x-turgivyaloepwhct]
has joined #go-nuts
18:02 < thundering-light> Go nuts?
18:02 < thundering-light> Whats this?
18:02 < uriel> thundering-light: http://golang.org
18:03 -!- cablehead [n=Adium@nat/slide/x-jojzgttfvrttzqbr] has joined #go-nuts
18:03 -!- hyn [n=hyn@p0a38fe.tokyte00.ap.so-net.ne.jp] has quit [Read error: 110
(Connection timed out)]
18:03 < thundering-light> oh..thanks
18:04 < XniX23> is there any benchmark of go?
18:04 < kitallis> just compiled my Hello World \m/
18:04 < kitallis> now I need some docs
18:04 -!- timmcd [n=Adium@97-117-100-106.slkc.qwest.net] has quit ["Leaving."]
18:04 -!- drusepth` [n=drusepth@209.106.203.252] has quit [Read error: 110
(Connection timed out)]
18:05 < saati_> kitallis: the docs are in ~/go/docs or on the site
18:05 -!- clearscreen [n=clearscr@e248070.upc-e.chello.nl] has joined #go-nuts
18:05 < kitallis> thx :)
18:06 -!- anders_ [n=anders@c83-253-2-206.bredband.comhem.se] has quit [Read
error: 110 (Connection timed out)]
18:06 -!- rhelmer [n=rhelmer@adsl-69-107-65-242.dsl.pltn13.pacbell.net] has joined
#go-nuts
18:07 < conra> kitallis: read first: http://golang.org/pkg/ ,
http://golang.org/cmd/ and http://golang.org/doc/effective_go.html ;-)
18:08 < kitallis> yeah, already :)
18:08 -!- ring-zero [n=hotshot@117.207.64.96] has joined #go-nuts
18:09 < SRabbelier> what should 'env' look like in exec.Run?
18:10 -!- gkmngrgn [n=gkmngrgn@unaffiliated/gkmngrgn] has quit ["Leaving"]
18:10 -!- pshahmumbai [n=prashant@59.164.24.146] has joined #go-nuts
18:10 -!- gkmngrgn [n=gkmngrgn@unaffiliated/gkmngrgn] has joined #go-nuts
18:10 < SRabbelier> ah, nvm, "key=value" pairs
18:11 -!- bbeck [n=bbeck@dxr-fw.dxr.siu.edu] has quit [Read error: 104 (Connection
reset by peer)]
18:12 -!- trutkin__ [n=trutkin@64.1.25.210.ptr.us.xo.net] has joined #go-nuts
18:12 -!- bbeck [n=bbeck@dxr-fw.dxr.siu.edu] has joined #go-nuts
18:13 < conra> o.0 "$ 8g webserver.go
18:13 < conra> 8g: command not found" go is installed
18:13 < Amaranth> conra: is it in your $PATH?
18:14 < Amaranth> conra: keep it in the channel please
18:14 < Amaranth> Ok then, I'll just ignore PMs from you then
18:15 -!- x-ip [n=sakura@unaffiliated/x-ip] has joined #go-nuts
18:15 -!- Rob_Russell [n=chatzill@206-248-157-156.dsl.teksavvy.com] has joined
#go-nuts
18:16 -!- dezelin [n=dezelin@91.150.116.219] has quit ["Bersirc 2.2: All the
original sexiness of Bersirc, open to the world.  [ http://www.bersirc.org/ - Open
Source IRC ]"]
18:16 -!- clearscreen [n=clearscr@e248070.upc-e.chello.nl] has quit [Read error:
104 (Connection reset by peer)]
18:18 -!- Venom_X_ [n=pjacobs@66.54.185.131] has joined #go-nuts
18:18 < conra> amaranth: yesterday i compiled "helloworld.go"; today i have
msg: 8g: command not found
18:19 < Amaranth> conra: is it in your $PATH?
18:19 < Amaranth> you need $GOBIN in your $PATH
18:19 -!- zerofluid [n=zeroflui@ip68-227-10-141.lv.lv.cox.net] has joined #go-nuts
18:19 < Amaranth> or, if you didn't set $GOBIN, you need ~/bin in your $PATH
18:19 < saati_> conra: you did not permanently modify your path
18:20 -!- trutkin_ [n=trutkin@64.1.25.211.ptr.us.xo.net] has quit [Read error: 110
(Connection timed out)]
18:20 -!- shambler [n=kingrat@mm-73-164-84-93.dynamic.pppoe.mgts.by] has joined
#go-nuts
18:20 < saati_> you should include export PATH=$PATH:/home/YOURUSER/bin/ in
your .bashrc
18:20 -!- mtz [n=jaan@90.191.206.165] has quit [Read error: 145 (Connection timed
out)]
18:21 -!- Venom_X [n=pjacobs@66.54.185.131] has quit [Nick collision from
services.]
18:21 -!- Venom_X_ is now known as Venom_X
18:21 < conra> root@konrad-desktop:/home/konrad# env | grep '^GO'
18:21 < conra> GOBIN=/home/konrad/bin
18:21 < conra> GOARCH=386
18:21 < conra> GOROOT=/home/konrad/go
18:21 < conra> GOOS=linux
18:22 -!- mitchellh [n=mitchell@microchip.dyn.cs.washington.edu] has joined
#go-nuts
18:22 < dowaito> Is there a way to extend a package similar to monkey
patching.  I'm trying to avoid having MyStrings.chop(s) (as an example) where
strings.chop(s) would be more natural.  Also, does any one have a url for
inheritance information?  Is there inheritance, or just polymorphism?
18:22 -!- path__ [n=path@115.240.64.45] has joined #go-nuts
18:23 < conra> saati_: i have in .bashrc: export GOBIN=/home/konrad/bin
18:23 < path__> hmm the problem was the stupid http proxy
18:23 < saati_> conra: than read once again what i have written
18:23 -!- unomystEz_ [n=burnin@unaffiliated/unomystez] has quit ["peace"]
18:25 -!- werdan7_ [n=w7@freenode/staff/wikimedia.werdan7] has joined #go-nuts
18:25 < conra> saati: it works ;-)
18:25 < conra> thanks
18:25 -!- werdan7 [n=w7@freenode/staff/wikimedia.werdan7] has quit [Nick collision
from services.]
18:25 -!- werdan7_ is now known as werdan7
18:28 -!- teedex [n=teedex@204.14.155.161] has quit [Remote closed the connection]
18:28 -!- mtz [n=jaan@165.206.191.90.dyn.estpak.ee] has joined #go-nuts
18:29 < Amaranth> ok this quit channel stuff is not working :/
18:31 -!- teedex [n=teedex@204.14.155.161] has joined #go-nuts
18:31 < KirkMcDonald> dowaito: There are anonymous fields.
18:31 -!- General1337 [n=support@71-84-247-187.dhcp.gldl.ca.charter.com] has
joined #go-nuts
18:32 < KirkMcDonald> dowaito: When you add an anonymous field to a struct,
the method set of the anonymous field is added to the method set of the struct.
18:33 -!- Popog [n=Adium@pool-71-121-200-233.sttlwa.dsl-w.verizon.net] has quit
["Leaving."]
18:33 -!- Fl1pFl0p1 [n=FlipFlop@ip68-8-225-187.sd.sd.cox.net] has joined #go-nuts
18:33 -!- mike__ [n=mike@41.0.10.160] has joined #go-nuts
18:33 -!- mike__ [n=mike@41.0.10.160] has quit [Read error: 104 (Connection reset
by peer)]
18:34 -!- Heavensrevenge
[n=quassel@CPE001d0fe73b7d-CM00111ae5c642.cpe.net.cable.rogers.com] has joined
#go-nuts
18:34 -!- anders_ [n=anders@c83-253-2-206.bredband.comhem.se] has joined #go-nuts
18:34 -!- mikeprinsloo [n=mikeprin@41.0.10.160] has joined #go-nuts
18:35 -!- hagna [n=hagna@70.102.57.178] has joined #go-nuts
18:35 -!- KillerX [n=anant@gentoo/developer/KillerX] has quit [Read error: 60
(Operation timed out)]
18:37 < XniX23> how can i get group when matching regexp?
18:37 < Snert> dho: for future reference I found a Plan 9 Assembler Syntax
document (finally)
http://[2001:4860:a003::84]/search?q=cache:z-ZkpKJS--wJ:www.ecf.toronto.edu/plan9/plan9man/04asm.ps+plan9+assembler+syntax&cd=1&hl=en&ct=clnk&lr=lang_en&client=firefox-a
18:38 -!- smooge [n=smooge@int.smoogespace.com] has quit ["-ENOBRAIN"]
18:38 < SRabbelier> how do I get the absolute path of a filename?
18:38 -!- path___ [n=path@115.240.126.219] has joined #go-nuts
18:38 -!- cold-penguin [n=ben@92.8.42.199] has left #go-nuts ["Ex-Chat"]
18:38 < KirkMcDonald> XniX23: The MatchSlices method.
18:39 -!- teatime [n=c@mail.zdata.no] has quit [Connection timed out]
18:41 < rovar> KirkMcDonald: How's it going?
18:41 < rovar> I was curious how many D people I'd find here :)
18:41 < dho> Snert: i could have shown you that...
18:41 < dho> sorry.
18:42 < Snert> oh well, better late than never
18:42 -!- ephoenix [n=phoenixl@cpe-66-108-194-2.nyc.res.rr.com] has joined
#go-nuts
18:42 < uriel> Snert: http://doc.cat-v.org/plan_9/4th_edition/papers/asm
18:43 -!- pshahmumbai [n=prashant@59.164.24.146] has quit ["Ex-Chat"]
18:43 < uriel> Snert: and http://man.cat-v.org/plan_9/1/2a
18:45 < KirkMcDonald> rovar: I've seen a few others.
18:45 -!- phoenixlink__ [n=phoenixl@cpe-66-108-194-2.nyc.res.rr.com] has quit
[Read error: 110 (Connection timed out)]
18:46 -!- mitchellh [n=mitchell@microchip.dyn.cs.washington.edu] has quit
["Leaving."]
18:46 < Snert> well at least that explains a few earlier questions about
syntax
18:47 < XniX23> KirkMcDonald: newb question, but how can should i put a
string in b []byte?
18:48 < KirkMcDonald> XniX23: I would expect a type conversion to work:
[]byte(s)
18:48 -!- BlunderBuss [n=BlunderB@12.54.221.117] has quit [Read error: 110
(Connection timed out)]
18:49 < KirkMcDonald> XniX23: Oh. Or not.  There is also the strings.Bytes
function.
18:49 < dowaito> strings.Bytes(s) returns a []byte slice of the string
18:49 -!- General13372 [n=support@71-84-247-187.dhcp.gldl.ca.charter.com] has quit
[Connection timed out]
18:49 -!- dowaito [n=user@ip65-44-117-2.z117-44-65.customer.algx.net] has left
#go-nuts ["ERC Version 5.3 (IRC client for Emacs)"]
18:49 -!- Yaquishael [n=Yaquisha@unaffiliated/yaquishael] has joined #go-nuts
18:50 -!- Yaquishael [n=Yaquisha@unaffiliated/yaquishael] has left #go-nuts
["Leaving"]
18:50 -!- mitchellh [n=mitchell@microchip.dyn.cs.washington.edu] has joined
#go-nuts
18:50 < XniX23> KirkMcDonald thanks
18:51 -!- path__ [n=path@115.240.64.45] has quit [Read error: 110 (Connection
timed out)]
18:52 -!- MigoMipo [n=kvirc@84-217-7-251.tn.glocalnet.net] has quit ["When two
people dream the same dream, it ceases to be an illusion.  KVIrc 3.4.2 Shiny
http://www.kvirc.net"]
18:52 -!- gasreaa [n=atwong@nat/slide/x-dijqftltclshfuru] has joined #go-nuts
18:52 -!- olleolleolle [n=olleolle@user12.77-105-210.netatonce.net] has joined
#go-nuts
18:53 < Amaranth> ok I apparently fail badly at this stuff...
18:54 -!- MigoMipo [n=kvirc@84-217-7-251.tn.glocalnet.net] has joined #go-nuts
18:55 -!- clip9 [i=tj@12.81-166-62.customer.lyse.net] has quit [Read error: 104
(Connection reset by peer)]
18:56 -!- issy [n=issy@95-42-7-3.btc-net.bg] has joined #go-nuts
18:56 -!- teatime [n=c@213-187-177-166.dd.nextgentel.com] has joined #go-nuts
18:56 -!- issy [n=issy@95-42-7-3.btc-net.bg] has left #go-nuts []
18:57 -!- olleolleolle [n=olleolle@user12.77-105-210.netatonce.net] has quit [Read
error: 60 (Operation timed out)]
18:57 < Snert> damn; sometimes I wish assembler authors had the same
discipline as Forth authors concerning stack manipulation
18:58 < dho> it's not so bad
18:58 -!- Popog [n=Adium@pool-71-121-200-233.sttlwa.dsl-w.verizon.net] has joined
#go-nuts
18:58 < Snert> well Forth authors document stack before/after effects
18:59 -!- jimi_hendrix [n=jimi_hen@unaffiliated/jimihendrix] has joined #go-nuts
18:59 < Snert> assembler authors appear to be a little more lazy
19:00 -!- mike_prinsloo [n=mikeprin@41.0.10.160] has joined #go-nuts
19:00 -!- octoploid [n=octoploi@77-23-212-222-dynip.superkabel.de] has joined
#go-nuts
19:00 -!- mikeprinsloo [n=mikeprin@41.0.10.160] has quit [Read error: 110
(Connection timed out)]
19:00 < Snert> dho: part of my angst is resolving a "rfork_thread:
unbalanced PUSH/POP"
19:01 -!- thundering-light [i=75c502bf@gateway/web/freenode/x-turgivyaloepwhct]
has left #go-nuts []
19:03 -!- trutkin__ [n=trutkin@64.1.25.210.ptr.us.xo.net] has left #go-nuts
["Leaving"]
19:03 -!- ironfroggy_ [n=calvin@64.129.84.194] has joined #go-nuts
19:03 < XniX23> can someone tell me why i dont have more outputs here?
http://gopaste.org/view?paste=Y6fHp2V8yEm1W2vHi6B0rAw2D4zMv5W5
19:03 < Amaranth> I just cannot seem to wrap my head around how to change
something using select() to read from one socket and write to a second one (or
vice versa) into goroutines
19:04 -!- smooge [n=smooge@int.smoogespace.com] has joined #go-nuts
19:04 < Snert> dho: it would help if I actually knew if an INT $0x80 call
popped elements; the just not clear
19:04 -!- binaryjohn [n=binaryjo@cpe-24-30-132-50.san.res.rr.com] has joined
#go-nuts
19:07 < Amaranth> XniX23: Well assuming it's like sed you've only asked for
the first result
19:07 < Amaranth> But it could just be that the thing is broken
19:08 -!- Daminvar [n=Daminvar@129.21.81.77] has quit ["Leaving"]
19:08 < XniX23> MatchStrings returns []string, so i guess i should more if
possible, maybe im wrong ^^
19:09 < Amaranth> *shrug*
19:09 -!- KillerX [n=anant@145-116-239-101.uilenstede.casema.nl] has joined
#go-nuts
19:09 -!- trutkin__ [n=trutkin@64.1.25.210.ptr.us.xo.net] has joined #go-nuts
19:09 -!- trutkin__ is now known as trutkin
19:10 < KirkMcDonald> XniX23: Your regex contains no groups.
19:11 < scyth> can someone explain to me, what are goroutines, if not
threads?  I mean, I know they're threads but I'm not sure if this is just a
highlevel api on threads or there something else?
19:11 < nickjohnson> Do channels support multiple senders and/or receivers?
19:11 <+iant> scyth: they are coroutines multiplexed onto OS threads
19:11 <+iant> nickjohnson: yes
19:11 < Amaranth> nickjohnson: sure but once you read something from a
channel it's gone
19:11 <+iant> yes
19:11 < KirkMcDonald> XniX23: Do you want to retrieve all of the matches of
the regex within the string?
19:11 < XniX23> KirkMcDonald: even if i group that regex (a.b) then i get as
output "acb acb "
19:11 < XniX23> yes
19:11 < nickjohnson> Amaranth: fine with me
19:11 < Amaranth> Which is the reason I don't think I can actually do what
I'm trying to accomplish
19:11 < KirkMcDonald> XniX23: That would be the AllMatchesString method.
19:11 < XniX23> but if im not mistaken i should get also the "adb"
19:12 < XniX23> ohhh
19:12 <+iant> Amaranth: if you want many receivers for a channel, put in a
goroutine which reads one value and writes multiple values
19:12 < KirkMcDonald> XniX23: MatchStrings matches once, and then returns
the values of all of the groups in that match.
19:12 < Amaranth> iant: eh?
19:12 < XniX23> KirkMcDonald: thanks, dunno how i missed that func ˇ_ˇ
19:13 < Amaranth> iant: So if I have 2 things that want that message I
should make a goroutine that waits for that message then shoves two copies of it
back into the channel?
19:13 < hagna> how many goroutines are multiplexed onto one OS thread?
19:13 <+iant> well, I was thinking that it would shove the value onto
different channels
19:13 < Amaranth> I think I'm just doing this wrong
19:13 <+iant> Amaranth: in fact, it would have to use a different channel
19:13 < XniX23> works like a charm now
19:13 <+iant> hagna: no special number, just whatever is required
19:13 < Amaranth> I've got two connections and I want all data read from one
to go to the other and vice versa
19:14 -!- rullie [n=rullie@bas4-toronto47-1279405664.dsl.bell.ca] has joined
#go-nuts
19:14 < scyth> iant, so each goroutine has it's own thread?  Or if that's
not the case, is there a document describing how this works in golang?
19:14 < KirkMcDonald> Let's say I have a type S struct { x, y int; }.
19:14 -!- diltsman [n=diltsman@128.187.157.93] has joined #go-nuts
19:14 < Amaranth> But if they get an error or EOF I want them to both quit
and then I need to do some cleanup
19:14 < Amaranth> Basically I want select() :)
19:14 < uriel> scyth: no, threads are only created when needed
19:14 <+iant> Amaranth: well, why can't you use Go's select statement?
19:14 < uriel> scyth: (eg., when a goroutine blocks on a syscall)
19:14 -!- lindsayd [n=lindsayd@nat/cisco/x-dkmeqorzxilomfno] has joined #go-nuts
19:14 < Amaranth> iant: I can't seem to figure out how to do so in a way
that actually does what I want
19:14 < hagna> iant: can a go program use more than one OS thread?
19:14 < KirkMcDonald> Now let's say I have this function: func f(i
interface{}) { i.(S).x = 12; /* ...  */ }
19:15 -!- JeffreyKegler [i=4cd1835f@gateway/web/freenode/x-vwxgrqyehmnjksyu] has
joined #go-nuts
19:15 < uriel> hagna: yes
19:15 <+iant> scyth: no, there can be a bunch of goroutines running on a
single thread; I don't know if there is any special doc about it, although it is
covered somewhat in the course slides
19:15 < Amaranth> iant: wait, select {} can work on more than channels?
19:15 < dho> hm
19:15 < uriel> Amaranth: what else would it work on?  uh?
19:15 < dho> timeout_test.go will always fail with a kernel that supports
ipv6.
19:15 <+iant> Amaranth: no, just channels, but you should be able to use a
goroutine to turn any other input source into a channel
19:15 < Snert> dho: did you ever hit this: ./8.out: Cannot allocate memory
??
19:15 < dho> it seems
19:15 < dho> Snert: no
19:15 < KirkMcDonald> This fails to compile with the error: cannot assign to
(i.(<nil>)).x
19:16 <+iant> hagna: a single goroutine lives on a single OS thread at a
time, I'm not sure how anything else would be possible; a single goroutine can
move to different OS threads as need arises
19:16 < Amaranth> *facepalm*
19:16 < KirkMcDonald> I'm trying to see if this behavior is described in the
docs somewhere.
19:16 < Amaranth> I can spawn goroutines that do nothing but read and use
select to get data from them on the main thread and write it to the other
connection
19:16 -!- jimi_hendrix [n=jimi_hen@unaffiliated/jimihendrix] has quit [Connection
timed out]
19:16 <+iant> KirkMcDonald: i.(<nil>)?  That sounds odd....
19:16 < Amaranth> Then I can just have a special message they send if they
got an error and I don't need a separate channel for errors
19:17 < Amaranth> but wait, then the goroutines will keep running...
19:17 <+iant> Amaranth: sounds plausible, if your communication permits
special messages
19:17 -!- JeffreyKegler [i=4cd1835f@gateway/web/freenode/x-vwxgrqyehmnjksyu] has
quit [Client Quit]
19:17 < Amaranth> iant: Well I'm just shoving a struct down the channel so I
can add an error bool to it
19:17 <+iant> makes sense
19:18 < Amaranth> but how can I signal to the other goroutine that it needs
to stop...
19:18 < scyth> uriel, so new thread is created whenever comes a call to
start new goroutine, but there's already existing goroutine running (blocking or
not)
19:18 < Amaranth> if one gets an error I want to quit both
19:18 < KirkMcDonald> iant: But is the assignment which generated that error
wrong?
19:18 < XniX23> reg := regexp.MustCompile("a(.b)"); a :=
reg.AllMatchesString("acbaacbaaabaaaaadbbbb",0); should i get out only what is in
()?  coz i get the same as without them
19:18 -!- fhs [n=fhs@pool-72-89-195-252.nycmny.east.verizon.net] has joined
#go-nuts
19:19 < uriel> scyth: as iant said, new OS threads are created *only when
needed*
19:19 <+iant> KirkMcDonald: I don't know, if the compiler printed that out,
I have to suspecdt a compiler bug
19:19 < KirkMcDonald> XniX23: It gives the complete match.
19:19 < uriel> (that usually means, when a goroutine is blocked on a syscall
for example)
19:19 < KirkMcDonald> iant: I will file an issue, although I don't even know
what I expect in the way of output.
19:19 < XniX23> KirkMcDonald: so i can't get only groups with
AllMatchesString?
19:20 < KirkMcDonald> XniX23: Are you trying to get all of the groups in all
of the matches across the string?
19:20 < XniX23> KirkMcDonald: yes
19:20 < scyth> uriel, "only when needed" is what I'd like to know in more
details.  I understand the obvious example is blocking syscall, but there are also
other scenarios
19:21 < KirkMcDonald> XniX23: You get to write a loop to do this.
19:21 < XniX23> KirkMcDonald: so there is no fast way like in python?
19:21 < KirkMcDonald> XniX23: Successively use MatchStrings, and also do: s
= [len(groups[0]):len(s)]
19:21 < KirkMcDonald> XniX23: It's about a three-line loop.
19:22 < scyth> uriel, eg, long calculations are not blocking code, but that
doesn't mean we can't run something else in parallel
19:22 -!- konrath [n=chatzill@189.34.46.111] has quit [Read error: 104 (Connection
reset by peer)]
19:23 < scyth> uriel, and go does take care of it.  I'm just trying to
figure out ..  on what "events" go decides to create a new thread.
19:23 -!- Popog [n=Adium@pool-71-121-200-233.sttlwa.dsl-w.verizon.net] has quit
["Leaving."]
19:23 -!- robertpateii [n=robertpa@207-114-244-5.static.twtelecom.net] has joined
#go-nuts
19:23 <+iant> scyth: right now, Go creates a new thread on a blocking event;
see also GOMAXPROCS
19:24 < Snert> dho: bogger; from one issue to another
19:24 -!- Wiz126 [n=Wiz@72.20.223.250] has joined #go-nuts
19:25 < rovar> so what if you had to monitor/read from 10,000 sockets, or
100,000?  Is there a polling mechanism available?
19:26 <+iant> rovar: Go uses polling internally
19:26 <+iant> I mean, sorry, not polling
19:26 <+iant> it uses epoll internally
19:26 < rovar> so the "threads" are simulated?
19:26 < uriel> rovar: it should be ok to run 100,000 goroutines
19:26 < rovar> rgr
19:26 < scyth> iant, so there can be only X (where X=number of CPU cores)
threads running nonblocking code?
19:27 <+iant> rovar: I don't understand what you mean
19:27 < diltsman> Fun, I just got a register dump by calling a function on a
nil object.
19:27 < rovar> iant: same here..  disregard :)
19:27 <+iant> scyth: at present there can be only GOMAXPROCS threads running
nonblocking code; that is considered to be a bug in the present runtime
19:27 < jb55> KirkMcDonald: I got the your code to compile by doing i.(*S).x
= 12;
19:27 < scyth> iant, ok, fair enought
19:28 -!- mike_prinsloo [n=mikeprin@41.0.10.160] has quit [Read error: 110
(Connection timed out)]
19:28 < rovar> so when I call read() in nonblocking mode, what it's actually
doing is deferring my request back to a scheduler/epoll mechanism?
19:28 -!- mike_prinsloo [n=mikeprin@196.213.207.58] has joined #go-nuts
19:28 < rovar> not deferring..
19:28 -!- mike_prinsloo [n=mikeprin@196.213.207.58] has quit [Client Quit]
19:29 <+iant> rovar: well, I'm not sure exactly how nonblocking mode plays
in, but in general a call to read feeds into an epoll mechanism
19:29 -!- rullie [n=rullie@bas4-toronto47-1279405664.dsl.bell.ca] has left
#go-nuts []
19:29 < KirkMcDonald> jb55: Yes, it works if you use a different type.
19:29 < jb55> hmm
19:29 < rovar> it's pausing that coroutine and will return to it in some
point in the future after the kernel indicates that there is data available on
that socket.
19:29 -!- Popog [n=Adium@pool-71-121-200-233.sttlwa.dsl-w.verizon.net] has joined
#go-nuts
19:30 < jb55> but yeah I'm getting the same problem
19:30 -!- KillerX [n=anant@gentoo/developer/KillerX] has quit ["Leaving."]
19:30 -!- armence [n=armence@c-67-188-229-128.hsd1.ca.comcast.net] has quit
[Connection timed out]
19:30 -!- tsavola [i=thain@blues.irc-galleria.net] has joined #go-nuts
19:30 -!- bolo [n=bolo@pool-71-124-228-150.bstnma.east.verizon.net] has joined
#go-nuts
19:31 < KirkMcDonald> I think it's just the case that x.(T), where T is a
value type, is not an lvalue.
19:31 < scyth> rovar, it seems unclear to me as well ..  where's that "fine
line" between underlaying async code and our own blocking/async code
19:31 < tsavola> i've created an issue at codereview.appspot.com.  who
should i send it for review?
19:31 <+iant> tsavola: golang-dev@googlegroups.com is always good
19:32 < tsavola> iant: thanks
19:32 -!- defectiv [n=clays@c-24-5-65-40.hsd1.ca.comcast.net] has joined #go-nuts
19:32 < KirkMcDonald> iant: Does this sound accurate?
19:33 -!- bquinn [n=bquinn@nat/yahoo/x-gkuxkivnwqybodcz] has quit [Read error: 113
(No route to host)]
19:33 <+iant> KirkMcDonald: oh, that is true; x.(T) is not an lvalue
19:33 -!- mbarkhau [n=koloss@p54A7EBC7.dip.t-dialin.net] has joined #go-nuts
19:34 < rovar> scyth: I am assuming that this is the approach, only because
I wrote a similar system for D. My system didn't feature the neat ability to copy
a stack to other OS threads though.  That is just nifty.
19:34 -!- clip9_ [i=tj@12.81-166-62.customer.lyse.net] has joined #go-nuts
19:34 < KirkMcDonald> iant: The spec does not mention this explicitly.
19:34 < Amaranth> yay my program is chewing up both cores again
19:34 <+iant> rovar: the runtime doesn't actually copy the stack, it just
changes the stack pointer; in Go stacks live in the heap anyhow
19:34 < Amaranth> this is not working :/
19:34 < Amaranth> Ok, I think I need to use pointers...
19:35 -!- paulca [n=paul@89.127.165.178] has quit [Read error: 104 (Connection
reset by peer)]
19:35 < rovar> iant: ah!  so go stacks really are closures then
19:35 -!- paulca [n=paul@89.127.165.178] has joined #go-nuts
19:35 < rovar> iant: ah!  so all go functions really are persistent closures
then
19:35 <+iant> rovar: in a sense, yes
19:36 < hagna> wait osx doesn't have epoll
19:36 < rovar> it has kqueue
19:36 <+iant> KirkMcDonald: that seems likely enough
19:36 < hagna> rovar: so is that what go uses there?
19:36 -!- aroneous [n=aroneous@121-73-167-62.dsl.telstraclear.net] has left
#go-nuts []
19:36 <+iant> KirkMcDonald: well, the spec says that the left-hand side of
an assignment must be addressable
19:37 -!- paulca [n=paul@89.127.165.178] has quit [Read error: 60 (Operation timed
out)]
19:37 <+iant> KirkMcDonald: and it does define addressable as permitting
certain specific things, which do not include a type assertion
19:37 <+iant> KirkMcDonald: So I think the restriction can be read from the
spec
19:37 -!- Helmar [n=helmwo@91.39.97.123] has left #go-nuts []
19:37 < Amaranth> is there a way to make reading from a channel
non-blocking?
19:37 <+iant> Amaranth: use the , ok form of a channel receive
19:37 < KirkMcDonald> iant: Ah. That is so.
19:37 < Amaranth> I have no idea what you just said :/
19:38 <+iant> Amaranth: var, ok := <- ch
19:38 <+iant> Amaranth: see Effective Go
19:38 < Amaranth> ah
19:38 -!- clearscreen [n=clearscr@e248070.upc-e.chello.nl] has joined #go-nuts
19:38 < dho> is there a way to force a stack trace in go?
19:38 -!- chickamade [n=chickama@222.254.12.228] has quit ["Leaving"]
19:39 < rovar> hagna: that would be my guess.  Putting the stack on the heap
would certainly make the stack both mobile between threads, and a true closure (so
a function returned from a function could reference its parents' locals) (also
certainly requires garbage collection)
19:39 < mbarkhau> how is typecasting done in go?
19:39 < rovar> very c#ish
19:39 < rovar> but also a decent amount of overhead..
19:39 < hagna> rovar: huh well I like the syntax better than erlang :)
19:39 < KirkMcDonald> dho: panic()
19:40 < rovar> hagna: for message handling, I'll take Erlang's syntax..
19:40 < dho> thanks.
19:41 < rovar> maybe if go supported pattern matching ....  :)
19:41 < hagna> rovar: I never got that far in the erlang tuts
19:41 < mbarkhau> I'm using container/list and need to cast Element.Value,
how is this done?
19:41 < Snert> night all; thanks for the input
19:41 -!- zeroish [n=zeroish@135.207.174.50] has quit [Remote closed the
connection]
19:41 -!- sku [n=sk@217.175.4.65] has joined #go-nuts
19:41 <+iant> mbarkhau: value.(type)
19:42 < mbarkhau> iant: great thanks
19:42 < dho> hm
19:43 -!- Snert [n=achowe@puff.snert.com] has quit ["ChatZilla 0.9.85 [Firefox
3.5.5/20091102152451]"]
19:43 < rovar> http://golang.org/doc/effective_go.html#conversions
19:43 < rovar> too late
19:43 < mitchellh> iant: Is there somebody already working on getting HTTP
over SSL/TLS support into the Go libs?
19:43 <+iant> mitchellh: agl posted something about that on the list
19:43 -!- gkmngrgn [n=gkmngrgn@unaffiliated/gkmngrgn] has quit ["Leaving"]
19:44 < mitchellh> ill look around, thanks
19:45 < rovar> mitchellh: make sure to support ssl renegotiation
19:45 -!- gkmngrgn [n=gkmngrgn@unaffiliated/gkmngrgn] has joined #go-nuts
19:45 -!- olleolleolle [n=olleolle@user12.77-105-210.netatonce.net] has joined
#go-nuts
19:47 -!- armence [n=armence@c-67-188-229-128.hsd1.ca.comcast.net] has joined
#go-nuts
19:47 -!- Popog [n=Adium@pool-71-121-200-233.sttlwa.dsl-w.verizon.net] has quit
["Leaving."]
19:47 -!- ehird [n=ehird@91.105.112.3] has joined #go-nuts
19:47 < ehird> alexsuraci: you there?
19:48 < exch> Some c function i've imported into go returns an a pointer to
a list of integers.  (defined as *int), but it seems go doesn't allow me to index
the individual ints in the array
19:48 -!- conra [n=konrad@host-89-229-12-166.torun.mm.pl] has quit ["Leaving."]
19:48 -!- elmar [n=elmar@188.107.209.80] has joined #go-nuts
19:48 < Amaranth> ok, I think the problem is http.Conn.Read and
net.Conn.Read never return EOF...
19:48 < exch> is that because the pointer has a deifferent meaning in go?
And if so, how would one go abuot solving this?
19:48 < diltsman> I have a function that ends with if (err != nil) { return
...} else {return ...}.  It claims the function doesn't end with a return
statement.
19:48 < Amaranth> or any other kind of error, apparently
19:49 < dho> os x has ktrace, right?
19:49 < dho> can someone with os x ktrace -di -t c gotest timeout_test.go in
src/pkg/net and send me the ktrace.out file?
19:51 < alexsuraci> ehird: yeah
19:51 < dho> please?  :(
19:51 < XniX23> did anyone build some "big" app with go yet?
19:51 < ehird> dho: I would but I'm lazy :( maybe later
19:51 < ehird> alexsuraci: http://gopaste.org/ is shaping up really nice!
care for comments?
19:51 -!- ukl [n=ukl@f053124067.adsl.alicedsl.de] has joined #go-nuts
19:51 -!- mylarry [n=larry-or@koln-4d0b2cf2.pool.mediaWays.net] has joined
#go-nuts
19:51 < alexsuraci> ehird: sure!
19:52 < tromp_> anyone program the game of go yet in go?
19:52 < mylarry> hi!  Sorry i just saw this room...  What is go-nuts?
19:52 < dho> ehird: it takes 2 seconds.  cd $GOROOT/src/pkg/net ; ktrace -di
-t c gotest timeout_test.go ; bzip2 ktrace.out.  send me ktrace.out.bz2 :(
19:52 < dho> :)
19:52 < ehird> mylarry: go programming language
19:52 < penguin42> tromp_: It needs doing!
19:52 < ehird> dho: ok in a sec
19:52 -!- hkm [n=hkm@ip-64-15-147-186.static.privatedns.com] has left #go-nuts
["Leaving"]
19:53 < dho> mylarry: www.golang.org
19:53 < XniX23> mylarry: golang.org, go language
19:53 -!- olleolleolle [n=olleolle@user12.77-105-210.netatonce.net] has quit [Read
error: 60 (Operation timed out)]
19:53 -!- ehird [n=ehird@91.105.112.3] has left #go-nuts []
19:53 -!- ehird [n=ehird@91.105.112.3] has joined #go-nuts
19:53 < ehird> oops
19:54 -!- stefanc [n=stefanc@188.25.245.40] has joined #go-nuts
19:54 -!- diltsman [n=diltsman@128.187.157.93] has quit []
19:54 < dho> heh
19:55 < hagna> what's wrong with factorial http://pastebin.com/d4873214e
19:55 -!- Wiz126 [n=Wiz@72.20.223.250] has quit [Read error: 110 (Connection timed
out)]
19:55 < tromp_> you get 0?
19:56 -!- jinho [n=jinho326@ool-18be41c6.dyn.optonline.net] has joined #go-nuts
19:56 < tromp_> that would be correct then
19:56 < dho> hagna: you don't print z.
19:57 < hagna> dho: I shouldn't or I don't?
19:57 -!- ikkebr [n=ikkibr@unaffiliated/ikkebr] has quit []
19:57 < tromp_> maybe use Print instead of Printf?
19:58 < dho> you don't.
19:58 < mylarry> oh my good!  Didn't ever read anything about go programming
lang.  So time to do that right now :)
19:58 < mylarry> thx
19:58 < hagna> oh ok Print looks better
19:58 < tromp_> or Println, and leave out \n
19:59 < ehird> alexsuraci: sent as /msg to avoid flooding :)
19:59 < ehird> mylarry: newly released as of a few days
19:59 < ehird> mylarry: systems programming language with garbage
collection, a novel concurrency model, a really fast compiler, form the people who
brought you C, Unix and Plan 9
20:00 < penguin42> and a cute name
20:00 < KragenSitaker> Inferno is cuter!
20:00 < tromp_> which is also the name of a game
20:00 < KragenSitaker> two games
20:00 < penguin42> KragenSitaker: But too long
20:00 < KragenSitaker> true
20:01 < KragenSitaker> they should have called it something like "xkcd"
20:01 < hagna> tromp_: so why do I get 0?
20:01 -!- Nanooo [n=Nano@95-89-198-15-dynip.superkabel.de] has joined #go-nuts
20:01 -!- olleolleolle [n=olleolle@user12.77-105-210.netatonce.net] has joined
#go-nuts
20:01 < tromp_> you're computing modulo 2^32
20:02 < tromp_> ints are only 32 bits
20:02 -!- guyhoozdis [n=chatzill@cpe-72-177-48-254.austin.res.rr.com] has joined
#go-nuts
20:02 < tromp_> or 64 mayheps
20:02 < penguin42> KragenSitaker: Yes but if you had an xkcd command it
would take your function and produce a sarcastic output with random comments on
romance and maths
20:02 < octoploid> systems programming language with garbage collection
sounds oxymoronic
20:02 < hagna> ahh ok
20:02 -!- ukl [n=ukl@f053124067.adsl.alicedsl.de] has quit ["bye"]
20:02 < dho> out of curiosity, why aren't timeouts implemented on top of the
polling stuff?
20:03 < dho> even poll(2) has a timeout option
20:03 -!- vester_hiho [n=chatzill@84-75-166-76.dclient.hispeed.ch] has joined
#go-nuts
20:03 -!- z3yo_ [n=z3yo@per87-1-88-167-12-196.fbx.proxad.net] has joined #go-nuts
20:03 < hagna> tromp_: is that a bug or a feature?  I thought maybe it would
cast up to infinite precission.
20:03 -!- Cantareus [n=brendon@121-73-186-98.dsl.telstraclear.net] has joined
#go-nuts
20:03 < tromp_> then use bigints instead
20:03 < z3yo_> Yop all
20:04 < tromp_> does go have those?
20:04 < hagna> oh yeah duh int
20:04 < z3yo_> Someone is Wave beta-tester ?
20:04 -!- evilhackerdude [n=stephan@e181102016.adsl.alicedsl.de] has quit [Read
error: 113 (No route to host)]
20:04 -!- anders_ [n=anders@c83-253-2-206.bredband.comhem.se] has quit [Read
error: 110 (Connection timed out)]
20:04 < clip9_> dho: Dosen't SetReadTimeout do that?
20:04 < nickjohnson> Is there any special syntax for populating a sparse
array?
20:05 < nickjohnson> Eg, a 256 element const array, of which only a few
values are non-zero
20:05 < dho> clip9_: yes, but it's not implemented on top of the OS's
polling model.
20:05 -!- jinho [n=jinho326@ool-18be41c6.dyn.optonline.net] has quit ["Leaving"]
20:05 < dho> clip9_: O_NONBLOCK is set on the FDs and they're polled in a
loop checking timestamps every time.
20:06 < mylarry> Hi! Ok sounds pretty cool!  What about that "novel
concurrency model"???  That would be really interesting to me!  What is it about?
Is it comparable to something else?  Like concurrency in erlang??
20:06 < ehird> Comparable but not the same.
20:06 -!- tcpip4000 [n=fulano@dsl-emcali-190.99.184.23.emcali.net.co] has quit
[Read error: 110 (Connection timed out)]
20:06 < KragenSitaker> mylarry: it's a lot like Limbo.  you can read a lot
about it and see a video at http://golang.org/
20:06 < ehird> It's very simple and you don't have to worry about
synchronisation.
20:07 < clip9_> hm...
20:07 < KragenSitaker> penguin42: I meant you could use the same process for
finding a name for the language
20:07 < mylarry> is it a shared or a shared nothing concurrency?
20:07 -!- path___ is now known as path[l]
20:07 < ehird> mylarry: irrelevant to the concurrency model
20:08 < ehird> it has pointers and globals and the like, but goroutines
communicate with channels
20:08 -!- sjbrown [n=sjbrown@64.125.181.72] has joined #go-nuts
20:08 < KragenSitaker> well, they can communicate with shared memory and
locks too.
20:09 < s_mosher> ...they can sync up on synchronous channels too
20:09 < clip9_> I'm not sure what you mean but dosen't it use epoll?
20:09 < s_mosher> so it kind of is relevant, not that you should be doing
that usually
20:09 < z3yo_> How is GO ?
20:10 < z3yo_> It's a revolution ? (I don't think, I will try it)
20:11 < dho> clip9_: yes, but it doesn't use epolls timeout to time out.
20:11 < dho> or kqueue on os x.
20:11 < clip9_> ah..
20:11 < clip9_> ok
20:11 -!- Chaze [n=Chase@dslb-094-219-221-200.pools.arcor-ip.net] has joined
#go-nuts
20:12 < z3yo_> Who is French ?
20:13 < guyhoozdis> Hello, all.  I'm reading through the documentation for
Go and came across the phrase "nonce composite literal".  I'm not familiar with
this term and can't seem to find a definition for it.  Can somebody define that
term for me?  Thanks.
20:13 < KragenSitaker> z3yo_: people from France
20:13 < KirkMcDonald> guyhoozdis: Which documentation?
20:13 -!- Popog [n=Adium@66-192-186-101.static.twtelecom.net] has joined #go-nuts
20:13 < guyhoozdis> http://golang.org/doc/go_tutorial.html
20:13 < Norgg> guyhoozdis: Always a good sign when searching for the term
gives the page that you were confused about the use of it on as the first result.
20:13 < scandal> guyhoozdis: it means that you get a new copy each time that
code is invoked (ie, it doesn't refer to the same object)
20:13 < guyhoozdis> In the "An I/O Package" section.
20:14 -!- chachan [n=chachan@200.62.25.156] has quit ["KVIrc Insomnia 4.0.0,
revision: , sources date: 20090520, built on: 2009/06/06 11:44:47 UTC
http://www.kvirc.net/"]
20:14 < scandal> guyhoozdis: so for example if you return a pointer, you get
a new copy each time
20:14 < KragenSitaker> guyhoozdis: a "composite literal" is something like
Foo{bar, baz}
20:14 < z3yo_> KragenSitaker : yes
20:14 < KragenSitaker> something "nonce" is something you're using just for
the moment
20:14 < guyhoozdis> norgg: right.  There seems to only be this documentation
and a twitter post that use the term.
20:14 < z3yo_> KragenSitaker : or people who speak french x)
20:15 < guyhoozdis> all: Thank you very much.
20:15 < KirkMcDonald> You could remove the word "nonce" from that sentence
and it would have the same meaning.
20:15 < KragenSitaker> z3yo_: are you saying that people from Quebec are
French?
20:15 < KirkMcDonald> Therefore: The word "nonce" should probably be removed
from that sentence.
20:15 < QV> guyhoozdis: nonce is usually a number used only once.  a
composite literal is a set of literals viewed as a single type (e.g.  a struct)
20:15 < QV> so perhaps a struct that is only used once?
20:15 < z3yo_> KragenSitaker : No !
20:15 -!- serdar_ [n=serdar@dslb-084-062-230-100.pools.arcor-ip.net] has joined
#go-nuts
20:15 < Norgg> I've only ever seen nonce used in the context of
cryptography.
20:16 < Norgg> (or the slang)
20:16 < z3yo_> KragenSitaker : But the people from Quebec speak english and
french
20:16 < scandal> Norgg: yeah, except in crypto you don't expect to use the
same value again.  in Go, its fine.
20:16 < guyhoozdis> QV: Thanks.  That is very clear.
20:17 < QV> guyhoozdis: i could be wrong with the meaning, but that's what
it sounds like...
20:17 < QV> just to be clear ;p
20:17 < KragenSitaker> QV: that's not the usual meaning of "nonce"
20:17 < KragenSitaker> QV: that's a jargon meaning specific to cryptography
20:17 -!- Venom_X_ [n=pjacobs@cpe-67-9-131-167.austin.res.rr.com] has joined
#go-nuts
20:18 -!- Venom_X [n=pjacobs@66.54.185.131] has quit [Nick collision from
services.]
20:18 -!- Venom_X_ is now known as Venom_X
20:18 -!- ghaering [n=ghaering@f054139095.adsl.alicedsl.de] has joined #go-nuts
20:18 -!- olleolleolle_ [n=olleolle@user12.77-105-210.netatonce.net] has joined
#go-nuts
20:18 -!- Fish [n=Fish@78.238.225.114] has joined #go-nuts
20:18 -!- aa [n=aa@200.40.114.26] has quit [Remote closed the connection]
20:18 -!- olleolleolle [n=olleolle@user12.77-105-210.netatonce.net] has quit [Read
error: 104 (Connection reset by peer)]
20:18 -!- olleolleolle_ is now known as olleolleolle
20:18 -!- Amaranth [n=travis@ubuntu/member/Amaranth] has quit [Read error: 113 (No
route to host)]
20:19 -!- GOIRC-test [n=GOIRC-te@17.Red-88-19-37.staticIP.rima-tde.net] has joined
#go-nuts
20:19 -!- Nanoo [n=Nano@95-89-198-15-dynip.superkabel.de] has quit [Connection
timed out]
20:19 -!- Amaranth [n=travis@ubuntu/member/Amaranth] has joined #go-nuts
20:19 -!- GOIRC-test [n=GOIRC-te@17.Red-88-19-37.staticIP.rima-tde.net] has quit
[Remote closed the connection]
20:19 -!- franksalim [n=frank@adsl-76-221-202-115.dsl.pltn13.sbcglobal.net] has
joined #go-nuts
20:19 -!- GOIRC-test [n=GOIRC-te@17.Red-88-19-37.staticIP.rima-tde.net] has joined
#go-nuts
20:19 -!- grajo [n=grajo@dynamic-78-8-29-239.ssp.dialog.net.pl] has joined
#go-nuts
20:20 < GOIRC-test> hi1!
20:20 -!- engla [n=ulrik@wikipedia/Sverdrup] has quit [Read error: 110 (Connection
timed out)]
20:21 < jb55> hello
20:21 < GOIRC-test> i0
20:21 < GOIRC-test> ups
20:21 < scandal> go> f := func() []int { return &[...]int{1} }; a,b :=
f(), f(); b[0]=3; fmt.Print(a[0],b[0]);
20:21 -!- Lockster [n=andy@78-105-235-193.zone3.bethere.co.uk] has joined #go-nuts
20:21 < scandal> 1 3
20:21 < GOIRC-test> im testing goirc
20:21 < GOIRC-test> xD
20:21 -!- mitchellh [n=mitchell@microchip.dyn.cs.washington.edu] has quit
["Leaving."]
20:21 < scyth> iant, I just finished testing this goroutine behaviour in
nonblocking code.  I have dualcore CPU, and indeed, it blocks on 2 thread
execution of nonblocking code, unless I put GOMAXPROCS(>2), which overrides
default.  However, on blocking threads..  there's obviously no language limit on
number of threads
20:21 < scandal> note that changing b doesn't change a even though you
return the literal
20:21 < jb55> someone should make an irc go eval bot :)
20:22 -!- paulca [n=paul@188.141.73.249] has joined #go-nuts
20:22 -!- GOIRC-test [n=GOIRC-te@17.Red-88-19-37.staticIP.rima-tde.net] has quit
[Remote closed the connection]
20:22 -!- lotrpy [n=lotrpy@202.38.97.230] has quit []
20:22 < scandal> jb55: i thought about it, but don't want to deal with the
security headache
20:23 -!- Baylink [n=jra@static-173-65-4-24.tampfl.fios.verizon.net] has joined
#go-nuts
20:23 < Baylink> In "go_for_cpp_programmers", it's noted that "A value
derived from an untyped constant becomes typed when it is used within a context
that requires a typed value."
20:24 < Baylink> Do they mean "is evaluated as typed"?  Or does the constant
suddenly acquire a type, which it then carries around with it?
20:24 < Baylink> Cause that would seem bad.  :-)
20:24 -!- nsa3101 [n=Adium@145.116.229.86] has joined #go-nuts
20:24 -!- jinho [n=jinho326@ool-18be41c6.dyn.optonline.net] has joined #go-nuts
20:24 < saati_> Baylink: in the context it will act like what you need
20:25 < Baylink> "will be evaluated as the appropriate type in that
context".  Got it.  Someone should clarify the writeup.  Is that person here?  ;-)
20:25 -!- donpdonp [i=donp@donk.personaltelco.net] has left #go-nuts []
20:25 < jinho> hi kind of stupid question, but how would I use 6l to output
to a program with a name other than 6.out?
20:25 < saati_> Baylink: it's in the source tree, you could send a patch
20:25 < scandal> jinho: -o filename
20:26 < Baylink> Noted.  Thanks.  :-)
20:26 -!- kennyG_ [n=kenny@201.47.242.48.dynamic.adsl.gvt.net.br] has joined
#go-nuts
20:26 < KirkMcDonald> jinho: 6l -o filename main.6
20:26 -!- dajero [n=dajero@82-169-246-141.ip.telfort.nl] has quit ["Leaving..."]
20:26 < jinho> ahh
20:26 < KirkMcDonald> The -o must come first.
20:27 < Baylink> One other question: do they justify *why* strings are
imutable?  Or should I already know that?
20:27 < KirkMcDonald> Baylink: Many other languages do the same thing.
20:28 -!- vester_hiho [n=chatzill@84-75-166-76.dclient.hispeed.ch] has quit
[Remote closed the connection]
20:28 < jinho> KirkMcDonald, scandal: thanks!
20:28 -!- jinho [n=jinho326@ool-18be41c6.dyn.optonline.net] has quit [Client Quit]
20:28 < KirkMcDonald> Baylink: One advantage is that you do not need to
worry about who owns a reference to a string before mutating it.  (Since you can't
mutate it at all.)
20:28 < KirkMcDonald> Or worry about someone else mutating a string which
you have a reference to.
20:28 < Baylink> Making it *possible* is useful.  Making it *mandatory*
always seems to me to force people to figure out how to *actually* get their work
done...
20:28 -!- chachan [n=chachan@ccscliente156.ifxnetworks.net.ve] has joined #go-nuts
20:28 < path[l]> Baylink: a lot of languages do that.  In general it's been
known to solve a lot of problems and avoid a ton of bugs.
20:28 < KirkMcDonald> Baylink: I do not find this to be the case, typically.
20:29 < KirkMcDonald> Baylink: Particularly in the presence of slices.
20:29 -!- bolo [n=bolo@pool-71-124-228-150.bstnma.east.verizon.net] has quit
["Leaving"]
20:29 < Baylink> So, how does the Go implementation of vim store the buffer?
:-)
20:29 < path[l]> well unless you're working with particularly large strings
20:29 -!- fgb [n=fgb@190.246.85.45] has joined #go-nuts
20:29 < path[l]> it shouldnt worry you
20:29 < KirkMcDonald> There is []byte if you want.
20:29 < path[l]> there's a go implementation of vim?
20:29 < KirkMcDonald> Not precisely the same semantics.  But mutable.
20:29 -!- lux` [n=lux@151.54.240.177] has quit [Remote closed the connection]
20:29 < Baylink> No, not yet.
20:30 < path[l]> oh ok
20:30 < Baylink> Just a pedagogical example.
20:30 < Baylink> I will investigate further; this is clearly a Programming
301 topic, not something specific to a couple langauges (including this one)
20:30 < path[l]> well there are always array like structures
20:30 < path[l]> when you need something mutable
20:31 < melba> Baylink, http://en.wikipedia.org/wiki/Trie
20:31 < path[l]> that too
20:31 < path[l]> Ive never understood Tries :/
20:31 < melba> lucky you
20:31 < path[l]> wth :/
20:31 < Baylink> For a text editor?  Eeeeeek.
20:31 -!- rajeshsr [n=rajeshsr@59.96.11.66] has quit [Remote closed the
connection]
20:32 -!- pierron [n=pierron@91-164-161-220.rev.libertysurf.net] has joined
#go-nuts
20:32 -!- pierron_ [n=pierron@91-164-241-202.rev.libertysurf.net] has quit [Read
error: 60 (Operation timed out)]
20:32 -!- paulca [n=paul@188.141.73.249] has quit []
20:33 < path[l]> Ive been wanting to learn clojure so I know Im gonna have
to read about tries soon
20:33 -!- asyncster [n=asyncste@206.169.213.106] has joined #go-nuts
20:33 -!- FIQ [n=FIQ@213-67-76-113-no52.tbcn.telia.com] has quit ["- nbs-irc 2.39
- www.nbs-irc.net -"]
20:33 -!- tcpip4000 [n=fulano@dsl-emcali-190.99.128.41.emcali.net.co] has joined
#go-nuts
20:33 < KragenSitaker> why would you have to read about tries to learn
clojure?
20:33 < saati_> are maps in go implemented in prefix trees?
20:33 -!- dju__ [i=dju@216.168.1.18] has joined #go-nuts
20:34 -!- Popog [n=Adium@66-192-186-101.static.twtelecom.net] has left #go-nuts []
20:34 < nbaum> Baylink: I've written text editors which used character
arrays as buffers.  They're fine on *short* files.
20:34 < path[l]> well it seems to be an important part of clojure.  I keep
seeing references to tries even when I briefly read about it
20:35 -!- LaSaRuX [n=pedro@88.19.37.17] has quit [Read error: 145 (Connection
timed out)]
20:36 < ehird> nbaum: mmap() :P
20:36 < KragenSitaker> saati_: I haven't looked but I strongly suspect
they're hash tables
20:36 < KragenSitaker> ehird: that doesn't make it any easier to insert a
character at the beginning of a 100MB file
20:36 < ehird> i wonder if go has mmap.
20:36 < ehird> KragenSitaker: tru dat.
20:36 < ehird> KragenSitaker: but it makes it possible to use byte arrays
for bigger files than a non-mmap solution, at least.
20:36 -!- depood [n=depood@chello080108055214.19.11.vie.surfer.at] has quit
[Remote closed the connection]
20:37 < saati_> ehird: you have new and make for what mmap is used
20:37 < ehird> go appears not to have mmap; i guess the equiv.  would be a
slice
20:37 < ehird> saati_: erm, that doesn't map to a file :-)
20:37 < KragenSitaker> I don't think so
20:37 < path[l]> *sigh* I guess, I really need to read some data structures
book
20:37 -!- plainhao [n=plainhao@mail.xbiotica.com] has quit []
20:37 < saati_> ehird: true :D
20:37 -!- SecretofMana [n=truthlim@142.46.164.30] has joined #go-nuts
20:38 -!- illya77 [n=illya77@23-238-133-95.pool.ukrtel.net] has joined #go-nuts
20:38 < melba> path[l], http://highered.mcgraw-hill.com/sites/0070131511/ go
for this one
20:38 -!- Amaranth_ [n=travis@ubuntu/member/Amaranth] has joined #go-nuts
20:38 < scandal> ehird: hrm, creating an MmapVector in the flavor of
vector.Vector backed by mmap() using cgo might be any interesting exercise
20:39 < path[l]> oh heh coincidentally I just started on that and watching
the lecture series
20:39 -!- x-ip [n=sakura@unaffiliated/x-ip] has quit [Read error: 110 (Connection
timed out)]
20:39 < path[l]> early days though, Im on chapter 2
20:39 -!- sladegen [n=nemo@unaffiliated/sladegen] has quit [Nick collision from
services.]
20:39 -!- sladegen [n=nemo@dynamic-62-87-129-32.ssp.dialog.net.pl] has joined
#go-nuts
20:39 -!- dju [i=dju@ip-39.net-80-236-37.suresnes.rev.numericable.fr] has joined
#go-nuts
20:39 -!- |jessica| [n=nya@unaffiliated/jessicara] has joined #go-nuts
20:41 -!- serdar_ [n=serdar@dslb-084-062-230-100.pools.arcor-ip.net] has quit
[Read error: 145 (Connection timed out)]
20:41 < KragenSitaker> syscall_linux.go says Mmap is unimplemented at the
moment
20:41 < melba> path[l], heh there seems to be a 3rd ed from this year
20:41 -!- Wiz126 [n=Wiz@72.20.227.135] has joined #go-nuts
20:42 -!- mylarry [n=larry-or@koln-4d0b2cf2.pool.mediaWays.net] has left #go-nuts
[]
20:42 -!- kennyG [n=kenny@201.47.242.211.dynamic.adsl.gvt.net.br] has quit [Read
error: 110 (Connection timed out)]
20:42 < path[l]> oh ok
20:42 < path[l]> hmm
20:43 < path[l]> hmm actually this might be the place to ask.  How does
reflection work in go?  Objects store type information with them?
20:43 -!- mennis [n=mennis@adsl-068-016-104-079.sip.asm.bellsouth.net] has joined
#go-nuts
20:44 -!- afurlan [n=afurlan@scorpion.mps.com.br] has quit [Remote closed the
connection]
20:45 -!- aa [n=aa@r190-135-140-55.dialup.adsl.anteldata.net.uy] has joined
#go-nuts
20:46 -!- AAABeef [n=wdevauld@smtp.pason.com] has joined #go-nuts
20:47 -!- illya77 [n=illya77@23-238-133-95.pool.ukrtel.net] has quit []
20:48 -!- bjarneh [n=bjarneh@1x-193-157-194-25.uio.no] has quit ["leaving"]
20:49 < KragenSitaker> in runtime/runtime.h things like mapassign and
mapaccess take a Hmap* as their first argument
20:49 -!- dju_ [i=dju@ip-39.net-80-236-37.suresnes.rev.numericable.fr] has quit
[Read error: 110 (Connection timed out)]
20:50 -!- guyhoozdis [n=chatzill@cpe-72-177-48-254.austin.res.rr.com] has quit
["ChatZilla 0.9.85 [Firefox 3.5.5/20091102152451]"]
20:50 < KragenSitaker> and it looks like maps are implemented in
runtime/hashmap.c
20:50 -!- serdar_ [n=serdar@dslb-084-060-228-186.pools.arcor-ip.net] has joined
#go-nuts
20:51 < KragenSitaker> interesting, the code in there is a noticeably
different style than the code in 8g
20:52 -!- Amaranth [n=travis@ubuntu/member/Amaranth] has quit [No route to host]
20:56 -!- Lockster [n=andy@78-105-235-193.zone3.bethere.co.uk] has quit []
20:56 < ehird> KragenSitaker: gc is ken's
20:56 < ehird> maybe hashmap.c is pre-gc
20:57 -!- dju__ [i=dju@216.168.1.18] has quit [Read error: 113 (No route to host)]
20:58 < KragenSitaker> I think most of 8g is actually from inferno or even
plan9
20:59 < KragenSitaker> hashmap.c mostly originates in revision 1115 (user
Ken Thompson, summary "mike's map code") and 1292 (user Ken Thompson, summary
"range statement")
20:59 -!- dajero [n=dajero@82-169-246-141.ip.telfort.nl] has joined #go-nuts
20:59 < ehird> KragenSitaker: gc is totally new code
20:59 < KragenSitaker> I wonder who mike is
21:00 < KragenSitaker> it is?  it sure seems to have a lot of lines that hg
annotate traces back to revisions that say "import such and such from inferno"
21:00 < ehird> gives the overall design of the tool chain.  Aside from a few
adapted pieces, such as the optimizer, the Go compilers are wholly new programs.
21:01 < ehird> — http://golang.org/cmd/gc/
21:01 < KragenSitaker> oh never mind, I was thinking of 8l
21:01 <+iant> KragenSitaker: mike is Michael Burrows
21:01 < KragenSitaker> iant: wow, of the Burrows-Wheeler Transform?
21:01 -!- pure_x01 [n=pure@c83-248-3-188.bredband.comhem.se] has joined #go-nuts
21:02 < KragenSitaker> I didn't know he was on the Go team
21:02 < melba> google for world domination
21:02 <+iant> KragenSitaker: I don't know
21:02 < KragenSitaker> (or at Google, but that part doesn't surprise me)
21:02 -!- padraic_ [n=padraic@86-42-169-1-dynamic.b-ras1.bbh.dublin.eircom.net]
has quit [Read error: 110 (Connection timed out)]
21:02 < melba> they stealing brainz
21:03 < sladegen> zoomblets
21:03 -!- Jan_Flanders_ [n=chatzill@d54C1E33B.access.telenet.be] has joined
#go-nuts
21:03 -!- padraic_ [n=padraic@86-42-130-255-dynamic.b-ras1.bbh.dublin.eircom.net]
has joined #go-nuts
21:06 -!- mitchellh [n=mitchell@D-69-91-142-127.dhcp4.washington.edu] has joined
#go-nuts
21:07 -!- path__ [n=path@115.240.126.219] has joined #go-nuts
21:07 -!- kitallis [n=kitallis@122.163.111.128] has quit [Read error: 110
(Connection timed out)]
21:07 -!- path[l] [n=path@115.240.126.219] has quit [Read error: 131 (Connection
reset by peer)]
21:09 < pure_x01> i have problems loading the emacs mode for Go ..  here is
the --debug-init from emacs: http://pastebin.com/d4e7eed32
21:09 -!- sku [n=sk@217.175.4.65] has quit [Remote closed the connection]
21:09 -!- slowriot [n=kclancy@66.211.10.10] has joined #go-nuts
21:13 -!- xuser [n=xuser@unaffiliated/xuser] has joined #go-nuts
21:13 < nickjohnson> Why would I get "mainstart: undefined: main·main" when
linking a go program?  I have a main() function defined.
21:14 < KirkMcDonald> nickjohnson: The package which contains the main
function also needs to be named main.
21:14 < XniX23> nickjohnson: try type package main on top
21:14 < jabb> yeah
21:14 < nickjohnson> ah
21:16 < jlouis> pure_x01: because the go-mode-load.el file is not in the
load-path of emacs
21:16 -!- dajero [n=dajero@82-169-246-141.ip.telfort.nl] has quit [Read error: 110
(Connection timed out)]
21:17 -!- jimi_hendrix [n=jimi_hen@unaffiliated/jimihendrix] has joined #go-nuts
21:17 < pure_x01> jlouis: ah..  thanx
21:18 -!- mitchellh [n=mitchell@D-69-91-142-127.dhcp4.washington.edu] has quit
["Leaving."]
21:18 -!- aho [n=nya@g227091029.adsl.alicedsl.de] has joined #go-nuts
21:19 < pure_x01> jlouis: i have this line (add-to-list 'load-path
"~/.emacs.d/go-mode-load.el" t) in my .emacs.d/init.el and the go-mode-load.el in
the .emacs.d directory
21:20 < jlouis> pure_x01: the load path is a directory, not a file
21:20 -!- serdar__ [n=serdar@dslb-084-060-215-149.pools.arcor-ip.net] has joined
#go-nuts
21:21 < pure_x01> jlouis: oh i see..  thnx
21:21 < jlouis> (require 'foo) searches every item in the load-path
directory list for a file foo.el
21:21 -!- swetland [n=swetland@64.13.153.229] has joined #go-nuts
21:21 < jlouis> unless (provide 'foo) has been defined, in which case it is
a no-op.
21:21 < jlouis> So foo.el usually has a (provide 'foo) near the bottom to
circumvent multiple imports of the same file
21:22 < pure_x01> jlouis: it works now..  thanx again
21:23 < jlouis> pure_x01: np.  The world will probably be a better place
with more Go programmers
21:23 -!- nmichaels [n=nathan@dhcp-0-50-ba-58-39-ed.cpe.townisp.com] has joined
#go-nuts
21:24 < pure_x01> jlouis: i agree :-)
21:24 < tromp_> or more Go players
21:24 < nmichaels> I'm having problems with the import "./file" in
helloworld3.go.  8g claims it "can't find import: ./file".
21:25 -!- karl2 [n=karl@wads-5-233-224.resnet.mtu.edu] has quit ["Leaving"]
21:25 < jlouis> nmichaels: call it "file"
21:25 < sladegen> nmichaels: compile file.go
21:25 < nmichaels> ah
21:25 < sladegen> jlouis: he is doing tutorial...  most prolly.
21:25 -!- cpr420 [n=cpr420@67.165.199.143] has joined #go-nuts
21:25 < nmichaels> thanks
21:26 < jlouis> sladegen: oh, thanks
21:26 < jlouis> I skipped the tutorial :)
21:26 -!- Jan_Flanders [n=chatzill@d54C1E33B.access.telenet.be] has quit
[Connection timed out]
21:26 < jlouis> It will probably bite later
21:26 < nmichaels> Actually, I'm doing something similar to the tutorial,
but have the same problem when I try to do the tutorial's version.
21:27 -!- flyfish [n=flyfish@pixout.appriss.com] has joined #go-nuts
21:27 -!- dajero [n=dajero@82-169-246-141.ip.telfort.nl] has joined #go-nuts
21:28 -!- ehird [n=ehird@91.105.112.3] has quit []
21:28 < nmichaels> but yeah, that works, thanks
21:28 -!- ehird [n=ehird@91.105.112.3] has joined #go-nuts
21:28 -!- ehird [n=ehird@91.105.112.3] has quit [Remote closed the connection]
21:29 -!- paulproteus [i=paulprot@rose.makesad.us] has joined #go-nuts
21:32 < hstimer> since we are pulling a new systems language out of a hat,
how about a no copy socket api i.e.  here is a list of read buffers, copy the
packets from the network hw right to my buffers, and send me a slice that
indicates where the new data resides, thus skipping the copy from the network hw
to os memory then to application memory -- I think someone wrote a linux extension
that did this through a scatter/gather read/write api
21:32 < pure_x01> What is the state of multithreading in Go..  is it
working..  are the goroutines scheduled as they should and mapped to OS threads?
21:33 -!- engla [n=ulrik@90-229-231-23-no153.tbcn.telia.com] has joined #go-nuts
21:33 < jlouis> pure_x01: for 8g/5g/6g yes
21:33 <+iant> for gccgo goroutines simply are threads at present
21:33 < KragenSitaker> hstimer: that sounds like a fun project, let us know
when you finish it
21:34 -!- jimi_hendrix [n=jimi_hen@unaffiliated/jimihendrix] has quit [Success]
21:34 < hstimer> KragenSitaker: give me the os api and I'll be happy to wrap
it in go
21:34 < jlouis> hstimer: It can probably be a fairly capable idea.  I'd say
go for it
21:35 < KragenSitaker> iant: I want to compliment you on your supernatural
level of patience on the mailing list
21:35 -!- cvmori [n=carlos@201.21.171.68] has quit ["Ex-Chat"]
21:35 <+iant> KragenSitaker: thank you, I just punch the wall occasionally
but nobody can see it
21:35 -!- paulca [n=paul@89.100.39.244] has joined #go-nuts
21:35 < insane_coder> iant: you must live in a padded cell
21:35 < KragenSitaker> hstimer: I think some of Linux's drivers can do
zero-copy with just plain read and writev
21:35 < insane_coder> or you have very marble like hands
21:35 -!- serdar_ [n=serdar@dslb-084-060-228-186.pools.arcor-ip.net] has quit
[Read error: 110 (Connection timed out)]
21:35 -!- recover [i=recover@ip21278.lbinternet.se] has quit [Read error: 104
(Connection reset by peer)]
21:36 <+iant> insane_coder: I actually did have marble like hands back when
I had a black belt
21:36 < jlouis> hstimer: one thing that could be cool would be an erlang
style combinator-library for bit-pattern-matches in such a thing
21:36 <+iant> but that was quite a while ago now
21:36 < KragenSitaker> I didn't know black belts expired
21:36 <+danderson> now he writes compilers, and lives in a padded room.  :-)
21:36 < insane_coder> I never got to black belt...  oh well, I didn't know
it comes in handy for dealing with mailing lists
21:36 < KragenSitaker> and linkers!
21:36 < KragenSitaker> don't forget the linkers!
21:36 <+iant> well, they don't really, but I'm way out of shape
21:37 < jlouis> "The walls of the Go Team looks like cheese ...  for a
reason..."
21:37 < pure_x01> jlouis: nice
21:37 < insane_coder> jlouis: ha
21:38 -!- bquinn [n=bquinn@office.velleman.com] has joined #go-nuts
21:38 < hstimer> KragenSitaker: last I checked with the people on the
linux-net mailing list, no copy reads didn't exist.  but that was a number of
years ago
21:39 < antarus> insane_coder: Mailing lists just take oodles of patience
and a kegerator next to your desk ;p
21:40 < insane_coder> antarus: I was never into Beer, which is why I've been
ignoring my own mailing lists
21:40 < pure_x01> i have never worked with a language with "green threads"
or co/go routines..  is the idea that you should be able to fire of as many
routines / threads as you want..  example when working with os hreads the normal
case is something like #cpu:s +1
21:40 -!- stepnem [n=stepnem@88.103.132.186] has joined #go-nuts
21:41 < jlouis> pure_x01: expect there to be thousands of them
21:41 -!- MigoMipo [n=kvirc@84-217-7-251.tn.glocalnet.net] has quit ["When two
people dream the same dream, it ceases to be an illusion.  KVIrc 3.4.2 Shiny
http://www.kvirc.net"]
21:41 < antarus> insane_coder: haha ;)
21:41 < jlouis> pure_x01: look at list.Iter() for instance, which creates a
goroutine for the iterator
21:42 < jlouis> The basic idea here is that they are so lightweight that it
doesn't cost too much, altough there is an upper limit to the number
21:42 -!- dju [i=dju@ip-39.net-80-236-37.suresnes.rev.numericable.fr] has quit
["Quitte"]
21:43 -!- Baylink [n=jra@static-173-65-4-24.tampfl.fios.verizon.net] has left
#go-nuts []
21:43 < jlouis> You could say that goroutine creation is cheap, but not free
21:43 < pure_x01> jlouis: cool ..  it has allways felt bad to have to think
about the nr of cores on a cpu when multithreading so this is really nice
21:44 -!- hackbench [n=hackbenc@78.179.182.49] has joined #go-nuts
21:44 < jlouis> pure_x01: it is a prerequisite if the number of cores keep
climbing
21:44 -!- Nanooo [n=Nano@95-89-198-15-dynip.superkabel.de] has quit [Client Quit]
21:44 < pure_x01> jlouis: and hopefully they will :-9
21:45 -!- z3yo_ [n=z3yo@per87-1-88-167-12-196.fbx.proxad.net] has quit ["Quitte"]
21:46 < jlouis> pure_x01: I wonder what will happen when the cache coherency
protocols give up.  Then the coherent memory hierachy goes out the window
21:46 < jlouis> Oh, the world is exciting!
21:47 < pure_x01> jlouis: hehe :-)
21:47 <+iant> fortunately the Go memory model does not require general cache
coherency, it only requires coherency at specific moments
21:48 < jlouis> iant: I saw that :)
21:48 -!- Kashia [n=Kashia@port-92-200-27-151.dynamic.qsc.de] has joined #go-nuts
21:48 -!- bobbyd [n=chatzill@94-168-168-172.cable.ubr12.dund.blueyonder.co.uk] has
joined #go-nuts
21:49 < SRabbelier> iant: @your reply to "Idiomatic way to create new
variables in if "simple statement": is it worth filing a ticket, or is it doubtful
that something this small would warrant a language change?
21:50 <+iant> SRabbelier: it's doubtful that this would warrant a language
change
21:50 -!- hackbench [n=hackbenc@78.179.182.49] has quit [Remote closed the
connection]
21:50 <+iant> SRabbelier: If you can come up with a very clean syntax it
might possible be considered, but even then I think it would be doubtful
21:51 -!- clajo04_ [n=clajo04_@74.72.55.57] has quit []
21:51 < nmichaels> apropos the number of cores in CPUs: I'm currently
working with a 64 core processor (whose compiler is neither GCC nor open source,
so no Go)
21:51 -!- chachan [n=chachan@ccscliente156.ifxnetworks.net.ve] has quit ["KVIrc
Insomnia 4.0.0, revision: , sources date: 20090520, built on: 2009/06/06 11:44:47
UTC http://www.kvirc.net/"]
21:52 < SRabbelier> iant: ok, I've been running into that construct a lot
though so I figured I could at least astk :)
21:52 < jlouis> nmichaels: Tilea?
21:52 < nmichaels> jlouis: assuming you forgot an r, yes
21:54 -!- loureiro [n=loureiro@189.2.128.130] has quit ["Quit"]
21:54 < KragenSitaker> oh, I didn't know there was no GCC for Tilera
21:54 -!- gnomon
[n=gnomon@CPE0022158a8221-CM000f9f776f96.cpe.net.cable.rogers.com] has joined
#go-nuts
21:54 -!- ayo [n=nya@f050243017.adsl.alicedsl.de] has joined #go-nuts
21:54 < KragenSitaker> are they still doing the systolic thing that they
were doing before they founded the company, or are the cores more asynchronous?
21:54 < nmichaels> Yeah, their compiler is a variant of some MIPS compiler
and not GCC.
21:55 < nmichaels> KragenSitaker: I'm not sure what you mean.  I don't think
the cores reorder instructions, but they're multi-issue.
21:56 -!- Fish [n=Fish@78.238.225.114] has quit [Remote closed the connection]
21:56 < penguin42> hmm
21:56 < penguin42> from a cgo module can you act on a channel?
21:57 -!- bobbyd [n=chatzill@94-168-168-172.cable.ubr12.dund.blueyonder.co.uk] has
quit ["ChatZilla 0.9.85 [Firefox-3.5 3.5.5/20091109140144]"]
21:57 -!- aho [n=nya@g227091029.adsl.alicedsl.de] has quit [Read error: 145
(Connection timed out)]
21:58 < scandal> penguin42: it should be possible.  cgo generates some .go
code and .c stubs so you should be able to mix and match
21:58 -!- defectiv [n=clays@c-24-5-65-40.hsd1.ca.comcast.net] has quit ["This
computer has gone to sleep"]
21:58 < penguin42> scandal: I'm thinking you could link a chunk of C but you
only talk to it via a channel; hmm but maybe I could do that if I just did all the
calls to the C code from a goroutine
21:59 < pure_x01> just added a feature suggestion ..  what do u think?  ..
:
http://code.google.com/p/go/issues/detail?id=234&colspec=ID%20Type%20Status%20Owner%20Summary
21:59 < SRabbelier> Is there any documentation on the package system, I'm
trying to write a 'Make' replacement in go (using go/parser for the dependencies),
but I'm having a hard time figuring out how packages work exactly
21:59 < scandal> penguin42: i think your latter idea is the way to go.  did
not see any way to send to a channel *from* C
22:00 -!- brown` [n=user@72.14.228.129] has quit [Remote closed the connection]
22:00 < rhc> pure_x01: wouldn't you just abstract the channel away?
22:00 <+iant> SRabbelier: There is no special documentation; what is your
issue?
22:00 -!- diltsman_ [n=diltsman@76.8.194.226] has joined #go-nuts
22:00 < rovar> pure_x01: It seems like one could easily create a
ValidateAndSend interface that will kill these two birds without having to alter
the language
22:00 < penguin42> scandal: OK, I was thinking of putting gtk+ on the other
end of a channel and events flowing along the channel
22:01 < pure_x01> rover: yes that would probably be possible but with this
it would be possible to easily add and remove filters by just adding them to the
list of filters..  but i see your point ..
22:02 < SRabbelier> iant: just not sure how to figure out what to do when
someone says "please build package os", in src/pkg/os I see no 'os.go' for example
22:02 < scandal> penguin42: hrm, one problem is callbacks aren't supported.
is there way way to synchronously poll gtk+ events?
22:02 < jlouis> pure_x01: the ability to pre and post-process a channel is
interesting.  But for Go, I think keeping it simple in the beginning is more
important
22:03 -!- korfuri [n=korfuri@eth0.korfuri.fr] has joined #go-nuts
22:03 -!- delsvr [n=delsvr@cpe-67-242-41-219.twcny.res.rr.com] has joined #go-nuts
22:03 < penguin42> scandal: Not that I know of, but you see I was thinking
of doing the callbacks entirely within the C and then posting the event to a
channel - hence the original question
22:03 < pure_x01> jlouis: yes i agree that that is a good point
22:03 <+iant> SRabbelier: ah, well, src/pkg/os/Makefile lists the files
which are compiled into the package
22:03 -!- Wiz126 [n=Wiz@72.20.227.135] has quit [Read error: 110 (Connection timed
out)]
22:04 < jlouis> pure_x01: If you want to play with those ideas, then Haskell
or Concurrent ML are much better vehicles for the research
22:04 < SRabbelier> iant: is there any way to derive those given less than
that list?  or is a package just a bunch of .go files stuffed together without any
necessary relation?
22:04 < jlouis> in fact, concurrent ML already has them in wrap and guard :)
22:04 -!- engla [n=ulrik@wikipedia/Sverdrup] has quit [Read error: 110 (Connection
timed out)]
22:04 < penguin42> scandal: Anyway, what's the problem with callbacks?
22:04 < pure_x01> What about distributed computing and Go are there any
plans to be able to make channels work across processes/systems?
22:04 -!- padraic_ [n=padraic@86-42-130-255-dynamic.b-ras1.bbh.dublin.eircom.net]
has quit [Read error: 60 (Operation timed out)]
22:05 <+iant> SRabbelier: any arbitrary set of .go files can be compiled
into a package; given a directory, you could parse the start of each file to pick
out the package clause, and get the set of files that way
22:05 -!- elmar [n=elmar@188.107.209.80] has quit ["Leaving"]
22:05 < penguin42> pure_x01: There's a discussion about cluster stuff on the
mailing list
22:05 < scandal> penguin42: hrm, i'm not sure if its possible to safely
spawn your own thread behind the runtime's back, but you could use some
synchronization to signal the goroutine holding the channel
22:05 < exDM69> pure_x01: the google tech talk gave some hints that there
may be
22:05 < scandal> penguin42: they aren't supported is the problem :)
22:05 * scandal is not a runtime expert.
22:05 < korfuri> pure_x01: there is an rpc package in the library, that's a
first step :)
22:06 < jlouis> pure_x01: it would be a possible step in the future
22:06 < penguin42> scandal: Hmm OK - I guess I could push the events along
an OS pipe
22:06 < SRabbelier> iant: ah, ok, I am guessing that's (similar to) what
go/parser.ParsePackage does?
22:07 <+iant> SRabbelier: I'm not sure
22:08 <+iant> SRabbelier: I think you can pass PackageClauseOnly to
ParseFile
22:08 -!- jddron [n=jdo@alog0001.analogic.com] has left #go-nuts []
22:09 -!- dajero [n=dajero@82-169-246-141.ip.telfort.nl] has quit [Remote closed
the connection]
22:09 < pure_x01> korfuri: yes that is a start..  i guess it would allways
be possible to emulate it but it would be cool to be able to create different
kinds of channels that for example worked with serialized objects over a tcp
stream..  make(chan("192.168.0.1:9090") int) ;-)
22:09 -!- serdar__ [n=serdar@dslb-084-060-215-149.pools.arcor-ip.net] has quit
[Read error: 110 (Connection timed out)]
22:09 <+iant> pure_x01: you can do this easily enough by using a goroutine
to read from the TCP stream and feed the data into a channel
22:09 -!- serdar__ [n=serdar@dslb-084-060-224-007.pools.arcor-ip.net] has joined
#go-nuts
22:10 < nmichaels> I've observed that goroutines don't always get to finish
processing data from channels if main returns right after sending something.  Is
there an idiomatic solution other than throwing a time.Sleep() call in at the end
of main?
22:10 < SRabbelier> iant: ah, of course; ok, I'll tinker some more then,
thanks!
22:10 -!- ` [n=michael@94-195-93-66.zone9.bethere.co.uk] has joined #go-nuts
22:10 < pure_x01> iant: yes that is probably the solotuion to go for
22:10 -!- nsa3101 [n=Adium@145.116.229.86] has quit [Read error: 110 (Connection
timed out)]
22:10 < pure_x01> iant: atleast for now
22:10 < scandal> nmichaels: you pass a channel to the goroutine to signal
back when it is done
22:10 -!- ` is now known as Guest91611
22:10 -!- Guest91611 [n=michael@94-195-93-66.zone9.bethere.co.uk] has quit [Remote
closed the connection]
22:11 -!- Guest91611 [n=michael@94-195-93-66.zone9.bethere.co.uk] has joined
#go-nuts
22:11 < nmichaels> scandal: ah, then have main spin on it?
22:11 -!- Guest91611 [n=michael@94-195-93-66.zone9.bethere.co.uk] has quit [Read
error: 131 (Connection reset by peer)]
22:11 < rhc> nmichaels: yeah, "block" is usually the terminology used
22:12 -!- becks` [n=becks_@38-163.104-92.cust.bluewin.ch] has joined #go-nuts
22:12 -!- Kverndal [n=emil@193.225.16.62.customer.cdi.no] has quit [Read error:
104 (Connection reset by peer)]
22:12 -!- ghaering [n=ghaering@f054139095.adsl.alicedsl.de] has quit []
22:13 < nmichaels> Hey, that works.  Thanks.
22:13 < scandal> go> c:=make(chan bool); go func(){time.Sleep(100000);
c<-true }(); x := <-c; print(x)
22:13 < scandal> true
22:14 -!- eydaimon [n=eydaimon@unaffiliated/anywho] has joined #go-nuts
22:15 < rovar> that seems a tad excessive..  isn't there a way to block on a
semaphore?  what if it is critical that the runtime is as short as possible?
22:15 < korfuri> pure_x01: an interesting problem here would be : how does
the other machine know there's a channel waiting for it to read/write to ?
22:15 -!- jgoebel [n=jgoebel@96-28-100-3.dhcp.insightbb.com] has joined #go-nuts
22:16 < korfuri> looks pretty hard to support in the language itself.
Writing a goroutine that handles that for you does not look complicated to me, and
more customizable...
22:16 < pure_x01> korfuri: i guess you would have to connect a channel on
the remote computer on a specific port and when a connection occurrs both parties
can read and write to that channel..  so
22:16 < pure_x01> korfuri: so that the remote computer listens on a port
with a specific channel
22:17 -!- mitchellh [n=mitchell@c-71-231-140-22.hsd1.wa.comcast.net] has joined
#go-nuts
22:17 < nmichaels> rovar: Replacing "x := <-c; print(x)" with "<-c"
would do it.
22:17 -!- stefanc [n=stefanc@188.25.245.40] has quit ["Leaving"]
22:17 -!- cmarcelo [n=cmarcelo@enlightenment/developer/cmarcelo] has quit [Read
error: 104 (Connection reset by peer)]
22:17 -!- padraic_ [n=padraic@86-42-147-242-dynamic.b-ras1.bbh.dublin.eircom.net]
has joined #go-nuts
22:17 < pure_x01> korfuri: make(chan(TCP_LISTEN_MODE, 8081) int)
22:17 -!- lotrpy [n=lotrpy@202.38.97.230] has joined #go-nuts
22:18 < pure_x01> korfuri: im just brainstorming :-)
22:19 < pure_x01> is the documentation on the golang.org page available in
any other format ..  it would be nice to have it printed out in a more non
environmental friendly way
22:19 -!- ghostman
[n=forth@HSI-KBW-078-043-171-029.hsi4.kabel-badenwuerttemberg.de] has joined
#go-nuts
22:19 -!- nigwil [n=chatzill@berkner.ccamlr.org] has joined #go-nuts
22:20 -!- tetha [n=hk@pD9EE7EEA.dip.t-dialin.net] has quit [Nick collision from
services.]
22:20 -!- tetha [n=hk@pD950EB17.dip.t-dialin.net] has joined #go-nuts
22:20 < korfuri> pure_x01: that looks possible, but imho it's a bit hard to
do that way.  What if the ports can't be fixed ? What if some process need to
exchange dozens of chan int with different meanings ? you need to handle that
somehow.  Maybe setting up a callback...  but that's more like a library's job
than a language's feature.
22:20 < KragenSitaker> pure_x01: what's stopping you from doing this inside
the language?  the int part?
22:20 < ghostman> fuck gentoo
22:20 < korfuri> though writing a netchannel library could be cool
22:20 < jgoebel> are there any database wrappers for go yet?
22:20 -!- Wiz126 [n=Wiz@72.20.221.54] has joined #go-nuts
22:21 -!- Kashia [n=Kashia@port-92-200-27-151.dynamic.qsc.de] has quit ["This
computer has gone to sleep"]
22:21 < pure_x01> KragenSitaker: networkchannels are not available..  but it
is ofcourse possible to build it in other ways
22:21 -!- diltsman_ [n=diltsman@76.8.194.226] has quit []
22:22 < XniX23> is there any editor that supports fullscreen in the way
gedit does?
22:23 < KragenSitaker> pure_x01: iant suggested you could write a goroutine
that reads from the network socket and writes to a channel
22:24 < ghostman> fuck gentoo
22:24 -!- becks` [n=becks_@38-163.104-92.cust.bluewin.ch] has quit []
22:24 < KragenSitaker> XniX23: I usually use Emacs in KDE and select
"Advanced → Fullscreen" from the window menu
22:24 -!- mode/#go-nuts [+o danderson] by ChanServ, ChanServ
22:25 -!- mode/#go-nuts [+b *!*n=forth@*.hsi4.kabel-badenwuerttemberg.de] by
danderson
22:25 < pure_x01> KragenSitaker: absolutely and that would be the solution
to go for ,, but i was thinking about future platform/language constructs that
extended channels to be more that just intraprocess comunication channels
22:25 -!- ghostman was kicked from #go-nuts by danderson [troll]
22:25 -!- mode/#go-nuts [-o danderson] by danderson
22:25 < KragenSitaker> heh
22:25 -!- zerofluid [n=zeroflui@ip68-227-10-141.lv.lv.cox.net] has quit ["This
computer has gone to sleep"]
22:25 -!- LaSaRuX [n=pedro@184.Red-83-50-170.dynamicIP.rima-tde.net] has joined
#go-nuts
22:25 < KragenSitaker> you don't think he was going to complain about the
version of gcc they packaged having trouble compiling 6c or somethign?
22:26 <+danderson> he had a full 5 minutes in which to begin that discussion
22:26 < nmichaels> After the second time?
22:27 < KragenSitaker> I admit it didn't look very promising ;)
22:27 -!- grajo [n=grajo@dynamic-78-8-29-239.ssp.dialog.net.pl] has quit [Read
error: 145 (Connection timed out)]
22:28 <+danderson> I note that he is not complaining of unfair treatment in
private, which tends to confirm guilt as charged.
22:28 < XniX23> KragenSitaker: is there a highlight for emacs?
22:28 <+danderson> and now, move along.  What were you saying about Go? :)
22:28 <+danderson> XniX23: yes, see misc/emacs
22:28 < nmichaels> XniX23 misc/emacs
22:28 < andguent> danderson, whois him...the channel list says it all
22:29 -!- wobsite [n=wobsite_@68-189-250-56.static.oxfr.ma.charter.com] has joined
#go-nuts
22:30 < rovar> has anyone had problems with go.vim ? I can't seem to get vim
to recognize that it's loaded a vim file
22:30 < rovar> err a .go file
22:30 < scandal> rovar:
http://www.cs.hmc.edu/~me/go/go-nuts-faq.html#vim-syntax-use
22:30 < Bun> was there a syntax file for vim somewhere?
22:31 -!- padraic_ [n=padraic@86-42-147-242-dynamic.b-ras1.bbh.dublin.eircom.net]
has quit [Read error: 60 (Operation timed out)]
22:31 < Bun> answered before I could ask.
22:31 -!- Associat0r [n=Associat@h163153.upc-h.chello.nl] has joined #go-nuts
22:32 < nmichaels> Now that's service.
22:32 -!- Associat0r [n=Associat@h163153.upc-h.chello.nl] has quit [Client Quit]
22:33 < KragenSitaker> danderson: haven't done much with it today, too
distracted with IRC ;)
22:34 < rovar> that fixed it
22:34 -!- gkmngrgn [n=gkmngrgn@unaffiliated/gkmngrgn] has quit ["Leaving"]
22:34 < Bun> wee, it works
22:36 < scandal> if you want a tags generator for go code, i wrote one here:
http://www.cs.hmc.edu/~me/gotags.go
22:37 < scandal> makes it easy to browse the go/src/pkg/ tree
22:37 -!- gkmngrgn [n=gkmngrgn@unaffiliated/gkmngrgn] has joined #go-nuts
22:37 -!- rmt_ [n=rmt@dslb-092-074-074-003.pools.arcor-ip.net] has left #go-nuts
["Leaving"]
22:38 < SRabbelier> What does "import ( pathutil "path"; )" mean?
'pathutil' is not in the language spec
22:39 <+iant> SRabbelier: it means to import the package path, but to refer
to it as though it were named pathutil
22:39 < scandal> SRabbelier: it sets the namespace you use in your code for
accessing items in that package
22:39 < KirkMcDonald> It is roughly equivalent to "import path as pathutil"
in Python.
22:39 < SRabbelier> aaaah, I see, I thought 'pathutil' was special, it's
just the notation that is
22:39 < SRabbelier> thanks
22:40 < jgoebel> does go have heredocs?
22:40 < KragenSitaker> scandal: awesome, thanks!
22:40 < KragenSitaker> jgoebel: ``
22:41 < KirkMcDonald> jgoebel: No, but then again, it doesn't really need
them.
22:41 -!- paulca [n=paul@89.100.39.244] has quit []
22:41 < SRabbelier> iant: gopack should always be invoked with 'grc' when
making a .a file?
22:41 < XniX23> its amazing how quick people write stuff for go...
22:41 -!- raichoo [n=raichoo@i577AF286.versanet.de] has quit
["http://raichoo.blogspot.com"]
22:41 <+iant> SRabbelier: when making a .a file from .6/.8 files, yes
22:41 < SRabbelier> iant: .5 files are different?
22:42 -!- zhaozhou [n=zhaozhou@linfast76.bitnet.nu] has joined #go-nuts
22:42 <+iant> SRabbelier: gopack is just like ar, and the g modifier means
to create a Go symbol table
22:42 < scandal> XniX23: a million monkeys..  :)
22:42 <+iant> SRabbelier: no, .5 files too
22:42 < KirkMcDonald> I've probably written ~1000 lines of Go at this point.
22:42 -!- _micah [n=msutton@orochi.unl.edu] has joined #go-nuts
22:42 -!- directrixx [n=directri@ip68-231-189-247.tc.ph.cox.net] has joined
#go-nuts
22:42 -!- Venom_X is now known as Venom_brb
22:42 < SRabbelier> iant: ok, gotcha, I'm focussing on the '5/6/8' toolchain
first, so that's ok
22:43 -!- aaront [n=aaront@d24-141-25-171.home.cgocable.net] has joined #go-nuts
22:43 -!- padraic_ [n=padraic@86-42-152-253-dynamic.b-ras1.bbh.dublin.eircom.net]
has joined #go-nuts
22:43 -!- hstimer [n=hans@c-98-234-25-125.hsd1.ca.comcast.net] has quit
["Leaving..."]
22:44 < XniX23> KirkMcDonald, scandal you know anyone who works on a big
project already?
22:44 < scandal> Not that I've seen.
22:44 < KirkMcDonald> I've just been working on my own project.
22:44 < delsvr> is there a reason why the shorthand initialization operator
(:=) can't be used at the top-level, outside of a func?
22:44 < XniX23> KirkMcDonald: care to share details?  :)
22:44 < scandal> delsvr:
http://www.cs.hmc.edu/~me/go/go-nuts-faq.html#short-decl
22:44 < KirkMcDonald> XniX23: A command-line option parser.
22:45 < pure_x01> When working with C++ for example isnt it more common to
put the objects on the heap and then pass around pointers (example via
smartpointers) ..  Java as an example has no other option but to send around
pointers to objects..  So in Go wouldnt it be better to not have to write
*MyStrunct in each method declaration and let the default behavior for struct to
be pointers to structs..  since pass by value is not so comonly used when working
w
22:45 < pure_x01> ith structs..  ?
22:45 < delsvr> scandal: thanks
22:45 < rovar> KirkMcDonald: way to go work on something useful..  I've been
working on a go->opencl compiler :)
22:45 < XniX23> KirkMcDonald: awesome :o
22:46 < KragenSitaker> heh, "At least you don't have to say, `var histogram
map[int] int = make(map[int] int)`".  Agreed!  Praise be!
22:46 < KragenSitaker> rovar: that sounds AWESOME
22:46 < pure_x01> rovar: cool ..  will it be possible to send work to the
gpu workers with channels ;-)
22:46 < synx`> that sounds painful.
22:46 -!- takashi_85 [n=ahmed@unaffiliated/takashi-85/x-0528375] has joined
#go-nuts
22:46 < rovar> pure_x01: D kind of does this.  Classes are always passed by
reference, and structs are passed by value..  it was moderately annoying, imo
22:47 < SRabbelier> iant: any way to turn "my/file" into an absolute path
(other than prepending os.Getwd)?
22:47 < pure_x01> rovar: but isnt that the most common usage scenario with
classes..  to pass pointers around?
22:47 < KragenSitaker> pure_x01: not in general.  consider structs such as
complex, interval, vector3, that kind of thing
22:47 < SRabbelier> since exec.Run seems to work only if you give it an
absolute file
22:47 < rovar> pure_x01: yes..  my goal is to make the data streams be
analogous to channels..  there might be some issues in practice though..  because
a data stream in OpenCL implies much more..
22:48 < KirkMcDonald> D's reference semantics are actually very similar to
Go's.
22:48 <+iant> SRabbelier: not that I know of
22:48 < rovar> specifcally..  an opencl kernel must process all data that is
sent to it..  it can't decide to stop early.
22:48 * SRabbelier adds to TODO list
22:48 < pure_x01> rovar: cool ..  looking forward to it..  OpenCl is one of
my favourite topics to look in to more
22:49 < uriel> scandal: posted gotags to http://reddit.com/r/golang/
22:49 < rovar> KirkMcDonald: I really wish they'd have used D's invariant
arrays instead of their by-value arrays
22:49 < KirkMcDonald> rovar: I haven't really used D2.
22:49 * uriel doubts rovar has used Go much either...
22:49 < KirkMcDonald> rovar: But I much prefer Go's array types to D's
weird-ass static arrays.
22:50 < rovar> KirkMcDonald: really?  I rather like them.
22:50 -!- melba [n=blee@unaffiliated/lazz0] has quit ["MICROSOFT WORD IS A FUN
GAME"]
22:50 -!- lotrpy [n=lotrpy@202.38.97.230] has quit []
22:51 -!- uchouhan [n=Adium@pool-71-105-65-88.lsanca.dsl-w.verizon.net] has quit
["Leaving."]
22:51 < rovar> uriel: I've been hacking on go for the better part of a day
:)
22:51 -!- gkmngrgn [n=gkmngrgn@unaffiliated/gkmngrgn] has quit ["Leaving"]
22:52 -!- Tuller [n=Tuller@pool-72-84-246-12.rcmdva.fios.verizon.net] has joined
#go-nuts
22:52 < rovar> and the reason why I'm working on the go -> opencl
compiler was because I was working on my own language that did just that when go
came out..  and it more than slightly resembled my language...  coroutine based,
typeclasses (interfaces), no inheritance
22:52 < rovar> I was like "well shit"
22:52 < uriel> rovar: ok, sorry, maybe i was a bit too rude, a go->opencl
compiler would be fucking awesome
22:53 < rovar> i didn't detect any rudeness
22:54 < uriel> well, my comment was at least presumptuous
22:54 < nickjohnson> How does go decide how many threads to use with 6g?
I'm running a go program that uses goroutines, and it still seems to be peaking at
100% of one CPU
22:54 < XniX23> where did u guys learn all this stuff -.-
22:54 < nickjohnson> (On Darwin, FWIW)
22:54 -!- Lorthirk [n=cm0901@109.112.51.123] has joined #go-nuts
22:54 -!- gkmngrgn [n=gkmngrgn@78.163.5.202] has joined #go-nuts
22:55 < rovar> XniX23: to what are you referring?
22:55 -!- Futek [n=Futek@3505ds3-amb.0.fullrate.dk] has joined #go-nuts
22:55 < nmichaels> nickjohnson: There's a fancy flag that tells it how many
processors to use...let me see if I can find it.
22:55 -!- nonet [n=nonet@c-69-181-203-73.hsd1.ca.comcast.net] has joined #go-nuts
22:55 < XniX23> writting compilers and stuff
22:56 -!- nonet [n=nonet@c-69-181-203-73.hsd1.ca.comcast.net] has left #go-nuts []
22:56 < rovar> XniX23: I never knew any of this stuff until I learned
Haskell.
22:56 <+iant> nmichaels: GOMAXPROCS
22:56 < nmichaels> That's the one!
22:56 <+iant> XniX23: there are books about it
22:57 -!- takashi_85 [n=ahmed@unaffiliated/takashi-85/x-0528375] has left #go-nuts
[]
22:57 < rovar> have fun all..  time to commute.
22:57 -!- rovar [i=41c66d9a@gateway/web/freenode/x-xmnjlyfrxplyabvm] has quit
["Page closed"]
22:58 < KragenSitaker> XniX23: I learned the little I know about writing
compilers by writing compilers.  there are some references in
http://canonical.org/~kragen/sw/urscheme/
22:58 -!- paulca [n=paul@89.100.39.244] has joined #go-nuts
22:58 * nickjohnson notes that it's only documented as a function on the OS
module, not as an environment variable
22:58 -!- jimi_hendrix [n=jimi_hen@unaffiliated/jimihendrix] has joined #go-nuts
22:58 <+iant> nickjohnson: it's documented now in Effective Go
22:59 -!- nonet [n=nonet@c-69-181-203-73.hsd1.ca.comcast.net] has joined #go-nuts
22:59 < nmichaels> Ooh, I should refresh that page.
22:59 < nickjohnson> yup, that did it - though with GOMAXPROCS=2 I'm only
getting 1.5 CPUs used
22:59 -!- nonet [n=nonet@c-69-181-203-73.hsd1.ca.comcast.net] has left #go-nuts []
23:00 -!- padraic_ [n=padraic@86-42-152-253-dynamic.b-ras1.bbh.dublin.eircom.net]
has quit ["Leaving"]
23:00 -!- me___ [n=venkates@c-68-55-179-48.hsd1.md.comcast.net] has joined
#go-nuts
23:00 < XniX23> KragenSitaker: thanks ill look into that
23:00 -!- slowriot [n=kclancy@66.211.10.10] has quit []
23:00 -!- shinh [n=i@w133104.ppp.asahi-net.or.jp] has quit [Remote closed the
connection]
23:01 < nickjohnson> iant: Really?  Searching the page for 'maxprocs' isn't
giving any useful results.
23:01 < pure_x01> michaelh: it is also possible to do
runtime.GOMAXPROCS(<insert your nr of cores>); but it would probably the
same as setting the env variable
23:01 <+iant> nickjohnson: hmmm, it's updated in the sources, I guess I'm
not sure when it updates on the web page
23:02 < pure_x01> michaelh: it was ment for nmichaels :-)
23:04 < penguin42> what is meant by 'reflection' ?
23:04 < pure_x01> penguin42: finding out information about a structure in
runtime
23:04 -!- Smergo [n=smergo@mail.hellstrom.st] has quit [Read error: 111
(Connection refused)]
23:04 < penguin42> pure_x01: Is that the same as some languages call
introspection?
23:04 -!- Gracenotes [n=person@wikipedia/Gracenotes] has quit [Remote closed the
connection]
23:04 < KragenSitaker> yes
23:05 < pure_x01> penguin42: yes
23:05 < penguin42> ah ok
23:05 -!- voluspa [n=voluspa@x-134-84-102-227.reshalls.umn.edu] has joined
#go-nuts
23:05 -!- Smergo [n=smergo@mail.hellstrom.st] has joined #go-nuts
23:05 < delsvr> is there a "default" for switch statements?  the
documentation says there isn't one, but in the one example with the switch on the
interface type, one is used.  is that an exception?
23:05 < jimi_hendrix> does anyone know for a fix for this bug, i am having
the same problem but on linux
23:05 -!- Gracenotes [n=person@wikipedia/Gracenotes] has joined #go-nuts
23:06 <+iant> delsvr: there is a default for switch statements
23:06 < pure_x01> penguin42: im not really sure however..  in java
introspection is more like in looking at stuff in the runtime and reflection is
looking up information about types in runtime like getAttributes(MyType)
23:06 < scandal> ExprSwitchCase = "case" ExpressionList | "default" .
23:06 < penguin42> pure_x01: Are you saying introspection is letting you
look at more?
23:07 -!- drusepth [n=drusepth@adsl-75-40-207-34.dsl.spfdmo.sbcglobal.net] has
joined #go-nuts
23:08 < pure_x01> penguin42: I think introspection is done with tools from
outside the runtime and hooks in the runtime ..  and reflection is done from
within your code..  but more yes ..  however this is from a java perspective but
im not sure if there is a concept of introspection in Go ..  but reflection seems
to be there
23:08 -!- serdar__ [n=serdar@dslb-084-060-224-007.pools.arcor-ip.net] has quit
[Read error: 110 (Connection timed out)]
23:08 -!- metageorge [n=metageor@212.251.110.2.dsl.dyn.forthnet.gr] has joined
#go-nuts
23:08 < delsvr> iant: oh, I misinterpreted "no automatic fall through."
thanks.
23:08 < uriel> I'm not sure ken learned to write compilers by reading books
and stuff ;P
23:09 < penguin42> no he learned to do it by putting login backdoors in :-)
23:09 < uriel> more like he learned by writting compilers and stuff..
23:09 -!- serdar__ [n=serdar@dslb-084-060-220-032.pools.arcor-ip.net] has joined
#go-nuts
23:09 < uriel> penguin42: hahah
23:09 < uriel> that too :)
23:09 -!- evilhackerdude [n=stephan@e181102016.adsl.alicedsl.de] has joined
#go-nuts
23:09 < nickjohnson> Hm. I think I need a machine with more than 2 cores to
test this algo.  It's slower on 2 cores than 1.
23:10 -!- sjbrown [n=sjbrown@64.125.181.72] has quit [Read error: 110 (Connection
timed out)]
23:10 -!- aa [n=aa@r190-135-140-55.dialup.adsl.anteldata.net.uy] has quit [Read
error: 104 (Connection reset by peer)]
23:10 < nickjohnson> For anyone that knows the Go scheduler - does Go employ
a 'work stealing' scheduler?
23:10 < jimi_hendrix> oh forgot the url for my problem:
http://code.google.com/p/go/issues/detail?id=84
23:10 -!- remy_ [n=remy@49.79.100-84.rev.gaoland.net] has joined #go-nuts
23:11 -!- wobsite [n=wobsite_@68-189-250-56.static.oxfr.ma.charter.com] has quit
["Leaving"]
23:11 -!- aa [n=aa@r190-135-187-175.dialup.adsl.anteldata.net.uy] has joined
#go-nuts
23:11 < me___> he learned it by writing books.
23:11 -!- lindsayd [n=lindsayd@nat/cisco/x-dkmeqorzxilomfno] has quit ["Client
exiting"]
23:11 < remy_> did anyone wrote a TCP server in Go yet ?
23:11 < uriel> hey me___!
23:12 < uriel> remy_: TCP server?
23:12 < jimi_hendrix> so, anyone?
23:12 < delsvr> jimi_hendrix: did you see the issue it was merged with?
23:12 < remy_> uriel: I'd like to serve a protocol on my own, on top of TCP
23:12 -!- asmo [n=asmo@c-f6c5e055.1155-1-64736c11.cust.bredbandsbolaget.se] has
quit [Remote closed the connection]
23:12 < blasdelf> remy_: you mean a full tcp implementation (congestion
control and all), or just something that uses sockets?
23:12 < delsvr> jimi_hendrix: you're compiling as root, since you put the
stuff in /usr/local
23:13 < remy_> blasdelf: something using sockets
23:13 < uriel> remy_: so, use net Listen()
23:13 < jimi_hendrix> delsvr, yes, but there was a slash through that
23:13 < uriel> remy_: no sockets in Go (Thank god!)
23:13 < jimi_hendrix> delsvr, well if i try as not root, i get perms denied
for quietgcc
23:13 < spook327> delsvr: so if i set $goroot to that, it'll be installed
for everyone?
23:13 < remy_> yup, but i'm not sure how to put connections in goroutines
23:13 < delsvr> jimi_hendrix: because your $GOBIN is in /usr/local
23:13 < uriel> remy_: again, see net package and Listen()
23:14 < jimi_hendrix> ah ok
23:14 < uriel> remy_: also note that golang.org runs go
23:14 < delsvr> jimi_hendrix: you can either compile and install it in your
user's directory, or follow some other fixes they have
23:14 < jimi_hendrix> i dont have a $HOME/bin, so where should i put it
23:14 * jimi_hendrix loks
23:14 < delsvr> jimi_hendrix: I think there's a slash because the issue is
resolved
23:14 < uriel> jimi_hendrix: mkdir $HOME/bin
23:14 < nickjohnson> uriel: No sockets?  You mean no 'unix sockets library',
I presume?
23:14 < uriel> jimi_hendrix: now you have it
23:14 < jimi_hendrix> uriel, xD
23:14 < nickjohnson> Anyone have a machine with >2 procs and willing to
test a sample go program for me?  :)
23:14 < uriel> nickjohnson: not sure what you mean, they are both one and
the same pretty much
23:14 < remy_> uriel: yup I'm reading the HTTP implementation of Go, but I'm
looking for some inspiration a bit closer to my needs :)
23:15 < nmichaels> jimi_hendrix: I just made a $HOME/bin for my mac.
23:15 < nickjohnson> uriel: That's why I'm asking.  In what sense does it
not have sockets if it can make and accept TCP connections?
23:15 < nickjohnson> http://pastebin.com/m29e40622 - if anyone's interested
in testing this
23:15 -!- Eytre [n=afitz@adsl-190-192-124.asm.bellsouth.net] has joined #go-nuts
23:15 -!- olleolleolle [n=olleolle@user12.77-105-210.netatonce.net] has quit []
23:16 -!- Venom_brb is now known as Venom_X
23:16 < nickjohnson> I get 48 seconds with GOMAXPROCS=1 and 75 seconds with
GOMAXPROCS=2, but I'd like to know if it's faster on a 4-core machine
23:16 < nmichaels> nickjohnson: sure, I can try it on a quad core
opteron...just have to install go on it first
23:16 < uriel> nickjohnson: using sane interfaces like Listen() Dial() ;)
23:16 < nickjohnson> nmichaels: thanks :)
23:16 < nickjohnson> uriel: Right, but still sockets.  :)
23:16 < nickjohnson> 'Dial' is novel, though :P
23:17 < uriel> no, it is not sockets
23:17 < nickjohnson> http://en.wikipedia.org/wiki/Internet_socket
23:17 < uriel> and Dial() is not novel at all, see this slides from a
presentation Rob gave more than ten years ago:
http://doc.cat-v.org/bell_labs/good_bad_ugly/slides/8
23:18 < jimi_hendrix> ha
23:18 < jimi_hendrix> just pulled an update and it works
23:18 < nickjohnson> Novel as in 'new to me' :P
23:18 < uriel> heh
23:18 -!- gkmngrgn [n=gkmngrgn@unaffiliated/gkmngrgn] has quit [Connection timed
out]
23:19 < uriel> well, I don't know, but in networking terminology, I never
heard tcp connections called 'sockets', and there are plenty of systems (eg., Plan
9 from where Dial and Listen come from) which don't use the 'socket' terminology,
I think it is safe to assume that when somebody says sockets, they mean BSD
sockets
23:19 -!- gkmngrgn [n=gkmngrgn@unaffiliated/gkmngrgn] has joined #go-nuts
23:19 -!- lotrpy [n=lotrpy@202.38.97.230] has joined #go-nuts
23:19 < uriel> (but sorry, I'm splitting hairs, and this is offtopic, I just
want to say that I'm overjoyed with having a sane networking api)
23:20 < jimi_hendrix> the standard extension for a go source file is .go
right
23:20 < uriel> (note that for example python, and even java, try to closely
mirror the classic BSD sockets apis, which is a pain)
23:20 < h4xOr> for now i guess.
23:20 < remy_> nickjohnson: 56.77s user 11.48s system 166% cpu 40.973 total
23:20 < KragenSitaker> in the TCP RFC a "socket" is an IP:port pair
23:20 < uriel> jimi_hendrix: yes
23:20 < nickjohnson> remy_: With GOMAXPROCS=?
23:20 < jimi_hendrix> ok
23:20 < KragenSitaker> but nobody ever uses that
23:20 -!- daxelrod [n=daxelrod@164.55.254.106] has quit ["Leaving."]
23:20 < uriel> KragenSitaker: heh, I guess I don't read RFCs much, they give
me headaches :)
23:20 < remy_> nickjohnson: 2 cores Intel(R) Core(TM)2 Duo CPU T6500 @
2.10GHz
23:21 < nickjohnson> remy_: No, what did you set GOMAXPROCS to?
23:21 < remy_> nickjohnson: 2
23:21 < KragenSitaker> uriel: I think it's better to have a low-level API in
the language that closely matches the OS API, and then build the API you want on
top of that
23:21 < nickjohnson> remy_: What execution time do you get with 1?
23:21 < nbaum> KragenSitaker: Which OS?
23:21 < nmichaels> well, I'm still scp-ing my go directory, since apparently
I don't have hg on this opteron either
23:21 < uriel> KragenSitaker: except that 1) there are many OS apis, 2) the
OS apis SUCK
23:21 < remy_> nickjohnson: hold on a second :)
23:22 < uriel> KragenSitaker: if you want to use the os api, use ffi or
somesuch, but you shouldn't really
23:22 -!- delsvr [n=delsvr@cpe-67-242-41-219.twcny.res.rr.com] has quit []
23:22 < nbaum> You can import-C socket.h if you must?
23:22 < uriel> nbaum: I guess so (yuck)
23:22 < KragenSitaker> "How did Ken Thompson learn to write compilers?" is a
very interesting question.  I suspect he both read and wrote compilers to do it.
But I don't know him personally.
23:22 < remy_> nickjohnson: 53.07s user 1.45s system 99% cpu 54.586 total
23:22 < remy_> nickjohnson: sounds weird...
23:23 < nickjohnson> remy_: Interesting.  Timings are much closer for you
than me
23:23 < nickjohnson> remy_: It's many, many tiny tasks.  Work-stealing
schedulers should handle it well, though
23:23 < remy_> nickjohnson: it's faster with 1 core than with 2 O_o
23:23 -!- Tuller [n=Tuller@pool-72-84-246-12.rcmdva.fios.verizon.net] has quit []
23:23 < uriel> for many tiny tasks that doesn't seem too surprising
23:23 -!- Futek [n=Futek@3505ds3-amb.0.fullrate.dk] has quit []
23:23 < KragenSitaker> nbaum: whichever ones you want to run your code on
23:24 -!- sladegen [n=nemo@unaffiliated/sladegen] has quit [Read error: 110
(Connection timed out)]
23:24 < nickjohnson> But if it's not work stealing, or possibly even if it
is with few cores, synchronization and context switching can overwhelm any
benefits
23:24 < uriel> (also I suspect that the reason GOMAXPROCS is 1 by default is
that running with more than that is not really optimized yet, but iant should know
more)
23:24 < nbaum> I'd _like_ my Go code to be able on any platform that Go
supports now or in the future.  :-)
23:24 -!- swolchok [n=swolchok@li45-103.members.linode.com] has left #go-nuts []
23:24 < KragenSitaker> I think sockets are pretty standardized on Linux,
MacOS, and Microsoft Windows, including CE, so that alone gets you pretty broad
support
23:25 -!- Futek [n=Futek@3505ds3-amb.0.fullrate.dk] has joined #go-nuts
23:25 -!- JAH [n=jeff@ip70-174-143-177.dc.dc.cox.net] has joined #go-nuts
23:25 -!- hector [n=chatzill@client-86-0-126-58.nrth.adsl.virginmedia.com] has
quit [Read error: 113 (No route to host)]
23:25 < nbaum> to be able _to run_ on...
23:25 < uriel> KragenSitaker: they are still hideous, and many of the api
details are not portable
23:25 < nmichaels> KragenSitaker: Yeah, I think all those operating systems
use the same tcp stack code.
23:25 < uriel> KragenSitaker: there are even portability issues between
differnt *nix systems
23:25 < KragenSitaker> nbaum: well, there's some code that has to be written
to bridge the gap between platform-specific APIs and the portable API you actually
want to use.  do you want that code to be written in Go or in C?
23:25 < uriel> nmichaels: no they don't
23:25 < KragenSitaker> nmichaels: no, they have widely divergent TCP stack
code
23:25 < KragenSitaker> uriel: yes, I know
23:25 < nbaum> Go, I would say.
23:26 < nmichaels> uriel: What's etc/hosts doing on windows machines then?
23:26 < KragenSitaker> nbaum: that preference leads to my suggested solution
23:26 < blasdelf> there was once a time when they were all forks of BSD's
code
23:26 < uriel> nmichaels: who cares?  the code is all different, and the
semantics of many things are different too
23:26 < vsmatck> One big annoyance of mine with portability of sockets is
how to do half-open sockets.  Or async connections.  With goroutines that doesn't
matter because you can just block while you connect.
23:26 < uriel> nmichaels: linux and bsd also have totally unrelated ip
stacks
23:26 < nbaum> nmichaels: etc/hosts isn't a TCP/IP stack thing.
23:26 < halfdan> is there anyone working on an plugin for netbeans?
23:26 < uriel> and even among the bsds there are differences
23:27 < KragenSitaker> nbaum: well, to the extent that gethostbyname() is
part of the TCP/IP stack, it is
23:27 < nmichaels> hrumf
23:27 * nmichaels has been shot down.
23:27 < nbaum> Yes, but that doesn't use /etc/hosts "by definition".
23:27 < uriel> halfdan: not that i'm aware of, but probably somebody is, but
feel free to start one too :)
23:27 < KragenSitaker> nmichaels: you can tell that Linux doesn't share
common ancestry because its address family constants are different
23:27 -!- ironfroggy__ [n=calvin@64.129.84.194] has joined #go-nuts
23:27 -!- ehird [n=ehird@91.105.112.3] has joined #go-nuts
23:27 < halfdan> uriel: ;)
23:28 < KragenSitaker> nbaum: no, only particular implementations of it do,
which is why nmichaels brought it up as indicating common ancestry :)
23:28 -!- ArekZB [n=ArekZB@76-10-138-81.dsl.teksavvy.com] has quit [No route to
host]
23:28 -!- wobsite [n=wobsite_@68-189-250-56.static.oxfr.ma.charter.com] has joined
#go-nuts
23:29 -!- defectiv [n=clays@c-24-5-65-40.hsd1.ca.comcast.net] has joined #go-nuts
23:29 -!- ehird [n=ehird@91.105.112.3] has quit []
23:29 -!- asyncster [n=asyncste@206.169.213.106] has quit [Connection timed out]
23:29 < vsmatck> Like the macros for address family?  It shouldn't matter
what those are because they're macros?
23:29 < nbaum> I don't know that that's true.  I know that on Linux,
gethostbyname() happens in the C library, not the kernel, where the TCP/IP stack
happens.  Specifically, it happens in the "name service switch".  One can
configure whether to use /etc/hosts by editing /etc/nsswitch.conf.
23:30 < nbaum> OTOH, Windows might well access its hosts file from the
kernel, and maybe other Unices.
23:30 < vsmatck> gethostbyname() is legacy now that we have getaddrinfo
isn't it?
23:30 < uriel> iant: I know you are probably not in charge of those things,
but I was thinking that some kind of roadmap similar to what the Unladen Swallow's
'Project Plan' would be nice to have, specially would help people have the right
expectations about what go can do now and what it is expected to be able to do...
23:30 < SRabbelier> how do I get all keys in a map?
23:30 < nbaum> And that's only GNU libc.  I don't know what ulibc et al do.
23:31 -!- remy_ [n=remy@49.79.100-84.rev.gaoland.net] has quit [Remote closed the
connection]
23:31 -!- sliceofpi [n=Adium@c-98-201-178-27.hsd1.tx.comcast.net] has quit
["Leaving."]
23:31 -!- metageorge [n=metageor@212.251.110.2.dsl.dyn.forthnet.gr] has left
#go-nuts []
23:31 -!- metageorge [n=metageor@212.251.110.2.dsl.dyn.forthnet.gr] has joined
#go-nuts
23:31 -!- metageorge [n=metageor@212.251.110.2.dsl.dyn.forthnet.gr] has left
#go-nuts []
23:31 -!- subat_qn [n=subat_qn@78.236.214.16] has joined #go-nuts
23:32 < blasdelf> uriel: I think they're wary of reifying even more
bekeshedding about "missing features"
23:32 -!- subat_qn [n=subat_qn@78.236.214.16] has quit [Client Quit]
23:32 -!- drusepth [n=drusepth@adsl-75-40-207-34.dsl.spfdmo.sbcglobal.net] has
quit ["Leaving"]
23:32 < blasdelf> *bikeshedding*
23:32 < KragenSitaker> vsmatck: yes, those.  It doesn't matter what they
are, except that if you change them, you've changed the ABI, and old binaries
won't work any more
23:32 -!- nutate [n=rseymour@204.140.135.15] has joined #go-nuts
23:32 < KragenSitaker> nbaum: no, nobody accesses the hosts file from the
kernel any time recently
23:33 < uriel> blasdelf: yes, I just think it some kind of rough roadmap
would actually help with that, but I could be wrong
23:33 < nbaum> And I assume some bad programmers don't use the macros.
23:33 -!- Cyprien [n=Cyprien@23-120.107-92.cust.bluewin.ch] has quit [Read error:
104 (Connection reset by peer)]
23:33 < KragenSitaker> nbaum: yes, as an example you can see
http://canonical.org/~kragen/puzzle3.html
23:34 * nbaum can't count the number of old crufty C programs he's seen which
declare standard functions manually rather than using includes, breaking them as
K&R C fell out of fashion.
23:34 < KragenSitaker> also, people programming in languages other than C
often program to the ABI rather than the API
23:34 -!- Cyprien [n=Cyprien@23-120.107-92.cust.bluewin.ch] has joined #go-nuts
23:34 -!- poul [n=pool@ip98-182-40-121.ri.ri.cox.net] has joined #go-nuts
23:34 -!- bgs100 [n=ian@unaffiliated/bgs100] has joined #go-nuts
23:34 < nutate> so...  correct me if I'm wrong, but I should be able to use
go on a multicore multinode supercomputer using ...  gobs and the network i/o?
23:34 < nbaum> KragenSitaker: I said bad, not perverse!
23:35 < penguin42> nbaum: Well, breaking them in the sense of stopping them
building when the two decelrations actually turn out not ot have matched for years
23:35 -!- drusepth [n=drusepth@adsl-75-40-207-34.dsl.spfdmo.sbcglobal.net] has
joined #go-nuts
23:35 < vsmatck> I have the impression that writing portable networking code
in C sucks because it's not specified in the language.  Also lack of lightweight
threads make you have to use convoluted design patterns to get performance.
23:36 < nbaum> Right.  Normally just removing the declaration makes it work.
23:36 < KragenSitaker> nbaum: well, that perverse program would be bad if
someone were to use it for anything real
23:37 < SecretofMana> hmm, has anyone run across this error installing?
23:37 < KragenSitaker> vsmatck: you can use rsc's libtask or protothreads if
you need lightweight threads in C
23:37 -!- lotrpy [n=lotrpy@202.38.97.230] has quit []
23:37 < SecretofMana> cat: /tmp/gotest1-11498-cobuntu: No such file or
directory
23:37 < SecretofMana> fail: fixedbugs/bug188.go
23:37 -!- bbeck [n=bbeck@dxr-fw.dxr.siu.edu] has quit [Remote closed the
connection]
23:37 -!- drusepth` [n=drusepth@adsl-75-40-207-34.dsl.spfdmo.sbcglobal.net] has
joined #go-nuts
23:37 <+iant> SecretofMana: I think that happens if you don't have
/usr/bin/time
23:37 < nmichaels> nickjohnson: I get .002 seconds and "Killed" when I try
to run your program.
23:37 < KragenSitaker> writing portable networking code in C sucks largely
because you have to use different vendors' implementations of sockets, which
aren't always compatible
23:38 < SecretofMana> Ah, okay.
23:38 < nickjohnson> nmichaels: Anything other than 'Killed'?
23:38 < KragenSitaker> but it's not really that bad
23:38 < nmichaels> nickjohnson: nope, just "Killed".  I think I might be
bumping up against process limits or something.
23:38 < vsmatck> KragenSitaker: intersting.  I've never heard of those.
I'll look in to it.  Thanks.  :)
23:38 < penguin42> nmichaels: If you're on Linux do a dmesg and look for
signs of an out-of-memory event
23:39 -!- mennis [n=mennis@adsl-068-016-104-079.sip.asm.bellsouth.net] has quit
[Connection timed out]
23:39 < nmichaels> oh, no, it's not that...I can't even get echo from the
tutorial to run...lemme try rebuilding
23:39 -!- ben0x539 [n=v@dslb-088-064-186-124.pools.arcor-ip.net] has joined
#go-nuts
23:40 -!- tcpip4000 [n=fulano@dsl-emcali-190.99.128.41.emcali.net.co] has quit
["Leaving."]
23:40 -!- drusepth`` [n=drusepth@75.40.207.34] has joined #go-nuts
23:41 < nbaum> net.Dial looks quite neat.
23:41 -!- WalterMundt [n=waltermu@twiki/developer/EtherMage] has joined #go-nuts
23:41 -!- qbit_ [n=qbit_@c-75-71-160-106.hsd1.co.comcast.net] has joined #go-nuts
23:41 -!- ehird [n=ehird@91.105.112.3] has joined #go-nuts
23:41 -!- nsa310 [n=Adium@145.116.229.86] has joined #go-nuts
23:41 < WalterMundt> 8g says: "<epoch>: fatal error: dowidth: unknown
type: blank"
23:41 < WalterMundt> anyone recognize this?
23:41 -!- mitchellh [n=mitchell@c-71-231-140-22.hsd1.wa.comcast.net] has quit
["Leaving."]
23:42 < nbaum> Unfortunate that net.Dial doesn't (yet, presumably) support
UNIX sockets.
23:42 -!- drusepth [n=drusepth@adsl-75-40-207-34.dsl.spfdmo.sbcglobal.net] has
quit [Read error: 54 (Connection reset by peer)]
23:42 -!- drusepth` [n=drusepth@adsl-75-40-207-34.dsl.spfdmo.sbcglobal.net] has
quit [Read error: 131 (Connection reset by peer)]
23:42 -!- drusepth [n=drusepth@76.211.88.252] has joined #go-nuts
23:42 -!- drusepth`` [n=drusepth@75.40.207.34] has quit [Read error: 104
(Connection reset by peer)]
23:42 < KragenSitaker> nbaum: another reason to prefer a thin binding to the
native API, with a nicer interface built on top, is that it makes it easier to fix
or work around things like that
23:42 < nbaum> Hmm.  Separating Dial and DialUnix seems rather arbitrary.
23:43 -!- JeffreyKegler_ [i=4cd1835f@gateway/web/freenode/x-gccbbbndluizhzqr] has
joined #go-nuts
23:43 < nmichaels> hrumf, this didn't work...I think I'm going to have to do
a clean hg pull.
23:44 -!- drusepth` [n=drusepth@76.211.88.252] has joined #go-nuts
23:45 -!- m-takagi is now known as m-takagi_
23:45 -!- _micah [n=msutton@orochi.unl.edu] has quit []
23:45 -!- mitchellh [n=mitchell@c-71-231-140-22.hsd1.wa.comcast.net] has joined
#go-nuts
23:46 -!- bgs100 [n=ian@unaffiliated/bgs100] has quit ["Leaving"]
23:46 < spook327> oof, so
23:47 -!- ShadowIce [n=pyoro@unaffiliated/shadowice-x841044] has quit
["Verlassend"]
23:47 -!- Cantareus [n=brendon@121-73-186-98.dsl.telstraclear.net] has quit
["Ex-Chat"]
23:47 < spook327> how do i make go available for all users on my box?
23:47 < XniX23> how can i convert []byte to string?
23:47 < nmichaels> XniX23: string(var)
23:47 < spook327> i built it with GOBIN pointing to /usr/local/bin, but the
libraries aren't accessable
23:47 < ehird> w/
23:47 < ehird> func (c *TCPConn) Read(b []byte) (n int, err os.Error)
23:47 < ehird> does this read up to newline?
23:48 <+iant> spook327: you can copy $GOROOT/pkg somewhere, and then tell
people to set GOROOT to point there
23:48 <+iant> that is, to set GOROOT so that $GOROOT/pkg is a copy of the
one you built
23:48 < spook327> hm okay
23:48 <+iant> ehird: no, that reads up to len(b) bytes
23:48 < spook327> thanks
23:48 -!- lambo4jos [n=chatzill@c-76-126-250-10.hsd1.ca.comcast.net] has joined
#go-nuts
23:48 < ehird> iant: oh, ofc
23:49 -!- pure_x01 [n=pure@c83-248-3-188.bredband.comhem.se] has quit ["bedtime"]
23:49 -!- JeffreyKegler_ [i=4cd1835f@gateway/web/freenode/x-gccbbbndluizhzqr] has
quit ["Page closed"]
23:49 -!- voluspa [n=voluspa@x-134-84-102-227.reshalls.umn.edu] has quit [Read
error: 113 (No route to host)]
23:50 -!- nsa310 [n=Adium@145.116.229.86] has left #go-nuts []
23:50 < nickjohnson> Anyone else with 4 or more cores?  :P
23:50 -!- levicook [n=levicook@gw.alice.com] has quit []
23:50 < nmichaels> heh, still working on getting go installed on this beast
23:50 < Ycros> nickjohnson: nah, I felt it was better investing in 2 cores
that were faster for an equivalent price - at the time.
23:51 -!- Perberos [n=Perberos@190.49.39.117] has joined #go-nuts
23:51 < Perberos> !
23:51 < Ycros> nmichaels: having trouble?  I'm just updating to the latest
revision - want to see if this error goes away
23:51 -!- aninhumer
[n=aninhume@client-81-105-73-94.lds-bng-011.adsl.virginmedia.net] has joined
#go-nuts
23:51 -!- KillerX [n=anant@145-116-234-40.uilenstede.casema.nl] has joined
#go-nuts
23:52 < nmichaels> Ycros: My trouble is that hg isn't installed on my target
box and I don't have root.  I'll get it working, it's just gonna take a little
while.
23:52 -!- Tuller [n=Tuller@pool-72-84-246-12.rcmdva.fios.verizon.net] has joined
#go-nuts
23:52 < Ycros> nmichaels: ah.  Check it out on another machine and tarball
it up maybe?
23:53 < nbaum> Well, that's nice.
23:53 < Ycros> nmichaels: though if I have a machine like that, I quickly
end up installing all sorts of things in my home directory
23:53 < nmichaels> Ycros: actually I'm hg pulling it from another machine to
an nfs mounted drive that's shared between the two
23:53 -!- binaryjohn [n=binaryjo@cpe-24-30-132-50.san.res.rr.com] has quit []
23:53 < nbaum> net.Dial and net.Listen do actually support the "unix"
network.  The documentation just needs fixing.
23:53 < Ycros> hmm, sigsegv :(
23:53 < jimi_hendrix> does go require the { on the same line as the 'if' or
the function declaration?
23:53 <+iant> jimi_hendrix: no
23:54 < Ycros> jimi_hendrix: however, if you want your programs to be
formatted correctly, run gofmt over them
23:54 < nmichaels> jimi_hendrix: don't tell anyone, but I hacked up my gofmt
code to put the { on its own line.
23:54 -!- serdar_ [n=serdar@dslb-084-060-204-054.pools.arcor-ip.net] has joined
#go-nuts
23:54 < jimi_hendrix> so it doesnt require it but thats the standard
23:54 < SRabbelier> iant: am I correct in that [568]g is always invoked
exactly once per package?  (with all go files that should be in the package as
it's argument)
23:54 < Ycros> jimi_hendrix: yes
23:54 <+iant> SRabbelier: correct
23:54 < Ycros> jimi_hendrix: the output of gofmt is the standard
23:54 < nbaum> (Just net.Dial, actually.  net.Listen's documentation is
already right.)
23:54 < jimi_hendrix> nmichaels, thats how i prefer it, but vim will kill my
ocd
23:54 < jimi_hendrix> Ycros, ok
23:55 < ehird> pls, go by gofmt defaults
23:55 < ehird> srsly :)
23:55 < ehird> (can you say "when this channel gets some data, call this
func?")
23:55 < SRabbelier> iant: and that file is always "_go_.[568]" ?
23:55 < SRabbelier> iant: (the output file I mean)
23:55 < nbaum> ehird: Yes.
23:55 < aninhumer> Is there a way to define a type/interface that matches a
subset of other types (that don't have common methods)
23:55 <+iant> SRabbelier: you use the -o option to set the output file
23:55 < ehird> nbaum: lemme guess
23:55 < ehird> nbaum: go func (x){...}(<-foo)
23:55 < Ycros> I have emacs calling gofmt on my files when I save
23:55 < ehird> amirite
23:55 < Ycros> :)
23:55 < SRabbelier> iant: right, I mean, there are no cases another output
file is used?
23:55 < nmichaels> I don't plan on giving anyone else my hacked up gofmt...I
just can't read code with asymmetric curly braces.
23:55 -!- poul [n=pool@ip98-182-40-121.ri.ri.cox.net] has quit [Client Quit]
23:55 <+iant> SRabbelier: only one output file is generated, if that is what
you are asking
23:56 <+iant> aninhumer: "interface {}" ?
23:56 * SRabbelier nods
23:56 < SRabbelier> ok
23:56 < nbaum> Hmm.  That looks alright.  Much more elegant than what I was
thinking of.
23:56 -!- ginkgo [n=ginkgo@chello084113198244.17.14.vie.surfer.at] has quit
["Leaving"]
23:56 -!- flyfish [n=flyfish@pixout.appriss.com] has quit []
23:56 < nbaum> But the arguments are probably evaluated before the goroutine
is spawned, thinking about it...
23:57 < ehird> nbaum: what were you thinking about?
23:57 < ehird> nbaum: also, then `go func(){foo:=<-bar; ...}`
23:57 < jimi_hendrix> and whats the standard spaces for indents?
23:57 < ehird> jimi_hendrix: not
23:57 < ehird> jimi_hendrix: 8-width tabs
23:57 < nmichaels> jimi_hendrix: tabs
23:57 < ehird> jimi_hendrix: run gofmt on all your files; it's splendid
23:57 < ehird> trust it ;-)
23:57 < nbaum> ehird: Yeah.
23:58 < ehird> what were you thinking nbaum
23:58 < jimi_hendrix> ok
23:58 < nbaum> Isn't it 4-width tabs?
23:58 < ehird> no.
23:58 < ehird> well
23:58 < ehird> it's any-width tabs
23:58 < WalterMundt> I still cringe at that, maybe I'm too young to
appreciate 8-space indenting
23:58 < nmichaels> Well crap, my all.bash failed and I don't have time to
futz with it.  Sorry nickjohnson.
23:58 < jimi_hendrix> wait it uses tabs?  thats new?
23:58 < ehird> jimi_hendrix: no.
23:58 < WalterMundt> I set ts=4 and tolerate the fact that I'm using weird
tabstops
23:58 < ehird> WalterMundt: it's to discourage excessive nesting in part.
old guard c/unix/plan9 guys remember :-)
23:58 < ehird> it's not weird
23:58 < ehird> tabs are good for that
23:58 < nbaum> gofmt uses tabs.  You don't have to.  gofmt will do it for
you!
23:58 < ehird> but 8-width is good for the soul
23:59 < ehird> nbaum++
23:59 -!- ben0x539 [n=v@dslb-088-064-186-124.pools.arcor-ip.net] has left #go-nuts
[]
23:59 < jimi_hendrix> i am getting 4 spaces on from gofmt (well i have tabs
set to spaces in vim)
23:59 < ehird> only kitten killers deviate from gofmt
23:59 < WalterMundt> nbaum: but it screws with my general editor config
23:59 < ehird> jimi_hendrix: Congrats, you debugged your own problem.
23:59 < ehird> WalterMundt: condition on go filetype
23:59 < ehird> any editor can do that
23:59 < jimi_hendrix> \o/
23:59 < blasdelf> and because it never uses spaces or internal alignments,
your tabstop is not much of an issue
23:59 < WalterMundt> every other language, I use ts=8 sw=4 sts=4 in vim
(4-space indent with 8-space tabs so the code looks right in Notepad et al)
23:59 -!- bquinn [n=bquinn@office.velleman.com] has quit []
--- Day changed Tue Nov 17 2009
00:00 < WalterMundt> I will, just haven't gotten around to it
00:00 < nbaum> WalterMundt: Perhaps you could configure your editor to
replace tabs with spaces upon loading a go file, and then run gofmt on it upon
saving.  ;-)
00:00 < jimi_hendrix> YEAY FOR BRACES LANGUAGES
00:00 < hnsr> ts=8?  infidel!
00:00 < fgb> every other language generally make people to write really,
really long times
00:00 < Ycros> iant: have you used 6cov?
00:00 < nbaum> Probably some surprises in store, of course.
00:00 < fgb> s/times/lines/
00:00 < hnsr> 4 is superior clearly
00:00 <+iant> Ycros: No, I haven't
00:00 < nmichaels> The only difference tabstops make is where you wrap your
lines.
00:00 < bthomson> ts=2!
00:00 < WalterMundt> hnsr: *shrugs* I really like my code to look the way I
write it when I load it in some arbitrary text editor.  ts != 8 breaks that
00:01 < Ycros> iant: mm, okay, nobody in here seems to have tried it.  I'll
write a post because it's not working correctly for me.
00:01 < jlouis> jimi_hendrix: it is easy to write compilers for any language
in the LALR(1) class.  I expect Go is
00:01 < WalterMundt> or in less etc
00:01 < fgb> ReallyLongType longVariableName =
MyReallyLongClass->reallyExplicitFunctionName()->result()
00:01 < nbaum> WalterMundt: Indeed.  That's why tabs are, in fact, evil.
00:02 < ehird> nbaum: no, srsly
00:02 < WalterMundt> if I remember to I configure my editor to expand them
by default, but again, the Go convention goes against that
00:02 -!- drusepth [n=drusepth@76.211.88.252] has quit [Read error: 110
(Connection timed out)]
00:02 < ehird> tabs are more semantic and give the reader more power with
less funging, plus 8-space default is good for reducing nesting
00:02 < nbaum> I do wonder why gofmt uses tabs instead of 4 spaces.
00:02 < jimi_hendrix> is there an option to have gofmt replace all the
current file with the correct one?
00:02 < WalterMundt> ehird: that only works when tabs are used consistently
throughout
00:02 < ehird> dude, ken thompson, rob pike — c, unix, plan 9 people.  these
guys have never indented with spaces in their life
00:02 < nbaum> Google seem to use 4 spaces everywhere, though.
00:02 < nmichaels> fgb: I once worked in a shop that mandated
LongPackageName_hungrydribbleLongVariableNameSoAsToBeSufficientlyDescriptive.
Static as a storage class was not allowed.
00:02 < ehird> WalterMundt: no duh?
00:02 < blasdelf> WalterMundt: so what?  since it never uses spaces, just
set your fucking tabstop
00:02 < ehird> WalterMundt: So do that.
00:03 < nmichaels> jimi_hendrix: yes...-f?  I forget what it is.
00:03 < fgb> ok, basically in the text editors I use <tab> == \t
00:03 < WalterMundt> the number of files with semantic tabs I've run into is
maybe 1/100 of the number I've seen with mixed tab/space indents or no tabs at all
00:03 < nbaum> In fact, I assume the 4-space tab is godoc's choice?
00:03 < ehird> WalterMundt: blame emacs
00:03 < blasdelf> WalterMundt: which is why gofmt exists!
00:03 < ehird> nbaum: no, your browser's
00:03 < fgb> it displays as 4 ' ' in text editor
00:03 < nbaum> I see from godoc that it is.
00:03 < ehird> WalterMundt: emacs defaults to mixed — the most retarded mode
ever.
00:03 < ehird> braindead beyond comprehension
00:03 < ehird> nbaum: well, ok.
00:03 < ehird> whatever
00:04 < ehird> doesn't matter as long as you use tabs
00:04 -!- XniX23 [n=XniX23@89-212-198-49.dynamic.dsl.t-2.net] has quit [Read
error: 110 (Connection timed out)]
00:04 < blasdelf> nbaum: Go does not use n-space tabs, for any N
00:04 < nmichaels> WalterMundt: try Python.  Mixing tabs and spaces is
against the rules for real.
00:04 -!- The_Ball [n=The_Ball@123-2-12-83.static.dsl.dodo.com.au] has quit
[Remote closed the connection]
00:04 < blasdelf> nbaum: Go uses \t-width tabs
00:04 -!- The_Ball [n=The_Ball@123-2-12-83.static.dsl.dodo.com.au] has joined
#go-nuts
00:04 -!- int_e is now known as int-e
00:04 < jb55> I've seen alot of google code that follow 2 spaces, which is
what google's c++ style guide says to use
00:04 -!- serdar__ [n=serdar@dslb-084-060-220-032.pools.arcor-ip.net] has quit
[Read error: 110 (Connection timed out)]
00:04 < blasdelf> TABS TABS TABS TABS TABS
00:04 < fgb> nmichaels, heh
00:04 -!- Futek [n=Futek@3505ds3-amb.0.fullrate.dk] has quit []
00:04 < nbaum> _Go_ doesn't have an opinion.  _gofmt_ has the opinion.
00:05 -!- sergio [n=sergio@unaffiliated/sergio] has quit [Remote closed the
connection]
00:05 < WalterMundt> nmichaels: I happen to be very fond of Python, but it's
for reasons that have little to do with its file formatting conventions.
00:05 -!- bgs100 [n=ian@unaffiliated/bgs100] has joined #go-nuts
00:05 <+danderson> that said, gofmt's opinion is the current convention for
Go code, and changing that convention requires to get a patch for gofmt accepted
:)
00:05 <+danderson> (I think this has already happened a couple of times)
00:05 < nmichaels> WalterMundt: So you have seen some files with 100% tabs?
00:05 < nbaum> Hey, it only requires my changing my copy.  :p
00:06 < ehird> nbaum: go's repository mandates calling gofmt beforehand
00:06 < ehird> pretty sure that's as close as damn it you can get to having
an opinion
00:06 < ehird> also, effective go tells you to use gofmt's conventions
00:06 < nmichaels> It's easy to change my copy of gofmt then run the real
gofmt before submitting code to anyone else's eyes.
00:06 * nbaum nods.
00:07 < nbaum> That's what I'd be inclined to do.  Then nobody needs to get
hurt.
00:07 < WalterMundt> nmichaels: I have, once in a while.  It's actually
tolerable, though it requires reconfiguring my editor because my default config is
set up for braindead-mixed-tabs mode that is the status of most files I open from
random sources
00:07 < fgb> nmichaels, I guess that's the whole point on having a gofmt
after all...
00:07 < kuroneko> Ycros: 6cov is demonstrating similar brokeness
00:07 < fgb> so noone bitches about conventions
00:07 < nmichaels> Heck, I could have emacs run fake-gofmt before opening
files and gofmt right before saving them.
00:07 < Ycros> kuroneko: aha!  someone else who's tried it
00:07 < SecretofMana> Has anyone seen the following error?:
00:07 < SecretofMana> cat: /tmp/gotest1-11498-cobuntu: No such file or
directory
00:07 < SecretofMana> fail: fixedbugs/bug188.go
00:07 < Ycros> kuroneko: I just made a post to the list about it
00:07 < SecretofMana> Some guy linked it to not having usr/bin/time
00:07 < SecretofMana> but apparently I do have it
00:08 < SecretofMana> I mean when installing Go, sorry
00:08 < ehird> i think the thing is that gofmt is tailored according to the
structure of go
00:08 < nmichaels> fgb: yeah, it seems sane enough to me
00:08 < ehird> so going against it will make it harder for you to write go
that "flows" naturally
00:08 < nbaum> The Emacs-mode indentation is All Wrong...
00:09 < SecretofMana> It installs for like five minutes, then a bunch of
those errors occur, then eventually I get:
00:09 < SecretofMana> > panic PC=xxx
00:09 < SecretofMana> 0 known bugs; 0 unexpected bugs; test output differs
00:09 < ehird> and indeed, the existence of gofmt and the fact that the
makefiles included make all the decisions for you is very indicative that this is
to avoid holy wars and to have One Standard To Rule Them All
00:09 < blasdelf> Go is the only extant language where all the code is
\t-only
00:09 < ehird> SecretofMana: on os x?  had the same problem when upgrading
to latest -r release
00:09 < ehird> blasdelf: some c code.
00:09 < nmichaels> ehird: Not that anyone has to care what I see, but it's
very hard for me to read code when curly braces don't line up.  Instead of being
lazy, I just fix it while I'm looking at code and un-fix (or fix, depending on
your perspective) it when I'm done looking.
00:09 < bogen> ehird: yeah, I just gave up on fighting with gofmt (it won):
gofmt -w -tabwidth=2 -spaces=true -comments=true
00:09 < blasdelf> don't ruin this exciting possibility for the rest of us
00:09 < ehird> blasdelf: or do you mean nobody has published go code using
spaces
00:10 < ehird> (patently false)
00:10 < SecretofMana> Nope, using andLinux, which is like Ubuntu running
parallel on Windows
00:10 < ehird> the one i saw, though, i promptly told to use gofmt and
happiness was had ;-)
00:10 < chrome> tabwidth 2?  meh
00:10 < bogen> :)
00:10 < nbaum> blasdelf: Actually: http://live.gnome.org/Genie
00:10 -!- lenst [n=user@90-229-131-67-no52.tbcn.telia.com] has quit [Remote closed
the connection]
00:10 < fgb> it's really simple, you press a tab key, you get a \t.
00:11 < jlouis> fgb: if it only it was that simple :)
00:11 < SecretofMana> so I don't really know what's going on =/
00:11 < nbaum> Genie is a bit mental about indentation.  The default is \t,
and you _have_ to use \t or the code is syntactically invalid.
00:11 < ehird> fgb: visions of a humourful, vulgar parody website about how
it's "so fucking simple to use tabs goddamn" fill my mind
00:11 < nbaum> You can change the indentation with a declaration in the
source code.
00:11 < ehird> IN ALL-CAPS
00:11 < nbaum> Horrible, really.
00:12 < kuroneko> Ycros: I hadn't tried it, but I thought I should :)
00:12 < ehird> nbaum: and in those few lines, i instantly know to totally
ignore this language
00:12 -!- tokuhiro_______ [i=tokuhiro@p3129-ipbf6106marunouchi.tokyo.ocn.ne.jp]
has joined #go-nuts
00:12 < blasdelf> ehird: and the example code on their site uses literal
spaces
00:12 -!- tedster [n=tedster@cpe-008051.dhcp008.wadsnet.net] has joined #go-nuts
00:12 < ehird> *g*
00:12 -!- nmichaels [n=nathan@dhcp-0-50-ba-58-39-ed.cpe.townisp.com] has left
#go-nuts []
00:12 < ehird> probably moinmoin doing that.
00:12 < Jerub> I am 100% for requiring one of tabs or spaces and causing the
programmer to recieve an electric shock if they compile code with a mixture of
them used for indentation.
00:13 < ehird> Jerub: [[Also, whenever a programmer thinks, "Hey, skins,
what a cool idea", their computer's speakers should create some sort of
cock-shaped soundwave and plunge it repeatedly through their skulls.]]
00:13 < ehird> i suggest an adaptation of the infamous audio-cock technology
to the mixing of tabs and spaces.
00:13 < nbaum> Oh yes.  Nothing worse than people who use mixed tabs and
have ts=7, or a tab width which varies by the phase of the moon.
00:13 -!- nutate [n=rseymour@204.140.135.15] has quit ["I'm outta heee-eere"]
00:13 < ehird> nbaum: s/tabs .*/tabs./
00:14 < KirkMcDonald> An indentation width which depends on the number of
characters in the keyword which started the block.
00:14 < ehird> i once invented the golden radio indentation system
00:14 < Jerub> ehird: A number of years ago, I came up with twisted.bzzt for
this exact purpose.  Never developed it :/
00:14 < ehird> basically the indent varied on each level according to the
golden ratio
00:14 < ehird> it looked horrible
00:14 < SRabbelier> iant: do you know what the dir avariable in Make.pkg
does?
00:14 < nbaum> I can handle it if they expect tabs to be 8 wide.  At least
my editor can automatically clean up for me.
00:14 < ehird> and i instantly closed the window
00:14 < JAH> can I explicitly suppress the 'imported and not used'
errors/warnings?  i'm debugging some code and have commented a few library calls,
i don't want to have to comment the import call as well
00:14 < SecretofMana> hm, ehird, you mentioned having the same installation
problem when upgrading to the latest release, right?
00:14 < Jerub> Are there any go progammers (who have been using it for more
than a few weeks ;) in australia who are intererested in talking about it as osdc
next week?
00:15 < ehird> SecretofMana: yarrrrrrrrrrr
00:15 < ehird> sorry, turned into a pirate there for a second
00:15 < SecretofMana> how did you fix it?
00:15 < ehird> Jerub: that's nobody apart from the devs, dude
00:15 < SecretofMana> haha no worries
00:15 < ehird> it's been out for, uh, a week?
00:15 < ehird> SecretofMana: i haven'tt yet
00:15 <+iant> Jerub: send a note to the mailing list, there are some
Australian Googlers who have been using it
00:15 -!- s0920704 [n=s0920704@133.51.39.99] has joined #go-nuts
00:15 < ehird> *'t yet
00:15 < SecretofMana> Ah
00:15 < SecretofMana> Alright.
00:15 < Jerub> iant: good idea.  I'll do that now.
00:15 -!- Wiz126 [n=Wiz@72.20.221.54] has quit [Read error: 110 (Connection timed
out)]
00:15 < ehird> nbaum: you know what the *worst* was?  very little
whitespace, so if(foo){, 2-width indent with mixing spaces and 8-width tabs, and
closing } on the same line as the last statement
00:15 -!- s0920704 [n=s0920704@133.51.39.99] has quit [Client Quit]
00:16 < ehird> nbaum: or was it 4-width indent?  i've tried to forget it,
apparently i can only forget that one detail
00:16 < kuroneko> Jerub: I'm probably going to voluntarily give a talk about
it at SLUG this month
00:16 < nbaum> Same line.
00:16 < kuroneko> with my best asbestos underwear on >_>
00:16 < ehird> anyway, it was apparently designed to annoy as many people as
possible
00:16 < SecretofMana> I might just stop using this andLinux thing and switch
to normal Ubuntu on my other partition.  But I don't want to, since I don't want
to have to log out of Windows every time I want to write Go code
00:16 < ehird> which gave me little other than murderous intents
00:16 < ehird> SecretofMana: i suggest not using windows
00:16 < nbaum> I do wonder how some people can actually manage to use their
particular coding style.
00:16 < SecretofMana> but then I don't have Visual Studio
00:16 < ehird> nbaum: emacs and whiskey
00:17 < nbaum> Win win.
00:17 < ehird> SecretofMana: nbaum took the words right out of my mouth
00:17 < SecretofMana> fair enough
00:18 < bogen> grr.....  Go let's one use functions that have not been
declared yet....  I thought it was clean in that regard.  Just saw someones legal
go code that had main in the middle and functions below and above it....  so
wrong....
00:18 <+iant> bogen: that is a feature, not a bug
00:18 < ehird> iant: not such abuse of it!
00:18 < ehird> maybe gofmt should start rearranging your code too
00:18 < ehird> nazifmt
00:19 < bogen> iant: yeah, I know, but it leads to spaghetti organization of
code
00:19 < ehird> next up: there is only one way to do it...  really
00:19 < ehird> who cares if it isn't turing-complete
00:19 * Jerub throws an email at the list.
00:19 < bogen> to allow for things to be used before they have been declared
00:19 < ehird> Jerub: *oof*
00:19 -!- decriptor [n=decripto@137.65.132.18] has quit [Read error: 110
(Connection timed out)]
00:19 < kuroneko> bogen: well, it is trying to displace python and perl -
overlords of spagetti coders everywhere...
00:19 < ehird> you just hit thousands of people wiith that
00:19 < ehird> *with
00:19 < nbaum> Sometimes you need to...  Do that.
00:19 < KirkMcDonald> bogen: Even in C you can have function prototypes and
then organize it however you damned well please.
00:19 < scandal> sumibt a gofmt patch to move all funds before main() :)
00:19 -!- wobsite [n=wobsite_@68-189-250-56.static.oxfr.ma.charter.com] has quit
["Leaving"]
00:20 < bogen> yeah, I figured since Go had no prototypes that it would not
have that problem
00:20 < uriel> ehird: if you enjoy holywars, there are more than enough you
can join in
00:20 < huf> then how would you write mutually recursive functions?
00:20 < KirkMcDonald> bogen: It doesn't have prototypes because they would
be redundant.
00:20 < Ycros> kuroneko: I'm starting to write a bunch of tests, coverage
testing would rock :)
00:20 < nbaum> If it lacked prototypes and that "problem", there would be an
even bigger problem?
00:20 < ehird> uriel: i know right!
00:21 < ehird> uriel: irc is like internet relay flamewar
00:21 < bogen> yeah, only for mutually recursive functions
00:21 < ehird> advanced multi-server technology to relay flamewars
00:21 < KirkMcDonald> Mutually recursive functions need to be possible
somehow.
00:21 * scandal ponders reusing main() recursively since it takes no params
00:21 < kuroneko> ehird: I wouldn't call it advanced.
00:21 < bogen> a function pointer would work
00:21 < ehird> kuroneko: ENTERPRISE
00:21 < penguin42> (Is there a go quine yet?)
00:21 < KirkMcDonald> Oh, a quine.
00:21 < Ycros> kuroneko: hmm, I haven't been to SLUG in aaaages
00:21 < kuroneko> Mutually recursive functions are mandatory - you can't
write recursive descent parsers without it
00:21 < KirkMcDonald> D had the easiest quine ever.
00:21 -!- dddd [n=none@pool-71-190-187-50.nycmny.fios.verizon.net] has joined
#go-nuts
00:21 < KirkMcDonald> But it was basically cheating.
00:22 < drhodes> speaking of function pointers, does go support them?
00:22 < KirkMcDonald> kuroneko: Exactly what I was thinking of.
00:22 < KirkMcDonald> drhodes: Of course.
00:22 -!- getisboy [n=Family@71.174.56.27] has joined #go-nuts
00:22 < Ycros> drhodes: yes, it also has closures
00:22 < jimi_hendrix> what package should i look at for async socket io
00:22 < kuroneko> if you can't write a recursive descent parser, it's just a
toy language!
00:22 < kuroneko> *cough* :)
00:22 < bogen> iant: well, don't take me wrong, I understand that that being
a feature
00:22 < uriel> kuroneko: did you solve the issue with varargs for ffi?
00:23 < kuroneko> uriel: for cgo - and no
00:23 < kuroneko> I haven't started yet
00:23 < kuroneko> my weekend was spent forgetting about work
00:23 < uriel> kuroneko: ah, just wondering
00:23 < kuroneko> rather than hacking on go
00:23 < dddd> any way to make a timeout on net.Dial()?  right now it returns
after 3 minutes if a host a down - i want to make this shorter
00:24 -!- gasreaa [n=atwong@nat/slide/x-dijqftltclshfuru] has left #go-nuts []
00:24 < kuroneko> dddd: do the connect asyncrhonously using a goroutine?
00:24 < jimi_hendrix> anyone?
00:24 < uriel> dddd: currently, i don't think so, but I think there is an
issue about it
00:24 -!- getisboy [n=Family@71.174.56.27] has left #go-nuts []
00:24 < dddd> oh ok, also i did not see asynch anywhere..
00:24 < uriel> dddd: you can run the call to Dial() in a goruoutine though
00:25 -!- bogen [n=bogen@76.186.22.145] has left #go-nuts []
00:25 < kuroneko> dddd: because it's not really async, it's just in it's own
goroutine where it won't block the caller's execution
00:25 < dddd> but no way to kill this goroutine
00:25 < dddd> (before 3 mins)
00:25 < kuroneko> let it time out on its own *shrug*
00:25 < kuroneko> if the parent exits, the goroutine will die too.
00:25 < uriel> dddd: I guess it will eventually timeout, you can let it
be...
00:26 < kuroneko> sorry, s/parent/program/
00:26 < WalterMundt> is there a convenient 1-time "alarm" goroutine/channel
thing in the go standard libs?  i.e.  like time.Ticker but signals once and then
quits?
00:26 < dddd> hm i suppose i can let it be..  just seems like a waste of a
fd =)
00:26 < kuroneko> Ycros: I'm only thinking of giving the go talk because I
enjoy trolling the Python/Java brigade every now and then ;)
00:26 < kuroneko> Ycros: and it's been a while since I gave a talk
00:26 -!- tokuhiro______ [i=tokuhiro@p3195-ipbf2309marunouchi.tokyo.ocn.ne.jp] has
quit [Read error: 110 (Connection timed out)]
00:27 < nbaum> http://pastebin.com/m24f3616b -- A hasty port of a C quine.
00:27 < aninhumer> Ah, goroutines are dependent on their parent function?
00:27 < kuroneko> aninhumer: no!
00:27 < kuroneko> that was me messing up terminology!
00:28 < WalterMundt> yeah, how does that work?  is it "if main() returns,
all other goroutines terminate"?
00:28 < kuroneko> aninhumer: they're depenent on the whole program contining
to execute - if the program exits, the goroutines go down with the ship
00:29 < aninhumer> Hmm, can the garbage collection detect if a goroutine is
no longer relevant?
00:30 < scandal> aninhumer: presumably once it returns from the entrypoint
or calls runtine.Goexit()
00:31 < jabb> best way to wrap C variadic functions?
00:32 < kuroneko> jabb: isn't one yet
00:32 < jabb> no way to wrap yet?
00:32 < kuroneko> no best way
00:33 < jabb> whats the current way?
00:33 < kuroneko> cgo can't handle varargs yet
00:33 -!- RayNbow [i=kirika@scientia.demon.nl] has quit ["When science finally
locates the center of the universe, some people will be surprised to learn they're
not it"]
00:33 -!- cgibreak [n=cgibreak@pool-71-171-137-50.chi01.dsl-w.verizon.net] has
joined #go-nuts
00:33 < kuroneko> so you'll have to provide a stub to remove fixed argument
count interfaces to any varargs functions you want
00:33 < kuroneko> also, try to defer any printf-like operations to fmt
00:34 < kuroneko> err, s/remove/provide/
00:34 < kuroneko> sorry, I'm a bit scattered right now
00:35 < aninhumer> I presume a load of useless sleeping timeout goroutines
have negligible impact on performance?
00:35 < KirkMcDonald> To my mind, the C interface will only really be useful
once we can write C callbacks in Go.
00:35 < ehird> aren't go funcptrs valid c funcptrs?
00:35 < kuroneko> ehird: no.
00:35 < ehird> my world is shattered
00:35 < jimi_hendrix> do the listeners in the net package block?
00:36 < kuroneko> at least, not in the classic compiler
00:36 < KirkMcDonald> ehird: Different callspecs.
00:36 < kuroneko> iant would know better about gccgo
00:36 <+iant> In gccgo they are the same
00:36 < kuroneko> which might be different
00:36 < ehird> pfft who cares about gccgo!
00:36 < nbaum> WalterMundt: http://pastebin.com/m37a9aec2
00:36 < Jerub> yeah, the problem with a FFI goes much deeper than, "can I
call time()".
00:37 < WalterMundt> nbaum: thanks, I know I could write it myself; just
didn't want to do it if it would be irrelevant
00:37 < kuroneko> I seriously want to prod and fix it
00:37 < KirkMcDonald> I want to be able to writing something in Go which can
compile to a .so and be loaded by a C application, for example.
00:37 < nbaum> WalterMundt: Though you could just only receive once and then
throw the channel away?
00:37 < KirkMcDonald> s/writing/write/
00:37 < kuroneko> but the fact I'm not really supposed to be hacking .go
during my daylight hours
00:37 < kuroneko> doesn't help much
00:37 < ehird> iant: you should like gopaste.org in the topic, it's written
in go, has go highlighting and runs gofmt on the pastes (alexsuraci's, not mine)
:)
00:37 < penguin42> Is there any reasoning why go didn#t just use elf?
00:37 < kuroneko> [that said, it didn't stop me last week, but only because
it was too new and shiny to resist ;) ]
00:37 < nbaum> Unless it ticks so frequently that the it'd be wasting a lot
of CPU time before the GC picks it off.
00:38 < WalterMundt> nbaum: just having an "alarm" primitive is useful for
doing select-with-timeout
00:38 < ehird> bit blargh reading the tiny text with a bunch of cruft on
pastebin.com :p
00:38 < nbaum> s/the//
00:38 < kuroneko> penguin42: it does use elf.
00:38 < kuroneko> it doesn't use the C call conventions from the ABI
00:38 < ehird> penguin42: speed, plan 9 toolchain.
00:38 < kuroneko> and that's mostly because of the heritage of the plan9
toolchain
00:38 -!- bogen [n=bogen@76.186.22.145] has joined #go-nuts
00:38 < me___> penguin42: go does use ELF.
00:38 < penguin42> kuroneko: the .6 files etc aren't though
00:38 < WalterMundt> you could work around the lack of funcptrs in cgo by
writing a C thunk, at least for libs that let you pass a baton
00:38 < me___> correct.  the linkers do codegen.
00:38 < kuroneko> penguin42: because the plan9 toolchain doesn't work the
same way as the classic unix/C compilers do
00:39 < WalterMundt> or at least, I think you could...
00:39 < kuroneko> penguin42: the .6 is more a binary assembly description
than an object
00:39 < jimi_hendrix> anyone?
00:39 < penguin42> kuroneko: OK
00:39 -!- path__ [n=path@115.240.126.219] has quit [Operation timed out]
00:39 < kuroneko> the loader does all the linking and code generation
00:39 < kuroneko> as well as instruction scheduling
00:40 -!- bogen [n=bogen@76.186.22.145] has left #go-nuts []
00:40 < me___> it has some cool implications - you don't need profiling
versions of libraries, for example.  the linkers can insert profin/profout to
anything in call entry/exits
00:40 < kuroneko> the instruction scheduling is actually really awesome.
00:41 -!- gkmngrgn [n=gkmngrgn@unaffiliated/gkmngrgn] has quit ["Leaving"]
00:41 -!- ineol [n=hal@mar75-9-88-171-191-168.fbx.proxad.net] has quit []
00:41 < penguin42> can you do dynamic linking?
00:41 < kuroneko> if you're writing asm for the plan9 assembler which works
in the same toolchain, you can ignore scheduling rules
00:41 < aninhumer> Hmm, what happens if the Alarm tries to put the value
into the channel after something using it as a timeout has already disregarded it?
Does it just sit and wait forever?
00:41 < kuroneko> and just write linearly, and the loader will work it out
and fix it for you
00:42 < kuroneko> utilising delay slots, etc
00:42 < jimi_hendrix> nobody knows if the net listeners block or not
00:42 < me___> also, the p9 assemblers have pseudovariables which are nice.
00:42 < nbaum> jimi_hendrix: net.Listen() doesn't block.
00:42 -!- Cyprien [n=Cyprien@23-120.107-92.cust.bluewin.ch] has quit [Read error:
110 (Connection timed out)]
00:42 -!- KillerX [n=anant@gentoo/developer/KillerX] has quit ["Leaving."]
00:43 < kuroneko> and there's only dynamic linking against system/C
libraries, not against go-code.
00:43 < kuroneko> and that's only really for cgo's benefit
00:43 -!- KillerX [n=anant@145-116-234-40.uilenstede.casema.nl] has joined
#go-nuts
00:43 < ehird> dynamic linking sucks anyway :)
00:43 < kuroneko> dynamic linking actually does complicate matters horribly,
but it would be nice if it worked :)
00:43 < jimi_hendrix> nbaum, thank you
00:43 < WalterMundt> aninhumer: well, an Alarm could just use the
non-blocking channel send; if nothing's waiting it just exits without alarm'ing.
Alternatively, use a 1-buffer channel if you want the alarm signal to wait for a
routine to read it
00:44 < ehird> dynamic linking never works in practice, just downsides...
00:44 -!- Garibald1 [n=adalton@173-16-117-14.client.mchsi.com] has joined #go-nuts
00:44 < kuroneko> ehird: you're not related to uriel, are you?  :P
00:44 < ehird> no :P
00:44 < kuroneko> I wouldn't go that far - it's problematic
00:45 < ehird> problematic and not adding any benefits in practice...  that
sounds like a reasonable definition of "bad" to me
00:45 < WalterMundt> yeah, I'd say it works in practice, unless little
things like the Linux userland are to be construed as "not working"
00:45 < kuroneko> dynamically linked libc works fine, as long as nobody does
something stupid and change the prototypes
00:45 < me___> erm, not fair to it.  there is a lot of complexity associated
with it.  also, try to be careful to distinguish dynamic linking and dynamic
loading
00:45 < ehird> WalterMundt: it certainly doesn't work for its supposed
advantages over static linking!
00:45 < ehird> — let's not have this flamewar.  how about we agree you are
all wrong :)
00:45 < kuroneko> ehird: actually, it does.
00:45 < me___> ehird: yours binaries aren't the size of small cities?
00:45 < kuroneko> size is not the issue
00:45 < ehird> me___: that's more glibc's fault.  but seriously, no, this is
not going to be productive
00:45 < kuroneko> maintainability generally is in binary only environments
00:46 < kuroneko> static linking was the death of ultrix
00:46 -!- kmc [n=keegan@206-71-236-70.c3-0.nyw-ubr5.nyr-nyw.ny.cable.rcn.com] has
quit [Read error: 104 (Connection reset by peer)]
00:46 -!- kmc [n=keegan@206-71-236-70.c3-0.nyw-ubr5.nyr-nyw.ny.cable.rcn.com] has
joined #go-nuts
00:46 < kuroneko> whereas all the dynamically linked unixen could update
their libcs to have fixed time functions
00:46 < nbaum> jimi_hendrix: Accept always blocks, it seems.
00:46 < kuroneko> without forcing everybody to recompile everything.
00:46 < ehird> have you seen how many old versions of functions glibc
includes?
00:46 < ehird> it's insane
00:46 < ehird> and with the amount of abi changes...
00:47 < kuroneko> but glibc is a special case
00:47 -!- LaSaRuX [n=pedro@184.Red-83-50-170.dynamicIP.rima-tde.net] has quit
[Read error: 104 (Connection reset by peer)]
00:47 < jimi_hendrix> nbaum, well how can i do async io?
00:47 < nbaum> goroutines!
00:47 < ehird> kuroneko: funny, because i seem to recall it being used as an
example seconds ago
00:47 < kuroneko> but I hardly consider the GNU's attrocities towards unix
to be adequate cause to say dynamic linking/dynamic libraries don't work
00:47 < ehird> [00:45] kuroneko: dynamically linked libc works fine, as long
as nobody does something stupid and change the prototypes
00:47 < ehird> kuroneko: i totally agree.
00:47 < kuroneko> ehird: no, I said libc
00:47 < kuroneko> not glibc
00:47 < ehird> this discussion isn't appropriate here, anyway
00:47 < kuroneko> glibc is not the only libc
00:48 < ehird> rest assured that my reasoning to reject dynamic linking was
not glibc-centric
00:48 < kuroneko> there are nicer, smaller, more interface stable libcs
about
00:48 < jessta> currently static linking is the way go needs to be
00:48 < jessta> being experimental
00:48 < kuroneko> anyway, static linking is significantly simpler
00:49 < ehird> jessta: I am 99% certain it was a design decision
00:49 < ehird> plan 9 has no dynamic linking and this is deliberate
00:49 < WalterMundt> that's disapponting
00:50 < ehird> no, it's a relief :P
00:50 < jessta> yeah, because dynamic linking is more trouble than it's
worth
00:50 < kuroneko> ehird: and I personally think that's a short sighted
long-term decision, but as a research OS, it does make sense.
00:50 < me___> it does have libdynld, actually.
00:50 < aninhumer> How do you do a non-blocking channel send?  (unbuffered)
00:50 < me___> just that its used sparing.
00:50 < me___> *sparingly.
00:50 < ehird> kuroneko: well I'd love to debate static/dynamic linking but
not over irc
00:50 < ehird> and not in #go-nuts.
00:50 < ehird> so, yeah, other topics
00:51 < KirkMcDonald> aninhumer: Whether the channel is buffered is
orthogonal to performing a non-blocking send on it.
00:52 -!- kota1111 [n=kota1111@gw2.kbmj.jp] has joined #go-nuts
00:52 < aninhumer> Okay, so how do I do one?
00:53 -!- Jan_Flanders_ [n=chatzill@d54C1E33B.access.telenet.be] has quit [Read
error: 60 (Operation timed out)]
00:53 < jessta> aninhumer: make it buffered
00:53 < Ycros> WTB dlopen :P
00:53 < KirkMcDonald> aninhumer: ok := ch < value;
00:53 < KirkMcDonald> Er.
00:53 < KirkMcDonald> aninhumer: ok := ch <- value;
00:54 < KirkMcDonald> Missed the -
00:54 -!- Venom_X [n=pjacobs@cpe-67-9-131-167.austin.res.rr.com] has quit []
00:54 < KirkMcDonald> "If the send operation appears in an expression
context, the value of the expression is a boolean and the operation is
non-blocking."
00:55 -!- Garibaldi [n=adalton@173-16-117-14.client.mchsi.com] has quit [Success]
00:55 < aninhumer> Ah okay, thanks
00:55 -!- andern [n=NA@55.84-234-230.customer.lyse.net] has quit [Remote closed
the connection]
00:56 -!- itrekkie [n=itrekkie@ip72-200-108-156.tc.ph.cox.net] has quit []
00:56 -!- aninhumer
[n=aninhume@client-81-105-73-94.lds-bng-011.adsl.virginmedia.net] has quit
["Ex-Chat"]
00:57 -!- tetha [n=hk@pD950EB17.dip.t-dialin.net] has quit [Nick collision from
services.]
00:57 -!- tetha [n=hk@pD9EE68B4.dip.t-dialin.net] has joined #go-nuts
00:58 -!- rbohn_ [n=rbohn@192.206.100.4] has quit ["ChatZilla 0.9.85 [Firefox
3.0.15/2009101601]"]
01:00 -!- Lorthirk [n=cm0901@109.112.51.123] has quit [Read error: 60 (Operation
timed out)]
01:00 < jimi_hendrix> nbaum, so it only blocks one thread?
01:01 -!- Jan_Flanders_ [n=chatzill@d54C1E33B.access.telenet.be] has joined
#go-nuts
01:01 -!- andern [n=NA@55.84-234-230.customer.lyse.net] has joined #go-nuts
01:01 -!- Jan_Flanders_ is now known as Jan_Flanders
01:03 < nbaum> Thread is a bit ambiguous.  As I understand it, there are
multiple goroutines to an OS thread, with 6c.  It should only block one goroutine.
Somebody on the channel hinted that if a goroutine blocks, it is moved into a
blocking thread so it doesn't disrupt other goroutines which are ready to run.  I
haven't tested that, but it sounds quite likely.
01:05 -!- Lorthirk [n=cm0901@109.112.51.123] has joined #go-nuts
01:06 < jimi_hendrix> ok
01:06 -!- sliceofpi [n=Adium@c-98-201-178-27.hsd1.tx.comcast.net] has joined
#go-nuts
01:06 -!- AAABeef [n=wdevauld@smtp.pason.com] has quit []
01:06 -!- dragon3 [n=dragon3@122.208.75.82] has joined #go-nuts
01:06 < jimi_hendrix> nbaum, and if a function returns two things, but i
only do: foo := theFunc(), what happens?
01:06 < KirkMcDonald> jimi_hendrix: I do believe that it an error.
01:06 < uriel> jimi_hendrix: that wont compile
01:06 < KirkMcDonald> is an*
01:07 < uriel> jimi_hendrix: if you want to ignore one returned value, use _
01:08 < jimi_hendrix> ok
01:08 < jimi_hendrix> thanks
01:10 < jimi_hendrix> and why is this syntax erroring: listener, _ :=
net.ListenTCP("tcp", addr)
01:10 < jimi_hendrix> (says its by listener)
01:11 -!- dragon3 [n=dragon3@122.208.75.82] has left #go-nuts []
01:11 -!- triplez [n=triplez@cm52.sigma225.maxonline.com.sg] has quit []
01:12 < KirkMcDonald> Missing any semicolons?
01:14 -!- delza [n=delza@209-52-232-202.vlan452.static.ucc-net.ca] has quit []
01:15 < uriel> argh!  why people keep using ListenTCP!  Use Listen() damn
it!
01:15 < uriel> how much do people love to tie their code to their transport
protocols for no reason at all!  *sigh*
01:16 < uriel> (I blame sockets are their totally retarded api for
brainwashing everyone into thinking all networking code needs to be protocol
speicific)
01:16 < Jerub> yeah, this is the problemw ith twisted and ipv6.  the apis
are all tcp/ip specific so it limits you to ipv4.
01:16 -!- happypolla [n=happypol@CPE-58-174-145-43.mjcz1.woo.bigpond.net.au] has
joined #go-nuts
01:17 < uriel> Jerub: exactly, in plan9 (from where the Dial/Listen api
comes from) no apps had to be modified at all to support ipv6!
01:17 -!- lambo4jos [n=chatzill@c-76-126-250-10.hsd1.ca.comcast.net] has quit
["ChatZilla 0.9.85 [Firefox 3.5.5/20091102152451]"]
01:17 < uriel> Jerub: they use dial/listen, and they don't care what kind of
address or transport protocol you use to setup the connection as long as they can
read() and write() from it
01:18 -!- penguin42 [n=dg@tu006.demon.co.uk] has quit [Read error: 113 (No route
to host)]
01:18 < uriel> (this also allows many cool things, like importing a remote
network stack, to access a remote network, perhaps running a protocol your OS
doesn't even support)
01:19 < uriel> (and your apps don't even notice)
01:19 < Jerub> uriel: simply using the right posix functions is all that's
required to do this in C.
01:19 < Jerub> i immediately stop and review code when i see AF_INET
anywhere these days.
01:19 < uriel> Jerub: I'm not so sure, I never heard of any posix app that
needed no changes to do ipv6
01:20 < Jerub> uriel: you just have to start the story with getaddrinfo.
01:20 < uriel> Jerub: really, if it was so simple, how is it that *nobody*
does it?  and still I doubt that can be made to work with other kinds of non-ip or
non-tcp transports..
01:21 < KirkMcDonald> It's for the same reason that encodings and code pages
are so frequently screwed up.
01:21 -!- jharrys [n=de043124@c-71-195-253-55.hsd1.ut.comcast.net] has joined
#go-nuts
01:21 < Jerub> well, provided it's supporte dby the posix api (i.e.
getaddrinfo can return a usable family, socktype, protocol and address) then it's
possible.
01:22 < jimi_hendrix> uriel, ok, will use listen, but whats the error?
01:22 < Jerub> if you're doing something that ignores the posix api for
opening sockets, then you're on your own in so many ways.
01:24 -!- sjbrown [n=sjbrown@64.125.181.72] has joined #go-nuts
01:26 -!- Chaze [n=Chase@dslb-094-219-221-200.pools.arcor-ip.net] has quit []
01:29 < ehird> jimi_hendrix: add a semicolon on the previous line
01:29 < ehird> Jerub: i guess 90% of everyone is on their own in so many
ways
01:29 < ehird> i have no doubt posix managed to make it 10x more complex
than it needed to be anyway
01:29 < ehird> (although admittedly probably less complex than berkeley
sockets)
01:29 < jabb> how do I pass a Go equivalent to "char *" to a C function?
01:30 < jimi_hendrix> ehird, arnt semicolons optional?
01:30 -!- turutosiya [n=turutosi@219.106.251.65] has joined #go-nuts
01:30 < uriel> Jerub: I disagree, PoSix is the problem, not the solution
01:31 * ehird wonders where "PoSix" came from
01:31 < ehird> piece of six!
01:31 < Ycros> jimi_hendrix: no, only on the last line in a block - because
the semicolons in go are separators not terminators
01:31 < ehird> it's slightly less valuable than a piece of eight
01:31 < jimi_hendrix> no, slightly more
01:31 < jimi_hendrix> 1/6 > 1/8
01:32 < insane_coder> ehird: just rember than sin(x)/n == 6
01:32 < ehird> jimi_hendrix: erm, duh
01:32 < ehird> >_<
01:32 < ehird> aaaaaaanyway
01:34 -!- triplez [n=triplez@bb116-14-29-6.singnet.com.sg] has joined #go-nuts
01:34 -!- nickgibbon [n=nring@210.8.201.244] has quit ["Leaving."]
01:35 < jgoebel> so anyone writing anything cool with go?
01:36 < ehird> who isn't
01:36 < Jerub> uriel, ehird: I agree posix is certainly a problem, and part
of that problem is people using the wrong apis.
01:36 < jgoebel> any public projects to be contributed to?
01:36 < ehird> if posix is right, i don't want to be...  uh...  posix
01:36 -!- dinx [n=gentoo@CPE-58-175-97-189.vic.bigpond.net.au] has joined #go-nuts
01:36 < insane_coder> The problem with POSIX is that certain APIs don't seem
to be fully thought out and you have "missing functions"
01:37 -!- strohman [n=strohman@216.239.45.130] has joined #go-nuts
01:37 < Jerub> async networking with posix apis is basically impossible to
do correctly unless you're cribbing off someone who's done it correctly.
01:37 -!- mbarkhau [n=koloss@p54A7EBC7.dip.t-dialin.net] has quit [Connection
timed out]
01:37 < ehird> I think it's not so much missing functions as failing to
design simply and properly has caused POSIX to be a bloated mass without simple,
generic interfaces.
01:37 < jgoebel> can anyone commit to mercurial for review?
01:37 < jgoebel> how does this work?
01:37 < ehird> jgoebel: it submits to codereview.appspot.com
01:37 < ehird> it is reviewed by rsc or someone
01:38 -!- djanderson [n=dja@hltncable.pioneerbroadband.net] has joined #go-nuts
01:38 < ehird> then it may be committed
01:38 -!- Zaba_ [n=zaba@about/goats/billygoat/zaba] has joined #go-nuts
01:38 < ehird> s/ $//
01:38 < ehird> you can also update your patch in response to feedback.
01:38 -!- loureiro [n=loureiro@201008196167.user.veloxzone.com.br] has joined
#go-nuts
01:38 -!- jharrys [n=de043124@c-71-195-253-55.hsd1.ut.comcast.net] has quit
["Leaving."]
01:39 < insane_coder> Well I'd like to say something not nice about some of
the password related POSIX APIs, but the person who came up with them is probably
sitting in this channel
01:39 < ehird> what makes you so sure of that
01:39 -!- jharrys [n=de043124@c-71-195-253-55.hsd1.ut.comcast.net] has joined
#go-nuts
01:39 < insane_coder> ehird: who isn't in this channel?
01:39 < ehird> *g*
01:40 < ehird> (unless you mean posix to mean unix in general)
01:40 < insane_coder> no, I mean functions specifically in the POSIX
standard, some recently just got there too
01:40 < insane_coder> it really urks me that the new *at() API is only 2/3
done
01:40 < blasdelf> AFAIK none of [ken, dmr, bwk] have visited this fair
channel
01:41 < ehird> hopefully they have a thick skin already, being totally crazy
01:41 < ehird> blasdelf: i don't think they added any apis to posix...
01:41 < insane_coder> blasdelf: you don't know that for certain ;)
01:41 < blasdelf> ehird: but they wrote the original unix ones in the first
place
01:41 < insane_coder> Mr. Pike was in this channel on Thursday
01:41 < ehird> blasdelf: he's talking about a posix addition.
01:41 < me___> afaik, dmr doesn't work on go?
01:42 < blasdelf> insane_coder: yes, which is why I left him off my list
01:42 < ehird> no you didn't
01:42 < ehird> "AAFAIK none of [ken, dmr, bwk]"
01:42 -!- Zaba [n=zaba@about/goats/billygoat/zaba] has quit [Read error: 145
(Connection timed out)]
01:42 < ehird> *AFAIK
01:42 -!- mejja [n=user@c-49b6e555.023-82-73746f38.cust.bredbandsbolaget.se] has
joined #go-nuts
01:42 < ehird> insane_coder: re mr pike - "Tally ho, Mr. Pike!"
01:42 -!- serdar__ [n=serdar@dslb-084-060-212-098.pools.arcor-ip.net] has joined
#go-nuts
01:42 < ehird> *monocle*
01:43 -!- serdar_ [n=serdar@dslb-084-060-204-054.pools.arcor-ip.net] has quit
[Read error: 110 (Connection timed out)]
01:43 < blasdelf> ehird: "Rob Pike" is not in the set {"Ken Thompson,
01:43 < ehird> oh
01:43 < ehird> thought you responded to me___
01:43 < blasdelf> "Dennis Ritchie", "Brian Kernighan"}
01:43 < insane_coder> Ken doesn't trust anybody, so he's probably under this
channel under a different name
01:43 < ehird> anyway pike being here means that it's more likely
ken/dmr/bwk would come i think
01:44 < ehird> but pike is much less old, bearded guard i'd say :P
01:44 -!- jharrys [n=de043124@c-71-195-253-55.hsd1.ut.comcast.net] has quit
[Client Quit]
01:44 < blasdelf> and rsc is whippersnappier still
01:44 < ehird> probably we'll hear news about a talk(1) room for go
01:44 < insane_coder> ehird: true, he lacks the scruffy beard and
suspenders, but he can give you a nickel for a new computer with the best of them
01:44 < ehird> from ken
01:44 -!- mitchellh [n=mitchell@c-71-231-140-22.hsd1.wa.comcast.net] has quit
["Leaving."]
01:44 -!- triplez [n=triplez@bb116-14-29-6.singnet.com.sg] has quit []
01:44 < ehird> because he couldn't be bothered to figure out how to work irc
:D
01:44 -!- levicook [n=levicook@66-188-117-206.dhcp.mdsn.wi.charter.com] has joined
#go-nuts
01:45 -!- jharrys [n=de043124@c-71-195-253-55.hsd1.ut.comcast.net] has joined
#go-nuts
01:45 -!- triplez [n=triplez@bb116-14-29-6.singnet.com.sg] has joined #go-nuts
01:46 -!- andern [n=NA@55.84-234-230.customer.lyse.net] has quit [Read error: 60
(Operation timed out)]
01:47 -!- serdar__ [n=serdar@dslb-084-060-212-098.pools.arcor-ip.net] has quit
[Read error: 60 (Operation timed out)]
01:50 -!- sjbrown [n=sjbrown@64.125.181.72] has quit [Read error: 110 (Connection
timed out)]
01:51 -!- dddd [n=none@pool-71-190-187-50.nycmny.fios.verizon.net] has quit ["dddd
has no reason"]
01:52 -!- dinx [n=gentoo@CPE-58-175-97-189.vic.bigpond.net.au] has quit
["Leaving"]
01:52 -!- ericmoritz\0 [n=ericmori@c-76-123-248-214.hsd1.tn.comcast.net] has
joined #go-nuts
01:55 < jimi_hendrix> how would i get a resizeable list?
01:56 -!- andern [n=NA@55.84-234-230.customer.lyse.net] has joined #go-nuts
01:56 -!- dinx [n=gentoo@CPE-58-175-97-189.vic.bigpond.net.au] has joined #go-nuts
01:56 -!- alphazero [n=alphazer@ip68-106-96-239.dc.dc.cox.net] has joined #go-nuts
01:56 -!- JAH [n=jeff@ip70-174-143-177.dc.dc.cox.net] has quit [Read error: 60
(Operation timed out)]
01:57 < scandal> jimi_hendrix: container/list ?
01:57 -!- robertpateii [n=robertpa@207-114-244-5.static.twtelecom.net] has quit
["Leaving."]
01:57 -!- me___ [n=venkates@c-68-55-179-48.hsd1.md.comcast.net] has quit
["leaving"]
01:58 < jimi_hendrix> scandal, like a vector in C++ or a list in a scripting
language
01:58 < scandal> jimi_hendrix: container/vector
01:58 < alphazero> Hi all.  Is there any way to provide timeout semantics on
methods that rely on inter-goroutine communications (besides channels)?
sync.Mutex doesn't seem to allow for time outs.  Any ideas?
02:00 < alphazero> Basically, is a randezvous (1 item) channel the only way
to go and how expensive is it if you need to create a huge of these channels?
02:00 -!- General13372 [n=support@71.84.247.187] has joined #go-nuts
02:01 -!- paulca [n=paul@89.100.39.244] has quit []
02:01 -!- jharrys [n=de043124@c-71-195-253-55.hsd1.ut.comcast.net] has quit [Read
error: 60 (Operation timed out)]
02:01 -!- awishformore [n=awishfor@78.141.152.48] has quit [Read error: 110
(Connection timed out)]
02:02 < uriel> alphazero: if you want timeouts in inter-goroutines, use
select to listen on multiple channels
02:02 < uriel> and have a goroutine send a message when you want the timeout
to happen
02:02 < jimi_hendrix> scandal, thanks
02:02 < jimi_hendrix> oh, and is there any pastebin with go syntax
highlights (want to show some code to a friend)
02:03 -!- levicook [n=levicook@66-188-117-206.dhcp.mdsn.wi.charter.com] has quit
[]
02:03 -!- serdar__ [n=serdar@84.60.213.51] has joined #go-nuts
02:03 < scandal> gopaste.org
02:03 < jimi_hendrix> ooh
02:03 < jimi_hendrix> scandal, wait, theres no generics?
02:03 < scandal> jimi_hendrix: nope :(
02:04 < blasdelf> jimi_hendrix: only the builtin array and map types can be
parametric
02:04 -!- jharrys [n=de043124@c-71-195-253-55.hsd1.ut.comcast.net] has joined
#go-nuts
02:04 < scandal> jimi_hendrix: you can use IntVector or StringVector or
cut&paste if you need other tyes
02:05 < ehird> or interface {} >:D
02:05 < ehird> generics may be added sometime
02:05 < jimi_hendrix> how would i use interface {}
02:05 < ehird> jimi_hendrix: it's basically like void* + casting at runtime
02:05 * jimi_hendrix wants a vim theme for gopaste.org highlight colors
02:05 < ehird> (except safe, but slower)
02:05 < ehird> it's from a textmate theme i think.
02:05 < ehird> Vector uses it, anyway
02:05 < ehird> emr
02:05 < ehird> interface {} that is
02:05 < ehird> *erm
02:05 < jimi_hendrix> we all know vim is better :)
02:06 < ehird> i was just trying to point you in the right direction.
02:06 < alphazero> uriel: why multiple channels?
02:06 -!- JordiGH [n=jordi@unaffiliated/jordigh] has joined #go-nuts
02:06 -!- trvbldn [n=trvbldn@c-98-218-95-154.hsd1.dc.comcast.net] has joined
#go-nuts
02:06 < jabb> how can you convert Go strings (or arrays) into "char *" for
calling C functions?
02:06 < ehird> jabb: cgo does it for yoou
02:06 < ehird> *you
02:07 < ehird> []byte
02:07 < ehird> =
02:07 < ehird> []uint8 = []C.char
02:07 < ehird> at least iicr
02:07 < ehird> *iirc, damn kb
02:07 < KirkMcDonald> And the null byte?
02:07 < jabb> I tried &str[0] :P
02:07 < alphazero> sorry didn't see the 2nd comment.  so the other goroutine
sleeps and then signals?
02:07 -!- ehird [n=ehird@91.105.112.3] has quit []
02:07 < dho> so
02:07 < dho> freebsd now passes all tests.
02:07 < KirkMcDonald> dho: Nice.
02:07 < dho> reppie: poke
02:07 < JordiGH> So what's happening with issue 9?
02:07 < jabb> "cannot use capt (type []uint8) as type *_C_cha"
02:07 < dho> JordiGH: probably teh same thing that happened when the D guys
tried to sue sun
02:08 < dho> which was `nothing'
02:08 < KirkMcDonald> Go strings are not guaranteed to be null-terminated.
02:08 < KirkMcDonald> Converting to a char* implies copying the string.
02:08 < JordiGH> dho: D tried to sue Sun?
02:08 < blasdelf> over DTrace's scripting language?
02:09 < dho> yeah.
02:09 < dho> sun came back with ``you can't trademark a letter.''
02:09 < KirkMcDonald> dho: I don't remember this.
02:09 -!- WalterMundt [n=waltermu@twiki/developer/EtherMage] has left #go-nuts []
02:09 < dho> it probably wasn't made very large.
02:10 < dho> bryan cantrill was telling me about it in 2005
02:10 -!- strohman_ [n=strohman@adsl-71-135-96-124.dsl.pltn13.pacbell.net] has
joined #go-nuts
02:10 < JordiGH> Trademarks be damned, it's a crappy name.  Issue 9 is cool
and funny and interesting.  :-/
02:10 < KirkMcDonald> dho: Would "the D guys" in this context refer to
Digital Mars?
02:11 < dho> yeah, that's them
02:11 < dho> > hg diff | wc -l 4348
02:11 -!- Garibald1 [n=adalton@173-16-117-14.client.mchsi.com] has quit [Remote
closed the connection]
02:11 < KirkMcDonald> dho: (Which is to say, Walter Bright?)
02:11 < JordiGH> Oh well.  I guess it's gonna be named after my board game
and "considered harmful".
02:11 -!- strohman [n=strohman@216.239.45.130] has quit [Read error: 110
(Connection timed out)]
02:11 -!- strohman_ is now known as strohman
02:11 < JordiGH> my favourite board game
02:11 -!- Garibaldi [n=adalton@173-16-117-14.client.mchsi.com] has joined #go-nuts
02:11 < dho> i don't know anything about D
02:11 < dho> i worked on the dtrace to freebsd port once upon a time
02:11 < dho> when i was living in san jose
02:11 < dho> so i hung out with the sun oseng guys a lot
02:12 < KirkMcDonald> And I was involved in the D community for a time.
02:12 -!- strohman_ [n=strohman@216.239.45.130] has joined #go-nuts
02:12 < Ycros> JordiGH: go is fine, we're too busy writing code at the
moment to worry about names ;)
02:12 < JordiGH> Google hasn't made a statement in issue 9, have they?
02:12 < JordiGH> I guess they'll just let it quietly die away.
02:13 < Ycros> JordiGH: no, my guess is they're discussing it internally and
have agreed not to say anything to the public until an internal decision has been
made
02:13 -!- sladegen [n=nemo@unaffiliated/sladegen] has joined #go-nuts
02:14 < sladegen> eehaa!
02:14 < jimi_hendrix> could i use a list of ints to store the addresses of
pointers, thus creating a mini-generic
02:14 < KirkMcDonald> jimi_hendrix: A list of interface{}s would work
better.
02:14 -!- gri [n=gri@nat/google/x-rhclnqliawkpsvlo] has joined #go-nuts
02:14 * jimi_hendrix goes to reread that section
02:15 < JordiGH> So, I kinda skimmed the blurb and introduction, and I
didn't get it.  Why is this language interesting?  What is it trying to fix that
other languages do incorrectly?
02:15 < JordiGH> What is it meant to be used for?
02:15 < KirkMcDonald> Either way, you need to unbox the values when you pull
them out.
02:15 < KirkMcDonald> JordiGH: interface{} is sort of like a void* in C, or
perhaps an Object reference in Java.
02:15 < Jerub> JordiGH: easy concurrency, nonsuck string handling, reasonble
built in types.
02:15 < sladegen> world domination!
02:15 < uriel> alphazero: you need a goroutine to notify when the timeout
happens, and then the gorroutine that receives the timeout needs a way to listen
on whatever channel you want, plus be able to get the timeout notification
02:15 < JordiGH> Jerub: Built-in thread handling?  Hm.
02:16 < KirkMcDonald> (Except an interface{} can refer to any type.)
02:16 < JordiGH> Does it have reflection?
02:16 < Ycros> jimi_hendrix: please don't use ints to store pointers
02:16 < Jerub> JordiGH: no, i said concurrency.  it's more complicated than
thread handling.
02:16 < KirkMcDonald> JordiGH: Very much so.
02:16 < uriel> JordiGH: yes, it has refelction
02:16 -!- Garibaldi [n=adalton@173-16-117-14.client.mchsi.com] has quit [Remote
closed the connection]
02:16 < jimi_hendrix> Ycros, it sounded crazy to me :)
02:16 -!- Garibaldi [n=adalton@173-16-117-14.client.mchsi.com] has joined #go-nuts
02:16 < JordiGH> Ok.
02:16 -!- foobab [n=foobab@mail.vmr.no] has joined #go-nuts
02:16 * jimi_hendrix isnt quite getting how to use interface {}
02:17 < sladegen> refalcitasion
02:17 < jimi_hendrix> the tutorial just mentions it once
02:17 < KirkMcDonald> JordiGH: x := 12; var i interface{}; i = x;
02:17 < KirkMcDonald> Er.
02:17 < KirkMcDonald> jimi_hendrix: ^
02:17 < KirkMcDonald> jimi_hendrix: To get the int back out: i.(int)
02:17 < JordiGH> KirkMcDonald: Eh? That's more than C++0x's "auto i = x",
right?
02:17 < foobab> Has anyone tried this:
http://github.com/thoj/Go-MySQL-Client-Library
02:17 < alphazero> uriel.  Thanks.  maybe I'm being dense but why can't i
can just do a _,ok := <-mychan; if !ok { time.Sleep(timeout); if _,finaltry :=
<-mychan; if !finaltry { return to_err;}
02:17 < uriel> I have started to collect links to library bindings people
has written so far: http://go-lang.cat-v.org/library-bindings
02:17 < sladegen> so interfaces are type pointers?!?!
02:18 < KirkMcDonald> JordiGH: 'i' is a variable whose static type is
interface{}.
02:18 < uriel> if anyone knows of other bindings, please let me know and I
will add them to the list
02:18 < jimi_hendrix> KirkMcDonald, ohh
02:18 < KirkMcDonald> JordiGH: It can refer to any kind of thing.
02:18 -!- agl [n=agl@72.14.229.81] has joined #go-nuts
02:18 -!- mode/#go-nuts [+v agl] by ChanServ
02:18 < dho> hey uriel
02:18 -!- General1337 [n=support@71-84-247-187.dhcp.gldl.ca.charter.com] has quit
[Read error: 110 (Connection timed out)]
02:18 < uriel> alphazero: no because reading from the chan blocks
02:18 < uriel> hey dho
02:18 < dho> freebsd 100% ;)
02:18 < jimi_hendrix> KirkMcDonald, then just how do i make a container of
interface{}'s
02:18 < JordiGH> KirkMcDonald: aha.
02:18 < uriel> dho: awesome
02:18 -!- tcpip4000 [n=fulano@dsl-emcali-190.99.193.179.emcali.net.co] has joined
#go-nuts
02:18 < KirkMcDonald> Talking to two different 'j' names is confusing me, I
think.
02:18 -!- JAH [n=jeff@ip70-174-143-177.dc.dc.cox.net] has joined #go-nuts
02:18 < dho> uriel: now you can't say you've never seen my code :P
02:19 < alphazero> uriel.  Not according to lang specs.  If used in an
assignment expression reads off a channel are non-blocking.
02:19 < KirkMcDonald> jimi_hendrix: []interface{} // a slice of interface{}s
02:19 < dho> though russ was extremely crucial
02:19 < uriel> dho: I seen some of your code before, packet filter, 9vx
/net, ..
02:19 < uriel> dho: russ is always crucial
02:19 < dho> yeah but it never got finished
02:19 < alphazero>
http://golang.org/doc/go_spec.html#Communication_operators
02:19 < dho> dynloading still doesn't work in freebsd
02:19 < jimi_hendrix> KirkMcDonald, right...
02:19 < dho> but it won't until i instrument imgact_elf
02:20 < uriel> alphazero: ok, well, but that is not a timeout, that is just
trying twice, which is fine, but it is not the same thing
02:20 <+agl> alphazero: reads from a channel are blocking unless you assign
to two variables.
02:20 -!- cablehead [n=Adium@nat/slide/x-jojzgttfvrttzqbr] has quit ["Leaving."]
02:20 <+agl> alphazero: (I don't know if that's helpful, I'm missing the
context, but I'm waiting for a compile :)
02:20 < uriel> if you try to read from the channel once, then sleep, and
then try again, if the first time fails, you will sleep for nothing
02:20 < KirkMcDonald> Waiting for a compile?  With Go?!
02:20 < uriel> if you use select, you will get either what comes down the
channel, or the timeout, whatever happens first
02:21 <+agl> KirkMcDonald: No, with C++
02:21 < alphazero> agl: right _,ok := <-ch uriel: i am assuming one go
routine is more efficient than two (and a time.Sleep(..) is still involved in
either case.
02:21 < uriel> KirkMcDonald: seems that many people at google are starting
to work on Go while they wait for their C++ code to build :))
02:21 < KirkMcDonald> uriel: Heh.
02:22 < uriel> alphazero: time.sleep() is involved, but you get the message
as soon as it is seent if you use an external goroutine to keep track of the
timeout
02:22 < uriel> alphazero: and goroutines are CHEAP
02:22 -!- Garibaldi [n=adalton@173-16-117-14.client.mchsi.com] has quit [Read
error: 54 (Connection reset by peer)]
02:22 < sladegen> so google should order all their python be rewritten in
C++...
02:23 -!- bogen [n=bogen@76.186.22.145] has joined #go-nuts
02:23 < alphazero> uriel: got it.  thankx.
02:23 -!- ayo [n=nya@f050243017.adsl.alicedsl.de] has quit [Success]
02:23 < uriel> sladegen: haha
02:24 -!- JordiGH [n=jordi@unaffiliated/jordigh] has left #go-nuts ["Leaving"]
02:24 < uriel> so, anyone knows of other bindings I'm missing?  I'm sure I
have heard of people working on more bindings here...
02:24 -!- serdar__ [n=serdar@84.60.213.51] has quit [Read error: 145 (Connection
timed out)]
02:25 -!- Garibaldi [n=adalton@173-16-117-14.client.mchsi.com] has joined #go-nuts
02:26 -!- rhelmer [n=rhelmer@adsl-69-107-65-242.dsl.pltn13.pacbell.net] has quit
[]
02:27 < sladegen> uriel: there: http://github.com/eden/mysqlgo is some mysql
of unknown quality...
02:27 < foobab> uriel: maybe this?
http://github.com/thoj/Go-MySQL-Client-Library Not really a binding i think..  but
it works.
02:27 < alphazero> uriel: not exactly bindings but go-redis (net client for
redis db) is under development: http://github.com/alphazero/Go-Redis
02:28 < uriel> cool, ok, going to start another page for pure-go libs
02:28 -!- strohman [n=strohman@adsl-71-135-96-124.dsl.pltn13.pacbell.net] has quit
[Read error: 110 (Connection timed out)]
02:28 -!- strohman_ is now known as strohman
02:28 -!- teatime [n=c@213-187-177-166.dd.nextgentel.com] has quit []
02:29 -!- rhelmer [n=rhelmer@adsl-69-107-65-242.dsl.pltn13.pacbell.net] has joined
#go-nuts
02:29 < jimi_hendrix> oh, last question, how does net.Conn.Read() work...the
docs dont give a great explination
02:30 < uriel> jimi_hendrix: like any other Read() interface, that is the
nice thing about it :)
02:31 * jimi_hendrix checks the io lib
02:31 -!- aho [n=nya@f050194216.adsl.alicedsl.de] has joined #go-nuts
02:31 < clip9_> jimi_hendrix: buf := make([]byte, 10); *.Read(buff); //
reads up to 10 bytes.
02:32 -!- Garibald1 [n=adalton@173-16-117-14.client.mchsi.com] has joined #go-nuts
02:32 < clip9_> from 1 to 10 i guess.
02:32 -!- ring-zero [n=hotshot@117.207.64.96] has quit [Read error: 104
(Connection reset by peer)]
02:32 < clip9_> 0 = EOF
02:32 < clip9_> no?
02:33 < scandal> clip9_: the error code is passed as a separate value
02:33 -!- caoliver [n=oliver@68-188-158-90.dhcp.trcy.mi.charter.com] has joined
#go-nuts
02:33 -!- caoliver [n=oliver@68-188-158-90.dhcp.trcy.mi.charter.com] has left
#go-nuts []
02:34 < foobab> yeah i know that..  but Read can't read 0 bytes and not
return a error.
02:34 -!- serdar__ [n=serdar@dslb-084-060-201-113.pools.arcor-ip.net] has joined
#go-nuts
02:34 -!- Garibaldi [n=adalton@173-16-117-14.client.mchsi.com] has quit [Read
error: 60 (Operation timed out)]
02:34 < clip9_> oh
02:35 < jimi_hendrix> works, thanks
02:36 -!- rhelmer [n=rhelmer@adsl-69-107-65-242.dsl.pltn13.pacbell.net] has quit
[]
02:36 -!- Jan_Flanders [n=chatzill@d54C1E33B.access.telenet.be] has quit
["Chatzilla 0.9.75.1 [SeaMonkey 1.1.18/2009082513]"]
02:36 < jgoebel> hmmm
02:36 < jgoebel> how do i know who the reviewer for my change should be?
02:37 < jgoebel> i'm trying the contribute page
02:37 -!- Garibaldi [n=adalton@173-16-117-14.client.mchsi.com] has joined #go-nuts
02:37 < uriel> interesting: http://d.hatena.ne.jp/gyuque/20091116
02:37 < uriel> jgoebel: what is the change?
02:37 < jgoebel> to strings
02:37 < scandal> iant was recommending golang-dev@googlegroups.com earlier,
i believe
02:37 < jgoebel> but is there a list somewhere
02:37 < jgoebel> so i don't have to ask here all the time
02:38 < jgoebel> so wait should reviewer by empty when i first submit?
02:39 < uriel> jgoebel: I would leave it empty
02:39 < uriel> I doubt there is a list
02:39 < uriel> otherwise, I would add russ by default, or rob if it is a
documentation change
02:41 -!- rhelmer [n=rhelmer@adsl-69-107-65-242.dsl.pltn13.pacbell.net] has joined
#go-nuts
02:41 -!- rhelmer [n=rhelmer@adsl-69-107-65-242.dsl.pltn13.pacbell.net] has quit
[Read error: 104 (Connection reset by peer)]
02:41 -!- cjs_ [i=chris@iced.bongh.it] has joined #go-nuts
02:41 < dho> jgoebel: hg log the file you're working on, and add whoever
commits to it the most.
02:41 < jgoebel> hmmm
02:41 -!- rhelmer [n=rhelmer@adsl-69-107-65-242.dsl.pltn13.pacbell.net] has joined
#go-nuts
02:41 -!- stockwellb [n=stockwel@72.8.30.114] has joined #go-nuts
02:41 < jgoebel> No username found, using
'jgoebel@josh-goebels-macbook-pro.local' instead
02:42 < dho> jgoebel: you need to set up an account with codereview.
02:42 -!- lambo4jos [n=chatzill@c-76-126-250-10.hsd1.ca.comcast.net] has joined
#go-nuts
02:42 < jgoebel> i did
02:42 < jgoebel> i did the hg code-config or whatever
02:42 < dho> ok.  then you do hg sync.  then hg change.
02:42 < stockwellb> I need examples of how to use an interface type.  The
golang.org docs aren't doing it for me.  Any ideas?
02:43 < dho> stockwellb: there are several interfaces in src/pkg/*
02:43 < dho> stockwellb: for instance net/fd.go
02:43 -!- Garibald2 [n=adalton@173-16-117-14.client.mchsi.com] has joined #go-nuts
02:43 < stockwellb> dho: I'll try that, thanks!
02:43 < dho> er
02:43 < dho> net/ipsock.go
02:44 < dho> the sockaddr interface is pretty simple to understand
02:44 < Vershun> In vector
(http://golang.org/src/pkg/container/vector/vector.go) what's this syntax in
Swap()?  a[i], a[j] = a[j], a[i];
02:44 < dho> no problemo
02:44 -!- Garibaldi [n=adalton@173-16-117-14.client.mchsi.com] has quit [Read
error: 60 (Operation timed out)]
02:44 < Vershun> I mean I get the idea from the function name but the
implementation feels weird
02:45 -!- bgs100 [n=ian@unaffiliated/bgs100] has quit [Nick collision from
services.]
02:45 <+agl> Vershun: it's a swap
02:45 <+agl> Vershun: elements are assigned pairwise
02:45 < jgoebel> ok
02:45 < jgoebel> i'm not sure why i have 2 patch sets
02:45 < Vershun> Ohhh gotcha thank you.  Sorry I was reading it like a for
loop
02:45 < jgoebel> is it because i did change twhice?  i thought i culd do
that jsut to edit the description and stuff
02:46 < jgoebel> http://codereview.appspot.com/155076
02:46 -!- mejja [n=user@c-49b6e555.023-82-73746f38.cust.bredbandsbolaget.se] has
quit [Remote closed the connection]
02:46 -!- hnsr [n=hnsr@infinidim.aphax.nl] has left #go-nuts []
02:46 -!- Vershun [n=vershun@174-16-140-142.hlrn.qwest.net] has quit []
02:47 < dho> jgoebel: if you want to edit a previously created cl, you use
hg change [cl]
02:47 <+agl> jgoebel: hg change will create a changeset and give you a URL
with a number at the end (call it C). hg change C will modify an existing
changeset.
02:47 < dho> e.g.  mine hg change 152142
02:47 <+agl> jgoebel: it's all Perforce like I'm afraid.
02:47 < jgoebel> yeah i did that
02:47 < jgoebel> but now i ahve two changsets listed
02:47 < jgoebel> which i don't understand
02:47 < jgoebel> at that url
02:47 < dho> did you run hg upload?
02:47 < jgoebel> i did hg mail
02:47 <+agl> jgoebel: oh no, those are just different revisions
02:48 <+agl> jgoebel: One URL is one changeset
02:48 < dho> Yes.
02:48 < jgoebel> but i didn't revise anything
02:48 <+agl> jgoebel: but a single changeset can have different revisions
over time and you go back and forth with reviews.
02:48 -!- Garibald2 [n=adalton@173-16-117-14.client.mchsi.com] has quit [Read
error: 54 (Connection reset by peer)]
02:48 <+agl> jgoebel: I think the scripts are a little trigger happy with
the uploading.
02:48 < dho> they are
02:48 -!- Garibaldi [n=adalton@173-16-117-14.client.mchsi.com] has joined #go-nuts
02:48 < dho> when you mail they upload
02:48 < dho> and i believe they do also when you create the initial
changelist
02:49 < dho> don't worry, i found it rather odd and cumbersome at first
02:49 < dho> you get used to it
02:49 -!- Garibald1 [n=adalton@173-16-117-14.client.mchsi.com] has quit
[Connection timed out]
02:49 <+agl> jgoebel: r.e.  the change.  The Reverse function is broken in
the face of UTF8 and Unicode of course.
02:50 < jgoebel> hmmm
02:50 < jgoebel> doesn't range iterate over utf8 properly?
02:50 < jgoebel> should i use range?
02:50 < jgoebel> Bytes just doesn't?
02:50 -!- jsgotangco [n=JSG@ubuntu/member/jsgotangco] has joined #go-nuts
02:51 -!- kaib [n=kaib@76.102.52.156] has joined #go-nuts
02:51 -!- mode/#go-nuts [+v kaib] by ChanServ
02:51 <+agl> jgoebel: r is a []byte and you're assigning byte by byte.
02:51 < jgoebel> yeah
02:51 <+agl> jgoebel: so you'll reverse the UTF8 multibyte sequences too.
02:51 < jgoebel> i need a failing test case :)
02:52 < dho> jgoebel: get a utf-8 string
02:52 < dho> if you reverse any utf-8 string, it should break.
02:52 <+agl> jgoebel: well, the reverse of 0xc2, 0xa2 should be the same
02:52 -!- foobab [n=foobab@mail.vmr.no] has quit ["leaving"]
02:53 <+agl> jgoebel: additionally, even if you handle utf8 multibyte
correctly, it's still wrong because you should reverse combining characters etc.
02:53 < jgoebel> reverse combining characters?
02:53 -!- bogen [n=bogen@76.186.22.145] has left #go-nuts []
02:53 -!- rullie [n=rullie@bas4-toronto47-1279405664.dsl.bell.ca] has joined
#go-nuts
02:53 < jgoebel> an
02:54 < jgoebel> ah seems i could use explode
02:54 <+agl> jgoebel: I think you want section three of
http://www.unicode.org/reports/tr29/tr29-15.html
02:54 -!- Garibald1 [n=adalton@173-16-117-14.client.mchsi.com] has joined #go-nuts
02:54 * sladegen shoots unicode.
02:54 < dho> utf-8 = <3
02:54 < jgoebel> damn
02:54 < jgoebel> my first attempt at a patch and already i'm about to give
up
02:54 < dho> jgoebel: http://en.wikipedia.org/wiki/Combining_character for
an overview of why they're important
02:54 < dho> jgoebel: cmon, i just spent 5 days porting it to freebsd/amd64
02:54 < dho> don't give up!
02:55 < jgoebel> ah i see
02:55 <+agl> jgoebel: combining chars -> consider q̂, it's two code
points: q and ^.  If you reverse the code points you get ^q which is quite
different because ^ will combine with the previous character.
02:55 < jgoebel> yes i see
02:55 < blasdelf> dho: I think Go's String handles everything but
combining-characters
02:55 -!- kaib_ [n=kaib@nat/google/x-tbgasulnouqpowna] has joined #go-nuts
02:55 -!- mode/#go-nuts [+v kaib_] by ChanServ
02:55 < jgoebel> i barely know go
02:55 <+agl> jgoebel: basically you bit into a very large area :) I would
maybe consider a different patch.
02:55 < jgoebel> i think i can deal with utf8
02:56 < kuroneko> Unicode is amusing >_>
02:56 < blasdelf> and it turns out that almost nobody handles combining
characters at all
02:56 < jgoebel> var faces = "☺☻☹"
02:56 < jgoebel> is that utf8?
02:56 < dho> yes
02:57 < blasdelf> some implementations handle them via normalization
02:57 * kuroneko can't see unicode on IRC (encoding issues between screen + client
+ terminal)
02:57 < rullie> same...  =/
02:57 < clip9_> irssi + screen works with utf8 here
02:57 < kuroneko> clip9_: once set up correctly, it works fine
02:57 < kuroneko> I've had it working before
02:57 < kuroneko> just it's not working today
02:57 < rullie> is there an opengl binding underway?
02:58 < blasdelf> on some platforms you need to start the initial screen
process with "screen -U"
02:58 < clip9_> hm..  all i has to do was to select a *.UTF-8 charset.
02:59 < dho> kuroneko: screen/irssi/xterm+utf8 works for me.
02:59 < sladegen> 255 chars should be enough for everybody.
02:59 < kuroneko> dho: I've probably restarted my screen when logged in from
putty or something like that
02:59 < dho> heh
02:59 < clip9_> hehe
02:59 < jabb> rullie: http://github.com/banthar/Go-SDL
03:00 < kuroneko> the problem is, once it gets into "I don't want to do UTF"
state, you can't fix it without tearing the lot down again :(
03:00 < rullie> jabb: :D
03:00 < dho> kuroneko: ever tried ^Z and running reset?
03:00 < kuroneko> does nada.
03:00 < jgoebel> agl: now it handles utf8 :)
03:00 < kuroneko> I see the individual points
03:01 < dho> oh well
03:01 < kuroneko> and my terminal is set to utf-8
03:01 -!- Amitava [i=4ce29a11@gateway/web/freenode/x-zbixcmqscjpkjgrz] has joined
#go-nuts
03:01 < kuroneko> just screen is sanitising the points, or something.
03:02 < Ycros> kuroneko: I have "defutf8 on" in my screenrc
03:02 -!- hhg [n=hhg@hhg.to] has quit [Read error: 60 (Operation timed out)]
03:02 < clip9_> echo $LANG
03:03 <+agl> jgoebel: terribly inefficiently though!
03:03 < zum> kuroneko: I followed these directions to get UTF-8 working
http://www.macosxhints.com/article.php?story=20060825071728278
03:03 -!- kaib [n=kaib@76.102.52.156] has quit [Read error: 145 (Connection timed
out)]
03:03 -!- kaib_ is now known as kaib
03:03 <+agl> jgoebel: ranging over a string will give you byte offsets and
runes as a pair
03:04 < zum> it's for mac and says "UTF–8" but it worked for me on pc as
well
03:04 <+agl> jgoebel: you know the size of the reversed string matches the
size of the input string
03:04 <+agl> jgoebel: you can walk the input once, finding code points and
using EncodeRune to write them to the output.
03:04 < uriel> combining characters are pure evil
03:04 -!- gri [n=gri@nat/google/x-rhclnqliawkpsvlo] has quit []
03:05 -!- hstimer [n=hans@c-98-234-25-125.hsd1.ca.comcast.net] has joined #go-nuts
03:05 -!- Garibaldi [n=adalton@173-16-117-14.client.mchsi.com] has quit
[Connection timed out]
03:05 * uriel curses the silly unicode people, couldn't they leave UTF-8 alone,
simple and clean?
03:05 < kuroneko> uriel: they did.
03:05 < kuroneko> combining characters happened independantly of the
encoding schemes
03:05 < uriel> rullie: list of existing/known bindings at:
http://go-lang.cat-v.org/library-bindings
03:06 < uriel> rullie: seems that the guy that did the SDL bindings is also
working on opengl, but I'm not sure how far he got
03:06 -!- KillerX [n=anant@gentoo/developer/KillerX] has quit ["Leaving."]
03:06 < uriel> kuroneko: yea, well, I know, but that is why they managed to
mess it all up when utf-8 was so neat and tiddy :(
03:06 < kuroneko> OpenGL + Go should be pretty straight forward
03:07 < rullie> uriel: cool thanks
03:07 < kuroneko> uriel: utf-8 is not neat and tidy
03:07 < uriel> (of course, they did add the abomination of BoM as an option
to utf-8, which is plain stupid and evil)
03:07 < blasdelf> some people input text that way, unicode strives to
preserve semantics
03:07 < uriel> kuroneko: I think we have had this argument before :)
03:07 -!- Garibaldi [n=adalton@173-16-117-14.client.mchsi.com] has joined #go-nuts
03:07 < kuroneko> anything that involves variable length point encoding is
not neat and tidy - it, however, does provide you backwards compatibility with the
broken idea that NUL ends a string
03:07 < kuroneko> and yes, we probably did - back when boyd was still around
03:07 < rullie> uriel: do you know if there's an emacs mode for go?
03:08 < uriel> blasdelf: unicode can strive for pink flying ponnies, that is
not going ot make them happen, and it brings pain and missery to everyone
03:08 < kuroneko> rullie: yes, there is.
03:08 < uriel> rullie: misc/emacs
03:08 -!- serdar_ [n=serdar@dslb-084-060-237-105.pools.arcor-ip.net] has joined
#go-nuts
03:08 -!- serdar__ [n=serdar@dslb-084-060-201-113.pools.arcor-ip.net] has quit
[Read error: 110 (Connection timed out)]
03:08 < kuroneko> look in misc/emacs - read go-mode-load.el
03:08 < kuroneko> and follow those instructions.
03:08 -!- hhg [n=hhg@hhg.to] has joined #go-nuts
03:08 < rullie> kuroneko: where is this misc/emacs you speak of
03:08 < kuroneko> optionally skip the elisp compilation step if you don't
mind waiting an extra second or three
03:08 < uriel> rullie: go source root
03:08 < kuroneko> it's in the go source distribution
03:09 < rullie> oh, ok
03:09 < rullie> thanks
03:09 -!- pace_t_zulu_ [n=pacetzul@unaffiliated/pacetzulu/x-585030] has joined
#go-nuts
03:09 < kuroneko> [in fact, I recommend skipping the elisp compile until the
elisp is bug-free :) ]
03:09 < kuroneko> [otherwise you need to recompile it every time it gets
updated]
03:09 -!- andresambrois [n=aa@r190-135-145-236.dialup.adsl.anteldata.net.uy] has
joined #go-nuts
03:10 < kuroneko> [I find it easier to just let it be interpreted every
start-up]
03:10 -!- vector9x [i=a6ee99c7@gateway/web/freenode/x-bmdmdlvikwwhmgta] has joined
#go-nuts
03:11 -!- ztzg_ [n=dash@dslb-084-057-004-092.pools.arcor-ip.net] has quit [Read
error: 145 (Connection timed out)]
03:11 < pace_t_zulu_> what's the 1 known bug
03:11 -!- alphazero [n=alphazer@ip68-106-96-239.dc.dc.cox.net] has quit []
03:11 < pace_t_zulu_> ?
03:11 < clip9_> time for a good old vim vs.  emacs flamewar.  :P
03:12 < dho> acme.
03:12 < sladegen> ed qed
03:12 -!- jharrys [n=de043124@c-71-195-253-55.hsd1.ut.comcast.net] has quit
["Leaving."]
03:12 -!- m-takagi_ is now known as m-takagi
03:12 < kuroneko> I'd use acme if: 1) it didn't blow chunks on Unixen
03:12 < dho> cat.
03:12 < vector9x> :o
03:12 < kuroneko> and 2) it had decent keyboard navigation.
03:12 -!- Garibaldi [n=adalton@173-16-117-14.client.mchsi.com] has quit [Remote
closed the connection]
03:12 < jb55> I use echo and sed
03:12 < pace_t_zulu_> vim
03:13 < dho> i'm sure there are at least 222306932 patches for keyboard
navigation on 9fans
03:13 -!- pace_t_zulu_ is now known as pace_t_zulu
03:13 < kuroneko> ed is my backup editor when both emacs and vi fail
03:13 < kuroneko> or, even worse, when there's no emacs and vi is actually
vim!
03:13 * kuroneko cringes
03:13 * fgb uses sed and tons of temp files
03:13 < rullie> but of course we all use butterflies to code at some point
03:13 < jgoebel> grrr
03:13 < fgb> (not kidding)
03:13 < jgoebel> i'm missing something
03:14 < kuroneko> rullie: of course.  via M-x butterfly
03:14 < Ycros> kuroneko: I require go-mode because I add my own keybinding
in, my elisp foo isn't strong enough to work out how to do that with the lazy
loading stuff that go-mode-load does
03:14 < vector9x> some editor with syntax coloring for Go ?
03:15 -!- cpr420 [n=cpr420@67.165.199.143] has quit ["Vision[0.9.7-H-090423]: i've
been blurred!"]
03:15 -!- jharrys [n=de043124@c-71-195-253-55.hsd1.ut.comcast.net] has joined
#go-nuts
03:15 < clip9_> vim
03:15 < kuroneko> Ycros: fair enough - I still don't think the bytecode
elisp compilation is worth the effort though
03:15 < kuroneko> it slows down emacs start up by a small amount
03:16 -!- turing_type_bot [n=turing@pool-71-241-35-143.nrflva.east.verizon.net]
has joined #go-nuts
03:16 < kuroneko> at least on most modern systems anyway
03:16 < Ycros> kuroneko: sure, I'm not doing it
03:16 < Ycros> kuroneko: I don't restart emacs that often :)
03:16 < kuroneko> heh
03:16 < kuroneko> the man who knows the RIGHT way to run emacs.
03:16 < kuroneko> I need to start using emacsd
03:17 < Ycros> I should do that too, I end up using one instance everywhere
03:17 < Ycros> and spawning new frames of it
03:17 < Ycros> sometimes I have the same instance with spawned frames across
3 different machines
03:17 -!- strohman [n=strohman@216.239.45.130] has quit [Read error: 60 (Operation
timed out)]
03:18 -!- Amitava [i=4ce29a11@gateway/web/freenode/x-zbixcmqscjpkjgrz] has quit
["Page closed"]
03:18 -!- Garibald2 [n=adalton@173-16-117-14.client.mchsi.com] has joined #go-nuts
03:18 -!- QV [n=viosys@67-23-1-17.static.slicehost.net] has quit [Read error: 60
(Operation timed out)]
03:18 -!- Tuller [n=Tuller@pool-72-84-246-12.rcmdva.fios.verizon.net] has quit
["to the batcave?"]
03:19 -!- Garibald1 [n=adalton@173-16-117-14.client.mchsi.com] has quit
[Connection timed out]
03:19 * jgoebel pasted http://pastie.textmate.org/private/sbruh7ya9t2kmdkpeebeew
03:19 < jgoebel> ok slice is out of bounds, what am i missing?
03:21 -!- devyn [n=devyn@S01060013d4130071.vc.shawcable.net] has joined #go-nuts
03:21 <+agl> jgoebel: you don't appear to update pos
03:21 < jgoebel> i just fixed that
03:21 < jgoebel> still doesn't work :)
03:22 * jgoebel pasted http://pastie.textmate.org/private/usxhcvjmohqumfqwtyjaw
03:22 <+agl> jgoebel: the second part of the slice should be pos, not l I
believe.
03:22 < jgoebel> hmmm
03:22 <+agl> jgoebel: move the pos update down a line
03:22 < devyn> jgoebel: by the way, you don't really need the ".textmate"
part, pastie.org works too
03:23 <+agl> jgoebel: you want to slice [pos-l:pos] I believe
03:23 < jgoebel> devyn: textmate pastes to that url :)
03:23 < devyn> jgoebel: well, I wouldn't know...  I don't have a Mac :D
03:23 < jgoebel> ok :)
03:23 < jgoebel> progress
03:24 -!- vector9x [i=a6ee99c7@gateway/web/freenode/x-bmdmdlvikwwhmgta] has quit
[Ping timeout: 180 seconds]
03:24 < jgoebel> boom
03:24 < jgoebel> revision 3 :)
03:25 -!- rhelmer [n=rhelmer@adsl-69-107-65-242.dsl.pltn13.pacbell.net] has quit
[]
03:25 < dho> er wut
03:26 -!- aa [n=aa@r190-135-187-175.dialup.adsl.anteldata.net.uy] has quit [Read
error: 110 (Connection timed out)]
03:26 < jgoebel> ok i'm happy with it for now :)
03:26 -!- itrekkie [n=itrekkie@ip72-200-108-156.tc.ph.cox.net] has joined #go-nuts
03:26 -!- aaront [n=aaront@unaffiliated/aaront] has quit ["And that's all he
wrote..."]
03:26 < dho> File "/home/dho/golang/lib/codereview/codereview.py", line
1529, in PostMessage
03:27 < dho> ui.warn("error posting to "+server+" log; sleep 2 and try
again.")
03:27 < dho> NameError: global name 'ui' is not defined
03:27 < dho> weird.
03:27 < dho> worked when i retried, but it probably shouldn't throw that
exception...
03:27 -!- strohman [n=strohman@adsl-71-135-96-124.dsl.pltn13.pacbell.net] has
joined #go-nuts
03:28 <+agl> dho: http://code.google.com/p/go/issues/detail?id=241
03:28 <+agl> dho: another one for rsc
03:30 < dho> heh
03:30 < CFlux> hi all, is there a way to cast a string as an array of bytes?
03:31 -!- cjs_ [i=chris@iced.bongh.it] has quit ["leaving"]
03:31 < jgoebel> CFlux: strings.Bytes()
03:31 < clip9_> strings.Bytes(somestr)
03:31 <+agl> CFlux: strings.Bytes
03:31 < jgoebel> haha
03:31 < clip9_> BAH
03:31 -!- jharrys [n=de043124@c-71-195-253-55.hsd1.ut.comcast.net] has quit
["Leaving."]
03:31 -!- aanderse
[n=aanderse@CPE001b11cc67d3-CM0019475d7f5e.cpe.net.cable.rogers.com] has joined
#go-nuts
03:31 < jgoebel> me first!
03:31 < CFlux> great thanks
03:32 -!- jharrys [n=de043124@c-71-195-253-55.hsd1.ut.comcast.net] has joined
#go-nuts
03:35 -!- Garibald2 [n=adalton@173-16-117-14.client.mchsi.com] has quit
[Connection timed out]
03:35 -!- eduardoboss [n=boss@189.114.206.57.dynamic.adsl.gvt.net.br] has quit []
03:35 * dho -> bed
03:36 < Ycros> ha
03:38 -!- ntg [n=nate@user44.net178.whitworth.edu] has quit [Read error: 110
(Connection timed out)]
03:38 -!- tetha [n=hk@pD9EE68B4.dip.t-dialin.net] has quit [Read error: 60
(Operation timed out)]
03:38 -!- rhelmer [n=rhelmer@adsl-69-107-65-242.dsl.pltn13.pacbell.net] has joined
#go-nuts
03:38 -!- tetha [n=hk@217.238.104.180] has joined #go-nuts
03:39 -!- Garibaldi [n=adalton@173-16-117-14.client.mchsi.com] has joined #go-nuts
03:41 -!- hyn [n=hyn@p0a38fe.tokyte00.ap.so-net.ne.jp] has joined #go-nuts
03:45 -!- ztzg [n=dash@dslb-084-057-018-175.pools.arcor-ip.net] has joined
#go-nuts
03:46 -!- spook[] [n=RevSpook@173-20-203-218.client.mchsi.com] has joined #go-nuts
03:49 < jgoebel> grrrrrr
03:49 -!- pace_t_zulu [n=pacetzul@unaffiliated/pacetzulu/x-585030] has quit []
03:49 < jgoebel> so i can't do commits to my own local branches while
codereview extension is enabled?
03:49 < jgoebel> how am i supposed to work on more than one change at a
time?
03:49 -!- ArekZB [n=ArekZB@76-10-138-81.dsl.teksavvy.com] has joined #go-nuts
03:50 -!- kaib [n=kaib@nat/google/x-tbgasulnouqpowna] has quit []
03:50 < scandal> use hg clone for each different group of work
03:50 -!- chrome [i=chrome@202.60.77.116] has quit ["WeeChat 0.2.6"]
03:50 < jgoebel> ick
03:50 < jgoebel> so i have to have a whole other source tree?
03:51 < scandal> currently, yes
03:51 < jgoebel> is there any good reason i can't branch?
03:51 < scandal> there was a reason on the contributor page
03:51 < uriel> hg clone is fast
03:51 -!- wcn [n=wcn@74.125.121.49] has joined #go-nuts
03:51 < jgoebel> "branch" not found on that page
03:52 < jgoebel> branch is faster
03:52 -!- tor7 [n=tor@c-987a71d5.04-50-6c756e10.cust.bredbandsbolaget.se] has quit
[]
03:52 < jgoebel> hmmm looks like you'd have to edit .hgrc for every clone as
well
03:52 -!- Amaranth_ is now known as Amaranth
03:52 < scandal> "
03:53 < scandal> The Go repository is maintained as a single line of
reviewed changes; we prefer to avoid the complexity of Mercurial's arbitrary
change graph.
03:54 < jgoebel> not sure what that means
03:55 < jgoebel> i only meant local branches for my convenience
03:55 < jgoebel> or can hg not do that?
03:55 < jgoebel> i do that in git all the time
03:55 < scandal> i don't believe so.  if you create a branch, and then push
it goes along for the ride
03:55 < jgoebel> well i'm not a commiter
03:55 < jgoebel> i can't push anyways
03:56 -!- Garibaldi [n=adalton@173-16-117-14.client.mchsi.com] has quit
[Connection timed out]
03:56 < scandal> well, if you want, make a clone without the code review
extension and you can branch in there
03:56 -!- marciofss [n=marciofs@189.105.58.191] has joined #go-nuts
03:57 < jgoebel> or i can hack code review :)
03:57 < scandal> i think they would be happy to include a patch that allowed
local branches without messing up the main line
03:58 < jgoebel> again, if you aren't a commiter you can't mess up the main
line...  or maybe i don't understand hg at all
03:58 < scandal> you dont need the code review extension enabled then
03:58 < jgoebel> hmmm
03:58 < jgoebel> that is how non-commiters contribute, is it not?
03:59 <+agl> jgoebel: hg doesn't do multiple branches in the same working
directory
03:59 < jgoebel> agl: it doesn't?
03:59 <+agl> jgoebel: it does have a concept of multiple heads in the same
branch, but they're not the same.
03:59 < jgoebel> i was almost positive it did
03:59 -!- nicknick [n=nicknick@76.73.16.26] has joined #go-nuts
03:59 <+agl> jgoebel: there's no hg version of `git checkout other_branch`
03:59 < jgoebel> weird
03:59 <+agl> jgoebel: I'm told the "forests" extension might do it, but
mostly I just long for git.
03:59 -!- jA_cOp [n=yakobu@ti0043a380-3093.bb.online.no] has joined #go-nuts
03:59 < jgoebel> isn't it just hg branch blah
04:00 -!- Garibaldi [n=adalton@173-16-117-14.client.mchsi.com] has joined #go-nuts
04:00 < jgoebel> yes, git is a god-send
04:00 -!- chrome [i=chrome@mars.stupendous.net] has joined #go-nuts
04:00 < jgoebel> i'm tempting to turn this into a git repository :)
04:00 -!- spook327 [n=RevSpook@173-20-203-218.client.mchsi.com] has quit [Read
error: 110 (Connection timed out)]
04:01 -!- serdar_ [n=serdar@dslb-084-060-237-105.pools.arcor-ip.net] has quit
[Read error: 110 (Connection timed out)]
04:01 <+agl> jgoebel: if you find a good way to use git with upstream hg,
please do let me know.
04:01 -!- serdar_ [n=serdar@dslb-084-060-214-095.pools.arcor-ip.net] has joined
#go-nuts
04:02 < jgoebel> what would be so difficult about it?
04:02 < jgoebel> just run them side by side
04:02 < kuroneko> agl: probably easier to start a revolt in G and switch
everybody over to git >_>
04:02 < kuroneko> *cough*
04:02 < jgoebel> just have to double commit
04:03 < kuroneko> "ew"
04:03 < jgoebel> but i you were working on a patch per branch you could make
tons of git commits then squash those into one changeset for hg
04:03 < Jerub> http://mercurial.selenic.com/wiki/ShelveExtension
04:03 < Ycros> at least I'm happy to work with and learn new version control
systems.
04:03 < Jerub> for multiple branches in the same working directory.
04:03 < jgoebel> Ycros: i've learned and used hg before :) i prefer git
04:04 -!- drusepth [n=drusepth@ppp-70-250-215-7.dsl.spfdmo.swbell.net] has joined
#go-nuts
04:04 < Ycros> I don't like git though, I prefer bzr ;P
04:04 -!- nicknick [n=nicknick@76.73.16.26] has quit [Client Quit]
04:04 -!- stockwellb [n=stockwel@72.8.30.114] has left #go-nuts []
04:04 -!- spook[] is now known as spook327
04:05 -!- drusepth`` [n=drusepth@ppp-70-250-215-7.dsl.spfdmo.swbell.net] has
joined #go-nuts
04:06 -!- strohman_ [n=strohman@216.239.45.130] has joined #go-nuts
04:08 -!- SecretofMana [n=truthlim@142.46.164.30] has quit [Read error: 104
(Connection reset by peer)]
04:09 < kuroneko> I've been working with hg, I'd just rather git :P
04:10 < kuroneko> bzr is too slow ;)
04:10 -!- cablehead [n=Adium@76.14.66.55] has joined #go-nuts
04:10 -!- binaryjohn [n=binaryjo@cpe-24-30-132-50.san.res.rr.com] has joined
#go-nuts
04:10 < Ycros> kuroneko: at least it has sensible commands :P
04:11 < kuroneko> agl: http://hg-git.github.com/ -- could use an
intermediate hg
04:11 -!- cablehead [n=Adium@76.14.66.55] has quit [Client Quit]
04:11 < kuroneko> Ycros: git has (mostly) sensible commands these days
04:11 < kuroneko> certainly, I couldn't use git back when cogito was the
preferred interface
04:12 < absurdh> neither could I. Thankfully, bzr sped up a lot
04:12 <+agl> kuroneko: hg-git is for git upstreams sadly.
04:12 < kuroneko> agl: with a DVCS, does it matter?
04:12 < kuroneko> make your local git tree an "upstream"
04:13 < Ycros> absurdh: yeah, I don't find speed an issue with bzr these
days
04:13 -!- xuser [n=xuser@unaffiliated/xuser] has left #go-nuts []
04:13 <+agl> kuroneko: I mean it's a hg plugin to push/pull from a git
server.  I'm looking for a git command to push/pull from an hg server.
04:14 -!- agl [n=agl@72.14.229.81] has quit ["Leaving"]
04:15 -!- devyn [n=devyn@S01060013d4130071.vc.shawcable.net] has left #go-nuts []
04:15 < kuroneko> agl: the thing is, you can stage through hg this way
04:15 < kuroneko> remember, DVCS is for dealing with multiple upstreams.