--- Log opened Sat Apr 10 00:00:42 2010 00:01 -!- nettok_ [~netto@200.119.151.153] has joined #go-nuts 00:02 -!- millertimek1a2m3 [~adam@rrcs-67-79-54-130.sw.biz.rr.com] has joined #go-nuts 00:05 -!- nettok [~netto@200.119.151.153] has quit [Ping timeout: 259 seconds] 00:07 -!- nettok__ [~netto@200.119.151.153] has joined #go-nuts 00:10 -!- nettok_ [~netto@200.119.151.153] has quit [Ping timeout: 264 seconds] 00:16 -!- nettok__ [~netto@200.119.151.153] has quit [Ping timeout: 246 seconds] 00:34 -!- nettok__ [~netto@200.119.151.153] has joined #go-nuts 00:38 -!- millertimek1a2m3 [~adam@rrcs-67-79-54-130.sw.biz.rr.com] has quit [Ping timeout: 276 seconds] 00:40 -!- tgall_foo [~tgall@gentoo/developer/dr-who] has joined #go-nuts 00:44 -!- iant [~iant@67.218.102.148] has quit [Ping timeout: 248 seconds] 00:45 -!- carllerche [~carllerch@enginey-9.border1.sfo002.pnap.net] has quit [Quit: carllerche] 00:52 -!- Paradox924X [~Paradox92@vaserv/irc/founder] has joined #go-nuts 00:57 -!- millertimek1a2m3 [~adam@rrcs-67-79-54-130.sw.biz.rr.com] has joined #go-nuts 01:01 -!- surma [~surma@77-21-87-217-dynip.superkabel.de] has quit [Quit: Leaving.] 01:09 -!- yaroslav [~yaroslav@ppp85-140-190-157.pppoe.mtu-net.ru] has quit [Quit: yaroslav] 01:13 -!- nettok_ [~netto@200.119.151.153] has joined #go-nuts 01:17 -!- nettok__ [~netto@200.119.151.153] has quit [Ping timeout: 276 seconds] 01:26 -!- b00m_chef [~watr@128.189.72.162] has joined #go-nuts 01:29 -!- Nitro [~nitro@208.92.17.21] has joined #go-nuts 01:42 -!- NinoScript [~Adium@190.163.108.49] has joined #go-nuts 01:42 -!- NinoScript [~Adium@190.163.108.49] has left #go-nuts [] 01:43 -!- timepilot [~timepilot@c-24-1-94-64.hsd1.il.comcast.net] has joined #go-nuts 01:48 -!- logand [~user@g226048225.adsl.alicedsl.de] has quit [Ping timeout: 252 seconds] 01:57 -!- nettok_ [~netto@200.119.151.153] has quit [Ping timeout: 260 seconds] 02:03 < plexdev> http://is.gd/bmq3h by [Michael Hoisie] in go/src/pkg/strings/ -- strings: add IndexRune, Trim, TrimLeft, TrimRight, and the generic equivalents TrimFunc, TrimLeftFunc, TrimRightFunc 02:13 -!- Nitro [~nitro@208.92.17.21] has quit [Quit: Leaving.] 02:16 -!- nettok_ [~netto@200.119.151.153] has joined #go-nuts 02:19 -!- zyichi [~zyichi@125.39.108.16] has joined #go-nuts 02:22 -!- nettok__ [~netto@200.119.151.153] has joined #go-nuts 02:26 -!- nettok_ [~netto@200.119.151.153] has quit [Ping timeout: 264 seconds] 02:26 -!- aho [~nya@f051147102.adsl.alicedsl.de] has quit [Quit: EXEC_over.METHOD_SUBLIMATION] 02:28 -!- Nitro [~nitro@208.92.17.21] has joined #go-nuts 02:29 -!- timepilot [~timepilot@c-24-1-94-64.hsd1.il.comcast.net] has quit [Quit: timepilot] 02:40 -!- bjarneh [~bjarneh@227.80-203-30.nextgentel.com] has joined #go-nuts 02:51 -!- jA_cOp [~yakobu@unaffiliated/ja-cop/x-9478493] has quit [Read error: Connection reset by peer] 03:02 -!- nettok_ [~netto@200.119.151.153] has joined #go-nuts 03:05 -!- nettok__ [~netto@200.119.151.153] has quit [Ping timeout: 248 seconds] 03:06 -!- kimelto [~kimelto@sd-13453.dedibox.fr] has joined #go-nuts 03:14 -!- marsu [~marsu@50.96.202-77.rev.gaoland.net] has quit [Ping timeout: 252 seconds] 03:16 -!- andrewh [~andrewh@85.92.214.131] has quit [Ping timeout: 246 seconds] 03:17 -!- NinoScript [~Adium@190.163.108.49] has joined #go-nuts 03:21 -!- Nitro [~nitro@208.92.17.21] has quit [Quit: Leaving.] 03:24 -!- nettok__ [~netto@200.119.151.153] has joined #go-nuts 03:28 -!- Venom_X [~pjacobs@74.61.90.217] has joined #go-nuts 03:28 -!- nettok_ [~netto@200.119.151.153] has quit [Ping timeout: 260 seconds] 03:28 -!- Venom_X [~pjacobs@74.61.90.217] has quit [Client Quit] 03:37 -!- Eridius [~kevin@unaffiliated/eridius] has quit [Ping timeout: 252 seconds] 03:47 -!- nettok_ [~netto@200.119.151.153] has joined #go-nuts 03:50 -!- nettok__ [~netto@200.119.151.153] has quit [Ping timeout: 252 seconds] 03:52 -!- scarabx [~scarabx@c-76-19-43-200.hsd1.ma.comcast.net] has joined #go-nuts 03:58 -!- thaostra [~thaostra@pool-173-76-244-108.bstnma.fios.verizon.net] has joined #go-nuts 03:59 -!- thaostra [~thaostra@pool-173-76-244-108.bstnma.fios.verizon.net] has left #go-nuts [] 04:01 -!- nettok__ [~netto@200.119.151.153] has joined #go-nuts 04:05 -!- nettok_ [~netto@200.119.151.153] has quit [Ping timeout: 276 seconds] 04:15 < kimelto> what could cause fmt to not be found when GOROOT GOOS and GOARCH are correctly set? 04:17 -!- iant [~iant@adsl-71-133-8-30.dsl.pltn13.pacbell.net] has joined #go-nuts 04:17 -!- mode/#go-nuts [+v iant] by ChanServ 04:17 < smw> kimelto: can you paste your code? 04:18 < smw> kimelto: also paste the output of env | grep "^GO" 04:28 -!- b00m_chef [~watr@128.189.72.162] has quit [Ping timeout: 258 seconds] 04:30 -!- bjarneh [~bjarneh@227.80-203-30.nextgentel.com] has quit [Quit: leaving] 04:32 -!- nettok_ [~netto@200.119.151.153] has joined #go-nuts 04:35 -!- nettok__ [~netto@200.119.151.153] has quit [Ping timeout: 248 seconds] 04:40 -!- millertimek1a2m3 [~adam@rrcs-67-79-54-130.sw.biz.rr.com] has quit [Ping timeout: 245 seconds] 04:45 < kimelto> smw: http://pastebin.com/awVM68qp 04:49 -!- carllerche [~carllerch@208.87.61.146] has joined #go-nuts 04:51 < smw> kimelto: it should be in ${GOROOT}/pkg/${GOOS}_${GOARCH}/ 04:51 < smw> I think 04:52 < smw> yep 04:57 < kimelto> eh! I know a port maintainer who is going to receive a complaint :> 04:58 < kimelto> also this version is quite old (january) 05:01 < smw> kimelto: I suggest you compile from source 05:01 < smw> January is ancient 05:01 -!- Dr_Who [~tgall@gentoo/developer/dr-who] has joined #go-nuts 05:01 < smw> you may make incompatable files. 05:01 < smw> It probably won't even compile in current version 05:02 -!- tgall_foo [~tgall@gentoo/developer/dr-who] has quit [Read error: Operation timed out] 05:04 < kimelto> yeah. 05:04 < kimelto> anyway, I'll submit a patch to update and fix the port 05:05 < smw> kimelto: you shoudl at least use the latest "release" 05:11 -!- nettok__ [~netto@200.119.151.153] has joined #go-nuts 05:15 -!- nettok_ [~netto@200.119.151.153] has quit [Ping timeout: 258 seconds] 05:15 -!- SecretofMana [~mana@142.46.164.30] has quit [Ping timeout: 240 seconds] 05:20 -!- carllerche [~carllerch@208.87.61.146] has quit [Quit: carllerche] 05:21 -!- rv2733 [~rv2733@c-98-242-168-49.hsd1.fl.comcast.net] has joined #go-nuts 05:25 -!- zyichi [~zyichi@125.39.108.16] has quit [Quit: zyichi] 05:26 -!- carllerche [~carllerch@208.87.61.146] has joined #go-nuts 05:42 -!- exch [~nuada@h144170.upc-h.chello.nl] has quit [Read error: Connection reset by peer] 05:43 -!- exch [~nuada@h144170.upc-h.chello.nl] has joined #go-nuts 06:13 -!- b00m_chef [~watr@d64-180-45-230.bchsia.telus.net] has joined #go-nuts 06:21 -!- kanru [~kanru@61-228-155-193.dynamic.hinet.net] has quit [Ping timeout: 240 seconds] 06:21 -!- asmo_ [~asmo@c-f6c5e055.1155-1-64736c11.cust.bredbandsbolaget.se] has joined #go-nuts 06:25 -!- carllerche [~carllerch@208.87.61.146] has quit [Quit: carllerche] 06:27 -!- nutate [~rseymour@cacsag4.usc.edu] has quit [Quit: I'm outta heee-eere] 06:28 -!- carllerche [~carllerch@208.87.61.146] has joined #go-nuts 06:28 -!- rlab [~Miranda@240-21-95-178.pool.ukrtel.net] has joined #go-nuts 06:34 -!- nettok_ [~netto@200.119.151.153] has joined #go-nuts 06:34 -!- asmo_ [~asmo@c-f6c5e055.1155-1-64736c11.cust.bredbandsbolaget.se] has quit [Remote host closed the connection] 06:37 -!- carllerche [~carllerch@208.87.61.146] has quit [Quit: carllerche] 06:37 -!- nettok__ [~netto@200.119.151.153] has quit [Ping timeout: 248 seconds] 06:40 -!- b00m_chef [~watr@d64-180-45-230.bchsia.telus.net] has quit [Ping timeout: 268 seconds] 06:52 -!- rv2733 [~rv2733@c-98-242-168-49.hsd1.fl.comcast.net] has quit [Quit: Leaving] 06:57 -!- yaroslav [~yaroslav@ppp85-140-190-157.pppoe.mtu-net.ru] has joined #go-nuts 07:03 -!- ShadowIce [pyoro@unaffiliated/shadowice-x841044] has joined #go-nuts 07:20 -!- Gracenotes [~person@wikipedia/Gracenotes] has quit [Remote host closed the connection] 07:22 -!- kanade [~rohan@59.95.62.21] has joined #go-nuts 07:30 < kanade> does anyone talk in here? 07:30 -!- nettok__ [~netto@200.119.151.153] has joined #go-nuts 07:32 < taruti> no 07:32 < kanade> seems everyone is busy coding 07:34 -!- nettok_ [~netto@200.119.151.153] has quit [Ping timeout: 248 seconds] 07:36 -!- nettok_ [~netto@200.119.151.153] has joined #go-nuts 07:39 -!- nettok__ [~netto@200.119.151.153] has quit [Ping timeout: 264 seconds] 07:46 < kimelto> but why oh why the build system is written in crappy bash :/ 07:47 -!- nettok_ [~netto@200.119.151.153] has quit [Quit: Ex-Chat] 07:47 < kanade> what do you want it in? 07:48 < kimelto> sad to say, but autoconf is in plain old sh, which is better. 07:49 < taruti> autoconf is quite horrible 07:50 < kimelto> so are these home grown bash scrips 07:50 -!- awidegreen [~quassel@62.176.237.78] has joined #go-nuts 08:20 -!- GilJ [~gilles@78-22-170-204.access.telenet.be] has joined #go-nuts 08:22 -!- Xilon [~Adium@116.212.218.179] has joined #go-nuts 08:48 -!- gnuvince [~vince@70.35.166.48] has quit [Ping timeout: 258 seconds] 08:49 -!- gnuvince [~vince@72.0.216.63] has joined #go-nuts 08:50 -!- nanoo [~nano@95-89-197-196-dynip.superkabel.de] has joined #go-nuts 08:55 -!- scarabx [~scarabx@c-76-19-43-200.hsd1.ma.comcast.net] has quit [Quit: This computer has gone to sleep] 08:55 < uriel> kimelto: the build system is fairly simple, specially compared to auto*hell 09:03 < Xilon> Someone requested that IRC libray I was playing with yesterday. Here it is http://github.com/sebnow/ircgo 09:08 -!- asmo [~asmo@c-f6c5e055.1155-1-64736c11.cust.bredbandsbolaget.se] has joined #go-nuts 09:09 < plexdev> http://is.gd/bmMtT by [David Symonds] in go/lib/codereview/ -- codereview: Mention that deleting a CL is a use of 'hg change' in its header. 09:09 -!- landswipe [~Landswipe@60-242-188-130.static.tpgi.com.au] has quit [Ping timeout: 246 seconds] 09:10 -!- Gracenotes [~person@wikipedia/Gracenotes] has joined #go-nuts 09:11 -!- cco3-work [~conleyo@nat/google/x-glxbkdocvgotnvla] has quit [Ping timeout: 276 seconds] 09:14 -!- landswipe [~Landswipe@60-242-188-130.static.tpgi.com.au] has joined #go-nuts 09:20 -!- kanade [~rohan@59.95.62.21] has quit [Quit: Leaving] 09:31 -!- rlab_ [~Miranda@99-70-95-178.pool.ukrtel.net] has joined #go-nuts 09:33 -!- rlab [~Miranda@240-21-95-178.pool.ukrtel.net] has quit [Ping timeout: 258 seconds] 09:35 -!- rlab_ [~Miranda@99-70-95-178.pool.ukrtel.net] has quit [Client Quit] 09:35 -!- rlab [~Miranda@99-70-95-178.pool.ukrtel.net] has joined #go-nuts 09:39 -!- Project_2501 [~Marvin@82.84.91.170] has joined #go-nuts 09:42 -!- ikaros [~ikaros@g228079116.adsl.alicedsl.de] has joined #go-nuts 09:48 -!- OpenSpace [~ja@93.86.170.241] has quit [Quit: Leaving] 10:21 -!- prip [~foo@host87-128-dynamic.36-79-r.retail.telecomitalia.it] has quit [Ping timeout: 246 seconds] 10:22 -!- General13372 [~support@71-93-97-216.dhcp.mtpk.ca.charter.com] has joined #go-nuts 10:25 -!- General1337 [~support@71-93-97-216.dhcp.mtpk.ca.charter.com] has quit [Ping timeout: 246 seconds] 10:33 -!- prip [~foo@host87-128-dynamic.36-79-r.retail.telecomitalia.it] has joined #go-nuts 10:46 -!- andrewh [~andrewh@94-194-56-42.zone8.bethere.co.uk] has joined #go-nuts 11:06 -!- kanru [~kanru@61-228-151-155.dynamic.hinet.net] has joined #go-nuts 11:20 -!- marsu [~marsu@188.51.202-77.rev.gaoland.net] has joined #go-nuts 11:21 < manveru> I'm going through the go course day2 and found an error in the example on page 35 11:22 -!- oal [~olav@5.79-160-122.customer.lyse.net] has joined #go-nuts 11:23 < manveru> for i, x should be for _, x 11:25 < manveru> Though nobody explained the meaning of _ in the course yet, so I guess that's missing as well 11:26 -!- perdix [~perdix@sxemacs/devel/perdix] has joined #go-nuts 11:29 -!- GilJ [~gilles@78-22-170-204.access.telenet.be] has quit [Remote host closed the connection] 11:31 -!- kssreeram [~kssreeram@122.174.67.94] has quit [Ping timeout: 276 seconds] 11:31 -!- tsung [~jon@112.104.53.151] has quit [Remote host closed the connection] 11:31 -!- tsung [~jon@112.104.53.151] has joined #go-nuts 11:33 -!- surma [~surma@91-64-17-55-dynip.superkabel.de] has joined #go-nuts 11:34 < Xilon> With the xml package, how do I know which Token is being returned? Do I need to use reflection? 11:37 -!- asmo [~asmo@c-f6c5e055.1155-1-64736c11.cust.bredbandsbolaget.se] has quit [Remote host closed the connection] 11:39 < exch> type assertion 11:40 < exch> t1, ok := tok.(xml.SyntaxError); if ok { /* this is a valid cast to xml.SyntaxError */ } 11:41 < exch> Here's an example of a funciton that reads the token stream: http://github.com/jteeuwen/go-pkg-xmlx/blob/master/src/document.go#L90 11:41 < Xilon> Cool, thanks 11:59 -!- path[l] [UPP@120.138.102.34] has joined #go-nuts 12:11 -!- exch [~nuada@h144170.upc-h.chello.nl] has quit [Quit: nipples rock] 12:15 -!- andrewh [~andrewh@94-194-56-42.zone8.bethere.co.uk] has quit [Ping timeout: 240 seconds] 12:16 -!- tvw [~tv@e182077119.adsl.alicedsl.de] has joined #go-nuts 12:18 -!- rv2733 [~rv2733@c-98-242-168-49.hsd1.fl.comcast.net] has joined #go-nuts 12:20 -!- kssreeram [~kssreeram@122.174.67.94] has joined #go-nuts 12:29 < Xilon> I have a function which returns a structure that implements an interface. Why do I get an "cannot use *Foo as type *Bar in function argument" when attempting to pass the structure to a function that expects the interface? 12:30 < Xilon> I could just pass in the structure, but that defeats the purpose of interfaces 12:33 -!- letoh [~letoh@59-105-29-212.adsl.dynamic.seed.net.tw] has joined #go-nuts 12:34 < jessta> Xilon: are you sure *Foo implements the interface Bar and not Foo ? 12:35 < jessta> oh, on I'm guessing you probably what that to be Bar instead of *Bar 12:35 -!- tvw [~tv@e182077119.adsl.alicedsl.de] has quit [Ping timeout: 245 seconds] 12:35 < jessta> but pastebin your code 12:36 < Xilon> Well the struct and interface is Conn and ReadWriter in http://github.com/sebnow/ircgo/blob/master/irc.go 12:37 < Xilon> I'm passing in a *Conn to a function wanting *ReadWriter and I get "cannot use server (type *irc.Conn) as type *irc.ReadWriter in function argument" 12:38 < Xilon> The only difference between the interface and implementation is that I use named return variables... 12:39 -!- merlin83 [~merlin83@unaffiliated/merlin83] has quit [Read error: Connection reset by peer] 12:40 < jessta> Xilon: well, *Conn is a ReadWriter, but not a *ReadWriter 12:44 < Xilon> Hmm, so *ReadWriter doesn't mean "a pointer to something that implements ReadWriter"? 12:45 < Xilon> Or is the implementation supposed to be on Conn and not *Conn? 12:45 < jessta> nope, *ReaderWriter means a pointer to a readwriter interface 12:46 < jessta> Xilon: http://research.swtch.com/2009/12/go-data-structures-interfaces.html 12:46 < jessta> go interfaces are nothing like Java interfaces 12:49 < jessta> Xilon: you can pass a *Conn to a function expecting a ReadWriter, and go will wrap the *Conn in the ReadWriter interface 12:53 < Xilon> I wonder I I could have possibly not tried that :P 12:53 < Xilon> how* 12:53 < Xilon> Well thanks, that article looks pretty interesting too 13:01 -!- crashR [~crasher@codextreme.pck.nerim.net] has joined #go-nuts 13:05 -!- exch [~nuada@h144170.upc-h.chello.nl] has joined #go-nuts 13:09 -!- lux` [lucs@151.95.176.1] has joined #go-nuts 13:11 -!- SecretofMana [~mana@142.46.164.30] has joined #go-nuts 13:14 -!- Nitro [~nitro@208.92.17.21] has joined #go-nuts 13:15 -!- mfoemmel [~mfoemmel@chml01.drwholdings.com] has quit [Ping timeout: 260 seconds] 13:15 -!- ikaros [~ikaros@g228079116.adsl.alicedsl.de] has quit [Ping timeout: 276 seconds] 13:16 -!- crashR [~crasher@codextreme.pck.nerim.net] has quit [Quit: Leaving.] 13:28 -!- awidegreen_ [~quassel@62.176.237.78] has joined #go-nuts 13:29 -!- awidegreen [~quassel@62.176.237.78] has quit [Ping timeout: 246 seconds] 13:42 -!- andrewh [~andrewh@94-194-56-42.zone8.bethere.co.uk] has joined #go-nuts 13:42 -!- nictuku [~nnnnnnict@cetico.org] has quit [Changing host] 13:42 -!- nictuku [~nnnnnnict@unaffiliated/nictuku] has joined #go-nuts 13:47 -!- path[l] [UPP@120.138.102.34] has quit [Ping timeout: 258 seconds] 13:48 -!- path[l] [UPP@120.138.102.34] has joined #go-nuts 13:49 -!- path[l]_ [UPP@120.138.102.34] has joined #go-nuts 13:52 -!- path[l] [UPP@120.138.102.34] has quit [Ping timeout: 258 seconds] 13:53 -!- path[l] [UPP@120.138.102.34] has joined #go-nuts 13:54 -!- path[l]__ [UPP@120.138.102.34] has joined #go-nuts 13:55 -!- path[l]_ [UPP@120.138.102.34] has quit [Ping timeout: 258 seconds] 13:56 < exch> uriel: http://github.com/jteeuwen/go-pkg-mpd This one implements almost all of the MPD api, has synchronous and asynchronous calls for each function. The existing MPD package listed on your site is very limited and returns a map[string]string from each call. My version casts everything properly into a structure with appropriate bools/ints/etc 13:57 -!- path[l] [UPP@120.138.102.34] has quit [Ping timeout: 258 seconds] 14:00 -!- rlab [~Miranda@99-70-95-178.pool.ukrtel.net] has quit [Quit: Miranda IM! Smaller, Faster, Easier. http://miranda-im.org] 14:00 -!- path[l]__ [UPP@120.138.102.34] has quit [Ping timeout: 258 seconds] 14:01 -!- path[l] [UPP@120.138.102.34] has joined #go-nuts 14:02 -!- idea_squirrel [~ct2rips@77-22-20-104-dynip.superkabel.de] has joined #go-nuts 14:16 -!- scarabx [~scarabx@c-76-19-43-200.hsd1.ma.comcast.net] has joined #go-nuts 14:22 -!- andrewh [~andrewh@94-194-56-42.zone8.bethere.co.uk] has quit [Ping timeout: 245 seconds] 14:23 -!- fwiffo [~none@unaffiliated/fwiffo] has joined #go-nuts 14:25 -!- NinoScript [~Adium@190.163.108.49] has left #go-nuts [] 14:37 -!- mfoemmel [~mfoemmel@chml01.drwholdings.com] has joined #go-nuts 14:41 -!- asmo [~asmo@c-f6c5e055.1155-1-64736c11.cust.bredbandsbolaget.se] has joined #go-nuts 14:47 -!- bawr [~bawr@unaffiliated/mrfawkes] has joined #go-nuts 14:47 < bawr> Is it just me, or was Go written with map-reduce fans in mind? :) 14:49 < exch> heh it is easy, but not exactly practical sometimes :p 14:50 < bawr> So far, I'm focusing on having fun. This reminds me of how I was learning C from K&R... with a hint of Python, oddly enough. :) 14:50 -!- andrewh [~andrewh@94-194-56-42.zone8.bethere.co.uk] has joined #go-nuts 14:52 -!- mrd` [~matthew@shinobi.dempsky.org] has quit [Ping timeout: 252 seconds] 14:55 -!- path[l] [UPP@120.138.102.34] has quit [Ping timeout: 258 seconds] 14:57 -!- Xera^ [~brit@87-194-208-246.bethere.co.uk] has joined #go-nuts 14:58 -!- pdusen [~pdusen@crob4-55.flint.umich.edu] has quit [Quit: Leaving] 14:58 -!- mrd` [~matthew@shinobi.dempsky.org] has joined #go-nuts 14:59 -!- jA_cOp [~yakobu@unaffiliated/ja-cop/x-9478493] has joined #go-nuts 15:00 < bawr> ...I can't move the { to the next line when defining a function? It's like adjusting to forced indentation of code all over again. 15:00 < bawr> No, it's worse. forced indentation matched what I was doing. This goes against it. :/ 15:00 < manveru> hehe 15:01 < manveru> a whole line for a single {... seems like waste to me :) 15:01 < jessta> bawr: you'll get used to it pretty quickly 15:01 < bawr> I never maintained that it's a good thing, just that it was natural for me. 15:01 < bawr> Ah, well. 15:02 < bawr> I liked being able to match {} just by looking down, though. 15:02 -!- millertimek1a2m3 [~adam@rrcs-67-79-54-130.sw.biz.rr.com] has joined #go-nuts 15:05 < bawr> Also, hmm. Reading the docs, Go strings are made of bytes. Is there a way to address the Unicode characters inside a string, though? 15:06 < bawr> So that when x:="aźc", x[0] is "a", and x[1] is "ź", not just the first byte of my platform's representation of "ź". 15:07 -!- Venom_X [~pjacobs@74.61.90.217] has joined #go-nuts 15:11 -!- andrewh [~andrewh@94-194-56-42.zone8.bethere.co.uk] has quit [Ping timeout: 245 seconds] 15:11 < exch> rune := utf8.DecodeRuneInString("ź") 15:11 < exch> rune is now an int value with the proper unicode number for that character 15:11 -!- Venom_X [~pjacobs@74.61.90.217] has quit [Ping timeout: 260 seconds] 15:12 < bawr> Okay, but is there something like a string, except indexed by runes? 15:14 < exch> you can't index a string directly and have it return runes unfortunately 15:14 < exch> bit odd, I know 15:14 < exch> specially considering all strings are unicode by default in Go 15:14 < bawr> Yeah, this is... odd. 15:15 < jessta> bawr: an int slice 15:16 < bawr> Slices on strings return full characters, as opposed to bytes? 15:18 < jessta> nah, I mean if you want to reference by unicode character decode the string in to an array of ints 15:18 -!- rlab [~Miranda@91.200.158.34] has joined #go-nuts 15:19 < bawr> And that decodes it to runes? 15:19 < exch> you'll have to do that manually though as far as I know. You can't do an implicit conversion from string to []int 15:19 < bawr> Right'. 15:20 -!- ikaros [~ikaros@g228079116.adsl.alicedsl.de] has joined #go-nuts 15:22 < exch> hmm seems you can do it implicitely 15:23 < exch> foo := []int("aźc") 15:23 < exch> foo -> []int{97, 378, 99} 15:23 -!- pdusen [~pdusen@crob4-55.flint.umich.edu] has joined #go-nuts 15:24 < bawr> Ahh, awesome. Would have been rather silly otherwsie. 15:24 < exch> yea 15:24 < exch> I like this 15:24 < exch> One learns something new every day :p 15:28 -!- Nitro [~nitro@208.92.17.21] has quit [Ping timeout: 240 seconds] 15:30 -!- asmo [~asmo@c-f6c5e055.1155-1-64736c11.cust.bredbandsbolaget.se] has quit [Remote host closed the connection] 15:35 -!- rlab [~Miranda@91.200.158.34] has quit [Quit: Miranda IM! Smaller, Faster, Easier. http://miranda-im.org] 15:51 -!- rv2733 [~rv2733@c-98-242-168-49.hsd1.fl.comcast.net] has quit [Quit: Leaving] 15:52 -!- surma [~surma@91-64-17-55-dynip.superkabel.de] has quit [Quit: Leaving.] 15:54 -!- timepilot [~timepilot@c-24-1-94-64.hsd1.il.comcast.net] has joined #go-nuts 15:59 -!- senshikaze [~senshikaz@c-98-239-54-128.hsd1.ms.comcast.net] has joined #go-nuts 16:00 -!- Demp_ [~Demp@bzq-79-182-184-104.red.bezeqint.net] has joined #go-nuts 16:03 -!- zimbatm [zimbatm@stan.oree.ch] has quit [Quit: Terminated with extreme prejudice - dircproxy 1.0.5] 16:03 -!- Demp [~Demp@bzq-79-182-184-40.red.bezeqint.net] has quit [Ping timeout: 240 seconds] 16:04 -!- nettok [~netto@200.119.156.156] has joined #go-nuts 16:05 -!- zimbatm [~zimbatm@193-0.105-92.cust.bluewin.ch] has joined #go-nuts 16:11 -!- Demp [~Demp@bzq-79-182-184-246.red.bezeqint.net] has joined #go-nuts 16:13 -!- yaroslav [~yaroslav@ppp85-140-190-157.pppoe.mtu-net.ru] has quit [Quit: yaroslav] 16:14 -!- Demp_ [~Demp@bzq-79-182-184-104.red.bezeqint.net] has quit [Ping timeout: 260 seconds] 16:14 -!- Demp_ [~Demp@bzq-109-65-184-141.red.bezeqint.net] has joined #go-nuts 16:15 -!- yaroslav [~yaroslav@ppp85-140-190-157.pppoe.mtu-net.ru] has joined #go-nuts 16:15 -!- yaroslav [~yaroslav@ppp85-140-190-157.pppoe.mtu-net.ru] has quit [Client Quit] 16:18 -!- Demp [~Demp@bzq-79-182-184-246.red.bezeqint.net] has quit [Ping timeout: 260 seconds] 16:20 -!- Demp_ [~Demp@bzq-109-65-184-141.red.bezeqint.net] has quit [Ping timeout: 240 seconds] 16:21 -!- timepilot [~timepilot@c-24-1-94-64.hsd1.il.comcast.net] has quit [Ping timeout: 265 seconds] 16:27 -!- oal [~olav@5.79-160-122.customer.lyse.net] has quit [Remote host closed the connection] 16:35 -!- nettok_ [~netto@200.119.156.156] has joined #go-nuts 16:39 -!- nettok [~netto@200.119.156.156] has quit [Ping timeout: 264 seconds] 16:41 -!- TMKCodes [~toni@bbwirelessgw2-fee1dc00-62.dhcp.inet.fi] has quit [Quit: Leaving] 16:45 -!- b00m_chef [~watr@d64-180-45-230.bchsia.telus.net] has joined #go-nuts 16:46 -!- Xilon [~Adium@116.212.218.179] has quit [Quit: Leaving.] 16:51 -!- andrewh [~andrewh@94-194-56-42.zone8.bethere.co.uk] has joined #go-nuts 16:55 -!- peterdn [~peterdn@host81-159-104-203.range81-159.btcentralplus.com] has quit [Quit: ChatZilla 0.9.86-rdmsoft [XULRunner 1.9.0.15/2009101909]] 16:58 -!- napsy_ [~luka@tm.213.143.73.175.lc.telemach.net] has joined #go-nuts 17:00 -!- hdon [~donny@c-67-163-244-40.hsd1.pa.comcast.net] has quit [Ping timeout: 248 seconds] 17:13 -!- hdon [~donny@c-67-163-244-40.hsd1.pa.comcast.net] has joined #go-nuts 17:17 < kimelto> is there a simpla way to export variables at launch time (for make.bash), ala make 17:17 < kimelto> ie. make FOO=BAR install 17:19 < bawr> FOO=BAR make install 17:19 < bawr> Works in most shells. 17:19 -!- andrewh [~andrewh@94-194-56-42.zone8.bethere.co.uk] has quit [Ping timeout: 265 seconds] 17:21 < kimelto> bawr: stoopid me :) 17:22 < kimelto> thanks 17:22 < bawr> No problem. 17:23 < kimelto> in my head that was kind of weird cause I was in a makefile, but the makefile spawn a shell to exec commands so... :) 17:24 < bawr> Heh, I feel you. I get a brain freeze near make, too. :) 17:26 -!- scm [justme@c190030.adsl.hansenet.de] has quit [Ping timeout: 252 seconds] 17:26 < kimelto> 2 known bugs; 71 unexpected bugs; test output differs \o/ 17:26 -!- napsy_ [~luka@tm.213.143.73.175.lc.telemach.net] has quit [Ping timeout: 260 seconds] 17:27 -!- scm [justme@c155177.adsl.hansenet.de] has joined #go-nuts 17:34 -!- zimbatm [~zimbatm@193-0.105-92.cust.bluewin.ch] has quit [Remote host closed the connection] 17:35 -!- zimbatm [~zimbatm@193-0.105-92.cust.bluewin.ch] has joined #go-nuts 17:41 < uriel> exch: I still don't understand why you need to provide an async version of apis, Go makes it trivial for anyone that needs to run something on a different goroutine to do it themselves 17:52 -!- cco3 [~conley@c-69-181-139-23.hsd1.ca.comcast.net] has joined #go-nuts 17:53 -!- napsy [~luka@tm.213.143.73.175.lc.telemach.net] has joined #go-nuts 17:53 < exch> yes, but why leave them to do the extra work? :p 17:54 < exch> it's the same as with the existing mpd lib. it just returns string maps. technically it's correct, but it just leaves me, as the user, with more work to do 17:55 -!- KnightMage [~jon@host86-151-182-176.range86-151.btcentralplus.com] has joined #go-nuts 17:57 -!- rv2733 [~rv2733@c-98-242-168-49.hsd1.fl.comcast.net] has joined #go-nuts 18:02 -!- daowee [~daowee@ua-83-227-154-166.cust.bredbandsbolaget.se] has quit [Read error: Connection reset by peer] 18:03 -!- perdix [~perdix@sxemacs/devel/perdix] has quit [Quit: A cow. A trampoline. Together they fight crime!] 18:06 -!- nettok__ [~netto@200.119.156.156] has joined #go-nuts 18:08 -!- kssreeram [~kssreeram@122.174.67.94] has quit [Quit: kssreeram] 18:08 -!- deso [~deso@x0561a.wh30.tu-dresden.de] has joined #go-nuts 18:08 -!- kssreeram [~kssreeram@122.174.67.94] has joined #go-nuts 18:10 -!- nettok_ [~netto@200.119.156.156] has quit [Ping timeout: 248 seconds] 18:28 -!- rv2733 [~rv2733@c-98-242-168-49.hsd1.fl.comcast.net] has quit [Quit: Leaving] 18:29 -!- nettok_ [~netto@200.119.156.156] has joined #go-nuts 18:31 -!- scm [justme@c155177.adsl.hansenet.de] has quit [Ping timeout: 246 seconds] 18:33 -!- nettok__ [~netto@200.119.156.156] has quit [Ping timeout: 264 seconds] 18:37 -!- scm [justme@c136205.adsl.hansenet.de] has joined #go-nuts 18:43 -!- nettok__ [~netto@200.119.156.156] has joined #go-nuts 18:46 -!- nettok_ [~netto@200.119.156.156] has quit [Ping timeout: 252 seconds] 18:48 -!- lloyda2 [~adam@lloyda2.stu.rpi.edu] has joined #go-nuts 18:48 -!- millertimek1a2m3 [~adam@rrcs-67-79-54-130.sw.biz.rr.com] has quit [Ping timeout: 245 seconds] 18:59 -!- landswipe [~Landswipe@60-242-188-130.static.tpgi.com.au] has quit [Ping timeout: 276 seconds] 18:59 -!- landswipe [~Landswipe@60-242-188-130.static.tpgi.com.au] has joined #go-nuts 19:02 -!- saljam [~s@91.106.36.122] has joined #go-nuts 19:03 -!- saljam [~s@91.106.36.122] has left #go-nuts [] 19:03 -!- saljam [~s@91.106.36.122] has joined #go-nuts 19:10 < kimelto> is go intensively tested on freebsd? doesnt seems so. 19:13 -!- nf [~nf@124-170-37-239.dyn.iinet.net.au] has quit [Ping timeout: 260 seconds] 19:13 -!- nf [~nf@124-168-129-75.dyn.iinet.net.au] has joined #go-nuts 19:24 < uriel> exch: then all APIs should have async versions, it makes no sense to me 19:24 -!- millertimek1a2m3 [~adam@rrcs-67-79-54-130.sw.biz.rr.com] has joined #go-nuts 19:27 < exch> they probably should 19:27 < exch> provided it makes sense for the particular app 19:40 -!- Nitro [~nitro@208.92.17.21] has joined #go-nuts 19:46 -!- zimbatm [~zimbatm@193-0.105-92.cust.bluewin.ch] has quit [Remote host closed the connection] 19:47 -!- jackman [~jackman@c-24-21-216-140.hsd1.or.comcast.net] has quit [Ping timeout: 245 seconds] 19:47 -!- zimbatm [~zimbatm@193-0.105-92.cust.bluewin.ch] has joined #go-nuts 19:47 -!- zimbatm [~zimbatm@193-0.105-92.cust.bluewin.ch] has quit [Remote host closed the connection] 19:47 -!- zimbatm [~zimbatm@193-0.105-92.cust.bluewin.ch] has joined #go-nuts 19:49 -!- jackman [~jackman@c-24-21-216-140.hsd1.or.comcast.net] has joined #go-nuts 19:53 < bawr> Is there a big version of the Go mascot somewhere I'm not seeing it? 19:55 < andreer> bawr: if you download the distribution, i think there's a large version in the documentation. i'll check 19:56 < Luixsia> Go mascot? 19:56 < Luixsia> Go has a mascot? 19:56 < andreer> bawr: yep, 3861x3861. 19:57 < andreer> Luixsia: his name is Gopher, i believe 19:57 < andreer> look in go/doc/gordon/ 19:57 < andreer> (oops, not Gopher, Godron. I think he might be a gopher though) 19:58 < bawr> Ah. Now I'll know where to look. 19:59 -!- Kashia [~Kashia@p4FEB372F.dip.t-dialin.net] has joined #go-nuts 19:59 -!- asmo_ [~asmo@c-f6c5e055.1155-1-64736c11.cust.bredbandsbolaget.se] has joined #go-nuts 20:00 -!- warthurton [~warthurto@pdpc/supporter/active/warthurton] has joined #go-nuts 20:02 -!- warthurton [~warthurto@pdpc/supporter/active/warthurton] has quit [Client Quit] 20:02 -!- warthurton [~warthurto@pdpc/supporter/active/warthurton] has joined #go-nuts 20:03 -!- napsy [~luka@tm.213.143.73.175.lc.telemach.net] has quit [Quit: Lost terminal] 20:04 -!- warthurton [~warthurto@pdpc/supporter/active/warthurton] has quit [Client Quit] 20:04 -!- shasbot [~shasbot@ip70-171-218-55.tc.ph.cox.net] has quit [Ping timeout: 264 seconds] 20:05 -!- nettok_ [~netto@200.119.156.156] has joined #go-nuts 20:06 -!- shasbot [~shasbot@ip70-171-218-55.tc.ph.cox.net] has joined #go-nuts 20:06 -!- rthc [~rthc@rrcs-67-52-50-170.west.biz.rr.com] has quit [Ping timeout: 246 seconds] 20:08 -!- rthc [~rthc@rrcs-67-52-50-170.west.biz.rr.com] has joined #go-nuts 20:09 -!- meatmanek [~meatmanek@mesingw.student.cwru.edu] has joined #go-nuts 20:09 -!- nettok__ [~netto@200.119.156.156] has quit [Ping timeout: 258 seconds] 20:09 -!- mertimor [~mertimor@p578ED24E.dip.t-dialin.net] has joined #go-nuts 20:11 -!- nettok__ [~netto@200.119.156.156] has joined #go-nuts 20:14 -!- nettok_ [~netto@200.119.156.156] has quit [Ping timeout: 276 seconds] 20:20 -!- millertimek1a2m3 [~adam@rrcs-67-79-54-130.sw.biz.rr.com] has quit [Ping timeout: 265 seconds] 20:21 -!- saljam [~s@91.106.36.122] has quit [Quit: saljam] 20:34 -!- TMKCodes [~tmkcodes@bbwirelessgw2-fee1dc00-62.dhcp.inet.fi] has joined #go-nuts 20:36 -!- nettok__ [~netto@200.119.156.156] has quit [Ping timeout: 246 seconds] 20:37 -!- b00m_chef [~watr@d64-180-45-230.bchsia.telus.net] has quit [Ping timeout: 248 seconds] 20:47 -!- preflex [~preflex@unaffiliated/mauke/bot/preflex] has quit [Ping timeout: 248 seconds] 20:48 -!- KnightMage [~jon@host86-151-182-176.range86-151.btcentralplus.com] has quit [Remote host closed the connection] 20:49 -!- andrewh [~andrewh@94-194-56-42.zone8.bethere.co.uk] has joined #go-nuts 20:50 -!- saljam [~s@91.106.36.122] has joined #go-nuts 20:50 < Nitro> Hi! Is there an elegant way to grab the last element from an array, other than by [len(array)-1] ? I though [-1] would work, but it gives me a uint overflow error... 20:50 < bawr> Transferring from Python? :) 20:51 < Nitro> yup ;) 20:52 < bawr> (No idea here, I just started myself. Transferring from Python, too.) 20:52 -!- saljam [~s@91.106.36.122] has quit [Client Quit] 20:52 -!- preflex [~preflex@unaffiliated/mauke/bot/preflex] has joined #go-nuts 20:53 -!- nettok__ [~netto@200.119.156.156] has joined #go-nuts 20:57 -!- rv2733 [~rv2733@c-98-242-168-49.hsd1.fl.comcast.net] has joined #go-nuts 20:59 -!- An_Knight [~Luixsia@AToulouse-254-1-17-250.w81-250.abo.wanadoo.fr] has joined #go-nuts 21:01 -!- nanooo [~nano@95-89-197-196-dynip.superkabel.de] has joined #go-nuts 21:02 -!- Luixsia [~Luixsia@AToulouse-254-1-54-197.w81-49.abo.wanadoo.fr] has quit [Ping timeout: 252 seconds] 21:04 -!- nanoo [~nano@95-89-197-196-dynip.superkabel.de] has quit [Ping timeout: 260 seconds] 21:07 -!- peterdn [~peterdn@host81-159-104-203.range81-159.btcentralplus.com] has joined #go-nuts 21:07 -!- deso [~deso@x0561a.wh30.tu-dresden.de] has quit [Remote host closed the connection] 21:07 -!- deso [~deso@x0561a.wh30.tu-dresden.de] has joined #go-nuts 21:07 -!- nettok_ [~netto@200.119.156.156] has joined #go-nuts 21:11 -!- nettok__ [~netto@200.119.156.156] has quit [Ping timeout: 258 seconds] 21:18 -!- asmo_ [~asmo@c-f6c5e055.1155-1-64736c11.cust.bredbandsbolaget.se] has quit [Remote host closed the connection] 21:19 -!- andrewh [~andrewh@94-194-56-42.zone8.bethere.co.uk] has quit [Ping timeout: 240 seconds] 21:19 -!- andrewh [~andrewh@94-194-56-42.zone8.bethere.co.uk] has joined #go-nuts 21:21 -!- zimbatm [~zimbatm@193-0.105-92.cust.bluewin.ch] has quit [Remote host closed the connection] 21:21 -!- nettok__ [~netto@200.119.156.156] has joined #go-nuts 21:22 -!- zimbatm [~zimbatm@193-0.105-92.cust.bluewin.ch] has joined #go-nuts 21:25 -!- nettok_ [~netto@200.119.156.156] has quit [Ping timeout: 265 seconds] 21:26 < exch> I was just listening to the 'changelog' interview with Rob Pike. What peaked my interest was rob's remark about someone making a Go compiler for Mono/.NET. basically it would just convert the Go AST tree into a suitable ILASM file and pass it to Mono's ilasm for compiling. 21:26 < exch> Is anyone aware of a project doing this? 21:27 < exch> I'm also a bit curious why Rob would be interested in this 21:30 < exch> It seems like a bit of a pointless endevour. Go's language constructs aren't particularly compatible with the whole CLR way of doing things 21:35 < uriel> I think somebody was working on it 21:35 < uriel> or thinking about it 21:39 -!- b00m_chef [~watr@128.189.89.5] has joined #go-nuts 21:52 -!- nettok_ [~netto@200.119.156.156] has joined #go-nuts 21:55 -!- nettok__ [~netto@200.119.156.156] has quit [Ping timeout: 240 seconds] 21:56 -!- Project_2501 [~Marvin@82.84.91.170] has quit [Quit: E se abbasso questa leva che succ...] 21:58 -!- scarabx [~scarabx@c-76-19-43-200.hsd1.ma.comcast.net] has quit [Quit: Leaving] 22:00 -!- rlab [~Miranda@91.200.158.34] has joined #go-nuts 22:01 -!- rlab [~Miranda@91.200.158.34] has quit [Read error: Connection reset by peer] 22:01 -!- espadrine [~opera@AMontsouris-157-1-116-178.w90-46.abo.wanadoo.fr] has joined #go-nuts 22:02 -!- espadrine [~opera@AMontsouris-157-1-116-178.w90-46.abo.wanadoo.fr] has left #go-nuts [] 22:04 -!- scarabx [~scarabx@c-76-19-43-200.hsd1.ma.comcast.net] has joined #go-nuts 22:07 < Zoopee> exch: isn't the the "conversion" of the AST into an ILASM part, basically the compilation of the program? 22:07 -!- nanooo [~nano@95-89-197-196-dynip.superkabel.de] has quit [Quit: Leaving] 22:08 < exch> not entirely. the actualy compilation has to be done by the il assembler 22:08 < exch> ILASM in itself is just another programming language 22:08 < Zoopee> your statement "just convert" made it sound like a kind of special magic 22:09 < exch> 'just' prolly understates it a bit, but it really is just a conversion from 1 language to another 22:12 < exch> It is a godsend that go includes packages for parsing go code though. Shaves off a ton of work 22:13 < Zoopee> Isn't ILASM just a textual representation of binary CIL, in the same way that Java bytecode is printed out as text by javap? 22:13 < exch> not exactly. You can write your .NET/Mono program in ILASM if you want. it's as much a programming language as go, C or C# is 22:14 < exch> It's semi-object oriented and fully stack based. (like Lua and postscript) 22:15 < Zoopee> (or to take it one level lower, ILASM : CIL :: assembly : machine code loaded to memory for the CPU to execute) 22:15 -!- idea_squirrel [~ct2rips@77-22-20-104-dynip.superkabel.de] has quit [Quit: Verlassend] 22:15 < exch> the bytecode bit happens when you run your ilasm code through the IL assembler 22:17 -!- tux21b [~christoph@90.146.60.30] has joined #go-nuts 22:19 < Zoopee> exch: of course, CIL code is definitely higher level than MIPS machine code, with stuff like garbage collection, bounds checking, virtual invocation, and so on built in. 22:19 < exch> of course 22:19 < exch> i've played around with ilasm quite a bit years ago. Not sure how it's changed over time though. last time I wrote anything with it was in 2003 I think 22:20 < Zoopee> But the conversion from ILASM to CIL is a rather straightforward mechanical process, isn't it? 22:20 < exch> I would assume so. I've never investigated beyond the ilasm stage tbh 22:21 < Zoopee> I'd expect it changed just as much as the CIL did. But it's basically an assembly language for the CIL "processor". 22:21 < exch> you are suggesting that a go -> CIL conversion should just skip the msil stage? I suppsoe that's doable 22:22 < exch> yea. It started to get a little funky when they introduced generics into the runtime. After that I move don to other things 22:22 -!- General1337 [~support@71-93-97-216.dhcp.mtpk.ca.charter.com] has joined #go-nuts 22:22 < Zoopee> Whereas converting C# (and in the same manner, Go) to ILASM is the part where interesting things happen, i.e. the compilation. 22:23 -!- ShadowIce [pyoro@unaffiliated/shadowice-x841044] has quit [Quit: Verlassend] 22:23 < exch> it certainly isn't gonna be easy to map go constructs into useful and semi-optimized il code 22:24 < exch> and since the modern class library in .NET/Mono relies rather heavily on generics, Go won't be very useful because it doesn't (yet) have any constructs that could simulate this 22:25 < uriel> ah, I think I remember who it was: nickjohnson 22:25 < uriel> not sure how far he got 22:25 -!- General13372 [~support@71-93-97-216.dhcp.mtpk.ca.charter.com] has quit [Ping timeout: 264 seconds] 22:26 < exch> i'll see if I can find something 22:27 -!- samferry [sam@atheme/member/samferry] has joined #go-nuts 22:28 < Zoopee> Not suggesting to skip it. That's a matter of preference when writing the compiler. i.e. some compilers (e.g. gcc, I think also Microsoft's C/C++) output assembly, others (e.g. tcc, MIPSPro, Borland, Watcom) output machine code directly, it's mostly a matter of convenience whether to output text or binary. 22:28 -!- deso [~deso@x0561a.wh30.tu-dresden.de] has quit [Read error: Connection reset by peer] 22:28 < exch> true 22:30 < exch> From a debugging standpoint it is probably easier to stick to ilasm. When in doubt about something, it's easy enough to write what you want in C# -> compiler -> disassemble into Ilasm and read the code 22:32 < Zoopee> The direct binary code generation approach has the advantage of somewhat faster compilation (saving another pass of elaborate text processing), but the text output (fed to the assembler to get binary) has the advantage of an intermediate stage that is more human readable and can be inspected, or intervened with before binary generation. 22:33 < exch> ya 22:33 -!- taruti [taruti@aoi.yi.org] has quit [Ping timeout: 245 seconds] 22:35 -!- rv2733 [~rv2733@c-98-242-168-49.hsd1.fl.comcast.net] has quit [Quit: Leaving] 22:35 < Zoopee> As you said though, the Go concepts don't quite map directly to the .NET model. So a Go->CIL/ILASM compiler would actually likely be more complex than say, the C# compiler. 22:35 -!- saljam [~s@91.106.36.122] has joined #go-nuts 22:36 < exch> either more complex, or extremely limited if proper mappings cannot be made efficiently 22:37 < Zoopee> (I only seriously used .NET for a few months, learning C# and working on a small project and debugging some library on Mono -- so my knowledge of the model is rather rudimentary and limited to what existed at ca. 2004; I never used any of the Generics or reflection stuff) 22:38 < exch> I kinda got addicted to C# when it was still in beta and never really stopped using it. Had a few jobs as C# programmer in the meantime. Until Go came along that is :p I found my new love 22:39 < kimelto> dont you miss linq? :) 22:39 < exch> lol no 22:39 < kimelto> the only cool thing about C# imho 22:40 < Zoopee> I suppose the main question would be whether .NET has a thread model suitable for CSP-style concurrency. Channels could be implemented and that would work relatively well. 22:40 < exch> it has it's uses, but so far I haven't found a lot of them 22:40 -!- taruti [taruti@aoi.yi.org] has joined #go-nuts 22:41 < kimelto> anyway, any progress/eta for the new go garbage collector? 22:41 < exch> Zoopee: that's a good question. Just mapping them to regular old threads cuold work, but it'll be one hell of a job 22:43 -!- ikaros [~ikaros@g228079116.adsl.alicedsl.de] has quit [Ping timeout: 246 seconds] 22:48 < Zoopee> Otherwise, the higher level stuff are garbage collection (which the CLR already does) and stuff like defer and the proposed panic/recover (which I think the CLR also has the support for as it implements exceptions). The low-level stuff is just a matter of generating some instructions as for any other machine architecture. 22:49 < exch> defer is pretty easy to implement with the try/finally constructs 22:50 < exch> expensive though. It adds a faire few extra instructions 22:50 -!- tux21b [~christoph@90.146.60.30] has quit [Quit: Ex-Chat] 22:51 -!- zimbatm [~zimbatm@193-0.105-92.cust.bluewin.ch] has quit [Quit: Leaving...] 22:54 < Zoopee> However, the point of .NET languages is really interoperability, being able to just use a library or class/functions from another language. And here the actual interface matters a lot. So if the Go types or interfaces do not map well to that, even if code can easily be generated on the CLR to implement them, you end up not being able to call Go functions/methods or create objects of Go's types from a C# program, and it's not worth so much. 22:55 < exch> Everything you can map onto ilasm will (mostly) be compatible with any other .NET language 22:56 < Zoopee> exch: Is the CLR thread model lightweight and scalable enough for goroutines to be efficient? 22:56 < exch> ILASM does support a few constructs that C# does not have 22:56 < exch> like global vars/functions for instance 22:56 < exch> Zoopee: I don't think it is quite as efficient 22:56 -!- aho [~nya@e179061006.adsl.alicedsl.de] has joined #go-nuts 22:56 < Zoopee> I have the feeling that Windows native threads aren't, anyway. (Though I only ever made basic use of them) 22:57 -!- scarabx [~scarabx@c-76-19-43-200.hsd1.ma.comcast.net] has quit [Quit: This computer has gone to sleep] 22:57 -!- ikaros [~ikaros@g227064130.adsl.alicedsl.de] has joined #go-nuts 22:57 -!- ikaros [~ikaros@g227064130.adsl.alicedsl.de] has quit [Remote host closed the connection] 23:02 < Zoopee> exch: The thing is how you "map" it onto ILASM. i.e. some types can be just opaque handles, the implementation of which is within the generated code. So you get an efficient CIL assembly (that's their term for an "object"/"exectuable", right?) of a Go program, but the runtime is not "aware" of them. 23:04 < Zoopee> Does the CLR support multiple return values, for instance? How would you call a function that returns (int, int64, string) from a C# program? 23:04 < exch> C# can't handle that 23:04 < exch> but ILASM is fully stack based 23:04 < exch> , so in effect it can have as many return values as you need 23:05 < Zoopee> exch: Sure, but beyond ILASM, you also have some calling conventions, for instance. 23:06 -!- nettok_ [~netto@200.119.156.156] has quit [Quit: Ex-Chat] 23:06 < exch> When you start doing this, you need to make a choice. Do you want maximum compatibility with other .NEt languages, or do you just want to adhere to the CLI standard? 23:06 < exch> those are mutually exclusive 23:06 < exch> an IL program that uses all features avilable to the CLI will not be very useful when imported in a C# program 23:07 < exch> *program = Assembly 23:07 < exch> If you go for compatibility then things become tricky. Like you mentioned, you can't deal with multiple return values in functions properly 23:08 < exch> at least not in a way that would make sense to a C# program importing your code 23:10 < Zoopee> exch: I can think of some reasons you'd just want an "IL program", but mostly it seems to me if you can't interoperate with code in other .NET langauges, and you don't depend on CLR support otherwise, you'd be just as well off just compiling to machine executables. 23:10 < exch> yea that's what I thought. I don't really see a whole lot of use for a go -> CLI compiler 23:10 < exch> not anything that'll make it worth the trouble anyways 23:12 < Zoopee> And Go obviously is targeted as a native compiled language, not depending on heavy runtime abstraction offered by virtual machines / JITs. 23:13 < exch> yup 23:14 < Zoopee> (as opposed to C#, which you'd run into terrible mess trying to compile natively) 23:14 -!- viirya [~viirya@cml506-25.csie.ntu.edu.tw] has quit [Ping timeout: 264 seconds] 23:15 -!- viirya [~viirya@cml506-25.csie.ntu.edu.tw] has joined #go-nuts 23:15 -!- TMKCodes [~tmkcodes@bbwirelessgw2-fee1dc00-62.dhcp.inet.fi] has left #go-nuts ["Lähdössä"] 23:16 < Zoopee> exch: the only really worthwhile use I can see for go->CIL is if you can write .NET libraries with it and use other .NET libraries in a Go program, as easily as you can in C# IronPython. 23:17 -!- wuehlmaus [~wuehlmaus@p4FCC671D.dip.t-dialin.net] has quit [Ping timeout: 246 seconds] 23:18 < Zoopee> s/C# IronPython/C# or Python/ 23:18 < exch> If you are to take some artistic license, you can probably make it work. And by artistic license I mean changing the Go language just enough to accomodate from some of the things that would otherwise be nigh impossible. 23:18 < exch> Like adding generics syntax to the go language. 23:18 < exch> but then it won't really be go anymore :p 23:18 -!- andrewh [~andrewh@94-194-56-42.zone8.bethere.co.uk] has quit [Ping timeout: 265 seconds] 23:20 -!- wuehlmaus [~wuehlmaus@p4FCC3BFC.dip.t-dialin.net] has joined #go-nuts 23:20 < Zoopee> I don't think that'd be a very graceful change. 23:21 < exch> probably not 23:22 -!- Xera^ [~brit@87-194-208-246.bethere.co.uk] has quit [Quit: ( www.nnscript.com :: NoNameScript 4.21 :: www.esnation.com )] 23:24 -!- andrewh [~andrewh@94-194-56-42.zone8.bethere.co.uk] has joined #go-nuts 23:25 < Zoopee> The boon in Go seems to be that it's just as high-level as you can get with a static, directly native compiled language, without introducing fuzzy leaky ugliness like C++ does. There are some features that Go would probably not include (like virtual methods, reflection, generics) because they don't succumb well to local static compilation. 23:26 < exch> that's one of Go's selling points I suppose. It's nice and clean. And also why I absolutely loathe C++ 23:26 < exch> it just feelslike one disgusting hack ontop of the other 23:28 < kmeyer> Zoopee: actually, go has virtual/static methods, though it doesn't describe them as such 23:28 -!- andrewh [~andrewh@94-194-56-42.zone8.bethere.co.uk] has quit [Client Quit] 23:28 < Zoopee> kmeyer: You mean the pointer indirection in interfaces? 23:28 < exch> C++: http://mimg.ugo.com/200905/9449/pizza-the-hutt.jpg Go: http://www.celebutopia.net/wp-content/uploads/2009/06/gillan.jpg :p 23:30 < Zoopee> Once you're already under a virtual runtime / JIT or whatever, you want to make use of the dynamic flexibility and abstraction that gives you, and Go is (rightfully) too restricted for that. 23:30 < kmeyer> Zoopee: mhm 23:34 -!- TMKCodes [~tmkcodes@bbwirelessgw2-fee1dc00-62.dhcp.inet.fi] has joined #go-nuts 23:36 < Zoopee> Just make threads lightweight (if they aren't already) and add CSP (channels and select) to .NET -- you get more than you could with Go for CIL. But you don't have the advantage of static native binaries, which you have with Go (but obviously would also lose with Go on CIL) 23:36 < Zoopee> kmeyer: yeah? 23:37 < kmeyer> What? 23:38 < Zoopee> Is that what you meant by "virtual/static methods" in Go? 23:38 < Zoopee> (Or is there something deeper I don't know of?) 23:39 < Zoopee> (wasn't sure what the "mhm" was to convey) 23:41 < kmeyer> Ah, sorry. 23:41 < kmeyer> Yeah, that's all I meant. 23:45 -!- mertimor [~mertimor@p578ED24E.dip.t-dialin.net] has left #go-nuts [] 23:46 < Zoopee> Ah, OK -- I suppose that does qualify as virtual invocation. But once you have a class hierarchy and inheritance, it's a bit more complicated than that, i.e. you actually need to know about the types at runtime. 23:47 -!- marsu [~marsu@188.51.202-77.rev.gaoland.net] has quit [Quit: Leaving] 23:52 -!- awidegreen_ [~quassel@62.176.237.78] has quit [Remote host closed the connection] 23:52 -!- jA_cOp [~yakobu@unaffiliated/ja-cop/x-9478493] has quit [Quit: Leaving] 23:55 < exch> if I have multiple case statements in a select{} block, will all channels in there be watched for incoming data, or will it block at the first case until something happens there? 23:55 < Zoopee> I think Go's concept of interfaces is most practical though. That's the most common use for full-blown classes, without the complexity. 23:55 < Zoopee> exch: all channels 23:55 < exch> goodie. --- Log closed Sun Apr 11 00:00:43 2010