--- Log opened Fri Apr 08 00:00:50 2011 00:03 -!- Tuller [~tuller@c-68-33-63-208.hsd1.va.comcast.net] has quit [Quit: muffins] 00:07 -!- ampleyfly [ampleyfly@gateway/shell/blinkenshell.org/x-dofudlzlhutslxmx] has quit [Ping timeout: 260 seconds] 00:08 -!- Scorchin [~Scorchin@host109-158-114-169.range109-158.btcentralplus.com] has quit [Quit: Scorchin] 00:12 -!- ampleyfly [ampleyfly@gateway/shell/blinkenshell.org/x-rfoguhcpxbfltfac] has joined #go-nuts 00:13 -!- shvntr [~shvntr@123.89.103.252] has quit [Quit: leaving] 00:13 -!- niemeyer_bbl [~niemeyer@201-11-241-2.pltce701.dsl.brasiltelecom.net.br] has quit [Read error: Connection reset by peer] 00:19 -!- m4dh4tt3r [~Adium@c-69-181-223-245.hsd1.ca.comcast.net] has quit [Ping timeout: 246 seconds] 00:19 -!- m4dh4tt3r [~Adium@c-69-181-223-245.hsd1.ca.comcast.net] has joined #go-nuts 00:23 -!- jeffreymcmanus_ [~jeffreymc@70-36-141-150.dsl.dynamic.sonic.net] has joined #go-nuts 00:27 -!- jeffreymcmanus [~jeffreymc@70-36-141-150.dsl.dynamic.sonic.net] has quit [Ping timeout: 276 seconds] 00:32 < bren2010> Btw, thank you so much for your help, skelterjohn. 00:32 < skelterjohn> did you figure it out? 00:33 < skelterjohn> cause right now it's not so much "help" as "commiserating" :) 00:33 < bren2010> No, lol. 00:35 < plexdev> http://is.gd/nQ9ixv by [Alex Brainman] in go/src/pkg/syscall/ -- syscall: fix Windows Signalled 00:35 < plexdev> http://is.gd/Mzhye2 by [Alex Brainman] in go/src/ -- misc/cgo/life: enable build and test on Windows 00:36 -!- carrus85 [~carrus85@64.0.193.15] has quit [Quit: Leaving] 00:37 -!- eikenberry [~jae@ivanova.zhar.net] has joined #go-nuts 00:37 -!- JusticeFries [~JusticeFr@c-24-9-171-36.hsd1.co.comcast.net] has joined #go-nuts 00:51 < plexdev> http://is.gd/GQJNXr by [Alex Brainman] in 2 subdirs of go/ -- test/bench: enable build and test on Windows 00:53 -!- ampleyfly [ampleyfly@gateway/shell/blinkenshell.org/x-rfoguhcpxbfltfac] has quit [Ping timeout: 246 seconds] 00:55 -!- ampleyfly [ampleyfly@gateway/shell/blinkenshell.org/x-xyhpzefvbvfijhok] has joined #go-nuts 01:07 -!- mikespook [~mikespook@219.137.234.21] has joined #go-nuts 01:08 < plexdev> http://is.gd/pvT3XY by [John DeNero] in go/doc/codewalk/ -- A codewalk through a simple program that illustrates several aspects of Go functions: function objects, higher-order functions, variadic functions, tail recursion, etc. The example program simulates the game of Pig, a dice game with simple rules but a nontrivial solution. 01:10 -!- saturnfive [~saturnfiv@210.74.155.131] has joined #go-nuts 01:17 -!- gaxxx [~woo@219.143.166.16] has joined #go-nuts 01:17 -!- benjack [~benjack@bb119-74-104-165.singnet.com.sg] has joined #go-nuts 01:26 -!- gaxxx [~woo@219.143.166.16] has quit [Ping timeout: 264 seconds] 01:34 -!- gaxxx [~woo@219.143.166.16] has joined #go-nuts 01:43 -!- ampleyfly [ampleyfly@gateway/shell/blinkenshell.org/x-xyhpzefvbvfijhok] has quit [Ping timeout: 246 seconds] 01:48 -!- ampleyfly [ampleyfly@gateway/shell/blinkenshell.org/x-ybctxzxwwpurmpjo] has joined #go-nuts 02:00 -!- Border [~Border@123.122.64.140] has joined #go-nuts 02:17 -!- marchdown_ [~marchdown@46.138.175.160] has joined #go-nuts 02:17 -!- marchdown [~marchdown@46.138.162.76] has quit [Ping timeout: 260 seconds] 02:26 -!- Border [~Border@123.122.64.140] has quit [Read error: Connection reset by peer] 02:26 -!- B0rder [~Border@123.122.64.140] has joined #go-nuts 02:28 -!- bren2010 [~bren2010@24-179-18-179.dhcp.ahvl.nc.charter.com] has quit [Quit: Leaving] 02:28 -!- Viriix [~joseph@c-67-169-172-251.hsd1.ca.comcast.net] has joined #go-nuts 02:30 -!- krutcha1 [~krutcha@S010600045a27676a.vs.shawcable.net] has joined #go-nuts 02:34 < joelkronander> Hi, I just tried to follow the example at http://golang.org/doc/codelab/wiki/, I think I found a couple of small errors in that code. for the renderTemplate function, should be t.Execute(w, p) not t.Execute(p,w) as stated 02:34 < joelkronander> then I got a compiler error for undefined getTitle function 02:34 < joelkronander> any comments? 02:37 < skelterjohn> file an issue 02:37 < skelterjohn> seems wrong 02:37 < skelterjohn> the getTitle() bit seems to be referring to something you'd write 02:37 < skelterjohn> but the t.Execute thing has the params out of order, sure 02:38 < skelterjohn> it shows you how to write getTitle() about 3/4ths of the way down the page 02:39 < joelkronander> :-), ok 02:40 -!- tensorpudding [~user@99.148.205.193] has quit [Read error: Connection reset by peer] 02:40 < plexdev> http://is.gd/MVi8DL by [Robert Griesemer] in go/src/pkg/scanner/ -- scanner: better TokenString output 02:48 -!- plexdev [~plexdev@arthur.espians.com] has quit [Remote host closed the connection] 02:48 -!- tensorpudding [~user@99.148.205.193] has joined #go-nuts 02:49 -!- plexdev [~plexdev@arthur.espians.com] has joined #go-nuts 03:14 -!- randfur [~AndChat@58.145.148.59] has joined #go-nuts 03:16 -!- clausen [~clausen@c-68-80-133-88.hsd1.nj.comcast.net] has joined #go-nuts 03:17 < clausen> are there any plans to add support for dynamic linking? 03:19 < uriel> I think the answer is: "yes, but it is not a high priority" 03:19 < uriel> also, I think you can do it already using gccgo 03:20 -!- tensai_cirno [~cirno@77.232.15.216] has quit [Read error: Operation timed out] 03:22 < clausen> thanks 03:23 < clausen> is there an SSL / HTTPS library? 03:24 < clausen> oops, found it :) 03:24 < clausen> the "tls" package 03:24 < clausen> (but older versions of SSL are unsupported?) 03:26 -!- aho [~nya@fuld-590c7467.pool.mediaWays.net] has quit [Quit: EXEC_over.METHOD_SUBLIMATION] 03:27 < dfc> clausen: which versions are you looking for ? 03:28 < clausen> I'm not sure... whatever firefox uses by default :) 03:30 < clausen> I suppose TLS 1.1 is OK 03:34 -!- tensorpudding [~user@99.148.205.193] has quit [Read error: Connection reset by peer] 03:36 < clausen> the garbage collector is written in C, right? 03:36 < clausen> (mgc0.c) 03:36 < clausen> is it possible to wait for an object to be deleted (garbage collected)? 03:37 < clausen> is it possible to zero out an object? 03:37 < clausen> (eg: typecast it to an array of integers, and set it all to 0) 03:37 < clausen> I suppose I could pass the object to C... 03:41 -!- tensorpudding [~user@99.148.205.193] has joined #go-nuts 03:45 -!- vsayer [~vivek@c-67-170-236-166.hsd1.ca.comcast.net] has quit [Read error: Connection reset by peer] 03:45 -!- krutcha1 [~krutcha@S010600045a27676a.vs.shawcable.net] has quit [Quit: Leaving] 03:52 -!- vsayer [~vivek@c-67-170-236-166.hsd1.ca.comcast.net] has joined #go-nuts 03:53 -!- randfur [~AndChat@58.145.148.59] has quit [Quit: Bye] 03:58 -!- keithgcascio [~keithcasc@nat/google/x-vtwvbtqugqcwkpky] has quit [Quit: Leaving] 03:59 -!- tensorpudding [~user@99.148.205.193] has quit [Remote host closed the connection] 04:07 < dfc> Is Robert Griesemer in the channel ? 04:07 < dfc> i'd like to ask him about http://code.google.com/p/go/issues/detail?id=1667 04:08 -!- B0rder [~Border@123.122.64.140] has quit [Ping timeout: 264 seconds] 04:08 < matti_> gah how come there isn't lazy matching in the regex package? there's only greedy... 04:16 -!- clausen [~clausen@c-68-80-133-88.hsd1.nj.comcast.net] has quit [Quit: Leaving] 04:18 -!- tensai_cirno [~cirno@194.154.66.197] has joined #go-nuts 04:19 -!- nettok [~quassel@200.119.156.95] has joined #go-nuts 04:21 -!- tensai_cirno [~cirno@194.154.66.197] has quit [Read error: Connection reset by peer] 04:21 -!- tensai_cirno [~cirno@194.154.66.197] has joined #go-nuts 04:24 -!- rejb [~rejb@unaffiliated/rejb] has quit [Ping timeout: 246 seconds] 04:31 -!- itrekkie [~itrekkie@ip72-211-131-205.tc.ph.cox.net] has joined #go-nuts 04:33 -!- fabled [~fabled@83.145.235.194] has joined #go-nuts 04:43 -!- Border [~Border@123.122.64.140] has joined #go-nuts 04:43 < plexdev> http://is.gd/z6Dm60 by [Robert Griesemer] in 4 subdirs of go/src/pkg/ -- go/types: New Go type hierarchy implementation for AST. 04:43 < plexdev> http://is.gd/BtmSbc by [Robert Griesemer] in go/src/cmd/gotype/ -- gotype: use go/types GcImporter 04:47 -!- eikenberry [~jae@ivanova.zhar.net] has quit [Quit: End of line.] 04:54 -!- artefon [~thiago@187.59.211.65] has quit [Quit: bye] 04:59 -!- ssteel [~steel@c-75-71-165-136.hsd1.co.comcast.net] has joined #go-nuts 05:01 -!- nsf [~nsf@jiss.convex.ru] has joined #go-nuts 05:01 -!- zozoR [~Morten@5634631b.rev.stofanet.dk] has joined #go-nuts 05:11 -!- ssteel [~steel@c-75-71-165-136.hsd1.co.comcast.net] has quit [Quit: ssteel] 05:13 -!- Project_2501 [~Marvin@82.84.84.100] has joined #go-nuts 05:15 < plexdev> http://is.gd/ZZm427 by [Robert Griesemer] in go/src/pkg/go/types/ -- go/types: fix build: use the right compiler to compile test case 05:19 -!- tensai_cirno [~cirno@194.154.66.197] has quit [Read error: Connection reset by peer] 05:19 <@adg_> dfc: email is the best way, he doesn't use irc 05:19 -!- tensai_cirno [~cirno@194.154.66.197] has joined #go-nuts 05:21 < dfc> adg: ta 05:21 < dfc> i saw him accept the gofmt generate issue 05:22 < dfc> probably because he's doing a lot of work in that area 05:22 < dfc> i was just going to ask him if he was working on it actively 05:22 <@adg> yeah he owns gofmt, etc 05:22 < dfc> or just holding it 05:22 <@adg> i'm sure he's working on it 05:22 < dfc> cool 05:22 -!- JusticeFries [~JusticeFr@c-24-9-171-36.hsd1.co.comcast.net] has quit [Quit: JusticeFries] 05:22 < dfc> as i suddently discovered a great use for gofmt rewrite 05:22 <@adg> he's just working on a rather large chunk of code at the moment (type annotations for go/ast) 05:23 < dfc> yeah 05:23 < dfc> i figured it would get fixed 05:23 <@adg> i think the rewrite feature is a bit of a bear 05:23 <@adg> it probably needs to be rewritten itself 05:23 -!- anth [~a@72-160-85-120.dyn.centurytel.net] has quit [Quit: anth] 05:23 -!- Border [~Border@123.122.64.140] has quit [Quit: 暂离] 05:33 -!- araujo [~araujo@gentoo/developer/araujo] has quit [Quit: Leaving] 05:45 -!- ExtraSpice [XtraSpice@88.118.35.153] has joined #go-nuts 05:46 -!- gaxxx [~woo@219.143.166.16] has quit [Ping timeout: 246 seconds] 05:49 -!- tensai_cirno [~cirno@194.154.66.197] has quit [Read error: Connection reset by peer] 05:49 -!- tensai_cirno [~cirno@194.154.66.197] has joined #go-nuts 05:50 -!- gaxxx [~woo@219.143.166.16] has joined #go-nuts 05:59 -!- nettok [~quassel@200.119.156.95] has quit [Ping timeout: 248 seconds] 06:13 -!- tensai_cirno [~cirno@194.154.66.197] has quit [Read error: Connection reset by peer] 06:14 -!- cirno_ [~cirno@194.154.66.197] has joined #go-nuts 06:22 -!- nixness [~dsc@78.101.39.238] has joined #go-nuts 06:22 -!- mikespook1 [~mikespook@219.137.50.194] has joined #go-nuts 06:24 -!- foocraft [~dsc@89.211.240.206] has quit [Ping timeout: 260 seconds] 06:25 -!- cafesofie [~cafesofie@ool-4a5a6ee5.dyn.optonline.net] has quit [Remote host closed the connection] 06:25 -!- mikespook [~mikespook@219.137.234.21] has quit [Ping timeout: 276 seconds] 06:36 -!- vsayer [~vivek@c-67-170-236-166.hsd1.ca.comcast.net] has quit [Read error: Connection reset by peer] 06:36 -!- randfur [~AndChat@58.145.148.59] has joined #go-nuts 06:38 -!- vsayer [~vivek@c-67-170-236-166.hsd1.ca.comcast.net] has joined #go-nuts 06:43 -!- zimsim [~simon@87.72.77.195] has joined #go-nuts 06:45 -!- bortzmeyer [~bortzmeye@batilda.nic.fr] has joined #go-nuts 07:03 -!- gaxxx [~woo@219.143.166.16] has quit [Ping timeout: 276 seconds] 07:04 -!- saati [~bjb@marvin.harmless.hu] has joined #go-nuts 07:07 -!- Viriix [~joseph@c-67-169-172-251.hsd1.ca.comcast.net] has quit [Quit: Leaving] 07:08 -!- cirno_ [~cirno@194.154.66.197] has quit [Quit: Leaving] 07:08 -!- cirno_ [~cirno@194.154.66.197] has joined #go-nuts 07:10 -!- gaxxx [~woo@219.143.166.16] has joined #go-nuts 07:15 -!- piranha [~piranha@D57D1AB3.static.ziggozakelijk.nl] has joined #go-nuts 07:16 -!- archevan [~archevan@67.69.227.99] has joined #go-nuts 07:22 -!- foocraft [~dsc@78.101.39.238] has quit [Quit: Leaving] 07:29 -!- cirno_ [~cirno@194.154.66.197] has quit [Read error: Connection reset by peer] 07:29 -!- cirno_ [~cirno@194.154.66.197] has joined #go-nuts 07:32 -!- randfur [~AndChat@58.145.148.59] has quit [Ping timeout: 248 seconds] 07:34 -!- |Craig| [~|Craig|@panda3d/entropy] has quit [Quit: |Craig|] 07:35 -!- sacho [~sacho@87-126-50-194.btc-net.bg] has joined #go-nuts 07:40 -!- dave [~dfc@eth59-167-133-99.static.internode.on.net] has joined #go-nuts 07:44 -!- dfc [~dfc@eth59-167-133-99.static.internode.on.net] has quit [Ping timeout: 246 seconds] 07:44 -!- Guest83621 [~dfc@eth59-167-133-99.static.internode.on.net] has quit [Ping timeout: 252 seconds] 07:52 -!- cirno_ [~cirno@194.154.66.197] has quit [Quit: Leaving] 07:52 -!- kr [~kr@c-24-5-193-165.hsd1.ca.comcast.net] has joined #go-nuts 08:05 -!- kr [~kr@c-24-5-193-165.hsd1.ca.comcast.net] has quit [Remote host closed the connection] 08:28 < xyproto> . int Go means the same as -> in C, right? 08:29 < xyproto> typo 08:29 < xyproto> . in Go means the same as -> in C, right? 08:29 < mpl> xyproto: not only, but yes. 08:29 < mpl> xyproto: it allows you to access the fields of the struct, interface, etc, and you don't have to care about the level of indirection. 08:29 < xyproto> mpl: does . have other uses as well? I understand if there are slight differences in implementation, but the idea is the same, right? 08:30 < xyproto> mpl: ah, so "." can reference several pointers deep down? 08:30 < xyproto> mpl: ? 08:30 < mpl> xyproto: what I mean is whether foo is a pointer to a struct or a struct, you will access its members with . in both cases. 08:31 < xyproto> mpl: I see. So it can be used for both variables that are pointers and variables that are not pointers, but will still access the members, right. 08:31 < mpl> afaiu, yes. 08:32 < xyproto> mpl: great, thanks. Just trying to nail my understanding of Go. :) 08:34 -!- itrekkie [~itrekkie@ip72-211-131-205.tc.ph.cox.net] has quit [Quit: itrekkie] 08:45 -!- araujo [~araujo@gentoo/developer/araujo] has joined #go-nuts 08:45 -!- Scorchin [~Scorchin@host86-150-164-3.range86-150.btcentralplus.com] has joined #go-nuts 08:47 -!- Adys [~Adys@unaffiliated/adys] has quit [Ping timeout: 246 seconds] 08:48 < xyproto> How come "p := &&x" couldn't be shorthand for "t := &x; p := &t"? 08:48 -!- bortzmeyer [~bortzmeye@batilda.nic.fr] has quit [Quit: Leaving.] 08:49 < xyproto> The color of the bikeshed? 08:52 -!- benjack [~benjack@bb119-74-104-165.singnet.com.sg] has quit [Quit: Leaving.] 08:53 < KirkMcDonald> &foo is an rvalue, apparently. 08:58 -!- wrtp [~rog@2.97.144.60] has joined #go-nuts 08:59 < xyproto> KirkMcDonald: yes, I guess it could be concluded with that 09:12 < nsf> uhm, I work on multiple return values typechecks and I'm wondering what do you think about that: func Foo() (int, int); a, b, c := 1, Foo() 09:12 < nsf> should it be possible? 09:13 < nsf> because I think it's technically possible to do so 09:14 < xyproto> nsf: at first, I thought: "hey, that looks nice", but then I though, "what if Foo() returns "int, (int, int)". These things can quickly become hard to judge if they are deeply nested or flattened, at a glance." 09:14 < nsf> uhm what? it's not possible 09:14 < nsf> int, (int, int) is invalid syntax 09:14 < xyproto> nsf: I may have misunderstood. What is the context? Go, or a new language? 09:15 < nsf> func Foo() (int, int); // <- that's a valid Go function with multiple return values 09:15 < xyproto> nsf: right 09:15 < nsf> a, b, c := 1, Foo(); // <- that's an invalid Go statement, you can't do that in Go 09:15 < xyproto> nsf: I thought you were discussing a new language 09:15 < nsf> and I'm wondering should I make it valid or not 09:16 < nsf> yes, in my language :) 09:16 < nsf> because: why not? :) 09:16 < nsf> you can do: a, b := Foo() in go 09:16 < nsf> but not: a, b, c := 1, Foo() 09:17 < wrtp> only if Foo() is at the end of the expression, right? 09:17 < xyproto> nsf: well, I think not allowing := 1, Foo() is nicer, but that's me 09:17 < nsf> wrtp: no 09:17 < nsf> a, b, c := Foo(), 3 09:17 < nsf> should work as well, why not? :) 09:17 < nsf> we know the number of return values of Foo, we can figure this out in the compiler 09:18 < xyproto> nsf: in the case of "a, b, c := Foo(), 3", you can't tell if Foo() should return 2 values, or if there's a missing value at the end, just from looking at the line 09:18 < nsf> xyproto: uhm, but I don't think compiler cares 09:18 < wrtp> nsf: when would it actually be useful? 09:18 < xyproto> nsf: in the case of "a, b := Foo()" you can't either, but it feels safer to assume that Foo() should return two values in that case. 09:19 < nsf> compiler simply will say: 3 vs. 2 values in assignment error 09:19 < nsf> wrtp: I don't know 09:19 < xyproto> nsf: yes, I'm thinking about reading the sourcecode of others 09:19 < wrtp> then it's probably not worth the added complexity 09:20 < wrtp> nsf: better would be to allow tuples IMHO 09:20 < nsf> I think about that as generalizing concepts of multiple return values 09:20 < wrtp> that's the most frustrating feature of go for me 09:20 < nsf> they are like tuples indeed 09:20 < wrtp> yeah, but multiple return values are different 09:20 < nsf> but internally, in the compiler 09:21 < wrtp> because of the overloading on assignment 09:21 < wrtp> x, ok := someMap[foo] 09:21 < wrtp> maybe the type of someMap is map[int] (int, bool) 09:22 < nsf> wrtp: yeah, I won't do that 09:22 < nsf> I don't need actual tuples 09:22 < nsf> but generalizing concept of multiple return values is a nice thing to me 09:23 < nsf> another example from Go: 09:23 < wrtp> also there's the rule that fmt.Println(os.Open("foo")) will work 09:23 < wrtp> and give each return value as a separate arg to Println 09:23 < nsf> func PrintAB(a, b int); func GetAB() (int, int); PrintAB(GetAB()); 09:23 < nsf> that is a valid Go 09:23 < nsf> but something like: PrintABC(GetAB(), 3); 09:23 < nsf> is not 09:23 < wrtp> exactly, but if you generalised multiple return values, you couldn't allow it 09:24 < nsf> why? 09:24 < wrtp> (PrintAB(GetAB())) that is 09:24 < nsf> I think you misunderstand what I'm trying to do :) 09:25 < wrtp> say PrintAB had the type func(t (int, bool)) 09:25 < wrtp> and GetAB had the type func() (int, bool) 09:25 < nsf> I don't want to do that 09:25 < nsf> you misunderstood me 09:25 < nsf> I don't want tuple in the language :) 09:25 < nsf> tuples* 09:25 < wrtp> ok 09:25 < nsf> I want proper tuples in the compiler 09:26 < nsf> because the way Go handles multiple return values is hacky 09:26 < wrtp> so what do you mean by "generalising multiple return values'? 09:26 < nsf> changing semantics slightly 09:26 < nsf> allowing these examples 09:26 < nsf> a, b, c := GetAB(), 3 09:26 < nsf> PrintABC(GetAB(), 3) 09:26 < nsf> without adding anything to the language 09:26 -!- Adys [~Adys@unaffiliated/adys] has joined #go-nuts 09:27 < nsf> does it make sense? 09:27 < wrtp> what about fmt.Println("something", os.Open("foo"), "and", os.Open("bar")) ? 09:27 < nsf> it should work as well, why not? 09:28 < nsf> the number of arguments and their types are known at compile time 09:28 < nsf> but it can lead to a certain amount of confusion 09:28 < nsf> that's what bothers me 09:28 < wrtp> what about fmt.Println("foo", someArgs...) 09:29 < wrtp> i think that's more problematic, but it's a different isue 09:29 < wrtp> issue 09:29 < nsf> wrtp: ... should be at the end anyway 09:29 < nsf> and in Go it's dynamic 09:29 < nsf> I don't have slices, I haven't though about varargs for functions yet 09:29 < wrtp> you can't do that in go 09:30 < wrtp> lol 09:30 < nsf> what's the type of someArgs? 09:30 < wrtp> []interface{} 09:30 < nsf> ah, I see 09:30 < nsf> but I think it's possible, why not? :) 09:30 < nsf> especially in Go 09:30 < wrtp> because it requires copying the someArgs slice 09:31 < wrtp> which fmt.Println(someArgs...) does not 09:31 < nsf> then just do that, compiler manages all the memory anyway 09:31 < wrtp> i think it's better for it to be explicit 09:31 < nsf> Go feels perfectly fine copying chunks of slices when doing []byte <-> string conversions 09:31 < wrtp> fmt.Println(append([]interface{}{"foo"}, someArgs)) 09:32 < nsf> you forgot ... 09:32 < nsf> anyways, we'll see 09:32 -!- mikespook1 [~mikespook@219.137.50.194] has quit [Quit: Leaving.] 09:32 < nsf> at the moment I will make it possible: a, b, c := Foo(), 3 09:33 < nsf> it can be restricted later 09:33 < nsf> just an interesting puzzle to solve in the compiler code :) 09:33 -!- virtualsue [~chatzilla@nat/cisco/x-sdltqfnekykoohtr] has joined #go-nuts 09:34 -!- pilgrum [~pilgrum@cpe-67-49-71-222.socal.res.rr.com] has joined #go-nuts 09:35 < wrtp> try writing out the specification of the feature first 09:35 < wrtp> often a good way to find out how complex a language feature is 09:37 < nsf> it's not complex, but that's because I don't have varargs as in Go and probably will never have 09:37 < nsf> because when you write: fmt.Println(1, 2, 3, 4, 5, 6, 7, 8, 9, 0); 09:37 < wrtp> i think my problem with the feature is that if i see: a, b, c, d := Foo(), Bar() i don't know where the value of each variable has come from without looking at the types of Foo and Bar 09:37 < nsf> Go actually allocates a 10 element []interface{} slice for you 09:37 < nsf> and makes 10 interfaces 09:38 < wrtp> so no printf? 09:38 < nsf> wrtp: yeah, that's what I'm afraid of 09:38 < nsf> wrtp: no, I will have printf of course, because I claim to support everything C has 09:38 < nsf> but maybe it will be as in C 09:38 < nsf> unsafe 09:39 < wrtp> with escape analysis go won't need to do the allocation for varargs 09:39 < nsf> true 09:40 < nsf> that's the problem to solve after I have a working C milestone (which is a version of my language that supports all C features and can import C headers directly) 09:40 < nsf> interfaces storage problem without GC is an open question to me 09:41 -!- Adys [~Adys@unaffiliated/adys] has quit [Read error: Connection reset by peer] 09:42 < nsf> the next problem with varargs is the lack of slices :) 09:42 < nsf> probably it should be a special kind of a composite type 09:43 < nsf> that has a pointer to an array and a number of elements in that array 09:43 < nsf> like: ...int is the same as: struct { elements *int; num int; } 09:43 < nsf> ...interface{} would be: struct { elements *interface{}; num int; } 09:44 < wrtp> oh yes, if you generalise multiple return values, what about this: x, y := func()int{return 1}(), func(){}, func()}{}(), func()int{return 2}() 09:44 < wrtp> or the equivalent without closures, which you won't have, presumably 09:44 < nsf> yes :) 09:44 -!- Adys [~Adys@unaffiliated/adys] has joined #go-nuts 09:44 < nsf> I don't have them 09:44 < nsf> and I'm trying to parse your statement :) 09:45 < nsf> I think it's invalid 09:45 < nsf> there is an unmatched curly brace somewhere 09:45 < nsf> in the middle :) 09:45 < wrtp> why - if you can interleave n return values, why not when n==0 09:46 < nsf> func()}{}() 09:46 < nsf> that's invalid 09:46 < nsf> typo? 09:46 < wrtp> oh yes, typ 09:46 < wrtp> o 09:46 < wrtp> here, i'll phrase it better: 09:46 < wrtp> func foo() int { return 1 } 09:46 < wrtp> func bar() { } 09:46 < nsf> and you can't do that, because using function without a return value in a value context is ugly 09:46 < wrtp> x, y := foo(), bar(), foo() 09:46 < nsf> yeah, that would be an error 09:47 < nsf> bar doesn't return anything 09:47 < wrtp> so your multiple return values aren't *that* generalised... 09:47 < nsf> bar doesn't have a return value 09:47 < wrtp> it's got zero return values 09:47 < nsf> I think you think in a weird C++ way 09:47 < nsf> no 09:47 < wrtp> you'd have to make it a special case 09:48 < nsf> it's not special 09:48 < nsf> I work with list of values, bar() is not a value 09:48 < wrtp> func three() (int, int, int){return 0, 1, 2}; func two() (int, int) { return 3, 4} 09:48 < wrtp> a, b, c, d, e := two(), three() 09:49 < wrtp> a list can have zero length 09:49 < nsf> and where is it? 09:49 -!- arun_ [~arun@unaffiliated/sindian] has joined #go-nuts 09:49 < nsf> ok, nevermind 09:49 < nsf> that's the example I don't like btw 09:49 < wrtp> me neither 09:50 < wrtp> because you can't see where the values are coming from 09:50 < xyproto> wrtp: that was my exact argument as well :) 09:50 < wrtp> same with: foo(two(), three()) 09:50 < nsf> yeah, I guess I'm saying goodbye to that feature 09:50 -!- j3parker [j3parker@artificial-flavours.csclub.uwaterloo.ca] has quit [Ping timeout: 248 seconds] 09:50 < nsf> a, b, c := two() 09:51 < nsf> oops 09:51 < nsf> a, b := two() 09:51 < nsf> c, d, e := three() 09:51 < nsf> is much cleaner 09:51 < nsf> enforcing it is a good idea 09:51 < wrtp> yup 09:52 -!- j3parker [j3parker@artificial-flavours.csclub.uwaterloo.ca] has joined #go-nuts 09:54 -!- rm445_ [rm445@pip.srcf.societies.cam.ac.uk] has quit [Remote host closed the connection] 09:54 < xyproto> I find it funny that ** is okay but not &&. Creating a function that does && is possible: func ampamp(x interface{}) **interface{} { p:= &x; return &p } 09:55 < nsf> xyproto: ** is different than && 09:56 < wrtp> xyproto: you can't take an address of a non-addressable value. 09:56 < nsf> * has a simple requirement to a type, it should be a pointer 09:56 < nsf> & has different requirement 09:56 < wrtp> you can't do &time.Nanoseconds() 09:56 < nsf> it should be an addressable value 09:56 < wrtp> for example 09:56 < xyproto> nsf: yes, yes, I know they are different 09:56 < wrtp> or &(1 + 2) 09:56 < nsf> but rvalue is not addressable 09:56 < nsf> and &x is an rvalue 09:56 < nsf> even though doesn't have a term like that 09:57 < nsf> it is an address of x, but it is not stored anywhere 09:57 < nsf> so you can't take an address of that address 09:57 < nsf> :) 09:57 < nsf> Go is confusing (a bit) 09:57 < xyproto> nsf: even though the rvalue-explanation is completely reasonable, I still think && should be possible, to be able to do something that is not, but behaves close to, the opposite behavior 09:57 < nsf> because it allows: &Struct{1, 2, 3} 09:57 < nsf> as an exception 09:58 < nsf> xyproto: no, it doesn't make sense to me 09:58 < nsf> first of all 09:58 < nsf> you don't need && 09:58 < nsf> ever 09:58 < nsf> it's just wrong code 09:58 < xyproto> nsf: I know it does not makes sanes to you, and it does not have to. What are you? The meaning-police? 09:58 < xyproto> *sense 09:58 < nsf> yes I am 09:58 < nsf> :) 09:58 < xyproto> nsf: I thought so 09:58 < xyproto> :D 09:59 < nsf> I am a common sense police 09:59 < nsf> &&x is stupid :) 09:59 < xyproto> nsf: good luck with enforcing your common sense 09:59 < nsf> but I will stop talking if there is at least one person who thinks &&x makes sense 09:59 < nsf> :) 10:00 < nsf> except xyproto of course 10:00 < xyproto> nsf: so now you're the enforcer of voting-regimes on irc as well. great. 10:01 < nsf> I'm trying to convince you that pointer to a pointer is a bad idea 10:01 < xyproto> nsf: you say that people misunderstand you when you're unable to express yourself. I think that is silly. If another person here thinks that's a great way to do it, I will stop talking about it. 10:02 <@adg> i think it's possible to conceive of a situation where you might legitimately use &&x. it would work in c 10:02 < nsf> adg: you must be kidding about C part right? 10:02 <@adg> but it's just not idiomatic go, because it's more strongly typed 10:02 < nsf> C++ uses && syntax for rvalue references 10:02 -!- hargettp [~hargettp@pool-71-174-131-114.bstnma.east.verizon.net] has joined #go-nuts 10:02 -!- pdamoc [~peter@medical-service.bacau.rdsnet.ro] has joined #go-nuts 10:02 -!- hargettp [~hargettp@pool-71-174-131-114.bstnma.east.verizon.net] has left #go-nuts [] 10:03 < xyproto> adg: I agree, and I also see why it would not be idiomatic go. 10:03 < nsf> I insist that it doesn't make sense in any language 10:03 < nsf> "idiomatic go" is a bad argument 10:04 < pdamoc> hello, is there a webpage dedicated to windows users? I'm looking for an all-in-one installer for go that doesn't force me to install the whole gcc toolchain 10:04 < nsf> pdamoc: http://code.google.com/p/gomingw/ 10:04 < nsf> but it looks out dated 10:05 < xyproto> pdamoc: How about this one? http://code.google.com/p/gomingw/downloads/list 10:05 < xyproto> pdamoc: yeah, same as the nsf link 10:05 < pdamoc> nsf: thanks 10:05 < pdamoc> xyproto: thanks :) 10:06 < xyproto> nsf: I think && makes sense, in the meaning that it's possible to understand what it could or should do. If it would actually be useful is another question. 10:07 < nsf> and what it could/should do? 10:07 <@adg> pdamoc: that version is the current 'release' version 10:07 <@adg> pdamoc: so it should be good to go 10:07 < xyproto> nsf: create pointers, so that (**(&&x)) would be x 10:07 < nsf> xyproto: "create pointers" is an abstract answer for a compiler, what code should it generate? 10:08 < nsf> &x is an address of x 10:08 < nsf> &&x is an address of address of x 10:08 < nsf> what's the address? 10:08 < pdamoc> adg: thanks for the info.... 10:08 < xyproto> nsf: "explaining how a compiler should do it" != doesn't make sense 10:08 < nsf> new temporary value on the stack? on the heap? 10:08 < nsf> xyproto: it's the only thing that always makes sense.. because that's what this is all about 10:08 < xyproto> nsf: yes, create temporary values, for instance. That would be up to the compiler, and beside my point. 10:09 < xyproto> nsf: no, that's what you're all about :) 10:09 < nsf> xyproto: most language restrictions come from the are of compiler implementation 10:09 < nsf> if the generated code doesn't make sense, then the feature doesn't make sense 10:10 < nsf> having such a pointer indirection is plain stupid 10:10 < xyproto> nsf: the generated code for (**(&&x)) could just be x 10:10 < nsf> but what about &&x 10:10 < nsf> should compiler allow &&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&x? 10:10 < nsf> creating 100 temporary values on the heap 10:10 < xyproto> nsf: why not? it does allow ****************x 10:11 < jnwhiteh> yeah I'm confused what the purpose of &&x in Go would be =) 10:11 < nsf> jnwhiteh: it doesn't have a purpose in any language 10:11 < nsf> xyproto just wants to chat 10:11 < xyproto> What is the purpose of having "+" when you can just subtract negative numbers? "+" have no meaning. 10:11 < xyproto> That's the same reasoning. 10:12 -!- marten [~marten@62.21.178.171] has joined #go-nuts 10:12 <@adg> nsf: actually you are 100% correct 10:12 < nsf> I agree with +, it should be removed as a redundant C feature 10:12 -!- gaxxx [~woo@219.143.166.16] has quit [Ping timeout: 246 seconds] 10:12 <@adg> &x is a value, not a variable 10:12 < xyproto> nsf: I hope everyone saying here wants to chat, or else they would be typing against their own will 10:12 < nsf> adg: everyone knows that, even xyproto 10:13 -!- arun_ [~arun@unaffiliated/sindian] has quit [Remote host closed the connection] 10:13 < nsf> adg: but he thinks it makes sense to make it a temporary variable if taking address of it 10:14 -!- arun_ [~arun@unaffiliated/sindian] has joined #go-nuts 10:14 < xyproto> okay, I'm not thinking compilers here, I'm thinking syntax. I think having the possibility of typing && as the "opposite" of ** would be nice. That's all. It doesn't go deeper than that for me. It should be possible to throw out an idea or want without being harassed by the meaning-police :) 10:14 <@adg> but what would you do with the address of a temporary variable? 10:14 < jnwhiteh> I think that obtaining a reference to a pointer type is clearly something that is unsafe and should not be supported by the language, but perhaps the unsafe package. 10:14 < xyproto> adg: I would say you find a place for the temporary variable, in the same was as the compiler would find a place for a regular variable 10:14 < jnwhiteh> xyproto: sure, you want them to syntactically be dual, that's fine.. but the problem is the *concept* doesn't make sense for Go 10:14 < nsf> xyproto: what an argument, it's possible to type: x++, why we can't type x** 10:15 < nsf> :) 10:15 < xyproto> jnwhiteh: I agree with that 10:15 < jnwhiteh> xyproto: that's all anyone is saying 10:15 < jnwhiteh> semantically it does not make sense 10:15 < jnwhiteh> therefore the syntax is irrelevant 10:15 < xyproto> nsf: all I was saying that _I_ think _it would be nice_. That's all. If you can't stand that, a) I don't understand why and b) it's your problem 10:16 < nsf> I'm just trying to convince you that this a bad idea 10:16 < xyproto> jnwhiteh: same thing for + 10:16 < nsf> and unary + has no meaning in Go absolutely, I agree 10:16 < jnwhiteh> no, because + fits in with the semantics of the language 10:16 < xyproto> okok, everyone, I'm officially giving up the idea of "&&". I won't mention it again, I promise. ok :) 10:17 < nsf> jnwhiteh: it doesn't have any semantics afaik 10:17 < nsf> +x == x 10:17 < nsf> all the semantics 10:17 -!- hopso [~hopso@a91-152-180-169.elisa-laajakaista.fi] has joined #go-nuts 10:17 < hopso> m 10:17 < nsf> an instrument of beauity though 10:17 < nsf> offset(+1) 10:17 < jnwhiteh> oh, didn't realize we were discussing unary + :P 10:17 < nsf> offset(-1) 10:17 <@adg> if you could do &(int(1)), it would make sense 10:18 < nsf> adg: same sense as &&x 10:18 <@adg> yes 10:18 < nsf> the problem with Go as I've mentioned earlier 10:18 < nsf> is confusion 10:18 < nsf> that created by: 10:18 < nsf> &Struct{1, 2, 3} 10:18 < nsf> exception 10:19 < nsf> you can take an address of a compound literal as an exception in Go 10:19 < nsf> which is a value as well 10:19 < nsf> and that's plain wrong 10:19 < nsf> but Go devs like it 10:19 < nsf> :\ 10:19 < jnwhiteh> aye, its one of those things that is easy to implement but can be quite confusing 10:20 < jnwhiteh> adg: paper was accepted =) 10:20 <@adg> jnwhiteh: nice! congrats 10:20 <@adg> i enjoyed reading it 10:21 < jnwhiteh> I've had to cut out the 'syntactic' bits of the Go introduction to shrink it down, but I still cover the most interesting and relevant bits 10:21 <@adg> nsf: it allows it because it is really convenient 10:21 -!- Project-2501 [~Marvin@82.84.72.58] has joined #go-nuts 10:21 <@adg> there are other conveniences, too, that cause inconsistencies 10:21 < jnwhiteh> wish the http/memory deadlock didn't exist so I had better performance results, but alas =) 10:21 -!- dfc [~dfc@124-149-102-212.dyn.iinet.net.au] has joined #go-nuts 10:21 -!- dfc [~dfc@124-149-102-212.dyn.iinet.net.au] has quit [Client Quit] 10:22 -!- saturnfive [~saturnfiv@210.74.155.131] has quit [Read error: Connection reset by peer] 10:22 < jnwhiteh> I'm glad that other people have been able to reproduce the issues I was experiencing 10:22 < nsf> adg: that's the main Go problem, convenience sometimes wins clarity 10:22 <@adg> like the "chan T" form, vs "*T" - should it instead by "ptr T", leaving * as the unambiguous dereference unary operator? 10:22 < nsf> in fact that's what happend with C++ 10:22 <@adg> nsf: i don't see how it's a problem, though. 10:23 < nsf> adg: I tend to think that it's a strategic problem (e.g. long-term problem) 10:23 < nsf> can't prove it though 10:24 < nsf> if in 10 years Go won't be overloaded by convenience features - great :) 10:24 <@adg> think about the longevity of C 10:24 <@adg> it's a very flawed language i many ways, but it has persisted none the less 10:24 -!- Project_2501 [~Marvin@82.84.84.100] has quit [Ping timeout: 260 seconds] 10:24 < nsf> C was lucky, because it's the first language of its breed appeared so early in computer industry 10:25 < xyproto> okok, another idea, how about a new symbol, "¤", perhaps, that will dereference any pointer-structure until it reaches a value. So that a ¤***x is x. Great, huh? :) 10:25 <@adg> i think Go strikes a similar balance between convenience and power, a balance that's more relevant to modern programming 10:25 -!- gaxxx [~woo@219.143.166.16] has joined #go-nuts 10:25 < nsf> adg: and C had no real opponents, Go has 10:25 < nsf> but yeah 10:25 < nsf> maybe it's the right approach 10:25 < nsf> I don't know 10:25 < nsf> time will show 10:26 <@adg> xyproto: well struct fields deference automatically, so that kinda already happens 10:26 < xyproto> adg: but, that's only two levels deep? or? 10:26 <@adg> xyproto: usually once you go a couple of indirections in, you're talking about more complex values than pointers alone 10:26 < nsf> xyproto: only one implicit dereference is allowed 10:27 < nsf> for var x *T; x.a is the same as (*x).a 10:27 <@adg> xyproto: what i mean is like req.URL.Path, where req is a *http.Request and req.URL is an *http.URL 10:27 < xyproto> nsf: yes, but **T can't be reached that way 10:28 < nsf> xyproto: that's why I'm saying it's only one implicit dereference :) 10:28 < xyproto> nsf: right :) 10:28 < jnwhiteh> adg: has there been any talk of taking some work from the ccsp scheduler in the kroc occam compiler and applying that to Go? 10:29 <@adg> jnwhiteh: if there is, i don't know about it 10:29 < jnwhiteh> fair enough 10:30 < jnwhiteh> I wish my research was more in that direction, would love to work on that =) 10:30 < jnwhiteh> their scheduler is quite good and it would be a good addition to Go =) 10:33 < wrtp> adg: i think it's possible to conceive of a situation where you might legitimately use &&x. it would work in c 10:33 < wrtp> it doesn't work in C 10:33 <@adg> no it doesn't, i tried too 10:33 <@adg> ;) 10:33 < wrtp> same reason 10:33 <@adg> yes 10:33 <@adg> i arrived at this conclusion :) 10:34 < wrtp> i saw russ write that if doing it again, (*T){...} might be a better syntax for struct literals 10:34 < wrtp> more typing though 10:36 < wrtp> i sometimes miss the limbo "ref" operator, which makes a new reference as a copy of a value. 10:36 < wrtp> you could do it in go 10:37 < wrtp> e.g. x := 5; y := ref(x) 10:37 < wrtp> === x := 5; y := new(int); *y = x 10:37 -!- rlab [~Miranda@91.200.158.34] has joined #go-nuts 10:38 < wrtp> then the reason for xyproto's universal & operator goes away 10:38 < xyproto> wrtp: good point. Thanks for trying it in C as well, btw :) 10:38 -!- zimsim [~simon@87.72.77.195] has quit [Quit: /dev/null] 10:38 -!- zimsim [~simon@87.72.77.195] has joined #go-nuts 10:39 < wrtp> it's sometimes annoying that there's no way of allocating and copying in the same expression. 10:40 < wrtp> and &T{1, 2, 3} could be written ref(T{1,2,3}) 10:41 < jnwhiteh> but that's an extra copy, no? 10:41 < jnwhiteh> based on what you've said 10:42 < jnwhiteh> seems like that's a bad thing given how often composite literal syntax is used 10:42 < wrtp> jnwhiteh: not necessarily, because the compiler can easily work out that it doesn't need extra space 10:43 < wrtp> so it could be exactly the same efficiency as &T{1,2,3} 10:43 < jnwhiteh> fair 10:44 < wrtp> same as *x = T{1,2,3} - i don't know whether the compiler uses extra space or not 10:46 -!- pdamoc [~peter@medical-service.bacau.rdsnet.ro] has quit [Quit: pdamoc] 10:58 -!- saschpe_ [~quassel@opensuse/member/saschpe] has joined #go-nuts 10:59 -!- saturnfive [~saturnfiv@219.144.192.123] has joined #go-nuts 11:01 -!- saturnfive [~saturnfiv@219.144.192.123] has left #go-nuts [] 11:05 -!- skejoe [~skejoe@188.114.142.217] has joined #go-nuts 11:06 -!- virtualsue [~chatzilla@nat/cisco/x-sdltqfnekykoohtr] has quit [Ping timeout: 258 seconds] 11:09 -!- Natch| [~natch@c-84cce155.25-4-64736c10.cust.bredbandsbolaget.se] has quit [Read error: Operation timed out] 11:12 -!- rlab [~Miranda@91.200.158.34] has quit [Ping timeout: 276 seconds] 11:16 -!- niemeyer [~niemeyer@201-11-241-2.pltce701.dsl.brasiltelecom.net.br] has joined #go-nuts 11:20 -!- wrtp [~rog@2.97.144.60] has quit [Quit: wrtp] 11:25 -!- rlab [~Miranda@91.200.158.34] has joined #go-nuts 11:28 <@adg> instead of allowing new(T{1,2,3}), i would prefer some new symbol analgous to the & in &T{1,2,3} 11:28 <@adg> x := @T{1,2,3} 11:28 <@adg> i := @1 // i := new(int); i = 1 11:28 <@adg> although i'm not wild about @ 11:30 < nsf> having a new symbol just for one special case is not an option 11:30 <@adg> it actually becomes more general this way 11:31 < nsf> maybe, I don't know 11:31 < nsf> I don't like it :) 11:31 <@adg> i don't either, really 11:31 < zimsim> I dont like @ 11:31 < zimsim> reminds me of bad things ... 11:31 < zimsim> :p 11:31 <@adg> @ is just a placeholder, not a real suggestion 11:31 < nsf> why people so like &Struct{} 11:31 < zimsim> I know, just saying 11:31 < nsf> I don't understand 11:32 <@adg> nsf: it's convenient 11:32 < nsf> the should use C++ some time 11:32 < nsf> and see what is really inconvenient :) 11:34 < nsf> s/the/they/ 11:39 <@adg> yeah but just because c++ is inconvenient doesn't mean we should compromise on convenience in go 11:45 -!- tvw [~tv@212.79.9.150] has joined #go-nuts 11:49 -!- zozoR [~Morten@5634631b.rev.stofanet.dk] has quit [Remote host closed the connection] 11:52 -!- zimsim [~simon@87.72.77.195] has quit [Remote host closed the connection] 11:52 < nsf> adg: I'm just trying to say that there is nothing inconvenient in writing: x := Struct{1, 2, 3}; return &x; 11:53 < mpl> hmm, I can't find the precedence for the inderection stuff. for example if I want the adress of the foo member of bar, do I need &(bar.foo) or can I drop the paren? 11:53 < nsf> I know some people don't like to write that kind of stuff: 11:53 < nsf> x := Struct{1, 2, 3}; 11:53 < nsf> Foo(1, 2, 3, &x); 11:53 < nsf> they want 11:53 < nsf> Foo(1, 2, 3, &Struct{1, 3, 3}); 11:53 < nsf> instead 11:53 -!- saschpe_ [~quassel@opensuse/member/saschpe] has quit [Ping timeout: 258 seconds] 11:53 < nsf> but I can hardly call it inconvenience 11:53 -!- pilgrum [~pilgrum@cpe-67-49-71-222.socal.res.rr.com] has quit [Read error: Connection reset by peer] 11:54 <@adg> what is it then? it seems the very definition of a convenient feature to me. 11:55 < nsf> maybe, but to me the main reason to have a bit of syntax sugar is to be able to remove repetition 11:56 < nsf> like: Struct *x = new Struct(1, 2, 3); // that is really bad 11:56 < nsf> having to type "Struct" twice kills me :) 11:56 < nsf> and the feature with & is questionable 11:57 < nsf> it won't save many lines of code 11:58 < nsf> for example Go chooses i++ to be a statement and not an expression 11:58 < nsf> to me that is convenient sometimes as well: for i-- { ... } 11:58 < nsf> but it doesn't change the weather :) 12:05 -!- GilJ [~GilJ@zeus.ugent.be] has quit [Ping timeout: 240 seconds] 12:06 -!- rlab [~Miranda@91.200.158.34] has quit [Ping timeout: 248 seconds] 12:06 -!- gaxxx [~woo@219.143.166.16] has quit [Remote host closed the connection] 12:10 -!- zerosanity [~josh@8.20.178.82] has joined #go-nuts 12:12 -!- GilJ [~GilJ@zeus.ugent.be] has joined #go-nuts 12:19 -!- Fish- [~Fish@exo3753.pck.nerim.net] has quit [Ping timeout: 246 seconds] 12:20 -!- Fish- [~Fish@exo3753.pck.nerim.net] has joined #go-nuts 12:22 -!- vsayer [~vivek@c-67-170-236-166.hsd1.ca.comcast.net] has quit [Read error: Operation timed out] 12:25 -!- kvey_ [~coltonpie@75-164-97-85.tcso.qwest.net] has joined #go-nuts 12:27 -!- kvey_ [~coltonpie@75-164-97-85.tcso.qwest.net] has quit [Client Quit] 12:28 -!- kvey [~coltonpie@75-164-97-85.tcso.qwest.net] has joined #go-nuts 12:30 -!- virtualsue [~chatzilla@64.103.87.31] has joined #go-nuts 12:32 -!- vsayer [~vivek@c-67-170-236-166.hsd1.ca.comcast.net] has joined #go-nuts 12:44 -!- rlab [~Miranda@91.200.158.34] has joined #go-nuts 12:44 -!- tensai_cirno [~cirno@80.250.216.102] has joined #go-nuts 12:45 -!- skejoe [~skejoe@188.114.142.217] has quit [Ping timeout: 246 seconds] 12:46 -!- katakuna [~pie@kjal.demon.co.uk] has joined #go-nuts 12:49 -!- bortzmeyer [~stephane@2a01:e35:8bd9:8bb0:1921:aac6:8b90:c2cd] has joined #go-nuts 12:50 -!- jgonzalez [~jgonzalez@173-14-137-134-NewEngland.hfc.comcastbusiness.net] has joined #go-nuts 12:51 -!- simply_b_ [~simply_b@66-189-220-223.dhcp.knwc.wa.charter.com] has quit [Read error: Connection reset by peer] 12:51 -!- simply_b_ [~simply_b@66-189-220-223.dhcp.knwc.wa.charter.com] has joined #go-nuts 12:55 -!- rejb [~rejb@unaffiliated/rejb] has joined #go-nuts 12:59 < joelkronander> What are the best options for image handling/image processing in go currently? 12:59 < joelkronander> is there any package availabe? 12:59 < mpl> http://golang.org/pkg/image/ 13:00 < joelkronander> I see there is some not-so-updated OpenCV wrapper 13:00 < joelkronander> ok 13:00 < hopso> I think there are packages for some formats like png. I'm nut sure about processing them. 13:00 < mpl> there's encoding and decoding for png. no encoding for jpg yet. 13:00 < joelkronander> ok 13:01 < joelkronander> For basic image processing, anything? like gaussian filterign etc? 13:01 < mpl> maybe in the exp stuff 13:01 < joelkronander> What are the plans for iamge package, expand to basic image procc to? 13:01 < joelkronander> exp stuff? 13:01 < mpl> I have starting an image scaling lib, but I've stalled 13:01 < mpl> s/starting/started/ 13:02 < xyproto> joelkronander: what's the intended use? 13:02 < mpl> http://golang.org/pkg/exp/draw/ 13:03 < joelkronander> intended use is for basic experimenting with image processing, filtering, and basic computer vision applications 13:03 < xyproto> joelkronander: so, calling imagemagic may be an option? 13:03 < xyproto> imagemagick, sorry 13:04 < joelkronander> yes, there is a wrapper then i assume? 13:04 < mpl> adg: I have a problem with gob, I'm probably missing something about this flattening business. I'm passing a *[]string as a member of my struct, and it doesn't have the same value (when I print it) on both sides. what am I doing wrong? 13:04 < xyproto> joelkronander: not that I know of, but I know that the commandline-version is used by several web-page-systems that deals with images 13:04 < xyproto> joelkronander: it should be realtively easy to wrap, though 13:04 < mpl> yah, I just call image magick in gogallery. 13:04 < joelkronander> ok 13:06 -!- virtualsue [~chatzilla@64.103.87.31] has quit [Ping timeout: 258 seconds] 13:07 < xyproto> if a variable is supposed to have three possible values, what's the quickest/best implementation? Two bools? A byte? An int? Together with three consts? 13:07 < xyproto> three different possibilities 13:08 < xyproto> say, the values can be 0, 1 or 2 13:08 < xyproto> but it does not have to be represented by numbers 13:11 < nsf> int 13:11 < nsf> unless there are tight requirements for memory 13:12 < nsf> then you need to emulate something like C's bit fields 13:12 < xyproto> nsf: I see. Thanks, man :) 13:12 < nsf> also there are few very dangerous low level tricks available 13:13 < nsf> for example if I remember correctly 13:13 < nsf> first two bits of every pointer returned by malloc on a concrete system (say linux, x86) 13:13 < nsf> are always 0 13:13 < nsf> you can store your three states value here :) 13:13 < nsf> but it's a very tricky stuff :D 13:14 < xyproto> I see :) 13:15 < nsf> or well.. a less dangerous way is to use a part of the int or something to do the same 13:15 < nsf> like 32 bit integer, take 2 bits for state, leave 30 bits for integer 13:16 < nsf> ok, I'm stopping 13:16 < nsf> there are many choices :) 13:16 -!- karpar [~user@112.96.225.25] has joined #go-nuts 13:16 -!- skejoe [~skejoe@188.114.142.217] has joined #go-nuts 13:18 -!- artefon [~thiago@187.20.195.213] has joined #go-nuts 13:20 -!- virtualsue [~chatzilla@nat/cisco/x-tswpwddamzyqotbj] has joined #go-nuts 13:23 < xyproto> just using "int" sounds like the simple choice 13:24 < nsf> it should be default 13:25 < nsf> for example using byte in C (char) for a single field doesn't make sense, because the end result will be most likely aligned to 4 bytes anyway 13:25 < nsf> and allocator probably can't use 1 byte memory, more likely 3 bytes will be wasted anyway 13:25 < nsf> but if you have multiple fields you can use part of their memory for these 4 bits 13:26 < nsf> or just add int :) 13:26 < nsf> also knowing a potential amount of objects with this field helps 13:27 < nsf> then you can figure out potential overhead :) 13:27 < nsf> for example int is ~400kb of overhead for 100000 object 13:27 < nsf> objects* 13:32 < xyproto> I see. 13:32 < xyproto> How can one make a slice of nil-values, btw? 13:32 < aiju> what do you mean? 13:32 < aiju> make([]type, n)? 13:33 < xyproto> aiju: uninitialized values, that are nil 13:33 < xyproto> aiju: [nil nil nil] 13:33 < aiju> yeah make([]type, n) 13:33 < xyproto> aiju: of type, *int, for instance 13:33 < aiju> make([]*int, 42) 13:34 < nsf> nil is the default value 13:34 < nsf> yeah, just make a slice of the required size 13:34 < nsf> everything will be default initialized 13:34 < xyproto> ah, yes, it works. Thanks. 13:34 < xyproto> I feared they would all be initialized by make 13:34 < xyproto> (to something other than nil) 13:35 < xyproto> great stuff 13:46 -!- imsplitbit [~imsplitbi@64.39.4.132] has joined #go-nuts 13:49 < skelterjohn> only things that make inits to something other than nil are chans and maps 13:49 < mpl> adg: nm my last remark, I got confused because I had two processes of the same program running. 14:04 -!- femtoo [~femto@95-89-249-242-dynip.superkabel.de] has joined #go-nuts 14:05 < plexdev> http://is.gd/BfZaP7 by [Alex Brainman] in go/src/cmd/gotest/ -- gotest: handle \r\n returned by gomake on Windows (fixes build) 14:07 -!- rejb [~rejb@unaffiliated/rejb] has quit [Ping timeout: 246 seconds] 14:15 -!- iant [~iant@67.218.107.170] has joined #go-nuts 14:15 -!- mode/#go-nuts [+v iant] by ChanServ 14:22 < xyproto> how can I add a slice to a slice? I've tried append, but it says: cannot use additional (type []Position) as type Position in append 14:22 < xyproto> and I call it this way: points = append(points, additionalPoints) 14:22 <+iant> s = append(s, s1...) 14:23 <+iant> points = append(points, additionalPoints...) 14:23 -!- skejoe [~skejoe@188.114.142.217] has quit [Quit: Lost terminal] 14:23 < xyproto> iant: ah, the variadic notation, thanks :) 14:23 < xyproto> iant: it worked! Thanks 14:26 < kamaji> I just ran into that yesterday :D 14:26 < kamaji> mange tout in sandwich = weird 14:26 < kamaji> incidentally. 14:26 -!- hopso [~hopso@a91-152-180-169.elisa-laajakaista.fi] has quit [Remote host closed the connection] 14:31 -!- meanburrito920 [~john@unaffiliated/meanburrito920] has joined #go-nuts 14:31 -!- zimsim [~simon@87.72.77.195] has joined #go-nuts 14:32 -!- warz [~warz@pdpc/supporter/student/warz] has joined #go-nuts 14:33 -!- saschpe [~quassel@opensuse/member/saschpe] has joined #go-nuts 14:33 -!- savechina [~savechina@123.116.122.78] has joined #go-nuts 14:39 -!- anth [~a@72-160-85-120.dyn.centurytel.net] has joined #go-nuts 14:44 -!- kvey [~coltonpie@75-164-97-85.tcso.qwest.net] has quit [Ping timeout: 276 seconds] 14:48 < skelterjohn> mange tout in sandwich? eat everything in sandwich? 14:49 < aiju> haha 14:49 < skelterjohn> or did you typo "mange trout" 14:49 < skelterjohn> which sounds like a nasty meal 14:50 -!- artefon [~thiago@187.20.195.213] has quit [Ping timeout: 264 seconds] 14:50 -!- anth [~a@72-160-85-120.dyn.centurytel.net] has left #go-nuts [] 14:50 -!- warz [~warz@pdpc/supporter/student/warz] has left #go-nuts [] 14:53 < xyproto> Have a great weekend! 14:54 -!- iant [~iant@67.218.107.170] has quit [Quit: Leaving.] 15:01 -!- awidegreen [~quassel@c-0acfe555.08-2-73746f39.cust.bredbandsbolaget.se] has joined #go-nuts 15:02 -!- savechina [~savechina@123.116.122.78] has quit [Ping timeout: 246 seconds] 15:03 -!- iant [~iant@nat/google/x-zmiynpakdjldfcmc] has joined #go-nuts 15:03 -!- mode/#go-nuts [+v iant] by ChanServ 15:03 -!- savechina [~savechina@123.116.122.78] has joined #go-nuts 15:06 -!- Adys [~Adys@unaffiliated/adys] has quit [Remote host closed the connection] 15:07 -!- Adys [~Adys@unaffiliated/adys] has joined #go-nuts 15:07 < plexdev> http://is.gd/TbchY8 by [Russ Cox] in go/src/cmd/gofix/ -- gofix: be more conservative about rewrite to os.Create 15:10 -!- skelterjohn [~jasmuth@c-24-0-2-70.hsd1.nj.comcast.net] has quit [Quit: skelterjohn] 15:12 -!- piranha [~piranha@D57D1AB3.static.ziggozakelijk.nl] has quit [Quit: Computer has gone to sleep.] 15:12 -!- vsayer [~vivek@c-67-170-236-166.hsd1.ca.comcast.net] has quit [Read error: Connection reset by peer] 15:16 -!- Venom_X [~pjacobs@75-27-133-72.lightspeed.austtx.sbcglobal.net] has joined #go-nuts 15:18 -!- vsayer [~vivek@c-67-170-236-166.hsd1.ca.comcast.net] has joined #go-nuts 15:18 -!- savechina [~savechina@123.116.122.78] has quit [Quit: Leaving] 15:20 -!- meanburrito920 [~john@unaffiliated/meanburrito920] has quit [Read error: Operation timed out] 15:20 -!- JusticeFries [~JusticeFr@173-8-247-218-Colorado.hfc.comcastbusiness.net] has joined #go-nuts 15:20 -!- karpar [~user@112.96.225.25] has quit [Ping timeout: 252 seconds] 15:24 -!- kvey [~coltonpie@75-164-97-85.tcso.qwest.net] has joined #go-nuts 15:32 -!- hypertux [~hypertux@vps1.joelegasse.com] has quit [Ping timeout: 264 seconds] 15:33 < kamaji> why is it called mange tout anyway 15:35 -!- rutkowski [~adrian@078088202167.walbrzych.vectranet.pl] has joined #go-nuts 15:38 < mpl> kamaji: I have no idea what you're talking about, but "mange tout" means "eat it all" :) 15:39 < kamaji> http://en.wikipedia.org/wiki/Mange_tout 15:39 < kamaji> it's peas :P 15:39 < kamaji> probably because you can eat all of it 15:45 < ww> i suspect it's actually a nicer etymology than that: http://fr.wiktionary.org/wiki/mange-tout 15:45 < ww> so a mange tout (person) is an old-fasioned phrase meaning someone that spends all their money on frivolous things 15:45 < ww> which recalls jack and the beanstalk 15:45 < ww> or maybe that etymology is backwards... nice story anyways 15:46 < mpl> ww: still, he was right, look at the first definition there. 15:46 < mpl> it says you can eat both the grains and the enveloppe of it. 15:47 < ww> right... i wonder if the beans jack bought were mange-touts... 15:48 < ww> prolly goes like that. 15:48 < ww> eh bien. moi, je m'en aille 15:48 * ww waves 15:48 < mpl> s/aille/vais/ 15:49 < mpl> but almost there ;) 15:50 -!- zimsim [~simon@87.72.77.195] has quit [Ping timeout: 252 seconds] 15:50 -!- karpar [~user@112.96.224.11] has joined #go-nuts 15:53 -!- Natch| [~natch@c-adcee155.25-4-64736c10.cust.bredbandsbolaget.se] has joined #go-nuts 15:54 -!- ShadowIce [~pyoro@HSI-KBW-109-193-120-162.hsi7.kabel-badenwuerttemberg.de] has joined #go-nuts 15:54 -!- ShadowIce [~pyoro@HSI-KBW-109-193-120-162.hsi7.kabel-badenwuerttemberg.de] has quit [Changing host] 15:54 -!- ShadowIce [~pyoro@unaffiliated/shadowice-x841044] has joined #go-nuts 16:03 -!- tensorpudding [~user@99.32.63.28] has joined #go-nuts 16:05 -!- Count_Niedar [~bleh@ip68-99-166-222.hr.hr.cox.net] has joined #go-nuts 16:05 -!- skelterjohn [~jasmuth@lawn-gw.rutgers.edu] has joined #go-nuts 16:05 < skelterjohn> morning 16:05 -!- rejb [~rejb@unaffiliated/rejb] has joined #go-nuts 16:06 < kamaji> skelterjohn: welcome back 16:07 -!- zimsim [~simon@87.72.77.195] has joined #go-nuts 16:08 -!- Niedar [~bleh@ip68-99-166-222.hr.hr.cox.net] has quit [Read error: Operation timed out] 16:10 < marten> it would be nice if you could tell the runtime to free a piece of data right now, in addition to standard garbage collection. best of both worlds. is that something that has been thought about? 16:12 -!- Jonta [~jonta@b224d.studby.ntnu.no] has joined #go-nuts 16:13 < mpl> marten: uh, I thought one could, if one used the unsafe package with pointers... 16:13 < mpl> but I haven't tried yet. 16:14 -!- kvey [~coltonpie@75-164-97-85.tcso.qwest.net] has quit [Quit: leaving] 16:15 < skelterjohn> mpl: just calling free() on some data isn't good enough - you have to tell the GC not to call free on it again 16:16 < marten> yup. such a feature would be perfect for a use case where you need to process lots and lots of data and are sure you can discard data during processing 16:17 < skelterjohn> i predict that, one day, you'll be able to specify your own allocator 16:17 < skelterjohn> the default one has the GC attached 16:17 -!- rlab [~Miranda@91.200.158.34] has quit [Ping timeout: 248 seconds] 16:17 < skelterjohn> and a custom one might just call malloc, and depend on you for calling free 16:18 < marten> as part of the new() syntax you mean? 16:18 < skelterjohn> something like that 16:18 -!- bortzmeyer [~stephane@2a01:e35:8bd9:8bb0:1921:aac6:8b90:c2cd] has quit [Read error: Operation timed out] 16:18 < marten> would be awesome 16:18 < skelterjohn> i don't like new() though :) 16:18 < aiju> new() reminds me of C++ 16:18 < aiju> :\ 16:18 < skelterjohn> that's not my reason 16:19 < skelterjohn> my reason is that any code that has new() can be written without using new(). it's completely redundant 16:19 < aiju> wtf? are we talking about Go? 16:19 < skelterjohn> yes 16:19 < skelterjohn> new(X) can always be written &X{} 16:20 < marten> how? call it implicitly on nils? 16:20 < aiju> if() is redundant 16:20 < aiju> it can always be replaced by for {} 16:20 -!- bortzmeyer [~stephane@central.sources.org] has joined #go-nuts 16:20 < aiju> function calls are redundant 16:20 < aiju> so are methods 16:20 < aiju> all you need is +-<>[] 16:20 < skelterjohn> clearly there is a line =p 16:20 < marten> hehe 16:20 < Jonta> Just finished ./all.bash and got the "You need to add home/you/go/bin to your $PATH". Found this: but it's not in my $PATH. OS: Ubu 10.10. Have googled, but without much luck. 16:20 < skelterjohn> or else we'd be writing ruby 16:20 < skelterjohn> and we know how aiju feels about x.nonzero? 16:20 < aiju> heh ;P 16:21 < skelterjohn> Jonta: what you said doesn't quite make sense to me 16:21 < skelterjohn> but i'm sure we can fix your problem 16:22 < Jonta> I'm installing Go, and I get said message. Can't compile using 8g (command not found) 16:22 < skelterjohn> you need to add your go bin to path 16:22 < skelterjohn> do you know about env variables? 16:22 < Jonta> Yes, gotten so far. But how? 16:22 < Jonta> Nope. Don't think so. 16:23 < skelterjohn> google "ubuntu set path var" 16:23 < skelterjohn> or something similar 16:23 < Jonta> Ok. Hang on 16:24 -!- dfr|mac [~dfr|work@nat/google/x-knrqkntszjcltytp] has joined #go-nuts 16:24 -!- dfr|mac [~dfr|work@nat/google/x-knrqkntszjcltytp] has quit [Remote host closed the connection] 16:24 -!- dfr|mac [~dfr|work@nat/google/x-gzisobmqmobfmwuk] has joined #go-nuts 16:25 < Jonta> Ah yes. Found that with a different searchstring. But where should the path go? 16:25 < Jonta> I've echo-ed $PATH, but can't seem to find the results in .bashrc 16:26 < aiju> Jonta: write "export PATH=$PATH:/foo/bar" in your .bashrc 16:26 < aiju> to add /foo/bar to your PATH 16:26 < Jonta> Anywhere? 16:26 < skelterjohn> on its own line, preferably 16:26 < Jonta> Doesn't seem like an optimal way 16:26 < skelterjohn> it's the way. 16:27 < aiju> Jonta: why not? 16:27 < aiju> don't tell me it's inefficient >.< 16:27 -!- virtualsue [~chatzilla@nat/cisco/x-tswpwddamzyqotbj] has quit [Ping timeout: 276 seconds] 16:27 < Jonta> Should think it was a bit more structured than that (: 16:27 < skelterjohn> maybe he wants a GUI 16:27 < Jonta> Nah 16:27 < aiju> Jonta: get that "structure" out of ya head 16:27 < aiju> bang it to the table, alcohol, whatever 16:27 < Jonta> *Phew* That cleared up a lot of space 16:28 < aiju> simplicity is the one true structure 16:29 < skelterjohn> is a saying really a saying if it has no meaning? 16:29 < Jonta> Hm, still can't compile 16:30 < zerosanity> cez sparf blez 16:30 < skelterjohn> you have to make a new terminal 16:30 < skelterjohn> you can verify that 8g is in your path by running "which 8g" on the command line 16:30 -!- vsayer [~vivek@c-67-170-236-166.hsd1.ca.comcast.net] has quit [Ping timeout: 276 seconds] 16:30 < Jonta> Did. No feedback. Good sign? 16:30 < skelterjohn> .bashrc gets executed when you create the terminal, so just changing it doesn't do anything to the current terminal 16:30 < skelterjohn> no - it means it couldn't find it 16:31 < skelterjohn> echo $PATH and verify that the right bin directory is in it 16:31 < Jonta> Still only the ones from before 16:31 < aiju> are you really using bash? :D 16:31 < Jonta> Mm 16:31 < skelterjohn> said ubuntu, so i assumed bash 16:31 < aiju> do "echo $0" 16:32 < Jonta> echo $0 16:32 < Jonta> oops 16:32 < skelterjohn> lo 16:32 < zerosanity> lol 16:32 < skelterjohn> -bash 16:32 < Jonta> Heh. Feedback: "bash" 16:32 < zerosanity> do "source ~/.bashrc" 16:33 < zerosanity> then check $PATH again 16:33 < skelterjohn> and if that works, you didn't follow my advice about creating a new terminal =p 16:33 < Jonta> Still the same 16:33 < skelterjohn> tell us what echo $PATH says 16:33 < Jonta> /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games 16:33 < skelterjohn> well, gobin is def not in there 16:34 < skelterjohn> paste the line you put into .bashrc 16:34 -!- marten [~marten@62.21.178.171] has quit [Quit: marten] 16:36 < Jonta> export PATH=$PATH:/home/jonta/go/bin 16:37 -!- rlab [~Miranda@91.200.158.34] has joined #go-nuts 16:37 < aiju> would you mind pasting your entire .bashrc? 16:37 < skelterjohn> not in irc 16:37 < skelterjohn> in pastebin.com 16:37 < aiju> ofc not >.< 16:37 < Jonta> pastebin coming up 16:38 < Jonta> "But it's so much easier to have everything in once place!!!ONE!" 16:39 < plexdev> http://is.gd/OghlZ5 by [Russ Cox] in go/src/pkg/reflect/ -- reflect: new Type and Value definitions 16:39 < plexdev> http://is.gd/bQhk44 by [Russ Cox] in go/src/cmd/gofix/ -- gofix: add -diff, various fixes and helpers 16:39 < plexdev> http://is.gd/8UMSRz by [Russ Cox] in 2 subdirs of go/src/cmd/gofix/ -- gofix: reflect changes 16:40 < plexdev> http://is.gd/Cc4tcl by [Russ Cox] in 22 subdirs of go/ -- update go tree for reflect changes 16:40 < Jonta> http://pastebin.com/sT96zCqb 16:40 < skelterjohn> do this in a terminal: 16:40 < skelterjohn> export PATH=$PATH:/home/jonta/go/bin ; which 8g 16:41 -!- vsayer [~vivek@c-67-170-236-166.hsd1.ca.comcast.net] has joined #go-nuts 16:41 < Jonta> Not a valid identifier 16:42 < skelterjohn> ?? 16:42 < Jonta> bash: export: `/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/home/jonta/go/bin=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/home/jonta/go/bin:/home/jonta/go/bin/': not a valid identifier 16:42 < skelterjohn> did you do export $PATH instead of export PATH? 16:43 < Jonta> Possible: export PATH=$PATH etc 16:43 -!- JusticeFries [~JusticeFr@173-8-247-218-Colorado.hfc.comcastbusiness.net] has quit [Quit: JusticeFries] 16:44 < skelterjohn> um - i don't know if that was a "yes" or a "no" 16:44 < skelterjohn> it shouldn't be "maybe" :) 16:44 < Jonta> Well, this is what I put in -bashrc: 16:44 < Jonta> export PATH=$PATH:/home/jonta/go/bin 16:45 -!- tensai_cirno [~cirno@80.250.216.102] has quit [Quit: Leaving] 16:45 < Jonta> Since both "PATH" and "$PATH" are there, I don't know if I exported $PATH instead of PATH 16:45 < skelterjohn> i understand, and to debug i asked you to type what i suggested into the terminal directly 16:45 < Jonta> Yes...? Which I did? 16:46 -!- hopso [3e4ed8ee@gateway/web/freenode/ip.62.78.216.238] has joined #go-nuts 16:46 < skelterjohn> but i worry that you typed "export $PATH=$PATH..." instead of "export PATH=$PATH..." 16:46 -!- Natch| [~natch@c-adcee155.25-4-64736c10.cust.bredbandsbolaget.se] has quit [Ping timeout: 264 seconds] 16:46 < skelterjohn> that's the only way i can think of you getting the error you did 16:46 < Jonta> Indeed I did 16:46 < mpl> because that would explain the output you got. 16:47 < mpl> skelterjohn: I admire your patience. 16:47 < Jonta> Right. There we go. Got "/home/jonta/go/bin/8g" now 16:47 < skelterjohn> ok 16:47 < skelterjohn> in your current terminal you can compile go programs, heh 16:48 -!- virtualsue [~chatzilla@64.103.87.31] has joined #go-nuts 16:48 -!- Natch| [~natch@c-adcee155.25-4-64736c10.cust.bredbandsbolaget.se] has joined #go-nuts 16:49 < Jonta> Woo. Victory. Thanks. Now what should I read to learn at least enough about this to do it myself next time? 16:50 < skelterjohn> figure out why your bashrc line isn't working 16:50 < skelterjohn> all that happens when you say "source ~/.bashrc" is it runs every line in that file 16:51 < Jonta> I see. I'll read up on .bashrc then. 16:55 -!- hopso [3e4ed8ee@gateway/web/freenode/ip.62.78.216.238] has quit [Quit: Page closed] 16:56 < plexdev> http://is.gd/1CgeRR by [Rob Pike] in go/src/cmd/gotest/ -- gotest: Fix fix for \r\n on windows. 16:57 -!- karpar [~user@112.96.224.11] has quit [Ping timeout: 260 seconds] 16:58 -!- aconran [~aconran-o@38.104.129.126] has quit [Ping timeout: 252 seconds] 17:00 -!- foocraft [~dsc@dyn-86-36-42-99.wv.qatar.cmu.edu] has joined #go-nuts 17:01 -!- didix [~didix@63.216.124.17] has joined #go-nuts 17:01 -!- piranha [~piranha@5ED43A0B.cm-7-5a.dynamic.ziggo.nl] has joined #go-nuts 17:03 -!- karpar [~user@112.96.254.21] has joined #go-nuts 17:05 -!- cafesofie [~cafesofie@ool-4a5a6ee5.dyn.optonline.net] has joined #go-nuts 17:07 -!- virtualsue [~chatzilla@64.103.87.31] has quit [Ping timeout: 258 seconds] 17:08 -!- arun_ [~arun@unaffiliated/sindian] has quit [Ping timeout: 246 seconds] 17:13 < plexdev> http://is.gd/DQV6b4 by [Russ Cox] in go/lib/codereview/ -- codereview: automatically port old diffs forward 17:13 < plexdev> http://is.gd/Ff5XZh by [Russ Cox] in go/src/pkg/http/ -- http: do not listen on 0.0.0.0 during test 17:14 -!- didix [~didix@63.216.124.17] has left #go-nuts [] 17:15 -!- marchdown [~marchdown@46.138.175.160] has quit [Quit: marchdown] 17:17 < matti_> hi every1 17:18 < matti_> is there a way to do non-greedy matching in Go? 17:18 -!- aconran [~aconran-o@38.104.129.126] has joined #go-nuts 17:18 < skelterjohn> you mean with regexps? 17:18 < matti_> yupp 17:18 < aiju> can't you emulate non-greedy matching with Go regex or something? 17:18 < skelterjohn> isn't that built into the regexp language? 17:18 < matti_> i am not sure skelterjohn.. that's why im asking :p 17:19 < skelterjohn> my point is, it's not a "go" question, it's a regexp question 17:19 < matti_> aiju: i am trying to use a regex, but it doesn't seem to recognize the lazy syntax 17:19 < matti_> skelterjohn: ive tried using the lazy operator syntax, and it appears to not work 17:19 -!- aho [~nya@fuld-590c735c.pool.mediaWays.net] has joined #go-nuts 17:19 < matti_> skelterjohn: only greedy seems to work 17:20 < skelterjohn> are you doing things like ".*?: instead of ".*"? 17:20 < skelterjohn> ".*?: -> ".*?" 17:20 -!- artefon [~thiago@187.20.195.213] has joined #go-nuts 17:20 < matti_> yep 17:20 -!- sacho [~sacho@87-126-50-194.btc-net.bg] has quit [Ping timeout: 246 seconds] 17:20 -!- arun_ [~arun@i172010.upc-i.chello.nl] has joined #go-nuts 17:20 -!- arun_ [~arun@i172010.upc-i.chello.nl] has quit [Changing host] 17:20 -!- arun_ [~arun@unaffiliated/sindian] has joined #go-nuts 17:21 < aiju> i don't think that works 17:21 < matti_> there was a posting in the mailing list about lazy operators a while back 17:21 < aiju> are you saying "regular expression" when you mean PCRE or something? 17:21 < matti_> at the time it wasn't supported 17:22 < matti_> aiju: possibly, i am not totally up to date on the differences between PCRE and regex 17:23 < matti_> aiju: just looking for a way to do non-greedy 17:23 < aiju> matti_: there are MANY kinds of regular expression 17:23 < aiju> basic, extended, POSIX, PCRE, Plan 9, structured, etc ad infinitum 17:23 < skelterjohn> go's regexp doesn't like .*? it seems 17:23 < aiju> http://golang.org/pkg/regexp/ 17:23 < matti_> aiju: oosh , i didn't realize 17:23 < aiju> there is documentation 17:24 < aiju> matti_: PCRE isn't even regular expressions ;P 17:25 < aiju> (there is some theoretical computer science definition of "regular expression" and PCRE is too powerful due to backreferences) 17:25 < skelterjohn> the regexp that go's regexp pkg supports seems to be fairly limited 17:25 < uriel> PCRE are an abomination 17:25 < uriel> wish they could quietly die with Perl 17:26 -!- arun_ [~arun@unaffiliated/sindian] has quit [Read error: Connection reset by peer] 17:26 < matti_> is lazy matching a PCRE-specific construct? sorry, i haven't done too much reading on PCRE 17:26 -!- karpar [~user@112.96.254.21] has quit [Ping timeout: 258 seconds] 17:27 < skelterjohn> i don't imagine it is only PCRE 17:27 < matti_> i actually use backreferences quite a bit... 17:27 < aiju> i imagine it is probably only PCRE 17:27 < matti_> i like the submatching ability... 17:27 < matti_> used to use it all the time programming in Java 17:27 < aiju> matti_: there are two kinds of backreferences 17:27 < skelterjohn> aiju: why? 17:28 < aiju> the s/foo \(bar\)/\1;/ kind 17:28 < aiju> and the /foo (bar) \1/ (or whatever the syntax is) kind 17:28 < skelterjohn> the latter is not possible with the accepted meaning of regexp, in CS 17:29 < mpl> "I define UNIX as “30 definitions of regular expressions living under one roof.” —Don Knuth" 17:29 < skelterjohn> though it's certainly a useful concept 17:29 < mpl> :D 17:30 < skelterjohn> mpl: i meant, you can't match that pattern with a DFA 17:30 < mpl> skelterjohn: that wasn't what at/for you in particular, just thought that quote fitted the context ;) 17:30 < aiju> mpl: i also thought of this one ;P 17:31 < matti_> what's the quote referring to? 17:31 -!- fabled [~fabled@83.145.235.194] has quit [Quit: Ex-Chat] 17:31 < matti_> im lost lol 17:31 < matti_> that UNIX has a ton of matching capabilities, with grep and stuff? 17:31 -!- sacho [~sacho@87-126-50-194.btc-net.bg] has joined #go-nuts 17:31 < skelterjohn> don't worry about it 17:31 < aiju> matti_: no, that every tool has a different sort of regex 17:32 < matti_> ohhhhh 17:32 < mpl> matti_: exactly what it says. you can ask 30 different people and they will all give you a different definition of regex on UNIX. 17:32 < matti_> yah ive noticed that 17:32 < matti_> freakin annoying lol 17:32 < matti_> i didnt even recognize aiju's regex's above and i use regex's quite a bit 17:32 < aiju> it's not as bad as it sounds 17:33 < skelterjohn> you said you used back references a lot 17:33 < aiju> matti_: most languages (and peoples using them) use "PCRE" and "regular expression" synonymously 17:33 < mpl> matti_: good material and reading to summarize the situation here: http://swtch.com/~rsc/regexp/ 17:33 < matti_> skelterjohn: i do 17:33 < aiju> Perl, PHP, Python, C#, and probably Java 17:33 < matti_> skelterjohn: usually i use the parentheses to match something im looking for 17:33 < aiju> matti_: as i said, there are two kinds of backreferences 17:34 < matti_> skelterjohn: but in his, it looked like he was just looking to match "bar".... so i didnt know if i missed soemthing 17:34 < skelterjohn> bar and then whatever bar matched, again 17:34 < skelterjohn> the \1 refers to the first thing matched in parens 17:34 < aiju> matti_: if you just do \(.*\) and use \1 in the replacement or somethig, you're fine 17:34 < skelterjohn> it "refers back", you could say 17:34 < aiju> if you use \1 (or $1 or whatever the syntax is) in the pattern, that's the thing i'm actually talking aboutg 17:35 < matti_> ohh ok, gotcha 17:35 < matti_> i see what you were doing 17:40 -!- arun_ [~arun@unaffiliated/sindian] has joined #go-nuts 17:42 -!- rutkowski [~adrian@078088202167.walbrzych.vectranet.pl] has quit [Quit: WeeChat 0.3.3-dev] 17:45 < plexdev> http://is.gd/Vvrwcs by [Russ Cox] in go/src/cmd/ld/ -- ld: fix arm build 17:45 < plexdev> http://is.gd/Fcjqx4 by [Russ Cox] in go/test/fixedbugs/ -- bug327: document what's being tested 17:45 < plexdev> http://is.gd/zyOnC6 by [Robert Hencke] in go/src/pkg/io/ -- io: fixes for Read with n > 0, os.EOF 17:46 -!- fabled [~fabled@83.145.235.194] has joined #go-nuts 17:47 -!- arun_ [~arun@unaffiliated/sindian] has quit [Read error: Connection reset by peer] 17:50 -!- imsplitbit [~imsplitbi@64.39.4.132] has quit [Quit: Bye!] 17:51 -!- karpar [~user@112.96.225.30] has joined #go-nuts 17:54 -!- Jonta [~jonta@b224d.studby.ntnu.no] has left #go-nuts [] 18:01 -!- Adys [~Adys@unaffiliated/adys] has quit [Quit: Quit] 18:02 < plexdev> http://is.gd/WvHIPV by [Russ Cox] in go/src/cmd/gc/ -- gc: fix weird error message 18:02 < plexdev> http://is.gd/mX6v8b by [Russ Cox] in go/src/cmd/8g/ -- 8g: optimize byte mov 18:02 -!- karpar [~user@112.96.225.30] has quit [Ping timeout: 252 seconds] 18:02 -!- Adys [~Adys@unaffiliated/adys] has joined #go-nuts 18:03 -!- Project_2501 [~Marvin@94.36.148.1] has joined #go-nuts 18:05 < skelterjohn> there - gorf now deals with comments properly 18:05 < skelterjohn> that was a painfully stupid bug 18:06 -!- Project-2501 [~Marvin@82.84.72.58] has quit [Ping timeout: 260 seconds] 18:07 -!- araujo [~araujo@gentoo/developer/araujo] has quit [Remote host closed the connection] 18:10 -!- huin [~huin@91.85.185.181] has joined #go-nuts 18:10 -!- araujo [~araujo@190.38.51.34] has joined #go-nuts 18:10 -!- araujo [~araujo@190.38.51.34] has quit [Changing host] 18:10 -!- araujo [~araujo@gentoo/developer/araujo] has joined #go-nuts 18:11 -!- arun_ [~arun@unaffiliated/sindian] has joined #go-nuts 18:13 -!- araujo [~araujo@gentoo/developer/araujo] has quit [Client Quit] 18:13 -!- tensai_cirno [~cirno@77.232.15.216] has joined #go-nuts 18:15 -!- tvw [~tv@212.79.9.150] has quit [Read error: Connection reset by peer] 18:17 -!- araujo [~araujo@gentoo/developer/araujo] has joined #go-nuts 18:20 -!- krutcha [~krutcha@remote.icron.com] has joined #go-nuts 18:22 < skelterjohn> hmm, apparently I can't write "for x := T{0}; x<y; x++ { ... }" 18:22 -!- rejb [~rejb@unaffiliated/rejb] has quit [Ping timeout: 246 seconds] 18:22 < skelterjohn> because the {}s in the beginning confuse it 18:23 < nsf> yeah, one of the dark corners of the Go's grammar 18:23 < nsf> for (x := T{0}; x<y; x++) { ... } 18:23 < nsf> should be valid 18:23 < skelterjohn> yes 18:23 < nsf> or that: 18:23 < skelterjohn> i feel like the other way should be, too 18:23 < nsf> for (x := T{0}); x<y; x++ { ... } 18:23 < skelterjohn> it doesn't seem ambiguous 18:23 < nsf> it is ambiguous 18:23 < skelterjohn> since you can't have an assignment as the only thing for a for 18:24 < skelterjohn> now, "for x == T{0} { ... }" 18:24 < nsf> well, then it will be a syntax error 18:24 < nsf> for a simple parser 18:24 < skelterjohn> i can see that being ambiguous 18:24 < nsf> because it thinks that way: 18:24 < nsf> for - keyword, ok 18:24 < nsf> x := T - statement, ok, must be for ;; {} form 18:24 < nsf> { - bracket - wtf, error 18:25 < nsf> unless it is smart enough :) 18:26 < nsf> [nsf @ crawl]$ echo 'func X() { for x := T{0}; x < y; x++ { } }' | ./crawl -no-ast 18:26 < nsf> stdin:1:22: error: unexpected token: TOK_LCURLY 18:26 < nsf> func X() { for x := T{0}; x < y; x++ { } } 18:26 < nsf> ^ 18:26 < nsf> that's what my parser says 18:26 < nsf> :) 18:26 -!- zozoR [~Morten@5634631b.rev.stofanet.dk] has joined #go-nuts 18:26 < nsf> but I have different syntax for compound literals 18:31 -!- femtoo [~femto@95-89-249-242-dynip.superkabel.de] has quit [Read error: Operation timed out] 18:31 -!- femtoo [~femto@95-89-249-242-dynip.superkabel.de] has joined #go-nuts 18:39 -!- hypertux [~hypertux@vps1.joelegasse.com] has joined #go-nuts 18:39 < skelterjohn> what syntax do you use? 18:39 < aiju> # 18:39 < nsf> an ugly one 18:39 < aiju> oops, sry 18:39 < aiju> <T>{data} or something 18:40 < nsf> <Type>{...} 18:40 < nsf> yeah 18:40 < nsf> but it's not ambigous :) 18:41 < nsf> not ambiguous* 18:41 < nsf> what a word 18:41 < nsf> :) 18:43 < aiju> there are worse 18:43 < aiju> e.g. diphthong 18:43 -!- saschpe [~quassel@opensuse/member/saschpe] has quit [Read error: Connection reset by peer] 18:43 < nsf> :) 18:43 < nsf> I don't know what it even means 18:44 * nsf opened urxvt and typing "dict tiphthong" 18:44 < nsf> oops 18:44 < nsf> d* 18:44 < aiju> basically, a sound made up of two sounds 18:44 < nsf> I see 18:44 < aiju> like "oy" in "boy" 18:45 < aiju> diphthongs are important in german, because they determine the spelling of some words 18:45 < nsf> I see 18:46 < aiju> e.g. ß is almost always used for an s sound after a diphthong 18:46 < nsf> I once played one online browser-based game, that were available only in german 18:46 < nsf> and I have an impression that words in german are longer than in english 18:46 < aiju> yes they are 18:47 < nsf> interesting 18:47 < aiju> german is one of the two languages i know of with true composite words 18:47 < nsf> ah, yes.. composite words 18:48 < aiju> (the other being ancient greek) 18:48 < nsf> that's what I saw :) 18:48 < aiju> Rindfleischverpackungsetikettierungsüberwachungsaufgabenübertragungsgesetz 18:48 < aiju> ^-- probably the longest one, a name of an actual former law 18:48 < nsf> uhm, german nation has roots in ancient rome or something, am I wrong? 18:49 * nsf doesn't know history well 18:49 < aiju> nsf: there is huge cultural heritage 18:49 < aiju> many people were rome/greek fanboys ;P 18:49 < nsf> hehe 18:49 < aiju> german used to have many latin words 18:50 < aiju> many modern words are only ~200 years old and were made up by language purists trying to cleanse german from evil latin/greek/france influence 18:50 < aiju> *french 18:51 < aiju> e.g. Liberey used to be the german word for library, derived from latin liber, meaning book 18:51 < aiju> someone thought it was evil latin and made up Bücherei from german Buch, again meaning book 18:51 < aiju> and now, most people nowadays never ever heard the former one 18:51 < nsf> in russian library sounds like biblioteka 18:52 < nsf> :) 18:52 < aiju> yeah, that's a synonym, Bibliothek 18:53 < aiju> something funny about this: many Neo-Nazis are language purists 18:53 < aiju> Hitler actually hated them, he used latin words all over the place 18:53 < nsf> languages are interesting, I like etymology, but know nothing about it 18:54 < aiju> etymology can be really difficult ... 18:54 < nsf> but in russian there are many words that have really interesting meaning, like spina (back, part of the body) is composed from "spi" and "na", which literally means: "sleep on" 18:54 < aiju> heh 18:55 < aiju> that's something all languages have 18:55 < nsf> well, it's more like speena 18:55 < aiju> like engl. butterfly 18:55 < nsf> yeah :) 18:56 < aiju> connotations are also fun 18:57 < aiju> germany has many because of nazi use of words 18:57 < nsf> interesting, yeah 18:57 < nsf> it's interesting to see how words change their meaning completely 18:57 < aiju> yeah, esp. how pejoratives develop 18:58 -!- TheMue [~TheMue@p5DDF5447.dip.t-dialin.net] has joined #go-nuts 18:58 < aiju> the german word "wib" used to mean woman, completely neutral 18:58 < aiju> it's modern descendant "Weib" is considered highly offensive 18:58 < nsf> another russian word: "seychas", composed from "sey" and "chas" but not used as two words anymore 18:58 -!- zozoR [~Morten@5634631b.rev.stofanet.dk] has quit [Ping timeout: 260 seconds] 18:58 < nsf> seychas means "now", sey chas means "this hour" 18:59 < nsf> so it was like very common pair of words and then they've mutated into a single one 18:59 < aiju> english "nowadays" is funny 19:00 < nsf> in english "these days" is used as well afaik 19:00 < nsf> and frankly at least in the american part I see it more 19:00 < nsf> than nowadays 19:01 < nsf> but yeah, a close example 19:02 < aiju> even more funny than harmless words becoming pejoratives are actually derogatory terms in common usage 19:03 < aiju> like german "Mädchen", which is a neutral term for "girl", which actually means something like "maid" or "female slave" 19:04 < nsf> yeah, same in russian as well, many words became censored in the last 1k years 19:04 -!- zozoR [~Morten@5634631b.rev.stofanet.dk] has joined #go-nuts 19:05 < skelterjohn> i don't know if it's possible to identify a "russian" language from 1000 years ago 19:05 < nsf> oh it's easy 19:05 -!- aconran [~aconran-o@38.104.129.126] has quit [Read error: Connection reset by peer] 19:05 -!- aconran [~aconran-o@38.104.129.126] has joined #go-nuts 19:05 < nsf> at least that was about a time when russians (in traditional history) got letters 19:06 < aiju> there are german contracts which are 1k years old 19:06 < aiju> and which are still valid 19:06 < nsf> although some people think (russians of course) that russian was like a language of all languages 19:06 < nsf> other people think that it was a pair of two languages 19:06 < nsf> arabic and russian 19:06 < nsf> other people think something else :) 19:06 < aiju> the cyrillic alphabet is highly greek influenced 19:07 < nsf> yes, of course there were a language even before cyrillic came as a base for writings 19:07 < nsf> "but of course" 19:07 < nsf> the question is how it was developed 19:07 < nsf> and how greek influenced 19:08 < skelterjohn> cyrillic? i know the story is that some dude came over and created it on the spot, just for the language spoken there 19:08 -!- aconran_ [~aconran-o@38.104.129.126] has joined #go-nuts 19:08 < nsf> there were two dudes :) 19:08 < skelterjohn> i'm not prepared to back that up,but i did hear it in a history class 19:08 < skelterjohn> rather than the street 19:08 < nsf> http://en.wikipedia.org/wiki/Saints_Cyril_and_Methodius 19:08 < aiju> my history teacher loved to talk of Saint Cyril 19:09 < nsf> but they literally went to Rome and came with the language :) 19:10 < aiju> i find it amazing that i can read 1k year old texts and can roughly grasp the meaning 19:10 < skelterjohn> i've seen examples of old english, and it's pretty opaque 19:10 -!- aconran [~aconran-o@38.104.129.126] has quit [Ping timeout: 246 seconds] 19:10 < nsf> http://en.wikipedia.org/wiki/Glagolitic_alphabet 19:10 -!- pjm0616 [~user@110.9.28.45] has quit [Ping timeout: 240 seconds] 19:10 < nsf> can you read this? :) 19:11 < aiju> this looks like my handwriting 19:11 < nsf> hehe 19:12 < aiju> history teacher usually comment "luckily i'm proficient in reading medieval scripts" 19:12 < aiju> or something similar 19:13 < nsf> I tend to think that my handwriting is fairly readable, but I'm biased 19:13 < nsf> :) 19:13 < aiju> my notes in latin class are worst 19:13 < aiju> i don't know quite why, but not even I can read them 19:16 < nsf> hehe 19:17 < skelterjohn> i have very good math handwriting 19:17 < skelterjohn> and i'm told my "other" handwriting is atrocious 19:17 < skelterjohn> but it seems fine to me 19:17 -!- itrekkie [~itrekkie@150.135.210.49] has joined #go-nuts 19:20 -!- pjm0616 [~user@110.9.28.45] has joined #go-nuts 19:21 -!- firwen [~firwen@gex01-1-78-234-55-225.fbx.proxad.net] has joined #go-nuts 19:34 < nsf> oh, one more interesting thing about languages: more high level structures like sentences 19:35 < nsf> russian is like one of the most craziest languages, because word order almost doesn't matter, there are a lot of feelings involved 19:35 < nsf> but it's almost always correct to say, of course there are styles 19:35 < nsf> I know chinese and english are pretty strict 19:36 < nsf> also in english there are like two mutations (don't know a better term for that, sorry) of the word.. table/tables 19:36 < nsf> quantity 19:36 < nsf> and that's it :) 19:36 < aiju> latin is totally crazy 19:36 < nsf> other languages have different kinds of mutations 19:37 < aiju> word arangement does not matter at all 19:37 -!- Venom_X [~pjacobs@75-27-133-72.lightspeed.austtx.sbcglobal.net] has quit [Quit: Venom_X] 19:37 < aiju> and words are often rearranged for political reasons 19:37 < aiju> ehm 19:37 < aiju> poetical 19:37 < nsf> aiju: same in russian 19:38 < ww> english used to have more.. just that most of the case endings have been dropped... 19:38 < nsf> interesting, I see 19:38 < aiju> german has some *really* funny rules 19:38 < nsf> that's another topic of etymology, evolution of languages 19:38 < ww> but they're still there, kind of. if you are an english speaker who learns german you can kind of hear some of them 19:38 < aiju> there are some rules which are *very* strict 19:38 < aiju> and are almost always obeyed 19:38 < aiju> the verb is almost always the second part of the sentence 19:39 < aiju> but everything else can be rearranged except that related words stay together 19:40 < nsf> I can see an interesting kind of trace in languages.. most languages tend to evolve to simplicity 19:40 < nsf> and become shorter 19:40 < aiju> yeah 19:40 < nsf> take a look at modern SMS slang for example 19:40 < aiju> nsf: have you looked at ancient greek verb flection? 19:40 < aiju> totally crazy and highly complicated 19:40 < nsf> aiju: nope :( 19:40 < aiju> there are *500* verb forms 19:40 < nsf> omg 19:41 < nsf> I know russian more or less, english more like less and some spanish :) 19:41 < aiju> consonants get inserted all over the place 19:41 < aiju> syllables get duplicated 19:41 < jesusaurus> sounds about the same as latin 19:41 < jesusaurus> 512 forms of every verb 19:41 < aiju> jesusaurus: latin is a piece of cake compared to greek 19:41 < aiju> latin has 200 forms 19:41 < nsf> yay :) 19:42 * ww sometimes wonders how to conjugate "to ping" 19:42 -!- cirno_ [~cirno@77.232.15.216] has joined #go-nuts 19:42 < aiju> latin is a very regular language 19:42 < aiju> despite being complex 19:42 < jesusaurus> true, it doesnt have many irregularities 19:43 < jesusaurus> as far as word formation is concerned 19:43 < ww> church latin maybe, vulgar latin was probably much less regular 19:43 -!- rejb [~rejb@unaffiliated/rejb] has joined #go-nuts 19:43 < aiju> ww: classical latin 19:43 < jesusaurus> but it doesn funky things with the subjunctive other languages dont do 19:44 < aiju> the language of Cicero, Caesar etc 19:44 -!- tensai_cirno [~cirno@77.232.15.216] has quit [Ping timeout: 258 seconds] 19:44 < aiju> jesusaurus: greek has MULTIPLE SUBJUNCTIVES 19:44 < jesusaurus> eww 19:44 < aiju> subjunctive and optative 19:44 * ww zuruk zum arbeit 19:44 < aiju> there is also a special past tense called aorist 19:44 < aiju> but something funny: greek *nouns* are a bit simpler than latin nouns 19:44 * nsf tries to imagine 500 verb forms 19:45 < nsf> like what are they? 19:45 < nsf> maybe compositions of different mutations? :) 19:45 < jesusaurus> tenses, moods, etc 19:45 < nsf> ah, all counts 19:45 < nsf> I see 19:45 < aiju> (present, imperfect, future, aorist, perfect, pluperfect, future perfect) (indicative, subjunctive, optative) (active, middle, passive) 19:45 < jesusaurus> 'to have been happy' would be a single verb 19:46 < aiju> except that it's likely one word in greek 19:46 < aiju> and totally unrelated at first to the word for "be happy" 19:46 < aiju> *at first glance 19:47 < ww> actually... if i may distract from the grammar with an on-topic question... 19:47 < nsf> Russian verbs come in two aspects: (imperfective & perfective); three tenses: (present, past & future); two conjugations in the present tense; two voices: (active & passive); three moods: (indicative, imperative & conditional); four participle forms: {present (active, passive), past (active, passive)}; two forms of gerund: (present, past). 19:47 < nsf> hm.. interesting :) 19:47 -!- foocraft [~dsc@dyn-86-36-42-99.wv.qatar.cmu.edu] has quit [Quit: Leaving] 19:48 < ww> anything that does xslt in go? either bindings for libxslt or natively? 19:48 < aiju> nsf: greek had singular, plural and rests of something called the dual 19:48 < nsf> aiju: yeah, greek looks more complex 19:48 < nsf> sounds* 19:48 < TheMue> somehow it looks like the wrong channel he. so few go topics 19:48 < aiju> haha 19:48 < nsf> ww: you know where to find bindings, aren't you? 19:48 < nsf> go-lang.cat-v.org 19:49 < nsf> I don't think anyone did an xslt lib though 19:49 < nsf> xslt is crazy 19:49 < aiju> nsf: eblaphthen and beblammai are forms of blaptein (harm) 19:49 < nsf> maybe bindings for some library 19:49 < plexdev> http://is.gd/GZjAwQ by [Adam Langley] in go/src/pkg/big/ -- big: don't crash when printing nil ints 19:49 < ww> nsf: yes, but when i find nothing there, i ask, sometimes someone has heard something 19:49 < nsf> aiju: interesting, I don't have crazy russian examples for you :) 19:50 < nsf> ww: I see 19:50 < nsf> sadly I hasn't heard anything about xslt 19:50 < nsf> or even xml 19:50 < ww> russian has some funny irregulars though... est' (or yest' or how do you write that in ascii?) 19:51 < aiju> french aller is totally crazy 19:51 < ww> to be and to eat are kind of the same... 19:51 < nsf> yest' sounds right 19:51 < aiju> ww: haha sounds like german 19:51 < aiju> "er ist" (he is) and "er isst" (he eats) have the same pronounciation 19:52 < nsf> ww: yeah, but there are many way to say that :) есть, кушать, жрать, хавать, питаться, etc. most of them are slang though 19:52 -!- zozoR [~Morten@5634631b.rev.stofanet.dk] has quit [Remote host closed the connection] 19:52 < aiju> something funny ... there is no german word with an -s plural which is not a loanword 19:52 < ww> yes, similar. except you can't say er ist, you just have to say er and get context from elsewhere... 19:52 < aiju> but *everyone* does plural with -s if he has no clue how to do it properly 19:52 * ww thanks nsf for the unicode escapes :P 19:53 < nsf> :D 19:53 < aiju> german plurals are sort of crazy 19:53 < aiju> you usually just take the word and make some vowel to an umlaut 19:53 < nsf> aiju: interesting :) (about er ist and er isst) 19:53 < aiju> and add either "e" or "n" or "en" 19:53 * ww just mumbles in pseudo-german 19:54 < nsf> note that ist and yest' sounds alike 19:54 < nsf> and is 19:54 < ww> usually enough to get looks like peple aren't sure if i'm an outpatient 19:54 < nsf> but is sounds like a simplificated word :) 19:54 < nsf> "is"* 19:54 < aiju> japanese is also a funny highly context dependent language 19:54 < ww> nsf: i think the germans copied it from the slavs 19:54 < ww> :P 19:54 < nsf> or vice versa 19:55 < nsf> I know some people are crazy about that 19:55 * ww was just trying to get aiju's goat 19:55 < nsf> like who was the first 19:55 < nsf> but it doesn't really matter 19:55 < nsf> what matters is meaning 19:55 < nsf> and how it gets formed into a sound 19:55 < nsf> and then word 19:56 < aiju> the kanji 女 means woman and 姦 means mischief or rape 19:56 < aiju> one of my favourite facts about japanese ;P 19:56 -!- virtualsue [~chatzilla@nat/cisco/x-kdkhbucvbvsxofyg] has joined #go-nuts 19:57 < nsf> hehe 19:58 < skelterjohn> do those kanjis look the same, somehow? 19:58 < aiju> the latter is three of the former stacked up 19:58 < skelterjohn> lol is it now 19:58 < skelterjohn> too small on my screen to tell 19:59 < nsf> http://images.google.com/images?q=女 19:59 < nsf> lol 20:00 < skelterjohn> haha 20:00 < nsf> I haven't tried the other one though ) 20:00 < aiju> what? you are surprised getting picture of woman after searching for "woman"? ;) 20:00 < nsf> aiju: yeah, but it's kind of interesting doing that using one character :) 20:00 < nsf> or symbol 20:00 < skelterjohn> oh god, don't search the other one 20:00 < nsf> haha 20:00 < nsf> I won't 20:01 < skelterjohn> i don't think 姦 means "mischief" to anybody 20:01 < aiju> skelterjohn: haha 20:01 < aiju> skelterjohn: kanji meanings are highly context dependent 20:03 -!- |Craig| [adfa8fd3@gateway/web/freenode/ip.173.250.143.211] has joined #go-nuts 20:06 -!- femtoo [~femto@95-89-249-242-dynip.superkabel.de] has quit [Read error: Connection reset by peer] 20:07 < |Craig|> skelterjohn: I just updated go and tried go-gb on its example directory and got "$GOARCH is not set". Is this expected? 20:07 < skelterjohn> hmm 20:07 < nsf> hmm.. 20:07 < nsf> :) 20:07 < skelterjohn> did you update gb? :) 20:08 < |Craig|> I downloaded it maybe 5 minutes ago from github 20:08 < skelterjohn> because maybe 2 months ago i changed it so it didn't require you set GOARCH 20:08 * nsf knows that "hmm", I say the same thing when something is not right on the user side :) 20:08 < skelterjohn> i'll double check 20:08 < nsf> :D 20:09 < skelterjohn> |Craig|: perhaps it's installed to the wrong place 20:10 < skelterjohn> do a "which gb" and compare it to what happens when you "make install" gb 20:10 < skelterjohn> the version on github certainly doesn't complain about an un-set GOARCH 20:10 < skelterjohn> or at least, not the way it used to 20:10 < |Craig|> this is my first and only gb install, and its in /Developer/go/bin/gb 20:12 < skelterjohn> in query.go, line 46 there should be a function LoadEnvs 20:12 < skelterjohn> do you see how it deals with GOARCH in there? if it's not set (equal to ""), it uses runtime.GOARCH 20:12 < skelterjohn> if that isn't the case, your source is not up to date 20:13 -!- rm445 [rm445@pip.srcf.societies.cam.ac.uk] has joined #go-nuts 20:13 < |Craig|> GOARCH = runtime.GOARCH seems like it should work 20:14 < |Craig|> and its in there 20:14 < nsf> it's easy to track down an error starting from the message 20:14 < skelterjohn> the phrase "GOARCH is not set" does not appear anywhere in the source 20:14 < nsf> yeah 20:14 < nsf> try to look for it 20:14 < nsf> |Craig| 20:15 < |Craig|> Its in go's source 20:15 < skelterjohn> ! 20:15 < |Craig|> http://dpaste.com/530125/ -- full output 20:15 < skelterjohn> hardly my fault, then! 20:15 < skelterjohn> ah 20:15 < nsf> |Craig|: then: 8g/6g -V 20:15 < skelterjohn> e is a cgo package 20:15 < nsf> what's the version? 20:15 < skelterjohn> I bet you cgo won't run if GOARCH isn't set 20:16 < nsf> interesting :) 20:16 < nsf> [nsf @ ~]$ env | grep GO 20:16 < nsf> GOBIN=/home/nsf/bin 20:16 < nsf> GOROOT=/home/nsf/go 20:16 < nsf> cgo works just fine :) 20:16 < skelterjohn> hmph 20:16 < nsf> well, I mean not using gb 20:16 < nsf> but in general :) 20:16 < nsf> Go doesn't require these variables 20:16 < nsf> it should provide the default ones 20:17 < |Craig|> well, I'll be back, I have to go 20:17 < skelterjohn> nsf: it's cgo that complains about it, on my computer 20:17 < skelterjohn> if i unset GOARCH 20:17 < skelterjohn> and run cgo, it gives that message 20:17 < |Craig|> error lookes like it from this: http://code.google.com/p/go/source/browse/src/cmd/cgo/main.go?r=8983152ecd85e048afeb6df11921356c5a0993fa 20:17 < nsf> interesting 20:17 < nsf> skelterjohn: I guess it's because Go's makefile sets GOARCH 20:17 < skelterjohn> nsf: if you use gomake, it sets cgo 20:17 -!- KBme [~KBme@2001:470:1f13:94::3] has quit [Excess Flood] 20:17 < skelterjohn> ah 20:17 < skelterjohn> probably 20:17 < nsf> yeah 20:18 < nsf> Setenv is your friend then :) 20:18 -!- KBme [~KBme@2001:470:1f13:94::3] has joined #go-nuts 20:18 < skelterjohn> yeah, i've stopped work on gb 20:18 < skelterjohn> since gomake will replace it 20:18 < nsf> ah, I see 20:18 < skelterjohn> quick fix is to set GOARD 20:18 < skelterjohn> GOARCH 20:18 < skelterjohn> or to not use gb for cgo packages 20:19 < skelterjohn> huh - cleaning lady just walked into my lab and cleaned a bunch of math off the whiteboard 20:20 < nsf> I've read it as meth 20:20 < skelterjohn> well, i support gb to the extent that I still use it, and if doesn't work for me, i'll make a fix and upload it 20:20 < nsf> something is wrong with me 20:20 < nsf> I shouldn't even know words like that 20:20 < nsf> watching too many movies, lol 20:21 -!- |Craig| [adfa8fd3@gateway/web/freenode/ip.173.250.143.211] has quit [Ping timeout: 252 seconds] 20:23 < gmilleramilar> Can anyone tell me why the definition of DoSomething is fine, whereas compiling DoSomethingElse errors out with "invalid receiver type MyPtr" http://pastie.org/private/hwxyxvyb0zn9sesbwjpnq 20:23 < nsf> because you can't use a pointer type as a receiver 20:23 < nsf> I mean named pointer type 20:24 < nsf> you need to do that via wrapping it into a struct 20:24 < gmilleramilar> any idea why? 20:24 < nsf> I do it like that: type MyPtr struct { C C.btype } 20:24 < nsf> gmilleramilar: Go spec says that, not sure why it is that way 20:24 -!- itrekkie [~itrekkie@150.135.210.49] has quit [Quit: itrekkie] 20:24 <+iant> it's hard to reason about values methods and pointer methods when you have a pointer type 20:24 < nsf> via wrapping you can still pass your pointer as value 20:25 <+iant> right 20:25 <+iant> we did permit pointer types in the past but people got consistently confused 20:25 <+iant> perhaps they will be permitted again in the future, who knows 20:26 < gmilleramilar> that's fair. in my case the "pointer type" is typedef'd by someone elses code. So it took me a while to figure out what was going on. 20:26 <+iant> consider filing an issue to get a more comprehensible error message 20:26 < nsf> yeah, I had a bit of struggle when doing LLVM bindings 20:26 < gmilleramilar> iant: i will 20:26 <+iant> it ought to say something like "receiver may not be a pointer type" 20:26 <+iant> thanks 20:26 < nsf> it uses opaque pointer types for everything and I didn't want to introduce another dereference 20:27 < nsf> maybe "may not be a named pointer type"? because it can be a pointer type :) 20:27 <+iant> good point 20:28 <+iant> gccgo says "invalid pointer or interface receiver type" 20:28 <+iant> probably not as clear as it could be 20:28 < nsf> yeah 20:30 -!- edsrzf [~chickench@122-61-221-144.jetstream.xtra.co.nz] has joined #go-nuts 20:32 -!- itrekkie [~itrekkie@uawifi-nat-210-21.arizona.edu] has joined #go-nuts 20:35 -!- bortzmeyer [~stephane@central.sources.org] has quit [Quit: Leaving.] 20:42 -!- Fish [~Fish@88.162.170.133] has joined #go-nuts 20:46 -!- TheMue [~TheMue@p5DDF5447.dip.t-dialin.net] has quit [Quit: TheMue] 20:48 -!- zerosanity [~josh@8.20.178.82] has quit [Read error: Connection reset by peer] 20:52 -!- Fish [~Fish@88.162.170.133] has quit [Quit: So Long, and Thanks for All the Fish] 20:52 -!- Fish [~Fish@9fans.fr] has joined #go-nuts 20:54 -!- aho [~nya@fuld-590c735c.pool.mediaWays.net] has quit [Quit: EXEC_over.METHOD_SUBLIMATION] 21:00 -!- itrekkie [~itrekkie@uawifi-nat-210-21.arizona.edu] has quit [Ping timeout: 246 seconds] 21:07 -!- jbooth1 [~jay@209.249.216.2] has quit [Quit: Leaving.] 21:18 -!- dahankzter [~henrik@92-244-3-192.customers.ownit.se] has joined #go-nuts 21:22 -!- sacho [~sacho@87-126-50-194.btc-net.bg] has quit [Ping timeout: 246 seconds] 21:25 -!- krutcha [~krutcha@remote.icron.com] has quit [Read error: No route to host] 21:28 -!- foocraft [~dsc@78.101.39.238] has joined #go-nuts 21:31 -!- firwen [~firwen@gex01-1-78-234-55-225.fbx.proxad.net] has quit [Quit: Geek insinde®] 21:35 -!- niemeyer_ [~niemeyer@189-10-155-52.pltce701.dsl.brasiltelecom.net.br] has joined #go-nuts 21:35 -!- sacho [~sacho@87-126-50-194.btc-net.bg] has joined #go-nuts 21:36 -!- niemeyer [~niemeyer@201-11-241-2.pltce701.dsl.brasiltelecom.net.br] has quit [Ping timeout: 240 seconds] 21:36 -!- tensorpudding [~user@99.32.63.28] has quit [Remote host closed the connection] 21:39 -!- tensorpudding [~user@99.32.63.28] has joined #go-nuts 21:47 -!- dreadlorde [~dreadlord@c-24-11-39-160.hsd1.mi.comcast.net] has joined #go-nuts 21:48 -!- piranha [~piranha@5ED43A0B.cm-7-5a.dynamic.ziggo.nl] has quit [Quit: Computer has gone to sleep.] 21:54 -!- nsf [~nsf@jiss.convex.ru] has quit [Quit: WeeChat 0.3.4] 21:56 -!- rlab [~Miranda@91.200.158.34] has quit [Quit: Miranda IM! Smaller, Faster, Easier. http://miranda-im.org] 22:00 -!- huin [~huin@91.85.185.181] has quit [Quit: bedtime] 22:05 -!- tobier [~tobier@c-1e9de055.712-1-64736c11.cust.bredbandsbolaget.se] has quit [Read error: Operation timed out] 22:05 -!- ShadowIce [~pyoro@unaffiliated/shadowice-x841044] has quit [Quit: Verlassend] 22:09 -!- cafesofie [~cafesofie@ool-4a5a6ee5.dyn.optonline.net] has quit [Remote host closed the connection] 22:10 -!- tensorpudding [~user@99.32.63.28] has quit [Ping timeout: 248 seconds] 22:13 -!- Fish [~Fish@9fans.fr] has quit [Quit: So Long, and Thanks for All the Fish] 22:16 -!- skelterjohn [~jasmuth@lawn-gw.rutgers.edu] has quit [Quit: skelterjohn] 22:16 -!- randfur [~androirc@58.145.148.26] has joined #go-nuts 22:18 -!- tensorpudding [~user@99.32.63.28] has joined #go-nuts 22:21 -!- randfur [~androirc@58.145.148.26] has quit [Client Quit] 22:23 -!- ExtraSpice [XtraSpice@88.118.35.153] has quit [Remote host closed the connection] 22:23 -!- joelkronander [~joelkrona@c-bf2fe253.617-1-64736c22.cust.bredbandsbolaget.se] has quit [Quit: joelkronander] 22:24 -!- cafesofie [~cafesofie@ool-4a5a6ee5.dyn.optonline.net] has joined #go-nuts 22:35 -!- dahankzter [~henrik@92-244-3-192.customers.ownit.se] has quit [Quit: Leaving.] 22:36 -!- zimsim [~simon@87.72.77.195] has quit [Remote host closed the connection] 22:37 -!- virtualsue [~chatzilla@nat/cisco/x-kdkhbucvbvsxofyg] has quit [Ping timeout: 248 seconds] 22:38 -!- artefon [~thiago@187.20.195.213] has quit [Ping timeout: 252 seconds] 22:41 -!- |Craig| [~|Craig|@panda3d/entropy] has joined #go-nuts 22:47 -!- dreadlorde [~dreadlord@c-24-11-39-160.hsd1.mi.comcast.net] has quit [Ping timeout: 240 seconds] 22:52 < plexdev> http://is.gd/7JIF57 by [Robert Griesemer] in 2 subdirs of go/src/pkg/go/printer/ -- go/printer, gofmt: use blank to separate import rename from import path 22:55 -!- Adys [~Adys@unaffiliated/adys] has quit [Quit: Quit] 22:56 -!- Adys [~Adys@unaffiliated/adys] has joined #go-nuts 22:59 -!- qeed [~qeed@adsl-85-155-47.mco.bellsouth.net] has joined #go-nuts 23:04 -!- jgonzalez [~jgonzalez@173-14-137-134-NewEngland.hfc.comcastbusiness.net] has quit [Ping timeout: 240 seconds] 23:19 -!- Scorchin [~Scorchin@host86-150-164-3.range86-150.btcentralplus.com] has quit [Quit: Scorchin] 23:20 -!- iant [~iant@nat/google/x-zmiynpakdjldfcmc] has quit [Quit: Leaving.] 23:31 -!- Venom_X [~pjacobs@75-27-133-72.lightspeed.austtx.sbcglobal.net] has joined #go-nuts 23:34 -!- iant [~iant@67.218.107.170] has joined #go-nuts 23:34 -!- mode/#go-nuts [+v iant] by ChanServ 23:35 -!- Project_2501 [~Marvin@94.36.148.1] has quit [Read error: Connection reset by peer] 23:35 -!- Project_2501 [~Marvin@dynamic-adsl-94-36-148-1.clienti.tiscali.it] has joined #go-nuts 23:36 -!- Venom_X [~pjacobs@75-27-133-72.lightspeed.austtx.sbcglobal.net] has quit [Quit: Venom_X] 23:41 -!- joelkronander [~joelkrona@c-bf2fe253.617-1-64736c22.cust.bredbandsbolaget.se] has joined #go-nuts 23:42 -!- Project_2501 [~Marvin@dynamic-adsl-94-36-148-1.clienti.tiscali.it] has quit [Quit: E se abbasso questa leva che succ...] 23:42 -!- joelkronander [~joelkrona@c-bf2fe253.617-1-64736c22.cust.bredbandsbolaget.se] has left #go-nuts [] 23:42 -!- joelkronander [~joelkrona@c-bf2fe253.617-1-64736c22.cust.bredbandsbolaget.se] has joined #go-nuts 23:48 -!- skelterjohn_ [~jasmuth@c-24-0-2-70.hsd1.nj.comcast.net] has joined #go-nuts 23:50 -!- edsrzf [~chickench@122-61-221-144.jetstream.xtra.co.nz] has quit [Remote host closed the connection] --- Log closed Sat Apr 09 00:00:50 2011