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

--- Log opened Wed Sep 07 00:00:25 2011
00:02 -!- franksalim [~frank@64-71-23-250.static.wiline.com] has quit [Remote host
closed the connection]
00:12 -!- preflex [~preflex@unaffiliated/mauke/bot/preflex] has quit [Ping
timeout: 252 seconds]
00:12 -!- replore [~replore@203.152.213.161.static.zoot.jp] has joined #go-nuts
00:12 -!- areece [~areece@CMU-438263.WV.CC.CMU.EDU] has joined #go-nuts
00:22 -!- areece [~areece@CMU-438263.WV.CC.CMU.EDU] has quit [Read error:
Connection reset by peer]
00:23 -!- areece [~areece@CMU-438263.WV.CC.CMU.EDU] has joined #go-nuts
00:25 -!- c00w [~colin@2620:0:2820:2208:224:d7ff:fe3e:71b4] has quit [Ping
timeout: 260 seconds]
00:26 -!- replore__ [~replore@203.152.213.161.static.zoot.jp] has joined #go-nuts
00:26 -!- replore [~replore@203.152.213.161.static.zoot.jp] has quit [Read error:
Connection reset by peer]
00:29 -!- Tv__ [~Tv__@cpe-76-168-227-45.socal.res.rr.com] has joined #go-nuts
00:40 -!- Venom_X [~pjacobs@75-27-133-72.lightspeed.austtx.sbcglobal.net] has quit
[Ping timeout: 264 seconds]
00:40 -!- pbgc [~pbgc@2.81.102.248] has quit [Quit: Textual IRC Client:
http://www.textualapp.com/]
00:42 < prudhvi> What is the status of Go on Sparc64?.
00:42 -!- c00w [~colin@barh-131.dynamic.rpi.edu] has joined #go-nuts
00:42 < prudhvi> specially Solaris 11x
00:49 -!- rcrowley [~rcrowley@c-71-202-44-233.hsd1.ca.comcast.net] has quit
[Remote host closed the connection]
00:49 -!- preflex [~preflex@unaffiliated/mauke/bot/preflex] has joined #go-nuts
00:49 -!- rcrowley [~rcrowley@c-71-202-44-233.hsd1.ca.comcast.net] has joined
#go-nuts
00:49 -!- rcrowley [~rcrowley@c-71-202-44-233.hsd1.ca.comcast.net] has quit
[Remote host closed the connection]
00:50 -!- rcrowley [~rcrowley@c-71-202-44-233.hsd1.ca.comcast.net] has joined
#go-nuts
00:52 -!- rcrowley [~rcrowley@c-71-202-44-233.hsd1.ca.comcast.net] has quit
[Remote host closed the connection]
00:52 < jessta> prudhvi: I haven't heard anything.  Someone was porting it
to Solaris, but I don't think anything was happening with Sparc64
00:52 -!- rcrowley [~rcrowley@c-71-202-44-233.hsd1.ca.comcast.net] has joined
#go-nuts
00:53 -!- ako [~nya@fuld-590c6513.pool.mediaWays.net] has joined #go-nuts
00:54 -!- aho [~nya@fuld-590c7502.pool.mediaWays.net] has quit [Ping timeout: 245
seconds]
00:55 -!- rcrowley_ [~rcrowley@c-71-202-44-233.hsd1.ca.comcast.net] has joined
#go-nuts
00:57 -!- rcrowley [~rcrowley@c-71-202-44-233.hsd1.ca.comcast.net] has quit [Ping
timeout: 264 seconds]
01:12 -!- zhujo01
[jon.zhu@CPE00222d5acb80-CM00222d5acb7d.cpe.net.cable.rogers.com] has joined
#go-nuts
01:13 -!- zhujo01
[jon.zhu@CPE00222d5acb80-CM00222d5acb7d.cpe.net.cable.rogers.com] has quit [Client
Quit]
01:13 -!- zhujo01
[jon.zhu@CPE00222d5acb80-CM00222d5acb7d.cpe.net.cable.rogers.com] has joined
#go-nuts
01:15 -!- thrashr888 [~thrashr88@64.125.143.6] has quit [Quit: bye bye]
01:17 -!- Adys [~Adys@unaffiliated/adys] has quit [Quit: Quit]
01:21 -!- zhujo01
[jon.zhu@CPE00222d5acb80-CM00222d5acb7d.cpe.net.cable.rogers.com] has quit []
01:37 -!- kamaji [~kamaji@handtomouse.demon.co.uk] has quit [Read error:
Connection reset by peer]
01:37 -!- kamaji [~kamaji@handtomouse.demon.co.uk] has joined #go-nuts
01:38 -!- kamaji [~kamaji@handtomouse.demon.co.uk] has quit [Read error:
Connection reset by peer]
01:40 -!- ayo [~nya@fuld-590c694a.pool.mediaWays.net] has joined #go-nuts
01:42 -!- kamaji [~kamaji@handtomouse.demon.co.uk] has joined #go-nuts
01:42 -!- ako [~nya@fuld-590c6513.pool.mediaWays.net] has quit [Ping timeout: 245
seconds]
01:46 -!- nekoh [~nekoh@dslb-178-004-219-217.pools.arcor-ip.net] has quit [Quit:
nekoh]
01:55 -!- Netsplit *.net <-> *.split quits: werdan7, reggna, exch, xyproto,
Boney, fluffle, chowmeined, scyth, joshbaptiste, araujo, (+5 more, use /NETSPLIT
to show all of them)
01:57 -!- Netsplit over, joins: xyproto, sahid, araujo, scyth, exch, prasmussen,
reggna, Boney, fluffle, jlaffaye (+5 more)
01:57 -!- smw [~stephen@unaffiliated/smw] has joined #go-nuts
02:06 -!- replore__ [~replore@203.152.213.161.static.zoot.jp] has quit [Read
error: Connection reset by peer]
02:06 -!- replore_ [~replore@203.152.213.161.static.zoot.jp] has joined #go-nuts
02:17 -!- replore_ [~replore@203.152.213.161.static.zoot.jp] has quit [Read error:
Connection reset by peer]
02:17 -!- replore_ [~replore@203.152.213.161.static.zoot.jp] has joined #go-nuts
02:24 -!- tux21b [~christoph@cpe90-146-162-55.liwest.at] has quit [Ping timeout:
245 seconds]
02:26 -!- rcrowley [~rcrowley@c-71-202-44-233.hsd1.ca.comcast.net] has quit [Ping
timeout: 250 seconds]
02:27 -!- qeed [~qeed@adsl-98-85-43-113.mco.bellsouth.net] has quit [Quit:
Leaving]
02:34 -!- replore_ [~replore@203.152.213.161.static.zoot.jp] has quit [Read error:
Connection reset by peer]
02:34 -!- replore [~replore@203.152.213.161.static.zoot.jp] has joined #go-nuts
02:44 -!- jmil [~jmil@c-68-81-252-40.hsd1.pa.comcast.net] has quit [Remote host
closed the connection]
02:57 -!- fvbommel [~fvbommel_@86.86.15.250] has quit [Ping timeout: 268 seconds]
02:59 -!- ericvh [~Adium@cpe-72-177-122-77.austin.res.rr.com] has joined #go-nuts
03:32 -!- _dylan [~dylan@gateway/tor-sasl/dylan/x-16450566] has quit [Quit:
Leaving]
03:43 -!- smw [~stephen@unaffiliated/smw] has quit [Ping timeout: 246 seconds]
03:48 -!- niemeyer [~niemeyer@200-102-220-181.pltce701.dsl.brasiltelecom.net.br]
has quit [Ping timeout: 240 seconds]
03:56 -!- rcrowley [~rcrowley@c-71-202-44-233.hsd1.ca.comcast.net] has joined
#go-nuts
03:57 -!- c00w [~colin@barh-131.dynamic.rpi.edu] has quit [Ping timeout: 240
seconds]
04:03 -!- zozoR [~Morten@2906ds2-arno.0.fullrate.dk] has joined #go-nuts
04:11 -!- benjack [~benjack@bb116-15-174-30.singnet.com.sg] has joined #go-nuts
04:21 -!- Bigbear1 [~Cody@S010678cd8e7c81a8.cg.shawcable.net] has quit [Read
error: Connection reset by peer]
04:23 -!- Nisstyre [~yours@infocalypse-net.info] has quit [Ping timeout: 264
seconds]
04:31 -!- aat [~aat@cpe-72-225-174-173.nyc.res.rr.com] has joined #go-nuts
04:52 -!- napsy [~luka@88.200.96.18] has joined #go-nuts
05:05 -!- ericvh [~Adium@cpe-72-177-122-77.austin.res.rr.com] has quit [Quit:
Leaving.]
05:12 -!- NiteRain [~NiteRain@c-98-254-236-21.hsd1.fl.comcast.net] has joined
#go-nuts
05:15 -!- sebastianskejoe [~sebastian@563444f2.rev.stofanet.dk] has joined
#go-nuts
05:22 -!- Crnobog|Work [u1041@gateway/web/irccloud.com/x-mqwczdjjvwlpmgxw] has
quit [K-Lined]
05:22 -!- heatxsink [u956@gateway/web/irccloud.com/x-brjycudvcsjqxjpu] has quit
[K-Lined]
05:22 -!- Kai`_ [u327@gateway/web/irccloud.com/x-cfzitpfregavajwm] has quit
[K-Lined]
05:22 -!- proppy [u1692@gateway/web/irccloud.com/x-jqfekvgyyumlgksp] has quit
[K-Lined]
05:22 -!- itsPhilip [u2979@gateway/web/irccloud.com/x-iiushvspowgrjoam] has quit
[K-Lined]
05:22 -!- justicefries [u2891@gateway/web/irccloud.com/x-nigrcnvqwspxpath] has
quit [K-Lined]
05:22 -!- antonkovalyov [u1783@gateway/web/irccloud.com/x-pykpqrhmlgcylhfz] has
quit [K-Lined]
05:23 -!- Kai`_ [u327@gateway/web/irccloud.com/x-istumyicthviauwb] has joined
#go-nuts
05:24 -!- benjack [~benjack@bb116-15-174-30.singnet.com.sg] has quit [Quit:
Leaving.]
05:24 -!- Kai`_ [u327@gateway/web/irccloud.com/x-istumyicthviauwb] has quit
[Remote host closed the connection]
05:24 -!- benjack [~benjack@bb116-15-174-30.singnet.com.sg] has joined #go-nuts
05:24 -!- justicefries [u2891@gateway/web/irccloud.com/x-tvfupepigtgnppeg] has
joined #go-nuts
05:25 -!- justicefries [u2891@gateway/web/irccloud.com/x-tvfupepigtgnppeg] has
quit [Remote host closed the connection]
05:26 -!- heatxsink [u956@gateway/web/irccloud.com/x-nqalehuisaqouvqp] has joined
#go-nuts
05:27 -!- Kai`_ [u327@gateway/web/irccloud.com/x-ntlrueuugglqkqms] has joined
#go-nuts
05:33 -!- napsy [~luka@88.200.96.18] has quit [Ping timeout: 276 seconds]
05:34 -!- raylu [raylu@c-71-202-154-116.hsd1.ca.comcast.net] has quit [Quit:
leaving]
05:35 -!- areece [~areece@CMU-438263.WV.CC.CMU.EDU] has quit [Ping timeout: 240
seconds]
05:37 -!- shoenig [~seth@rrcs-71-42-216-104.sw.biz.rr.com] has quit [Quit:
Leaving]
05:38 -!- areece [~areece@CMU-438263.WV.CC.CMU.EDU] has joined #go-nuts
05:41 -!- fenicks [~fenicks@log77-3-82-243-254-112.fbx.proxad.net] has left
#go-nuts []
05:42 -!- zozoR [~Morten@2906ds2-arno.0.fullrate.dk] has quit [Remote host closed
the connection]
05:42 -!- goraes [~goraes@189.103.177.124] has joined #go-nuts
05:44 -!- sebastianskejoe [~sebastian@563444f2.rev.stofanet.dk] has quit [Quit:
Lost terminal]
05:49 -!- areece [~areece@CMU-438263.WV.CC.CMU.EDU] has quit [Ping timeout: 245
seconds]
06:03 -!- meling [~meling@134.81-167-41.customer.lyse.net] has quit [Remote host
closed the connection]
06:04 -!- wallerdev [~wallerdev@72.44.102.30] has quit [Quit: wallerdev]
06:12 -!- BigBlackDog
[~BigBlackD@HSI-KBW-109-192-007-188.hsi6.kabel-badenwuerttemberg.de] has joined
#go-nuts
06:12 < goraes> go'od morning.
06:15 -!- remy_o [~babar@archlinux/developer/remy-o] has joined #go-nuts
06:15 -!- NiteRain [~NiteRain@c-98-254-236-21.hsd1.fl.comcast.net] has quit [Ping
timeout: 258 seconds]
06:17 -!- mavar [~mavar@81-226-52-85-no179.tbcn.telia.com] has joined #go-nuts
06:19 -!- raylu [raylu@c-71-202-154-116.hsd1.ca.comcast.net] has joined #go-nuts
06:25 -!- aat [~aat@cpe-72-225-174-173.nyc.res.rr.com] has quit [Quit: Computer
has gone to sleep.]
06:33 -!- areece [~areece@CMU-438263.WV.CC.CMU.EDU] has joined #go-nuts
06:36 -!- Nisstyre [~yours@infocalypse-net.info] has joined #go-nuts
06:36 < areece> I've been looking at some Makefiles and I haven't been able
to find a way to link local libraries against each other in a satisfactory way.
06:37 < areece> For example, this stack overflow question:
http://stackoverflow.com/questions/1766720/multi-package-makefile-example-for-go
06:37 < areece> The makefile suggest manually specifies GC and LD for each
subpackage
06:37 < areece> s/suggest/suggested/
06:39 -!- heatxsink [u956@gateway/web/irccloud.com/x-nqalehuisaqouvqp] has quit
[Ping timeout: 258 seconds]
06:39 -!- Kai`_ [u327@gateway/web/irccloud.com/x-ntlrueuugglqkqms] has quit [Ping
timeout: 264 seconds]
06:42 -!- meling [~meling@pico.ux.uis.no] has joined #go-nuts
06:43 -!- yogib [~yogib@dslb-084-062-122-178.pools.arcor-ip.net] has joined
#go-nuts
06:44 -!- replore [~replore@203.152.213.161.static.zoot.jp] has quit [Remote host
closed the connection]
06:54 < jessta> areece: goinstall is usually a better solution than
Makefiles
06:54 < areece> how do I test with goinstall?
06:55 < jessta> ah yeah, gotest doesn't work with goinstall
06:55 < areece> or how do I clean compiled object files?
06:55 < areece> :-/
06:55 < jessta> someone should write a version of gotest that works with
goinstall
06:56 -!- replore_ [~replore@203.152.213.161.static.zoot.jp] has joined #go-nuts
06:56 < areece> How difficult would it be to add $GOPATH support to the
Makefiles?
06:56 < areece> (well, what I'm really asking is whether or not that would
solve the problem)
06:57 < jessta> https://github.com/skelterjohn/go-gb will run tests
06:57 < jessta> I hear it's pretty good
06:57 -!- Kai`_ [u327@gateway/web/irccloud.com/x-qdophowcrlysbgkh] has joined
#go-nuts
06:57 < areece> Yup, I was working with that
06:57 < areece> It seems mostly optimized for one binary projects
06:58 < areece> For me, I have to do:
06:58 < areece> gd --main="binary1" -o binary1
06:58 -!- ronnyy [~quassel@p4FF1C581.dip0.t-ipconnect.de] has joined #go-nuts
06:58 < areece> repeat for binary 2-N
06:58 -!- rlab [~Miranda@91.200.158.34] has joined #go-nuts
06:58 < areece> So I'd end up using a Makefile wrapper anyways
06:58 -!- fvbommel [~fvbommel_@86.86.15.250] has joined #go-nuts
07:03 -!- remy_o [~babar@archlinux/developer/remy-o] has quit [Ping timeout: 258
seconds]
07:07 -!- heatxsink [u956@gateway/web/irccloud.com/x-aljqcaymiryciblx] has joined
#go-nuts
07:10 -!- GeertJohan [~geertjoha@s51478c91.adsl.wanadoo.nl] has joined #go-nuts
07:11 -!- yogib [~yogib@dslb-084-062-122-178.pools.arcor-ip.net] has quit [Quit:
yogib]
07:12 -!- Crnobog|Work [u1041@gateway/web/irccloud.com/x-jxzbsnffyctnbokg] has
joined #go-nuts
07:20 -!- proppy [u1692@gateway/web/irccloud.com/x-pciggdzzaiwlrnis] has joined
#go-nuts
07:21 -!- antonkovalyov [u1783@gateway/web/irccloud.com/x-mpatilvwqdzwqbqd] has
joined #go-nuts
07:21 -!- Tv__ [~Tv__@cpe-76-168-227-45.socal.res.rr.com] has quit [Ping timeout:
250 seconds]
07:23 -!- areece [~areece@CMU-438263.WV.CC.CMU.EDU] has quit [Ping timeout: 245
seconds]
07:25 -!- tux21b [~christoph@cpe90-146-162-55.liwest.at] has joined #go-nuts
07:32 -!- yogib [~yogib@131.234.59.64] has joined #go-nuts
07:33 -!- ronnyy [~quassel@p4FF1C581.dip0.t-ipconnect.de] has quit [Remote host
closed the connection]
07:39 -!- justicefries [u2891@gateway/web/irccloud.com/x-iishasbyhiglttcl] has
joined #go-nuts
07:44 -!- itsPhilip [u2979@gateway/web/irccloud.com/x-pmyflnzdanephwlj] has joined
#go-nuts
07:45 -!- samuell [~samuel@pc2-samuel.uppmax.uu.se] has joined #go-nuts
07:47 -!- gobeginner [~nwood@84-93-217-24.plus.net] has joined #go-nuts
07:48 -!- mavar [~mavar@81-226-52-85-no179.tbcn.telia.com] has quit [Read error:
Operation timed out]
07:59 -!- valentin [~valentin@darkstar2.fullsix.com] has joined #go-nuts
07:59 -!- napsy [~luka@88.200.96.18] has joined #go-nuts
08:00 -!- tvw [~tv@e176005109.adsl.alicedsl.de] has joined #go-nuts
08:05 -!- aho [~nya@fuld-590c694a.pool.mediaWays.net] has quit [Quit:
EXEC_over.METHOD_SUBLIMATION]
08:06 -!- mavar [~mavar@81-226-52-85-no179.tbcn.telia.com] has joined #go-nuts
08:06 -!- rlab [~Miranda@91.200.158.34] has quit [Read error: Connection reset by
peer]
08:08 -!- napsy [~luka@88.200.96.18] has quit [Ping timeout: 258 seconds]
08:11 -!- AlexLuya [AlexLuya@111.186.5.87] has joined #go-nuts
08:13 -!- TimKack [~tkack@213.208.236.186] has joined #go-nuts
08:16 -!- pyrhho [~pyrhho@host-92-27-75-48.static.as13285.net] has joined #go-nuts
08:19 -!- napsy [~luka@193.2.66.6] has joined #go-nuts
08:24 -!- cw [~anticw@parsec.stupidest.org] has quit [Ping timeout: 260 seconds]
08:24 -!- cw [~anticw@parsec.stupidest.org] has joined #go-nuts
08:25 -!- rejb [~rejb@unaffiliated/rejb] has quit [Read error: Connection reset by
peer]
08:26 -!- zeebo [~zeebo@ip72-218-115-129.hr.hr.cox.net] has quit [Read error:
Connection reset by peer]
08:26 -!- zeebo [~zeebo@ip72-218-115-129.hr.hr.cox.net] has joined #go-nuts
08:26 -!- Mic92 [~Mic92@84-23-68-181.blue.kundencontroller.de] has left #go-nuts
["WeeChat 0.3.5"]
08:26 -!- rejb [~rejb@unaffiliated/rejb] has joined #go-nuts
08:26 -!- rcrowley [~rcrowley@c-71-202-44-233.hsd1.ca.comcast.net] has quit [Read
error: Connection reset by peer]
08:27 -!- rcrowley [~rcrowley@c-71-202-44-233.hsd1.ca.comcast.net] has joined
#go-nuts
08:29 -!- proppy [u1692@gateway/web/irccloud.com/x-pciggdzzaiwlrnis] has quit
[Ping timeout: 246 seconds]
08:29 -!- vegai [v@archlinux/developer/vegai] has quit [Ping timeout: 246 seconds]
08:30 -!- neshaug [~oyvind@213.239.108.5] has quit [Ping timeout: 246 seconds]
08:30 -!- vegai [v@178.79.146.25] has joined #go-nuts
08:30 -!- neshaug [~oyvind@213.239.108.5] has joined #go-nuts
08:33 -!- smw [~stephen@76.89.149.37] has joined #go-nuts
08:33 -!- smw [~stephen@76.89.149.37] has quit [Changing host]
08:33 -!- smw [~stephen@unaffiliated/smw] has joined #go-nuts
08:34 -!- pyrhho [~pyrhho@host-92-27-75-48.static.as13285.net] has quit [Read
error: Connection reset by peer]
08:34 -!- |Craig| [~|Craig|@panda3d/entropy] has quit [Quit: |Craig|]
08:35 -!- pyrhho [~pyrhho@host-92-27-75-48.static.as13285.net] has joined #go-nuts
08:44 -!- proppy [u1692@gateway/web/irccloud.com/x-golmestoutqimoer] has joined
#go-nuts
08:48 -!- smw [~stephen@unaffiliated/smw] has quit [Ping timeout: 258 seconds]
09:10 -!- kamaji [~kamaji@handtomouse.demon.co.uk] has quit [Read error:
Connection reset by peer]
09:11 -!- kamaji [~kamaji@handtomouse.demon.co.uk] has joined #go-nuts
09:12 -!- mavar [~mavar@81-226-52-85-no179.tbcn.telia.com] has quit [Ping timeout:
245 seconds]
09:19 -!- samuell [~samuel@pc2-samuel.uppmax.uu.se] has quit [Remote host closed
the connection]
09:22 -!- samuell [~samuel@pc2-samuel.uppmax.uu.se] has joined #go-nuts
09:27 -!- mavar [~mavar@188.92.169.90] has joined #go-nuts
09:28 -!- replore_ [~replore@203.152.213.161.static.zoot.jp] has quit [Remote host
closed the connection]
09:35 -!- mavar [~mavar@188.92.169.90] has quit [Ping timeout: 246 seconds]
09:44 -!- hnry [576c1698@gateway/web/freenode/ip.87.108.22.152] has joined
#go-nuts
09:49 -!- pbgc [~pbgc@2.82.65.152] has joined #go-nuts
09:49 -!- benjack [~benjack@bb116-15-174-30.singnet.com.sg] has quit [Quit:
Leaving.]
09:51 -!- mavar [~mavar@81-226-52-85-no179.tbcn.telia.com] has joined #go-nuts
09:54 -!- vmil86 [~vmil86@88.118.38.213] has joined #go-nuts
09:54 -!- fvbommel [~fvbommel_@86.86.15.250] has quit [Ping timeout: 258 seconds]
10:08 -!- Taos [~jakob@vvps-085402.dailyvps.co.uk] has joined #go-nuts
10:09 < Taos> What was go written in
10:11 -!- AlexLuya [AlexLuya@111.186.5.87] has quit [Quit: Leaving]
10:13 < goraes> English.
10:13 < goraes> kidding.  C.
10:20 < adamhassel> Vim would probably also be a correct answer ;)
10:22 -!- napsy [~luka@193.2.66.6] has quit [Ping timeout: 276 seconds]
10:29 -!- miker2 [~miker2@pool-71-175-94-30.phlapa.fios.verizon.net] has joined
#go-nuts
10:30 < ww> UTF-8
10:33 < goraes> a seashore bungalow.
10:33 -!- zozoR [~Morten@2906ds2-arno.0.fullrate.dk] has joined #go-nuts
10:35 -!- pyrhho [~pyrhho@host-92-27-75-48.static.as13285.net] has quit [Ping
timeout: 252 seconds]
10:37 -!- napsy [~luka@88.200.96.18] has joined #go-nuts
10:38 -!- miker2 [~miker2@pool-71-175-94-30.phlapa.fios.verizon.net] has quit
[Read error: Operation timed out]
10:38 -!- miker2_ [~miker2@pool-71-175-94-30.phlapa.fios.verizon.net] has joined
#go-nuts
10:38 -!- miker2_ [~miker2@pool-71-175-94-30.phlapa.fios.verizon.net] has quit
[Client Quit]
10:41 < jessta> adamhassel: I'm think rob and russ use acme, and ken uses
sam
10:41 -!- pyrhho [~pyrhho@host-92-27-75-48.static.as13285.net] has joined #go-nuts
10:44 < goraes> ken uses sam and sam uses what?
10:44 * goraes hides
10:46 < jessta> sam uses C obviously
10:46 < jessta> and uses ken to compile it
10:47 -!- dreadlorde [dreadlorde@c-68-42-82-10.hsd1.mi.comcast.net] has joined
#go-nuts
10:50 -!- fvbommel [~fvbommel_@wlan-244145.nbw.tue.nl] has joined #go-nuts
10:52 -!- mavar [~mavar@81-226-52-85-no179.tbcn.telia.com] has quit [Ping timeout:
260 seconds]
10:58 -!- Argue [~Argue@112.201.172.5] has joined #go-nuts
10:59 -!- fvbommel [~fvbommel_@wlan-244145.nbw.tue.nl] has quit [Ping timeout: 246
seconds]
10:59 -!- miker2 [~miker2@pool-71-175-94-30.phlapa.fios.verizon.net] has joined
#go-nuts
11:03 -!- hnry [576c1698@gateway/web/freenode/ip.87.108.22.152] has quit [Ping
timeout: 252 seconds]
11:04 -!- mavar [~mavar@188.92.169.90] has joined #go-nuts
11:08 -!- nekoh [~nekoh@dslb-088-068-017-084.pools.arcor-ip.net] has joined
#go-nuts
11:10 -!- nekoh_ [~nekoh@dslb-088-068-017-084.pools.arcor-ip.net] has joined
#go-nuts
11:12 -!- NiteRain [~NiteRain@c-98-254-236-21.hsd1.fl.comcast.net] has joined
#go-nuts
11:13 -!- nekoh [~nekoh@dslb-088-068-017-084.pools.arcor-ip.net] has quit [Ping
timeout: 264 seconds]
11:14 -!- dreadlorde [dreadlorde@c-68-42-82-10.hsd1.mi.comcast.net] has quit [Ping
timeout: 264 seconds]
11:18 -!- rlab [~Miranda@91.200.158.34] has joined #go-nuts
11:21 -!- nsf [~nsf@jiss.convex.ru] has joined #go-nuts
11:23 -!- wayneeseguin [~wayneeseg@vs9873.blueboxgrid.com] has quit [Ping timeout:
246 seconds]
11:24 -!- wayneeseguin [~wayneeseg@vs9873.blueboxgrid.com] has joined #go-nuts
11:39 -!- meling [~meling@pico.ux.uis.no] has quit [Remote host closed the
connection]
11:49 -!- replore [~replore@PPPnf3988.kanagawa-ip.dti.ne.jp] has joined #go-nuts
11:51 -!- mavar [~mavar@188.92.169.90] has quit [Ping timeout: 258 seconds]
11:56 -!- fossil-njv [~nigel@62.225.38.155] has joined #go-nuts
11:57 -!- replore [~replore@PPPnf3988.kanagawa-ip.dti.ne.jp] has quit [Ping
timeout: 252 seconds]
11:59 -!- replore [~replore@PPPnf3988.kanagawa-ip.dti.ne.jp] has joined #go-nuts
12:03 -!- replore [~replore@PPPnf3988.kanagawa-ip.dti.ne.jp] has quit [Ping
timeout: 264 seconds]
12:06 -!- replore_ [~replore@g1-223-25-153-99.bmobile.ne.jp] has joined #go-nuts
12:09 -!- mavar [~mavar@81-226-52-85-no179.tbcn.telia.com] has joined #go-nuts
12:14 -!- alexluya [~alexluya@111.186.5.87] has joined #go-nuts
12:16 < alexluya> hello,any good way to find what package the specific type
belongs to?For example,I found some code use "float",want to know it's package
12:17 < exch> alexluya: float used to be a builtin type in Go. But they
removed it in favour of just float32 and float64
12:17 < exch> chances are the package you found has not been updated in a
while
12:17 < nsf> in Go if you see a lone identifier
12:17 < nsf> it's from the current package
12:18 < nsf> otherwise it will be prefixed by a package name it belongs too
12:18 < exch> Or a builtin type
12:18 < nsf> well, yes
12:18 < nsf> and float doesn't exists anymore, probably the code is
out-dated
12:18 < nsf> as exch said
12:18 < nsf> :)
12:21 < alexluya> You mean if a is not a builtin type,and if it belongs to
package pkg1,it will be named pkg1_a,right?
12:22 < exch> alexluya: pkg1.a
12:22 < alexluya> thx
12:23 < nsf> http://golang.org/doc/go_spec.html#Packages
12:23 < nsf> read the spec, it's not big and readable
12:23 < nsf> explains everything
12:24 < alexluya> ok,just printed it out,I will read it tonight
12:25 < nsf> I don't mean read it all, if you have a question about
something take a look at the corresponding section :)
12:27 < alexluya> I know,just don't want to read it on screen
12:36 -!- c00w [~colin@2620:0:2820:2208:224:d7ff:fe3e:71b4] has joined #go-nuts
12:49 -!- BigBlackDog
[~BigBlackD@HSI-KBW-109-192-007-188.hsi6.kabel-badenwuerttemberg.de] has quit
[Read error: Operation timed out]
12:53 < uriel> goraes: could you use the same license as Go for Gorilla?
12:53 -!- marcux [~marco@189.121.104.181] has joined #go-nuts
12:55 -!- alexluya [~alexluya@111.186.5.87] has quit [Quit: Leaving]
12:56 * uriel wonders where have all the Go-hatting-trolls gone:
http://www.reddit.com/r/programming/comments/k70os/the_laws_of_reflection_go_language_blog/
12:58 < Namegduf> uriel: They love reflection, because it's complicated.
12:58 -!- ericvh [~Adium@cpe-72-177-122-77.austin.res.rr.com] has joined #go-nuts
12:58 < uriel> heheh
12:58 < Namegduf> I think their principle complaint with Go's setup is well
represented by YEPHENAS.
12:58 < Namegduf> So they're being quiet otherwise right now.
12:58 < uriel> I'm sure they think Go's reflection is nowhere nearly
complicated enough
12:58 < Namegduf> (i.e.  it isn't compli-yeah)
12:59 -!- BigBlackDog
[~BigBlackD@HSI-KBW-109-192-007-188.hsi6.kabel-badenwuerttemberg.de] has joined
#go-nuts
13:01 < nsf> I don't like that the reflection is called "a form of
metaprogramming"
13:01 < nsf> in Go reflection is 100% a runtime feature
13:01 < nsf> and has nothing to do with metaprogramming :)
13:02 < nsf> but it's a nice feature, sure
13:06 < mpl> nsf: it's probably meta in the sense that you manipulate the
objects of the language a bit the same way the language does it behind the scenes.
13:10 -!- cr3 [~cr3@64.34.151.178] has joined #go-nuts
13:10 < nsf> well, by metaprogramming I understand "programs writing
programs"
13:11 < nsf> reflection on the other hand is about data
13:11 < nsf> compile-time reflection could be a part of metaprogramming
facilities though
13:11 < nsf> but..  uhm..  never mind
13:11 < nsf> it's not like it matters to me a lot :D call reflection any way
you like :D
13:12 -!- cr3 [~cr3@64.34.151.178] has quit [Client Quit]
13:13 < mpl> I'll call it "too advanced for my needs right now" ;)
13:18 -!- cr3 [~cr3@64.34.151.178] has joined #go-nuts
13:18 < mpl> hehe "We're pretty good at compilers." :)
13:20 -!- aat [~aat@rrcs-184-75-54-130.nyc.biz.rr.com] has joined #go-nuts
13:27 -!- nsf [~nsf@jiss.convex.ru] has quit [Quit: WeeChat 0.3.5]
13:28 -!- dreadlorde [~dreadlord@141.217.141.205] has joined #go-nuts
13:34 -!- fvbommel [~fvbommel_@86.86.15.250] has joined #go-nuts
13:37 < mpl> there should be IQ, spelling, and grammar tests as entry points
to mailing lists registration.
13:48 < goraes> uriel, hm i thought it was apache
13:48 -!- c00w [~colin@2620:0:2820:2208:224:d7ff:fe3e:71b4] has quit [Ping
timeout: 264 seconds]
13:54 < goraes> ewww, go is bsd.  this is disgusting.  if i knew i'd never
get involved.
13:55 < goraes> nah.  uriel, ok i can change to bsd.
13:58 -!- meling [~meling@134.81-167-41.customer.lyse.net] has joined #go-nuts
13:58 -!- Venom_X [~pjacobs@75-27-133-72.lightspeed.austtx.sbcglobal.net] has
joined #go-nuts
14:02 -!- c00w [~colin@rpi-wl-1095.dynamic.rpi.edu] has joined #go-nuts
14:02 -!- replore_ [~replore@g1-223-25-153-99.bmobile.ne.jp] has quit [Remote host
closed the connection]
14:08 < str1ngs> huh, whats wrong with apache
14:13 -!- sebastianskejoe [~sebastian@56344948.rev.stofanet.dk] has joined
#go-nuts
14:16 -!- niemeyer [~niemeyer@200.102.220.181] has joined #go-nuts
14:18 -!- replore_ [~replore@ntkngw133234.kngw.nt.ftth.ppp.infoweb.ne.jp] has
joined #go-nuts
14:18 -!- replore_ [~replore@ntkngw133234.kngw.nt.ftth.ppp.infoweb.ne.jp] has quit
[Remote host closed the connection]
14:18 -!- tux21b [~christoph@cpe90-146-162-55.liwest.at] has quit [Ping timeout:
258 seconds]
14:20 -!- shoenig [~seth@rrcs-71-42-216-104.sw.biz.rr.com] has joined #go-nuts
14:23 -!- nsf [~nsf@jiss.convex.ru] has joined #go-nuts
14:28 -!- c00w [~colin@rpi-wl-1095.dynamic.rpi.edu] has quit [Read error:
Operation timed out]
14:29 -!- FX80 [~MX80@cust151.253.117.74.dsl.g3telecom.net] has quit [Ping
timeout: 240 seconds]
14:29 -!- aat [~aat@rrcs-184-75-54-130.nyc.biz.rr.com] has quit [Ping timeout: 252
seconds]
14:31 -!- marcux [~marco@189.121.104.181] has quit [Quit: marcux]
14:32 -!- FX80 [~MX80@cust151.253.117.74.dsl.g3telecom.net] has joined #go-nuts
14:38 -!- aat [~aat@rrcs-184-75-54-130.nyc.biz.rr.com] has joined #go-nuts
14:44 -!- aat [~aat@rrcs-184-75-54-130.nyc.biz.rr.com] has quit [Quit: Computer
has gone to sleep.]
14:45 -!- CoverSli1e [~richard@216.2.249.50] has joined #go-nuts
14:52 -!- rlab [~Miranda@91.200.158.34] has quit [Read error: Connection reset by
peer]
14:57 < goraes> uriel, please add it to cat-v!
14:57 -!- hnry [50dd2595@gateway/web/freenode/ip.80.221.37.149] has joined
#go-nuts
14:59 -!- mavar [~mavar@81-226-52-85-no179.tbcn.telia.com] has quit [Ping timeout:
276 seconds]
15:00 -!- aat [~aat@rrcs-184-75-54-130.nyc.biz.rr.com] has joined #go-nuts
15:00 -!- aat [~aat@rrcs-184-75-54-130.nyc.biz.rr.com] has quit [Client Quit]
15:03 -!- napsy [~luka@88.200.96.18] has quit [Ping timeout: 258 seconds]
15:03 -!- dreadlorde [~dreadlord@141.217.141.205] has quit [Ping timeout: 264
seconds]
15:03 -!- sebastianskejoe [~sebastian@56344948.rev.stofanet.dk] has quit [Quit:
leaving]
15:08 -!- GeertJohan [~geertjoha@s51478c91.adsl.wanadoo.nl] has quit [Quit:
Leaving.]
15:08 -!- napsy [~luka@88.200.96.18] has joined #go-nuts
15:11 -!- adlan [~adlan@110.159.236.17] has joined #go-nuts
15:12 -!- mavar [~mavar@188.92.169.90] has joined #go-nuts
15:18 -!- fabled [~fabled@83.145.235.194] has quit [Quit: Ex-Chat]
15:20 -!- sebastianskejoe [~sebastian@56344948.rev.stofanet.dk] has joined
#go-nuts
15:20 -!- sebastianskejoe [~sebastian@56344948.rev.stofanet.dk] has quit [Client
Quit]
15:22 -!- awidegreen [~quassel@h-170-226.a212.priv.bahnhof.se] has joined #go-nuts
15:25 -!- aat [~aat@rrcs-184-75-54-130.nyc.biz.rr.com] has joined #go-nuts
15:27 < zozoR> how come no one made a C with a package system like go?
15:28 < nsf> zozoR: it's not that easy now
15:28 < nsf> as it seems
15:29 < nsf> blame preprocessor evil
15:29 -!- napsy [~luka@88.200.96.18] has quit [Read error: Operation timed out]
15:29 < nsf> there are people who want to push modules into C++ standard
15:29 < nsf> well, no luck at the moment
15:30 -!- aat [~aat@rrcs-184-75-54-130.nyc.biz.rr.com] has quit [Quit: Computer
has gone to sleep.]
15:31 -!- sebastianskejoe [~sebastian@56344948.rev.stofanet.dk] has joined
#go-nuts
15:32 -!- sebastianskejoe [~sebastian@56344948.rev.stofanet.dk] has quit [Client
Quit]
15:32 < nsf> for C++ it's actually even harder
15:32 < nsf> templates on top of the preprocessor :D
15:33 -!- Bigbear1 [~Cody@S010678cd8e7c81a8.cg.shawcable.net] has joined #go-nuts
15:34 < zozoR> : |
15:34 < zozoR> im just flappergasted at how much they fucked up when
creating C : |
15:35 < nsf> C was fucked up afterwards
15:35 < nsf> mostly
15:35 < nsf> at the beginning it was a nice language with clear concepts
15:35 < nsf> then people started to add stuff on top of it
15:35 < nsf> for different reasons
15:35 < zozoR> :'(
15:35 < nsf> and that's what we have now
15:36 -!- Adys [~Adys@unaffiliated/adys] has joined #go-nuts
15:36 < valentin> $ cd $GOROOT; hg log -r 1
15:36 < nsf> but it was necessary
15:36 < nsf> and to some extent C is successful anyway
15:36 < zozoR> true
15:37 < rsesek> I'd say C is wildly successful
15:37 < nsf> yeah
15:37 -!- clr_ [~colin@2620:0:2820:2208:224:d7ff:fe3e:71b4] has joined #go-nuts
15:38 < zozoR> i find it complicated making something equal to type FOO
struct in C
15:38 < zozoR> because of prototypes, header files and weird workings of
structs D:
15:38 < nsf> uhm?
15:38 < nsf> ah
15:38 < nsf> yes, it's annoying
15:38 < nsf> don't compare it to Go
15:39 < nsf> it has its own culture and its out-dated
15:39 < nsf> but it works
15:39 < nsf> :)
15:39 < zozoR> ^^
15:39 < nsf> it's* (second one)
15:39 < nsf> try C++
15:40 < nsf> after C++ using C will be like a blessing
15:40 < nsf> :D
15:40 < nsf> it's very hard to do proper visibility management in C++
15:44 < rsesek> you can just create a private Impl class and have that be
the only member variable of your public class.  that's how WebKit manages to hide
implementation
15:44 < kevlar_work> C is still the language that I know best
15:44 < kevlar_work> I programmed it for 6 years and taught it for 4
15:44 < nsf> rsesek: pimpl and everythink alike are just ugly hacks
15:44 < nsf> everything*
15:44 < kevlar_work> but I have gone almost cold turkey in favor of Go
15:44 < rsesek> it's tedious, but it works
15:44 < nsf> yes, it works :\
15:45 < kevlar_work> because, while I don't have all of the control I had in
C, I can write so much more quickly and be so much more productive.
15:45 -!- sebastianskejoe [~sebastian@56344948.rev.stofanet.dk] has joined
#go-nuts
15:45 < nsf> I still miss preprocessor a bit
15:46 < kevlar_work> I vastly prefer C to C++ for the same reason as I like
Go, though, in that what you see on the page is what's happening, because you
don't have silly things like polymorphism or operator overloading.
15:46 < nsf> yeah
15:46 < nsf> reading C++ is hard
15:47 < rsesek> if you limit yourself to the sane parts of C++ (e.g.  follow
the Google C++ style guide), it's really not that bad
15:47 < zozoR> but does C even have visability?  isnt it all just public
15:47 < nsf> zozoR: of course
15:47 < nsf> it has translation unit private parts
15:47 < nsf> they are defined with static
15:47 < rsesek> you have private linkage in C
15:47 < nsf> yeah, that's what I mean
15:49 < rsesek> random question: is there an idiomatic way in go to test if
some object is in a slice?  something like python's |3 in [4, 5, 6]|?
15:49 < kevlar_work> wha?
15:49 < zozoR> for loop :D
15:49 < zozoR> if 3 in [1,2,3,4,5]: do stuff
15:49 < rsesek> :(
15:49 < nsf> no, there is no such thing
15:49 < zozoR> is acceptable in go :D
15:49 < kevlar_work> oh, *in* a slice, I read that "is" a slice
15:49 < kevlar_work> lol
15:52 -!- dlowe [~dlowe@nat/google/x-usrckxnhljjgrhcu] has joined #go-nuts
15:54 < cr3> rsesek: I once followed an Embedded C++ standard or guidelines,
I thought that was pretty sane
15:56 < rsesek> cr3: I'd imagine it's pretty similar to the google guide.
no RTTI, limited operator overloading, no exceptions, composition over multiple
inheritance
15:59 -!- mavar [~mavar@188.92.169.90] has quit [Ping timeout: 245 seconds]
16:00 -!- TimKack [~tkack@213.208.236.186] has quit [Quit: TimKack]
16:00 < cr3> rsesek: no templates too, which might be particularly relevant
for embedded systems with little memory footprint
16:00 < rsesek> oh wow.  no, we like our templates :p
16:00 < cr3> don't know where google stands relating to templates
16:01 -!- ShadowIce
[~pyoro@HSI-KBW-109-193-121-123.hsi7.kabel-badenwuerttemberg.de] has joined
#go-nuts
16:01 -!- ShadowIce
[~pyoro@HSI-KBW-109-193-121-123.hsi7.kabel-badenwuerttemberg.de] has quit
[Changing host]
16:01 -!- ShadowIce [~pyoro@unaffiliated/shadowice-x841044] has joined #go-nuts
16:01 < cr3> rsesek: agreed, it's a pretty powerful way to reuse code albeit
at the cost of some sanity :)
16:01 < rsesek> cr3: we have scoped_ptr<T> to scope an object's
lifetime to an enclosing scope, which is one of my favorite parts about C++
16:02 < rsesek> go's defer is pretty nice, though
16:02 -!- wallerdev [~wallerdev@72.44.102.30] has joined #go-nuts
16:03 < cr3> I'm a big fan of the defer pattern, but haven't used it in go
yet, only in twisted python
16:03 -!- nsf [~nsf@jiss.convex.ru] has quit [Quit: WeeChat 0.3.5]
16:03 -!- ajray_ [~ajray@li175-41.members.linode.com] has left #go-nuts []
16:05 -!- tux21b [~christoph@cpe90-146-162-55.liwest.at] has joined #go-nuts
16:10 -!- dlowe [~dlowe@nat/google/x-usrckxnhljjgrhcu] has quit [Quit: Leaving.]
16:14 -!- dlowe [~dlowe@nat/google/x-ecnpqdzqjcwazmvc] has joined #go-nuts
16:15 -!- mavar [~mavar@81-226-52-85-no179.tbcn.telia.com] has joined #go-nuts
16:18 -!- Peet__ [~Peet__@blk-222-42-163.eastlink.ca] has joined #go-nuts
16:18 -!- Peet__ [~Peet__@blk-222-42-163.eastlink.ca] has quit [Changing host]
16:18 -!- Peet__ [~Peet__@unaffiliated/peet--/x-2416233] has joined #go-nuts
16:21 -!- erus` [~chatzilla@cpc2-gill2-0-0-cust701.basl.cable.virginmedia.com] has
joined #go-nuts
16:23 -!- rcrowley [~rcrowley@c-71-202-44-233.hsd1.ca.comcast.net] has quit [Quit:
Computer has gone to sleep.]
16:27 < zozoR> you cant send value types on a channel, if it has unexported
fields?
16:28 < zozoR> only zeh pointer
16:28 < zozoR> ?
16:29 < erus`> i have to look for a new job: does anyone need a code monkey?
16:30 -!- mavar [~mavar@81-226-52-85-no179.tbcn.telia.com] has quit [Remote host
closed the connection]
16:31 < jessta> zozoR: you can't copy a value type with unexported fields
16:32 < jessta> becuase you can't access those fields to copy their content
16:33 -!- |Craig| [~|Craig|@panda3d/entropy] has joined #go-nuts
16:34 -!- sacho [~sacho@92-247-208-87.spectrumnet.bg] has joined #go-nuts
16:34 -!- aat [~aat@rrcs-184-75-54-130.nyc.biz.rr.com] has joined #go-nuts
16:36 < zozoR> ^^
16:38 -!- aat [~aat@rrcs-184-75-54-130.nyc.biz.rr.com] has quit [Client Quit]
16:39 < zozoR> if a channel is closed and not empty, what does ok become in
x, ok = <-ch
16:39 < valentin> erus` where do you live ?
16:39 < zozoR> : |
16:40 < erus`> valentin: i can move anywhere
16:40 < erus`> the world is my oyster
16:40 < valentin> Paris ?
16:40 < erus`> ah not too far
16:40 < erus`> :)
16:40 < valentin> hehe
16:40 < erus`> im in england at the moment
16:41 -!- thrashr888 [~thrashr88@64.125.143.6] has joined #go-nuts
16:41 -!- yogib [~yogib@131.234.59.64] has quit [Quit: yogib]
16:42 -!- smw [~stephen@unaffiliated/smw] has joined #go-nuts
16:43 < mpl> erus`: beware:
http://www.o-chateau.com/stuff-parisians-like/expats.html I just happened to have
a good laugh reading this an hour ago :)
16:45 < erus`> im in demand?  :)
16:45 -!- hsoj [~josh@mouse.shaken.lushie.org] has joined #go-nuts
16:46 -!- Argue [~Argue@112.201.172.5] has quit [Quit: Leaving]
16:46 < mpl> erus`: apparently.  if you can stand being exhibited by
arrogant parisians :)
16:47 < erus`> sounds like a win / win to me
16:47 < mpl> heh, to each his own.  go for it then ;)
16:47 * mpl managed to escape from Paris almost 2 years ago :)
16:50 -!- noam [~noam@87.69.42.61.cable.012.net.il] has quit [Ping timeout: 260
seconds]
16:50 -!- hsoj [~josh@mouse.shaken.lushie.org] has quit [Quit: fucking screen]
16:51 -!- noam [~noam@87.69.42.61.cable.012.net.il] has joined #go-nuts
16:51 < valentin> (in fact we're not exactly in Paris :)
16:51 -!- sacho [~sacho@92-247-208-87.spectrumnet.bg] has quit [Read error:
Connection reset by peer]
16:52 -!- hsoj [~josh@mouse.shaken.lushie.org] has joined #go-nuts
16:52 -!- pbgc [~pbgc@2.82.65.152] has quit [Quit: Textual IRC Client:
http://www.textualapp.com/]
16:53 -!- Bigbear11 [~Cody@S010678cd8e7c81a8.cg.shawcable.net] has joined #go-nuts
16:54 -!- tjyang_ [~tjyang@c-67-175-235-146.hsd1.il.comcast.net] has joined
#go-nuts
16:54 -!- aat [~aat@rrcs-184-75-54-130.nyc.biz.rr.com] has joined #go-nuts
16:55 -!- remy_o [~babar@archlinux/developer/remy-o] has joined #go-nuts
16:55 -!- Bigbear1 [~Cody@S010678cd8e7c81a8.cg.shawcable.net] has quit [Ping
timeout: 240 seconds]
16:57 -!- chowmeined [~chow@unaffiliated/chowmeined] has quit [Quit: Leaving]
16:57 -!- tjyang__ [~tjyang@c-67-175-235-146.hsd1.il.comcast.net] has quit [Read
error: Connection reset by peer]
16:58 < jessta> zozoR: you'll get a valid value
16:58 -!- pyrhho [~pyrhho@host-92-27-75-48.static.as13285.net] has quit [Quit:
pyrhho]
16:58 < jessta> and ok will be false
16:59 < jessta> ok will only be true once the channel is drained
17:01 < zozoR> wont it be false when its drained?  :s
17:01 < zozoR> getting the correct value, and ok=false makes no sense in my
head
17:06 < dlowe> rename it to still_open
17:07 -!- rcrowley [~rcrowley@50-0-18-168.dsl.static.sonic.net] has joined
#go-nuts
17:07 -!- marcux [~marco@189.121.104.181] has joined #go-nuts
17:07 -!- rlab [~Miranda@91.200.158.34] has joined #go-nuts
17:14 < jessta> zozoR: oops.  other way around
17:16 < zozoR> ^^
17:16 -!- nsf [~nsf@jiss.convex.ru] has joined #go-nuts
17:23 -!- aat_ [~aat@rrcs-184-75-54-130.nyc.biz.rr.com] has joined #go-nuts
17:24 -!- aat [~aat@rrcs-184-75-54-130.nyc.biz.rr.com] has quit [Ping timeout: 245
seconds]
17:35 -!- jstemmer [~cheetah@mrpwn.stemmertech.com] has joined #go-nuts
17:42 -!- samuell [~samuel@pc2-samuel.uppmax.uu.se] has quit [Quit: Ex-Chat]
17:44 -!- noam [~noam@87.69.42.61.cable.012.net.il] has quit [Ping timeout: 258
seconds]
17:45 -!- noam [~noam@87.69.42.61.cable.012.net.il] has joined #go-nuts
17:46 -!- osmano807 [~osmano807@189.12.68.228] has joined #go-nuts
17:48 -!- clr_ [~colin@2620:0:2820:2208:224:d7ff:fe3e:71b4] has quit [Ping
timeout: 260 seconds]
17:52 -!- f2f [~testing@glenda.cpsc.ucalgary.ca] has quit [Ping timeout: 246
seconds]
17:58 -!- preflex [~preflex@unaffiliated/mauke/bot/preflex] has quit [Ping
timeout: 252 seconds]
17:58 -!- lazy1 [~miki@cpe-75-84-253-172.socal.res.rr.com] has joined #go-nuts
18:01 -!- aat_ [~aat@rrcs-184-75-54-130.nyc.biz.rr.com] has quit [Quit: Computer
has gone to sleep.]
18:03 -!- f2f [~testing@glenda.cpsc.ucalgary.ca] has joined #go-nuts
18:05 -!- clr_ [~colin@2620:0:2820:2208:224:d7ff:fe3e:71b4] has joined #go-nuts
18:05 -!- qeed [~qeed@adsl-98-85-43-115.mco.bellsouth.net] has joined #go-nuts
18:06 -!- preflex [~preflex@unaffiliated/mauke/bot/preflex] has joined #go-nuts
18:09 -!- Bigbear11 [~Cody@S010678cd8e7c81a8.cg.shawcable.net] has quit [Read
error: Connection reset by peer]
18:15 -!- jmil [~jmil@2001:468:1802:e148:352b:75a5:b4ae:5e2e] has joined #go-nuts
18:17 -!- osmano807 [~osmano807@189.12.68.228] has left #go-nuts []
18:22 -!- f2f [~testing@glenda.cpsc.ucalgary.ca] has quit [Quit: leaving]
18:23 -!- f2f [~testing@glenda.cpsc.ucalgary.ca] has joined #go-nuts
18:29 -!- jmil [~jmil@2001:468:1802:e148:352b:75a5:b4ae:5e2e] has quit [Quit:
jmil]
18:33 -!- jmil [~jmil@2001:468:1802:e148:95bc:a04e:8421:47e9] has joined #go-nuts
18:35 -!- rcrowley [~rcrowley@50-0-18-168.dsl.static.sonic.net] has quit [Quit:
Computer has gone to sleep.]
18:43 -!- wallerdev [~wallerdev@72.44.102.30] has quit [Quit: wallerdev]
18:45 -!- jmil [~jmil@2001:468:1802:e148:95bc:a04e:8421:47e9] has quit [Quit:
jmil]
18:53 -!- jmil [~jmil@2001:468:1802:e148:d506:8d54:546c:f298] has joined #go-nuts
18:58 -!- gobeginner [~nwood@84-93-217-24.plus.net] has quit [Ping timeout: 252
seconds]
19:03 -!- jmil_ [~jmil@SEASNet-148-05.seas.upenn.edu] has joined #go-nuts
19:04 -!- jmil [~jmil@2001:468:1802:e148:d506:8d54:546c:f298] has quit [Ping
timeout: 260 seconds]
19:07 -!- jmil [~jmil@SEASNet-148-05.seas.upenn.edu] has quit [Client Quit]
19:10 -!- FX80 [~MX80@cust151.253.117.74.dsl.g3telecom.net] has quit [Read error:
Connection reset by peer]
19:12 -!- noam [~noam@87.69.42.61.cable.012.net.il] has quit [Ping timeout: 252
seconds]
19:16 -!- noam [~noam@87.69.42.61.cable.012.net.il] has joined #go-nuts
19:18 -!- BigBlackDog
[~BigBlackD@HSI-KBW-109-192-007-188.hsi6.kabel-badenwuerttemberg.de] has quit
[Quit: WeeChat 0.3.6-dev]
19:19 -!- sebastianskejoe [~sebastian@56344948.rev.stofanet.dk] has quit [Ping
timeout: 246 seconds]
19:21 -!- sebastianskejoe [~sebastian@56344948.rev.stofanet.dk] has joined
#go-nuts
19:23 -!- nsf [~nsf@jiss.convex.ru] has quit [Quit: WeeChat 0.3.5]
19:27 -!- nsf [~nsf@jiss.convex.ru] has joined #go-nuts
19:29 -!- aat [~aat@rrcs-184-75-54-130.nyc.biz.rr.com] has joined #go-nuts
19:31 -!- tav [~tav@host-92-20-22-171.as13285.net] has quit [Ping timeout: 264
seconds]
19:32 -!- jmil [~jmil@2001:468:1802:e148:c9a6:5152:e4c:a8ca] has joined #go-nuts
19:32 -!- marcux [~marco@189.121.104.181] has quit [Quit: marcux]
19:38 -!- rcrowley [~rcrowley@50-0-18-168.dsl.static.sonic.net] has joined
#go-nuts
19:39 -!- thrashr888 [~thrashr88@64.125.143.6] has quit [Quit: thrashr888]
19:47 * rsesek wishes he could do slice[1:-1] instead of slice[1:len(slice)-1]
19:47 < goraes> yeah
19:47 < goraes> slice[-1] too
19:47 < rsesek> yeah
19:47 < rm445> doesn't slice[:] do the first one?
19:48 < goraes> no that gets the whole slice
19:48 < rm445> oh yeah sorry
19:48 -!- sebastianskejoe [~sebastian@56344948.rev.stofanet.dk] has quit [Quit:
leaving]
19:48 -!- tvw [~tv@e176005109.adsl.alicedsl.de] has quit [Remote host closed the
connection]
19:49 < rm445> anyway the go authors have a defined stance on the matter:
they think negative indices are likely to be a logic error and hence giving them
working semantics is wrong.
19:49 < goraes> bummer.
19:50 < rsesek> I can see why, but as a high value in a range, I think it
makes sense.  but I understand just as a regular index, otherwise
slice[strings.Index(s, sep)] would do the unexpected
19:52 -!- Fish- [~Fish@9fans.fr] has joined #go-nuts
19:52 < goraes> unexpected if you don't know the semantic.
19:53 -!- gobeginner [~nwood@84-93-217-24.plus.net] has joined #go-nuts
19:53 < goraes> works pretty well in python.
19:53 < rsesek> true
19:53 < rsesek> yeah.  I've never hit that issue in python :p
19:58 -!- alehorst [~alehorst@177.16.123.168] has quit [Quit: Leaving.]
20:01 < NfNitLoop> Is there a way to import things so that they're
accessible without a namespace/package prefix?
20:01 < qeed> yeah use .
20:01 < rsesek> import . "package"
http://golang.org/doc/go_spec.html#Import_declarations
20:02 -!- aat [~aat@rrcs-184-75-54-130.nyc.biz.rr.com] has quit [Quit: Computer
has gone to sleep.]
20:02 < NfNitLoop> If so, you could just make a sub(slice, start, end) that
does that.  Thouugh..
20:02 < NfNitLoop> I guess you can't just do a generic one for all slices,
can you?  >.<
20:03 < rsesek> NfNitLoop: why not []interface{}
20:03 < remy_o> that's not "all slices"
20:03 -!- aat [~aat@rrcs-184-75-54-130.nyc.biz.rr.com] has joined #go-nuts
20:04 -!- c00w [~colin@2620:0:2820:2208:224:d7ff:fe3e:71b4] has quit [Ping
timeout: 260 seconds]
20:04 < NfNitLoop> because then you'd have to return []interface{} and you
probably want something a bit more useful.
20:04 < rsesek> ah hm
20:04 -!- kergoth [~kergoth@ip24-251-167-38.ph.ph.cox.net] has joined #go-nuts
20:04 < NfNitLoop> remy_o: isn't it?
20:05 < remy_o> huh?
20:05 -!- hnry [50dd2595@gateway/web/freenode/ip.80.221.37.149] has quit [Ping
timeout: 252 seconds]
20:05 < rsesek> which slices would it not cover?
20:09 < remy_o> all slices
20:10 < remy_o> except []interface{}
20:11 -!- thrashr888 [~thrashr88@64.125.143.6] has joined #go-nuts
20:12 < NfNitLoop> oooh, yeah.  I always forget that.  >.<
20:13 < NfNitLoop> Go needs generics already.  :p
20:14 -!- dreadlorde [dreadlorde@c-68-42-82-10.hsd1.mi.comcast.net] has joined
#go-nuts
20:16 < Ginto8> NfNitLoop, I find that go is fine without them, but I have
no doubt it would be even better with them :P
20:16 < dlowe> I prefer interfaces.
20:17 < Ginto8> I think that gotgo-ish templates integrated into standard go
would be fantastic
20:19 < Ginto8> and like you could specify template type parameters for
packages in the import statements
20:19 -!- clr_ [~colin@2620:0:2820:a9:224:d7ff:fe3e:71b4] has joined #go-nuts
20:20 -!- squeese [~squeese@cm-84.209.17.156.getinternet.no] has joined #go-nuts
20:25 < kevlar_work> Ginto8, in my (still unpublished...) generics proposal,
I specifically *don't* want parameterized imports.
20:25 < Ginto8> oh?
20:25 < kevlar_work> part of the nicety of Go is that you don't have to
specify types when the compiler knows them already
20:25 < Ginto8> hmm good point
20:26 < kevlar_work> and also, I really don't want to look at a file and see
the same package imported multiple times
20:26 < Ginto8> how complex is your proposal?
20:26 < kevlar_work> really simple.
20:26 -!- rlab [~Miranda@91.200.158.34] has quit [Read error: Connection reset by
peer]
20:26 < kevlar_work> It adds a new keyword "generic" that can be used in one
place: "type a generic"
20:27 < kevlar_work> then you can have functions with multiple a-type
arguments and/or returns, and the compiler will specialize the function for you
20:27 < Ginto8> hmm
20:28 < Ginto8> but you should be able to restrict a to a point
20:28 < kevlar_work> as long as the code would compile with s/a/yourtype/ I
don't see why you would.
20:29 < Ginto8> but that's the issue
20:29 < Ginto8> In C++, errors from invalid template types are absolutely
horrific
20:29 -!- meling [~meling@134.81-167-41.customer.lyse.net] has quit [Read error:
Connection reset by peer]
20:29 -!- meling [~meling@134.81-167-41.customer.lyse.net] has joined #go-nuts
20:30 < kevlar_work> my proposal is for generics to be a part of
compilation, not a part of preprocessing
20:30 < Ginto8> hmm
20:31 < kevlar_work> so, for instance, an error might be "type Blah invalid
for a (restriction: Blah + Blah invalid)" or something
20:31 < Ginto8> ahh
20:32 < kevlar_work> the idea being that the compiler keeps track of how the
generic is used (math, indexed, methods called, etc) and checks those first when
specializing
20:32 < Ginto8> hmm
20:32 -!- clr_ [~colin@2620:0:2820:a9:224:d7ff:fe3e:71b4] has quit [Ping timeout:
264 seconds]
20:32 < f2f> kevlar, kind of like limbo's adt's?
20:33 < kevlar_work> no idea.
20:33 < kevlar_work> in my mind, it's a compiler-driven version of
templates.
20:33 < f2f> sounds similar, but i'm not sure :)
20:34 < kevlar_work> I haven't published it yet because I haven't completely
thought through the implications of derived generic types (e.g.  type a generic;
type b []a) or interfaces (type a generic; interface{Func(a) a})
20:34 < f2f> i think what you describe is a good way to have generics
20:34 < Ginto8> kergoth, honestly it sounds briliant
20:35 < Ginto8> kevlar_work, *
20:35 < Ginto8> damn autocomplete
20:36 < kevlar_work> another thing that differentiates it from some other
generics proposals we've discussed on IRC is that it's compile-time instead of
run-time, so it makes your compile longer but shouldn't impact runtime performance
20:36 < f2f> it needs a root concrete type to ensure that the generic types
are resolvable
20:37 < kevlar_work> hmm?
20:37 < f2f> but you could still have a generic-typed library
20:37 < |Craig|> kevlar_work: that would require compiling imported packages
while compiling parent packages, which would be a major change.  It would increase
memory needed to compile, and change the entire compiling process right?
20:37 < Ginto8> root concrete type?
20:38 < f2f> ugh
20:39 -!- dlowe [~dlowe@nat/google/x-ecnpqdzqjcwazmvc] has quit [Quit: Leaving.]
20:39 < f2f> nevermind, my terminology is screwed :)
20:39 < zozoR> do you know which solutions the go team is looking into at
the moment?
20:41 < Ginto8> the thing is, to make templates compile-based rather than
preprocessing-based, they probably need an intermediary format
20:41 < f2f> kevlar_work: do you compile different versions of your generic
method for the different types it's called with?
20:41 < kevlar_work> |Craig|, no, it would require exporting something akin
to an AST and the list of requirements for each generic type in a library's object
file
20:41 < kevlar_work> f2f, yes.
20:41 < Ginto8> a sort of special object file format for templates
20:42 < kevlar_work> if I were doing it (IANAcompilerdev) I would just embed
the AST for the function into the object file.
20:42 < kevlar_work> There are certainly better ways to do it though.
20:43 < kevlar_work> with the upcoming inlining and escape analysis work, I
think you really have to go with compiled specializations if you don't want to
completely forfeit all of those benefits (like you would if you had run-time
generic functions)
20:44 < |Craig|> kevlar_work: that or preprocessing, which is a mess
20:45 -!- clr_ [~colin@2620:0:2820:2208:224:d7ff:fe3e:71b4] has joined #go-nuts
20:46 -!- gobeginner [~nwood@84-93-217-24.plus.net] has quit [Ping timeout: 264
seconds]
20:47 < kevlar_work> blech, preprocessor--
20:47 < kevlar_work> I've lost too many fights with the C preprocessor to
ever suggest such a thing in a language that currently exists without one.
20:48 < |Craig|> I agree, a preprocessor is more of a hack than a feature
20:48 -!- arun_ [~arun@unaffiliated/sindian] has quit [Ping timeout: 245 seconds]
20:49 < exch> It's necessity signals a distinct failure in the language
itself :p
20:49 * exch hides
20:49 < Ginto8> exch, I don't think you'll find people here strongly
disagree with that
20:50 < kevlar_work> hop on over to ##c++ and say that, though, and you
might find yourself in a spot of trouble ;-).
20:50 < Ginto8> C was great for when it was made
20:51 < kevlar_work> totally
20:51 < Ginto8> but the preprocessor was a hack
20:51 < Ginto8> and it just stayed around...
20:51 < kevlar_work> C dominated my programming life for ~10 years and I
taught it for 4, but I dropped it like a hot potato when I found Go.
20:51 < Ginto8> I used C++
20:52 < exch> I still enjoy C now and again
20:52 < kevlar_work> I learned Java, wised up and learned C++, wised up and
learned C and only touched C++ a few times after that.
20:52 < kevlar_work> C is still a great language.
20:52 < exch> I came from 10 years of intensive C# use when I ran into Go.
Go also got me more into C
20:53 < kevlar_work> and I still think every programmer (especially EE/CmpE)
should be required to get to a certain proficiency in C
20:53 < Ginto8> yes
20:53 < kevlar_work> because it makes you understand what is going on under
the hood.
20:53 < Ginto8> yesyesyes
20:53 < Ginto8> but C's grammar was complex, C++'s just became a mess
20:54 < f2f> i don't think the two are comparable :)
20:54 < kevlar_work> I love how simple and unambiguous Go's grammer is
20:54 < Ginto8> kevlar_work, yes :D
20:54 < kevlar_work> the fact that it has its own grammar parser is
brilliant, but even without that it'd be really simple to use regex to do
refactors for you
20:55 < exch> I am following a CS course 'From NAND to Tetris' to /really/
understand what goes on under the hood.  Most of it is old news, but it has
demystified some aspects which were always a bit beyond me in the past
20:55 -!- itrekkie [86868b4c@gateway/web/freenode/ip.134.134.139.76] has joined
#go-nuts
20:55 < exch> Go does have ambiguity unfortunately.  Notably a function call
and type cast are identical
20:55 < Ginto8> but
20:55 < kevlar_work> I remember when I made my first processor in VHDL and
then made my own assembler for it
20:56 < kevlar_work> demystified *so much* lol
20:56 < Ginto8> you can't give a function and a type the same name, which is
good
20:56 < exch> kevlar_work: yea that's basically what this course is about.
You design a virtual computer from NAND gates up.  design asm for it.  write an
assembler.  design a high level language.  write a rudimentary OS, VM and some
games
20:56 < kevlar_work> exch, what does the AST do for typecasts?
20:56 < exch> I love it
20:56 < |Craig|> kevlar_work: yes, implementing a processor is a great
project, I'm glad I did that
20:57 < exch> kevlar_work: No idea I haven't looked
20:57 -!- aat_ [~aat@rrcs-184-75-54-130.nyc.biz.rr.com] has joined #go-nuts
20:58 < kevlar_work> the only gate-level stuff I've done is a basic register
and ALU.  That was crazy, and made me really appreciate the people who keep our
die sizes down, lol
20:58 < exch> Ginto8: you can name a function uint().
20:58 < exch> Go doesnt really have any reserved words as such
20:58 < Ginto8> o.o
20:58 < ww> exch: i recommend reading feynman's lectures on computation
20:58 -!- aat [~aat@rrcs-184-75-54-130.nyc.biz.rr.com] has quit [Ping timeout: 252
seconds]
20:58 < exch> of course,if you use uint as a type anywhere, the compiler
will throw a fit
20:58 -!- aat_ [~aat@rrcs-184-75-54-130.nyc.biz.rr.com] has quit [Client Quit]
20:59 < kevlar_work> func(int, a string) <-- does not do what you might
at first expect, lol
20:59 < ww> covers a lot of that ground...  and more...  in style...
20:59 < exch> ww: cool.  I'll look it up
20:59 < exch> I learn best by just doing though.
21:00 -!- awidegreen [~quassel@h-170-226.a212.priv.bahnhof.se] has quit [Ping
timeout: 260 seconds]
21:00 < exch> This course comes with harware simulation software and a
custom HDL in which you can just go ahead and build/test stuff
21:00 < kevlar_work> (I wish my students realized that.  I mean, seriously,
in a programming class, how do you expect to pass without doing the homework?)
21:00 < mpl> so anyone here good with mysql?  I've made a little experiment
where I simply loop over mysql.DialTCP until it errors out with "#2013 Lost
connection to MySQL server during query", and yet I don't see any trace of that in
the mysql error log?  any idea?
21:00 < itrekkie> hi all--is there any way to execute generated code?  e.g.,
in c casting and calling a function from memory?
21:01 -!- tdnrad [~darndt@terminal.research.cs.dal.ca] has joined #go-nuts
21:01 < ww> does mysql still truncate VARCHAR(X) columns silently?
21:01 < mpl> no idea.  (using philio's gomysql btw).
21:02 -!- nsf [~nsf@jiss.convex.ru] has quit [Quit: WeeChat 0.3.5]
21:02 < f2f> itrekkie: no
21:02 < ww> e.g.  CREATE TABLE foo (bar VARCHAR(2)); INSERT INTO foo
VALUES('abc123'); SELECT * FROM foo;
21:03 < ww> --> 'ab' ...  and no error
21:03 * ww was apalled that anyone would use a database that does that
21:03 < mpl> ah, interesting.  but not my problem right now ;)
21:03 < itrekkie> so any sort of jit is impossible in go?  :(
21:03 -!- zeebo [~zeebo@ip72-218-115-129.hr.hr.cox.net] has quit [Ping timeout:
252 seconds]
21:04 < f2f> go is a compiled language
21:04 -!- nsf [~nsf@jiss.convex.ru] has joined #go-nuts
21:04 < itrekkie> yes, but runtime code generation and execution is useful
if you're implementing a runtime for another language
21:05 < |Craig|> if you generate machine code, you can call it via CGO and a
bit of c I suppose
21:05 -!- clr_ [~colin@2620:0:2820:2208:224:d7ff:fe3e:71b4] has quit [Ping
timeout: 260 seconds]
21:07 -!- rlab [~Miranda@91.200.158.34] has joined #go-nuts
21:07 -!- Fish- [~Fish@9fans.fr] has quit [Quit: WeeChat 0.3.5]
21:08 -!- rlab [~Miranda@91.200.158.34] has quit [Client Quit]
21:09 < zozoR> meh, why do we need generics when we have interface{}
21:09 < f2f> interface is a wee bit too generic?
21:10 < f2f> we need less generic generics ;)
21:10 < Ginto8> because sometimes you want an array of one single type
21:10 < |Craig|> zozoR: safety, clarity and performanc
21:10 < Ginto8> but you want the type to be generic
21:12 < zozoR> well since we cant have that, interface{} is good enough ''
21:12 < Ginto8> we CAN have it
21:12 < Ginto8> we DON'T have it
21:12 < nsf> generics rant again
21:12 < nsf> we won't have generics, live with it
21:13 < nsf> :)
21:13 -!- remy_o [~babar@archlinux/developer/remy-o] has quit [Ping timeout: 240
seconds]
21:14 < f2f> i'm living with it just fine.
21:14 < Ginto8> we'd just prefer not to have to live with it
21:14 < f2f> the instances where i have found myself thinking 'this should
be a generic function' are very few.  especially since append() appeared and is
generic.
21:14 -!- miker2 [~miker2@pool-71-175-94-30.phlapa.fios.verizon.net] has quit
[Quit: Computer has gone to sleep.]
21:15 < nsf> besides everyone will learn writing binary searches and all
kinds of sorts :D
21:15 < f2f> the formal language theory community will dismiss append() as a
hack :)
21:16 < f2f> hey, new idea: union interfaces!
21:16 < f2f> problem solved!
21:16 < nsf> f2f: we've seen that
21:16 < nsf> we've heard that
21:16 < f2f> oh, well, then.
21:16 -!- jbooth1 [~jay@209.249.216.2] has joined #go-nuts
21:16 < Ginto8> union interfaces?
21:16 < f2f> not union types, but union interfaces
21:16 < nsf> unions are pain in the ass with GC, or otherwise they are safe
and actually they are interface{}
21:17 < f2f> you cast away the generality of an interface
21:17 < nsf> :D
21:17 -!- napsy [~luka@88.200.96.18] has joined #go-nuts
21:17 < f2f> and say my []interface{} can only be of the T interface type
21:17 < Ginto8> huh?
21:17 < f2f> et viola ;)
21:17 < Ginto8> I'm still confused
21:17 < f2f> []os.Error
21:18 < qeed> what i want most is something less than package scope heh
21:19 < qeed> as it stands right now i have to make all these dirs to split
up the program
21:21 < |Craig|> qeed: you have something less than package scope, function
scope (oh, and sub packages if you want to count that)
21:21 < qeed> i want file scope in addition to it
21:22 < f2f> do you absolutely need to make separate dirs?
21:22 < qeed> goinstall forces me to
21:22 < f2f> well, screw goinstall, go rogue :)
21:23 < f2f> or, as they say in france, go rouge ;)
21:25 < jlaffaye> we say that?
21:25 < f2f> only when creating a goroutine to run a function called
"rouge()"
21:26 -!- Venom_X [~pjacobs@75-27-133-72.lightspeed.austtx.sbcglobal.net] has quit
[Quit: Leaving]
21:26 < mpl> f2f: but also, "rouge sur blanc, tout fout le camp!"
21:26 -!- goraes [~goraes@189.103.177.124] has quit [Quit: Leaving]
21:28 -!- dfr|mac [~dfr|work@nat/google/x-wkxjjpkjlkeohjeh] has joined #go-nuts
21:29 < jlaffaye> mpl: :)
21:29 -!- napsy [~luka@88.200.96.18] has quit [Ping timeout: 264 seconds]
21:32 < itrekkie> append has no overhead if a slice has sufficient capacity,
correct?
21:32 < f2f> yes
21:33 < f2f> well, it won't allocate a new one, but you still incur the
overhead of the function call and data copy
21:34 < exch> The data copy has to occur whether you use append or not.  So
that ca technically be ignored in this case
21:34 < itrekkie> I'm implementing a stack with a slice of ints, just
appending and popping, trying to decide if it's best to use append, or track stack
size manually
21:34 < exch> That leaves the function call, which might be eliminated when
we have inlining
21:35 < Ginto8> itrekkie, append, but you can also keep track of stack size
21:35 < exch> itrekkie: I found the fastest stack implementation is to
pre-allocate the stack with a fixed size and just use an integer index to track
where you are at
21:35 < itrekkie> I'm really looking forward to inlining :)
21:36 < itrekkie> thanks guys, I'll try pre-allocating the stack and keeping
track of the index
21:36 < exch> me too
21:38 < itrekkie> excellent, that approach to the stack helped my
performance a bit, thanks
21:40 < itrekkie> is anyone aware of any news on inlining?  I saw some
patches a while back, but I don't know if they were taken or not?
21:42 < f2f> is this code really that performance-critical?  :)
21:42 < itrekkie> I ask, because I'm having a hard time getting a basic
virtual machine's performance off the ground, and I think inlining might help a
bit
21:42 < f2f> perhaps you can profile the code and see exactly where the time
is spent
21:43 < f2f> identify hotspots if you will
21:43 < f2f> get it?  VM? Hotspot?  :)
21:43 < itrekkie> basic profiling with 6prof shows 20% of the time is spent
in stack pushing/popping, and I'm sure some of that time is function call overhead
21:43 < itrekkie> I could manually inline, but that's super ugly
21:44 < f2f> what do your push/pop functions look like?
21:45 < itrekkie> pretty simple, just adjusting an index, and array access
21:45 < itrekkie> http://pastie.org/2499554 machine.popInt() and
machine.pushInt()
21:45 -!- aat [~aat@rrcs-184-75-54-130.nyc.biz.rr.com] has joined #go-nuts
21:46 < itrekkie> apparently only 70% of the time is within the
machine.Execute(), which is troublesome, I think
21:47 -!- Taos [~jakob@vvps-085402.dailyvps.co.uk] has quit [Remote host closed
the connection]
21:48 -!- zozoR [~Morten@2906ds2-arno.0.fullrate.dk] has quit [Remote host closed
the connection]
21:50 < jlaffaye> there is no Do() methods in http with DefaultClient?
21:50 < f2f> wait, those should be cumulative, since all the push/pop is
called from inside Execute
21:51 -!- awidegreen [~quassel@h-170-226.a212.priv.bahnhof.se] has joined #go-nuts
21:52 < itrekkie> I don't follow, am I reading the profiling results wrong?
http://pastie.org/2499589
21:56 < f2f> you can get a cumulative printout too
21:57 < f2f> and a callgraph
21:57 < f2f> just see the gopprof script
21:57 -!- cr3 [~cr3@64.34.151.178] has quit [Quit: leaving]
21:58 < f2f> one thing to do -- remove that allocation at the top of for
true {
22:00 < itrekkie> I'm not seeing an allocation, do you mean "instr :=
function.Instructions[ip]"?
22:00 < f2f> yes
22:01 < f2f> oops, that's gone now
22:03 < itrekkie> I thought that was just assigning a variable a pointer,
not particularly expensive?
22:05 < exch> it also initializes a new 'instr'
22:05 < f2f> you're creating a new variable on the heap every time
22:06 < exch> put a 'var instr T' outside the loop and then just 'instr =
...' inside it
22:06 -!- ShadowIce [~pyoro@unaffiliated/shadowice-x841044] has quit [Quit:
Verlassend]
22:07 -!- franciscosouza [~francisco@187.105.26.180] has joined #go-nuts
22:10 < itrekkie> hm, that change actually slows it down a bit
22:10 -!- tav [~tav@host-2-96-36-70.as13285.net] has joined #go-nuts
22:10 < f2f> in total run time?
22:11 < itrekkie> yea
22:11 -!- lazy1 [~miki@cpe-75-84-253-172.socal.res.rr.com] has left #go-nuts
["Ex-Chat"]
22:12 < f2f> what's a bit?  is it above the wallclock noise?
22:12 < f2f> is it average of 10 runs?
22:16 < itrekkie> yes, that change seems about 10% slower
22:16 -!- franciscosouza [~francisco@187.105.26.180] has quit [Quit:
franciscosouza]
22:17 -!- icebrain [~icebrain@co3-84-90-63-109.netvisao.pt] has joined #go-nuts
22:17 < f2f> i don't have your code for reference anymore
22:17 < icebrain> hi!  what would you recommend reading as good, idiomatic
Go code?
22:17 < f2f> icebrain: the standard libraries
22:18 < icebrain> f2f: thanks.  Should've thought of that:|
22:18 < itrekkie> sorry, I refreshed the code, should be good now
22:18 -!- jmil [~jmil@2001:468:1802:e148:c9a6:5152:e4c:a8ca] has quit [Quit: jmil]
22:19 < f2f> i still see := on line 73
22:20 -!- erus` [~chatzilla@cpc2-gill2-0-0-cust701.basl.cable.virginmedia.com] has
quit [Remote host closed the connection]
22:22 < itrekkie> updated :)
22:23 < f2f> gtg.  itrekkie, FWIW, i don't think there's much wrong with
this code.  i don't know what you're comparing it to, but, if anything, your push
and pop will become slower once you add all the necessary checks for underflow and
array overflow.
22:24 < itrekkie> it looks like there's some bound checks getting thrown in,
are all slice access bound checked?
22:24 -!- franciscosouza [~francisco@187.105.26.180] has joined #go-nuts
22:24 < kevlar_work> itrekkie, can you link again?
22:24 < itrekkie> http://pastie.org/2499554
22:25 < itrekkie> I remember there being a hidden flag for disabling
bound-checks, anyone remember it?
22:26 < f2f> itrekkie: yes, they are bound-checked, but you'll need to
protect against panics because that's the default for boundary violations
22:26 -!- tav_ [~tav@host-2-96-36-70.as13285.net] has joined #go-nuts
22:26 < kevlar_work> itrekkie, I recommend changing New to be, basically,
return &Machine{ program: program,\n stack: ...  }
22:27 < itrekkie> is that more idiomatic?  Machine.New() shouldn't be taking
a ton of time though
22:27 < kevlar_work> yes, it's just more idiomatic
22:27 < f2f> just publish a gopprof call graph :)
22:28 < f2f> gopprof --web prog profile
22:28 -!- awidegreen [~quassel@h-170-226.a212.priv.bahnhof.se] has quit [Read
error: Operation timed out]
22:29 -!- tav [~tav@host-2-96-36-70.as13285.net] has quit [Ping timeout: 245
seconds]
22:29 < kevlar_work> also, for retrieveframe, I would do: fp--; frame :=
franes[fp]; return frame.fun, f.ip; and ditch the named return values.
22:29 -!- jbooth1 [~jay@209.249.216.2] has quit [Quit: Leaving.]
22:30 -!- icebrain [~icebrain@co3-84-90-63-109.netvisao.pt] has quit [Ping
timeout: 240 seconds]
22:30 < kevlar_work> (also just from an idiomatic point of view)
22:31 < itrekkie> alrighty, always looking to write more idiomatic go :)
22:31 < f2f> from an idiomatic point of view you shouldn't call a function
xInt() if it operates on int64
22:32 < f2f> but i let it slide because we're looking at the performance
issue, if it existws
22:32 < f2f> s/tws/ts/
22:32 -!- franciscosouza [~francisco@187.105.26.180] has quit [Quit:
franciscosouza]
22:33 < kevlar_work> well, for a machine simulator, "int" as opposed to
"byte" or "word" or "pointer" is fine
22:34 -!- justicefries [u2891@gateway/web/irccloud.com/x-iishasbyhiglttcl] has
quit [Read error: Connection reset by peer]
22:34 -!- proppy [u1692@gateway/web/irccloud.com/x-golmestoutqimoer] has quit
[Read error: Connection reset by peer]
22:34 -!- Kai`_ [u327@gateway/web/irccloud.com/x-qdophowcrlysbgkh] has quit
[Remote host closed the connection]
22:34 -!- antonkovalyov [u1783@gateway/web/irccloud.com/x-mpatilvwqdzwqbqd] has
quit [Remote host closed the connection]
22:34 -!- heatxsink [u956@gateway/web/irccloud.com/x-aljqcaymiryciblx] has quit
[Remote host closed the connection]
22:34 -!- itsPhilip [u2979@gateway/web/irccloud.com/x-pmyflnzdanephwlj] has quit
[Write error: Connection reset by peer]
22:34 -!- Crnobog|Work [u1041@gateway/web/irccloud.com/x-jxzbsnffyctnbokg] has
quit [Write error: Broken pipe]
22:34 -!- aat [~aat@rrcs-184-75-54-130.nyc.biz.rr.com] has quit [Quit: Computer
has gone to sleep.]
22:34 < itrekkie> I can't remember why I'm working with int64 anyway, so...
22:34 < kevlar_work> so, now that I've looked at the code a bit, what's the
performance issue you are seeing?
22:35 < kevlar_work> or are you just trying to optimize?
22:35 < itrekkie> I'm just trying to optimize it a bit, yea
22:35 < kevlar_work> if you're seeing performance change drastically from
subtle changes that shouldn't cause anything, I suspect you're running afoul of
the stack segmentation
22:35 < itrekkie> (I'm apparently not smart enough to figure out how to
convert a svg to a png to upload to imgur)
22:36 < kevlar_work> but the code you have there doesn't have any obvious
bottlenecks
22:36 < kevlar_work> open in inkscape, export as bitmap, done ;-)
22:36 < kevlar_work> convert may be able to do svg now, though.
22:36 < kevlar_work> (imagemagick)
22:36 < f2f> itrekkie:
http://www.fileformat.info/convert/image/svg2raster.htm
22:37 < kevlar_work> also, I suggest using gist these days, rather than
pastie.  I often go back through my old gists to find examples and the version
control behind it is shiny.
22:38 < itrekkie> hm, that tool cuts off a huge portion of the svg
22:38 < kevlar_work> itrekkie, you are also putting things in what I suspect
are too many packages...
22:38 -!- icebrain [~icebrain@co3-84-90-63-109.netvisao.pt] has joined #go-nuts
22:38 < kevlar_work> I tried to do that for encapsulation reasons when I
just started out with Go, and have since gone back.
22:40 < itrekkie> there we go :) http://imgur.com/Gy3Aj
22:42 < itrekkie> (this all started with me thinking inlining would help
with popInt and pushInt)
22:44 -!- Kai`_ [u327@gateway/web/irccloud.com/x-fzumpnqtezcxhmrh] has joined
#go-nuts
22:44 < itrekkie> I do have quite a few different packages though, so maybe
that's it
22:45 < itrekkie> every instruction executed is also a pointer indirection
(I think), whereas my C version isn't
22:46 -!- clr_ [~colin@2620:0:2820:2208:224:d7ff:fe3e:71b4] has joined #go-nuts
22:46 < kevlar_work> inlining is coming soon, what version of go are you
running?
22:47 < kevlar_work> and wow, based on that image, I suspect you're about as
optimized as you can get
22:48 < kevlar_work> but you might want to list vm.execute to see where it's
spending a lot of time
22:48 -!- gobeginner [~nwood@cpc2-lee23-0-0-cust152.7-1.cable.virginmedia.com] has
joined #go-nuts
22:48 < kevlar_work>
http://blog.golang.org/2011/06/profiling-go-programs.html
22:49 < kevlar_work> (that explains how to read the output of the pprof list
command)
22:51 < itrekkie> great, thanks, I'll give that a read
22:54 < kevlar_work> itrekkie, you can actually improve the speed of your
math operations by doing something like stack[0] = stack[0] + stack[1]; sp--; (or
whatever the proper ordering would be)
22:54 < kevlar_work> which is actually more along the lines of what a
processor actually does.
22:54 -!- heatxsink [u956@gateway/web/irccloud.com/x-ikgcgikklvtccebh] has joined
#go-nuts
22:55 < kevlar_work> I guess it would be stack[sp-1], sp = stack[sp] +
stack[sp-1], sp - 1; maybe?
22:55 < kevlar_work> *shrug*
22:55 < kevlar_work> that would kill the function calls.
22:56 -!- Crnobog|Work [u1041@gateway/web/irccloud.com/x-ajdvjuveeujkhssh] has
joined #go-nuts
22:57 < itrekkie> that's worth a try, thanks :D
22:57 < exch> register based VMs are supposedly faster than stack Vm's.  I'
currently putting that to the test.  Though I have to say I never wrote a register
VM before, so lack of skill may bias the results
22:57 < itrekkie> also, disabling the bounds checking is -B, seems to help a
bit
22:57 < kevlar_work> yeah, don't bother with that though
22:57 < exch> My stack VMs generally spend most of their time executing
stack shuffling instructions
22:58 < exch> For any meaningful program that is
22:58 < kevlar_work> what would be really fun would be to emulate a
pipelined processor using goroutines >:-)
22:58 < kevlar_work> with branch prediction and all that fun stuff.
22:59 < kevlar_work> (probably would be slower than a straightline vm, but
that's not the point, it would be fun)
23:00 < exch> indeed.  People tend to forget about the importancce of fun
23:00 -!- nekoh [~nekoh@dslb-088-068-017-084.pools.arcor-ip.net] has quit [Quit:
nekoh]
23:00 < exch> That is mostly why I wrote so many stack VMs.  They all turned
out to be useless for anything serious, but it was just plain good fun
23:01 -!- miker2 [~miker2@pool-71-175-94-30.phlapa.fios.verizon.net] has joined
#go-nuts
23:01 < kevlar_work> I'm currently, in my idle moments, working on a
simulation involving self-modifying programs trying to evolve in a combative
environment
23:01 < kevlar_work> it should be super fun.
23:01 < kevlar_work> mostly because I like writing programs whose results I
don't know going into it.
23:03 < kevlar_work> If I get really adventurous, I want to make it so you
can submit a program via appengine or something to compete against other ones.
23:04 < exch> that sounds ambitious
23:05 < itrekkie> hm, this isn't quite working for me:
"machine.stack[machine.sp-1], machine.sp = machine.stack[machine.sp] +
machine.stack[machine.sp-1], machine.sp-1"
23:05 < itrekkie> stack access is way easier than messing with arrays ;)
23:06 -!- proppy [u1692@gateway/web/irccloud.com/x-ndqooeshzfqfqiiv] has joined
#go-nuts
23:08 -!- miker2 [~miker2@pool-71-175-94-30.phlapa.fios.verizon.net] has quit
[Quit: Computer has gone to sleep.]
23:13 < itrekkie> yay, manually inlining helps a little bit :)
23:14 -!- clr_ [~colin@2620:0:2820:2208:224:d7ff:fe3e:71b4] has quit [Ping
timeout: 260 seconds]
23:15 < kevlar_work> exch, they're "programs" in that they have a limited
(16 instruction) instruction set
23:16 < exch> You could do a lot with 16 well chosen instructions :)
23:16 < kevlar_work> a full instruction is 1 byte, with the high-order
nibble being the opcode and the low-order nibble being the argument (or two)
23:16 < kevlar_work> indeed, lol
23:19 -!- nsf [~nsf@jiss.convex.ru] has quit [Quit: WeeChat 0.3.5]
23:20 -!- vmil86 [~vmil86@88.118.38.213] has quit [Remote host closed the
connection]
23:22 < itrekkie> alrighty, 99% of time spent in the Execute function, and I
think that's about as far as I can go
23:23 < itrekkie> it would be nice if go had jump to labels :D
23:26 -!- justicefries [u2891@gateway/web/irccloud.com/x-xumwnihzxdmbybxm] has
joined #go-nuts
23:26 < itrekkie> okay, let me rephrase that, it would be nice if I could
get the address of labels
23:28 -!- itsPhilip [u2979@gateway/web/irccloud.com/x-qhxvsbuzsrxryhby] has joined
#go-nuts
23:31 < |Craig|> itrekkie: go has goto
23:34 < itrekkie> I know, my mistake, I'd like to goto the absolute address
of a label, e.g., gcc &&label
23:35 -!- clr_ [~colin@virginia-155.dynamic2.rpi.edu] has joined #go-nuts
23:38 -!- antonkovalyov [u1783@gateway/web/irccloud.com/x-vsibuufpwpsvwdjs] has
joined #go-nuts
23:39 -!- itrekkie [86868b4c@gateway/web/freenode/ip.134.134.139.76] has quit
[Ping timeout: 252 seconds]
23:39 < KirkMcDonald> Computed goto
23:39 < KirkMcDonald> (Is what that feature is called.)
23:44 -!- tux21b [~christoph@cpe90-146-162-55.liwest.at] has quit [Remote host
closed the connection]
23:49 -!- c00w [~colin@virginia-155.dynamic2.rpi.edu] has quit [Ping timeout: 258
seconds]
23:57 -!- franciscosouza [~francisco@187.105.26.180] has joined #go-nuts
--- Log closed Thu Sep 08 00:00:24 2011