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