--- Log opened Mon May 24 00:00:59 2010 00:01 -!- slashus2 [~slashus2@74-137-24-74.dhcp.insightbb.com] has joined #go-nuts 00:03 -!- ikaros [~ikaros@e179179103.adsl.alicedsl.de] has quit [Quit: Leave the magic to Houdini] 00:11 -!- vsayer [~vivek@c-76-103-244-154.hsd1.ca.comcast.net] has joined #go-nuts 00:11 -!- vsayer [~vivek@c-76-103-244-154.hsd1.ca.comcast.net] has quit [Read error: Connection reset by peer] 00:12 -!- vsayer [~vivek@c-76-103-244-154.hsd1.ca.comcast.net] has joined #go-nuts 00:22 -!- mxweas_ [~max@c-76-103-73-248.hsd1.ca.comcast.net] has quit [Quit: Mac has gone to sleep] 00:22 -!- mxweas [~max@c-76-103-73-248.hsd1.ca.comcast.net] has joined #go-nuts 00:25 -!- mxweas [~max@c-76-103-73-248.hsd1.ca.comcast.net] has quit [Client Quit] 00:32 -!- fernan [~ca7a95c3@gateway/web/freenode/x-gcknijnqjqcdcaoc] has joined #go-nuts 00:39 -!- mxweas [~max@c-76-103-73-248.hsd1.ca.comcast.net] has joined #go-nuts 00:39 -!- zyichi [~zyichi@124.205.180.154] has joined #go-nuts 00:41 -!- itrekkie [~itrekkie@ip70-190-110-124.ph.ph.cox.net] has joined #go-nuts 00:41 -!- itrekkie [~itrekkie@ip70-190-110-124.ph.ph.cox.net] has quit [Client Quit] 00:47 -!- fernan [~ca7a95c3@gateway/web/freenode/x-gcknijnqjqcdcaoc] has quit [Ping timeout: 252 seconds] 00:50 -!- fernan [~ca7a95c3@gateway/web/freenode/x-txlsaocutydbosqd] has joined #go-nuts 00:52 < Eko> Quick question about the semantics of slices 00:52 -!- mxweas [~max@c-76-103-73-248.hsd1.ca.comcast.net] has quit [Quit: Mac has gone to sleep] 00:53 -!- zyichi [~zyichi@124.205.180.154] has quit [Ping timeout: 258 seconds] 00:53 < Eko> From the docs and experimenation, this is how they seem to behave but I want to make sure I'm not misunderstanding: 00:53 < Eko> a slice is always indexed from zero and has a length that represents the length of the slice itself; this is irrespective of the start/end index of the data that the slice is representing 00:54 < Namegduf> Yes. 00:54 < jessta> Eko: a slice is a pointer and a length 00:54 < Eko> Cool. Thanks. 00:54 < Namegduf> (And a capacity?) 00:55 < Namegduf> (Roughly that, anyway) 00:56 < jessta> Eko: http://research.swtch.com/2009/11/go-data-structures.html 00:57 -!- kanru [~kanru@61-30-10-70.static.tfn.net.tw] has joined #go-nuts 01:02 -!- kobkrit [~kobkrit@2001:200:141:6151:224:21ff:fe1e:4d16] has joined #go-nuts 01:04 -!- ako [~nya@f052122045.adsl.alicedsl.de] has quit [Quit: EXEC_over.METHOD_SUBLIMATION] 01:06 -!- kanru [~kanru@61-30-10-70.static.tfn.net.tw] has quit [Quit: WeeChat 0.3.2] 01:07 -!- BrowserUk [~irc1_20_B@92.15.74.184] has quit [Quit: BrowserUk] 01:07 -!- kanru [~kanru@61-30-10-70.static.tfn.net.tw] has joined #go-nuts 01:08 -!- kanru [~kanru@61-30-10-70.static.tfn.net.tw] has quit [Client Quit] 01:10 -!- kanru [~kanru@61-30-10-70.static.tfn.net.tw] has joined #go-nuts 01:14 -!- kota1111 [~kota1111@gw2.kbmj.jp] has joined #go-nuts 01:18 < Soultaker> jessta: that's a nice article 01:19 < Soultaker> on first sight, the make(*T) syntax actually seems more appealing to me than new(T) 01:19 < Soultaker> (nicer to have one consistently used operators than two that do similar but slightly different things) 01:20 -!- emiel_ [~emiel@c-3d4071d5.610-2-64736c10.cust.bredbandsbolaget.se] has quit [Ping timeout: 248 seconds] 01:26 -!- emiel_ [~emiel@c-3d4071d5.610-2-64736c10.cust.bredbandsbolaget.se] has joined #go-nuts 01:26 -!- mxweas [~max@c-76-103-73-248.hsd1.ca.comcast.net] has joined #go-nuts 01:34 -!- mxweas [~max@c-76-103-73-248.hsd1.ca.comcast.net] has quit [Quit: Mac has gone to sleep] 01:36 -!- kobkrit [~kobkrit@2001:200:141:6151:224:21ff:fe1e:4d16] has quit [Quit: Ex-Chat] 01:37 -!- Boney [~paul@124-168-39-93.dyn.iinet.net.au] has quit [Ping timeout: 240 seconds] 01:39 -!- Ginto8 [~Ginto8@pool-72-82-235-34.cmdnnj.fios.verizon.net] has quit [Ping timeout: 265 seconds] 01:39 -!- Boney [~paul@124-168-54-34.dyn.iinet.net.au] has joined #go-nuts 01:39 -!- mxweas [~max@c-76-103-73-248.hsd1.ca.comcast.net] has joined #go-nuts 01:40 -!- meanburrito920 [~john@unaffiliated/meanburrito920] has quit [Quit: Lost terminal] 02:00 -!- mxweas [~max@c-76-103-73-248.hsd1.ca.comcast.net] has quit [Quit: Mac has gone to sleep] 02:01 -!- Wiz126 [~Wiz126@24.115.240.60.res-cmts.sm.ptd.net] has quit [Ping timeout: 265 seconds] 02:03 -!- werdan7 [~w7@freenode/staff/wikimedia.werdan7] has quit [Ping timeout: 620 seconds] 02:06 -!- Wiz126 [~Wiz126@24.115.240.60.res-cmts.sm.ptd.net] has joined #go-nuts 02:10 -!- werdan7 [~w7@freenode/staff/wikimedia.werdan7] has joined #go-nuts 02:23 -!- Wiz126 [~Wiz126@24.115.240.60.res-cmts.sm.ptd.net] has quit [Ping timeout: 260 seconds] 02:23 -!- anticw [~anticw@cwedgwood.broker.freenet6.net] has quit [Ping timeout: 276 seconds] 02:28 -!- Wiz126 [~Wiz126@24.115.240.60.res-cmts.sm.ptd.net] has joined #go-nuts 02:33 -!- vsayer [~vivek@c-76-103-244-154.hsd1.ca.comcast.net] has quit [Read error: Connection reset by peer] 02:34 -!- vsayer [~vivek@c-76-103-244-154.hsd1.ca.comcast.net] has joined #go-nuts 02:40 -!- mxweas [~max@c-76-103-73-248.hsd1.ca.comcast.net] has joined #go-nuts 02:48 -!- abunner [~abunner@c-71-198-231-134.hsd1.ca.comcast.net] has quit [Quit: abunner] 02:50 -!- ender2070 [~ender2070@74.12.186.122] has joined #go-nuts 02:57 -!- cmpitg [~cmpitg@113.22.60.206] has joined #go-nuts 02:59 -!- zyichi [~zyichi@124.205.180.154] has joined #go-nuts 03:00 -!- ender2070 [~ender2070@74.12.186.122] has quit [Remote host closed the connection] 03:08 -!- vsayer [~vivek@c-76-103-244-154.hsd1.ca.comcast.net] has quit [Read error: Connection reset by peer] 03:09 -!- vsayer [~vivek@c-76-103-244-154.hsd1.ca.comcast.net] has joined #go-nuts 03:14 -!- anticw [~anticw@cwedgwood.broker.freenet6.net] has joined #go-nuts 03:17 -!- mxweas [~max@c-76-103-73-248.hsd1.ca.comcast.net] has quit [Quit: Mac has gone to sleep] 03:26 -!- Chryson [~Chryson@c-71-61-11-114.hsd1.pa.comcast.net] has joined #go-nuts 03:29 -!- rhelmer [~rhelmer@adsl-69-107-89-5.dsl.pltn13.pacbell.net] has quit [Quit: rhelmer] 03:30 -!- rhelmer [~rhelmer@adsl-69-107-89-5.dsl.pltn13.pacbell.net] has joined #go-nuts 03:35 -!- drevell [~d@adsl-76-212-6-10.dsl.pltn13.sbcglobal.net] has quit [Read error: Operation timed out] 03:36 -!- mxweas [~max@c-76-103-73-248.hsd1.ca.comcast.net] has joined #go-nuts 03:41 -!- drevell [~d@adsl-76-212-6-10.dsl.pltn13.sbcglobal.net] has joined #go-nuts 03:48 -!- cmpitg [~cmpitg@113.22.60.206] has quit [Quit: Ex-Chat] 04:03 -!- wkharold [~wkharold@cpe-173-174-49-77.austin.res.rr.com] has left #go-nuts [] 04:22 -!- pmyshkin [~a@unaffiliated/pmyshkin] has joined #go-nuts 04:24 < pmyshkin> hi, newbie here, how do I create an array with a variable length? 04:27 < exch> for automatic resizing, look at the vector package http://golang.org/pkg/container/vector/ 04:29 < pmyshkin> exch, actually I just want to create an array with a variable for the size 04:30 < exch> ah: use a slice then: myarr := make([]byte, 1234) 04:31 < pmyshkin> like "var a [size]int" 04:31 < pmyshkin> okay thanks 04:32 < pmyshkin> another question, if I assign multi-dimensional arrays to each other, will that cause a deep copy? 04:33 < pmyshkin> like "var a[10][10]int; a = b" 04:35 < exch> I'm unsure how that works with arrays. I'm going to guess you'll end up with a full copy of b. So no reference. 04:35 < exch> with slices it's difference because they are just 'windows' into an underlying fixed array 04:35 < exch> *different 04:36 < pmyshkin> right, I guess I'll try it out with a test case 04:37 < exch> just to be clear: var a [12]int <- a is an array. var b []int <- b is a slice to an underlying array 04:37 < pmyshkin> yeah, slices are pretty much pointers with a length right? 04:38 < exch> someting like that, yes. You can't index beyond it's boundaries 04:40 < pmyshkin> it seems like it does do a deep copy 04:46 -!- vsayer [~vivek@c-76-103-244-154.hsd1.ca.comcast.net] has quit [Ping timeout: 265 seconds] 04:58 -!- vsayer [~vivek@c-76-103-244-154.hsd1.ca.comcast.net] has joined #go-nuts 05:01 -!- scm [justme@80.171.71.133] has quit [Ping timeout: 276 seconds] 05:03 -!- scm [justme@80.171.57.77] has joined #go-nuts 05:05 < pmyshkin> is it possible to make the compiler not worry about unused declarations? 05:05 -!- eikenberry [~jae@mail.zhar.net] has quit [Read error: Operation timed out] 05:06 < exch> you assign the unused variable to _ 05:06 < exch> _ = myvar 05:07 < pmyshkin> that doesn't work for import statements though 05:07 < exch> or if you don't need it at all, use _ as the var container to begin with: a, b, _ := foo() <- that will ignore the third value 05:07 < exch> ah no it wont 05:07 < pmyshkin> this is a little annoying as I have to keep adding back fmt whenever I want to print some debug messages 05:10 < Eko> pmyshkin: try the log package 05:10 < exch> 4yea I know. What i do in those cases is add 'var pf = fmt.Printf' somewhere at the top. That way fmt will be used and the compiler stops complaining 05:10 -!- slashus2_ [~slashus2@74-137-77-71.dhcp.insightbb.com] has joined #go-nuts 05:10 < exch> just remember to remove it when you're done debugging 05:11 < Eko> http://golang.org/pkg/log/ has some basic functionality that you can use to do debugging and control what is actually printed 05:11 < pmyshkin> well the compiler will definitely remind me! 05:11 < Eko> indeed, lol 05:11 < pmyshkin> Eko, thanks, I'll take a look 05:12 < Eko> it may not be quite what you're looking for though 05:12 < Eko> I wish it were as robust as the Java Logger class 05:12 < Eko> that's one of the things that I want to write at some point. 05:12 < pmyshkin> I still feel a little weird treating arrays as first class values 05:12 < Eko> me too; I'm so used to C >_< 05:12 < pmyshkin> Eko, I don't need anything fancy at this point 05:12 < pmyshkin> like I'm wondering if == will actually do a element-by-element comparison 05:13 < Eko> well, with the Java Logger class you can send all debug messages to the Logger and then have the Logger send messages through filters to different outputs 05:13 < pmyshkin> or just check reference equality 05:13 < Eko> so all messages can go to file with only warnings and errors to the console, etc 05:13 -!- slashus2 [~slashus2@74-137-24-74.dhcp.insightbb.com] has quit [Ping timeout: 265 seconds] 05:13 < Eko> so when you're done debugging you just change the filter levels and don't need to edit code 05:14 < pmyshkin> Eko, actually what I'm trying to do is to suppress the compiler from complaining about unused declarations 05:14 < Eko> I think it would translate brilliantly with the concept of channels 05:14 < pmyshkin> so it has nothing to do with what I'm outputting myself 05:14 < Eko> pmyshkin: well, the impression I got was that the unused declaration was because you're going back and forth between debugging outputs and not 05:15 < pmyshkin> oh I see 05:15 < pmyshkin> but I don't like to leave debug print statements in the code anyway 05:15 < pmyshkin> they tend to mess up readability 05:16 -!- rhelmer [~rhelmer@adsl-69-107-89-5.dsl.pltn13.pacbell.net] has quit [Ping timeout: 264 seconds] 05:16 < Eko> eh; after awhile, you get used to putting them in sensible places and you format them nicely and make the output concise 05:16 < Eko> it makes development easier and can even help with other people reading or tracing your code 05:17 < Eko> I know it's saved my butt from debugging in the wrong direction countless times ^_^ 05:17 < pmyshkin> I can see that when the project starts to mature, but at this point I'm just trying to figure out stupid mistakes 05:17 < Eko> mhmm. 05:18 < pmyshkin> so the messages would not be generally useful 05:25 < Eko> Does the <- operator work on *chan int as well as chan int? It would seem to from the example code in the tutorial: http://pastebin.com/Kd3DKNcJ 05:27 < jessta> Eko: there is not *chan in that code 05:28 < Eko> oooh, I keep thinking make(T) results in a *T 05:28 < Eko> that's new(T) 05:29 < Eko> My bad ^_^ 05:29 < jessta> indeed, make() is for making things 05:29 < jessta> new() is for allocating memory 05:30 < Eko> what exactly does make() do that's different from just var? does it have internals that reflect on the variable and do special things for each thing that should be make()d? 05:30 < jessta> it's pretty much a constructor for the built in types 05:30 < Eko> I understand the semantics of using it for maps, but I'm a little more blurry on the subject of channels. 05:31 < Eko> if you said var x chan int; that would be a channel that has no connection to anything 05:31 < Eko> ? 05:31 < Eko> so we x := make(chan int); and it actually makes the channel and the connection to it? 05:31 < jessta> var x chan int; would be a chunk of memory on the stack big enough for a channel 05:32 -!- illya77 [~illya77@116-72-133-95.pool.ukrtel.net] has joined #go-nuts 05:33 < jessta> the make() intialises some parts of the channel structure 05:33 < Eko> so using the first one for <-'s would be a Bad Idea(tm) 05:33 < jessta> yep 05:35 < jessta> it's not great but it's easy enough to remember 05:35 < Eko> indeed. 05:38 < Eko> can you only access members of structures through pointers to them? the example I'm reading (I can pastebin it if you want) keeps doing a.field where a is a *structure 05:38 < Eko> IOW, where I am used to seeing a -> in C. 05:39 < jessta> yeah you can 05:39 < jessta> it's no different 05:40 < Eko> so the dot operator works both on structs and pointers to structs? 05:40 < jessta> yeah 05:40 < Eko> interesting. 05:41 < Eko> does it work on pointers to (pointers to)* structs? 05:42 < jessta> no, I don't think it does 05:43 -!- ShadowIce [pyoro@unaffiliated/shadowice-x841044] has joined #go-nuts 05:50 -!- alhoang [~ahoang@cpe-72-225-158-204.nj.res.rr.com] has quit [Quit: alhoang] 06:01 -!- vsayer [~vivek@c-76-103-244-154.hsd1.ca.comcast.net] has quit [Read error: Connection reset by peer] 06:02 -!- vsayer [~vivek@c-76-103-244-154.hsd1.ca.comcast.net] has joined #go-nuts 06:04 -!- kel__ [~kel@cpc2-leat2-0-0-cust98.hers.cable.ntl.com] has joined #go-nuts 06:08 -!- werdan7 [~w7@freenode/staff/wikimedia.werdan7] has quit [Ping timeout: 620 seconds] 06:14 -!- werdan7 [~w7@freenode/staff/wikimedia.werdan7] has joined #go-nuts 06:15 -!- Null-A [~Null-A@c-98-210-102-188.hsd1.ca.comcast.net] has quit [Quit: Null-A] 06:18 < pmyshkin> cannot use &data (type *[20][2]int) as type [][]int in function argument 06:19 < taruti> pmyshkin: use data[0:] 06:19 < exch> a fixed size array is not a slice 06:20 -!- TR2N [email@89.180.157.246] has quit [Ping timeout: 265 seconds] 06:20 < pmyshkin> nn.go:123: cannot use (node SLICEARR) (type [][2]int) as type [][]int in function argument 06:20 < pmyshkin> after I passed in data[0:] 06:20 < pmyshkin> I guess I'm a little confused here 06:20 < exch> cos [2]int is still a fixed size array 06:20 < exch> you are trying to cast it to []int 06:21 < jessta> pmyshkin: a slice isn't the same as an array, which can be a bit confusing 06:22 < pmyshkin> as far as I understand a slice is like a reference to an array, right? 06:22 < jessta> pmyshkin: a slice contains a pointer,a length and a capacity 06:23 < jessta> and yeah, it points to the array 06:23 < pmyshkin> so the [][] can never point to a [m][n]? 06:24 < pmyshkin> because it's a reference to an array of slices? 06:24 < exch> it can point to it, but you can't just assign an array to a slice variable 06:25 < exch> they are two totally independant types 06:25 < pmyshkin> okay, let me try to back up a bit 06:26 < pmyshkin> if I want to write a function that takes a 2 dimensional array with arbitrary lengths in both dimensions, what should the arguments look like? 06:27 < exch> func foo(data [][]int) { ... } 06:27 < pmyshkin> so that's what I have 06:28 < pmyshkin> now I'm trying to pass a [M][N]int matrix into it, how would I do that? 06:29 < kmeyer> [][]int 06:29 < exch> you can't pass it in directly cos the types do not match. You will either have to manually convert [m][n]int to a slice ([][]int), or change the definition of that matrix altogether 06:29 < pmyshkin> okay, I think I get it 06:29 < kmeyer> the type [M][N]int isn't the same as [M+1][N]int 06:29 < kmeyer> but both values can be expressed as [][]int 06:29 -!- vsayer [~vivek@c-76-103-244-154.hsd1.ca.comcast.net] has quit [Read error: Connection reset by peer] 06:30 < kmeyer> if that makes sense 06:30 < exch> so don't create it like [8][8]int, but create it as a slice: a := make([][]int, 8); for i ... { a[i] = make([]int, 8) } 06:30 < pmyshkin> kmeyer, it makes sense, but at the moment I don't think I understand all the ramifications 06:30 -!- vsayer [~vivek@c-76-103-244-154.hsd1.ca.comcast.net] has joined #go-nuts 06:30 < kmeyer> k 06:30 < pmyshkin> exch, thanks, I'll do that 06:31 < exch> takes spome getting used to the idea that slices and arrays are fundamentally different 06:32 < pmyshkin> yeah, I think it's just the syntax that tricked me into thinking things would just work 06:35 < pmyshkin> from what I've seen so far, I'm liking go a lot 06:36 < pmyshkin> I especially like the ability to return multiple values 06:36 < exch> ya it's handy 06:36 < pmyshkin> go almost feels like python 06:37 -!- mxweas [~max@c-76-103-73-248.hsd1.ca.comcast.net] has quit [Quit: Mac has gone to sleep] 06:42 -!- andrewh_ [~andrewh@94-194-56-42.zone8.bethere.co.uk] has quit [Ping timeout: 265 seconds] 06:56 -!- mxweas [~max@c-76-103-73-248.hsd1.ca.comcast.net] has joined #go-nuts 06:57 -!- wrtp [~rog@89.242.170.31] has joined #go-nuts 07:06 -!- ni| [~james@users.vu.union.edu] has quit [Ping timeout: 276 seconds] 07:17 -!- ni| [~james@users.vu.union.edu] has joined #go-nuts 07:32 -!- pmyshkin [~a@unaffiliated/pmyshkin] has quit [Quit: pmyshkin] 07:33 -!- napsy [~luka@88.200.96.14] has joined #go-nuts 07:42 -!- slashus2_ [~slashus2@74-137-24-74.dhcp.insightbb.com] has joined #go-nuts 07:45 -!- slashus2 [~slashus2@74-137-77-71.dhcp.insightbb.com] has quit [Ping timeout: 265 seconds] 07:51 -!- slashus2 [~slashus2@74-137-24-74.dhcp.insightbb.com] has quit [Quit: slashus2] 07:52 < Eko> Is it possible to (as in Java) determine the calling function's name through reflections? 07:54 < taruti> Eko: see runtime.Callers 07:56 < Eko> brilliant! thanks taruti. 07:58 -!- Discoloda [~vincent@adsl-75-37-71-165.dsl.frs2ca.sbcglobal.net] has quit [Remote host closed the connection] 07:59 -!- General13372 [~support@71-84-50-230.dhcp.mtpk.ca.charter.com] has joined #go-nuts 08:00 -!- ktg1 [~idr@e179150035.adsl.alicedsl.de] has joined #go-nuts 08:03 -!- General1337 [~support@71-84-50-230.dhcp.mtpk.ca.charter.com] has quit [Ping timeout: 252 seconds] 08:16 -!- Project_2501 [~Marvin@82.84.74.54] has joined #go-nuts 08:18 -!- path[l] [UPP@120.138.102.34] has quit [Quit: path[l]] 08:21 -!- vsayer [~vivek@c-76-103-244-154.hsd1.ca.comcast.net] has quit [Read error: Connection reset by peer] 08:22 -!- vsayer [~vivek@c-76-103-244-154.hsd1.ca.comcast.net] has joined #go-nuts 08:24 -!- rlab [~Miranda@91.200.158.34] has joined #go-nuts 08:27 -!- mxweas [~max@c-76-103-73-248.hsd1.ca.comcast.net] has quit [Quit: Mac has gone to sleep] 08:30 -!- Boney_ [~paul@124-168-74-61.dyn.iinet.net.au] has joined #go-nuts 08:32 -!- Boney [~paul@124-168-54-34.dyn.iinet.net.au] has quit [Ping timeout: 245 seconds] 08:33 -!- mxweas [~max@c-76-103-73-248.hsd1.ca.comcast.net] has joined #go-nuts 08:33 < Eko> is != nil a proper nil-check? 08:34 -!- vsayer [~vivek@c-76-103-244-154.hsd1.ca.comcast.net] has quit [Ping timeout: 252 seconds] 08:40 -!- rlab [~Miranda@91.200.158.34] has quit [Read error: Connection reset by peer] 08:46 -!- rlab [~Miranda@91.200.158.34] has joined #go-nuts 08:47 -!- path[l] [~path@59.162.86.164] has joined #go-nuts 08:48 -!- path[l]_ [~path@59.162.86.164] has joined #go-nuts 08:48 -!- path[l] [~path@59.162.86.164] has quit [Read error: Connection reset by peer] 08:48 -!- path[l] [~path@59.162.86.164] has quit [Client Quit] 08:49 -!- path[l] [~path@59.162.86.164] has joined #go-nuts 08:49 -!- OpenSpace [~ja@93.86.64.44] has quit [Ping timeout: 265 seconds] 08:50 -!- path[l] [~path@59.162.86.164] has quit [Remote host closed the connection] 08:50 -!- path[l] [~path@59.162.86.164] has joined #go-nuts 08:51 -!- path[l] [~path@59.162.86.164] has quit [Read error: Connection reset by peer] 08:51 -!- path[l] [~path@59.162.86.164] has joined #go-nuts 08:55 -!- illya77 [~illya77@116-72-133-95.pool.ukrtel.net] has quit [Read error: Connection reset by peer] 09:03 -!- photron [~photron@port-92-201-4-198.dynamic.qsc.de] has joined #go-nuts 09:03 -!- OpenSpace [~ja@79.101.234.7] has joined #go-nuts 09:04 -!- Gracenotes [~person@wikipedia/Gracenotes] has quit [Remote host closed the connection] 09:04 -!- g0bl1n [~anonymous@a213-22-77-195.cpe.netcabo.pt] has joined #go-nuts 09:08 -!- Ideal [~Ideal@ideal-1-pt.tunnel.tserv6.fra1.ipv6.he.net] has joined #go-nuts 09:13 -!- Gracenotes [~person@wikipedia/Gracenotes] has joined #go-nuts 09:21 -!- mxweas [~max@c-76-103-73-248.hsd1.ca.comcast.net] has quit [Quit: mxweas] 09:26 -!- surma [~surma@91-64-31-242-dynip.superkabel.de] has joined #go-nuts 09:27 -!- kanru [~kanru@61-30-10-70.static.tfn.net.tw] has quit [Ping timeout: 276 seconds] 09:29 -!- kanru [~kanru@61-30-10-70.static.tfn.net.tw] has joined #go-nuts 09:34 -!- noam__ [~noam@77.127.205.252] has quit [Read error: Connection reset by peer] 09:34 -!- noam__ [~noam@77.127.205.252] has joined #go-nuts 09:39 -!- Boney_ [~paul@124-168-74-61.dyn.iinet.net.au] has quit [Ping timeout: 240 seconds] 09:42 -!- Boney [~paul@124-168-69-152.dyn.iinet.net.au] has joined #go-nuts 09:47 -!- Boney_ [~paul@124-168-17-108.dyn.iinet.net.au] has joined #go-nuts 09:47 -!- Boney [~paul@124-168-69-152.dyn.iinet.net.au] has quit [Ping timeout: 240 seconds] 09:49 -!- OpenSpace [~ja@79.101.234.7] has quit [Ping timeout: 265 seconds] 09:50 -!- Svarthandske [~nn@dsl-tkubrasgw1-fe3cdc00-28.dhcp.inet.fi] has joined #go-nuts 10:03 -!- Xera` [~brit@87-194-208-246.bethere.co.uk] has joined #go-nuts 10:05 -!- path[l] [~path@59.162.86.164] has quit [Quit: path[l]] 10:06 -!- Xera^ [~brit@87-194-208-246.bethere.co.uk] has quit [Ping timeout: 272 seconds] 10:06 -!- path[l] [~path@59.162.86.164] has joined #go-nuts 10:06 -!- OpenSpace [~ja@77.46.254.5] has joined #go-nuts 10:07 -!- ikaros [~ikaros@g226155063.adsl.alicedsl.de] has joined #go-nuts 10:08 -!- cco3-hampster [~conleyo@nat/google/x-udxkmobbrcaaojsk] has quit [Ping timeout: 248 seconds] 10:08 -!- cco3-hampster [~conleyo@nat/google/x-glkjqfdksbvlkpxd] has joined #go-nuts 10:16 -!- bmizerany [~bmizerany@c-24-6-37-113.hsd1.ca.comcast.net] has quit [Quit: Leaving...] 10:20 -!- Gracenotes [~person@wikipedia/Gracenotes] has quit [Read error: Connection reset by peer] 10:28 < wrtp> Eko: what do you mean by a "proper nil-check"? 10:28 -!- zyichi [~zyichi@124.205.180.154] has quit [Ping timeout: 258 seconds] 10:34 < jessta> Eko: are you refering to the issue of nil values wrapped in non-nil interfaces? 10:35 -!- vsayer [~vivek@c-76-103-244-154.hsd1.ca.comcast.net] has joined #go-nuts 10:39 -!- marsu [~marsu@93.11.242.116] has joined #go-nuts 10:52 -!- BrowserUk [~irc1_20_B@92.15.74.184] has joined #go-nuts 10:55 -!- ikke [~ikkibr@189.58.213.47.dynamic.adsl.gvt.net.br] has joined #go-nuts 10:55 -!- ikke [~ikkibr@189.58.213.47.dynamic.adsl.gvt.net.br] has quit [Changing host] 10:55 -!- ikke [~ikkibr@unaffiliated/ikkebr] has joined #go-nuts 11:00 -!- Boney [~paul@124-168-88-92.dyn.iinet.net.au] has joined #go-nuts 11:01 -!- vsayer [~vivek@c-76-103-244-154.hsd1.ca.comcast.net] has quit [Read error: Connection reset by peer] 11:01 -!- vsayer [~vivek@c-76-103-244-154.hsd1.ca.comcast.net] has joined #go-nuts 11:01 -!- Boney_ [~paul@124-168-17-108.dyn.iinet.net.au] has quit [Ping timeout: 240 seconds] 11:03 -!- ktg1 [~idr@e179150035.adsl.alicedsl.de] has quit [Remote host closed the connection] 11:11 -!- i__ [~none@unaffiliated/i--/x-3618442] has joined #go-nuts 11:16 -!- rlab [~Miranda@91.200.158.34] has quit [Quit: Miranda IM! Smaller, Faster, Easier. http://miranda-im.org] 11:19 -!- rlab [~Miranda@91.200.158.34] has joined #go-nuts 11:22 -!- MizardX [~MizardX@unaffiliated/mizardx] has joined #go-nuts 11:22 -!- nighty^ [~nighty@x122091.ppp.asahi-net.or.jp] has joined #go-nuts 11:23 -!- Gracenotes [~person@wikipedia/Gracenotes] has joined #go-nuts 11:23 -!- General13372 [~support@71-84-50-230.dhcp.mtpk.ca.charter.com] has quit [Ping timeout: 265 seconds] 11:24 -!- General1337 [~support@71-84-50-230.dhcp.mtpk.ca.charter.com] has joined #go-nuts 11:34 * BrowserUk thinks there are some very interesting and clever details tacked away in the Go language spec that hardly rate a mention anywhere else I've seen. The special case under "Calls" is one such. 11:38 -!- napsy [~luka@88.200.96.14] has quit [Ping timeout: 260 seconds] 11:38 -!- mertimor [~mertimor@p4FE75BA7.dip.t-dialin.net] has joined #go-nuts 11:41 -!- napsy [~luka@88.200.96.14] has joined #go-nuts 11:49 -!- kanru [~kanru@61-30-10-70.static.tfn.net.tw] has quit [Quit: WeeChat 0.3.2] 11:53 -!- vsayer [~vivek@c-76-103-244-154.hsd1.ca.comcast.net] has quit [Read error: Connection reset by peer] 11:53 -!- vsayer [~vivek@c-76-103-244-154.hsd1.ca.comcast.net] has joined #go-nuts 11:55 -!- norayr [~d4494a1c@gateway/web/freenode/x-spxxiutzasfjtgoy] has joined #go-nuts 11:57 -!- vsayer [~vivek@c-76-103-244-154.hsd1.ca.comcast.net] has quit [Read error: Connection reset by peer] 11:57 -!- vsayer [~vivek@c-76-103-244-154.hsd1.ca.comcast.net] has joined #go-nuts 12:03 < jessta> BrowserUk: wow, that's interesting 12:03 < jessta> I'll remember that 12:03 < jessta> anyway,bed time for me 12:04 -!- noam__ [~noam@77.127.205.252] has quit [Read error: Connection reset by peer] 12:05 -!- noam__ [~noam@77.127.205.252] has joined #go-nuts 12:06 -!- crashR [~crasher@codextreme.pck.nerim.net] has joined #go-nuts 12:12 -!- General1337 [~support@71-84-50-230.dhcp.mtpk.ca.charter.com] has quit [Read error: Connection reset by peer] 12:14 -!- Netsplit *.net <-> *.split quits: jimi_hendrix, scm, SecretAgent, ThunderChicken, nsz, Project_2501, segy, daowee_, Yoda-BZH, Chryson, (+163 more, use /NETSPLIT to show all of them) 12:15 -!- zozoR [~zozoR@0x5da69cf2.cpe.ge-0-1-0-1105.hsnqu1.customer.tele.dk] has joined #go-nuts 12:15 -!- General1337 [~support@71-84-50-230.dhcp.mtpk.ca.charter.com] has joined #go-nuts 12:16 -!- Netsplit over, joins: Gracenotes, stalled, path[l], tsung, SRabbelier, krejler, Fish-Work, soul9, mjf-, wrtp (+163 more) 12:18 -!- Boney_ [~paul@210-84-58-91.dyn.iinet.net.au] has joined #go-nuts 12:21 -!- Boney [~paul@124-168-88-92.dyn.iinet.net.au] has quit [Ping timeout: 276 seconds] 12:22 -!- sladegen [~nemo@unaffiliated/sladegen] has quit [Disconnected by services] 12:22 -!- sladegen [~nemo@unaffiliated/sladegen] has joined #go-nuts 12:30 -!- Wiz126 [~Wiz126@24.115.240.60.res-cmts.sm.ptd.net] has quit [Ping timeout: 260 seconds] 12:31 -!- Wiz126 [~Wiz126@24.115.240.60.res-cmts.sm.ptd.net] has joined #go-nuts 12:33 -!- vsayer [~vivek@c-76-103-244-154.hsd1.ca.comcast.net] has quit [Read error: Connection reset by peer] 12:33 -!- vsayer [~vivek@c-76-103-244-154.hsd1.ca.comcast.net] has joined #go-nuts 12:35 -!- zyichi [~zyichi@124.205.180.154] has joined #go-nuts 12:42 -!- alehorst [~alehorst@187.59.66.96] has joined #go-nuts 12:48 -!- path[l] [~path@59.162.86.164] has quit [Quit: path[l]] 12:49 -!- eikenberry [~jae@mail.zhar.net] has joined #go-nuts 12:51 < wrtp> BrowserUk: i'd forgotten about the ... case. useful in fmt.Println(anyfunctioncall())... 12:51 -!- lmoura [~lauromour@200.184.118.130] has joined #go-nuts 12:53 -!- scarabx [~scarabx@c-76-19-43-200.hsd1.ma.comcast.net] has joined #go-nuts 13:02 -!- kota1111 [~kota1111@gw2.kbmj.jp] has quit [Quit: Leaving...] 13:02 -!- skelterjohn [~jasmuth@c-76-99-92-14.hsd1.nj.comcast.net] has joined #go-nuts 13:07 -!- abunner [~abunner@c-71-198-231-134.hsd1.ca.comcast.net] has joined #go-nuts 13:20 -!- Joelmob [~Joelmob@s83-179-10-115.cust.tele2.se] has joined #go-nuts 13:20 -!- skelterjohn [~jasmuth@c-76-99-92-14.hsd1.nj.comcast.net] has quit [Quit: skelterjohn] 13:21 -!- scarabx [~scarabx@c-76-19-43-200.hsd1.ma.comcast.net] has quit [Quit: This computer has gone to sleep] 13:22 -!- Joelmob [~Joelmob@s83-179-10-115.cust.tele2.se] has left #go-nuts [] 13:24 -!- zyichi [~zyichi@124.205.180.154] has quit [Quit: zyichi] 13:25 -!- vdrab [~vdrab@cap005-221.kcn.ne.jp] has joined #go-nuts 13:26 -!- cco3 [~conley@modemcable227.50-70-69.static.videotron.ca] has joined #go-nuts 13:31 -!- awidegreen [~quassel@62.176.237.78] has joined #go-nuts 13:31 -!- path[l] [~path@59.162.86.164] has joined #go-nuts 13:35 -!- gospch [~gospch@unaffiliated/gospch] has joined #go-nuts 13:36 -!- gospch [~gospch@unaffiliated/gospch] has quit [Remote host closed the connection] 13:36 -!- skelterjohn [~jasmuth@c-76-99-92-14.hsd1.nj.comcast.net] has joined #go-nuts 13:36 -!- norayr [~d4494a1c@gateway/web/freenode/x-spxxiutzasfjtgoy] has quit [Ping timeout: 252 seconds] 13:39 -!- dju [dju@fsf/member/dju] has quit [Quit: Quitte] 13:42 -!- skelterjohn [~jasmuth@c-76-99-92-14.hsd1.nj.comcast.net] has quit [Quit: skelterjohn] 13:46 -!- napsy [~luka@88.200.96.14] has quit [Ping timeout: 240 seconds] 13:52 < BrowserUk> wrtp: Indeed. There are 3 special cases in 3 consecutive sections:"Type assertions", "Calls" & "Passing arguments to ... parameters" that have the potential to combine to solve my problem. I'm already able to define a function that I can call passing any other function plus that passed functions parameters; the remaining challenge is to be able to invoke the passed function with those passed parameters without having to have a combinatorial 13:52 < BrowserUk> explosion of type switches to deal with all the possible variations. 13:53 -!- marsu [~marsu@93.11.242.116] has quit [Ping timeout: 265 seconds] 13:54 < wrtp> i'm not sure how those special cases help you there 13:54 < wrtp> can't you just use reflect? 13:55 < wrtp> BrowserUk: what's the problem you're trying to solve? 13:58 -!- ktg1 [~idr@e179153024.adsl.alicedsl.de] has joined #go-nuts 14:00 -!- ktg1 [~idr@e179153024.adsl.alicedsl.de] has quit [Remote host closed the connection] 14:01 -!- slashus2 [~slashus2@74-137-24-74.dhcp.insightbb.com] has joined #go-nuts 14:02 -!- ktg1 [~idr@e179153024.adsl.alicedsl.de] has joined #go-nuts 14:02 -!- ktg1 [~idr@e179153024.adsl.alicedsl.de] has quit [Remote host closed the connection] 14:03 -!- crashR [~crasher@codextreme.pck.nerim.net] has quit [Quit: Leaving.] 14:05 -!- abunner [~abunner@c-71-198-231-134.hsd1.ca.comcast.net] has quit [Quit: abunner] 14:07 * wrtp loves to find a nice meaty compiler bug 14:16 -!- ShadowIce` [pyoro@p4FF16AEF.dip.t-dialin.net] has joined #go-nuts 14:16 -!- ShadowIce` [pyoro@p4FF16AEF.dip.t-dialin.net] has quit [Changing host] 14:16 -!- ShadowIce` [pyoro@unaffiliated/shadowice-x841044] has joined #go-nuts 14:18 -!- marsu [~marsu@93.11.242.116] has joined #go-nuts 14:20 -!- ShadowIce [pyoro@unaffiliated/shadowice-x841044] has quit [Ping timeout: 248 seconds] 14:31 -!- napsy [~luka@88.200.96.14] has joined #go-nuts 14:36 -!- aho [~nya@f051120174.adsl.alicedsl.de] has joined #go-nuts 14:41 -!- vsayer [~vivek@c-76-103-244-154.hsd1.ca.comcast.net] has quit [Read error: Connection reset by peer] 14:42 -!- vsayer [~vivek@c-76-103-244-154.hsd1.ca.comcast.net] has joined #go-nuts 14:43 < BrowserUk> wrtp: Basically, a generic version of http://pastie.org/974617 14:46 < BrowserUk> fibonacci is not a good use because it is better optimised by memoisation or just iteration; but the principle holds. To be able to parallelise a divide&conquer recursive algorithm. 14:47 < BrowserUk> But in a generic way. 14:49 < wrtp> BrowserUk: if your aim is performance, it's almost never worth spawning off goroutines recursively. 14:50 -!- vsayer [~vivek@c-76-103-244-154.hsd1.ca.comcast.net] has quit [Read error: Connection reset by peer] 14:50 < emiel_> . 14:51 -!- vsayer [~vivek@c-76-103-244-154.hsd1.ca.comcast.net] has joined #go-nuts 14:51 -!- rv2733 [~rv2733@c-98-242-168-49.hsd1.fl.comcast.net] has joined #go-nuts 14:52 -!- skelterjohn [~jasmuth@lawn-net168-in.rutgers.edu] has joined #go-nuts 14:53 -!- skelterjohn [~jasmuth@lawn-net168-in.rutgers.edu] has quit [Client Quit] 14:53 -!- ampleyfly [~ampleyfly@h-148-139.A163.priv.bahnhof.se] has quit [Ping timeout: 260 seconds] 14:53 -!- deso [~deso@x0561a.wh30.tu-dresden.de] has joined #go-nuts 14:54 -!- Kai` [~kmallea@mmossl.mmo.com] has joined #go-nuts 14:55 -!- SRabbelier [~SRabbelie@ip138-114-211-87.adsl2.static.versatel.nl] has quit [Excess Flood] 14:55 -!- SRabbelier [~SRabbelie@ip138-114-211-87.adsl2.static.versatel.nl] has joined #go-nuts 14:57 -!- ktg1 [~idr@g225100064.adsl.alicedsl.de] has joined #go-nuts 14:58 -!- OpenSpace [~ja@77.46.254.5] has quit [Ping timeout: 240 seconds] 15:03 < BrowserUk> wrtp: If you look carefully at the paste, you'll see that I'm only threading at the top level. Normal recursion is used below that. Consider doing matmult on large matrixes. There are recursive algorithms that subdivide the data space into 4 at each level of recursion. If the top split can be threaded, you get close to 1/4 of the time on a 4 core system. 15:05 -!- Sadjow [~aedef@200.137.1.108] has joined #go-nuts 15:05 -!- marsu [~marsu@93.11.242.116] has quit [Ping timeout: 276 seconds] 15:11 < wrtp> BrowserUk: so how do you envisage that you'd use your generic parallelisation code? 15:12 -!- ampleyfly [~ampleyfly@h-149-63.A163.priv.bahnhof.se] has joined #go-nuts 15:12 < jessta> I really love the ordering of the name and type in variable delcarations, it reads really well 15:12 -!- OpenSpace [~ja@109.92.194.181] has joined #go-nuts 15:19 -!- SecretofMana [~mana@142.46.164.30] has joined #go-nuts 15:22 -!- Sadjow [~aedef@200.137.1.108] has quit [Quit: »¡« Scøøp Script 2004 »!« não veja mais o irc em preto e branco! (www.scoop.com.br) ] 15:24 -!- g0bl1n [~anonymous@a213-22-77-195.cpe.netcabo.pt] has quit [Quit: g0bl1n] 15:25 -!- g0bl1n [~anonymous@a213-22-77-195.cpe.netcabo.pt] has joined #go-nuts 15:26 -!- g0bl1n [~anonymous@a213-22-77-195.cpe.netcabo.pt] has quit [Client Quit] 15:31 -!- Kai` [~kmallea@mmossl.mmo.com] has left #go-nuts [] 15:33 -!- Venom_X [~pjacobs@71.20.102.220] has joined #go-nuts 15:37 < mpl> jessta: every time I try a bit of Go, it's after writing some C, so I'm having a hard time with that so far. not saying it's not a good thing, just saying it's confusing when you're not doing mainly Go imho. 15:44 < jessta> mpl: I keep putting brackets around my for and if statements 15:45 < jessta> and semicolons keep appearing 15:45 < jessta> I think it's good, it makes go more distinct from C 15:46 -!- Boney_ [~paul@210-84-58-91.dyn.iinet.net.au] has quit [Ping timeout: 264 seconds] 15:47 < jessta> my brain should eventually figure out that they are differnet 15:47 < jessta> or it might be part of the plan, i.e "once to go Go, you can never go back" 15:48 < mpl> yeah well, as good as Go may be, C is not yet burried. 15:48 < jessta> COBOL is not yet burried 15:49 < mpl> hmm I'd say the difference is ppl still write COBOL because they have not chance, just for maintaining old stuff. C still has a purpose other than that... 15:49 < emiel_> no, but once you leave it, you never go back ;) 15:49 < mpl> s/not chance/no choice/ 15:56 -!- Discoloda [~vincent@adsl-75-37-71-165.dsl.frs2ca.sbcglobal.net] has joined #go-nuts 15:57 -!- Shyde [~Shyde^^@HSI-KBW-078-043-070-132.hsi4.kabel-badenwuerttemberg.de] has joined #go-nuts 15:59 -!- Discoloda [~vincent@adsl-75-37-71-165.dsl.frs2ca.sbcglobal.net] has quit [Remote host closed the connection] 16:09 -!- ayo [~nya@g226210205.adsl.alicedsl.de] has joined #go-nuts 16:10 < BrowserUk> wrtp: Here's a real-life example of a recursive fuzzy search/scoring algorithm (in C) that benefited from having a top-level split across multiple cores. It was an absolute pain to thread. I've coded many similar algorithms, especially GA stuff associated with genome processing that can similarly benefit. But it is a pain every time. Go has the potential to move much of the donkey work for these things under the covers. And when I'm exploring a 16:10 < BrowserUk> new language, rather than just translate old-lang to new-lang over and over, I try to pick something that I know was a pain in the old language(s) and see if the new one offers better solutions. It forces me to explore the edges and get a quicker appreciation of what is possible. I do have a long-standing back-burner project that I'm considering go for; but at the moment I'm trying to get a feel for what it can and can't do. 16:11 < BrowserUk> wrtp: The example: http://pastie.org/974716 16:11 -!- aho [~nya@f051120174.adsl.alicedsl.de] has quit [Disconnected by services] 16:11 -!- vsayer [~vivek@c-76-103-244-154.hsd1.ca.comcast.net] has quit [Read error: Connection reset by peer] 16:11 -!- g0bl1n [~anonymous@a213-22-77-195.cpe.netcabo.pt] has joined #go-nuts 16:12 -!- vsayer [~vivek@c-76-103-244-154.hsd1.ca.comcast.net] has joined #go-nuts 16:14 -!- jessta [~jessta@li7-205.members.linode.com] has quit [Ping timeout: 265 seconds] 16:16 < wrtp> BrowserUk: i presume the recursion tree is unpredictably shaped 16:17 -!- illya77 [~illya77@213-143-112-92.pool.ukrtel.net] has joined #go-nuts 16:18 < wrtp> BrowserUk: rather than have a generic algorithm, maybe all you need is a token pool. each token in the pool represents an unused processor. when you're about to recurse, try to take a token from the pool. if you succeed, start a new goroutine to do the work. if not, just recurse as normal. 16:19 -!- jessta [~jessta@li7-205.members.linode.com] has joined #go-nuts 16:21 -!- skelterjohn [~jasmuth@lawn-net168-in.rutgers.edu] has joined #go-nuts 16:26 < wrtp> BrowserUk: something like this, perhaps: http://pastie.org/974742 16:27 < BrowserUk> wrtp: certainly for the generic solution, you cannot make assumptions about the number of processors available; nor the best way to divide the recursion...and I really like the processor token idea :) 16:29 < kimelto> morning! 16:30 < wrtp> BrowserUK: a buffered channel works really well for that kind of thing. you can store useful information in the tokens too if you like. 16:30 -!- Leon9 [~leon@189.224.119.97] has quit [Quit: leaving] 16:31 -!- vsayer [~vivek@c-76-103-244-154.hsd1.ca.comcast.net] has quit [Read error: Connection reset by peer] 16:31 < wrtp> BrowserUk: note the way that i avoided the need to use any generic stuff by just using a simple func(). if you wanted to get the result of the function, that'd be easy too. 16:36 -!- napsy [~luka@88.200.96.14] has quit [Ping timeout: 265 seconds] 16:38 -!- dju [dju@fsf/member/dju] has joined #go-nuts 16:38 < BrowserUk> wrtp: I have much to learn about the best way to use go features. I've previously had some good experiences of use promises (futures) in Oz (there called dataflow varables), for this kind of thing, and the fib paste was an attempt to code them in go. (I still like the idea of wrapping go's channels in a way that makes them slightly more transparent to use.) 16:38 -!- Venom_X [~pjacobs@71.20.102.220] has quit [Ping timeout: 240 seconds] 16:39 -!- dju [dju@fsf/member/dju] has quit [Max SendQ exceeded] 16:40 -!- dju [dju@fsf/member/dju] has joined #go-nuts 16:40 < wrtp> BrowserUk: you can't really make them much transparent because you can't select on a function call 16:41 -!- TR2N [email@89-180-188-173.net.novis.pt] has joined #go-nuts 16:42 < wrtp> s/much/much more/ 16:43 < BrowserUk> Select as in select{ case ... 16:44 -!- g0bl1n [~anonymous@a213-22-77-195.cpe.netcabo.pt] has quit [Quit: g0bl1n] 16:46 -!- mertimor [~mertimor@p4FE75BA7.dip.t-dialin.net] has quit [Quit: mertimor] 16:47 -!- napsy [~luka@88.200.96.14] has joined #go-nuts 16:50 -!- vsayer [~vivek@c-76-103-244-154.hsd1.ca.comcast.net] has joined #go-nuts 16:52 < wrtp> BrowserUk: yup 16:55 < BrowserUk> wrtp: Essentially what I was trying (perhaps naively and hopelessly) was something like var promise = go func( ... ); where promise gets the type & value of the return(s) of func( ... ) at some point in the future. And will block until they are available, if they aren't when you try to /use/ promise. That can all be done explicitly, on a case-by-case basis, using channels; but I thought (think?) I saw a way to simplify it. (Note: I wouldn't want 16:55 < BrowserUk> to change channels as they currently exist; just add promises (that (perhaps) use channels under the covers.)) 16:56 -!- path[l] [~path@59.162.86.164] has quit [Quit: path[l]] 16:58 < Namegduf> BrowserUk: That's not hard... 16:58 < wrtp> it is 16:58 < wrtp> because no generics 16:59 < Namegduf> You create a channel and pass it to the goroutine, then read from it into the variable directly before you need to use the variable. 17:00 < wrtp> you can do it, but you need to do it explicitly each time. or use a dynamic type convesion. 17:00 -!- path[l] [~path@59.162.86.164] has joined #go-nuts 17:00 < Namegduf> I don't really see what you mean, wrtp. 17:00 -!- path[l] [~path@59.162.86.164] has quit [Client Quit] 17:00 < Namegduf> "promise" has to have a type, the channel also having to have a matching type doesn't add any further constraints. 17:00 < wrtp> but the thing is, if you had a thing that gave you a promise, you'd want a way to wait for several promises at once... 17:01 < Namegduf> If you want to wait for the first promise to arrive and act immediately, use select 17:01 < Namegduf> If you want to wait for them all, you can just read from them sequentially 17:02 < Namegduf> And you'll get through the whole block of reads as soon as, but only after, each of the channels has had a "return" value sent down it 17:02 < wrtp> Namegduf: i mean you couldn't have a function like: x := promise(somefunc, a, b, c) and have the type of x match the return type of somefunc 17:02 < Namegduf> No, you can't, but that's not "generic". 17:03 < Namegduf> x has a compiletime type, it's just specified by the return type of "promise" 17:03 < wrtp> Namegduf: yes - but you're just talking about channels there. BrowserUk was talking about something that looks just like a value but blocks until the value is actually available 17:03 < wrtp> Namegduf: yeah, so it's gonna be interface{} 17:03 < Namegduf> I'm not sure that's actually sensible to implement, or useful 17:03 < Namegduf> In the sense that I'm not sure you COULD implement it. 17:04 < Namegduf> You'd need to... what, wrap it in a mutex under the covers and have a "set by goroutine" bit attached? 17:04 < Namegduf> Sounds like a slow and ugly attempt to do behaviour which "isn't how computers work" to me. 17:05 -!- allengeorge [~allengeor@74.12.152.111] has quit [Quit: Leaving] 17:05 -!- Venom_X [~pjacobs@adsl-99-20-147-171.dsl.aus2tx.sbcglobal.net] has joined #go-nuts 17:05 -!- allengeorge [~allengeor@74.12.152.111] has joined #go-nuts 17:05 < Namegduf> I don't understand why you can't just have the goroutine provide its result on a channel, and read it from the channel right before you need to use it. It's an equivalent construct with slightly more typing, but much simpler to understand semantics. 17:06 < plexdev> http://is.gd/cnmYk by [Andrew Gerrand] in go/src/pkg/syscall/ -- syscall: update freebsd_amd64 17:07 < BrowserUk> Namegduf I don't understand ...true 17:08 < Namegduf> BrowserUk: I totally understand the idea you outlined. If that's not really what you're thinking or you're thinking of additional semantics, then that would be your mistake, not mine. 17:08 < Namegduf> Can you just write up an outline for what you want, as usual lacking any idea how it actually contributes to real software or is even feasible to implement, and send it to the mailing list where it can be summarily ignored, like everyone else with whack ideas? 17:10 < Namegduf> It sounds like the idea basically boils down to "I want to write parallelized code like non-parallelized code and have the compiler automagically synchronise everything so I can treat them like non-parallel functions and have the difference made up before I use them" 17:15 < BrowserUk> Namegduf. Take a look at (No. *read*) http://en.wikipedia.org/wiki/Promise_(programming). Then take a look at Mozart/OZ and the way they use dataflow variables. And then realise that just because your personal experience is limited, it doesn't make everything that you haven't heard of and don't understand a "whack idea". And if you are the arbiter of what may or may not be discussed here, then kick me. If not, just put me on ignore then you won't 17:15 < BrowserUk> have to suffer my "whack ideas". 17:18 < Namegduf> BrowserUk: "Let's use a synchronisation model different to the communication-based one just because" counts as a "whack idea" in Go, much like everyone who continually requests Python-like behaviour for no reason at all (or, worse, Ruby). 17:20 < BrowserUk> Namegduf: That you think promises are "a synchronisation model different to the communication-based one", just conforms your earlier truism. 17:22 < emiel_> hmm, there is no way to peek in a (TCP)Conn's read buffer to see whether a call to .Read() might be nonblocking? 17:24 -!- Xera` [~brit@87-194-208-246.bethere.co.uk] has quit [Read error: Connection reset by peer] 17:26 -!- cmarcelo [~cmarcelo@200.184.118.130] has joined #go-nuts 17:26 -!- cmarcelo [~cmarcelo@200.184.118.130] has quit [Changing host] 17:26 -!- cmarcelo [~cmarcelo@enlightenment/developer/cmarcelo] has joined #go-nuts 17:27 -!- General13372 [~support@71-84-50-230.dhcp.mtpk.ca.charter.com] has joined #go-nuts 17:29 < emiel_> or, what i actually need, there's no way to select { ... } between go input channels and a net.Conn's input stream? 17:30 <+iant> emiel_: no, you need to have a goroutine which reads the net.Conn and writes to a channel 17:30 < emiel_> hm, figured 17:30 -!- General1337 [~support@71-84-50-230.dhcp.mtpk.ca.charter.com] has quit [Ping timeout: 265 seconds] 17:30 < emiel_> wouldn't this be something for in the net pkg? 17:31 <+iant> seems reasonable to me 17:31 -!- vsayer [~vivek@c-76-103-244-154.hsd1.ca.comcast.net] has quit [Ping timeout: 240 seconds] 17:42 < emiel_> hm, it would seem to be pushing around a lot of bytes though 17:43 -!- Chryson [~Chryson@c-71-61-11-114.hsd1.pa.comcast.net] has quit [Quit: Leaving] 17:43 < kmeyer> I think maybe a chan of []byte would be more useful than a chan of byte 17:44 -!- diegovio1a [~diego@adsl-143-18.click.com.py] has joined #go-nuts 17:44 < emiel_> yes, but doesn't .Read block till it fills its buffer? 17:45 -!- Eridius [~kevin@unaffiliated/eridius] has joined #go-nuts 17:45 -!- vsayer [~vivek@c-76-103-244-154.hsd1.ca.comcast.net] has joined #go-nuts 17:45 -!- kashia_ [~Kashia@p4FEB6C5C.dip.t-dialin.net] has joined #go-nuts 17:45 -!- robot12 [~robot12@inferno.kgts.ru] has joined #go-nuts 17:48 < emiel_> ah, it does not i think, which makes it possible to send everything that comes in to a chan []byte, yes. But it will then take some juggling at the receiver's end, although probably not more than when correctly implementing with .Read 17:48 -!- Kashia [~Kashia@p4FEB6E3F.dip.t-dialin.net] has quit [Ping timeout: 245 seconds] 17:48 < kmeyer> emiel_: I think the reader interface returns as soon as it gets some bytes 17:49 < kmeyer> bufio.Reader tries to fill the buffer, though 17:50 < emiel_> i see 17:51 -!- illya77 [~illya77@213-143-112-92.pool.ukrtel.net] has quit [Read error: Connection reset by peer] 17:54 -!- path[l] [UPP@120.138.102.34] has joined #go-nuts 17:55 < emiel_> but using channels would prevent me from using bufio.Reader, since there is no mechanism to use a chan<- []byte as io.Reader 18:00 < kmeyer> but it'd be pretty trivial to do :) 18:03 -!- Xurix [~Luixsia@AToulouse-254-1-27-90.w81-250.abo.wanadoo.fr] has quit [Remote host closed the connection] 18:03 -!- marsu [~marsu@93.11.242.116] has joined #go-nuts 18:07 -!- Agon-laptop [~marcel@HSI-KBW-095-208-003-128.hsi5.kabel-badenwuerttemberg.de] has joined #go-nuts 18:10 -!- diegovio1a [~diego@adsl-143-18.click.com.py] has left #go-nuts [] 18:10 -!- diegoviola [~diego@adsl-143-18.click.com.py] has joined #go-nuts 18:10 < diegoviola> hi, how does go compares to something like python/ruby, what are the benefits of using go? 18:13 -!- slashus2 [~slashus2@74-137-24-74.dhcp.insightbb.com] has quit [Quit: slashus2] 18:18 -!- noam__ [~noam@77.127.205.252] has quit [Read error: Operation timed out] 18:19 < fuzzybyte> diegoviola: it's much faster and simple to learn like C. But has interfaces and other niceties too. 18:22 < diegoviola> interesting, how is the performance? 18:22 < fuzzybyte> diegoviola: it's comparable to C.. 18:23 < fuzzybyte> maybe not as fast yet, but it improves all the time. 18:24 < fuzzybyte> I think the syntax has taken good things from both C and python. For example slices are awesome. But it still very easy to learn. 18:25 < diegoviola> does it have pointers like c? 18:25 < fuzzybyte> please read http://golang.org/doc/effective_go.html 18:26 -!- Ginto8 [~Ginto8@pool-72-82-235-34.cmdnnj.fios.verizon.net] has joined #go-nuts 18:26 < kmeyer> diegoviola, fuzzybyte: the go tutorial might be a better place to start 18:27 < fuzzybyte> diegoviola: yes, but you can't do pointer arithmetics with them. 18:27 < fuzzybyte> ah, sure. 18:27 < fuzzybyte> check out the FAQ too 18:29 < diegoviola> thanks 18:33 -!- Venom_X [~pjacobs@adsl-99-20-147-171.dsl.aus2tx.sbcglobal.net] has quit [Quit: Venom_X] 18:34 -!- kashia_ [~Kashia@p4FEB6C5C.dip.t-dialin.net] has quit [Quit: This computer has gone to sleep] 18:38 -!- vsayer [~vivek@c-76-103-244-154.hsd1.ca.comcast.net] has quit [Excess Flood] 18:39 < plexdev> http://is.gd/cnti3 by [Adam Langley] in go/src/pkg/big/ -- big: prevent errors in Exp in the face of aliasing 18:39 -!- vsayer [~vivek@c-76-103-244-154.hsd1.ca.comcast.net] has joined #go-nuts 18:43 -!- Fish [~Fish@9fans.fr] has joined #go-nuts 18:43 -!- peterdn [~peterdn@cpc1-oxfd18-2-0-cust914.4-3.cable.virginmedia.com] has joined #go-nuts 18:44 -!- carllerche [~carllerch@enginey-9.border1.sfo002.pnap.net] has joined #go-nuts 18:54 -!- surma [~surma@91-64-31-242-dynip.superkabel.de] has quit [Quit: Leaving.] 18:55 -!- vsayer [~vivek@c-76-103-244-154.hsd1.ca.comcast.net] has quit [Read error: Connection reset by peer] 18:56 < plexdev> http://is.gd/cnuB2 by [Nigel Tao] in go/src/pkg/exp/draw/x11/ -- Make draw/x11 treat $DISPLAY the same way x-go-bindings does. 18:56 < plexdev> http://is.gd/cnuBb by [Alex Brainman] in go/src/pkg/syscall/ -- fix windows build 18:56 -!- vsayer [~vivek@c-76-103-244-154.hsd1.ca.comcast.net] has joined #go-nuts 18:57 -!- lmoura [~lauromour@200.184.118.130] has quit [Ping timeout: 258 seconds] 19:09 -!- ayo [~nya@e179176127.adsl.alicedsl.de] has joined #go-nuts 19:09 -!- lmoura [~lauromour@200.184.118.130] has joined #go-nuts 19:11 -!- vsayer [~vivek@c-76-103-244-154.hsd1.ca.comcast.net] has quit [Read error: Connection reset by peer] 19:12 -!- Svarthandske [~nn@dsl-tkubrasgw1-fe3cdc00-28.dhcp.inet.fi] has quit [Quit: Svarthandske] 19:12 -!- aho [~nya@g226210205.adsl.alicedsl.de] has quit [Ping timeout: 240 seconds] 19:12 -!- g0bl1n [~anonymous@a213-22-77-195.cpe.netcabo.pt] has joined #go-nuts 19:22 -!- alehorst [~alehorst@187.59.66.96] has quit [Ping timeout: 248 seconds] 19:22 -!- General13372 [~support@71-84-50-230.dhcp.mtpk.ca.charter.com] has quit [Ping timeout: 252 seconds] 19:23 -!- Venom_X [~pjacobs@99.20.147.171] has joined #go-nuts 19:24 -!- alehorst [~alehorst@187.59.16.173] has joined #go-nuts 19:25 -!- General1337 [~support@71-84-50-230.dhcp.mtpk.ca.charter.com] has joined #go-nuts 19:27 -!- cco3 [~conley@modemcable227.50-70-69.static.videotron.ca] has quit [Ping timeout: 264 seconds] 19:37 -!- tux21b [~tux21b@90.146.60.30] has joined #go-nuts 19:50 -!- werdan7 [~w7@freenode/staff/wikimedia.werdan7] has quit [Ping timeout: 620 seconds] 19:51 -!- robot12 [~robot12@inferno.kgts.ru] has quit [Quit: Ухожу я от вас (xchat 2.4.5 или старше)] 19:54 -!- SecretofMana [~mana@142.46.164.30] has quit [Ping timeout: 265 seconds] 19:59 -!- rv2733 [~rv2733@c-98-242-168-49.hsd1.fl.comcast.net] has quit [Quit: Leaving] 19:59 -!- werdan7 [~w7@freenode/staff/wikimedia.werdan7] has joined #go-nuts 20:00 -!- i__ [~none@unaffiliated/i--/x-3618442] has quit [Quit: Lost terminal] 20:00 -!- g0bl1n [~anonymous@a213-22-77-195.cpe.netcabo.pt] has quit [Quit: g0bl1n] 20:02 -!- bortzmeyer [~stephane@2a01:e35:8bd9:8bb0:9c99:f8ad:567:29a2] has joined #go-nuts 20:03 -!- alexbobp [~alex@adsl-75-34-101-206.dsl.austtx.sbcglobal.net] has quit [Read error: Connection reset by peer] 20:06 < emiel_> kmeyer: hm, i don't think it is that trivial, since actually using a bufio.NewReader(bytes.NewBuffer(...)) for waiting on your data prevents you from sinking the receiving chan []byte and shooting data into the bytes.Buffer in the first place 20:07 < Eko> froyo! lol 20:08 -!- SecretofMana [~mana@142.46.164.30] has joined #go-nuts 20:09 < froyo> Eko: what's up? 20:09 < Eko> nice nick ^_^. you an Android fan? 20:09 < Eko> or just a fan of healthy deserts. 20:09 < Eko> desserts* 20:10 < froyo> not a fan, just developing an app 20:11 < froyo> this channel is not at conference mode? 20:12 < kmeyer> emiel_: I'm a little confused by the grammar of that sentence, but I don't think there's an inherant problem... 20:13 < emiel_> sorry :) ok, so i can see how to implement a goroutine to shoot []byte's from a connection's Read() into a channel 20:13 < kmeyer> mhm 20:14 < kmeyer> you'd have to implement your own struct to take []byte back out of the channel and pass it along to an io.Writer of some kind 20:14 < emiel_> but then on the receiving end of the channel, i would want to do some packet parsing, so i would create a bufio.Reader from <some kind of buffer that will contain the bytes from the socket> 20:15 < kmeyer> ah, but that breaks select ;) 20:15 < Eko> speaking of select; if I have an arbitrary number of chan strings, can I use select to trigger when any of them are ready? 20:16 < emiel_> i guess it does, but i would not mind just waiting a bit for some bytes to arrive since it is a complete packet 20:16 < emiel_> but you are saying i should not do this in a blocking fashion? 20:17 < emiel_> so save the packet parsing state, and handle parts at the time 20:17 -!- ktg1 [~idr@g225100064.adsl.alicedsl.de] has quit [Remote host closed the connection] 20:20 < emiel_> Eko: an array of chans you mean? 20:20 < Eko> emiel_: yep 20:21 < Eko> slice probably, but yes. 20:21 -!- skelterjohn [~jasmuth@lawn-net168-in.rutgers.edu] has quit [Quit: skelterjohn] 20:23 -!- noam [~noam@77.127.205.252] has joined #go-nuts 20:31 < BrowserUk> wrtp: We were interrupted after: "note the way that i avoided the need to use any generic stuff by just using a simple func(). if you wanted to get the result of the function, that'd be easy too." I'd like a bit more info about that; particularly the second sentence, if you have the time/inclination. Perhaps in private if such discussion in subject to prohibitions. 20:33 -!- General1337 [~support@71-84-50-230.dhcp.mtpk.ca.charter.com] has quit [Read error: Connection reset by peer] 20:33 -!- piglet [~piglet@93-136-58-123.adsl.net.t-com.hr] has joined #go-nuts 20:34 -!- General1337 [~support@71-84-50-230.dhcp.mtpk.ca.charter.com] has joined #go-nuts 20:34 -!- bortzmeyer [~stephane@2a01:e35:8bd9:8bb0:9c99:f8ad:567:29a2] has quit [Quit: Leaving.] 20:36 -!- narsil [~Narsil@rke75-4-82-234-110-106.fbx.proxad.net] has joined #go-nuts 20:42 < Eko> emiel_: I found my answer... selects on arrays of chans are not supported for performance reasons and they suggest arranging for all senders to send on the same channel. Which, of course, makes complete sense in retrospect ^_^ 20:42 -!- piglet [~piglet@93-136-58-123.adsl.net.t-com.hr] has quit [Read error: Connection reset by peer] 20:43 < emiel_> ah :) 20:44 -!- zozoR [~zozoR@0x5da69cf2.cpe.ge-0-1-0-1105.hsnqu1.customer.tele.dk] has quit [Quit: Morten. Desu~] 20:46 -!- awidegreen [~quassel@62.176.237.78] has quit [Remote host closed the connection] 20:47 -!- noam [~noam@77.127.205.252] has quit [Read error: Connection reset by peer] 20:48 -!- noam [~noam@77.127.205.252] has joined #go-nuts 20:50 -!- pmyshkin [~a@unaffiliated/pmyshkin] has joined #go-nuts 20:51 < pmyshkin> is interface implementation tested at compile time or runtime? 20:51 -!- Fish [~Fish@9fans.fr] has quit [Remote host closed the connection] 20:52 < Ginto8> http://golang.org/doc/go_spec.html#Type_assertions 20:53 < Ginto8> runtime 20:53 < yebyen> really 20:53 < yebyen> that doesn't sound right 20:53 < jessta> it's compile time 20:58 < plexdev> http://is.gd/cnDjF by [Robert Griesemer] in 2 subdirs of go/test/ -- bug277: tests for conversion syntax 20:58 < pmyshkin> so it's impossible to dynamically add methods to a receiver type right? 21:02 -!- slashus2 [~slashus2@74-137-24-74.dhcp.insightbb.com] has joined #go-nuts 21:03 < wrtp> pmyshkin: yes 21:04 -!- General1337 [~support@71-84-50-230.dhcp.mtpk.ca.charter.com] has quit [Ping timeout: 240 seconds] 21:05 < wrtp> BrowserUk: like this: http://pastie.org/975187 21:07 -!- alehorst [~alehorst@187.59.16.173] has quit [Quit: Leaving.] 21:07 -!- smw [~stephen@pool-96-232-88-231.nycmny.fios.verizon.net] has quit [Remote host closed the connection] 21:12 -!- alehorst [~alehorst@187.59.16.173] has joined #go-nuts 21:19 -!- werdan7 [~w7@freenode/staff/wikimedia.werdan7] has quit [Ping timeout: 604 seconds] 21:20 -!- Venom_X [~pjacobs@99.20.147.171] has quit [Quit: Venom_X] 21:22 -!- slashus2 [~slashus2@74-137-24-74.dhcp.insightbb.com] has quit [Quit: slashus2] 21:25 -!- ikke [~ikkibr@unaffiliated/ikkebr] has quit [] 21:28 -!- Surma [~surma@91-64-31-242-dynip.superkabel.de] has joined #go-nuts 21:28 -!- werdan7 [~w7@freenode/staff/wikimedia.werdan7] has joined #go-nuts 21:29 < plexdev> http://is.gd/cnFnu by [Russ Cox] in 2 subdirs of go/ -- gc: fix unsafe.Sizeof on ideal constants 21:29 < plexdev> http://is.gd/cnFny by [Russ Cox] in 2 subdirs of go/ -- gc: bug278 21:32 -!- General1337 [~support@71-84-50-230.dhcp.mtpk.ca.charter.com] has joined #go-nuts 21:34 < Eko> how do we handle multiple files in the same package in go? 21:35 < Eko> I know they all have "package whatever" at the top, but do I just compile them individually or what? 21:35 < Ginto8> makefiles 21:35 < Ginto8> GOFILES=\ 21:35 < Ginto8> x.go 21:35 < Ginto8> y.go 21:35 < Ginto8> etc. 21:36 < Ginto8> and if you're using cgo, you want to list those files in 21:36 < Ginto8> CGOFILES 21:41 < Eko> well, I am using a makefile 21:41 < Eko> I actually have a nice one already set up, I'm just curious how the dependencies work 21:42 < Eko> for instance, if I have main.go and mylib.go, I already have to mylib.go -> mylib.6 before I can main.go -> main.6 -> main 21:42 < Eko> but if mylib.go is in mylib.go and mylib_extras.go, how does it work? 21:42 < Eko> er, if package mylib is in* 21:43 -!- rlab [~Miranda@91.200.158.34] has quit [Quit: Miranda IM! Smaller, Faster, Easier. http://miranda-im.org] 21:43 < Ginto8> well you'd probably use a mylib folder 21:43 < Ginto8> maybe 21:43 < Ginto8> idk really 21:43 < pmyshkin> can't you compile them together with one 6g command? 21:44 < pmyshkin> 6g mylib.go mylib_extra.go 21:44 < Ginto8> but what I do with my lib is I have the makefile (listing all lib files in GOFILES and cgo files in CGOFILES), and do "make install", then compile main 21:44 < Ginto8> but you might just want to have main in GOFILES 21:46 < plexdev> http://is.gd/cnGnW by [Russ Cox] in go/src/libmach/ -- libmach: skip __nl_symbol_ptr section on OS X 21:46 < plexdev> http://is.gd/cnGnZ by [Russ Cox] in go/src/pkg/runtime/ -- runtime: free old hashmap pieces during resizing 21:46 < plexdev> http://is.gd/cnGo9 by [Russ Cox] in go/doc/ -- spec: index of non-addressable array is not addressable 21:46 < plexdev> http://is.gd/cnGoy by [Russ Cox] in go/ -- A+C: add Peter Williams (individual CLA) 21:46 < plexdev> http://is.gd/cnGoC by [Peter Williams] in go/lib/codereview/ -- codereview: work better with mq 21:49 -!- Shyde [~Shyde^^@HSI-KBW-078-043-070-132.hsi4.kabel-badenwuerttemberg.de] has quit [Remote host closed the connection] 21:49 -!- ShadowIce` [pyoro@unaffiliated/shadowice-x841044] has quit [Quit: Verlassend] 21:52 < pmyshkin> it says here in the FAQ that maps can't use structs for keys because struct equality is not well defined 21:53 < pmyshkin> but is it possible to specify a method for your struct like Less so that it can be used as a key? 21:54 <+iant> pmyshkin: no, sorry 21:55 < pmyshkin> that's too bad 21:58 < pmyshkin> and there's no built-in package for handling more general maps 21:59 -!- deso [~deso@x0561a.wh30.tu-dresden.de] has quit [Read error: Connection reset by peer] 22:01 -!- napsy [~luka@88.200.96.14] has quit [Quit: Lost terminal] 22:02 < plexdev> http://is.gd/cnHrQ by [Robert Griesemer] in go/doc/ -- go spec: fix and clarify syntax of conversions 22:04 -!- Kashia [~Kashia@port-92-200-204-24.dynamic.qsc.de] has joined #go-nuts 22:10 -!- mpl [~mpl@smgl.fr.eu.org] has quit [Ping timeout: 248 seconds] 22:10 -!- mpl [~mpl@smgl.fr.eu.org] has joined #go-nuts 22:13 -!- nighty^ [~nighty@x122091.ppp.asahi-net.or.jp] has quit [Quit: Disappears in a puff of smoke] 22:13 -!- Gracenotes [~person@wikipedia/Gracenotes] has quit [Ping timeout: 248 seconds] 22:13 -!- Surma [~surma@91-64-31-242-dynip.superkabel.de] has quit [Quit: Leaving.] 22:14 -!- skelterjohn [~jasmuth@c-76-99-92-14.hsd1.nj.comcast.net] has joined #go-nuts 22:15 -!- skelterjohn [~jasmuth@c-76-99-92-14.hsd1.nj.comcast.net] has quit [Client Quit] 22:17 -!- Boney [~paul@124-168-63-187.dyn.iinet.net.au] has joined #go-nuts 22:19 < plexdev> http://is.gd/cnIqr by [Nigel Tao] in go/src/pkg/exp/draw/x11/ -- Fix typo in exp/draw/x11. 22:20 -!- andrewh_ [~andrewh@94-194-56-42.zone8.bethere.co.uk] has joined #go-nuts 22:30 -!- Agon-laptop [~marcel@HSI-KBW-095-208-003-128.hsi5.kabel-badenwuerttemberg.de] has quit [Remote host closed the connection] 22:35 < plexdev> http://is.gd/cnJpr by [Russ Cox] in 2 subdirs of go/ -- gc: bug280 22:35 < plexdev> http://is.gd/cnJpx by [Russ Cox] in 3 subdirs of go/ -- gc: bug277 - new conversion syntax 22:35 < plexdev> http://is.gd/cnJpM by [Russ Cox] in go/test/ -- fix build - forgot golden.out 22:35 < plexdev> http://is.gd/cnJpU by [Russ Cox] in go/src/cmd/6g/ -- 6g: avoid unnecessary conversion in shift bounds check 22:41 -!- Gracenotes [~person@wikipedia/Gracenotes] has joined #go-nuts 22:42 -!- kel__ [~kel@cpc2-leat2-0-0-cust98.hers.cable.ntl.com] has quit [Ping timeout: 265 seconds] 22:44 -!- Project_2501 [~Marvin@82.84.74.54] has quit [Quit: E se abbasso questa leva che succ...] 22:45 -!- Piglet [~Piglet@93-136-58-123.adsl.net.t-com.hr] has joined #go-nuts 22:47 -!- ikaros [~ikaros@g226155063.adsl.alicedsl.de] has quit [Quit: Leave the magic to Houdini] 22:54 -!- rhelmer [~rhelmer@adsl-69-107-89-5.dsl.pltn13.pacbell.net] has joined #go-nuts 22:55 -!- andrewh_ [~andrewh@94-194-56-42.zone8.bethere.co.uk] has quit [Ping timeout: 245 seconds] 22:56 -!- Eridius [~kevin@unaffiliated/eridius] has quit [Quit: brb rebooting] 22:58 -!- Boney_ [~paul@210-84-57-245.dyn.iinet.net.au] has joined #go-nuts 22:59 -!- Boney [~paul@124-168-63-187.dyn.iinet.net.au] has quit [Ping timeout: 276 seconds] 23:06 -!- Eridius [~kevin@173-13-153-133-sfba.hfc.comcastbusiness.net] has joined #go-nuts 23:06 -!- Eridius [~kevin@173-13-153-133-sfba.hfc.comcastbusiness.net] has quit [Changing host] 23:06 -!- Eridius [~kevin@unaffiliated/eridius] has joined #go-nuts 23:08 -!- ikke [~ikke@unaffiliated/ikkebr] has joined #go-nuts 23:09 < manveru> anybody knows a good way to get a little endian []uint8 to int? 23:10 < Eridius> bit-shifting? 23:10 < manveru> there is nothing in the stdlib? 23:10 < Namegduf> blah = foo[a] + 256*foo[b] + 256*256*foo[c] and so on? 23:10 < manveru> uh, ok 23:10 < taruti> manveru: encoding/binary 23:11 <+iant> http://golang.org/pkg/encoding/binary/ 23:11 < manveru> about time someone writes pack/unpack :) 23:11 < taruti> but that is slow 23:11 -!- xenplex_ [~xenplex@195.46.241.226] has joined #go-nuts 23:11 < manveru> thanks 23:11 < manveru> it's not really something that needs speed... 23:11 < manveru> readability beats speed anyway 23:12 < exch> no reason not to try and have both :) 23:13 < manveru> heh 23:13 < manveru> yeah, go has a pretty good ratio already 23:15 < manveru> i'm trying to make a parser for the blend format 23:16 < manveru> according to the stuff shown at http://www.atmind.nl/blender/mystery_ot_blend.html 23:16 -!- cmarcelo [~cmarcelo@enlightenment/developer/cmarcelo] has quit [Remote host closed the connection] 23:16 < manveru> because creating 3d objects by text editor is a real pain :( 23:17 -!- xenplex_ [~xenplex@195.46.241.226] has quit [Quit: xenplex_] 23:18 -!- Netsplit *.net <-> *.split quits: fernan 23:20 -!- marsu [~marsu@93.11.242.116] has quit [Quit: Leaving] 23:22 -!- ikke [~ikke@unaffiliated/ikkebr] has quit [Ping timeout: 240 seconds] 23:22 -!- carllerche [~carllerch@enginey-9.border1.sfo002.pnap.net] has quit [Quit: carllerche] 23:25 -!- ikke [~ikke@189-72-2-229.smace700.dsl.brasiltelecom.net.br] has joined #go-nuts 23:25 -!- ikke [~ikke@189-72-2-229.smace700.dsl.brasiltelecom.net.br] has quit [Changing host] 23:25 -!- ikke [~ikke@unaffiliated/ikkebr] has joined #go-nuts 23:35 -!- g0bl1n [~anonymous@a213-22-77-195.cpe.netcabo.pt] has joined #go-nuts 23:38 -!- g0bl1n [~anonymous@a213-22-77-195.cpe.netcabo.pt] has quit [Client Quit] 23:40 -!- Boney_ [~paul@210-84-57-245.dyn.iinet.net.au] has quit [Ping timeout: 240 seconds] 23:40 -!- dju [dju@fsf/member/dju] has quit [Read error: Connection reset by peer] 23:41 -!- dju [dju@fsf/member/dju] has joined #go-nuts 23:41 -!- g0bl1n [~anonymous@a213-22-77-195.cpe.netcabo.pt] has joined #go-nuts 23:41 -!- tux21b [~tux21b@90.146.60.30] has quit [Read error: Connection reset by peer] 23:43 -!- g0bl1n [~anonymous@a213-22-77-195.cpe.netcabo.pt] has quit [Client Quit] 23:44 -!- SecretofMana [~mana@142.46.164.30] has quit [Ping timeout: 260 seconds] 23:47 < Eko> How do I have a multifile package the way it describes in the FAQ? I have a pair of files, both of which have the same package line at the top, but when I 6g the dependent one I get errors about undefined types. 23:48 <+iant> Eko: pass both to 6g at once: 6g file1.go file2.go 23:50 -!- skelterjohn [~jasmuth@c-76-99-92-14.hsd1.nj.comcast.net] has joined #go-nuts 23:51 -!- skelterjohn [~jasmuth@c-76-99-92-14.hsd1.nj.comcast.net] has quit [Client Quit] 23:52 < Eko> d'oh. Thanks! 23:52 < plexdev> http://is.gd/cnNNC by [Evan Shaw] in go/src/pkg/big/ -- big: Rat test improvements 23:54 -!- vdrab [~vdrab@cap005-221.kcn.ne.jp] has quit [Quit: vdrab] 23:57 -!- Boney [~paul@124-168-65-117.dyn.iinet.net.au] has joined #go-nuts --- Log closed Tue May 25 00:00:21 2010