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

--- Log opened Sat Apr 02 00:00:07 2011
--- Day changed Sat Apr 02 2011
00:00 < skelterjohn> so, the reason is type safety
00:00 < skelterjohn> and i respect that
00:00 < crazy2be> skelterjohn: How it should work: http://pastie.org/1745751
00:00 < crazy2be> now it might be possible to make that work using
interface{}
00:00 < crazy2be> but i wouldn't want to try to understand the result
00:01 < skelterjohn> that seems to work *without* interface{}
00:01 < skelterjohn> i don't understand the example
00:01 < crazy2be> try compiling it
00:01 < crazy2be> it doesn't
00:01 < skelterjohn> where's the error
00:01 < crazy2be> it's related to using []Pather
00:01 < skelterjohn> my eye doesn't catch it
00:01 < skelterjohn> just give me the line number
00:01 < skelterjohn> so i can zero in
00:02 < crazy2be> go does not support accepting an array of interfaces,
where the interface is a specific interface
00:02 < crazy2be> or something
00:02 < crazy2be> sec
00:02 < crazy2be> hum
00:03 -!- m4dh4tt3r [~Adium@196.sub-75-208-114.myvzw.com] has quit [Ping timeout:
240 seconds]
00:03 < skelterjohn> fyi "range(foo)" is equivalent to "range foo"
00:03 < skelterjohn> that is, range is not a function
00:03 < crazy2be> huh
00:03 < crazy2be> didn't notice that
00:03 < crazy2be> it is in python :P
00:03 < skelterjohn> sure
00:03 < crazy2be> but i've been using range both ways i guess :P
00:06 < skelterjohn> so, does that code actually compile?  :)
00:06 < skelterjohn> but i know the issue you're talking about
00:07 < skelterjohn> can't turn a []GroundedType into a []Interface{}
00:07 <+iant> range takes an expression, and an expression can be
parenthesized
00:07 < skelterjohn> even though you can turn a GroundedType into a
Interface
00:07 < crazy2be> there
00:07 < crazy2be> http://pastie.org/1745769
00:07 < crazy2be> yeah
00:08 < skelterjohn> I wonder if that would be worth a built-in
00:09 < skelterjohn> LiftSlice(LiftedType, s []GroundedType)
00:09 < skelterjohn> where LiftedType(x) where x is a GroundedType is
allowed
00:10 < skelterjohn> i'm probably abusing the word "lifted" as programming
language/logic gurus think about it
00:10 < skelterjohn> never quite caught on to what they were talking about
00:11 < crazy2be> i'm confused :/
00:11 < crazy2be> lol
00:12 < skelterjohn> a built in to turn a []blar into []Pather
00:12 -!- kr [~Keith@204.14.152.118] has quit [Read error: Connection reset by
peer]
00:13 < skelterjohn> it would be liftslice([]Pather, theBlarSlice)
00:13 < skelterjohn> can't write that function on your own, since it has a
type as a parameter
00:13 < skelterjohn> and it would have to check that a blar can be a Pather
00:13 < skelterjohn> via Pather(aBlar)
00:14 < crazy2be> Another way to solve it would be to require that arrays
define a certain interface
00:14 < crazy2be> like how C# does Ienumeratable or w/e
00:14 < crazy2be> and the builtin array type would satisfy that interface
00:14 < skelterjohn> i don't follow
00:14 -!- kr [~Keith@204.14.152.118] has joined #go-nuts
00:14 < skelterjohn> and i don't know C# (well)
00:15 < crazy2be> neither do i :)
00:15 < crazy2be> but i was reading a book on it the other day
00:15 < crazy2be> and happened to open on the section about interfaces
00:17 < crazy2be> e.g.  something like http://pastie.org/1745793
00:18 < crazy2be> then [] just becomes syntax sugar for the At() method
00:18 < crazy2be> but then you get into the mess of operator overloading i
suppose
00:23 < crazy2be> also what happens in go if two threads try to write to
os.Stdout at the same time?
00:25 < skelterjohn> i've never noticed that causing any weirdness...
00:25 < crazy2be> yeah that's why i was wondering
00:25 < skelterjohn> calls to fmt.Fprintf etc appear to be atomic with
respect to each other
00:25 < skelterjohn> but i make no promises
00:26 < crazy2be> is it just because it's usually not a race condition?
00:27 < skelterjohn> i can't answer that
00:27 -!- m4dh4tt3r [~Adium@196.sub-75-208-114.myvzw.com] has joined #go-nuts
00:27 < skelterjohn> in other news, gorf can now correctly move top level
types, vars, consts and funcs from one package to another
00:27 < crazy2be> oh well i guess i'll find out when everything breaks :)
00:28 < crazy2be> gorf?
00:28 < skelterjohn> oh except i haven't made it so receiver methods of the
moved type get moved too
00:28 < skelterjohn> github.com/skelterjohn/gorf
00:28 < skelterjohn> GO ReFactoring tool
00:28 < crazy2be> heh sounds like groff
00:29 < crazy2be> at least that's what it reminded me of :P
00:29 < skelterjohn> never heard of it
00:29 < crazy2be> GNU Troff
00:29 < crazy2be> typesetting system
00:35 -!- m4dh4tt3r [~Adium@196.sub-75-208-114.myvzw.com] has quit [Ping timeout:
240 seconds]
00:38 < crazy2be> wierd
00:38 < crazy2be> template.go:16: imported and not used: util/dlog
00:38 < crazy2be> template.go:45: undefined: dlog
00:42 -!- m4dh4tt3r [~Adium@public-gw.sj2.datapipe.net] has joined #go-nuts
00:43 -!- tvw [~tv@e176006243.adsl.alicedsl.de] has quit [Ping timeout: 240
seconds]
00:47 < plexdev> http://is.gd/shoypw by [Evan Shaw] in go/src/pkg/syscall/
-- syscall: make Syscall6 pass 6th arg on linux/386
00:49 < skelterjohn> crazy2be: "util/dlog"'s package name must not be dlog
00:50 < skelterjohn> it's only convention that import paths and package
names match up
00:50 < crazy2be> skelterjohn: Ah!
00:50 < crazy2be> didn't even think of that
00:50 < skelterjohn> <- been dealing with that sort of thing intensely
today, as i work on gorf
00:50 < skelterjohn> alright, heading home
00:50 -!- skelterjohn [~jasmuth@lawn-gw.rutgers.edu] has quit [Quit: skelterjohn]
00:51 -!- nixness [~dsc@89.211.159.197] has joined #go-nuts
01:00 -!- mikespook [~mikespook@183.47.230.146] has joined #go-nuts
01:03 -!- saturnfive [~saturnfiv@210.74.155.131] has joined #go-nuts
01:04 < plexdev> http://is.gd/TOk33t by [Russ Cox] in 2 subdirs of go/ --
gc: avoid saying same error 3 times
01:07 < crazy2be> http cookies seem to be broken with firefox :/
01:07 < crazy2be> like, go + firefox == not cooperating on cookies
01:08 < crazy2be> and chrome started randomly capitalizing the first letter
of each cookie's name
01:09 -!- GoBIR [~gobir@c-24-130-224-186.hsd1.ca.comcast.net] has quit [Ping
timeout: 264 seconds]
01:09 -!- Eko [~eko@c-24-130-224-186.hsd1.ca.comcast.net] has quit [Ping timeout:
276 seconds]
01:22 -!- Eko [~eko@c-24-130-224-186.hsd1.ca.comcast.net] has joined #go-nuts
01:26 -!- nettok [~quassel@200.119.190.6] has joined #go-nuts
01:26 -!- katakuna [pie@kjal.demon.co.uk] has quit [Ping timeout: 248 seconds]
01:29 -!- keithcascio [~keithcasc@nat/google/x-kxqlsjgqmnbjpsii] has quit [Quit:
Leaving]
01:30 -!- skelterjohn [~jasmuth@c-68-46-33-145.hsd1.nj.comcast.net] has joined
#go-nuts
01:39 -!- Eko [~eko@c-24-130-224-186.hsd1.ca.comcast.net] has quit [Ping timeout:
255 seconds]
01:39 -!- GoBIR [~gobir@70-90-168-189-SFBACalifornia.hfc.comcastbusiness.net] has
joined #go-nuts
01:44 -!- Eko [~eko@70-90-168-189-SFBACalifornia.hfc.comcastbusiness.net] has
joined #go-nuts
01:45 -!- nixness [~dsc@89.211.159.197] has quit [Remote host closed the
connection]
01:46 -!- GoBIR [~gobir@70-90-168-189-SFBACalifornia.hfc.comcastbusiness.net] has
quit [Ping timeout: 264 seconds]
01:47 -!- Border [~Border@114.246.86.250] has joined #go-nuts
01:49 -!- B0rder [~Border@114.246.86.250] has joined #go-nuts
01:50 -!- B0rder [~Border@114.246.86.250] has quit [Client Quit]
01:50 -!- skelterjohn [~jasmuth@c-68-46-33-145.hsd1.nj.comcast.net] has quit [Read
error: Connection reset by peer]
01:50 -!- skelterjohn [~jasmuth@c-68-46-33-145.hsd1.nj.comcast.net] has joined
#go-nuts
01:51 -!- Border [~Border@114.246.86.250] has quit [Ping timeout: 246 seconds]
01:51 -!- Border [~Border@114.246.75.159] has joined #go-nuts
01:53 -!- Eko [~eko@70-90-168-189-SFBACalifornia.hfc.comcastbusiness.net] has quit
[Ping timeout: 252 seconds]
01:58 -!- Eko [~eko@70-90-168-189-SFBACalifornia.hfc.comcastbusiness.net] has
joined #go-nuts
02:00 -!- m4dh4tt3r [~Adium@public-gw.sj2.datapipe.net] has quit [Quit: Leaving.]
02:00 -!- GoBIR [~gobir@70-90-168-189-SFBACalifornia.hfc.comcastbusiness.net] has
joined #go-nuts
02:05 -!- Eko [~eko@70-90-168-189-SFBACalifornia.hfc.comcastbusiness.net] has quit
[Ping timeout: 248 seconds]
02:05 -!- GoBIR [~gobir@70-90-168-189-SFBACalifornia.hfc.comcastbusiness.net] has
quit [Ping timeout: 264 seconds]
02:08 -!- skelterjohn [~jasmuth@c-68-46-33-145.hsd1.nj.comcast.net] has quit [Read
error: Connection reset by peer]
02:10 -!- GoBIR [~gobir@70-90-168-189-SFBACalifornia.hfc.comcastbusiness.net] has
joined #go-nuts
02:10 -!- Eko [~eko@70-90-168-189-SFBACalifornia.hfc.comcastbusiness.net] has
joined #go-nuts
02:10 -!- skelterjohn [~jasmuth@c-68-46-33-145.hsd1.nj.comcast.net] has joined
#go-nuts
02:13 -!- gaxxx [~woo@219.143.166.16] has joined #go-nuts
02:16 -!- kingfishr [~kingfishr@c-98-207-87-183.hsd1.ca.comcast.net] has quit
[Remote host closed the connection]
02:28 -!- nu11ptr [~nu11ptr@adsl-76-235-222-18.dsl.klmzmi.sbcglobal.net] has
joined #go-nuts
02:29 -!- skelterjohn [~jasmuth@c-68-46-33-145.hsd1.nj.comcast.net] has quit [Read
error: Connection reset by peer]
02:30 -!- skelterjohn [~jasmuth@c-68-46-33-145.hsd1.nj.comcast.net] has joined
#go-nuts
02:37 -!- kingfishr [~kingfishr@c-98-207-87-183.hsd1.ca.comcast.net] has joined
#go-nuts
02:38 < plexdev> http://is.gd/h9YtjO by [Evan Shaw] in go/src/pkg/syscall/
-- syscall: make Rawsyscall6 pass 6th arg on linux/386
02:45 -!- shvntr [~shvntr@113.84.146.44] has joined #go-nuts
02:48 -!- kr [~Keith@204.14.152.118] has quit [Ping timeout: 260 seconds]
02:49 -!- skelterjohn [~jasmuth@c-68-46-33-145.hsd1.nj.comcast.net] has quit [Read
error: Connection reset by peer]
02:50 -!- skelterjohn [~jasmuth@c-68-46-33-145.hsd1.nj.comcast.net] has joined
#go-nuts
02:57 -!- kaichen [~kaichen@122.234.10.99] has joined #go-nuts
03:09 -!- skelterjohn [~jasmuth@c-68-46-33-145.hsd1.nj.comcast.net] has quit [Read
error: Connection reset by peer]
03:09 -!- kaichenxyz [~kaichen@122.234.10.99] has quit [Remote host closed the
connection]
03:09 -!- kaichenxyz [~kaichenxy@li261-87.members.linode.com] has joined #go-nuts
03:10 -!- skelterjohn [~jasmuth@c-68-46-33-145.hsd1.nj.comcast.net] has joined
#go-nuts
03:26 -!- rbraley_ [~rbraley@114.250.80.136] has joined #go-nuts
03:30 -!- ww [~ww@river.styx.org] has quit [Ping timeout: 252 seconds]
03:41 -!- nettok [~quassel@200.119.190.6] has quit [Ping timeout: 240 seconds]
03:41 -!- tensorpudding [~user@99.148.205.193] has quit [Remote host closed the
connection]
03:41 < crazy2be> :/
03:41 < crazy2be> i get that they added a Cookie object on http requests
03:42 < crazy2be> but why did they have to break all the existing
Headers["Cookie"] implementations?
03:43 -!- skelterjohn [~jasmuth@c-68-46-33-145.hsd1.nj.comcast.net] has quit [Read
error: Connection reset by peer]
03:44 -!- skelterjohn [~jasmuth@c-68-46-33-145.hsd1.nj.comcast.net] has joined
#go-nuts
03:47 < steven> any generics yet?
03:55 -!- gtest [~chatzilla@74-210-232-54.ri.cgocable.ca] has joined #go-nuts
03:55 -!- gtest [~chatzilla@74-210-232-54.ri.cgocable.ca] has quit [Client Quit]
03:56 < plexdev> http://is.gd/KMH7fv by [Robert Griesemer] in
go/src/pkg/go/parser/ -- go/parser: package name must not be the blank identifier
03:56 < crazy2be> steven: Yeah of course :P
03:56 < crazy2be> haha
03:56 < steven> sweet, about time
03:58 < crazy2be> all you have to do is install one of the dozens of
preprocessors
03:58 < steven> uhh
03:59 < steven> they exist?
03:59 < crazy2be> http://godashboard.appspot.com/project
04:00 < crazy2be> Ctrl+F generics
04:00 < crazy2be> oh i guess there's only one
04:01 < crazy2be> assuming Gotgo and gotgo are the same thing
04:03 -!- m4dh4tt3r [~Adium@168.sub-75-208-47.myvzw.com] has joined #go-nuts
04:03 -!- skelterjohn [~jasmuth@c-68-46-33-145.hsd1.nj.comcast.net] has quit [Read
error: Connection reset by peer]
04:04 -!- skelterjohn [~jasmuth@c-68-46-33-145.hsd1.nj.comcast.net] has joined
#go-nuts
04:09 -!- htoothrot [~mux@66-169-185-121.dhcp.ftwo.tx.charter.com] has quit [Ping
timeout: 260 seconds]
04:11 -!- htoothrot [~mux@66-169-185-121.dhcp.ftwo.tx.charter.com] has joined
#go-nuts
04:11 -!- rejb [~rejb@unaffiliated/rejb] has quit [Ping timeout: 246 seconds]
04:23 -!- skelterjohn [~jasmuth@c-68-46-33-145.hsd1.nj.comcast.net] has quit [Read
error: Connection reset by peer]
04:24 -!- skelterjohn [~jasmuth@c-68-46-33-145.hsd1.nj.comcast.net] has joined
#go-nuts
04:31 -!- m4dh4tt3r [~Adium@168.sub-75-208-47.myvzw.com] has quit [Ping timeout:
260 seconds]
04:41 -!- zozoR [~Morten@56344e3e.rev.stofanet.dk] has joined #go-nuts
04:43 -!- skelterjohn [~jasmuth@c-68-46-33-145.hsd1.nj.comcast.net] has quit [Read
error: Connection reset by peer]
04:44 -!- skelterjohn [~jasmuth@c-68-46-33-145.hsd1.nj.comcast.net] has joined
#go-nuts
04:47 -!- photron [~photron@port-92-201-38-38.dynamic.qsc.de] has joined #go-nuts
05:03 -!- skelterjohn [~jasmuth@c-68-46-33-145.hsd1.nj.comcast.net] has quit [Read
error: Connection reset by peer]
05:04 -!- skelterjohn [~jasmuth@c-68-46-33-145.hsd1.nj.comcast.net] has joined
#go-nuts
05:19 < crazy2be> anyway night all
05:23 -!- skelterjohn [~jasmuth@c-68-46-33-145.hsd1.nj.comcast.net] has quit [Read
error: Connection reset by peer]
05:25 -!- skelterjohn [~jasmuth@c-68-46-33-145.hsd1.nj.comcast.net] has joined
#go-nuts
05:32 -!- crazy2be [~crazy2be@d209-89-248-73.abhsia.telus.net] has quit [Remote
host closed the connection]
05:34 -!- unofficialmvp [~dev@94-62-164-227.b.ipv4ilink.net] has joined #go-nuts
05:40 -!- segy [~segfault@pdpc/supporter/active/segy] has quit [Ping timeout: 276
seconds]
05:40 -!- unofficialmvp [~dev@94-62-164-227.b.ipv4ilink.net] has left #go-nuts []
05:42 -!- stalled [~stalled@unaffiliated/stalled] has quit [Ping timeout: 252
seconds]
05:43 -!- skelterjohn [~jasmuth@c-68-46-33-145.hsd1.nj.comcast.net] has quit [Read
error: Connection reset by peer]
05:45 -!- skelterjohn [~jasmuth@c-68-46-33-145.hsd1.nj.comcast.net] has joined
#go-nuts
05:55 -!- stalled [~stalled@unaffiliated/stalled] has joined #go-nuts
06:00 -!- nsf [~nsf@jiss.convex.ru] has joined #go-nuts
06:03 -!- skelterjohn [~jasmuth@c-68-46-33-145.hsd1.nj.comcast.net] has quit [Read
error: Connection reset by peer]
06:05 -!- skelterjohn [~jasmuth@c-68-46-33-145.hsd1.nj.comcast.net] has joined
#go-nuts
06:19 -!- dreadlorde [~dreadlord@c-24-11-39-160.hsd1.mi.comcast.net] has quit
[Ping timeout: 276 seconds]
06:23 -!- skelterjohn [~jasmuth@c-68-46-33-145.hsd1.nj.comcast.net] has quit [Read
error: Connection reset by peer]
06:25 -!- skelterjohn [~jasmuth@c-68-46-33-145.hsd1.nj.comcast.net] has joined
#go-nuts
06:26 -!- femtoo [~femto@95-89-249-242-dynip.superkabel.de] has joined #go-nuts
06:30 -!- kingfishr [~kingfishr@c-98-207-87-183.hsd1.ca.comcast.net] has quit
[Remote host closed the connection]
06:37 -!- mikespook1 [~mikespook@183.47.226.21] has joined #go-nuts
06:38 -!- ExtraSpice [XtraSpice@88.118.35.153] has joined #go-nuts
06:38 -!- mikespook [~mikespook@183.47.230.146] has quit [Ping timeout: 260
seconds]
06:43 -!- skelterjohn [~jasmuth@c-68-46-33-145.hsd1.nj.comcast.net] has quit [Read
error: Connection reset by peer]
06:45 -!- skelterjohn [~jasmuth@c-68-46-33-145.hsd1.nj.comcast.net] has joined
#go-nuts
07:03 -!- skelterjohn [~jasmuth@c-68-46-33-145.hsd1.nj.comcast.net] has quit [Read
error: Connection reset by peer]
07:05 -!- skelterjohn [~jasmuth@c-68-46-33-145.hsd1.nj.comcast.net] has joined
#go-nuts
07:12 -!- tensai_cirno [~cirno@77.232.15.216] has joined #go-nuts
07:21 -!- sacho [~sacho@90.154.197.48] has quit [Ping timeout: 246 seconds]
07:23 -!- sacho [~sacho@90.154.207.183] has joined #go-nuts
07:23 -!- skelterjohn [~jasmuth@c-68-46-33-145.hsd1.nj.comcast.net] has quit [Read
error: Connection reset by peer]
07:25 -!- skelterjohn [~jasmuth@c-68-46-33-145.hsd1.nj.comcast.net] has joined
#go-nuts
07:25 -!- Cobi [~Cobi@2002:1828:88fb:0:aede:48ff:febe:ef03] has quit [Ping
timeout: 264 seconds]
07:25 -!- zimsim [~simon@87.72.77.195] has joined #go-nuts
07:34 -!- ShadowIce [~pyoro@unaffiliated/shadowice-x841044] has joined #go-nuts
07:43 -!- skelterjohn [~jasmuth@c-68-46-33-145.hsd1.nj.comcast.net] has quit [Read
error: Connection reset by peer]
07:45 -!- skelterjohn [~jasmuth@c-68-46-33-145.hsd1.nj.comcast.net] has joined
#go-nuts
07:46 -!- Cobi [~Cobi@2002:1828:88fb:0:aede:48ff:febe:ef03] has joined #go-nuts
07:51 -!- rlab [~Miranda@91.200.158.34] has joined #go-nuts
08:03 -!- skelterjohn [~jasmuth@c-68-46-33-145.hsd1.nj.comcast.net] has quit [Read
error: Connection reset by peer]
08:05 -!- skelterjohn [~jasmuth@c-68-46-33-145.hsd1.nj.comcast.net] has joined
#go-nuts
08:23 -!- skelterjohn [~jasmuth@c-68-46-33-145.hsd1.nj.comcast.net] has quit [Read
error: Connection reset by peer]
08:25 -!- skelterjohn [~jasmuth@c-68-46-33-145.hsd1.nj.comcast.net] has joined
#go-nuts
08:33 -!- femtooo [~femto@95-89-249-242-dynip.superkabel.de] has joined #go-nuts
08:35 -!- femtoo [~femto@95-89-249-242-dynip.superkabel.de] has quit [Ping
timeout: 246 seconds]
08:43 -!- skelterjohn [~jasmuth@c-68-46-33-145.hsd1.nj.comcast.net] has quit [Read
error: Connection reset by peer]
08:45 -!- segy [~segfault@pdpc/supporter/active/segy] has joined #go-nuts
08:45 -!- skelterjohn [~jasmuth@c-68-46-33-145.hsd1.nj.comcast.net] has joined
#go-nuts
08:50 -!- skejoe [~skejoe@188.114.142.217] has joined #go-nuts
09:00 -!- dahankzter [~henrik@92-244-3-192.customers.ownit.se] has joined #go-nuts
09:03 -!- skelterjohn [~jasmuth@c-68-46-33-145.hsd1.nj.comcast.net] has quit [Read
error: Connection reset by peer]
09:05 -!- skelterjohn [~jasmuth@c-68-46-33-145.hsd1.nj.comcast.net] has joined
#go-nuts
09:09 < dahankzter> How are the goroutines working really?  If i have a set
of long running perhaps IO intensive/waiting functions in their own goroutine can
they block all the underlying threads and thus preventing other goroutines from
running?
09:13 -!- kr [~Keith@c-24-5-193-165.hsd1.ca.comcast.net] has joined #go-nuts
09:19 -!- wm_eddie [~wm_eddie@kanna.wm-eddie.info] has quit [Quit: OS upgrade]
09:23 -!- skelterjohn [~jasmuth@c-68-46-33-145.hsd1.nj.comcast.net] has quit [Read
error: Connection reset by peer]
09:25 -!- skelterjohn [~jasmuth@c-68-46-33-145.hsd1.nj.comcast.net] has joined
#go-nuts
09:26 -!- nettok [~quassel@200.119.161.22] has joined #go-nuts
09:28 -!- skejoe [~skejoe@188.114.142.217] has quit [Quit: Lost terminal]
09:33 -!- wrtp [~rog@92.17.29.230] has joined #go-nuts
09:39 < dahankzter> So the docs clearly states that goroutines scheduled for
the same thread are rescheduled on another thread when the currently running
thread is blocking
09:39 < dahankzter> this could lead to starvation of the underlying threads
right?
09:40 -!- kr [~Keith@c-24-5-193-165.hsd1.ca.comcast.net] has quit [Quit: WeeChat
0.3.2]
09:42 -!- aho [~nya@fuld-590c7d33.pool.mediaWays.net] has joined #go-nuts
09:43 -!- skelterjohn [~jasmuth@c-68-46-33-145.hsd1.nj.comcast.net] has quit [Read
error: Connection reset by peer]
09:45 -!- skelterjohn [~jasmuth@c-68-46-33-145.hsd1.nj.comcast.net] has joined
#go-nuts
09:45 -!- mikespook1 [~mikespook@183.47.226.21] has quit [Remote host closed the
connection]
09:45 -!- unofficialmvp1 [~dev@94-62-164-227.b.ipv4ilink.net] has joined #go-nuts
09:45 -!- unofficialmvp1 [~dev@94-62-164-227.b.ipv4ilink.net] has left #go-nuts []
09:46 -!- preflex [~preflex@unaffiliated/mauke/bot/preflex] has quit [Ping
timeout: 240 seconds]
09:49 -!- wrtp [~rog@92.17.29.230] has quit [Quit: wrtp]
09:51 -!- preflex [~preflex@unaffiliated/mauke/bot/preflex] has joined #go-nuts
09:52 < dahankzter> Hmm is it so that the number of threads is not limited?
That would alleviate the starvation problem and put the issue at what happens with
any thread based progam
09:53 < str1ngs> dahankzter: try the go-nuts google group.  gets quite here
around this time.
09:59 -!- hallas [~hallas@x1-6-30-46-9a-b2-c5-1f.k891.webspeed.dk] has joined
#go-nuts
10:01 -!- nettok [~quassel@200.119.161.22] has quit [Ping timeout: 260 seconds]
10:01 -!- ww [~ww@river.styx.org] has joined #go-nuts
10:01 < manveru> dahankzter: afaicr, they are implemented using both
coroutines and threads, and go decides which one to use
10:02 -!- femtoo [~femto@95-89-249-242-dynip.superkabel.de] has joined #go-nuts
10:02 < hallas> Hey all.  I'm having some problem understand the template
package.  I've executed my template with my template file and a struct.  I am
having trouble accessing and using the struct by using the name of the fields in
the struct.  The only way I seem able to use it is by the @ token.  For example,
the struct has one single field named "network" which is a vector.  Using
{.repeated section @} {@} {.end} works fine but not {.repeated sectio
10:02 < hallas> n network} {port} {.end}.  "network" and "port" are fields
in structs.  Any ideas or links to formidable guides?  I've read all I can find on
google.
10:03 -!- skelterjohn [~jasmuth@c-68-46-33-145.hsd1.nj.comcast.net] has quit [Read
error: Connection reset by peer]
10:03 -!- femtooo [~femto@95-89-249-242-dynip.superkabel.de] has quit [Ping
timeout: 246 seconds]
10:04 -!- nsf [~nsf@jiss.convex.ru] has quit [Quit: WeeChat 0.3.4]
10:05 -!- skelterjohn [~jasmuth@c-68-46-33-145.hsd1.nj.comcast.net] has joined
#go-nuts
10:12 -!- femtooo [~femto@95-89-249-242-dynip.superkabel.de] has joined #go-nuts
10:15 -!- flippy08 [~flippy08@a89-182-192-214.net-htp.de] has joined #go-nuts
10:15 -!- Project_2501 [~Marvin@dynamic-adsl-94-36-173-111.clienti.tiscali.it] has
joined #go-nuts
10:15 -!- femtoo [~femto@95-89-249-242-dynip.superkabel.de] has quit [Ping
timeout: 246 seconds]
10:16 < flippy08> hi, why is there no platform dependent float typ, only
float32 and float64 ? i mean in the past there was a float typ
10:17 < hallas> do you mean independent ?
10:18 < flippy08> i mean that a "float" is a float32 under x86 and under x64
a float64
10:19 < KirkMcDonald> Uh
10:19 < dforsyth> ...
10:19 < flippy08> ?
10:19 < KirkMcDonald> Are you aware that floats use an entirely different
set of registers?
10:20 < edsrzf> I think the reasoning was something like: usually when
you're using floating point types, you want to know exactly what precision you're
getting.
10:20 < KirkMcDonald> And that these registers are 80 bits even on x86?
10:21 < hallas> flippy08: in Go, I dont think it matters on which platform
you're on.  It's a matter of precision only.
10:22 < hallas> meaning float64 doesnt mean you're on a 64bit system.
10:22 -!- araujo [~araujo@gentoo/developer/araujo] has quit [Quit: Leaving]
10:22 < flippy08> I have no idea, but i think in the past i could do just
somethink like this: var myFloatingPoint float = 3E3
10:22 < taruti> flippy08: so write "yourfloat float64 = 3E3"
10:22 < hallas> ill whip you up with an example :)
10:22 < taruti> +var
10:23 < edsrzf> Yeah, the "float" type was removed
10:23 < edsrzf> There's only float32 and float64 now.
10:23 < KirkMcDonald> There are few reasons not to use float64 everywhere.
10:23 < flippy08> that was everythink i would know ^^
10:23 -!- skelterjohn [~jasmuth@c-68-46-33-145.hsd1.nj.comcast.net] has quit [Read
error: Connection reset by peer]
10:23 < edsrzf> taruti: Or better yet, just write yourfloat := 3E3 (unless
you're at the top level)
10:24 -!- wrtp [~rog@92.17.29.230] has joined #go-nuts
10:25 -!- skelterjohn [~jasmuth@c-68-46-33-145.hsd1.nj.comcast.net] has joined
#go-nuts
10:25 -!- wrtp [~rog@92.17.29.230] has quit [Client Quit]
10:30 < hallas> flippy08: try running http://pastie.org/1746872 in the
playground
10:31 < flippy08> ah i see
10:35 < flippy08> hachiya, f := 1 / 33.3 is a float64 on a x86 machine?
10:36 < flippy08> hallas, i mean ^^
10:37 < hallas> I believe so yes
10:38 < hallas> The := operator is tricky.  I dont know how determines the
type of 1 / 33.3, could be either, but I think it 'defaults' to float64.
10:38 < hallas> On any system
10:38 < flippy08> on my x86 linux it is a float64
10:38 < hallas> Then you've got your answer
10:39 < flippy08> k
10:39 < Namegduf> flippy08: Integer constants become int, floating point
constants become float64
10:39 < Namegduf> There are no other "untyped" values
10:41 * ww floats by
10:43 -!- saturnfive [~saturnfiv@210.74.155.131] has quit [Read error: Connection
reset by peer]
10:43 -!- skelterjohn [~jasmuth@c-68-46-33-145.hsd1.nj.comcast.net] has quit [Read
error: Connection reset by peer]
10:44 -!- tobier [~tobier@c-1e9de055.712-1-64736c11.cust.bredbandsbolaget.se] has
joined #go-nuts
10:45 -!- skelterjohn [~jasmuth@c-68-46-33-145.hsd1.nj.comcast.net] has joined
#go-nuts
10:45 -!- prudhvi [~prudhvi@look.ma.i.am.on.ipv6.at.prudhvi.de] has left #go-nuts
[]
10:46 -!- gaxxx [~woo@219.143.166.16] has quit [Remote host closed the connection]
10:56 < edsrzf> Technically string and boolean literals are untyped also,
but their defaults should be much more obvious.  ;)
10:57 < KirkMcDonald> string defaults to []uint8!  Clearly.
10:58 -!- edsrzf [~chickench@122-61-221-144.jetstream.xtra.co.nz] has quit [Remote
host closed the connection]
11:03 -!- skelterjohn [~jasmuth@c-68-46-33-145.hsd1.nj.comcast.net] has quit [Read
error: Connection reset by peer]
11:05 -!- skelterjohn [~jasmuth@c-68-46-33-145.hsd1.nj.comcast.net] has joined
#go-nuts
11:05 -!- tokuhiro_ [~tokuhirom@s230.GtokyoFL21.vectant.ne.jp] has quit [Quit:
Tiarra 0.1: SIGTERM received; exit]
11:05 -!- Project-2501 [~Marvin@dynamic-adsl-94-36-171-239.clienti.tiscali.it] has
joined #go-nuts
11:05 -!- tokuhiro_ [~tokuhirom@s230.GtokyoFL21.vectant.ne.jp] has joined #go-nuts
11:07 < xyproto> in lack of function overloading, what's the common way to
declare functions that take a different number of arguments and with different
types?
11:07 < taruti> func FooBar(...); func FooBaz(...); ...
11:07 < xyproto> CalculateFloat64(x float64) and CalculateInt(x int)?
11:07 < taruti> yes
11:08 < xyproto> taruti: ok, thanks
11:08 -!- Project_2501 [~Marvin@dynamic-adsl-94-36-173-111.clienti.tiscali.it] has
quit [Ping timeout: 250 seconds]
11:11 -!- Border [~Border@114.246.75.159] has quit [Ping timeout: 252 seconds]
11:12 -!- hcatlin [~hcatlin@pdpc/supporter/professional/hcatlin] has quit [Quit:
hcatlin]
11:14 -!- sacho [~sacho@90.154.207.183] has quit [Ping timeout: 246 seconds]
11:19 -!- hcatlin [~hcatlin@pdpc/supporter/professional/hcatlin] has joined
#go-nuts
11:20 -!- saturnfive [~saturnfiv@219.145.57.232] has joined #go-nuts
11:23 -!- skelterjohn [~jasmuth@c-68-46-33-145.hsd1.nj.comcast.net] has quit [Read
error: Connection reset by peer]
11:25 -!- skelterjohn [~jasmuth@c-68-46-33-145.hsd1.nj.comcast.net] has joined
#go-nuts
11:28 -!- saturnfive [~saturnfiv@219.145.57.232] has left #go-nuts []
11:43 -!- skelterjohn [~jasmuth@c-68-46-33-145.hsd1.nj.comcast.net] has quit [Read
error: Connection reset by peer]
11:45 -!- skelterjohn [~jasmuth@c-68-46-33-145.hsd1.nj.comcast.net] has joined
#go-nuts
11:50 -!- sacho [~sacho@90.154.207.183] has joined #go-nuts
11:55 -!- rejb [~rejb@unaffiliated/rejb] has joined #go-nuts
11:57 -!- wrtp [~rog@92.17.29.230] has joined #go-nuts
11:57 -!- nsf [~nsf@jiss.convex.ru] has joined #go-nuts
11:58 -!- wrtp [~rog@92.17.29.230] has quit [Client Quit]
11:59 -!- huin [~huin@91.85.185.181] has joined #go-nuts
12:02 -!- KBme [~KBme@9angled-2-pt.tunnel.tserv5.lon1.ipv6.he.net] has quit
[Excess Flood]
12:03 -!- skelterjohn [~jasmuth@c-68-46-33-145.hsd1.nj.comcast.net] has quit [Read
error: Connection reset by peer]
12:05 -!- skelterjohn [~jasmuth@c-68-46-33-145.hsd1.nj.comcast.net] has joined
#go-nuts
12:06 -!- KBme [~KBme@9angled-2-pt.tunnel.tserv5.lon1.ipv6.he.net] has joined
#go-nuts
12:07 -!- wrtp [~rog@92.17.29.230] has joined #go-nuts
12:10 -!- rejb [~rejb@unaffiliated/rejb] has quit [Ping timeout: 246 seconds]
12:14 -!- rejb [~rejb@unaffiliated/rejb] has joined #go-nuts
12:23 -!- skelterjohn [~jasmuth@c-68-46-33-145.hsd1.nj.comcast.net] has quit [Read
error: Connection reset by peer]
12:25 -!- skelterjohn [~jasmuth@c-68-46-33-145.hsd1.nj.comcast.net] has joined
#go-nuts
12:30 -!- karpar [~user@112.96.225.25] has joined #go-nuts
12:36 -!- skelterjohn [~jasmuth@c-68-46-33-145.hsd1.nj.comcast.net] has quit [Read
error: Connection reset by peer]
12:36 -!- skelterjohn [~jasmuth@c-68-46-33-145.hsd1.nj.comcast.net] has joined
#go-nuts
12:50 -!- kaichenxyz_ [~kaichenxy@122.234.10.99] has joined #go-nuts
12:52 < xyproto> how do I do x^10 (exponential, not binary xor)?
12:52 < nsf> uhm, guys what do you think about implicit conversion between
*void and any other pointer type?
12:52 < nsf> xyproto: there should be a func in math package
12:52 < nsf> Pow or something
12:52 < xyproto> nsf: I found math.Pow, but I could not find one for int
12:53 < nsf> uhm
12:53 < nsf> for int you can use a shift op
12:53 < nsf> x << 10
12:53 < huin> that's multiplication by 2^10
12:53 < nsf> ah, yes
12:54 -!- kaichenxyz [~kaichenxy@li261-87.members.linode.com] has quit [Ping
timeout: 246 seconds]
12:54 < nsf> x*x*x*x*x*x*x*x*x*x
12:54 < nsf> lol
12:56 -!- wrtp [~rog@92.17.29.230] has quit [Quit: wrtp]
12:56 -!- karpar [~user@112.96.225.25] has quit [Quit: ERC Version 5.3 (IRC client
for Emacs)]
12:57 < nsf> xyproto: I think math.Pow exists because it's not trivial for
non-integer 'y'
12:57 < nsf> for ints as I've said..  multiplication loop will work
12:58 < nsf> unrolled by you, or not
12:59 < nsf> so..
12:59 < nsf> guys, what do you think about implicit conversion between *void
and any other pointer type?
12:59 < nsf> :)
13:00 < nsf> I want to make 'nil' as a *void 0 const value
13:00 < nsf> and it will work simply using that implicit conversion rule
13:00 < taruti> implicit conversions are evil
13:00 < nsf> taruti: Go has implicit conversions too
13:01 < nsf> and it's not an argument
13:01 < nsf> I am evil, but it means nothing
13:01 -!- Fish- [~Fish@exo3753.pck.nerim.net] has joined #go-nuts
13:01 < nsf> why is it evil?
13:02 < nsf> I agree that say implicit pointer to bool conversion is evil
13:02 < skelterjohn> morning all
13:02 < nsf> or integer to pointer
13:02 < nsf> or float to int
13:03 < nsf> and I can't see any reason why *void to other pointer type
conversion is evil
13:03 < nsf> or vice versa
13:03 < skelterjohn> xyproto: use math.Pow, except for integers
13:04 -!- Fish [~Fish@exo3753.pck.nerim.net] has quit [Ping timeout: 240 seconds]
13:04 < nsf> *void is like a special type anyway, it says "just a pointer to
memory location, no type info attached"
13:04 -!- hallas [~hallas@x1-6-30-46-9a-b2-c5-1f.k891.webspeed.dk] has left
#go-nuts []
13:04 < skelterjohn> why oh why is eclipse using 250mb
13:04 < nsf> skelterjohn: Java, garbage collector technology
13:04 < huin> probably hasn't finished loading yet :)
13:05 < huin> don't get used to it
13:05 < skelterjohn> i started it three days ago!
13:05 < taruti> nsf: if *foo <=> *void and *bar <=> *void, then
*foo <=> *bar
13:05 < huin> should be almost done, then :)
13:05 < skelterjohn> and it's not just java - it's how eclipse is written
13:05 < nsf> taruti: not necessary
13:05 < nsf> taruti: it depends on implicit conversion definition
13:06 < nsf> in C for example
13:06 < nsf> you can convert any pointer type to void* and back
13:06 < nsf> without conversions
13:06 < nsf> but it doesn't make int* compatible with float*
13:06 < skelterjohn> type safety is a good thing
13:07 < nsf> and I have type safety
13:07 < nsf> type system is definitely much stronger than in C or C++
13:07 < skelterjohn> an implicit conversion like that makes it easy to make
mistakes and have them be hard to find
13:07 < nsf> but when I start to think about things like
13:07 < nsf> malloc
13:07 < nsf> memcpy
13:07 < nsf> memcmp
13:07 < nsf> I don't want these to have type casts
13:07 < skelterjohn> use a typed make() function :)
13:08 < nsf> skelterjohn: it's Go's way
13:08 < nsf> "let's define a built-in function!"
13:08 < skelterjohn> but don't attach it to a garbage collector
13:08 < nsf> it could be an answer for anything
13:08 < skelterjohn> oh yeah, go is just overloaded by built-ins =p
13:08 < nsf> just use a built-in function
13:08 < nsf> Go has copy as a built-in as well
13:08 < nsf> 'copy'*
13:09 < nsf> btw
13:09 < nsf> the roots of C++'s delete and new is exactly this
13:10 < nsf> for some reason bjarne decided that void* to any pointer is the
root of all evil
13:10 < nsf> he left all other implicit conversions
13:10 < nsf> and removed this one
13:10 < nsf> replacing it with 'new' for allocations
13:10 < nsf> on the other hand memcpy works, hm..
13:10 < nsf> few hacks here and there and C++ is done
13:11 -!- tensorpudding [~user@99.148.205.193] has joined #go-nuts
13:12 -!- tensorpudding [~user@99.148.205.193] has quit [Remote host closed the
connection]
13:13 -!- tensorpudding [~user@99.148.205.193] has joined #go-nuts
13:13 < nsf> yeah, it's funny, C++ is funny
13:13 < nsf> int x[5]; float y[5]; memcpy(x, y, sizeof(int)*5); // ok
13:13 < nsf> int *z = malloc(sizeof(int)); // error
13:14 < nsf> so, you can convert any pointer type to *void
13:14 < nsf> but not vice versa
13:14 < nsf> :\
13:15 -!- hcatlin [~hcatlin@pdpc/supporter/professional/hcatlin] has quit [Quit:
hcatlin]
13:15 < ampleyfly> I don't think c++ requires a cast on that malloc
13:16 < nsf> nsf @ ~]$ clang++ -o test test.cpp
13:16 < nsf> test.cpp:7:7: error: cannot initialize a variable of type 'int
*' with an rvalue
13:16 < nsf> of type 'void *'
13:16 < nsf> int *z = malloc(sizeof(int));
13:16 < nsf> ^ ~~~~~~~~~~~~~~~~~~~
13:16 < nsf> pretty much an error
13:17 < ampleyfly> I might be confusing c and c++
13:17 < nsf> yeah, in C of course it's possible
13:17 < nsf> in C you can convert any pointer to void* and back
13:17 < nsf> without any type casts
13:18 < nsf> personally I find C's type system better than C++'s
13:18 < ampleyfly> right
13:19 < ampleyfly> what about templated data structures?
13:19 < nsf> ampleyfly: where?
13:19 < ampleyfly> generics, I guess
13:20 < nsf> in C++, in C, in Go or in my language
13:20 < nsf> ?
13:20 < ampleyfly> in c++, as compared to, say, an array of void pointers in
c
13:20 < nsf> uhm, I can't remember last time I saw an array of void pointer
in C
13:20 < ampleyfly> yeah
13:21 < nsf> because it doesn't make sense as Java
13:21 < nsf> :D
13:21 < nsf> (in Java every array is an array of pointers)
13:21 < ampleyfly> so it's a bit strange to compare them
13:21 < nsf> uhm, compare what?
13:21 < ampleyfly> but I guess if you refer to the c subset of c++
13:22 < nsf> I'm not comparing anything
13:22 -!- wrtp [~rog@92.17.29.230] has joined #go-nuts
13:22 < ampleyfly> < nsf> personally I find C's type system better
than C++'s
13:22 < nsf> well, that's not even a comparison
13:22 < nsf> it's my preference
13:22 < ampleyfly> ok
13:23 < nsf> what I'm trying to understand is that: why people think that
implicit conversion between void* and any other pointer type is evil
13:23 -!- artefon [~thiago@189.115.130.172] has joined #go-nuts
13:23 < nsf> most of the time I hear one argument: "implicit conversions are
evil"
13:23 < nsf> :\
13:23 < nsf> it's like an OOP book argument
13:24 < nsf> although I started to forget all these OOP book arguments
13:24 -!- femtooo [~femto@95-89-249-242-dynip.superkabel.de] has quit [Read error:
Connection reset by peer]
13:24 < nsf> finally..
13:25 < nsf> :)
13:26 < ampleyfly> maybe it's because doing implicit casting from void* to
anything else i
13:26 -!- wrtp [~rog@92.17.29.230] has quit [Client Quit]
13:26 < ampleyfly> isn't guaranteed to work
13:26 < nsf> in C++ it's true
13:26 < ampleyfly> maybe it's a common source of errors
13:27 < nsf> there is a case which involves multiple inheritance
implementation details
13:27 < nsf> but I can't see why in a language with no type hierarchies it's
evil
13:27 < nsf> in C for example
13:28 < nsf> void* is awesome, I'm sure every C programmer thinks that way
13:28 < nsf> :D
13:28 < kimelto> it *is*, actually :p
13:29 < ampleyfly> yeah, for data shuffling it's nice
13:30 < nsf> and well, there are two properties of void* in C
13:30 < ampleyfly> and for handles
13:30 < nsf> 1.  pointer arithmetic
13:30 < nsf> 2.  it can be converted to any other pointer type and back
13:30 < nsf> ampleyfly: or that, yeah
13:31 < nsf> can be used as an abstract pointer with type information hidden
13:31 -!- araujo [~araujo@gentoo/developer/araujo] has joined #go-nuts
13:31 < nsf> at least in C, 'typedef void* handle_t;' means nothing
13:32 < nsf> just another name for void*
13:32 < nsf> in my language it will a new pointer type
13:32 < nsf> and you can't convert between "handle_t" and "*int" for example
13:33 < nsf> without explicit cast
13:33 < skelterjohn> call it Pointer
13:33 < nsf> it's *void
13:33 < skelterjohn> :(
13:33 < nsf> C/C++ people know what it is
13:33 < skelterjohn> *void only makes sense because of historical context
13:33 < skelterjohn> Pointer is much more meaningful
13:33 < skelterjohn> hence my first comment
13:33 < nsf> *any?
13:34 < skelterjohn> *shrug*
13:34 < nsf> I like *void
13:34 < nsf> it sounds familiar
13:35 < nsf> 'void' is a type after all, sounds right
13:35 < nsf> no type == void
13:35 < nsf> oh, btw
13:36 < nsf> in D it's possible to disable zero initialization that way:
13:36 < nsf> int x = void;
13:36 < nsf> I think it's wrong, because keyword 'void' is used as a value
13:36 < nsf> it should be:
13:36 < nsf> int x = !null;
13:36 < nsf> or in my case
13:36 < nsf> var x int = !nil;
13:36 < nsf> :D
13:36 < nsf> for some reason I think it's less confusing
13:38 < nsf> hahaha, one more note
13:38 < nsf> I started all this language thing as "C with Go syntax"
13:38 < nsf> but now as it goes
13:39 < nsf> I know no one who understands what I'm writing :)
13:39 < nsf> abstractly simple, complicated and unpredictable in details
13:41 < nsf> (most people think I'm crazy)
13:41 < nsf> :D
13:41 < nsf> it's sad though
13:46 < nsf> http://pastie.org/1747321
13:46 -!- kaichenxyz [~kaichenxy@122.234.10.99] has quit [Quit: kaichenxyz]
13:46 < nsf> hm..  looks like non-pointer part works more or less
13:48 < nsf> type systems are crazy, so many rules
13:48 < nsf> type conversion rules, binary operands rules, unary operand
rules, assignment rules, type equality rules
13:48 < nsf> etc.
13:51 < skelterjohn> hm
13:51 < skelterjohn> not sure i like <type>value
13:51 < skelterjohn> the way go does it, with type(value) makes precedence
moot
13:52 < skelterjohn> because type is a function, rather than an operato
13:52 < skelterjohn> r
13:52 < nsf> skelterjohn: yeah
13:52 < nsf> but it's undecided question
13:52 < nsf> I'm interested in statistics from the real world code
13:53 < nsf> what type conversions are more common:
13:53 < nsf> 1.  (int)(1+2)
13:53 < nsf> or
13:53 < nsf> 2.  (int)5
13:53 < nsf> for some reason I think 2 is more common
13:53 < nsf> and that syntax: <int>5 is a reflection of that
13:53 < nsf> because for *int for example, other syntax looks ugly
13:54 < nsf> (*int)(a)
13:54 < nsf> in a single argument case of course
13:54 < nsf> <*int>a
13:54 < nsf> and
13:54 < nsf> (*int)(a + b)
13:54 < nsf> <*int>(a + b)
13:55 < nsf> I think both forms are ok
13:55 < nsf> <> that one is less ambigous though
13:56 < nsf> but I still don't know the right answer for that question:
which syntax leads to more readable code and which syntax leads to less characters
typed?
13:56 < skelterjohn> less characters typed is a bogus stat
13:56 < nsf> ok
13:56 < skelterjohn> within reason, that is
13:56 < skelterjohn> and, of course, just my opinion
13:56 < nsf> then it's only a readability issue
13:57 < nsf> in your opinion :)
14:00 < nsf> C++'s casts are long and ugly
14:00 < nsf> reinterpret_cast<type>(arg)
14:01 < nsf> D's are shorter, but still one keyword overhead
14:01 < nsf> cast(type)arg
14:01 < nsf> Go's:
14:01 < nsf> type(arg)
14:01 < nsf> mine:
14:01 < nsf> <type>arg
14:01 < nsf> I think both are nice
14:02 < nsf> skelterjohn: well and I had an idea of 3rd-eye implicit type
casting
14:02 < nsf> when:
14:02 < nsf> var x int = 5 + 6;
14:02 < nsf> means:
14:02 < nsf> var x = int(5 + 6);
14:03 < nsf> so you don't have to use type cast for simple cases like that:
14:03 < nsf> var a, b int = 1, 2;
14:03 < nsf> var c float = a + b;
14:03 < nsf> but I'm not sure about this idea
14:07 -!- tensai_cirno [~cirno@77.232.15.216] has quit [Quit: Leaving]
14:13 -!- hcatlin [~hcatlin@host109-153-186-69.range109-153.btcentralplus.com] has
joined #go-nuts
14:13 -!- hcatlin [~hcatlin@host109-153-186-69.range109-153.btcentralplus.com] has
quit [Changing host]
14:13 -!- hcatlin [~hcatlin@pdpc/supporter/professional/hcatlin] has joined
#go-nuts
14:18 -!- [Pete_27] [~noname@110-174-103-31.static.tpgi.com.au] has quit [Ping
timeout: 246 seconds]
14:20 -!- [Pete_27] [~noname@110-174-103-31.static.tpgi.com.au] has joined
#go-nuts
14:29 < nsf> http://pastie.org/1747417
14:29 < nsf> hm..
14:30 < nsf> when I see a complicated code like this, I tend to believe that
it was required to do it that way
14:31 < nsf> on the other hand I can't see any difference in behaviour
14:31 < nsf> iant: what do you think?  :)
14:34 < skelterjohn> i think you shouldn't be able to declare a
var/func/type with the same name as an imported package
14:34 < skelterjohn> it's making gorf tricky to write
14:34 < nsf> skelterjohn: why not?
14:34 < skelterjohn> it's making gorf tricky to write
14:34 < nsf> it's not tricky
14:34 < nsf> pkgscope > filescope > ...
14:35 < nsf> you can't redeclare it in the package scope
14:35 < nsf> in a function scope or something, you can
14:35 < skelterjohn> you should really ask what gorf operation i'm
implementing, right now :)
14:35 < skelterjohn> because all of that was irrelevant
14:35 < nsf> I should ask you why your scope handling is implemented via
hacks
14:36 < nsf> instead of the right way :)
14:36 < skelterjohn> i'm not doing any scope handling
14:36 < nsf> you should
14:36 < nsf> for a refactoring tool it's a must
14:36 < skelterjohn> i'm just using wrtp's type checker for all that stuff
14:36 < skelterjohn> so it's his responsibility
14:36 < skelterjohn> but this is still irrelevant to my issue right now
14:36 < skelterjohn> i'm writing something that can merge two packages
14:36 < nsf> then it's buggy :)
14:37 < skelterjohn> wtf you have no idea what my issue is
14:37 < skelterjohn> let me explain it
14:37 < nsf> I mean wrtp's type checker
14:37 < nsf> if it doesn't allow you to have the var with the same name as
imported package
14:37 < skelterjohn> i'm writing functionality to merge two packages
14:37 < skelterjohn> please stop
14:37 < nsf> ok
14:37 < skelterjohn> the issue is when i have to add a new import to an
existing source file
14:38 < skelterjohn> i have to label that import with an identifier that
won't be found already in the source
14:38 < nsf> ok, but I think it's not exactly true
14:38 < skelterjohn> so i can be sure that when i insert references to the
package, they won't be using ids that meansomething else at that point
14:39 < nsf> you have to label it with an identifier that won't be found
alread in the package scope and file scope
14:39 < nsf> ah, ok
14:39 < nsf> true, yes
14:39 < nsf> I see
14:39 < nsf> I understand your problem
14:39 < skelterjohn> and if you couldn't make a var etc that had the same
name as a package, it wouldn't be an issue
14:39 < skelterjohn> or, it would be a different issue
14:40 < skelterjohn> heh, i'd still have to label the package with something
unique, so that the other var could exist
14:40 < skelterjohn> oh well
14:40 < nsf> it's tricky, yeah
14:41 < skelterjohn> the specific hiccup i have right now, is when i merge
"p1" and "p2" into "p1"
14:41 < skelterjohn> p2 has an X
14:41 < skelterjohn> and somewhere in the code i is p2.X
14:41 < skelterjohn> the trick is, at this point in the code, p1 doesn't
mean the other package
14:41 < skelterjohn> so i can't change p2.X to p1.X
14:41 < skelterjohn> i have to relabel p1, and go through the whole thing
and change all the selectors
14:42 < nsf> well, since only a local variable can reuse imported package
name
14:42 < skelterjohn> unless i can import p1 "p1" and import p2 "p1" in the
same source
14:42 < nsf> I think it makes sense renaming that variable
14:42 < nsf> it's local anyway
14:42 < nsf> oh, wait
14:42 < nsf> if it's local
14:43 < nsf> then it doesn't affect your code
14:43 < nsf> :\
14:43 -!- femtoo [~femto@95-89-249-242-dynip.superkabel.de] has joined #go-nuts
14:43 < skelterjohn> it still has to compile
14:43 < skelterjohn> omg i can import something twice!
14:43 < nsf> also, you're talking about merging packages
14:43 < skelterjohn> who'd of thunk....
14:44 < nsf> and import statements are in file scope
14:44 < skelterjohn> no, problem is solved - very simple rewrite
14:44 < nsf> ok, I think you know what you're doing
14:44 < nsf> I don't :)
14:44 < skelterjohn> i just change import "p2" to import p2 "p1"
14:44 < skelterjohn> this works even if i already import "p1"
14:44 < skelterjohn> bizarre
14:45 -!- photron [~photron@port-92-201-38-38.dynamic.qsc.de] has quit [Ping
timeout: 276 seconds]
14:53 -!- katakuna [~pie@kjal.demon.co.uk] has joined #go-nuts
14:58 < nsf> bool is_it_true = "not necessary true";
14:58 < nsf> C type system joke
14:58 < nsf> lol
15:01 * nsf will be back and will eat your brain once more
15:01 -!- nsf [~nsf@jiss.convex.ru] has quit [Quit: WeeChat 0.3.4]
15:09 -!- artefon [~thiago@189.115.130.172] has quit [Ping timeout: 240 seconds]
15:16 < xyproto> How can one clone a variable of type struct?
15:16 < xyproto> Just var x FunkyType = y?
15:16 < skelterjohn> that'll do it
15:17 < xyproto> cool
15:17 < skelterjohn> shallow copy, of course
15:17 < xyproto> ah, ok
15:17 < xyproto> thanks
15:23 -!- shvntr [~shvntr@113.84.146.44] has quit [Quit: leaving]
15:30 < xyproto> I think it's funny that for can be used instead of if.
15:30 < xyproto> nvm
15:31 < katakuna> "implicit assignment of unexported field 'in' of
goa.IRCEvent in method receiver"
15:31 < katakuna> how do I fix this?
15:31 < katakuna> http://pastebin.com/S7bjDmJM < IRCEvent is here
15:33 < huin> katakuna: what's the line of code that caused the error?
15:34 < katakuna> fmt.Printf(e.GetSource())
15:34 < katakuna> where e is e:= goa.IRC("some string")
15:34 < huin> katakuna: shouldn't line 11 in your goa package take a
*IRCEvent instead of IRCEvent ?
15:35 < katakuna> thats it
15:35 < katakuna> errors gone :)
15:35 < huin> :)
15:36 -!- KBme [~KBme@9angled-2-pt.tunnel.tserv5.lon1.ipv6.he.net] has quit [Ping
timeout: 260 seconds]
15:39 < skelterjohn> it's important to realize what that means, though
15:40 < skelterjohn> but also - like iant mentioned the other day, you
aren't using the most up-to-date version of go
15:40 -!- artefon [~thiago@189.26.237.236.dynamic.adsl.gvt.net.br] has joined
#go-nuts
16:15 -!- KBme [~KBme@9angled-2-pt.tunnel.tserv5.lon1.ipv6.he.net] has joined
#go-nuts
16:18 -!- hcatlin [~hcatlin@pdpc/supporter/professional/hcatlin] has quit [Quit:
hcatlin]
16:23 < aiju> okay, wtf
16:23 < aiju> i'm trying to build Go and it stops after building the
commands
16:24 -!- SRabbelier [~SRabbelie@188.142.63.148] has joined #go-nuts
16:28 -!- Fish [~Fish@bus77-2-82-244-150-190.fbx.proxad.net] has joined #go-nuts
16:28 < aiju> oh it lacks ed lol
16:29 < ww> aiju - lemme guess ubuntu or debian?
16:30 < aiju> ww: gentoo
16:30 < aiju> i consider that question an offense
16:30 < ww> orly
16:31 * ww is surprised at gentoo for not including ed in the basic system
16:31 < aiju> me too
16:31 < aiju> i filed an issue
16:31 < aiju> because there should be SOME kind of message
16:32 < ww> i had the same thing when i built on an ubuntu system the other
day...  but there i wasn't really surprised
16:32 < skelterjohn> hooray for macs
16:32 -!- btipling [~btipling@unaffiliated/sk/x-5968384] has joined #go-nuts
16:33 -!- zimsim [~simon@87.72.77.195] has quit [Remote host closed the
connection]
16:42 -!- Cobi [~Cobi@2002:1828:88fb:0:aede:48ff:febe:ef03] has quit [Ping
timeout: 260 seconds]
16:43 -!- dahankzter [~henrik@92-244-3-192.customers.ownit.se] has quit [Remote
host closed the connection]
16:51 -!- arun_ [~arun@unaffiliated/sindian] has quit [Ping timeout: 246 seconds]
16:56 -!- TheMue [~TheMue@p5DDF646E.dip.t-dialin.net] has joined #go-nuts
17:01 < btipling> I like go so far
17:04 -!- nsf [~nsf@jiss.convex.ru] has joined #go-nuts
17:05 -!- wrtp [~rog@92.17.29.230] has joined #go-nuts
17:12 < skelterjohn> btipling: what are you using it for?
17:14 -!- Cobi [~Cobi@2002:1828:88fb:0:aede:48ff:febe:ef03] has joined #go-nuts
17:14 -!- pi_ [pii@rasm.se] has left #go-nuts []
17:22 < skelterjohn> wrtp: I have noticed that Type.Pkg is always (as far as
I have seen) empty
17:22 < skelterjohn> bug/feature?
17:22 -!- prasmussen [pii@rasm.se] has joined #go-nuts
17:23 < skelterjohn> because it would be useful info O:-)
17:28 < btipling> skelterjohn: experimenting :P
17:28 < btipling> it seems like go does a bunch of unconventional things
because of it's goal to be an experiment
17:29 < btipling> I wonder if that would make it unlikely that it will
become into its own in terms of being a production ready language for projects and
products?
17:30 < btipling> its*
17:30 < btipling> Like when the FAQ states
17:30 < btipling> "There are many things in the Go language and libraries
that differ from modern practices, simply because we feel it's sometimes worth
trying a different approach."
17:31 < skelterjohn> go does not have the goal of being an experiment
17:31 < btipling> that just strikes me as adhering to the "it's just an
experiment"
17:31 < skelterjohn> it is an experiment with the goal of being a concurrent
systems language
17:31 < btipling> skelterjohn:
http://golang.org/doc/go_faq.html#Who_should_use_the_language
17:31 < skelterjohn> that is consistent with what i said
17:32 < btipling> well I like it
17:32 < TheMue> btipling: Many languages started as an "experiment"
17:32 < skelterjohn> me too
17:32 < skelterjohn> i've used go almost exclusively for the past year
17:32 < skelterjohn> for my experimentation code
17:32 < skelterjohn> as well as a number of side projects
17:34 -!- bluehex [~jake515@adsl-75-61-84-235.dsl.pltn13.sbcglobal.net] has joined
#go-nuts
17:35 < btipling> was thinking of trying to make an simple web server to
learn the language
17:35 < btipling> and maybe then build like an html template engine
17:36 < skelterjohn> as long as you realize that such things exist already,
that's a good idea
17:37 < skelterjohn> for example, the "template" package provides a quite
powerful template engine
17:37 < skelterjohn> and the "http" package provides a lot of the building
blocks for making a web server
17:39 -!- clip9 [clip9@er.en.svarteper.com] has quit [Remote host closed the
connection]
17:43 < TheMue> especially for networking go has powerful packages
17:44 < TheMue> just developed my redis client, has been pretty simple and
fun
17:50 < btipling> well we all have our preferences about HTML template
syntax
17:50 < btipling> I was thinking about a redis client too :P
17:50 < btipling> TheMue: how do you interface with redis?
17:51 < TheMue> btipling: Simply the net package, see
http://code.google.com/p/tideland-cgl/source/browse/#hg%2Fcglred
17:52 < btipling> I mean what does redis provide that lets you interface
with it
17:53 < TheMue> It's a simple and extreme fast key/value database with many
useful commands.
17:53 < btipling> http://redis.io/topics/protocol
17:53 < btipling> that's it
17:53 < btipling> yes I've written a little chat app with redis and node.js
and socket.io
17:54 < TheMue> Yep, a very simple line based protocol
17:56 < TheMue> my client provides a simple Command() function returning a
ResultSet.  so any command can be used.
17:56 < btipling> nice
17:56 < TheMue> Also transactions (in the sense of redis) are supported.
17:57 < btipling> do you have support for multi commands?
17:57 < btipling> also is it blocking or do you supply a callback?
17:58 < btipling> ah yeah I see the multicommand in your code
17:58 < TheMue> yes, multi commands are supported
17:59 < TheMue> and Command() is blocking
18:00 < TheMue> and connections are pooled
18:01 < btipling> looks cool
18:03 < TheMue> currently I'm doing some redesign of my package for
event-driven architectures, then the Tideland Comon Go Library will go to beta
state
18:04 < bluehex> I wonder if anyone can help me.  I'm having trouble
building the latest Go for OSX 10.6.6 .
18:04 < bluehex> It ends in:
18:04 < bluehex> 2 known bugs; 94 unexpected bugs; test output differs
18:04 < bluehex> FAILED
18:04 < bluehex> I've made a detailed pastie here:
18:04 < bluehex> http://pastie.org/1748002
18:07 < TheMue> bluehex: Hmm, here it works.  Already made a clean.bash?
Maybe there's something gone wrong before
18:08 -!- Archwyrm [~archwyrm@archwyrm.net] has quit [Quit: leaving]
18:08 -!- nsf [~nsf@jiss.convex.ru] has quit [Quit: WeeChat 0.3.4]
18:08 -!- Scorchin [~Scorchin@host109-157-183-57.range109-157.btcentralplus.com]
has joined #go-nuts
18:09 -!- Archwyrm [~archwyrm@archwyrm.net] has joined #go-nuts
18:10 -!- foocraft [~dsc@89.211.159.197] has quit [Ping timeout: 255 seconds]
18:11 < bluehex> TheMue: Thanks for verifying.  Yes I tried clean.bash as
well.  The clean seems successful, but building ends in the same error.
18:11 -!- sacho [~sacho@90.154.207.183] has quit [Read error: Connection reset by
peer]
18:11 < TheMue> *sigh*
18:12 < bluehex> Yeah :(
18:12 < bluehex> Maybe I'll try updating Developer tools ?
18:12 < btipling> what is <-
18:13 < TheMue> or do a fresh checkout at a different place
18:13 < btipling> it's not in the tutorial but the effective go has it
18:13 < btipling> and doesn't explain it
18:13 -!- foocraft [~dsc@78.101.145.200] has joined #go-nuts
18:13 < TheMue> btipling: Sending data to a channel
18:13 < TheMue> myChan <- myData
18:13 < TheMue> or reading
18:13 < btipling> oh channel direction
18:13 < btipling> got it
18:13 < |Craig|> btipling: the language spec has all of the things, good
place to look.
18:13 < btipling> saw it in the specification
18:13 < btipling> yeah
18:13 < TheMue> myVar := <-myChan
18:14 < bluehex> Sure, I'll give the fresh checkout a try.
18:14 < TheMue> the spec is a great place, got most for my book out of it
(hehe)
18:16 < TheMue> bluehex:
http://groups.google.com/group/golang-nuts/browse_thread/thread/34d894289e660822/1bc1aa2436bd113e?show_docid=1bc1aa2436bd113e&pli=1
18:16 < TheMue> bluehex: Here the probl has been discussed
18:17 < bluehex> Thank you kindly.  @TheMue
18:27 < bluehex> TheMue: The problem discussed seems to be failures around
the cgi test, but mine passes that test and fails later.  :S
18:28 < bluehex> Tried a clean checkout with no luck.  I guess I'll try
posting to the google group.  Thanks for your help.
18:28 < TheMue> Hmm, no idea anymore
18:29 < btipling> is it best to search for 'golang' in google for Go
searches?  or 'go language' ?
18:29 < btipling> or 'google go' ?
18:30 < kimelto> golang
18:30 -!- artefon [~thiago@189.26.237.236.dynamic.adsl.gvt.net.br] has quit [Quit:
bye]
18:48 -!- hargettp [~hargettp@96.237.121.111] has joined #go-nuts
18:52 -!- hargettp [~hargettp@96.237.121.111] has quit [Quit: Leaving...]
18:54 -!- hargettp [~hargettp@96.237.121.111] has joined #go-nuts
18:59 -!- z1gge [~z1gge@94-195-146-173.zone9.bethere.co.uk] has joined #go-nuts
19:01 < Eko> btipling: in an effort to teach the Google search machine that
"go" has a meaning related to a programming language, I always try the seach with
"go <keywords>" first before switching to "golang <keywords>
19:01 -!- rutkowski [~adrian@178235051224.walbrzych.vectranet.pl] has joined
#go-nuts
19:02 < Eko> I don't know if it helps, but I do it anyway.
19:07 -!- clip9 [clip9@er.en.svarteper.com] has joined #go-nuts
19:18 -!- m4dh4tt3r [~Adium@c-69-181-223-245.hsd1.ca.comcast.net] has joined
#go-nuts
19:19 -!- hargettp [~hargettp@96.237.121.111] has quit [Quit: Leaving...]
19:22 -!- Viriix [~joseph@c-67-169-172-251.hsd1.ca.comcast.net] has joined
#go-nuts
19:35 -!- rlab [~Miranda@91.200.158.34] has quit [Ping timeout: 246 seconds]
19:38 -!- bugQ [~bug@c-67-171-127-76.hsd1.ut.comcast.net] has joined #go-nuts
19:39 -!- itrekkie [~itrekkie@ip70-190-110-197.ph.ph.cox.net] has joined #go-nuts
19:40 -!- m4dh4tt3r1 [~Adium@c-69-181-223-245.hsd1.ca.comcast.net] has joined
#go-nuts
19:41 -!- edsrzf [~chickench@122-61-221-144.jetstream.xtra.co.nz] has joined
#go-nuts
19:42 -!- m4dh4tt3r [~Adium@c-69-181-223-245.hsd1.ca.comcast.net] has quit [Ping
timeout: 264 seconds]
19:44 -!- Viriix [~joseph@c-67-169-172-251.hsd1.ca.comcast.net] has quit [Quit:
Leaving]
19:51 -!- hargettp [~hargettp@96.237.121.111] has joined #go-nuts
19:55 -!- nsf [~nsf@jiss.convex.ru] has joined #go-nuts
20:07 -!- vsayer [~vivek@c-67-170-236-166.hsd1.ca.comcast.net] has quit [Ping
timeout: 250 seconds]
20:08 -!- katakuna [~pie@kjal.demon.co.uk] has quit [Ping timeout: 260 seconds]
20:24 -!- skj-phone [~skelterjo@rrcs-184-75-13-147.nyc.biz.rr.com] has joined
#go-nuts
20:26 < skj-phone> I am in the lounge of a manhattan hotel - there is an
American movie playing but it's dubbed in Spanish
20:27 < nsf> :D
20:27 -!- cafesofie [~cafesofie@ool-4a5a6ee5.dyn.optonline.net] has joined
#go-nuts
20:28 < skj-phone> It's pretty cheesy - something about basketball players
and cheerleaders
20:28 < aiju> skj-phone: with english subs?
20:28 < aiju> skj-phone: porn?
20:28 < skj-phone> Nope
20:28 < skj-phone> Lol
20:28 < skj-phone> To both Qs
20:29 < btipling> Eko: ah interesting, I'll give that a try then
20:30 < btipling> what's a good way to test for concurrency problems with
go?
20:30 < btipling> say I write some code that spawns two parallel lines of
executions and share data between the two and I wanted to write a test to make
sure it worked well
20:30 < skj-phone> Like, identify race conditions?
20:30 < btipling> yes
20:31 < btipling> hrm I guess that's a really general question
20:31 < skj-phone> I know of no sure fire way.  I imagine some PBS student
20:31 < skj-phone> PBS should be phd
20:31 < aiju> haha pbs student
20:31 < skj-phone> Some phd student somewhere would have an opinion
20:31 < btipling> :D
20:32 < btipling> ok just wanted to play around with the concurrency in go
20:32 < skj-phone> The auto correct on iPhones is not the best
20:32 < btipling> you're on irc on an iphone?
20:32 < skj-phone> Yes
20:32 < btipling> I have an irc client on my android phone but it's too much
of a pain so only use it when I need to connect to work irc in emergencies
20:32 < skj-phone> Colloquy
20:33 < btipling> and you're monitoring the channel while holding your
iphone?
20:33 < skj-phone> Seems so
20:33 < btipling> :/
20:33 < btipling> interesting
20:34 < skj-phone> Flow analysis with go would be interesting, I think
20:34 -!- hargettp [~hargettp@96.237.121.111] has quit [Quit: Leaving...]
20:35 < skj-phone> Less challenging than other languages since 'go' is built
into the Lang
20:37 < skj-phone> Of course, I don't know much about this sort of thing
beyond "race conditions are bad"
20:38 -!- itrekkie [~itrekkie@ip70-190-110-197.ph.ph.cox.net] has quit [Quit:
itrekkie]
20:39 -!- ville- [ville@xollo.net] has joined #go-nuts
20:40 -!- bugQ [~bug@c-67-171-127-76.hsd1.ut.comcast.net] has quit [Ping timeout:
246 seconds]
20:42 -!- femtoo [~femto@95-89-249-242-dynip.superkabel.de] has quit [Read error:
Connection reset by peer]
20:43 -!- skj-phone [~skelterjo@rrcs-184-75-13-147.nyc.biz.rr.com] has quit [Quit:
Colloquy for iPhone - http://colloquy.mobi]
20:46 < nsf> omg
20:47 < nsf> I did 'nm -D libgo.so
20:47 -!- bugQ [~bug@c-67-171-127-76.hsd1.ut.comcast.net] has joined #go-nuts
20:47 < nsf> 'nm -D libgo.so'
20:47 < nsf> some of the symbol names are rather long
20:47 < aiju> nsf: divine revenge for using gccgo?
20:47 < nsf> aiju: no, I'm curious about modules system implementation
20:48 < nsf> 00511134 D
__go_imt_I7_marshalFrAN5_uint8eee9_unmarshalFpAN5_uint8eerN4_booleee__N38_libgo_crypto.tls.certificateRequestMsg
20:48 < nsf> looks scary
20:48 < nsf> and there are names 3-4 times longer
20:48 < nsf> :)
20:48 < nsf> well, I guess these are the reflection type information
20:49 < nsf> 0027b520 T libgo_net.net.DialTCP
20:49 < nsf> other things are shorter
20:50 < nsf> and I'm sorry for the next one, but I have to show it
20:50 < nsf> :D
20:50 < nsf> 005111bc D
__go_imt_I25_generateClientKeyExchangeFppN23_libgo_crypto.tls.ConfigpN31_libgo_crypto.tls.clientHelloMsgpN29_libgo_crypto.x509.CertificateerAN5_uint8epN37_libgo_crypto.tls.clientKeyExchangeMsgN17_libgo_os.os.Erroree25_generateServerKeyExchangeFppN23_libgo_cryp
20:50 < nsf>
to.tls.ConfigpN31_libgo_crypto.tls.clientHelloMsgpN31_libgo_crypto.tls.serverHelloMsgerpN37_libgo_crypto.tls.serverKeyExchangeMsgN17_libgo_os.os.Erroree24_processClientKeyExchangeFppN23_libgo_crypto.tls.ConfigpN37_libgo_crypto.tls.clientKeyExchangeMsgerAN5_uint8eN17_libg
20:50 < nsf>
o_os.os.Erroree24_processServerKeyExchangeFppN23_libgo_crypto.tls.ConfigpN31_libgo_crypto.tls.clientHelloMsgpN31_libgo_crypto.tls.serverHelloMsgpN29_libgo_crypto.x509.CertificatepN37_libgo_crypto.tls.serverKeyExchangeMsgerN17_libgo_os.os.Erroreee__N37_libgo_crypto.tls.ec
20:50 < nsf> dheRSAKeyAgreement
20:51 < nsf> one symbol :D
20:51 < dforsyth> self documenting!
20:52 < napsy> is it possible to create an array from a slice?
20:53 < edsrzf> napsy: Not without package unsafe
20:53 < bugQ> or just a loop :P
20:53 < nsf> or without a copy
20:53 < edsrzf> Oh yeah, copy will work too
20:54 < napsy> hm, if I return an array from a function, will the pointer
still be valid?
20:54 < nsf> uhm, array is a value
20:54 < edsrzf> If you return a pointer to an array?  Yes.  If you return an
actual array, the entire array will be copied.
20:54 < Namegduf> Yes
20:54 < Namegduf> Always
20:55 < Namegduf> If a pointer leaves a function, whatever it points to will
always last at least as long as it does
20:55 < Namegduf> The Go spec provides no rules by which a pointer can
become invalid, and thus it never does*
20:56 < Namegduf> (* Except the unsafe package.  And the current
implementation lets concurrent access to multiword things (strings, slices) do
it.)
20:56 < nsf> libgo_flag.flag.parseOne.pN24_libgo_flag.flag.allFlags
20:56 < nsf> interesting, what pN24 means
20:56 < nsf> 'p' stands for pointer
20:56 < aiju> terreo unsafe et donas ferrentem
20:56 < nsf> it's a reciever type actually
20:56 < nsf> but what N24 means
20:56 < aiju> nsf: no, 'p' stands for penis
20:56 < nsf> hm..
20:57 < nsf> receiver*
20:57 < Namegduf> N24 stands for number 24.
20:57 * Namegduf nods.
20:57 < nsf> yeah, it looks like a number that points somewhere
20:59 -!- vsayer [~vivek@c-67-170-236-166.hsd1.ca.comcast.net] has joined #go-nuts
20:59 < nsf> interesting
21:00 < aiju> 400 func (f *allFlags) parseOne() (ok bool) {
21:01 < nsf> I've seen it, yeah
21:01 < nsf> but what N24 means
21:01 < aiju> libgo_flag.flag.allFlags
21:01 < aiju> is 24 chars long
21:01 -!- rutkowski [~adrian@178235051224.walbrzych.vectranet.pl] has quit [Quit:
WeeChat 0.3.3-dev]
21:01 < nsf> hehe
21:01 < aiju> i don't think this is mere coincidence
21:02 < nsf> indeed
21:02 < nsf> ah, well that's what you have to do if you want to store a
weird structured stuff in a symbol
21:02 < nsf> encoding!
21:02 < nsf> :)
21:02 < aiju> and the N is "you are fucking Nuts if you use gccgo"
21:03 < nsf> I'm not using it
21:03 < nsf> I've downloaded libgo.so from the internet
21:03 < nsf> :D
21:04 -!- TheMue [~TheMue@p5DDF646E.dip.t-dialin.net] has quit [Quit: TheMue]
21:04 < aiju> this reminds me of the torrent format
21:04 < nsf> I'm just thinking about a way to provide compatibility in both
ways
21:04 < aiju> JSON or something would be too simple
21:04 < nsf> Crawl can use C symbols and C should be able to use Crawl's
symbols
21:04 < aiju> they had to come up with a totally crazy pseudo-text format
which is really fun to edit without special tools
21:04 < nsf> (crawl is a WIP name for my lang)
21:04 < nsf> aiju: yeah, funny
21:05 < nsf> why can't the just use gzipped json indeed
21:05 < nsf> or yaml
21:05 < nsf> or even xml
21:05 < aiju> they don't even need to fucking gzip it
21:05 < nsf> it would be a wise choice
21:05 < aiju> it is just a fucking list of trackers
21:05 < Rennex> no
21:05 < nsf> and hashes for all the blocks
21:06 < nsf> and file list
21:06 < Rennex> hm, did anyone even know about JSON back when bittorrent was
invented?
21:06 < nsf> some file lists are rather big
21:06 < aiju> hmm w/e
21:06 < aiju> the current format is insane
21:06 < nsf> dc++ uses compressed xml :)
21:06 < aiju> Rennex: that's a valid point, but no excuse for coming up with
something THAT insane
21:07 < Rennex> aiju: it's easy as pie when you have tools to edit it
21:07 < aiju> Rennex: glass is easy as pie to cut when you have the tools
21:07 < Rennex> there are libs for bencoding
21:07 -!- Fish [~Fish@bus77-2-82-244-150-190.fbx.proxad.net] has quit [Quit: So
Long, and Thanks for All the Fish]
21:08 -!- flippy08 [~flippy08@a89-182-192-214.net-htp.de] has quit [Quit: Ciao!]
21:09 < aiju> Rennex: or ..  just use a simple format which can be edit
sanely with a text editor
21:09 < Rennex> why though?  nobody needs to edit them :)
21:09 < aiju> i recently had some fucked up torrent files
21:09 < aiju> which worked fine after fiddling a bit with them
21:10 < nsf> and there are zillions of torrent file creators and editors
21:10 < nsf> even web sites for that
21:10 < nsf> :D
21:10 < aiju> nsf: *gee*
21:10 < nsf>
https://github.com/D-Programming-Language/phobos/commit/88904f7795a94b23e750e10a2addc90783089de7
21:10 < aiju> there is a reason we have hands with five fingers instead of
hundreds of arms with specialized tools at each end
21:10 < nsf> 012345 becomes octal!12345
21:11 < nsf> wtf
21:11 < Rennex> many .torrents are about 500kB in size...  so let's say 25k
sha1 hashes of 20 binary bytes.  base64encode those and append 3 bytes for each
("",) and you're wasting 250 extra kilobytes already :)
21:11 < nsf> I mean seriously, when did D become a language of wtf?
21:11 < aiju> nsf: right from the beginning of "let's build a good language
based on C++"?
21:11 < nsf> they wanted to fix C++
21:11 < Rennex> or even worse, hex sha1sums instead of base64-encoded, that
would instantly double the size
21:12 < aiju> it's like "fixing" third Reich
21:13 < nsf> :D
21:13 < Rennex> doing anything in octal these days is a wtf, and even more
so if any decimal-looking constant that starts with a zero is treated as octal.
insane
21:14 < bugQ> I do stuff in nonary so there :P
21:14 < nsf> Rennex: people do file permissions in octal
21:14 < nsf> and that's the only thing you need octals for
21:14 < nsf> :)
21:14 < nsf> os.Open
21:14 < bugQ> btw the people from the funny farm are really nice.
21:14 < Rennex> nsf: pretty much, and you shouldn't need it there either :P
21:15 < nsf> but I think these guys (Walter and Andrei) are insane
21:15 < nsf> why can't they stop adding new featureS?
21:15 < nsf> :))
21:15 -!- z1gge [~z1gge@94-195-146-173.zone9.bethere.co.uk] has quit [Ping
timeout: 252 seconds]
21:15 < nsf> ah, whatever
21:16 < nsf> it's not even a funny topic for flame
21:16 < nsf> just one more evidence of D's failure to me
21:16 < aiju> 23:17 < nsf> and that's the only thing you need octals
for
21:17 < aiju> you also need it for PDP-11 emulators!
21:19 < aiju> i have 305 octal constants in my 1407 line emulator
21:20 -!- huin [~huin@91.85.185.181] has quit [Quit: leaving]
21:20 < aiju> i actually use octal sometimes for numbers if i find it more
approriate
21:20 < nsf> octal!666
21:21 < nsf> in my lexer zero is an octal number
21:21 < nsf> :)
21:21 < nsf> decimal digit is defined as: [1-9] digit*
21:21 < ww> BCD!
21:21 -!- iant [~iant@216.239.45.130] has quit [Ping timeout: 246 seconds]
21:21 < aiju> you should use LGP-30 hex
21:22 < nsf> for some weird reason
21:22 < nsf> :\
21:22 < aiju> what was it, 0123456789fdjkqw?
21:22 < nsf> wtf
21:22 < aiju> oh no, fgjkqw
21:27 < aiju> i am currently (not quite currently; continuing tomorrow)
trying to implement CSP
21:28 < aiju> my data structures are not simply lists or trees (would be
boring)
21:28 < aiju> directed cyclic graphs!
21:28 < nsf> not currently, but concurrently!  lol
21:28 < aiju> (fuck yeah)
21:28 < nsf> :)
21:28 < aiju> map'ing over such is really fun
21:29 < nsf> ring buffer is a directed cyclic graph as well
21:29 < nsf> :)
21:29 < nsf> (sort of)
21:30 < aiju> well ..  except that my data structures are of much greater
variety
21:30 < aiju> and my ring buffers are not cyclic in implementations ;P
21:30 < aiju> -s
21:31 < aiju> http://code.google.com/p/go/issues/detail?id=1656 hahahaha
21:31 < aiju> rob's comment
21:32 < nsf> many distibutions don't include it
21:32 < nsf> archlinux for example
21:32 < aiju> yeah :(
21:32 < aiju> greatest shame of Linux!
21:32 < nsf> I had the same problem on a virtual machine with freshly
installed archlinux x86_64
21:32 < aiju> right before systemd
21:33 < nsf> I'm curious in what standard ed is standard?
21:33 < nsf> POSIX?
21:33 < aiju> no
21:33 < aiju> wait
21:33 < aiju> http://man.cat-v.org/unix-6th/1/ed
21:33 < nsf> then wtf rob pike is talking about
21:33 < aiju> first sentence ;)
21:33 < nsf> lol
21:34 < nsf> so, now Linux must follow UNIX standard
21:34 < plexdev> http://is.gd/dspt4H by [Yuval Pavel Zholkover] in
go/src/pkg/syscall/ -- R=rsc, brainman, ality, r2, r
21:35 < plexdev> http://is.gd/Cs5yEs by [Yuval Pavel Zholkover] in
go/src/pkg/os/ -- os: Plan 9 support.
21:35 < nsf> and GNU says: GNU's not unix
21:35 < nsf> stands for*
21:36 < dforsyth> vi is standard posix i think
21:37 -!- katakuna [pie@kjal.demon.co.uk] has joined #go-nuts
21:37 < nsf> yes
21:37 < aiju> i'm sure that ed is in posix
21:37 < aiju> i don't think POSIX declares any editor to be especially
standard
21:37 < aiju> the UNIX man page just meant to say "this is the editor
everyone uses" not "everyone should use"
21:39 < nsf> anyway, I don't think it's fair to speak about standards when
Go doesn't really care about them
21:39 < dforsyth> the behavior of vi is described in posix
21:39 < aiju> nsf: i think rob was joking
21:39 -!- kamaji [~kamaji@cpc2-aztw22-2-0-cust775.aztw.cable.virginmedia.com] has
quit [Read error: No route to host]
21:39 < dforsyth> and ex too, i think
21:39 < nsf> aiju: ok
21:40 -!- iant [~iant@adsl-71-133-8-30.dsl.pltn13.pacbell.net] has joined #go-nuts
21:40 -!- mode/#go-nuts [+v iant] by ChanServ
21:43 * nsf eats fuckitall
21:43 -!- nsf [~nsf@jiss.convex.ru] has quit [Quit: WeeChat 0.3.4]
21:45 < ww> ed is the standard unix text editor
21:45 < ww> linux is not unix
21:45 -!- littlebobby [~bob@unaffiliated/littlebobby] has joined #go-nuts
21:47 -!- ExtraSpice [XtraSpice@88.118.35.153] has quit [Read error: Connection
reset by peer]
21:51 -!- z1gge [~z1gge@94-195-146-173.zone9.bethere.co.uk] has joined #go-nuts
21:51 -!- cafesofie [~cafesofie@ool-4a5a6ee5.dyn.optonline.net] has quit [Remote
host closed the connection]
21:59 -!- virtualsue [~chatzilla@nat/cisco/x-pgslvorofmypftrc] has joined #go-nuts
21:59 -!- cafesofie [~cafesofie@ool-4a5a6ee5.dyn.optonline.net] has joined
#go-nuts
22:01 -!- littlebobby [~bob@unaffiliated/littlebobby] has quit [Quit: Ex-Chat]
22:06 -!- nixness [~dsc@78.101.145.200] has joined #go-nuts
22:07 -!- foocraft [~dsc@78.101.145.200] has quit [Ping timeout: 255 seconds]
22:08 -!- virtualsue [~chatzilla@nat/cisco/x-pgslvorofmypftrc] has quit [Ping
timeout: 276 seconds]
22:08 -!- bugQ [~bug@c-67-171-127-76.hsd1.ut.comcast.net] has quit [Read error:
Operation timed out]
22:09 -!- dreadlorde [~dreadlord@c-24-11-39-160.hsd1.mi.comcast.net] has joined
#go-nuts
22:13 -!- virtualsue
[~chatzilla@cpc3-haye15-0-0-cust450.haye.cable.virginmedia.com] has joined
#go-nuts
22:15 -!- bugQ [~bug@c-67-171-127-76.hsd1.ut.comcast.net] has joined #go-nuts
22:20 -!- skj-phone [~skelterjo@rrcs-184-75-13-147.nyc.biz.rr.com] has joined
#go-nuts
22:20 -!- wrtp [~rog@92.17.29.230] has quit [Quit: wrtp]
22:22 -!- vsayer [~vivek@c-67-170-236-166.hsd1.ca.comcast.net] has quit [Excess
Flood]
22:23 -!- wrtp [~rog@92.17.29.230] has joined #go-nuts
22:23 -!- wrtp [~rog@92.17.29.230] has quit [Client Quit]
22:29 -!- skj-phone [~skelterjo@rrcs-184-75-13-147.nyc.biz.rr.com] has quit [Quit:
Colloquy for iPhone - http://colloquy.mobi]
22:33 -!- vsayer [~vivek@c-67-170-236-166.hsd1.ca.comcast.net] has joined #go-nuts
22:33 -!- randfur [~AndChat@58.145.148.89] has joined #go-nuts
22:41 -!- zozoR [~Morten@56344e3e.rev.stofanet.dk] has quit [Remote host closed
the connection]
22:46 -!- randfur [~AndChat@58.145.148.89] has quit [Ping timeout: 260 seconds]
23:05 -!- tobier [~tobier@c-1e9de055.712-1-64736c11.cust.bredbandsbolaget.se] has
quit [Quit: leaving]
23:05 -!- tobier [~tobier@c-1e9de055.712-1-64736c11.cust.bredbandsbolaget.se] has
joined #go-nuts
23:10 -!- virtualsue
[~chatzilla@cpc3-haye15-0-0-cust450.haye.cable.virginmedia.com] has quit [Quit:
ChatZilla 0.9.86.1 [Firefox 4.0/20110318052756]]
23:23 -!- |Craig| [~|Craig|@panda3d/entropy] has quit [Quit: |Craig|]
23:24 -!- z1gge [~z1gge@94-195-146-173.zone9.bethere.co.uk] has quit [Ping
timeout: 276 seconds]
23:37 -!- ShadowIce [~pyoro@unaffiliated/shadowice-x841044] has quit [Quit:
Verlassend]
23:46 -!- |Craig| [~|Craig|@71-35-126-141.tukw.qwest.net] has joined #go-nuts
23:46 -!- |Craig| [~|Craig|@71-35-126-141.tukw.qwest.net] has quit [Changing host]
23:46 -!- |Craig| [~|Craig|@panda3d/entropy] has joined #go-nuts
23:49 < btipling> why do I see the compiler use 6g when building go
23:49 < btipling> I'm on a mac os x
23:49 < btipling> it's not an amd64 chip
23:49 < |Craig|> btipling: all intel macs after the first inital round have
been 64 bit
23:50 < btipling> right that's x86-64
23:50 < |Craig|> 32 bit builds should still work I think
23:51 < btipling> I see so I should use g6 when I compile my go code?
23:52 < Namegduf> btipling: amd64 == x86-64
23:52 < btipling> I see
23:52 < Namegduf> They're different words for the same thing
23:52 -!- nickbp [~eqoaq@216.93.241.7.askonline.net] has quit [Read error:
Operation timed out]
23:52 < Namegduf> AMD developed what is known by the vendor-neutral term
x86-64 or x86_64
23:52 < Namegduf> I believe.
23:53 < Namegduf> Intel 64-bit things are the same architecture.
23:55 < btipling> I see
23:55 < btipling> well it works
23:55 < btipling> I compiled with 6g and linked with 6l and the hello world
worked
23:55 < btipling> yay
23:56 < btipling> thinking of using scons
23:57 -!- kingfishr [~kingfishr@c-98-207-87-183.hsd1.ca.comcast.net] has joined
#go-nuts
23:59 -!- Project-2501 [~Marvin@dynamic-adsl-94-36-171-239.clienti.tiscali.it] has
quit [Quit: E se abbasso questa leva che succ...]
--- Log closed Sun Apr 03 00:00:30 2011