--- Log opened Mon Apr 18 00:00:50 2011 00:03 -!- ExtraSpice [XtraSpice@88.118.35.153] has quit [Ping timeout: 276 seconds] 00:06 -!- boscop [~boscop@f055020115.adsl.alicedsl.de] has quit [Ping timeout: 246 seconds] 00:10 -!- angasule [~angasule@190.2.33.49] has quit [Read error: Connection reset by peer] 00:11 -!- angasule [~angasule@190.2.33.49] has joined #go-nuts 00:11 -!- sqqqrly [~dohlemach@c-75-67-216-29.hsd1.nh.comcast.net] has joined #go-nuts 00:13 -!- boscop [~boscop@f055057242.adsl.alicedsl.de] has joined #go-nuts 00:24 -!- angasule [~angasule@190.2.33.49] has quit [Remote host closed the connection] 00:34 -!- sqqqrly [~dohlemach@c-75-67-216-29.hsd1.nh.comcast.net] has quit [Ping timeout: 240 seconds] 00:35 -!- Pixelgel [~Pixelgel@c-71-229-206-102.hsd1.co.comcast.net] has joined #go-nuts 00:36 -!- dj2 [~dj2@199.243.188.202] has quit [Remote host closed the connection] 00:37 -!- Rakko [~rakko@71-90-73-192.dhcp.ftbg.wi.charter.com] has joined #go-nuts 00:39 -!- dfc [~dfc@eth59-167-133-99.static.internode.on.net] has joined #go-nuts 00:56 -!- dreadlorde [~dreadlord@c-24-11-39-160.hsd1.mi.comcast.net] has joined #go-nuts 01:03 -!- mikespook [~mikespook@219.137.252.101] has joined #go-nuts 01:05 -!- saturnfive [~saturnfiv@210.74.155.131] has joined #go-nuts 01:37 -!- ampleyfly [ampleyfly@gateway/shell/blinkenshell.org/x-bxqhogdnrjbsmrcp] has quit [Ping timeout: 252 seconds] 01:42 -!- ampleyfly [ampleyfly@gateway/shell/blinkenshell.org/x-otpaicfbcqjnjwym] has joined #go-nuts 01:46 -!- gaxxx [~woo@219.143.166.16] has joined #go-nuts 01:54 < crazy2be> how do you get git to ignore go binaries in the source tree? 01:55 < crazy2be> i could ignore each one explicitly 01:55 < crazy2be> but that seems hackish 02:00 < delinka> don't add binary files :-/ 02:07 < Rakko> yeah, I guess you're supposed to only git add files one by one 02:07 < Rakko> not whole directories 02:07 -!- benjack [~benjack@bb121-6-49-43.singnet.com.sg] has joined #go-nuts 02:08 < crazy2be> that's a pain 02:08 < crazy2be> and then the binaries sit around in the "Untracked files" section of git status 02:08 < crazy2be> when i will never want to commit them 02:11 < Rakko> you can put their names in .gitignore 02:11 < crazy2be> yeah, one-by-one :/ 02:12 -!- dreadlorde [~dreadlord@c-24-11-39-160.hsd1.mi.comcast.net] has quit [Ping timeout: 252 seconds] 02:12 < crazy2be> is there some clever .gitignore pattern to ignore them? 02:13 < delinka> add a 'clean' rule that removes those binaries before adding whole directories 02:13 < crazy2be> they are all in src/<name>/<name> 02:13 < delinka> make clean; git add ... 02:13 < delinka> well, included Go makefiles already have clean :) 02:16 -!- fmoo [~Adium@c-76-102-41-101.hsd1.ca.comcast.net] has joined #go-nuts 02:27 < dfc> can the .gitinclude source other files ? 02:28 < dfc> source Makefile and exlcude $(TARG) 02:28 < dfc> but this should only be necessary for Make.cmd right ? 02:28 < |Craig|> I just have things like *.6 in my .gitignore 02:29 < dfc> take a look at $GOROOT/.hgignore 02:29 < dfc> that is a pretty complete set 02:45 < crazy2be> ah 02:46 < crazy2be> it solves it with a regex 02:46 < crazy2be> wonder if git supports regexes 02:48 < Rakko> does go not support shared libraries yet? 02:48 < dfc> depends what you mean 02:50 < dfc> the final executables produced by go a mostly (cgo permitted) statically linked 02:50 < dfc> but each package is essentially a shared library that is fixed up at linker time, rather than runtime 02:50 < dfc> at least, that is how I look at it 02:51 -!- skelterjohn [~jasmuth@c-24-0-2-70.hsd1.nj.comcast.net] has quit [Quit: skelterjohn] 02:51 < crazy2be> hmm i guess i could ignore src/, then !src/*/*.go, !src/*/Makefile 02:52 < Rakko> I would think shared would mean runtime linking 02:53 -!- scarabx [~scarabx@c-76-19-43-200.hsd1.ma.comcast.net] has joined #go-nuts 02:54 -!- scarabx [~scarabx@c-76-19-43-200.hsd1.ma.comcast.net] has quit [Remote host closed the connection] 02:56 < crazy2be> what is the usage difference between a linked list and a []*SomeObj 02:56 < crazy2be> like, where would each one have advantages? 02:57 < crazy2be> it seems like the expense in []*SomeObj with lots of objects would still be relatively small 02:58 < |Craig|> crazy2be: if you want to access the 10 item, in a linked list, it takes 10 step 02:58 < |Craig|> linked lists have linear access time compared to their size, slices have constant access time 02:58 < |Craig|> and slices take less memory 02:59 < |Craig|> but inserts require moving items, and so does removing, which is not the case with linked lists 03:01 < crazy2be> |Craig|: Well, how performance-intensive is that if it is an array/slice of pointers? 03:02 < |Craig|> it does not mater if the array is pointers, or ints, of floats, of structs, except that structs might be a little bigger 03:02 < |Craig|> theres nothing special about a slice of pointers. Its just a slice, that happens to contain pointers 03:04 < crazy2be> well, nothing special except that points are smaller, and thus (i am assuming), they are faster to move or copy 03:04 < crazy2be> smaller than sctructs that is 03:05 < crazy2be> *pointers 03:05 < crazy2be> *structs 03:05 < |Craig|> structs can be the same size, and maybe even smaller 03:05 -!- skelterjohn [~jasmuth@c-24-0-2-70.hsd1.nj.comcast.net] has joined #go-nuts 03:05 < crazy2be> well, can be 03:05 < crazy2be> but are usually larger 03:06 < |Craig|> any changes to performance are simply constants, where moving to a linked list changes the behaviour drastically 03:06 < crazy2be> on 32-bit systems, pointrs are 4 bytes i belive 03:06 < |Craig|> can you have empty structs of 0 size? 03:07 < crazy2be> hmm not sure, but you can have structs of 1 byte 03:07 < |Craig|> but they will get aligned to 32 bit spacing prabably 03:08 < crazy2be> does that happen with bytes too? 03:08 < crazy2be> or just if you have a struct with only a byte? 03:09 < crazy2be> e.g. would a var blar int take up the same amount of memory as a var blar byte? 03:09 < |Craig|> I don't know. All I know is that fetching unaligned values can be slow depending on your instruction set architecture. 03:09 -!- foocraft [~dsc@178.152.70.10] has joined #go-nuts 03:13 < skelterjohn> i'd guess that a clever compiler would turn a struct{} into no data at all 03:13 < skelterjohn> and things like sending/receiving for chan struct{} would be a data-free communication 03:14 -!- boscop [~boscop@f055057242.adsl.alicedsl.de] has quit [Ping timeout: 246 seconds] 03:15 < crazy2be> or a compiler error 03:15 < crazy2be> since there is no use to such a construct 03:15 -!- boscop [~boscop@f055057242.adsl.alicedsl.de] has joined #go-nuts 03:15 < skelterjohn> sure there is 03:15 < skelterjohn> exactly the use i mentioned 03:16 < crazy2be> unless you want to send something on a channel but don't care what 03:16 < skelterjohn> doneChans for instance 03:16 < crazy2be> but that's not data-free 03:16 < skelterjohn> but it can be payload-free 03:16 < crazy2be> since you still have data about the messages themselves 03:16 < skelterjohn> and struct{} is a completely valid type right now 03:17 < skelterjohn> i used to make "chan bool"s for waiting on goroutines 03:17 < skelterjohn> now i make "chan struct{}"s 03:23 -!- Glasswalker [~Glasswalk@99.246.189.83] has quit [Ping timeout: 260 seconds] 03:23 < crazy2be> huh 03:24 -!- gaxxx [~woo@219.143.166.16] has quit [Ping timeout: 258 seconds] 03:24 < crazy2be> it would be interesting if you could have a chan nil 03:25 < crazy2be> although nil is a value, not a type 03:26 -!- benjack [~benjack@bb121-6-49-43.singnet.com.sg] has quit [Quit: Leaving.] 03:26 -!- Viriix [~joseph@c-67-169-172-251.hsd1.ca.comcast.net] has joined #go-nuts 03:27 < crazy2be> anyway night 03:28 < skelterjohn> night 03:29 -!- Glasswalker [~Glasswalk@CPE002369b3cd1a-CM00222d53f155.cpe.net.cable.rogers.com] has joined #go-nuts 03:31 -!- gaxxx [~woo@219.143.166.16] has joined #go-nuts 03:33 -!- ampleyfly [ampleyfly@gateway/shell/blinkenshell.org/x-otpaicfbcqjnjwym] has quit [Ping timeout: 260 seconds] 03:35 -!- crazy2be [~crazy2be@d209-89-248-73.abhsia.telus.net] has quit [Remote host closed the connection] 03:36 -!- kevlar [~kevlar@unaffiliated/eko] has quit [Quit: This computer has gone to sleep] 03:38 -!- ampleyfly [ampleyfly@gateway/shell/blinkenshell.org/x-hfpflqnaccrqkwvj] has joined #go-nuts 03:41 -!- sqqqrly [~dohlemach@c-75-67-216-29.hsd1.nh.comcast.net] has joined #go-nuts 03:52 -!- watr_ [~rom@66.183.100.58] has joined #go-nuts 04:16 -!- sqqqrly [~dohlemach@c-75-67-216-29.hsd1.nh.comcast.net] has quit [Quit: Ex-Chat] 04:22 -!- rejb [~rejb@unaffiliated/rejb] has quit [Ping timeout: 246 seconds] 04:26 -!- gregschlom [~quassel@118.68.205.177] has joined #go-nuts 04:29 -!- zozoR [~Morten@56344480.rev.stofanet.dk] has joined #go-nuts 04:38 -!- binarypie [~binarypie@c-24-6-151-185.hsd1.ca.comcast.net] has joined #go-nuts 04:43 -!- gregschlom [~quassel@118.68.205.177] has quit [Ping timeout: 250 seconds] 04:45 -!- fmoo [~Adium@c-76-102-41-101.hsd1.ca.comcast.net] has quit [Quit: Leaving.] 04:52 -!- dj2 [~dj2@CPE001f5b35feb4-CM0014048e0344.cpe.net.cable.rogers.com] has joined #go-nuts 04:54 -!- gregschlom [~quassel@118.68.205.177] has joined #go-nuts 04:58 -!- fabled [~fabled@83.145.235.194] has quit [Quit: Ex-Chat] 05:02 -!- fabled [~fabled@83.145.235.194] has joined #go-nuts 05:07 -!- gregschlom [~quassel@118.68.205.177] has quit [Ping timeout: 246 seconds] 05:18 -!- foocraft [~dsc@178.152.70.10] has quit [Quit: Leaving] 05:23 -!- firwen [~firwen@gex01-1-78-234-55-225.fbx.proxad.net] has joined #go-nuts 05:23 -!- krolaw [~krolaw@203.100.208.229] has joined #go-nuts 05:31 -!- watr_ [~rom@66.183.100.58] has quit [Ping timeout: 276 seconds] 05:46 -!- dj2 [~dj2@CPE001f5b35feb4-CM0014048e0344.cpe.net.cable.rogers.com] has quit [Remote host closed the connection] 05:46 -!- firwen [~firwen@gex01-1-78-234-55-225.fbx.proxad.net] has quit [Remote host closed the connection] 06:01 -!- boomtopper [~boomtoppe@cpc12-nrte22-2-0-cust249.8-4.cable.virginmedia.com] has quit [Ping timeout: 250 seconds] 06:10 -!- DrZoidberg [~lol@h31.37.90.75.dynamic.ip.windstream.net] has joined #go-nuts 06:10 -!- DrZoidberg [~lol@h31.37.90.75.dynamic.ip.windstream.net] has left #go-nuts [] 06:10 -!- krolaw [~krolaw@203.100.208.229] has quit [Quit: krolaw] 06:10 -!- JusticeFries [~JusticeFr@c-24-9-171-36.hsd1.co.comcast.net] has joined #go-nuts 06:14 < JusticeFries> is there an established HTML parser for Go yet? 06:17 -!- Project_2501 [~Marvin@82.84.90.169] has joined #go-nuts 06:24 -!- DrZoidberg [~lol@h31.37.90.75.dynamic.ip.windstream.net] has joined #go-nuts 06:24 -!- DrZoidberg [~lol@h31.37.90.75.dynamic.ip.windstream.net] has left #go-nuts [] 06:24 < vsmatck> JusticeFries: search go packages. 06:24 < JusticeFries> perfect thanks. :) 06:26 < uriel> JusticeFries: http://golang.org/pkg/html/ 06:26 < JusticeFries> ah nice. 06:29 -!- DrZoidberg [~lol@h31.37.90.75.dynamic.ip.windstream.net] has joined #go-nuts 06:31 -!- boomtopper [~boomtoppe@cpc12-nrte22-2-0-cust249.8-4.cable.virginmedia.com] has joined #go-nuts 06:32 -!- gregschlom [~quassel@118.68.205.177] has joined #go-nuts 06:36 -!- [kevlar] [~kevlar@70-90-168-189-SFBACalifornia.hfc.comcastbusiness.net] has joined #go-nuts 06:36 -!- firwen [~firwen@adevlaptop.cern.ch] has joined #go-nuts 06:41 < taruti> Can one add formatting to the godoc comments? If so how? 06:42 < dfc> like javadoc comments ? 06:44 < taruti> yes 06:45 -!- DrZoidberg [~lol@h31.37.90.75.dynamic.ip.windstream.net] has quit [Ping timeout: 246 seconds] 06:45 -!- Viriix [~joseph@c-67-169-172-251.hsd1.ca.comcast.net] has quit [Quit: Leaving] 06:46 < dfc> yes, you can use html 06:46 < dfc> there are some conventions 06:47 < dfc> hmm, actaully not html 06:47 < dfc> it looks more like markdown 06:47 < dfc> http://code.google.com/p/go/source/browse/src/pkg/gob/doc.go 06:50 -!- Rakko [~rakko@71-90-73-192.dhcp.ftbg.wi.charter.com] has quit [Ping timeout: 250 seconds] 06:55 -!- nsf [~nsf@jiss.convex.ru] has joined #go-nuts 06:57 -!- piranha [~piranha@D57D1AB3.static.ziggozakelijk.nl] has joined #go-nuts 07:03 < taruti> nsf: can gortfm be coerced to produce something like markup (would be handy for bitbucket wiki pages) ? 07:03 < nsf> I don't think it's that flexible 07:04 < nsf> but it's not that big though 07:04 < nsf> you can change tweak it as much as you want 07:04 < nsf> :) 07:04 < nsf> s/change// 07:05 < taruti> or is there some site running a community godoc? 07:06 < taruti> just want to point my bitbucket repos to api documentation... 07:16 -!- crodjer [~rohanjain@203.110.240.205] has joined #go-nuts 07:17 -!- foocraft [~dsc@dyn-86-36-41-74.wv.qatar.cmu.edu] has joined #go-nuts 07:18 -!- boomtopper [~boomtoppe@cpc12-nrte22-2-0-cust249.8-4.cable.virginmedia.com] has quit [Ping timeout: 250 seconds] 07:21 -!- ross` [~ross@83.246.64.67] has quit [Remote host closed the connection] 07:26 -!- nixness [~dsc@86.36.49.200] has joined #go-nuts 07:29 -!- foocraft [~dsc@dyn-86-36-41-74.wv.qatar.cmu.edu] has quit [Ping timeout: 276 seconds] 07:30 -!- fmoo [~Adium@c-76-102-41-101.hsd1.ca.comcast.net] has joined #go-nuts 07:33 -!- firwen [~firwen@adevlaptop.cern.ch] has quit [Quit: Geek insinde®] 07:37 -!- binarypie [~binarypie@c-24-6-151-185.hsd1.ca.comcast.net] has quit [Remote host closed the connection] 07:39 -!- bortzmeyer [~stephane@lan31-2-82-224-72-72.fbx.proxad.net] has joined #go-nuts 07:43 -!- |Craig| [~|Craig|@panda3d/entropy] has quit [Quit: |Craig|] 07:46 -!- dfc [~dfc@eth59-167-133-99.static.internode.on.net] has quit [Ping timeout: 260 seconds] 07:58 -!- dchest [~dchest@109.228.79.14] has joined #go-nuts 07:59 -!- bortzmeyer [~stephane@lan31-2-82-224-72-72.fbx.proxad.net] has quit [Ping timeout: 240 seconds] 07:59 -!- zimsim [~simon@87.72.77.195] has joined #go-nuts 08:10 -!- crodjer [~rohanjain@203.110.240.205] has quit [Remote host closed the connection] 08:20 -!- femtoo [~femto@95-89-249-242-dynip.superkabel.de] has joined #go-nuts 08:23 -!- ExtraSpice [XtraSpice@88.118.35.153] has joined #go-nuts 08:40 -!- dfc [~dfc@124-149-101-80.dyn.iinet.net.au] has joined #go-nuts 08:40 -!- leczb [~leczb@nat/google/x-niyiwvszckhifcxb] has quit [Remote host closed the connection] 08:41 < plexdev> http://is.gd/B7cTbr by [Nigel Tao] in go/ -- CONTRIBUTORS: Raph Levien (Google CLA) 08:42 -!- gregschlom [~quassel@118.68.205.177] has quit [Read error: Connection reset by peer] 08:44 -!- leczb [~leczb@nat/google/x-xvkbyhhcjldodvpd] has joined #go-nuts 08:49 -!- rlab [~Miranda@149-167-113-92.pool.ukrtel.net] has joined #go-nuts 08:50 -!- leczb [~leczb@nat/google/x-xvkbyhhcjldodvpd] has quit [Read error: Operation timed out] 08:52 -!- leczb [~leczb@nat/google/x-ammocosepxsatevc] has joined #go-nuts 08:57 -!- rlab [~Miranda@149-167-113-92.pool.ukrtel.net] has quit [Ping timeout: 264 seconds] 09:02 -!- JusticeFries [~JusticeFr@c-24-9-171-36.hsd1.co.comcast.net] has quit [Quit: JusticeFries] 09:04 -!- pphalen [~pphalen@66.92.11.149] has quit [Quit: pphalen] 09:08 -!- itrekkie [~itrekkie@ip72-211-130-204.tc.ph.cox.net] has joined #go-nuts 09:14 -!- dfc [~dfc@124-149-101-80.dyn.iinet.net.au] has quit [Quit: dfc] 09:19 -!- rlab [~Miranda@220-191-113-92.pool.ukrtel.net] has joined #go-nuts 09:22 -!- nsf [~nsf@jiss.convex.ru] has quit [Quit: WeeChat 0.3.4] 09:24 -!- tav [~tav@92.7.142.193] has quit [Quit: tav] 09:33 -!- mikespook [~mikespook@219.137.252.101] has quit [Quit: Leaving.] 09:35 -!- leczb [~leczb@nat/google/x-ammocosepxsatevc] has quit [Remote host closed the connection] 09:42 -!- krolaw [~krolaw@203.100.208.229] has joined #go-nuts 09:42 -!- krolaw [~krolaw@203.100.208.229] has quit [Client Quit] 09:44 -!- krolaw [~krolaw@203.100.208.229] has joined #go-nuts 09:51 -!- foocraft [~dsc@86.36.49.200] has quit [Ping timeout: 246 seconds] 10:04 -!- femtoo [~femto@95-89-249-242-dynip.superkabel.de] has quit [Ping timeout: 250 seconds] 10:08 -!- foocraft [~dsc@dyn-86-36-41-74.wv.qatar.cmu.edu] has joined #go-nuts 10:10 -!- shvntr [~shvntr@113.84.145.224] has joined #go-nuts 10:15 -!- foocraft [~dsc@dyn-86-36-41-74.wv.qatar.cmu.edu] has quit [Quit: Leaving] 10:16 -!- foocraft [~dsc@dyn-86-36-41-74.wv.qatar.cmu.edu] has joined #go-nuts 10:30 -!- saturnfive [~saturnfiv@210.74.155.131] has quit [Read error: Connection reset by peer] 10:30 -!- femtoo [~femto@95-89-249-242-dynip.superkabel.de] has joined #go-nuts 10:31 -!- foocraft [~dsc@dyn-86-36-41-74.wv.qatar.cmu.edu] has quit [Read error: Operation timed out] 10:33 -!- foocraft [~dsc@86.36.49.200] has joined #go-nuts 10:41 -!- fmoo [~Adium@c-76-102-41-101.hsd1.ca.comcast.net] has quit [Quit: Leaving.] 10:43 -!- Scorchin [~Scorchin@host86-160-234-145.range86-160.btcentralplus.com] has joined #go-nuts 10:46 -!- foocraft [~dsc@86.36.49.200] has quit [Quit: Leaving] 10:48 -!- foocraft [~dsc@86.36.49.200] has joined #go-nuts 11:00 -!- katakuna [~pie@kjal.demon.co.uk] has quit [Ping timeout: 276 seconds] 11:01 -!- GilJ [~GilJ@zeus.ugent.be] has quit [Ping timeout: 276 seconds] 11:05 -!- katakuna [~pie@kjal.demon.co.uk] has joined #go-nuts 11:09 -!- foocraft [~dsc@86.36.49.200] has quit [Quit: Leaving] 11:17 -!- foocraft [~dsc@86.36.49.200] has joined #go-nuts 11:19 -!- virtualsue [~chatzilla@nat/cisco/x-cpvdkgivccorrhtt] has joined #go-nuts 11:19 -!- GilJ [~GilJ@zeus.ugent.be] has joined #go-nuts 11:21 -!- dfc [~dfc@124-149-101-80.dyn.iinet.net.au] has joined #go-nuts 11:22 -!- hopso [~hopso@a91-154-2-70.elisa-laajakaista.fi] has joined #go-nuts 11:30 -!- TheMue [~TheMue@p5DDF6C56.dip.t-dialin.net] has joined #go-nuts 11:31 < hopso> Oh my god. Earlier today one programmer I know started babbling around about Google taking over the world like a madman when I mentioned Go. :D 11:32 -!- sebastia1 [~sebastian@188.114.142.217] has joined #go-nuts 11:32 < virtualsue> ha 11:33 < hopso> I probably wont talk about Go with him again. 11:34 < exch> oh but you should. Just to annoy him 11:35 < hopso> He probably annoys himself enough already. :D 11:35 < xyproto> hopso: perhaps it's based on the same misunderstanding as the legal system in the US: that a company is a person 11:35 < aiju> google world domination? 11:35 < Namegduf> I prefer to call it "world optimisation". 11:36 < aiju> i for one welcome our new overlords 11:36 < xyproto> don't forget the sock gnomes, welcome them too 11:36 < xyproto> (the ones that steals single socks from the washing machine) 11:36 -!- artefon [~thiago@189.59.186.130.dynamic.adsl.gvt.net.br] has joined #go-nuts 11:36 -!- Project_2501 [~Marvin@82.84.90.169] has quit [Read error: Connection reset by peer] 11:37 < hopso> Namegduf: I like that. 11:37 -!- Project_2501 [~Marvin@82.84.90.169] has joined #go-nuts 11:41 -!- artefon [~thiago@189.59.186.130.dynamic.adsl.gvt.net.br] has quit [Ping timeout: 240 seconds] 11:44 -!- nsf [~nsf@jiss.convex.ru] has joined #go-nuts 11:53 -!- artefon [~thiago@187.59.208.38] has joined #go-nuts 11:56 -!- femtoo [~femto@95-89-249-242-dynip.superkabel.de] has quit [Read error: Connection reset by peer] 12:02 < exch> "closure needs too many variables; runtime will reject it." mm What is the limit for that? 12:03 < dfc> exch: ohh, that is an interesting error 12:03 < dfc> got some sample code ? 12:04 < exch> nothing I can easily extract that will make sense without context 12:04 < exch> it's just a closure defined inside a function. it referenced quite a lot of variables from the uoter function 12:04 < exch> 13 of em to be exact 12:05 < dfc> ok, lemmie see if I can knock something up 12:07 < exch> It seems 12 is the limit 12:08 < exch> http://pastie.org/1806817 here's a simple example 12:08 < dfc> http://pastie.org/1806819 12:08 < dfc> snap 12:08 < hopso> Is it good idea to base Packet type on bytes.Buffer or should I just have bytes.Buffer field in the Packet type? 12:09 -!- dfc [~dfc@124-149-101-80.dyn.iinet.net.au] has quit [Quit: dfc] 12:11 -!- zerosanity [~josh@8.20.178.82] has joined #go-nuts 12:20 -!- katakuna [~pie@kjal.demon.co.uk] has quit [Ping timeout: 248 seconds] 12:20 -!- thiago__ [~thiago@187.59.187.85] has joined #go-nuts 12:20 -!- artefon [~thiago@187.59.208.38] has quit [Read error: Operation timed out] 12:20 -!- thiago__ [~thiago@187.59.187.85] has quit [Read error: Connection reset by peer] 12:24 -!- katakuna [~pie@kjal.demon.co.uk] has joined #go-nuts 12:38 -!- foocraft [~dsc@86.36.49.200] has quit [Read error: Operation timed out] 12:39 -!- foocraft [~dsc@86.36.49.200] has joined #go-nuts 12:42 -!- dfc [~dfc@124-149-101-80.dyn.iinet.net.au] has joined #go-nuts 12:53 -!- krolaw [~krolaw@203.100.208.229] has quit [Quit: krolaw] 12:53 -!- artefon [~thiago@dhcp55.usuarios.dcc.ufmg.br] has joined #go-nuts 12:56 -!- rlab [~Miranda@220-191-113-92.pool.ukrtel.net] has quit [Ping timeout: 240 seconds] 13:04 -!- dfc [~dfc@124-149-101-80.dyn.iinet.net.au] has quit [Quit: dfc] 13:05 -!- tav [~tav@92.7.142.193] has joined #go-nuts 13:06 -!- zerosanity [~josh@8.20.178.82] has quit [Remote host closed the connection] 13:09 -!- pharris [~Adium@rhgw.opentext.com] has joined #go-nuts 13:10 < sebastia1> eexCeiC 13:10 < sebastia1> exit 13:10 < sebastia1> exit 13:10 -!- sebastia1 [~sebastian@188.114.142.217] has quit [Quit: Lost terminal] 13:13 -!- lmoura [~lauromour@186.212.246.40] has joined #go-nuts 13:14 -!- lmoura [~lauromour@186.212.246.40] has quit [Remote host closed the connection] 13:16 -!- tvw [~tv@212.79.9.150] has joined #go-nuts 13:19 -!- niemeyer [~niemeyer@189-30-249-127.pltce701.dsl.brasiltelecom.net.br] has joined #go-nuts 13:24 -!- rejb [~rejb@unaffiliated/rejb] has joined #go-nuts 13:25 -!- sebastia1 [~sebastian@188.114.142.217] has joined #go-nuts 13:29 -!- gregschlom [~quassel@118.68.205.177] has joined #go-nuts 13:29 -!- lmoura [~lauromour@186.215.206.130] has joined #go-nuts 13:34 -!- sebastia1 [~sebastian@188.114.142.217] has quit [Quit: Lost terminal] 13:35 -!- TheMue [~TheMue@p5DDF6C56.dip.t-dialin.net] has quit [Quit: TheMue] 13:36 -!- espeed [~espeed@63.246.231.57] has quit [Ping timeout: 240 seconds] 13:42 -!- lmoura [~lauromour@186.215.206.130] has quit [Remote host closed the connection] 13:43 -!- angasule [~angasule@190.2.33.49] has joined #go-nuts 13:50 -!- Glasswalker [~Glasswalk@CPE002369b3cd1a-CM00222d53f155.cpe.net.cable.rogers.com] has quit [Ping timeout: 240 seconds] 13:52 -!- jyxent [~jyxent@129.128.191.96] has quit [Ping timeout: 260 seconds] 13:58 -!- dj2 [~dj2@216.16.242.254] has joined #go-nuts 13:59 -!- jyxent [~jyxent@129.128.191.96] has joined #go-nuts 14:10 -!- tvw [~tv@212.79.9.150] has quit [Ping timeout: 246 seconds] 14:17 -!- mikespook [~mikespook@116.22.54.68] has joined #go-nuts 14:21 -!- pharris [~Adium@rhgw.opentext.com] has quit [Quit: Leaving.] 14:24 -!- pharris [~Adium@rhgw.opentext.com] has joined #go-nuts 14:41 -!- ww [~ww@river.styx.org] has quit [Read error: Connection reset by peer] 14:50 -!- mikespook [~mikespook@116.22.54.68] has quit [Quit: Leaving.] 14:53 -!- Venom_X [~pjacobs@75-27-133-72.lightspeed.austtx.sbcglobal.net] has joined #go-nuts 14:55 -!- pphalen [~pphalen@66.92.11.149] has joined #go-nuts 14:57 -!- tvw [~tv@e176009205.adsl.alicedsl.de] has joined #go-nuts 14:58 -!- fabled [~fabled@83.145.235.194] has quit [Quit: Ex-Chat] 15:02 -!- crodjer [~rohanjain@203.110.240.205] has joined #go-nuts 15:05 < nsf> http://ompldr.org/vOGJtMA/2011-04-18-210654_748x466_scrot.png 15:05 < nsf> :P 15:06 < nsf> does anyone know if it's possible to implement that kind of thing in a single pass?: a graph with two types of nodes, I need to find all the loops and to know if each loop contains only nodes of a single type 15:07 < nsf> currently I use stack for backtracing 15:09 < fzzbt> .crl? 15:09 < nsf> crawl :) 15:10 < nsf> well, I also did an interesting thing, looks like Go checks for initialization loops only when deals with variable initializers 15:10 < nsf> I did it just everywhere :\ 15:10 < nsf> hm.. 15:10 -!- femtoo [~femto@95-89-249-242-dynip.superkabel.de] has joined #go-nuts 15:11 < exch> recursive compilation.. I'm having a similar problem in my script compiler 15:12 < skelterjohn> you can find cycles in one pass 15:12 < nsf> cycles yes 15:12 < nsf> it's easy 15:12 < skelterjohn> right 15:12 < nsf> but the tricky part is: 15:12 < nsf> cycles where only functions in a loop are ok 15:12 < skelterjohn> i don't think seeing if the cycles are uniform of type is easy (read: tractable) 15:12 < nsf> cycles where at least one variable in a loop are not ok 15:13 < skelterjohn> oh if it's only one type that you watch out for 15:13 < skelterjohn> then that's easy 15:13 < skelterjohn> you just stop your cycle detector if it sees a var 15:13 < skelterjohn> or anything other than a func 15:13 < nsf> but the tricky part (again), I don't have a separate cycle detector :) 15:13 < nsf> I just do that all in a type checking phase 15:13 < nsf> :D 15:14 < skelterjohn> here's an idea 15:14 < skelterjohn> for each node you have, keep track of the number of non-function parents 15:14 < skelterjohn> then if you complete a cycle when connecting two nodes with the same number of non-fucntion parents, it must be a function-only cycle 15:15 < skelterjohn> otherwise the last node and the first node would have a different number 15:15 < nsf> skelterjohn: I think using stack and backtracing is a better solution 15:15 < nsf> because it also gives error messages like that 15:15 < skelterjohn> you asked for a single pass alg *shrug* 15:15 < nsf> ah, well, yes :) 15:15 < nsf> thanks :D 15:15 < skelterjohn> my pleasure 15:16 < xyproto> I have a program that creates an array of values that I wish to see as an image. What's the easiest way to see the result? Save as png? Save as raw? 15:16 < nsf> I did it all in a type checking phase, because it's ugly to have two variants of cycle detector 15:16 < nsf> e.g. you can't avoid simple cycle detector in a type checker 15:16 < skelterjohn> xyproto: save as something :) 15:16 < nsf> like: var a = b; var b = a; 15:17 < nsf> and then you have a complex cycle detector :) 15:17 < nsf> I did it using one cycle detector 15:17 < nsf> complicated a bit 15:17 < nsf> the only problem here 15:18 < xyproto> skelterjohn: found a png example, problem solved :) http://groups.google.com/group/golang-nuts/browse_thread/thread/4f132bffada0c9db 15:18 < nsf> is that cycle doesn't have a beginning or an end 15:18 < nsf> ah.. whatever, problem solved 15:19 < nsf> xyproto: use gnuplot or something 15:19 < nsf> export the data as CSV 15:20 < xyproto> nsf: csv is a good suggestion as well. However, the png package seems pretty simple and handy. 15:20 < skelterjohn> </3 gnuplot 15:21 < xyproto> skelterjohn: heart broken smiley? 15:21 < skelterjohn> yes 15:21 < xyproto> skelterjohn: had a bad relationship with gnuplot? 15:21 < skelterjohn> no, i just never learned how to use it 15:21 < skelterjohn> and it seems weird and complicated 15:24 -!- piranha [~piranha@D57D1AB3.static.ziggozakelijk.nl] has quit [Quit: Computer has gone to sleep.] 15:24 -!- skelterjohn [~jasmuth@c-24-0-2-70.hsd1.nj.comcast.net] has quit [Quit: skelterjohn] 15:26 < plexdev> http://is.gd/YnS1Ba by [Quan Yong Zhai] in go/src/pkg/net/ -- net: fix dialgoogle_test.go 15:26 -!- Scorchin [~Scorchin@host86-160-234-145.range86-160.btcentralplus.com] has quit [Quit: Scorchin] 15:27 < xyproto> woo, working png-creating program :) http://go.pastie.org/1807489 15:28 -!- Glasswalker [~Glasswalk@CPE005056ad47df-CM001225e00d58.cpe.net.cable.rogers.com] has joined #go-nuts 15:42 -!- jbooth1 [~jay@209.249.216.2] has joined #go-nuts 15:43 -!- awidegreen [~quassel@c-cfc5e555.08-2-73746f39.cust.bredbandsbolaget.se] has joined #go-nuts 15:45 -!- shvntr [~shvntr@113.84.145.224] has quit [Quit: leaving] 15:50 < nsf> omg 15:51 < nsf> clang++ has just compiled this: 15:51 < nsf> func_sdecl_t *fsd = static_cast<func_sdecl_t*>(fsd); 15:51 < nsf> how is that possible? :) 15:51 < aiju> what does it even do? 15:51 < nsf> no 'fsd's in outer scopes 15:51 < aiju> haha 15:51 < nsf> aiju: I'm interested in that too 15:52 < nsf> let's see what gcc thinks 15:52 < aiju> g++ pukes all over your face 15:52 < nsf> ‘fsd’ may be used uninitialized in this function 15:52 < nsf> at least it says something! 15:53 < nsf> but I really don't understand that 15:54 < nsf> I thought that's what static typing for 15:54 -!- femtoo [~femto@95-89-249-242-dynip.superkabel.de] has quit [Read error: Connection reset by peer] 15:54 < nsf> for catching my mistakes 15:54 < nsf> :\ 15:55 < aiju> there is no news in C++ being completely fucked up 15:56 < nsf> btw, I use -Wall 15:57 -!- JusticeFries [~JusticeFr@173-8-247-218-Colorado.hfc.comcastbusiness.net] has joined #go-nuts 15:58 < nsf> http://ompldr.org/vOGJtbg/2011-04-18-220330_644x340_scrot.png 15:58 < nsf> I mean seriously 15:58 < nsf> wtf is that 15:58 < nsf> I didn't know it's valid 15:58 < nsf> :) 15:58 < nsf> no warning with -Wall 15:58 < aiju> gcc allows it, too 15:58 < nsf> yeah, but gcc at least tells about uninitalized value 15:58 < aiju> not here 15:58 < nsf> hehe 15:58 < nsf> -Wall? 15:58 < aiju> aiju@toshiba ~/tmp $ gcc test.c -Wall -ansi -pedantic 15:59 < nsf> interesting 15:59 < aiju> no warnings, no errors 15:59 < xyproto> abc it's what it is, and that number is -1215468656, just like the meaning of life is 42 15:59 -!- JusticeFries [~JusticeFr@173-8-247-218-Colorado.hfc.comcastbusiness.net] has quit [Remote host closed the connection] 15:59 < aiju> hahaha 15:59 < fzzbt> what the heck? int abc = abc; 15:59 < nsf> xyproto: :D 15:59 < nsf> fzzbt: exactly 15:59 < aiju> but it's -1216110604 15:59 < aiju> here! 15:59 -!- JusticeFries [~JusticeFr@173-8-247-218-Colorado.hfc.comcastbusiness.net] has joined #go-nuts 15:59 < xyproto> aiju: it's just a glitch in the, uhm, matrix 15:59 < aiju> wow what the fuck 15:59 < aiju> even kencc allows it 15:59 < xyproto> aiju: every time you get a deja vu, the magical number changes 16:00 < xyproto> :P 16:00 < xyproto> (it's really strange, I agree) 16:00 < aiju> of course, Go doesn't allow ir 16:00 < aiju> *it 16:00 < aiju> this is the weirdest C feature ever 16:01 < aiju> even more weird than trigraphs and 4[array] 16:01 < nsf> as well as crawl 16:01 < nsf> haha 16:01 < aiju> i really get a different number every time i run it 16:01 < aiju> now that's strange 16:02 < aiju> must be some new Linux feature 16:02 -!- piranha [~piranha@5ED43A0B.cm-7-5a.dynamic.ziggo.nl] has joined #go-nuts 16:02 -!- iant1 [~iant@216.239.45.130] has joined #go-nuts 16:03 < xyproto> "look what I can do!" :P A gif animation, made only with Go (and converted from a series of .png to .gif) http://roboticoverlords.org/images/board.gif 16:03 < nsf> aiju: k3wl linux security stuff has features like that 16:03 < nsf> e.g. shuffling stuff in memory in order to minimize controllable buffer overflow exploits 16:04 -!- iant [~iant@adsl-71-133-8-30.dsl.pltn13.pacbell.net] has quit [Ping timeout: 240 seconds] 16:04 < aiju> oh yeah 16:04 -!- jyxent [~jyxent@129.128.191.96] has quit [Ping timeout: 276 seconds] 16:04 < aiju> security risk randomization 16:04 < nsf> but I don't think it's enabled by default 16:04 < nsf> but well, depends on distro 16:04 < nsf> etc. 16:04 < aiju> i don't know why anyone would EVER believe that address space randomization helps in any way 16:05 -!- virtualsue [~chatzilla@nat/cisco/x-cpvdkgivccorrhtt] has quit [Ping timeout: 260 seconds] 16:05 < aiju> because syscalls are not fucking randomized 16:05 < nsf> :) 16:05 < aiju> and PIC is not a myth 16:05 < taruti> stupid lack of generics :( 16:05 < aiju> i should implement syscall randomization, now that's something! 16:05 < nsf> I'm not a big fan of security 16:06 < aiju> i'm not a big fan of placebos 16:06 < nsf> the weakest element of the security is human being anyway 16:06 -!- jyxent [~jyxent@129.128.191.96] has joined #go-nuts 16:07 < nsf> that's what we call thermorectal brute force method here in russia 16:07 < nsf> :D 16:07 < aiju> if hackers were a bit more social there wouldn't be any exploits, because it's always easier to fuck with humans 16:07 < aiju> you don't even need a soldering iron 16:07 < nsf> haha 16:07 < aiju> if you fake the right shit, people will give you everything you want 16:07 < aiju> i mean, fucking phishing works 16:08 < nsf> it does 16:08 < mpl> how do you fuck phishing? 16:08 < aiju> hhaha 16:08 < taruti> any ideas how to type: func (p *Parser) NPrefixed(int n, func (*Parser)(*<T>)*Parser, *[<T>]), without generics? 16:09 < nsf> omg 16:09 < nsf> taruti: trying to think in terms of generics without having them is a bad idea 16:10 < nsf> I mean rethinking what you're trying to do is a way to go 16:10 < taruti> my thinking is mostly in Haskell :D 16:10 < nsf> maybe if you really want code generation, writing a code generator would work 16:10 < exch> there's your mistake, right there :p 16:10 < aiju> then you're fucked 16:11 < taruti> but any ideas using interface{} while avoiding reflection? 16:11 < nsf> uhm, you can't avoid reflection using interface 16:11 < nsf> it uses reflection :) 16:12 < nsf> any interface 16:12 < taruti> nsf: not the reflect package which eats all memory and changes interface every second week. 16:12 < nsf> :D 16:12 < aiju> haha 16:12 < aiju> you mispelled "day" 16:12 < nsf> haha 16:13 < aiju> but hey you can always have gofix fuck up your code! 16:13 -!- virtualsue [~chatzilla@nat/cisco/x-avgzhznyxgyfekmu] has joined #go-nuts 16:16 -!- mode/#go-nuts [+v iant] by ChanServ 16:17 < kimelto> no need for gofix, I can do that myself ;p 16:19 < nsf> no, gofix is magic 16:19 < nsf> I like it 16:19 < nsf> it fixed gocode 16:19 < nsf> after 'reflect' package update 16:25 -!- hcatlin [~hcatlin@pdpc/supporter/professional/hcatlin] has joined #go-nuts 16:31 -!- dfr|work [~dfr|work@nat/google/x-tmwhezksoorawfaq] has quit [Quit: Leaving] 16:31 -!- dfr|work [~dfr|work@nat/google/x-whwoczdtvgxrytqt] has joined #go-nuts 16:39 -!- gregschlom [~quassel@118.68.205.177] has quit [Remote host closed the connection] 16:42 -!- wrtp [~rog@92.17.70.99] has joined #go-nuts 16:45 -!- fluffle [~camelid@s.pl0rt.org] has quit [Read error: Operation timed out] 16:47 -!- aconran__ [~aconran-o@38.104.129.126] has joined #go-nuts 16:47 -!- aconran_ [~aconran-o@38.104.129.126] has quit [Read error: Connection reset by peer] 16:49 -!- fluffle [~camelid@s.pl0rt.org] has joined #go-nuts 16:49 -!- dropdriv1 [~dropdrive@cpe-72-227-159-70.nyc.res.rr.com] has joined #go-nuts 16:53 -!- rejb [~rejb@unaffiliated/rejb] has quit [Ping timeout: 246 seconds] 16:53 -!- dropdrive [~dropdrive@cpe-72-227-159-70.nyc.res.rr.com] has quit [Ping timeout: 246 seconds] 16:54 -!- xyproto [~alexander@77.40.159.131] has quit [Read error: Connection reset by peer] 16:56 -!- rejb [~rejb@unaffiliated/rejb] has joined #go-nuts 16:56 -!- arun_ [~arun@unaffiliated/sindian] has joined #go-nuts 17:00 < plexdev> http://is.gd/U1CN4B by [Rob Pike] in go/test/bench/ -- test/bench: update timings; moving to new machine. 17:11 -!- ShadowIce [~pyoro@unaffiliated/shadowice-x841044] has joined #go-nuts 17:12 -!- Fish [~Fish@9fans.fr] has joined #go-nuts 17:16 -!- Scorchin [~Scorchin@host86-160-234-145.range86-160.btcentralplus.com] has joined #go-nuts 17:23 -!- firwen [~firwen@gex01-1-78-234-55-225.fbx.proxad.net] has joined #go-nuts 17:23 -!- dropdriv1 [~dropdrive@cpe-72-227-159-70.nyc.res.rr.com] has quit [Quit: leaving] 17:24 -!- dropdrive [~dropdrive@cpe-72-227-159-70.nyc.res.rr.com] has joined #go-nuts 17:32 < plexdev> http://is.gd/9JN0U2 by [Russ Cox] in 2 subdirs of go/ -- gc: fix complex move again 17:35 -!- skelterjohn [~jasmuth@lawn-gw.rutgers.edu] has joined #go-nuts 17:36 -!- zimsim [~simon@87.72.77.195] has quit [Ping timeout: 248 seconds] 17:38 -!- artefon [~thiago@dhcp55.usuarios.dcc.ufmg.br] has quit [Quit: bye] 17:38 -!- virtualsue [~chatzilla@nat/cisco/x-avgzhznyxgyfekmu] has quit [Quit: ChatZilla 0.9.86.1 [Firefox 4.0/20110318052756]] 17:40 -!- r_linux [~r_linux@189.38.220.35] has joined #go-nuts 17:41 -!- [kevlar] [~kevlar@70-90-168-189-SFBACalifornia.hfc.comcastbusiness.net] has quit [Quit: This computer has gone to sleep] 17:46 -!- tobik [~tobik@p549FE928.dip.t-dialin.net] has joined #go-nuts 17:50 -!- hcatlin [~hcatlin@pdpc/supporter/professional/hcatlin] has quit [Quit: peace in teh middle east] 17:51 -!- zimsim [~simon@87.72.77.195] has joined #go-nuts 17:53 -!- keithcascio [~keithcasc@nat/google/x-hxklwtlhmkprirov] has joined #go-nuts 17:55 -!- huin [~huin@91.84.99.134] has joined #go-nuts 17:57 -!- franksalim [~franksali@108-65-76-174.lightspeed.sntcca.sbcglobal.net] has quit [Read error: Connection reset by peer] 17:57 -!- franksalim [~franksali@99-123-6-19.lightspeed.sntcca.sbcglobal.net] has joined #go-nuts 17:59 -!- fmoo [~Adium@c-76-102-41-101.hsd1.ca.comcast.net] has joined #go-nuts 18:00 -!- franksalim_ [~franksali@99-123-6-19.lightspeed.sntcca.sbcglobal.net] has joined #go-nuts 18:01 -!- franksalim_ [~franksali@99-123-6-19.lightspeed.sntcca.sbcglobal.net] has quit [Read error: Connection reset by peer] 18:02 -!- franksalim_ [~franksali@108-65-76-174.lightspeed.sntcca.sbcglobal.net] has joined #go-nuts 18:02 -!- wrtp [~rog@92.17.70.99] has quit [Quit: wrtp] 18:02 -!- Project-2501 [~Marvin@82.84.86.178] has joined #go-nuts 18:03 -!- franksalim [~franksali@99-123-6-19.lightspeed.sntcca.sbcglobal.net] has quit [Ping timeout: 252 seconds] 18:03 -!- tvw [~tv@e176009205.adsl.alicedsl.de] has quit [Read error: Connection reset by peer] 18:04 < plexdev> http://is.gd/UBdgh1 by [Rob Pike] in 2 subdirs of go/doc/ -- tutorial: modernize the definition and use of Open. 18:04 < plexdev> http://is.gd/CwlQXj by [Brad Fitzpatrick] in go/src/pkg/mime/ -- mime: RFC 2231 continuation / non-ASCII support 18:04 -!- franksalim__ [~franksali@99-123-6-19.lightspeed.sntcca.sbcglobal.net] has joined #go-nuts 18:05 -!- skelterjohn_ [~jasmuth@lawn-gw.rutgers.edu] has joined #go-nuts 18:05 -!- skelterjohn [~jasmuth@lawn-gw.rutgers.edu] has quit [Read error: Connection reset by peer] 18:05 -!- TheMue [~TheMue@p5DDF6C56.dip.t-dialin.net] has joined #go-nuts 18:06 -!- Project_2501 [~Marvin@82.84.90.169] has quit [Ping timeout: 264 seconds] 18:06 -!- nsf [~nsf@jiss.convex.ru] has quit [Quit: WeeChat 0.3.4] 18:07 -!- imsplitbit [~imsplitbi@64.39.4.132] has joined #go-nuts 18:08 -!- franksalim_ [~franksali@108-65-76-174.lightspeed.sntcca.sbcglobal.net] has quit [Ping timeout: 258 seconds] 18:08 -!- franksalim [~franksali@108-65-76-174.lightspeed.sntcca.sbcglobal.net] has joined #go-nuts 18:08 < exch> wahey. recursion problem in compiler solved \o/ 18:08 < exch> I deserve a cookie for this 18:09 < uriel> exch: congrats 18:09 < exch> thanks 18:09 -!- m4dh4tt3r [~Adium@c-69-181-223-245.hsd1.ca.comcast.net] has joined #go-nuts 18:10 < uriel> m4dh4tt3r: hey, you around? 18:10 < exch> "def foo ( -- ) [ [ foo ] ]" That bit of code caused me significant amounts of headache. And as usual, the fix was shamefully trivial 18:10 -!- artefon [~thiago@187.59.187.85] has joined #go-nuts 18:10 -!- franksalim__ [~franksali@99-123-6-19.lightspeed.sntcca.sbcglobal.net] has quit [Ping timeout: 248 seconds] 18:11 -!- virtualsue [~chatzilla@nat/cisco/x-enbfwbxtakcxeutd] has joined #go-nuts 18:17 -!- firwen [~firwen@gex01-1-78-234-55-225.fbx.proxad.net] has quit [Ping timeout: 248 seconds] 18:17 -!- firwen [~firwen@gex01-1-78-234-55-225.fbx.proxad.net] has joined #go-nuts 18:20 < skelterjohn> is that your bizarre stack-based language? 18:21 < exch> yes 18:21 < plexdev> http://is.gd/zvVSWs by [Brad Fitzpatrick] in go/src/pkg/mime/ -- mime: add a TODO, fix the format of an error 18:21 < exch> not so bizar really. It's a slightly modified version of Factor 18:21 < exch> or rather, a subset thereof at this point 18:21 < skelterjohn> that doesn't make it any less bizarre :) 18:22 < exch> hehe I suppose it's an acquired taste 18:22 < exch> I love it 18:23 < skelterjohn> i don't mean this in an offensive way, but what use is this sort of language? 18:23 < skelterjohn> what kind of tasks does it make easier, or more efficient, or better in some way? 18:24 < exch> it's a fair question. Like functional languages, it is very suitable for manipulation of large data structures 18:25 < exch> but as opposed to functional langs, it lacks (the (annoying (scoping (requirement)))) 18:26 < skelterjohn> not all functional languages are LISP variants 18:26 < m4dh4tt3r> uriel: what's up? 18:27 < exch> { "#fff" "123" "321" } [ "#" head? not ] filter [ string>int ] map 0 [ + ] reduce println 18:27 < exch> to me, that is just beautiful :) 18:28 < skelterjohn> :\ 18:29 -!- tobik [~tobik@p549FE928.dip.t-dialin.net] has quit [Ping timeout: 240 seconds] 18:29 < skelterjohn> i don't like it when code is more of a puzzle than a set of instructions 18:29 < exch> It always is if you don't understand the language it's written in 18:30 < exch> The added trick here is that it's a very different way to write code than imperative languages. You need a different way of thinking 18:30 < exch> There's nothing puzzly about that code for me really 18:30 < skelterjohn> the reason imperative languages are the most popular is (i believe) because they model human thought most closely 18:30 -!- tobik [~tobik@p4FCBFC03.dip.t-dialin.net] has joined #go-nuts 18:31 < skelterjohn> you do this, then you do this, then you do this 18:31 < aiju> exch: is that factor? 18:31 < exch> that's how you should read that code 18:31 < exch> aiju: http://factorcode.org 18:31 < aiju> yeah, i know factor 18:32 < aiju> (know as in "i've heard of it") 18:32 < exch> aiju: ah. yes it's a script lang I'm implementing in Go. It's a slightly modified subset of Factor 18:32 < aiju> ah ic 18:32 < aiju> `0:,/" ",',/"\n",'$,/({x,'}'X)@'{[x]300_{[y]x*y*1-y}\[400;0.5]}'X 18:32 < exch> skelterjohn: a concatenative language like factor has no operator precedence for instance. Everything that happens, happens exactly in the order the code is written in 18:32 < aiju> *that* is just beautiful 18:33 < exch> hehe that reminds me of perl :p 18:33 < skelterjohn> it's probably K 18:34 < skelterjohn> the language created with conciseness as the only goal 18:34 < skelterjohn> proof that just because a thing isn't good doesn't mean that it's good in the extreme 18:35 < aiju> http://aiju.de/code/k/tictactoe 18:35 < KirkMcDonald> I always liked RPN calculators. 18:36 < skelterjohn> i wonder if i should raise my kids to think of math in postfix notation 18:36 < skelterjohn> (no kids, as yet) 18:36 < exch> better work on that first then :p 18:37 < skelterjohn> wife says i need a job first 18:37 < skelterjohn> heh 18:37 < skelterjohn> blah blah blah 18:37 < aiju> just poke holes in condoms 18:37 < exch> hehe 18:37 -!- zozoR [~Morten@56344480.rev.stofanet.dk] has quit [Ping timeout: 246 seconds] 18:37 < exch> at least you have a wife. that's always a good start :p 18:37 < skelterjohn> if i did that we'd be limited to one child, because she'd cut offsomething important 18:38 < aiju> skelterjohn: her arteries? 18:38 < skelterjohn> something of mine 18:38 < plexdev> http://is.gd/EulKmS by [Russ Cox] in 2 subdirs of go/src/pkg/ -- reflect: more efficient; cannot Set result of NewValue anymore 18:38 < aiju> your arteries? ;P 18:38 < plexdev> http://is.gd/mEdK8s by [Russ Cox] in 8 subdirs of go/src/ -- changes for more restricted reflect.SetValue 18:38 < skelterjohn> probably not my arteries 18:41 -!- Adys [~Adys@unaffiliated/adys] has quit [Quit: Quit] 18:43 -!- zozoR [~Morten@90.185.81.29] has joined #go-nuts 18:46 -!- bortzmeyer [~stephane@lan31-2-82-224-72-72.fbx.proxad.net] has joined #go-nuts 18:51 -!- niemeyer [~niemeyer@189-30-249-127.pltce701.dsl.brasiltelecom.net.br] has quit [Ping timeout: 240 seconds] 18:53 -!- boscop [~boscop@f055057242.adsl.alicedsl.de] has quit [Read error: Connection reset by peer] 18:54 < bortzmeyer> If I have an array of chan, is there a way to select on all without writing one case per array element? 18:54 -!- boscop [~boscop@f055057242.adsl.alicedsl.de] has joined #go-nuts 18:55 <+iant> bortzmeyer: no 18:56 < huin> short of making a goroutine per element then feeding to a single channel... 18:56 < huin> which may or may not be decadent :) 18:56 < bortzmeyer> iant: my solution, until now, was to preprocess the source to produce automatically one case per element (so I can parametrize the size of the array) 18:57 -!- zozoR [~Morten@90.185.81.29] has quit [Read error: Connection reset by peer] 18:57 -!- niemeyer [~niemeyer@189.27.145.95.dynamic.adsl.gvt.net.br] has joined #go-nuts 19:00 -!- skelterjohn [~jasmuth@lawn-gw.rutgers.edu] has quit [Quit: skelterjohn] 19:04 -!- skelterjohn [~jasmuth@lawn-gw.rutgers.edu] has joined #go-nuts 19:04 < exch> Can the go compiler generate a listing of constants/functions/etc which are never called/used? 19:05 -!- skelterjohn_ [~jasmuth@lawn-gw.rutgers.edu] has joined #go-nuts 19:05 -!- skelterjohn [~jasmuth@lawn-gw.rutgers.edu] has quit [Read error: Connection reset by peer] 19:05 -!- nsf [~nsf@jiss.convex.ru] has joined #go-nuts 19:08 < skelterjohn> it would be easy to do that with source analysis 19:08 -!- boscop [~boscop@f055057242.adsl.alicedsl.de] has quit [Ping timeout: 246 seconds] 19:08 < skelterjohn> i don't know if anything in the compiler toolkit will do that for you 19:08 < exch> it already does that for vars 19:08 < exch> not global ones though 19:08 < skelterjohn> not globals 19:08 < skelterjohn> right 19:08 -!- itrekkie [~itrekkie@ip72-211-130-204.tc.ph.cox.net] has quit [Disconnected by services] 19:09 < skelterjohn> because they could be used by other packages 19:09 < aiju> you can simply write an awk script orsomething ;P 19:09 < huin> complicated :( 19:09 < skelterjohn> aiju: can awk do Go type analysis? =p 19:09 < huin> i'd probably use the AST 19:09 < aiju> depending on how consistent your style is 19:09 < exch> I roll with gofmt 19:09 < aiju> skelterjohn: i find C functions with '^func' because i always have the names at a beginning of a line 19:10 < skelterjohn> if you use rog-go.googlecode.com/hg/exp/go/types with AST this is very easy 19:10 < skelterjohn> aiju: not sure about relevance 19:10 < aiju> well, finding variables 19:11 < aiju> global variables start with var 19:11 < skelterjohn> i interpreted exch's question as seeing if a particular function is ever called in the source set 19:11 < KirkMcDonald> I used to format my Go code like that, before they made the semicolons optional and mandated certain formatting choices. 19:11 < exch> skelterjohn: yes that's what I intended. Also for constants ever being used 19:11 < exch> it's only useful for package-local stuff though 19:11 < skelterjohn> right - easy to do with wrtp's type package and go/ast 19:11 < skelterjohn> no - you can do it for the whole source tree :) 19:11 < KirkMcDonald> func Foo\n(arg, arg, arg T)\n(R1, R2) 19:11 < huin> [tangent] one thing that i've wondered about Go style is how to avoid long lines in function definition line 19:12 -!- boscop [~boscop@f055057242.adsl.alicedsl.de] has joined #go-nuts 19:12 < KirkMcDonald> At least, when the function parameter list was particularly long, I'd do that. 19:12 < KirkMcDonald> Most of the time I left it on a single line. 19:12 < huin> does gofmt change that? 19:12 < KirkMcDonald> I forget. 19:12 < skelterjohn> if you do that, go will insert semicolons after func Foo\n 19:13 < KirkMcDonald> Right. 19:13 -!- bortzmeyer [~stephane@lan31-2-82-224-72-72.fbx.proxad.net] has quit [Ping timeout: 246 seconds] 19:13 < KirkMcDonald> I had to stop when they made the big semicolon change. 19:14 < skelterjohn> i think you could do func Foo (\n param1, \n param2, \n ) etc 19:14 < exch> does this work?: func foo(\narg1, arg2) (\nret1, ret2) 19:14 < skelterjohn> :) 19:15 < skelterjohn> yeah that works fine (just tested) 19:15 < huin> how ugly is it? :) 19:16 < skelterjohn> it could look better 19:16 < huin> and does gofmt fudge about with it? 19:16 < skelterjohn> i'm sure gofmt would leave it alone 19:16 < skelterjohn> gofmt doesn't merge lines 19:16 < huin> dunno, i've seen it meddle with things like that 19:16 < huin> or remove indent or something 19:16 < huin> i forget 19:16 < KirkMcDonald> I forget, does Go have line continuations? 19:16 < aiju> yeah 19:17 < skelterjohn> what's a line continuation? 19:17 < KirkMcDonald> skelterjohn: backslash-newline 19:17 < aiju> just end the line with the right thing ;P 19:17 -!- aho [~nya@fuld-590c62a8.pool.mediaWays.net] has joined #go-nuts 19:17 < skelterjohn> like a \? 19:17 < skelterjohn> so, no arbitrary line continuations 19:17 < skelterjohn> just have to end the line with something that isn't an ident i think 19:18 < exch> gofmt removes the newlines in foo(\n arg1, arg2) 19:18 < huin> :( 19:18 < skelterjohn> oh, gofmt messes with it heavily 19:18 < skelterjohn> laaaaame 19:19 -!- zozoR [~Morten@90.185.81.29] has joined #go-nuts 19:19 < huin> yeah, thought that's what happened to me 19:19 < huin> so i'm stuck with long lines 19:19 < skelterjohn> http://pastebin.com/quuWsnfi 19:19 -!- foocraft [~dsc@86.36.49.200] has quit [Remote host closed the connection] 19:20 < KirkMcDonald> I still maintain that implementing the optional semicolons as a lexical hack may not have been the best solution. 19:20 < huin> arguably, yes 19:20 < nsf> KirkMcDonald: I think optional semicolon insertion should be feature 19:20 < huin> i like the lack of visual noise, but it does have this nasty sideeffect 19:21 < nsf> like: I don't want to write semicolons, compiler insert them for me 19:21 < skelterjohn> ew no way - either it's mandatory or it doesn't exist. can't be optional. 19:21 < nsf> but not forcing this 19:21 < KirkMcDonald> Optional semicolons are good! That is not what I object to. 19:21 < Namegduf> Optional: The worst of both, best of neither 19:21 < nsf> I think (especially in Go) 19:21 < Namegduf> Also they are "optional" if you don't use gofmt 19:21 < nsf> it's perfectly possible to do detection 19:21 < aiju> KirkMcDonald: i think adding newline to the grammar is insane 19:21 < nsf> whether user wants autosemis or not 19:21 < KirkMcDonald> It would be considerably more complicated to implement them in the grammar, I agree. 19:21 < Namegduf> No more or less than any other stylistic constraint. 19:22 -!- sebastia1 [~sebastian@188.114.142.217] has joined #go-nuts 19:22 < nsf> and frankly 19:22 < nsf> in last few weeks I've written like 6-7k lines of C++ code 19:22 < nsf> I don't even notice semicolons anymore 19:22 -!- artefon [~thiago@187.59.187.85] has quit [Read error: Connection reset by peer] 19:22 < nsf> :) 19:22 < aiju> now you start spewing classes 19:22 < KirkMcDonald> I do like Python's rules with respect to separating statements. 19:23 < aiju> i never liked python rules 19:23 < Namegduf> Well, can't have it both ways. 19:23 < KirkMcDonald> And this is leaving aside Python's use of indentation as a block delimiter. 19:23 < skelterjohn> aiju: you think K code looks good. sort of invalidates anything else you could say O:-) 19:23 < Namegduf> Either you have semicolons, you have a lexer hack with very simple rules, or you have it be part of the grammar. 19:23 < aiju> skelterjohn: haha 19:23 -!- boscop [~boscop@f055057242.adsl.alicedsl.de] has quit [Read error: Connection reset by peer] 19:24 -!- boscop [~boscop@f055057242.adsl.alicedsl.de] has joined #go-nuts 19:24 < KirkMcDonald> Python essentially implements it as a lexical trick, but one that is somewhat smarter than what Go does. 19:25 < nsf> hacks, tricks, what else 19:25 < nsf> can we simply have semicolons? lol 19:25 < KirkMcDonald> http://docs.python.org/reference/lexical_analysis.html#line-structure 19:25 < nsf> :) 19:25 < aiju> i want kitties 19:25 < KirkMcDonald> So there are "physical" lines, which are the things literally separated by newline characters. 19:25 < aiju> is there a unicode symbol for cat? use that one as a statement separator 19:25 < Namegduf> KirkMcDonald: The reference to the syntax suggests it is not lexical. 19:26 < KirkMcDonald> Namegduf: That reference is referring to something else. 19:26 -!- boscop [~boscop@f055057242.adsl.alicedsl.de] has quit [Read error: Connection reset by peer] 19:26 < KirkMcDonald> Let me explain. 19:27 < KirkMcDonald> In addition to physical lines, there are logical lines, which consist of one or more physical lines, joined by certain rules. 19:27 < aiju> python's thing is just like Go, it seems to me 19:27 < aiju> except maybe with different rules 19:27 < aiju> and more fancy terminology 19:27 < nsf> aiju: lol, then it's different :) 19:27 < nsf> "different rules" 19:27 < Namegduf> Python's thing looks like Go's thing if you rename logical line to "statement" and then say "but parens cause line joining" without saying how or why. 19:27 < KirkMcDonald> The rules are different indeed. 19:27 < aiju> nsf: well, it's not something entirely different 19:27 < nsf> what else could be different? 19:28 < nsf> :D 19:28 < aiju> nsf: the underlying method 19:28 -!- boscop [~boscop@f055057242.adsl.alicedsl.de] has joined #go-nuts 19:28 < exch> there is no unicode kitten :< How is this possible?? 19:28 < KirkMcDonald> Also, Python maintains the distinction between a newline and a semicolon. 19:28 < KirkMcDonald> It does not insert semicolons in place of newlines. 19:28 < skelterjohn> didn't know that semicolons existed in python 19:28 < aiju> KirkMcDonald: oh, kay 19:29 < KirkMcDonald> Python, somewhat like Go, distinguishes between simple and compound statements. 19:29 < Namegduf> That's because newlines which would generate a semicolon instead are passed onto the parser. 19:29 < KirkMcDonald> A compound statement is a statement which has a suite of code associated with it. 19:29 < KirkMcDonald> So, if, while, def, and so on are compound statements. 19:30 < KirkMcDonald> return, continue, assignment, and so on are simple statements. 19:30 -!- boscop_ [~boscop@f055057242.adsl.alicedsl.de] has joined #go-nuts 19:30 -!- boscop [~boscop@f055057242.adsl.alicedsl.de] has quit [Read error: Connection reset by peer] 19:30 < KirkMcDonald> Semicolons in Python permit you to place multiple simple statements on a single line. 19:30 < aiju> do it like LISP 19:31 < KirkMcDonald> print 'a'; print 'b'; print 'c' # valid Python code 19:31 < aiju> problem solved 19:31 < nsf> semicolons, please 19:31 < nsf> :P 19:31 < aiju> or do it like Haskell, in which case, FUCK 19:31 < Namegduf> You mean "Do all of the above"? 19:31 < aiju> haha 19:32 < aiju> i don't want to know what Haskell does 19:32 < KirkMcDonald> You can also put the suite of a compound statement on the same line as the initial clause, if that suite consists only of simple statements: if foo: print 'blah'; print 'blargh' # also valid 19:32 < nsf> I bet no one ships editor with a compiler that inserts semicolons automatically 19:32 < nsf> how about that? 19:32 < nsf> :D 19:32 < aiju> i hate people whining about syntax, but i make an exception for Haskell ;P 19:32 < Namegduf> Haskell can be Python-like or C like 19:32 < Namegduf> Depending on the mood of the programmer 19:32 < Namegduf> You can use indentation or { } 19:32 < skelterjohn> nsf: because programmers don't like coding in WYSIWYG environments 19:33 < aiju> nsf: i'm sure there is an editor which inserts semicolons automatically 19:33 < nsf> :D 19:33 < aiju> after all, some editors insert braces 19:33 < skelterjohn> i hate that 19:33 < Namegduf> nsf: Doing anything automatically with C/C++ code is a recipe for pain 19:33 < nsf> :D 19:33 < aiju> s/with .* code// 19:33 < KirkMcDonald> The important thing here is that, in both of these cases, these lines are a single logical line, terminated with a NEWLINE token. 19:34 < Namegduf> Yeah, yeah. 19:34 < KirkMcDonald> http://docs.python.org/reference/compound_stmts.html#grammar-token-suite 19:34 < Namegduf> Python works like Go, but it emits NEWLINE tokens where Go would inject a semicolon token, and has paren counting on a single line. 19:35 < aiju> do it like javascript 19:35 < aiju> make the rules so complicated that everyone just sets semicolons 19:35 < Namegduf> And that lets it distinguish multiple commands on the same line from multiple commands on separate lines in the parser, surely a highly useful feature 19:35 < KirkMcDonald> The lexer knows about brackets, and only emits NEWLINE tokens for line breaks that appear outside of them. 19:35 < nsf> jslint complains if code has no semicolons 19:35 < nsf> even though it's perfectly valid 19:35 < Namegduf> Yes, that's what I said. 19:35 < KirkMcDonald> I like restating things. :-) 19:35 < aiju> there should be a lint tool for life 19:35 < Namegduf> They don't say how, but it must be quite the hack. 19:35 < aiju> warning: not married to girlfriend 19:36 < nsf> :D 19:36 < aiju> warning: too much fatty food 19:36 < aiju> warning: house not tsunami safe 19:36 < nsf> would be nice to have one 19:36 < Namegduf> What, you don't know about enough problems already? 19:37 < Namegduf> Anyways, my point is that the only nicer thing Python does that doesn't just complicate the syntax to no/little effect is that paren counting 19:37 < aiju> yeah, sounds good to me, too 19:37 < Namegduf> Emitting a NEWLINE token as opposed to semicolon injection does basically nothing. 19:38 < Namegduf> And they don't go into how the paren counting works. 19:38 < Namegduf> Aside that it does. 19:40 < KirkMcDonald> I don't see what the difficulty with bracket counting is. 19:40 < KirkMcDonald> See an open bracket, increment a counter. 19:40 < KirkMcDonald> Or whatever. 19:40 < KirkMcDonald> (One counter for each kind of bracket.) 19:42 < nsf> oh, I've just realized that I want to make /* */ like /+ +/ in Go 19:42 < aiju> there is /+ +/ in Go? 19:42 < nsf> nestable 19:42 < nsf> no 19:42 < nsf> oh, sorry 19:42 < nsf> like in D 19:43 -!- artefon [~thiago@187.59.187.85] has joined #go-nuts 19:44 < nsf> or I don't want that 19:44 < nsf> I don't know :) 19:44 < aiju> haha 19:47 -!- boscop_ [~boscop@f055057242.adsl.alicedsl.de] has quit [Read error: Connection reset by peer] 19:47 -!- boscop_ [~boscop@f055057242.adsl.alicedsl.de] has joined #go-nuts 19:49 < aiju> D only sounds worse with every thing i hear about it 19:49 < nsf> haha, yeah, it's a pile of new concepts on your head 19:49 < nsf> but kinda looks like Cish 19:49 < nsf> :D 19:49 < nsf> just a disguise 19:49 < aiju> it's like C++, just in green 19:49 < aiju> maybe not quite THAT bad, but still insane 19:50 < nsf> no, C++ has its own unique style 19:50 < Namegduf> It's an attempt at C++ done right. 19:50 < nsf> std::unordered_map<std::string, MyClass>::iterator it; 19:50 < nsf> and that's what C++ is all about 19:50 < nsf> training fingers 19:50 < Namegduf> Every feature for everyone in every way, but less horrible in syntax. 19:50 < aiju> Namegduf: which sounds like "holocaust done right" to my ears 19:50 < Namegduf> Haha. 19:52 -!- boscop_ [~boscop@f055057242.adsl.alicedsl.de] has quit [Read error: Connection reset by peer] 19:52 < skelterjohn> aiju: don't germans get arrested for using that word? 19:53 -!- boscop_ [~boscop@f055057242.adsl.alicedsl.de] has joined #go-nuts 19:55 < aiju> skelterjohn: ssh 19:56 -!- sebastia1 [~sebastian@188.114.142.217] has quit [Quit: leaving] 19:59 -!- boscop_ [~boscop@f055057242.adsl.alicedsl.de] has quit [Read error: Connection reset by peer] 20:00 -!- rlab [~Miranda@220-191-113-92.pool.ukrtel.net] has joined #go-nuts 20:00 -!- boscop_ [~boscop@f055057242.adsl.alicedsl.de] has joined #go-nuts 20:03 -!- skelterjohn [~jasmuth@lawn-gw.rutgers.edu] has quit [Quit: skelterjohn] 20:03 -!- fmoo [~Adium@c-76-102-41-101.hsd1.ca.comcast.net] has quit [Quit: Leaving.] 20:07 < huin> nsf: on the plus side, C++0x should cut that down a bit 20:07 < huin> not that i want to use it, even so 20:07 < aiju> C++0x cutting down what? 20:07 < aiju> sanity? 20:07 < nsf> and add more crap :) 20:07 < huin> std::unordered_map<std::string, MyClass>::iterator it; 20:07 < aiju> i doubt that 20:07 < nsf> yeah, that will be replaced 20:08 < nsf> with 'auto it = ...' 20:08 < huin> yourmap.begin(); 20:08 < huin> or something 20:08 < huin> and there's some foreach construct 20:08 -!- hopso [~hopso@a91-154-2-70.elisa-laajakaista.fi] has quit [Remote host closed the connection] 20:08 < huin> but really... it's not making the language attractive to me 20:08 < huin> just... less ugly 20:08 < aiju> it's still C++ 20:08 < nsf> it has other issues 20:09 < nsf> I know many of them 20:09 < nsf> context-dependent grammar with amiguities is the worst one 20:09 < nsf> together with preprocessor-based module system 20:10 < nsf> int x = !"123"; 20:10 < nsf> valid C++ 20:10 < nsf> crappy variable declarations 20:10 < nsf> etc, etc. 20:10 < nsf> I can continue forever 20:10 < plexdev> http://is.gd/ucRsjW by [Russ Cox] in go/src/pkg/http/ -- http: fix IP confusion in TestServerTimeouts 20:11 < aiju> they just tried patching features into C whih don't match C at all 20:11 < nsf> yeah 20:11 < nsf> the biggest thing I don't understand 20:11 < nsf> is why it's so successful 20:11 < nsf> or popular should I say 20:11 < aiju> Java is successful 20:11 -!- araujo [~araujo@gentoo/developer/araujo] has quit [Read error: Connection reset by peer] 20:11 < aiju> C# is successful 20:12 < nsf> yes, yes, why? :) 20:12 < aiju> it stopped amazing me 20:12 < aiju> that C used to be really popular is much more amazing 20:12 -!- Venom_X [~pjacobs@75-27-133-72.lightspeed.austtx.sbcglobal.net] has quit [Ping timeout: 250 seconds] 20:12 < nsf> well, I understand the popularity of C 20:13 -!- araujo [~araujo@gentoo/developer/araujo] has joined #go-nuts 20:13 < nsf> because it was created so early in the computing world 20:13 < nsf> I'm sure for its time it was awesome 20:13 < nsf> and for few decades after that time :) 20:13 < aiju> well 20:13 < aiju> there were languages like BCPL 20:13 < nsf> then people started to seek for something new 20:13 < aiju> which had more features and such 20:13 < aiju> string support, math support in the language 20:14 < aiju> early C was really just fancy machine code 20:15 < aiju> no typechecking, no real structs 20:15 < nsf> but C++, common 20:15 < nsf> I don't understand 20:15 -!- zozoR [~Morten@90.185.81.29] has quit [Remote host closed the connection] 20:15 < nsf> and I hate one thing mostly in C++ 20:15 < nsf> is the spirit of "better C" 20:15 < Namegduf> C++ let you use the C university and speed with all the features you could ever want. 20:15 < aiju> long compiles? :D 20:15 < nsf> it's not better 20:15 < nsf> it's worse 20:16 < aiju> Namegduf: except actually useful ones 20:16 < nsf> but people just think it's better because it is supposed to be 20:16 < aiju> like garbage collection 20:16 < aiju> or concurrency 20:16 < aiju> in a sane way, i mean 20:16 < aiju> what i like about LISP 20:16 -!- Adys [~Adys@unaffiliated/adys] has joined #go-nuts 20:16 < aiju> you can write in any style you can pull out of your nose 20:16 < huin> i don't think C or C++ specifically support concurrency beyond having a "volatile" keyword 20:16 < nsf> aiju: compilation time is out of discussion, everyone hates it 20:17 < aiju> huin: well, there are libs 20:17 < huin> yeah, but that's not the language 20:17 < aiju> huin: exactly 20:17 -!- Venom_X [~pjacobs@66.54.185.131] has joined #go-nuts 20:17 < nsf> crappy libs may I add 20:18 < nsf> :) 20:18 < nsf> it's hard to find a good C++ library 20:18 < aiju> libs are always crappy, by defintiion 20:18 < huin> non-standard language libs 20:18 < nsf> half of stackoverflow threads point to boost 20:18 < nsf> >_< 20:18 < aiju> aargghh boost 20:18 < aiju> boost causes PTSD 20:20 < Namegduf> Boost should be included with C++. It's a natural part of the language's approach to problems. 20:20 < Namegduf> If it isn't working, add more features 20:20 < nsf> :D 20:20 < kimelto> sad but true 20:21 < huin> http://stackoverflow.com/questions/4980766/reserved-keywords-count-by-programming-language (dunno about accuracy) 20:21 < aiju> COBOL has 500 reserved keywords 20:21 < huin> cripes 20:21 < aiju> "C 32" is guaranteed to be wrong 20:21 < huin> any space left for variable names? 20:21 < nsf> C: 32, what a nice language 20:21 < aiju> huin: COBOL code looks like "MULTIPLY X BY 100" 20:21 < nsf> aiju: is it? 20:21 < aiju> nsf: it depends on the standard :) 20:21 < nsf> :D 20:22 * huin feels ill 20:22 < aiju> standard COBOL coding style only adds fuel to fire 20:22 -!- boscop_ [~boscop@f055057242.adsl.alicedsl.de] has quit [Ping timeout: 246 seconds] 20:22 < aiju> a simple program like reading a number in and writing it out takes two pages in COBOL 20:22 < aiju> full of weird declarations and of course pages of comments 20:23 < nsf> sounds scary 20:24 < aiju> http://aiju.de/b/sqrt 20:24 < aiju> i wrote an actually working COBOL program for that page 20:24 < nsf> omg 20:24 < aiju> Identification Division. 20:24 < aiju> Program-ID. sqrtpgm. 20:24 < aiju> Data Division. 20:24 < aiju> Working-Storage Section. 20:24 < nsf> C++ boost, lol 20:24 < nsf> longer than cobol 20:25 < nsf> for (unsigned i=0; i < m_Iterations; i++) 20:25 < nsf> wtf, where are iterators? 20:25 < nsf> :) 20:25 < aiju> that page upsets many people 20:25 < aiju> because i "mislead people" 20:25 < nsf> java looks funny too :) 20:26 < aiju> hell, this is NICE compared to actual java code 20:26 < nsf> :D 20:26 < aiju> S9V99999 20:26 < aiju> COBOL supported binary arithmetic only since '03 or similar btw :) 20:27 < aiju> everything is done in BCD 20:27 < aiju> the really frightening thing is called ... 20:27 < aiju> VISUAL COBOL 20:27 -!- fmoo [~Adium@66.220.144.74] has joined #go-nuts 20:28 < nsf> http://aiju.de/b/configure 20:28 < nsf> lol 20:31 < uriel> nsf: haha 20:36 < nsf> http://aiju.de/rant/dynamic-linking 20:36 < nsf> nice page :) 20:37 < nsf> sadly if one writes a compiler and will say that he will not support dynamic linking 20:37 < nsf> (like Go does) 20:37 < nsf> many people will be angry :) 20:38 < aiju> to paraphrase Elfriede Yellinek: "The compiler opposes society by not pleasing" 20:39 < nsf> on the other hand every module system is a big problem when you want to have dynamic linking support for that 20:39 < nsf> name mangling, complicated ABI's, etc. 20:40 < nsf> I think Go is the only compiler with a module system, where you can just duplicate a library without recompiling it 20:40 < nsf> and it will be a different library 20:40 < nsf> because it does renaming, etc 20:40 < nsf> ugh.. 20:41 < nsf> and no one tries to redesign linkers 20:41 < nsf> because it's like redesigning UNIX or C 20:41 < nsf> no one does that 20:41 < nsf> :) 20:41 < nsf> for some reason 20:42 -!- crodjer [~rohanjain@203.110.240.205] has quit [Remote host closed the connection] 20:42 -!- pharris [~Adium@rhgw.opentext.com] has quit [Quit: Leaving.] 20:43 -!- skelterjohn [~jasmuth@c-24-0-2-70.hsd1.nj.comcast.net] has joined #go-nuts 20:48 -!- TheMue [~TheMue@p5DDF6C56.dip.t-dialin.net] has quit [Quit: TheMue] 20:51 -!- dju__ [dju@fsf/member/dju] has quit [Quit: Quitte] 20:56 -!- Venom_X_ [~pjacobs@75-27-133-72.lightspeed.austtx.sbcglobal.net] has joined #go-nuts 20:59 -!- Venom_X [~pjacobs@66.54.185.131] has quit [Ping timeout: 246 seconds] 20:59 -!- dfc [~dfc@124-149-101-80.dyn.iinet.net.au] has joined #go-nuts 21:01 -!- imsplitbit [~imsplitbi@64.39.4.132] has quit [Quit: Bye!] 21:05 -!- JusticeFries [~JusticeFr@173-8-247-218-Colorado.hfc.comcastbusiness.net] has quit [Quit: JusticeFries] 21:05 -!- huin [~huin@91.84.99.134] has quit [Quit: bedtime] 21:06 -!- tobik [~tobik@p4FCBFC03.dip.t-dialin.net] has quit [Quit: WeeChat 0.3.4] 21:10 -!- r_linux [~r_linux@189.38.220.35] has quit [Quit: Lost terminal] 21:14 -!- firwen [~firwen@gex01-1-78-234-55-225.fbx.proxad.net] has quit [Quit: Geek insinde®] 21:16 -!- Glasswalker [~Glasswalk@CPE005056ad47df-CM001225e00d58.cpe.net.cable.rogers.com] has quit [Ping timeout: 246 seconds] 21:17 < kamaji> arg, I keep writing haskell in my slice literals :D 21:19 -!- rlab [~Miranda@220-191-113-92.pool.ukrtel.net] has quit [Read error: Connection reset by peer] 21:20 < kamaji> :| 21:20 < kamaji> so apparently if you pass a struct pointer, it doesn't equal type interface pointer 21:21 < kamaji> but it does if you do &(*data) 21:21 < skelterjohn> need more context 21:21 -!- ShadowIce [~pyoro@unaffiliated/shadowice-x841044] has quit [Quit: Verlassend] 21:21 < skelterjohn> do you have something that is of type *interface{}? 21:21 < kamaji> no, an interface with one function 21:21 < kamaji> Add(x float64) 21:21 < skelterjohn> type *interface{something}? 21:21 < kamaji> yeah 21:22 < skelterjohn> may i ask why? this is almost always (but not always) a bad idea 21:22 -!- JusticeFries [~JusticeFr@173.8.247.218] has joined #go-nuts 21:22 < kamaji> I thought passing by reference was encouraged? 21:22 < skelterjohn> or at least, it's usually not what people mean to do 21:22 < skelterjohn> interfaces are pseudo-pointer types already 21:23 < kamaji> it's basically a utility method to apply the interface function to a slice 21:23 < skelterjohn> ok, i don't think a *interface is what you want 21:23 < kamaji> oh 21:23 < kamaji> What else would I use? 21:23 < skelterjohn> just the interface :) 21:24 < kamaji> oh yeah you said that :P 21:24 < kamaji> That seems like odd behaviour 21:24 < skelterjohn> var a interface{Add(x float64)} = &mystruct 21:24 < kamaji> oh what 21:24 < skelterjohn> toss "a" to the function that applies it 21:24 < kamaji> actually, mystruct is already a pointer 21:24 < skelterjohn> the only reason you'd need a pointer to an interface is if you'd want to modify that interface from somewhere else 21:25 < skelterjohn> then just = mystruct 21:25 < skelterjohn> you're already passing a reference 21:25 < skelterjohn> interface = reference + type information 21:25 < kamaji> seems odd that doesn't happen automatically? 21:25 < skelterjohn> it does 21:25 < kamaji> ok :P 21:25 < skelterjohn> by doing things like &(*data) you are forcing it to not do this 21:26 -!- zimsim [~simon@87.72.77.195] has quit [Remote host closed the connection] 21:26 < kamaji> I should probably stick to the clearer approach :D 21:26 < kamaji> otherwise i'll look at that in a month and wonder what I was smoking 21:27 < kamaji> Thanks :D 21:28 < kamaji> oh cool, gotest automatically finds TestFoo functions 21:28 < kamaji> mind = grown 21:29 < skelterjohn> http://pastebin.com/zss1hGjQ 21:29 < skelterjohn> this is what i'm talking about 21:31 < kamaji> Ah ok 21:31 < kamaji> Yeah that's what i've got now 21:31 < kamaji> cheeeeers 21:31 < skelterjohn> :) 21:32 < kamaji> incidentally it looks like i'm going to be using that pattern fairly extensively, I wonder if that's a bad thing? 21:32 -!- boscop_ [~boscop@f055057242.adsl.alicedsl.de] has joined #go-nuts 21:32 < skelterjohn> no - that's a typical piece of go code to write 21:32 < skelterjohn> it's exactly what interfaces are meant for 21:33 -!- m4dh4tt3r [~Adium@c-69-181-223-245.hsd1.ca.comcast.net] has quit [Ping timeout: 248 seconds] 21:33 -!- dj2 [~dj2@216.16.242.254] has quit [Remote host closed the connection] 21:34 -!- m4dh4tt3r [~Adium@c-69-181-223-245.hsd1.ca.comcast.net] has joined #go-nuts 21:39 -!- boscop_ [~boscop@f055057242.adsl.alicedsl.de] has quit [Ping timeout: 246 seconds] 21:39 -!- boscop__ [~boscop@f055057242.adsl.alicedsl.de] has joined #go-nuts 21:41 -!- boscop__ [~boscop@f055057242.adsl.alicedsl.de] has quit [Read error: Connection reset by peer] 21:44 -!- boscop__ [~boscop@f055057242.adsl.alicedsl.de] has joined #go-nuts 21:50 -!- boscop__ [~boscop@f055057242.adsl.alicedsl.de] has quit [Ping timeout: 250 seconds] 21:50 -!- Fish [~Fish@9fans.fr] has quit [Quit: So Long, and Thanks for All the Fish] 21:52 -!- awidegreen [~quassel@c-cfc5e555.08-2-73746f39.cust.bredbandsbolaget.se] has quit [Remote host closed the connection] 21:58 -!- piranha [~piranha@5ED43A0B.cm-7-5a.dynamic.ziggo.nl] has quit [Quit: Computer has gone to sleep.] 22:04 -!- boscop [~boscop@g227132084.adsl.alicedsl.de] has joined #go-nuts 22:20 -!- Adys [~Adys@unaffiliated/adys] has quit [Ping timeout: 250 seconds] 22:21 -!- Scorchin [~Scorchin@host86-160-234-145.range86-160.btcentralplus.com] has quit [Quit: Scorchin] 22:22 -!- bXi [bluepunk@irssi.co.uk] has quit [Read error: Operation timed out] 22:24 -!- bXi [bluepunk@irssi.co.uk] has joined #go-nuts 22:29 -!- pphalen [~pphalen@66.92.11.149] has left #go-nuts [] 22:31 -!- Adys [~Adys@unaffiliated/adys] has joined #go-nuts 22:31 -!- dfc [~dfc@124-149-101-80.dyn.iinet.net.au] has quit [Quit: dfc] 22:33 -!- ExtraSpice [XtraSpice@88.118.35.153] has quit [Read error: Connection reset by peer] 22:33 -!- Cobi [~Cobi@2002:1828:88fb:0:aede:48ff:febe:ef03] has joined #go-nuts 22:34 -!- Project-2501 [~Marvin@82.84.86.178] has quit [Quit: E se abbasso questa leva che succ...] 22:36 -!- virtualsue [~chatzilla@nat/cisco/x-enbfwbxtakcxeutd] has quit [Ping timeout: 248 seconds] 22:36 -!- Venom_X [~pjacobs@75-27-133-72.lightspeed.austtx.sbcglobal.net] has quit [Quit: Venom_X] 22:36 -!- boscop [~boscop@g227132084.adsl.alicedsl.de] has quit [Read error: Connection reset by peer] 22:36 -!- aho [~nya@fuld-590c62a8.pool.mediaWays.net] has quit [Read error: Connection reset by peer] 22:36 -!- Pie`` [pie@kjal.demon.co.uk] has joined #go-nuts 22:37 -!- boscop [~boscop@g227132084.adsl.alicedsl.de] has joined #go-nuts 22:37 -!- ako [~nya@fuld-590c62a8.pool.mediaWays.net] has joined #go-nuts 22:37 -!- katakuna [~pie@kjal.demon.co.uk] has quit [Ping timeout: 246 seconds] 22:37 -!- reds [~reds@pool-74-101-147-57.nycmny.fios.verizon.net] has quit [Ping timeout: 246 seconds] 22:37 -!- reds [~reds@pool-74-101-147-57.nycmny.fios.verizon.net] has joined #go-nuts 22:39 -!- ako [~nya@fuld-590c62a8.pool.mediaWays.net] has joined #go-nuts 22:40 -!- aho [~nya@fuld-590c62a8.pool.mediaWays.net] has quit [Read error: Connection reset by peer] 22:41 -!- itrekkie [~itrekkie@ip72-211-130-204.tc.ph.cox.net] has joined #go-nuts 22:44 -!- krutcha [~krutcha@remote.icron.com] has joined #go-nuts 22:46 -!- |Craig| [~|Craig|@panda3d/entropy] has joined #go-nuts 22:46 -!- nsf [~nsf@jiss.convex.ru] has quit [Quit: WeeChat 0.3.4] 22:59 < plexdev> http://is.gd/eNlR4e by [Russ Cox] in go/src/cmd/5c/ -- 5c: make alignment rules match 5g, just like 6c matches 6g 23:14 -!- reds [~reds@pool-74-101-147-57.nycmny.fios.verizon.net] has quit [Remote host closed the connection] 23:15 -!- shvntr [~shvntr@113.84.145.19] has joined #go-nuts 23:18 -!- JusticeFries_ [~JusticeFr@173-8-247-218-Colorado.hfc.comcastbusiness.net] has joined #go-nuts 23:20 -!- shvntr [~shvntr@113.84.145.19] has quit [Ping timeout: 246 seconds] 23:20 -!- JusticeFries [~JusticeFr@173.8.247.218] has quit [Ping timeout: 260 seconds] 23:32 -!- dfc [~dfc@eth59-167-133-99.static.internode.on.net] has joined #go-nuts 23:33 -!- wchicken [~chicken@24.7.112.207] has quit [Ping timeout: 260 seconds] 23:37 -!- reds [~reds@pool-74-101-147-57.nycmny.fios.verizon.net] has joined #go-nuts 23:37 -!- kr [~Keith@204.14.152.118] has joined #go-nuts 23:40 -!- Glasswalker [~Glasswalk@CPE002369b3cd1a-CM00222d53f155.cpe.net.cable.rogers.com] has joined #go-nuts 23:43 -!- niemeyer [~niemeyer@189.27.145.95.dynamic.adsl.gvt.net.br] has quit [Ping timeout: 240 seconds] 23:50 -!- reds [~reds@pool-74-101-147-57.nycmny.fios.verizon.net] has quit [Remote host closed the connection] 23:52 -!- skelterjohn [~jasmuth@c-24-0-2-70.hsd1.nj.comcast.net] has quit [Quit: skelterjohn] 23:53 -!- dj2 [~dj2@CPE001f5b35feb4-CM0014048e0344.cpe.net.cable.rogers.com] has joined #go-nuts 23:53 -!- KingPhilroy [~kingphilr@shc-nat-newhall.stonehill.edu] has joined #go-nuts --- Log closed Tue Apr 19 00:00:50 2011