--- Log opened Wed Dec 01 00:00:03 2010 --- Day changed Wed Dec 01 2010 00:00 < Tonnerre> hendrikus, what does uname -a say? 00:00 -!- nsf [~nsf@jiss.convex.ru] has quit [Quit: WeeChat 0.3.3] 00:00 -!- Scorchin [~Scorchin@host109-152-113-23.range109-152.btcentralplus.com] has quit [Ping timeout: 245 seconds] 00:00 < hendrikus> Tonnerre: Linux edubuntu 2.6.35-23-generic #41-Ubuntu SMP Wed Nov 24 10:18:49 UTC 2010 i686 GNU/Linux 00:01 -!- gnuvince [~vince@64.235.202.209] has quit [Quit: ""] 00:01 -!- ExtraSpice [~XtraSpice@88.118.33.48] has quit [Read error: Connection reset by peer] 00:01 -!- gnuvince [~vince@70.35.165.162] has joined #go-nuts 00:01 < Tonnerre> hendrikus, then check your path 00:02 < hendrikus> Tonnerre: where do i check the path in my bash_profiele? 00:03 < fenicks> hendrikus: try your $HOME/.bashrc 00:03 < krutcha> echo $PATH 00:03 < hendrikus> krutcha: iwill do 00:04 < hendrikus> krutcha: /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games 00:05 < krutcha> there's some instructions here: http://golang.org/doc/install.html#environment 00:05 < krutcha> helping you get your path set up once you have the binaries installed for go. 00:06 < fenicks> héhé, hendrikus: add "export PATH=${GOROOT}/bin:${PATH}" in $HOME/.bashrc 00:06 < fenicks> source it and enjoy 00:06 < hendrikus> fenicks: i wil do that 00:09 < hendrikus> fenicks: No command '8go' found, did you mean: Command 'qgo' from package 'qgo' (universe) 00:10 < rspec22> is there a good way to get the go scanner pkg to constrain max token size? currently there is no limit and scanner.Scan() can exhaust all available memory 00:10 < fenicks> try "cd ${GOROOT}/bin" you must find the go binaries 00:11 -!- iant [~iant@nat/google/x-vadjvjysnlfkiwpr] has quit [Quit: Leaving.] 00:12 < hendrikus> fenicks: O.k i begin to unstand what it means! 00:13 < hendrikus> fenicks: here it is: hendrikus@edubuntu:/bin$ 00:17 -!- iant [~iant@67.218.104.238] has joined #go-nuts 00:17 -!- mode/#go-nuts [+v iant] by ChanServ 00:18 < fenicks> :-~ reinstall go in appropriate dir 00:20 < hendrikus> fenicks: wich is a appropriate dir? 00:21 -!- mbohun [~user@ppp115-156.static.internode.on.net] has joined #go-nuts 00:22 -!- kanru [~kanru@118-168-236-72.dynamic.hinet.net] has quit [Ping timeout: 264 seconds] 00:23 < uriel> hendrikus: there is no 'appropriate dir', put the Go bin dir into your path 00:23 < uriel> if you have trouble with that, consult whatever documentation for your shell/OS/distribution, this is not related to Go 00:24 < hendrikus> uriel: i will do that - thanks 00:25 < fenicks> I install GO as normal user. My .bashrc before compilation and install : https://gist.github.com/722714 00:26 < fenicks> with your current install you can try : "export PATH=/bin:${PATH}" in $HOME/.bashrc 00:27 < fenicks> but I think good idea is to put GOBIN in /usr/bin, /usr/local/bin or $HOME/bin 00:30 < hendrikus> fenicks: this is what i wil do >>> but I think good idea is to put GOBIN in /usr/bin, /usr/local/bin or $HOME/bin 00:30 < hendrikus> fenicks: i copied your past the bin ---- thanks 00:30 < fenicks> oh ok 00:32 < hendrikus> fenicks: do you mean: the directory go with there in bin ore do you mean only the bin directory? 00:33 < TheSeeker> only the bin dir needs to be in your path 00:34 < fenicks> yes, only the bin 00:34 < TheSeeker> but you should have the $GOROOT, $GOBIN, $GOOS, and $GOARCH environment vars set. 00:35 < fenicks> If all vars are set $GOBIN must be in $PATH 00:36 < hendrikus> fenicks: i am bussy with >>> 00:36 < hendrikus> TheSeeker: I am bussy with it thanks 00:39 -!- antonkovalyov [~antonkova@75-101-56-240.dsl.static.sonic.net] has joined #go-nuts 00:40 -!- wrtp [~rog@92.17.41.184] has quit [Quit: wrtp] 00:48 < hendrikus> fenicks: Tomorow i will go one -- thanks for your help 00:48 < fenicks> hendrikus: just take time and be patient 00:48 < fenicks> ok 00:50 -!- krutcha [~krutcha@remote.icron.com] has quit [Quit: Leaving] 01:03 -!- preflex [~preflex@unaffiliated/mauke/bot/preflex] has quit [Ping timeout: 245 seconds] 01:07 -!- Tv [~tv@gige.bur.digisynd.com] has quit [Read error: Operation timed out] 01:07 -!- preflex [~preflex@unaffiliated/mauke/bot/preflex] has joined #go-nuts 01:10 -!- iant [~iant@67.218.104.238] has quit [Quit: Leaving.] 01:13 -!- Nitro [~Nitro@modemcable105.5-82-70.mc.videotron.ca] has joined #go-nuts 01:13 -!- preflex [~preflex@unaffiliated/mauke/bot/preflex] has quit [Ping timeout: 255 seconds] 01:18 -!- preflex [~preflex@unaffiliated/mauke/bot/preflex] has joined #go-nuts 01:20 < plexdev> http://is.gd/i1cuU by [Benny Siegert] in go/src/pkg/path/ -- path: Windows support for Split 01:21 < Tonnerre> Heh, Benny Siegert 01:26 -!- niemeyer [~niemeyer@189.73.142.213] has quit [Ping timeout: 245 seconds] 01:27 -!- hendrikus [~hendrikus@84-107-57-221.dsl.quicknet.nl] has quit [Remote host closed the connection] 01:33 -!- kanru [~kanru@61-30-10-70.static.tfn.net.tw] has joined #go-nuts 01:37 -!- derferman [~derferman@citris-wlan-176-093.AirBears.Berkeley.EDU] has joined #go-nuts 01:38 -!- htoothrot [~mux@66-169-185-121.dhcp.ftwo.tx.charter.com] has quit [Read error: Connection reset by peer] 01:41 -!- skelterjohn [~jasmuth@c-76-98-219-171.hsd1.pa.comcast.net] has joined #go-nuts 01:41 -!- htoothrot [~mux@66-169-185-121.dhcp.ftwo.tx.charter.com] has joined #go-nuts 01:43 -!- Tv [~tv@cpe-76-168-227-45.socal.res.rr.com] has joined #go-nuts 01:48 -!- tvw [~tv@e176002109.adsl.alicedsl.de] has quit [Ping timeout: 245 seconds] 01:51 -!- shvntr [~shvntr@113.84.151.82] has joined #go-nuts 01:53 -!- hachiya [~hachiya@encyclical.net] has quit [Ping timeout: 265 seconds] 01:54 -!- hachiya [~hachiya@encyclical.net] has joined #go-nuts 01:58 -!- Venom_X [~pjacobs@66.54.185.131] has quit [Quit: Venom_X] 02:00 -!- derferman [~derferman@citris-wlan-176-093.AirBears.Berkeley.EDU] has quit [Read error: Connection timed out] 02:01 -!- derferman [~derferman@2607:f140:400:1176:21b:63ff:fec6:5c6c] has joined #go-nuts 02:03 -!- jdp [PHUNK@24.238.32.162.res-cmts.segr.ptd.net] has quit [Ping timeout: 265 seconds] 02:10 -!- markcol [~markcol@74.125.59.1] has quit [Quit: markcol] 02:13 -!- derferman [~derferman@2607:f140:400:1176:21b:63ff:fec6:5c6c] has quit [Quit: derferman] 02:17 -!- derferman [~derferman@citris-wlan-176-093.AirBears.Berkeley.EDU] has joined #go-nuts 02:20 -!- derferman_ [~derferman@citris-wlan-176-093.AirBears.Berkeley.EDU] has joined #go-nuts 02:23 -!- derferman [~derferman@citris-wlan-176-093.AirBears.Berkeley.EDU] has quit [Read error: Connection reset by peer] 02:26 -!- werdan7 [~w7@freenode/staff/wikimedia.werdan7] has quit [Ping timeout: 265 seconds] 02:27 -!- derferman_ [~derferman@reccev-wism-wlan-189-160.AirBears.Berkeley.EDU] has joined #go-nuts 02:28 -!- derferman [~derferman@citris-wlan-176-093.AirBears.Berkeley.EDU] has quit [Ping timeout: 250 seconds] 02:36 -!- derferman_ [~derferman@citris-wlan-176-093.AirBears.Berkeley.EDU] has joined #go-nuts 02:39 -!- derferman [~derferman@reccev-wism-wlan-189-160.AirBears.Berkeley.EDU] has quit [Ping timeout: 240 seconds] 02:47 -!- skelterjohn [~jasmuth@c-76-98-219-171.hsd1.pa.comcast.net] has quit [Quit: skelterjohn] 02:47 -!- derferman [~derferman@citris-wlan-176-093.AirBears.Berkeley.EDU] has quit [Read error: Connection reset by peer] 02:47 -!- derferman [~derferman@2607:f140:400:1176:21b:63ff:fec6:5c6c] has joined #go-nuts 02:54 -!- antonkovalyov [~antonkova@75-101-56-240.dsl.static.sonic.net] has quit [Remote host closed the connection] 03:04 -!- derferman [~derferman@2607:f140:400:1176:21b:63ff:fec6:5c6c] has quit [Quit: derferman] 03:04 -!- skelterjohn [~jasmuth@c-76-98-219-171.hsd1.pa.comcast.net] has joined #go-nuts 03:18 -!- Tv [~tv@cpe-76-168-227-45.socal.res.rr.com] has quit [Ping timeout: 255 seconds] 03:26 -!- meanburrito920 [~john@unaffiliated/meanburrito920] has joined #go-nuts 03:39 -!- adu [~ajr@pool-173-66-11-168.washdc.fios.verizon.net] has joined #go-nuts 03:50 -!- skelterjohn [~jasmuth@c-76-98-219-171.hsd1.pa.comcast.net] has quit [Quit: skelterjohn] 04:01 -!- meanburrito920 [~john@unaffiliated/meanburrito920] has quit [Quit: Lost terminal] 04:04 -!- Nitro [~Nitro@modemcable105.5-82-70.mc.videotron.ca] has quit [Quit: This computer has gone to sleep] 04:12 -!- MaksimBurnin [~max@44.188-224-87.telenet.ru] has quit [Quit: Leaving.] 04:12 -!- MaksimBurnin1 [~max@44.188-224-87.telenet.ru] has joined #go-nuts 04:14 -!- derferman [~derferman@2607:f140:400:1176:21b:63ff:fec6:5c6c] has joined #go-nuts 04:21 -!- mbohun [~user@ppp115-156.static.internode.on.net] has quit [Ping timeout: 265 seconds] 04:22 -!- MaksimBurnin1 [~max@44.188-224-87.telenet.ru] has quit [Ping timeout: 245 seconds] 04:29 -!- rejb [~rejb@unaffiliated/rejb] has quit [Ping timeout: 276 seconds] 04:45 -!- noktoborus_ [debian-tor@gateway/tor-sasl/noktoborus] has joined #go-nuts 04:45 -!- mbohun [~user@ppp115-156.static.internode.on.net] has joined #go-nuts 05:09 -!- Eridius [~kevin@unaffiliated/eridius] has quit [Ping timeout: 250 seconds] 05:28 -!- zozoR [~zozoR@5634798d.rev.stofanet.dk] has joined #go-nuts 05:51 -!- [Pete_27] [~noname@110-174-103-31.static.tpgi.com.au] has quit [Ping timeout: 255 seconds] 05:53 -!- noktoborus__ [debian-tor@gateway/tor-sasl/noktoborus] has joined #go-nuts 05:54 -!- noktoborus_ [debian-tor@gateway/tor-sasl/noktoborus] has quit [Ping timeout: 245 seconds] 06:02 -!- cco3 [~conley@c-69-181-138-209.hsd1.ca.comcast.net] has joined #go-nuts 06:14 -!- derferman [~derferman@2607:f140:400:1176:21b:63ff:fec6:5c6c] has quit [Quit: derferman] 06:24 -!- rspec22 [~rothspec@69.55.231.142] has quit [Quit: leaving] 06:26 -!- aconran [~aaron@c-76-21-4-69.hsd1.ca.comcast.net] has quit [Quit: aconran] 06:29 -!- noktoborus__ [debian-tor@gateway/tor-sasl/noktoborus] has quit [Ping timeout: 245 seconds] 06:30 -!- noktoborus__ [debian-tor@gateway/tor-sasl/noktoborus] has joined #go-nuts 06:31 -!- noktoborus__ [debian-tor@gateway/tor-sasl/noktoborus] has quit [Remote host closed the connection] 06:31 -!- noktoborus_ [debian-tor@gateway/tor-sasl/noktoborus] has joined #go-nuts 06:33 -!- [Pete_27] [~noname@110-174-103-31.static.tpgi.com.au] has joined #go-nuts 06:56 -!- sabalaba [~sabalaba@114.250.108.27] has joined #go-nuts 07:04 -!- matti__ [~mumboww@c-98-207-108-218.hsd1.ca.comcast.net] has joined #go-nuts 07:19 -!- krutcha [~krutcha@S010600045a27676a.vs.shawcable.net] has joined #go-nuts 07:37 -!- vsrinivas [~me@rose.makesad.us] has quit [Read error: Connection reset by peer] 07:40 -!- chressie [~chressie@dreggn.in-ulm.de] has quit [Quit: WeeChat 0.3.3] 07:47 -!- chressie [~chressie@dreggn.in-ulm.de] has joined #go-nuts 07:59 -!- adu [~ajr@pool-173-66-11-168.washdc.fios.verizon.net] has quit [Quit: adu] 08:00 -!- siyb [~siyb@83.216.216.131] has quit [Read error: Connection reset by peer] 08:05 -!- siyb [~siyb@83.216.216.131] has joined #go-nuts 08:07 -!- |Craig| [~|Craig|@panda3d/entropy] has quit [Quit: |Craig|] 08:09 -!- siyb [~siyb@83.216.216.131] has quit [Read error: No route to host] 08:09 -!- siyb [~siyb@83.216.216.131] has joined #go-nuts 08:19 -!- photron [~photron@port-92-201-120-127.dynamic.qsc.de] has joined #go-nuts 08:24 -!- zozoR [~zozoR@5634798d.rev.stofanet.dk] has quit [Quit: Morten. Desu~] 08:30 -!- tvw [~tv@e176000166.adsl.alicedsl.de] has joined #go-nuts 08:34 -!- krutcha [~krutcha@S010600045a27676a.vs.shawcable.net] has quit [Quit: Leaving] 08:39 -!- krutcha [~krutcha@S010600045a27676a.vs.shawcable.net] has joined #go-nuts 08:43 -!- ExtraSpice [~XtraSpice@88.118.33.48] has joined #go-nuts 09:07 -!- wrtp [~rog@92.17.41.184] has joined #go-nuts 09:35 -!- mbohun [~user@ppp115-156.static.internode.on.net] has quit [Ping timeout: 245 seconds] 09:35 -!- tensorpudding [~user@99.148.202.191] has quit [Read error: Connection reset by peer] 09:56 -!- noktoborus_ [debian-tor@gateway/tor-sasl/noktoborus] has quit [Remote host closed the connection] 10:09 -!- Eridius [~kevin@unaffiliated/eridius] has joined #go-nuts 10:19 -!- napsy [~luka@88.200.96.18] has joined #go-nuts 10:23 -!- mbohun [~mbohun@ppp115-156.static.internode.on.net] has joined #go-nuts 10:26 -!- Eridius [~kevin@unaffiliated/eridius] has quit [Quit: leaving] 10:43 -!- Fish [~Fish@9fans.fr] has joined #go-nuts 10:57 -!- ucasano [~ucasano@host150-147-static.225-95-b.business.telecomitalia.it] has joined #go-nuts 11:13 -!- path[l] [~path@59.162.86.164] has joined #go-nuts 11:14 -!- napsy [~luka@88.200.96.18] has quit [Quit: Lost terminal] 11:16 -!- sabalaba [~sabalaba@114.250.108.27] has quit [Read error: Connection reset by peer] 11:22 -!- niemeyer [~niemeyer@189.73.142.213] has joined #go-nuts 11:34 -!- ivan` [~ivan@unaffiliated/ivan/x-000001] has quit [Quit: Coyote finally caught me] 11:35 -!- ivan` [~ivan@unaffiliated/ivan/x-000001] has joined #go-nuts 11:54 -!- skejoe [~skejoe@188.114.142.162] has joined #go-nuts 12:04 -!- sabalaba [~sabalaba@114.240.91.145] has joined #go-nuts 12:12 -!- HollyRain [~HollyRain@212.106.243.111] has joined #go-nuts 12:12 < HollyRain> why go is well suited for networking applications? 12:12 -!- noam [noam@77.126.219.215] has quit [Ping timeout: 264 seconds] 12:14 < HollyRain> *better designed for it than another languages 12:16 -!- noam [noam@77.126.219.215] has joined #go-nuts 12:24 < ww> HollyRain: the goroutines are nice for even driven networking things. same argument as for erlang. unlike erlang go compiles to machine code so will also be faster 12:27 -!- virtualsue [~chatzilla@nat/cisco/x-jdcpkijhkvzcheop] has joined #go-nuts 12:29 -!- noam [noam@77.126.219.215] has quit [Ping timeout: 276 seconds] 12:35 -!- noam [noam@77.126.219.215] has joined #go-nuts 12:39 -!- Nitro [~Nitro@modemcable105.5-82-70.mc.videotron.ca] has joined #go-nuts 12:47 -!- Nitro [~Nitro@modemcable105.5-82-70.mc.videotron.ca] has quit [Quit: This computer has gone to sleep] 13:16 -!- sabalaba [~sabalaba@114.240.91.145] has quit [Ping timeout: 240 seconds] 13:17 -!- kanru [~kanru@61-30-10-70.static.tfn.net.tw] has quit [Ping timeout: 240 seconds] 13:25 < niemeyer> ww: FWIW, Erlang has a native code compiler for quite a while 13:30 -!- Nitro [~Nitro@142.137.222.12] has joined #go-nuts 13:30 -!- sabalaba [~sabalaba@114.240.91.145] has joined #go-nuts 13:38 -!- DerHorst [~Horst@e176099088.adsl.alicedsl.de] has joined #go-nuts 13:38 -!- artefon [~thiago@189.59.206.57] has joined #go-nuts 13:39 -!- savechina [~savechina@123.116.125.253] has joined #go-nuts 13:47 -!- ucasano [~ucasano@host150-147-static.225-95-b.business.telecomitalia.it] has quit [Ping timeout: 250 seconds] 13:48 -!- ucasano [~ucasano@151.12.47.139] has joined #go-nuts 13:52 -!- trontonic [~alexander@77.40.159.131] has quit [Read error: No route to host] 13:54 -!- ios_ [~ios@180.191.87.129] has joined #go-nuts 13:54 < wrtp> niemeyer: dynamically typed languages don't tend to produce machine code that's as fast as for statically typed languages... 13:54 < uriel> Erlang is great, but it is a ver different language 13:55 < uriel> for example, Go allows you to easily control the layout of your memory, which for some things is quite important 13:55 < uriel> also Go doesnt require so much runtime support 13:56 < niemeyer> I'm won't run into a comparison between the two languages. Was just fixing a misinformation. 13:56 < uriel> in any case, both Go and Erlang have their style and their place, Go is closer to C, Erlang is closer to... Prolog? 13:56 < niemeyer> s/I'm won't/I won't/ 13:57 < taruti> the lack of built in timeouts seems like a wart in Go 13:57 -!- sabalaba [~sabalaba@114.240.91.145] has quit [Ping timeout: 260 seconds] 13:57 < niemeyer> taruti: time.After(x), golang.org/pkg/time 13:57 -!- iant [~iant@adsl-71-133-8-30.dsl.pltn13.pacbell.net] has joined #go-nuts 13:57 -!- mode/#go-nuts [+v iant] by ChanServ 13:58 < taruti> niemeyer: that is newish? 13:58 < niemeyer> taruti: The function is relatively new indeed, but the approach is not 13:58 < taruti> niemeyer: the whole "create new goroutine" is not very scalable when compared to the erlang approach 13:59 < niemeyer> taruti: Sounds like FUD to me, without context or any kind of tangible measurements 13:59 -!- kanru [~kanru@118-168-236-72.dynamic.hinet.net] has joined #go-nuts 14:00 < taruti> niemeyer: just some experience with other runtimes with soft threads, 50k threads is fine, 50k threads creating each frequently timers that are soft threads usually is not very performance-friendly. 14:01 -!- plainhao [~plainhao@208.75.85.237] has joined #go-nuts 14:01 < taruti> niemeyer: especially since those "old" timeout threads will linger till the timeout if special care is not taken. 14:02 -!- nsf [~nsf@jiss.convex.ru] has joined #go-nuts 14:02 -!- iant [~iant@adsl-71-133-8-30.dsl.pltn13.pacbell.net] has quit [Client Quit] 14:03 < ww> niemeyer: i stand corrected on native compiler... my main point was that goroutines/threadlets/etc. are good for network programming 14:03 -!- Nitro [~Nitro@142.137.222.12] has quit [Quit: Leaving] 14:04 < taruti> niemeyer: e.g. for typically receiving a packet each second, 300 second timeout done naively with time.After means ~300 goroutines per client. now add 10k clients. that is 10k*300 extra goroutines. 14:05 -!- ExtraSpice [~XtraSpice@88.118.33.48] has quit [Quit: Leaving] 14:05 < niemeyer> taruti: What's the cost of a goroutine? 14:05 -!- artefon [~thiago@189.59.206.57] has quit [Quit: bye] 14:06 < taruti> niemeyer: probably few pages of memory, scheduling overhead, GC overhead etc 14:07 < niemeyer> taruti: Measurably, what's the cost of a goroutine? 14:07 -!- napsy [~luka@88.200.96.18] has joined #go-nuts 14:08 < niemeyer> taruti: My point is that the fact you can't tell indicates that you're worrying about a problem you don't have. 14:08 < taruti> niemeyer: the *design* is not good, and that is quite language neutral 14:08 < nsf> 10k of goroutines is 40 megs of mem 14:09 < nsf> 10k * 300 is 12 gigs 14:09 -!- skelterjohn [~jasmuth@c-76-98-219-171.hsd1.pa.comcast.net] has joined #go-nuts 14:09 < niemeyer> taruti: I disagree.. the design feels very elegant. You're not worried about the design, you're worried about the impact of the design, without actually knowing what is the impact because it's never been an issue. 14:10 -!- sabalaba [~sabalaba@66.220.12.133] has joined #go-nuts 14:10 < taruti> niemeyer: actually the "do timeout with spawning a new soft thread" has been done quite a lot and it has issues with most runtimes. 14:11 < taruti> niemeyer: the erlang solution is quite elegant to that. 14:12 -!- sabalaba [~sabalaba@66.220.12.133] has quit [Max SendQ exceeded] 14:12 -!- sabalaba [~sabalaba@66.220.12.133] has joined #go-nuts 14:12 < niemeyer> taruti: It feels good as well 14:14 < taruti> the current runtime also has syscall overhead on the sleep but that is just an implementation artifact 14:15 -!- skelterjohn [~jasmuth@c-76-98-219-171.hsd1.pa.comcast.net] has quit [Quit: skelterjohn] 14:28 -!- sauerbraten [~sauerbrat@p508CFC3C.dip.t-dialin.net] has joined #go-nuts 14:35 -!- iant [~iant@66.109.105.230] has joined #go-nuts 14:35 -!- mode/#go-nuts [+v iant] by ChanServ 14:38 -!- ExtraSpice [~XtraSpice@88.118.33.48] has joined #go-nuts 14:38 -!- DarthShrine [~angus@pdpc/supporter/student/DarthShrine] has quit [Quit: DarthShrine] 14:43 -!- soapy_illusions [~alex@vpn128115.Wireless.McGill.CA] has joined #go-nuts 14:43 -!- zozoR [~zozoR@5634798d.rev.stofanet.dk] has joined #go-nuts 14:46 < soapy_illusions> hey, I know there is no generic type in go, so is there any way to create an array (or array like object) which will be filled with unknown types of variables 14:47 < cbeck> you can use interface{} 14:47 < cbeck> But you lose type safety 14:48 -!- savechina [~savechina@123.116.125.253] has quit [Quit: Leaving] 14:48 < soapy_illusions> that's ok with me, but I'm sorry could you explain a little more how to use the empty interface (I have read about it a few places) 14:49 < cbeck> You use it just like any other type in declarations, etc 14:49 -!- mbohun [~mbohun@ppp115-156.static.internode.on.net] has quit [Quit: Leaving] 14:49 < cbeck> When pulling a value out however, you need to use a type assertion 14:51 < soapy_illusions> ok perfect thanks a lot 14:51 -!- ucasano [~ucasano@151.12.47.139] has quit [Ping timeout: 272 seconds] 14:52 -!- tvw [~tv@e176000166.adsl.alicedsl.de] has quit [Read error: Connection reset by peer] 14:52 < soapy_illusions> I am also doing a lot of regular expressions in my code, and was wanted to know if there was any support for things like (\d+) where d is a digit, kind of like with PCRE (regexp does not seem to support it) 14:53 < exch> soapy_illusions: the current regexp package is very simple. It's missing a lot of those constructs. There's been talk of RE2 imlpementation for Go, but I haven't seen it yet 14:53 < exch> There's probably some wrappers to other regexp libs around though 14:54 < exch> http://go-lang.cat-v.org/library-bindings <- probably a good place to start looking 14:54 < soapy_illusions> exch: that's what I was wondering, because I assume you could simply link to the C one right (or does that kill any performance gain) 14:54 < soapy_illusions> haha there is one on that site but the link is broken :'( 14:54 < exch> There will be a performance hit, because calling into C code requires the runtime to do some extra trickery (different calling conve ntions). Not sure just how much that will be though 14:56 < exch> The absence of \d nd such is not really that big a problem. Your patterns will be a bit bigger, but still do the same. The one thing I did miss often was non greedy matches, which you can't really trick your away around easily 14:58 < soapy_illusions> ohh well thanks for the help, I will continue searching for a wrapper for PCRE while I wait for the re2 implementation 14:59 < exch> That PCRE wrapper you saw is mine. I took it down because it's very old (Go has changes considerably since I wrote it), and there were some problems I couldn't solve back then. I should probably go through it and fix all the brokenness, It seems there still is a need for it 15:00 -!- ymasory [~ymasory@c-76-99-55-224.hsd1.pa.comcast.net] has quit [Quit: Leaving] 15:00 < exch> I also expected the RE2 lib to be around by now 15:00 -!- HollyRain [~HollyRain@212.106.243.111] has left #go-nuts [] 15:01 < soapy_illusions> I was reading the article posted here : http://swtch.com/~rsc/regexp/regexp1.html about why RE2 would be better, it sounds very cool, but would the syntax for the regexes be similar? 15:02 < exch> For the most part. There's always some tiny differences between various regex implementations 15:03 < soapy_illusions> ohh well I found this http://code.google.com/p/sre2/ guess thats a good start 15:04 -!- boscop [~boscop@f055013080.adsl.alicedsl.de] has joined #go-nuts 15:05 -!- artefon [~thiago@dhcp20.usuarios.dcc.ufmg.br] has joined #go-nuts 15:08 -!- femtoo [~femto@95-89-197-196-dynip.superkabel.de] has joined #go-nuts 15:09 < exch> ah nice 15:14 -!- soapy_illusions [~alex@vpn128115.Wireless.McGill.CA] has quit [Ping timeout: 255 seconds] 15:15 -!- boscop [~boscop@f055013080.adsl.alicedsl.de] has quit [Ping timeout: 250 seconds] 15:15 -!- shvntr [~shvntr@113.84.151.82] has quit [Ping timeout: 255 seconds] 15:19 -!- ucasano [~ucasano@151.12.47.139] has joined #go-nuts 15:22 -!- rejb [~rejb@unaffiliated/rejb] has joined #go-nuts 15:23 -!- nsf [~nsf@jiss.convex.ru] has quit [Quit: WeeChat 0.3.3] 15:26 -!- soapy_illusions [~alex@vpn128115.Wireless.McGill.CA] has joined #go-nuts 15:27 -!- Venom_X [~pjacobs@66.54.185.131] has joined #go-nuts 15:30 -!- ios_ [~ios@180.191.87.129] has quit [Read error: Connection reset by peer] 15:34 -!- artefon [~thiago@dhcp20.usuarios.dcc.ufmg.br] has quit [Ping timeout: 240 seconds] 15:35 -!- artefon [~thiago@dhcp20.usuarios.dcc.ufmg.br] has joined #go-nuts 15:35 < wrtp> taruti: i tend to agree with you about the design of time.After. 15:36 < wrtp> particularly if you have many requests with long timeouts 15:36 < wrtp> you could easily accumulate 100s of thousands of goroutines. 15:38 -!- markcol [~markcol@74.125.59.1] has joined #go-nuts 15:44 -!- ucasano [~ucasano@151.12.47.139] has quit [Quit: ucasano] 15:48 -!- skejoe [~skejoe@188.114.142.162] has quit [Quit: Lost terminal] 15:51 -!- DerHorst [~Horst@e176099088.adsl.alicedsl.de] has quit [Remote host closed the connection] 15:58 -!- preflex [~preflex@unaffiliated/mauke/bot/preflex] has quit [Ping timeout: 245 seconds] 16:03 -!- preflex [~preflex@unaffiliated/mauke/bot/preflex] has joined #go-nuts 16:06 -!- zozoR [~zozoR@5634798d.rev.stofanet.dk] has quit [Ping timeout: 250 seconds] 16:06 -!- iant [~iant@66.109.105.230] has quit [Quit: Leaving.] 16:08 -!- zozoR [~zozoR@5634798d.rev.stofanet.dk] has joined #go-nuts 16:09 -!- exch [~exch@h78233.upc-h.chello.nl] has quit [Read error: Connection reset by peer] 16:11 -!- noam [noam@77.126.219.215] has quit [Read error: Connection reset by peer] 16:11 -!- noam [noam@77.126.219.215] has joined #go-nuts 16:13 < niemeyer> wrtp: The first person which is *actually* affected by this can very easily fix the problem. 16:14 < wrtp> i'm not sure that the fix is straightforward 16:14 < wrtp> how would you go about fixing it? 16:15 -!- exch [~exch@h78233.upc-h.chello.nl] has joined #go-nuts 16:15 -!- iant [~iant@nat/google/x-trewwbmikbdfrnug] has joined #go-nuts 16:15 -!- mode/#go-nuts [+v iant] by ChanServ 16:15 < niemeyer> wrtp: A single goroutine is all that is needed 16:17 < wrtp> how does that work without polling? 16:17 < wrtp> s/does/can/ 16:19 < wrtp> the runtime has to provide some way of sleeping that is not time.Sleep. 16:19 < sauerbraten> is it possible to iterate over channels? like every time something new is received on this channel the program does something? 16:20 < wrtp> sauerbraten: for x := range c { ... } 16:20 -!- ucasano [~ucasano@151.12.47.139] has joined #go-nuts 16:20 < wrtp> where c is a channel, and x is the value received. 16:20 < sauerbraten> so the answer is YES :) 16:20 < sauerbraten> ok 16:21 < niemeyer> wrtp: There are many ways to sleep already.. every single blocking call is a way to sleep. 16:22 < wrtp> niemeyer: ... and none of those are interruptable, AFAIK, which is what you need for a timeout. 16:23 < niemeyer> wrtp: Trick question: is Read() interruptible? 16:23 < KBme> what? you can range over a channel? 16:23 < exch> yes 16:23 < KBme> damn why didn't I know that?! ;) 16:23 < exch> you do now :p 16:24 < KBme> also, what does it do when the channel is closed? 16:24 < wrtp> KBme: the loop exits 16:24 < KBme> just 16:24 < KBme> sweet 16:24 < wrtp> niemeyer: i don't know 16:24 -!- soapy_illusions [~alex@vpn128115.Wireless.McGill.CA] has quit [Ping timeout: 255 seconds] 16:24 < wrtp> niemeyer: depends what go does when signals happen 16:25 < wrtp> of course, it depends which Read you mean... 16:25 < wrtp> i assumed os.File.Read 16:26 < sauerbraten> time.Ticker writes the absoulte time at the exact moment or the time elapsed since making the Ticker? 16:26 < sauerbraten> to channel Ticker.C 16:26 < wrtp> in general, Read is not interruptible. 16:27 < niemeyer> wrtp: Ok, even more clear then: can a process waiting on a read() system call be awaken? 16:27 < wrtp> sauerbraten: absolute time, i think... 16:27 < sauerbraten> mhm I'll try it 16:27 < wrtp> niemeyer: yes, assuming no automatic restarting of syscalls. (i can't remember how that's enabled) 16:28 < wrtp> in C, at any rate. 16:28 < niemeyer> wrtp: What if there is *DATA* to be read? 16:28 < wrtp> then it stays where it was. 16:28 < niemeyer> wrtp: Ok, please submit a refactored After() call now that fixes your worries, please. ;) 16:31 < wrtp> can't do it without changing the go runtime 16:32 < niemeyer> Heh, no need for that 16:32 < wrtp> in fact, the design of After makes it difficult to do decently - you'd have to hook the interrupting into the channel's finaliser 16:33 < niemeyer> wrtp: No reason.. I can't explain right now (voice meeting), but it's trivial to do this with a single goroutine 16:34 < wrtp> i'd like to see it done 16:35 < wrtp> no, you're right, you the interrupting doesn't have to be part of the finaliser. 16:35 -!- noam [noam@77.126.219.215] has quit [Read error: Connection reset by peer] 16:35 -!- noam [noam@77.126.219.215] has joined #go-nuts 16:45 < wrtp> niemeyer: so you're thinking about a single goroutine and a mutex-locked heap right? 16:46 < wrtp> and using LockOSThread so that you can kill the sleeping goroutine 16:47 < wrtp> how would you stop the signal from going to the usual signal handler? 16:52 -!- ucasano [~ucasano@151.12.47.139] has quit [Quit: ucasano] 16:53 -!- |Craig| [~|Craig|@panda3d/entropy] has joined #go-nuts 16:54 -!- |Craig| [~|Craig|@panda3d/entropy] has quit [Client Quit] 16:54 < sauerbraten> why doesn't this program end? http://pastie.org/1338831 16:56 < wrtp> sauerbraten: presumably because Ticker doesn't close the channel 16:56 < wrtp> you could do it yourself. 16:58 < jnwhiteh> so I just got an email, and my address is listed as: II II II <jim.whitehead@blahblah.com>, 16:59 < jnwhiteh> II II II 16:59 < jnwhiteh> now, I know I have a suffix on my name, and that borks some people up.. but seriously? II II II? 16:59 < jnwhiteh> wtfzors. 17:04 < sauerbraten> wrtp: but why doesn't it close it? I can't get behind it :-/ a little bit strange 17:06 < wrtp> sauerbraten: i think it probably could. depends on whether you might want to use the channel for something else, i guess. 17:11 -!- boscop [~boscop@f055084011.adsl.alicedsl.de] has joined #go-nuts 17:29 -!- devrim [~Adium@cpe-72-225-239-227.nyc.res.rr.com] has quit [Quit: Leaving.] 17:29 < sauerbraten> wrtp: could what? sorry I don't understand you :D 17:31 < wrtp> i mean that it would be ok if the implementation called close on the channel. (but there might easily be some subtlety that means it's not a good idea) 17:32 < wrtp> you could raise an issue. 17:32 -!- preflex [~preflex@unaffiliated/mauke/bot/preflex] has quit [Ping timeout: 245 seconds] 17:33 -!- nsf [~nsf@jiss.convex.ru] has joined #go-nuts 17:34 < sauerbraten> so I have to close the channel manually? how do I do that? 17:36 < wrtp> close(t.C) 17:36 < wrtp> where t is the ticker returned by time.NewTicker 17:37 -!- preflex [~preflex@unaffiliated/mauke/bot/preflex] has joined #go-nuts 17:38 < sauerbraten> ok good. I didn't find that closing when looking up t channels :/ 17:38 < sauerbraten> thank you 17:40 -!- MaksimBurnin [~max@44.188-224-87.telenet.ru] has joined #go-nuts 17:40 < wrtp> niemeyer: something like this perhaps? (with appropriate magic sprinking). http://pastebin.com/mtqeWwna 17:42 -!- Oejet [~oejet@212.45.122.120] has joined #go-nuts 17:45 -!- virtualsue [~chatzilla@nat/cisco/x-jdcpkijhkvzcheop] has quit [Ping timeout: 240 seconds] 17:48 < sauerbraten> are there events for Go? like a pressed key? 17:50 < anticw> you can read bytes from devices 17:50 < anticw> but that's not really going to do what you want just like that 17:50 < anticw> for a console you want the tty in raw mode or similar 17:52 -!- rbraley [~rbraley@ip72-222-135-139.ph.ph.cox.net] has quit [Ping timeout: 245 seconds] 17:54 -!- rbraley [~rbraley@ip72-222-135-139.ph.ph.cox.net] has joined #go-nuts 17:54 -!- Oejet [~oejet@212.45.122.120] has quit [Quit: Leaving.] 17:54 -!- Oejet [~oejet@212.45.122.120] has joined #go-nuts 17:59 -!- fabled [~fabled@mail.fi.jw.org] has quit [Quit: Ex-Chat] 18:00 -!- cco3 [~conley@c-69-181-138-209.hsd1.ca.comcast.net] has quit [Ping timeout: 240 seconds] 18:00 -!- soapy_illusions [~alex@vpn128115.Wireless.McGill.CA] has joined #go-nuts 18:01 -!- kanru [~kanru@118-168-236-72.dynamic.hinet.net] has quit [Ping timeout: 264 seconds] 18:05 -!- plainhao [~plainhao@208.75.85.237] has quit [Remote host closed the connection] 18:05 -!- plainhao [~plainhao@208.75.85.237] has joined #go-nuts 18:08 -!- ronnyy [~quassel@drsd-4dbdba3f.pool.mediaWays.net] has joined #go-nuts 18:08 -!- skelterjohn [~jasmuth@c-71-230-156-50.hsd1.nj.comcast.net] has joined #go-nuts 18:13 -!- saschpe_ [~quassel@opensuse/member/saschpe] has joined #go-nuts 18:13 < plexdev> http://is.gd/i3wiv by [Roger Peppe] in go/src/pkg/log/ -- log: ensure writes are atomic. 18:13 -!- Project_2501 [~Marvin@82.84.79.101] has joined #go-nuts 18:15 -!- ShadowIce [~pyoro@unaffiliated/shadowice-x841044] has joined #go-nuts 18:33 -!- markcol [~markcol@74.125.59.1] has quit [Quit: markcol] 18:34 -!- Oejet [~oejet@212.45.122.120] has quit [Read error: Connection reset by peer] 18:38 -!- Oejet [~oejet@212.45.122.120] has joined #go-nuts 18:41 -!- jhawk28 [~jhawk28@user-387c58d.cable.mindspring.com] has joined #go-nuts 18:42 < niemeyer> wrtp: Yep, that's the direction 18:51 -!- path[l] [~path@59.162.86.164] has quit [Quit: path[l]] 18:55 -!- skelterjohn [~jasmuth@c-71-230-156-50.hsd1.nj.comcast.net] has quit [Quit: skelterjohn] 18:58 -!- preflex [~preflex@unaffiliated/mauke/bot/preflex] has quit [Ping timeout: 240 seconds] 19:00 -!- soapy_illusions [~alex@vpn128115.Wireless.McGill.CA] has quit [Quit: Leaving] 19:00 -!- markcol [~markcol@74.125.59.1] has joined #go-nuts 19:01 -!- soapy_illusions [~alex@vpn128115.Wireless.McGill.CA] has joined #go-nuts 19:02 -!- soapy_illusions [~alex@vpn128115.Wireless.McGill.CA] has quit [Client Quit] 19:02 -!- preflex [~preflex@unaffiliated/mauke/bot/preflex] has joined #go-nuts 19:02 -!- soapy_illusions [~alex@vpn128115.Wireless.McGill.CA] has joined #go-nuts 19:03 -!- markcol_ [~markcol@74.125.59.1] has joined #go-nuts 19:04 -!- markcol_ [~markcol@74.125.59.1] has quit [Client Quit] 19:05 -!- eikenberry [~jae@ivanova.zhar.net] has joined #go-nuts 19:05 -!- markcol_ [~markcol@74.125.59.1] has joined #go-nuts 19:06 -!- markcol_ [~markcol@74.125.59.1] has quit [Client Quit] 19:06 -!- markcol [~markcol@74.125.59.1] has quit [Ping timeout: 265 seconds] 19:07 -!- noam [noam@77.126.219.215] has quit [Read error: Connection reset by peer] 19:07 -!- noam [noam@77.126.219.215] has joined #go-nuts 19:10 -!- Tv [~tv@gige.bur.digisynd.com] has joined #go-nuts 19:13 -!- cthom [~cthom@wsip-70-169-149-118.hr.hr.cox.net] has quit [Quit: Leaving] 19:15 -!- artefon [~thiago@dhcp20.usuarios.dcc.ufmg.br] has quit [Quit: bye] 19:19 -!- kkress [~kkress@kkress2.xen.prgmr.com] has joined #go-nuts 19:19 -!- TheMue [~TheMue@p5DDF7CD7.dip.t-dialin.net] has joined #go-nuts 19:28 -!- virtualsue [~chatzilla@nat/cisco/x-ywvvxspezqyiirur] has joined #go-nuts 19:30 -!- soapy_illusions [~alex@vpn128115.Wireless.McGill.CA] has quit [Quit: Leaving] 19:36 -!- ronnyyy [~quassel@drsd-4db3fa24.pool.mediaWays.net] has joined #go-nuts 19:36 -!- eikenberry [~jae@ivanova.zhar.net] has quit [Quit: End of line.] 19:37 -!- eikenberry [~jae@ivanova.zhar.net] has joined #go-nuts 19:38 -!- HollyRain [~HollyRain@212.106.243.111] has joined #go-nuts 19:38 -!- eikenberry [~jae@ivanova.zhar.net] has quit [Client Quit] 19:39 -!- eikenberry [~jae@ivanova.zhar.net] has joined #go-nuts 19:39 -!- ronnyy [~quassel@drsd-4dbdba3f.pool.mediaWays.net] has quit [Ping timeout: 255 seconds] 19:45 -!- Project_2501 [~Marvin@82.84.79.101] has quit [Quit: E se abbasso questa leva che succ...] 19:49 -!- boscop_ [~boscop@f055162139.adsl.alicedsl.de] has joined #go-nuts 19:52 -!- boscop [~boscop@f055084011.adsl.alicedsl.de] has quit [Ping timeout: 245 seconds] 19:56 -!- femtooo [~femto@95-89-197-196-dynip.superkabel.de] has joined #go-nuts 19:59 -!- femtoo [~femto@95-89-197-196-dynip.superkabel.de] has quit [Ping timeout: 265 seconds] 20:00 < plexdev> http://is.gd/i3McE by [Kyle Consalus] in 8 subdirs of go/ -- Removed bytes.Add and bytes.AddByte; we now have 'append'. 20:04 -!- devrim [~Adium@cpe-72-225-239-227.nyc.res.rr.com] has joined #go-nuts 20:05 -!- preflex [~preflex@unaffiliated/mauke/bot/preflex] has quit [Read error: Operation timed out] 20:11 -!- saschpe_ [~quassel@opensuse/member/saschpe] has quit [Read error: Connection reset by peer] 20:12 -!- preflex [~preflex@unaffiliated/mauke/bot/preflex] has joined #go-nuts 20:12 -!- Eridius [~kevin@unaffiliated/eridius] has joined #go-nuts 20:15 -!- nigelkerr [~nigelkerr@jstormichfw.jstor.org] has joined #go-nuts 20:15 -!- emjayess [~emjayess@pix1.i29.net] has quit [Quit: Leaving] 20:19 -!- gilles_ [~gilles@zeus.ugent.be] has joined #go-nuts 20:19 < HollyRain> is possible to set another variable when you use range? instead of: 20:19 < HollyRain> last := len(fields) - 1 20:19 < HollyRain> for i, field := range fields { 20:20 < HollyRain> to set last in the same line than "range" 20:23 <+iant> no, you only get one assignment there 20:41 -!- napsy [~luka@88.200.96.18] has quit [Quit: Lost terminal] 20:41 < nsf> I don't understand what people like about these init statements in control structures :\ 20:42 < nsf> ok, scoping.. maybe, but it's a very rare case when you really need that 20:56 -!- femtooo [~femto@95-89-197-196-dynip.superkabel.de] has quit [Read error: Connection reset by peer] 20:58 -!- Project_2501 [~Marvin@82.84.79.101] has joined #go-nuts 20:58 -!- Scorchin [~Scorchin@host86-173-186-254.range86-173.btcentralplus.com] has joined #go-nuts 21:03 < HollyRain> nsf: because it's a variable which is only to be used inner that loop 21:03 < nsf> yeah, so what? 21:03 < nsf> you can add another scope if you really need that 21:03 < nsf> { last := ...; for ... { ... } } 21:04 -!- preflex [~preflex@unaffiliated/mauke/bot/preflex] has quit [Ping timeout: 255 seconds] 21:04 -!- TheMue [~TheMue@p5DDF7CD7.dip.t-dialin.net] has quit [Quit: TheMue] 21:04 < nsf> I understand that these init statements is a try to make things beautiful, I'm just very sceptic about it 21:06 -!- plainhao [~plainhao@208.75.85.237] has quit [Quit: plainhao] 21:09 -!- preflex [~preflex@unaffiliated/mauke/bot/preflex] has joined #go-nuts 21:11 -!- noam [noam@77.126.219.215] has quit [Read error: Connection reset by peer] 21:11 -!- noam [noam@77.126.219.215] has joined #go-nuts 21:13 -!- Makoryu [~bloodgog@pool-71-174-191-10.bstnma.fios.verizon.net] has joined #go-nuts 21:14 < wrtp> niemeyer: so how do you work the "magic" bit? 21:15 -!- napsy [~luka@88.200.96.18] has joined #go-nuts 21:23 -!- pothos [~pothos@111-240-220-12.dynamic.hinet.net] has quit [Remote host closed the connection] 21:23 -!- pothos_ [~pothos@111-240-220-12.dynamic.hinet.net] has joined #go-nuts 21:25 -!- Soultake1 [~Soultaker@hell.student.utwente.nl] has quit [Ping timeout: 276 seconds] 21:25 -!- cde [~cde@unaffiliated/cde] has quit [Ping timeout: 276 seconds] 21:25 -!- ville- [~ville@a107.ath.cx] has quit [Ping timeout: 276 seconds] 21:25 -!- Soultaker [~Soultaker@hell.student.utwente.nl] has joined #go-nuts 21:25 -!- kimelto [~kimelto@sd-13453.dedibox.fr] has quit [Ping timeout: 276 seconds] 21:25 -!- jhawk28_ [~jhawk28@user-387c58d.cable.mindspring.com] has joined #go-nuts 21:26 -!- ville- [~ville@a107.ath.cx] has joined #go-nuts 21:26 -!- kimelto [~kimelto@sd-13453.dedibox.fr] has joined #go-nuts 21:26 -!- evilclone [~graham@dyn1065-37.hor.ic.ac.uk] has joined #go-nuts 21:26 -!- jhawk28 [~jhawk28@user-387c58d.cable.mindspring.com] has quit [Ping timeout: 260 seconds] 21:27 -!- emjayess [~emjayess@24-116-86-22.cpe.cableone.net] has joined #go-nuts 21:28 -!- felipe [~felipe@my.nada.kth.se] has quit [Ping timeout: 276 seconds] 21:29 -!- Netsplit *.net <-> *.split quits: Eridius, ExtraSpice, noam, exch, XenoPhoenix, siyb, tokuhiro__, bartbes 21:32 -!- artefon [~thiago@189.59.206.57] has joined #go-nuts 21:32 -!- cde [~cde@sd-23431.dedibox.fr] has joined #go-nuts 21:32 -!- Netsplit over, joins: noam, Eridius, exch, ExtraSpice, siyb, tokuhiro__, XenoPhoenix, bartbes 21:32 -!- ExtraSpice [~XtraSpice@88.118.33.48] has quit [Max SendQ exceeded] 21:32 -!- ExtraSpice [~XtraSpice@88.118.33.48] has joined #go-nuts 21:33 < evilclone> how come when my function returns os.Error it can return nil but when it returns my own custom type logError (which impliments the os.Error interface) it can't return nil? 21:33 < plexdev> http://is.gd/i3YNj by [Rob Pike] in 2 subdirs of go/src/ -- template: change the signature of formatters for future development. 21:35 -!- felipe [~felipe@my.nada.kth.se] has joined #go-nuts 21:35 < exch> os.Error is an interface, not a struct value 21:35 < exch> You can't assign nil in place of a struct value. try making it a pointer to logError 21:36 < cde> hi folks 21:36 < exch> lo 21:37 < nsf> cde: hello 21:37 < cde> hey nsf 21:37 < cde> should Go be self-hosting? discuss 21:37 < nsf> hahaha 21:37 < nsf> yes it should 21:38 < nsf> but not now 21:38 < cde> maybe it's too premature. still, it would be very nice 21:38 < nsf> yes, the problem is bootstrapping 21:38 < Makoryu> I wouldn't like to write a compiler in a language without support for generics 21:38 < nsf> although if it the compiler will generate some kind of bytecode (like LLVM's) 21:38 < nsf> bootstrapping is easy 21:38 < nsf> s/it// 21:39 < cde> doesn't Go already have an IR? like llvm 21:39 < nsf> but I think it will never happen 21:39 < nsf> no, of course not 21:39 < cde> oh. then it is slightly more difficult 21:39 < nsf> no 21:40 < nsf> there are bytecode formats targetting compilation to the machine code 21:40 < nsf> like C-- (sort of, not really a bytecode) and LLVM's IR 21:40 < nsf> hell, we can even generate C code 21:40 < cde> ok 21:41 < nsf> but again, I don't think it will happen any time soon 21:41 < cde> so 6g converts the AST to asm without an IR? 21:41 < nsf> cde: yeah, sort of 21:41 -!- ronnyyy [~quassel@drsd-4db3fa24.pool.mediaWays.net] has quit [Remote host closed the connection] 21:41 < cde> I guess that's why it's both fast and difficult to port to other archs 21:42 < nsf> no, it's fast because it's designed to be fast 21:42 < nsf> in theory it should be somewhere between Java, C# and C++ 21:43 < cde> it might be a pipe dream, but I believe Go is the perfect language for the fast evolution of computer programs 21:43 < nsf> we'll see 21:44 < cde> it compiles fast, is safe and is also almost as fast as C 21:44 < nsf> I'm a hardcore C guy, but I hate garbage collectors, I don't trust them 21:44 < Makoryu> cde: Right now it is without a doubt the most expressive and cutting-edge language ever designed 21:45 < cde> right. imo the GC and scheduling are the weakest parts 21:45 < nsf> hopefully someone will be able to deliver good GC 21:45 < cde> but those can be improved as well 21:45 < Makoryu> Actually I was lying through my teeth just now but if you think of it that way that's fine too :V 21:46 < cde> well bootstrapping is the hard part. then if you have AI it can evolve its own language 21:46 < Makoryu> cde: Good god 21:47 < Makoryu> That step is a little far off, don't you think? 21:47 < cde> people keep telling me that. maybe, I don't know 21:48 -!- HollyRain [~HollyRain@212.106.243.111] has left #go-nuts [] 21:48 < cde> before we managed to fly, people thought flying was so difficult, even impossible 21:48 < cde> so goes AI 21:49 < nsf> cde: those are different things 21:49 < nsf> "slightly" 21:49 -!- photron [~photron@port-92-201-120-127.dynamic.qsc.de] has quit [Ping timeout: 255 seconds] 21:50 -!- |Craig| [~|Craig|@panda3d/entropy] has joined #go-nuts 21:52 -!- sauerbraten [~sauerbrat@p508CFC3C.dip.t-dialin.net] has quit [Remote host closed the connection] 21:55 < cde> nsf: yes, I know 21:56 < cde> like I said, it's merely a pipe dream 21:57 -!- cde [~cde@sd-23431.dedibox.fr] has quit [Changing host] 21:57 -!- cde [~cde@unaffiliated/cde] has joined #go-nuts 21:57 -!- nigelkerr [~nigelkerr@jstormichfw.jstor.org] has quit [Quit: nigelkerr] 21:59 -!- zozoR [~zozoR@5634798d.rev.stofanet.dk] has quit [Quit: Morten. Desu~] 22:01 < evilclone> exch: how come you can assign nil in place of an interface, though? are interfaces nil-able but structs not? 22:02 < nsf> evilclone: yes 22:02 < Axsuul> hmm what does Go do to minimize race conditions in concurrency? 22:03 < wrtp> Axsuul: it provides channels, which make it easy to work out who's doing what with what... 22:03 < nsf> Axsuul: different philosophy for concurrent programming and language support for it 22:03 < nsf> although I think it's inefficient :D 22:03 < nsf> but I can't prove it 22:03 < Axsuul> Ah :) 22:03 < ww> there's an interesting article somewhere on the blog showing how to use race conditions to implement what c would call pointers 22:04 < ww> (or you could just use the unsafe package) 22:04 < Makoryu> That's madness 22:07 -!- devrim [~Adium@cpe-72-225-239-227.nyc.res.rr.com] has quit [Quit: Leaving.] 22:14 -!- nsf [~nsf@jiss.convex.ru] has quit [Quit: WeeChat 0.3.3] 22:15 -!- sacho [~sacho@46.10.20.221] has quit [Ping timeout: 245 seconds] 22:16 -!- Makoryu [~bloodgog@pool-71-174-191-10.bstnma.fios.verizon.net] has left #go-nuts ["Quit: Quit: Quit: Qui*** Exception: Stack overflow."] 22:17 -!- fenicks [~christian@log77-3-82-243-254-112.fbx.proxad.net] has left #go-nuts [] 22:17 -!- napsy [~luka@88.200.96.18] has quit [Quit: Lost terminal] 22:19 -!- DarthShrine [~angus@60-242-109-62.tpgi.com.au] has joined #go-nuts 22:19 -!- DarthShrine [~angus@60-242-109-62.tpgi.com.au] has quit [Changing host] 22:19 -!- DarthShrine [~angus@pdpc/supporter/student/DarthShrine] has joined #go-nuts 22:29 < wrtp> ww: you talking about this? http://research.swtch.com/2010/02/off-to-races.html 22:31 -!- wrtp [~rog@92.17.41.184] has quit [Quit: wrtp] 22:36 < Rennex> heh, that's nifty 22:39 -!- ronnyy [~quassel@drsd-4db3fa24.pool.mediaWays.net] has joined #go-nuts 22:40 -!- nsf [~nsf@jiss.convex.ru] has joined #go-nuts 22:48 -!- ronnyy [~quassel@drsd-4db3fa24.pool.mediaWays.net] has quit [Remote host closed the connection] 22:57 -!- meanburrito920 [~john@unaffiliated/meanburrito920] has joined #go-nuts 22:58 -!- rspec22 [~rothspec@69.55.231.142] has joined #go-nuts 22:59 -!- tensorpudding [~user@99.148.202.191] has joined #go-nuts 23:00 -!- Oejet [~oejet@212.45.122.120] has quit [Ping timeout: 255 seconds] 23:05 -!- Project_2501 [~Marvin@82.84.79.101] has quit [Quit: E se abbasso questa leva che succ...] 23:09 -!- sacho [~sacho@79-100-173-234.btc-net.bg] has joined #go-nuts 23:09 -!- virtualsue [~chatzilla@nat/cisco/x-ywvvxspezqyiirur] has quit [Quit: ChatZilla 0.9.86 [Firefox 3.5.15/20101026200251]] 23:39 -!- emjayess [~emjayess@24-116-86-22.cpe.cableone.net] has quit [Quit: Leaving] 23:45 -!- ShadowIce [~pyoro@unaffiliated/shadowice-x841044] has quit [Quit: Verlassend] 23:49 -!- Venom_tamale [~pjacobs@66.54.185.131] has quit [Quit: Venom_tamale] 23:50 < rspec22> is it accurate to say that go permits only one package per directory? 23:50 < KirkMcDonald> No. 23:53 < rspec22> not sure what I've done wrong, then; from gotest I get 'package bar; expected foo' when I introduce a .go file specifying a package bar into a dir that previously only contained .go files using package foo 23:54 -!- Fish [~Fish@9fans.fr] has quit [Quit: So Long, and Thanks for All the Fish] --- Log closed Thu Dec 02 00:00:35 2010