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

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