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

--- Log opened Fri Aug 20 00:00:05 2010
00:02 -!- Project_2501 [~Marvin@82.84.92.43] has quit [Quit: E se abbasso questa
leva che succ...]
00:04 -!- linac [~lin@122.90.93.161] has joined #go-nuts
00:34 -!- ExtraSpice [~XtraSpice@88.118.32.225] has quit [Ping timeout: 240
seconds]
00:35 -!- tensorpudding [~user@99.160.223.189] has quit [Ping timeout: 246
seconds]
00:35 -!- napsy [~luka@212.235.174.112] has quit [Ping timeout: 240 seconds]
00:43 -!- mikespook [~mikespook@219.137.234.62] has joined #go-nuts
00:43 -!- napsy [~luka@212.235.174.112] has joined #go-nuts
00:45 -!- willdye [~willdye@fern.dsndata.com] has left #go-nuts []
00:50 -!- kanru [~kanru@61-30-10-70.static.tfn.net.tw] has joined #go-nuts
00:52 -!- scarabx [~scarabx@c-76-19-43-200.hsd1.ma.comcast.net] has joined
#go-nuts
00:55 -!- tensorpudding [~user@99.148.199.248] has joined #go-nuts
01:14 -!- g0bl1n [~anonymous@a213-22-18-58.cpe.netcabo.pt] has quit [Quit: g0bl1n]
01:28 -!- inittab [~dlbeer@ip-118-90-22-160.xdsl.xnet.co.nz] has quit [Ping
timeout: 246 seconds]
01:31 -!- tylercurtis [~tylercurt@97-95-156-133.dhcp.jcsn.tn.charter.com] has
joined #go-nuts
01:32 < plexdev> http://is.gd/epF5l by [Ken Thompson] in go/src/cmd/6g/ --
attempt to gete better registeration
01:38 -!- jA_cOp [~yakobu@unaffiliated/ja-cop/x-9478493] has joined #go-nuts
01:43 -!- napsy [~luka@212.235.174.112] has quit [Ping timeout: 240 seconds]
01:48 -!- Xera^ [~brit@87-194-208-246.bethere.co.uk] has quit [Quit: (
www.nnscript.com :: NoNameScript 4.21 :: www.esnation.com )]
01:51 -!- rbraley [~rbraley@ip72-222-128-78.ph.ph.cox.net] has left #go-nuts []
01:51 -!- rbraley [~rbraley@ip72-222-128-78.ph.ph.cox.net] has joined #go-nuts
01:55 < cbeck> I thinke Ken's e keye is stickey
01:58 -!- slackstation_ [~eman@adsl-69-231-151-35.dsl.irvnca.pacbell.net] has
joined #go-nuts
02:01 -!- slackstation [~eman@adsl-69-231-151-35.dsl.irvnca.pacbell.net] has quit
[Ping timeout: 240 seconds]
02:05 -!- Xenith [~xenith@kiwi.he.net] has quit [Read error: Operation timed out]
02:07 -!- Eridius [~kevin@unaffiliated/eridius] has quit [Ping timeout: 240
seconds]
02:08 < rbraley> nbjoerg, for a Go to C compiler I might consider using 0MQ
for channels.  http://www.zeromq.org
02:09 < nbjoerg> rbraley: the primary intention for a Go to C compiler would
be a clean bootstrap stack
02:10 -!- inittab [~dlbeer@ip-118-90-99-123.xdsl.xnet.co.nz] has joined #go-nuts
02:14 -!- RobotGrrl [~RobotGrrl@bas2-montreal50-1176030476.dsl.bell.ca] has quit
[Quit: RobotGrrl]
02:15 < rbraley> right, perhaps llvm would be a good approach then.
02:16 < cw> nbjoerg: why not use gccgo?
02:17 < rbraley> I am very interested in how to make goroutines and function
literals in C anyway
02:17 < nbjoerg> cw: I wouldn't exactly call gccgo (or LLVM for that matter)
light weight
02:18 < cw> in what way?
02:18 < rbraley> I imagine getjmp and setjmp are involved
02:18 < cw> compile speed?
02:18 < cw> or something else?
02:18 -!- aho [~nya@fuld-4d00d36c.pool.mediaWays.net] has joined #go-nuts
02:18 < rbraley> gccgo uses pthreads for goroutines
02:18 < nbjoerg> not compile speed
02:18 < rbraley> no good
02:18 < cw> pthreads isn't that slow, and at some point that will change
02:18 < nbjoerg> gcc itself is a nightmare for hacking
02:19 < cw> gc isn't exactly wonderful either
02:19 < nbjoerg> just because it has been ported to almost everything
doesn't make it a good start for a future portable go toolchain
02:19 < nbjoerg> frankly, gc is f**king nightmare too
02:20 < cw> i'm waiting for the ast stuff to flesh out more
02:20 < cw> and use that as the basis of a go compiler in go
02:20 -!- kanru [~kanru@61-30-10-70.static.tfn.net.tw] has quit [Quit: WeeChat
0.3.2]
02:20 < rbraley> pthreads may not be slow but they are terrible at scaling.
Besides ideally you want to decouple your concurrency model from your threading
model so you can have one thread per core and multiplex thousands of goroutines to
each thread.
02:20 < nbjoerg> rbraley: it is good enough for bootstrapping at least
02:20 < cw> rbraley: i fight threads harder than just about anyone i know
...  i really dislike them
02:20 < cw> but scaling & threads isn't nearly as bad as people claim
02:20 < rbraley> yeah threads can go die in a fire.
02:20 < nbjoerg> a good pthread implementation scales quite well
02:21 < cw> threads are useful when used carefully
02:21 < cw> right
02:21 < nbjoerg> (a) not all of them are well written.
02:21 < cw> pthreads on linux works very well ...  you can have 100K threads
on a medium sized machine sometimes
02:21 < nbjoerg> (b) it is extremely easy to mess up
02:21 < cw> NPTL is decent
02:21 < nbjoerg> cw: NPTL, yues
02:21 < nbjoerg> cw: the old crap -- don't get me started
02:21 < cw> the old stuff was horrible sure, but that was a LONG time ago
02:22 < cw> and go won't run there anyhow
02:23 < cw> i work with people who love threads and frameworks, i like to
rip on them something savage over the 100s of threads their crappy code ends up
invoking ...  but i can't really claim it's a scaling issue these days
02:24 < rbraley> but you really don't need all that stack to do a quick go
on a function literal though.  Threads are waaay overkill, especially if you don't
do any system calls.
02:24 < nbjoerg> rbraley: for function literals, you don't need stacks at
all
02:24 -!- kanru [~kanru@61-30-10-70.static.tfn.net.tw] has joined #go-nuts
02:24 < cw> 'all that stack' ...  is how much?
02:25 < cw> it's demand pages ...  so typically only 2-3 pages in userspace
+ 2 pages for the kernel
02:25 < cw> not exactly pretty, but hardly much work on modern hardware
02:25 < nbjoerg> I think function literals in C is most easily solved by
making the stack frame actually allocated dynamically
02:25 < cw> 6c can do that
02:26 < nbjoerg> cw: I mean for a go->C compiler
02:26 < rbraley> nbjoerg, you're kidding.  You allocate on the heap or what?
02:26 < cw> what problem is this solving though?
02:27 < nbjoerg> cw: that the function literal has access to the outer scope
02:28 < cw> why go->c though?
02:28 < cw> when you can compile already to native code
02:28 < nbjoerg> cw: the joy of bootstrapping
02:28 < nbjoerg> cw: what makes you believe you can easily do that?
02:28 < rbraley> so you make a closure struct that has all the registers and
stack pointers of the outer scope and pass it as a parameter to the inner scope?
02:28 < nbjoerg> it doesn't have to contain registers
02:29 < nbjoerg> just the variables in the scope
02:29 < rbraley> i suppose it doesn't have to
02:31 < rbraley> there are the pusha and popa instructions in intel assembly
that will store and retrieve the entire integer register state to and from the
stack
02:31 < rbraley> not that you'd need to bootstrap if you were on intel :/
02:31 -!- mattikus [~mattikus@ip24-250-73-154.br.br.cox.net] has quit [Remote host
closed the connection]
02:31 < nbjoerg> like I said, you don't have to care about the register set
02:32 < nbjoerg> it's irrelevant
02:33 -!- mattikus [~mattikus@ip24-250-73-154.br.br.cox.net] has joined #go-nuts
02:34 < rbraley> but there would have to be some static analysis of the Go
code to determine if goroutines syscall.  If they do that might be a different
animal because you have to context switch and also copy all the other goroutines
to another thread if the goroutine blocks on the syscall.
02:35 < nbjoerg> I don't think you have to care for bootstrapping purposes
02:39 < rbraley> Well, I kinda want to learn how Go works anyway so I can do
something similar in C. I want to build a message-passing flow based programming
language that can talk to any other language with ZeroMQ sockets.
02:39 < jessta> rbraley: looked at libthread?
02:39 < rbraley> a graphical actor language if you will that optimally uses
the hardware it's on.
02:40 < rbraley> yes I think I have, but I don't remember why I dismissed it
02:40 < jessta> graphical?
02:40 < rbraley> oh maybe I haven't is that a plan9 thing?
02:41 < rbraley> yeah I want to make an HTML5 gui so anybody anytime can
program with it and then it will output a binary for you
02:41 < jessta> yeah, it's pretty much a C implementation of all the
advantages alef had
02:42 < jessta> rbraley: those kind of things never seem to work out well
02:42 < rbraley> well, that would be one target is all
02:43 < rbraley> I could do it in Qt for example
02:43 < jessta> graphical programming tends to be still too complicated for
average users and impossible to manage for anything large
02:44 < rbraley>
http://ptolemy.eecs.berkeley.edu/presentations/06/FutureOfEmbeddedSoftware_Lee_Graz.ppt
02:45 < rbraley> I think that graphical programming works for my game
architecture
02:46 < rbraley> jessta,
http://dungeonhack.sourceforge.net/forums/viewtopic.php?f=2&t=744
http://dungeonhack.sourceforge.net/forums/viewtopic.php?f=2&t=794
02:47 < rbraley> where all entities are just compositions of components
02:48 < rbraley> I've never seen anyone do things like I am planning to do
them, so I don't think typical experience with graphical programming will apply.
02:48 < exch> Lego Mindstorms has a code editor like that.  You can build
programs for the lego NeXT brick by dragging configurable components into a
flowchart like system.  Each component corresponds to actions and hardware
02:48 < rbraley> Do you know of any games that are built in the Actor Model?
02:49 < cw> nbjoerg: go already builds native on all major arches and OSes
02:49 -!- mattikus [~mattikus@ip24-250-73-154.br.br.cox.net] has quit [Read error:
Connection reset by peer]
02:51 < rbraley> exch, yeah something similar to that, but from a
concurrency oriented paradigm rather than a procedural paradigm.
02:51 -!- mattikus [~mattikus@ip24-250-73-154.br.br.cox.net] has joined #go-nuts
02:53 < rbraley> I was also considering doing a dataflow entity editor with
blender 2.5's new UI system
02:57 < rbraley> It would also be neat if I could make a way for the GPU to
run the same function literals as the CPU
02:58 < rbraley> jessta, I wonder if this libthread is available on windows
and mac as well hmm.
02:59 -!- bikcmp [jason@unaffiliated/not] has joined #go-nuts
03:03 -!- rejb [~rejb@unaffiliated/rejb] has quit [Ping timeout: 276 seconds]
03:08 -!- GoBIR [~gobir@DHCP-159-138.caltech.edu] has quit [Ping timeout: 276
seconds]
03:13 < bikcmp> Hi everyone, when I'm trying to compile a application, I get
hi.go:3: can't find import: fmt
03:13 -!- jdp [~gu@24.238.32.162.res-cmts.segr.ptd.net] has quit []
03:13 < bikcmp> my path's are correct too.
03:18 < tylercurtis> Is there a portable equivalent to
syscall.LoadLibrary/GetProcAddress?
03:23 < tylercurtis> Alternately, is there a way to dynamically load a Go
package and execute a function from it?
03:24 -!- alloy-d [~adam@pool-71-125-145-179.cmdnnj.east.verizon.net] has joined
#go-nuts
03:32 < rbraley> jessta, wow this libthread has some really elegant features
03:34 -!- jackman_mobile [~jackman@c-76-115-243-246.hsd1.wa.comcast.net] has quit
[Ping timeout: 240 seconds]
03:34 -!- alloy-d [~adam@pool-71-125-145-179.cmdnnj.east.verizon.net] has quit
[Quit: WeeChat 0.3.3]
03:49 -!- jackman_mobile [~jackman@c-67-189-24-232.hsd1.or.comcast.net] has joined
#go-nuts
03:51 -!- alloy-d [~adam@pool-71-125-145-179.cmdnnj.east.verizon.net] has joined
#go-nuts
03:52 -!- gid [~gid@220-253-147-205.VIC.netspace.net.au] has joined #go-nuts
04:01 -!- alloy-d [~adam@pool-71-125-145-179.cmdnnj.east.verizon.net] has quit
[Ping timeout: 265 seconds]
04:03 -!- jdp [gu@24.238.32.162.res-cmts.segr.ptd.net] has joined #go-nuts
04:04 -!- scarabx [~scarabx@c-76-19-43-200.hsd1.ma.comcast.net] has quit [Quit:
This computer has gone to sleep]
04:05 -!- smw [~stephen@pool-71-183-88-124.nycmny.fios.verizon.net] has quit [Ping
timeout: 252 seconds]
04:05 -!- bikcmp [jason@unaffiliated/not] has left #go-nuts []
04:09 -!- tedster [~tedster@cpe-067-023-152-243.dhcp.wadsnet.com] has joined
#go-nuts
04:10 -!- RobertLJ [~quassel@c-68-44-163-191.hsd1.nj.comcast.net] has joined
#go-nuts
04:10 -!- tedster [~tedster@cpe-067-023-152-243.dhcp.wadsnet.com] has left
#go-nuts []
04:18 -!- armor [~armor@pool-71-183-88-124.nycmny.fios.verizon.net] has joined
#go-nuts
04:21 -!- viirya [~viirya@cml506-25.csie.ntu.edu.tw] has joined #go-nuts
04:24 -!- kanru [~kanru@61-30-10-70.static.tfn.net.tw] has quit [Quit: WeeChat
0.3.2]
04:34 -!- kanru [~kanru@61-30-10-70.static.tfn.net.tw] has joined #go-nuts
04:55 -!- mikespook1 [~mikespook@219.137.74.223] has joined #go-nuts
04:56 -!- mikespook [~mikespook@219.137.234.62] has quit [Ping timeout: 276
seconds]
04:56 -!- carllerche [~carllerch@208.87.61.203] has quit [Quit: carllerche]
05:03 -!- scm [justme@d136028.adsl.hansenet.de] has quit [Ping timeout: 276
seconds]
05:04 -!- scm [justme@d071037.adsl.hansenet.de] has joined #go-nuts
05:04 < rbraley> Alan Kay: I once asked Ivan Sutherland "How could you
possibly have done the first interactive graphics program, the first
non-procedural language, the first object-oriented software system all in one
year?"
05:05 < rbraley> Ivan: "Well I didn't know it was hard."
05:05 < rbraley> http://www.archive.org/details/AlanKeyD1987
05:07 -!- Maxdaman1us [~m@203-97-238-106.cable.telstraclear.net] has quit [Ping
timeout: 264 seconds]
05:08 -!- Adys [~Adys@unaffiliated/adys] has quit [Remote host closed the
connection]
05:12 -!- Adys [~Adys@unaffiliated/adys] has joined #go-nuts
05:13 -!- RobertLJ [~quassel@c-68-44-163-191.hsd1.nj.comcast.net] has quit [Remote
host closed the connection]
05:15 -!- boredomist [~boredomis@24.115.43.39.res-cmts.sesp.ptd.net] has quit
[Quit: Leaving]
05:18 -!- Maxdamantus [~m@203-97-238-106.cable.telstraclear.net] has joined
#go-nuts
05:27 -!- Adys [~Adys@unaffiliated/adys] has quit [Remote host closed the
connection]
05:30 -!- Adys [~Adys@unaffiliated/adys] has joined #go-nuts
05:31 -!- armor [~armor@pool-71-183-88-124.nycmny.fios.verizon.net] has quit
[Quit: Leaving]
05:44 -!- jdp [gu@24.238.32.162.res-cmts.segr.ptd.net] has quit [Disconnected by
services]
05:48 -!- Robbo_ [~robbo@CPE-58-166-83-229.lnse5.cht.bigpond.net.au] has joined
#go-nuts
05:50 -!- iant [~iant@216.239.45.130] has quit [Ping timeout: 272 seconds]
05:50 -!- ako [~nya@fuld-4d00d36c.pool.mediaWays.net] has joined #go-nuts
05:52 -!- aho [~nya@fuld-4d00d36c.pool.mediaWays.net] has quit [Read error:
Connection reset by peer]
06:09 -!- iant [~iant@adsl-71-133-8-30.dsl.pltn13.pacbell.net] has joined #go-nuts
06:09 -!- mode/#go-nuts [+v iant] by ChanServ
06:10 -!- Davidian1024 [~Davidian1@cpe-98-27-192-193.neo.res.rr.com] has quit
[Ping timeout: 240 seconds]
06:11 -!- slashus2 [~slashus2@74-137-24-74.dhcp.insightbb.com] has quit [Quit:
slashus2]
06:12 -!- itrekkie [~itrekkie@ip72-200-109-106.tc.ph.cox.net] has joined #go-nuts
06:18 -!- MizardX [~MizardX@unaffiliated/mizardx] has joined #go-nuts
06:18 -!- Davidian1024 [~Davidian1@cpe-98-27-192-193.neo.res.rr.com] has joined
#go-nuts
06:30 -!- unhygienix [~unhygieni@host86-179-207-143.range86-179.btcentralplus.com]
has quit [Quit: unhygienix]
06:34 -!- linac [~lin@122.90.93.161] has quit [Quit: Leaving]
06:38 -!- alloy-d [~adam@pool-71-125-145-179.cmdnnj.east.verizon.net] has joined
#go-nuts
06:40 -!- ExtraSpice [~XtraSpice@88.118.32.225] has joined #go-nuts
06:41 -!- sacho [~sacho@87-126-65-201.btc-net.bg] has joined #go-nuts
06:57 -!- ako [~nya@fuld-4d00d36c.pool.mediaWays.net] has quit [Quit:
EXEC_over.METHOD_SUBLIMATION]
07:13 -!- sacho [~sacho@87-126-65-201.btc-net.bg] has quit [Ping timeout: 276
seconds]
07:13 -!- path[l] [~path@122.182.0.38] has joined #go-nuts
07:13 -!- path[l] [~path@122.182.0.38] has quit [Client Quit]
07:15 -!- path[l] [~path@59.162.86.164] has joined #go-nuts
07:20 -!- rlab [~Miranda@91.200.158.34] has joined #go-nuts
07:22 -!- wrtp [~rog@92.17.16.23] has joined #go-nuts
07:22 -!- visof [~visof@unaffiliated/visof] has joined #go-nuts
07:23 -!- nighty__ [~nighty@210.188.173.245] has joined #go-nuts
07:25 -!- sacho [~sacho@87-126-65-201.btc-net.bg] has joined #go-nuts
07:26 -!- tylercurtis [~tylercurt@97-95-156-133.dhcp.jcsn.tn.charter.com] has quit
[Quit: tylercurtis]
07:32 -!- yashi [~yashi@210.191.215.173] has quit [Remote host closed the
connection]
07:44 -!- tvw [~tv@e176002105.adsl.alicedsl.de] has joined #go-nuts
07:47 -!- ronnyy [~quassel@p4FF1DD2F.dip.t-dialin.net] has joined #go-nuts
07:53 -!- Fish-Work [~Fish@86.65.182.207] has quit [Ping timeout: 265 seconds]
07:56 -!- b0red [~m@unaffiliated/b0r3d] has joined #go-nuts
07:56 -!- Fish-Work [~Fish@86.65.182.207] has joined #go-nuts
08:03 -!- kanru1 [~kanru@61-30-10-70.static.tfn.net.tw] has joined #go-nuts
08:03 -!- b0red [~m@unaffiliated/b0r3d] has left #go-nuts []
08:04 -!- kanru [~kanru@61-30-10-70.static.tfn.net.tw] has quit [Ping timeout: 260
seconds]
08:11 -!- jmettraux [~jmettraux@211.19.55.177] has joined #go-nuts
08:30 -!- mattikus [~mattikus@ip24-250-73-154.br.br.cox.net] has quit [Remote host
closed the connection]
08:35 -!- tvw [~tv@e176002105.adsl.alicedsl.de] has quit [Ping timeout: 252
seconds]
08:36 -!- viirya [~viirya@cml506-25.csie.ntu.edu.tw] has quit [Ping timeout: 258
seconds]
08:38 -!- tvw [~tv@e176002105.adsl.alicedsl.de] has joined #go-nuts
08:42 -!- path[l] [~path@59.162.86.164] has quit [Quit: path[l]]
08:43 -!- mbohun [~mbohun@ppp115-156.static.internode.on.net] has joined #go-nuts
08:48 -!- photron [~photron@port-92-201-20-57.dynamic.qsc.de] has joined #go-nuts
08:49 -!- path[l] [~path@59.162.86.164] has joined #go-nuts
08:50 -!- path[l] [~path@59.162.86.164] has quit [Client Quit]
08:52 -!- saschpe [~quassel@mgdb-4d0cf166.pool.mediaWays.net] has joined #go-nuts
08:52 -!- alloy-d [~adam@pool-71-125-145-179.cmdnnj.east.verizon.net] has quit
[Quit: WeeChat 0.3.3]
08:56 -!- jmettraux [~jmettraux@211.19.55.177] has quit [Remote host closed the
connection]
09:01 -!- peterdn [~peterdn@host81-159-105-107.range81-159.btcentralplus.com] has
quit [Ping timeout: 245 seconds]
09:03 -!- Shyde [~shyde@HSI-KBW-078-043-070-132.hsi4.kabel-badenwuerttemberg.de]
has joined #go-nuts
09:08 -!- peterdn [~peterdn@host109-153-221-147.range109-153.btcentralplus.com]
has joined #go-nuts
09:16 -!- jmettraux [~jmettraux@PPPbm5391.kanagawa-ip.dti.ne.jp] has joined
#go-nuts
09:18 -!- virtualsue [~chatzilla@nat/cisco/x-nbubvtbfttrlhbgv] has joined #go-nuts
09:21 -!- tvw [~tv@e176002105.adsl.alicedsl.de] has quit [Ping timeout: 252
seconds]
09:22 -!- ikaros [~ikaros@dslb-084-059-076-150.pools.arcor-ip.net] has joined
#go-nuts
09:34 -!- visof [~visof@unaffiliated/visof] has quit [Ping timeout: 240 seconds]
09:42 -!- ExtraSpice [~XtraSpice@88.118.32.225] has quit [Remote host closed the
connection]
10:00 -!- Fish-Work [~Fish@86.65.182.207] has quit [Ping timeout: 272 seconds]
10:04 -!- ronnyy [~quassel@p4FF1DD2F.dip.t-dialin.net] has quit [Remote host
closed the connection]
10:05 -!- peterdn [~peterdn@host109-153-221-147.range109-153.btcentralplus.com]
has quit [Quit: ChatZilla 0.9.86-rdmsoft [XULRunner 1.9.2/20100222071121]]
10:10 -!- viirya [~viirya@cml506-25.csie.ntu.edu.tw] has joined #go-nuts
10:12 -!- Fish-Work [~Fish@86.65.182.207] has joined #go-nuts
10:13 -!- peterdn [~peterdn@host109-153-221-147.range109-153.btcentralplus.com]
has joined #go-nuts
10:13 -!- path[l] [~path@59.162.86.164] has joined #go-nuts
10:13 -!- nighty__ [~nighty@210.188.173.245] has quit [Remote host closed the
connection]
10:21 -!- garden [~ludovico@cl-237.trn-01.it.sixxs.net] has joined #go-nuts
10:21 -!- Fish-Work [~Fish@86.65.182.207] has quit [Read error: Connection reset
by peer]
10:22 -!- Fish-Work [~Fish@86.65.182.207] has joined #go-nuts
10:25 -!- araujo [~araujo@gentoo/developer/araujo] has quit [Quit: Leaving]
10:32 -!- araujo [~araujo@61.170.230.27] has joined #go-nuts
10:32 -!- araujo [~araujo@61.170.230.27] has quit [Changing host]
10:32 -!- araujo [~araujo@gentoo/developer/araujo] has joined #go-nuts
10:33 -!- General1337 [~support@71-84-50-230.dhcp.mtpk.ca.charter.com] has joined
#go-nuts
10:34 -!- IRWolfie1 [irwolfie@ircnoob.com] has joined #go-nuts
10:36 -!- General13372 [~support@71-84-50-230.dhcp.mtpk.ca.charter.com] has quit
[Ping timeout: 246 seconds]
10:36 -!- Archwyrm [~archwyrm@archwyrm.net] has quit [Ping timeout: 265 seconds]
10:36 -!- Archwyrm [~archwyrm@archwyrm.net] has joined #go-nuts
10:37 -!- IRWolfie- [irwolfie@ircnoob.com] has quit [Ping timeout: 265 seconds]
10:37 -!- DJCapelis [~djc@blender/coder/DJCapelis] has quit [Ping timeout: 258
seconds]
10:38 -!- DJCapelis [~djc@capelis.dj] has joined #go-nuts
10:38 -!- DJCapelis [~djc@capelis.dj] has quit [Changing host]
10:38 -!- DJCapelis [~djc@blender/coder/DJCapelis] has joined #go-nuts
10:44 -!- KillerX [~anant@145-116-234-40.uilenstede.casema.nl] has joined #go-nuts
10:45 -!- KillerX [~anant@145-116-234-40.uilenstede.casema.nl] has left #go-nuts
[]
10:50 -!- b0r3d [~m@unaffiliated/b0r3d] has joined #go-nuts
11:08 -!- virtualsue [~chatzilla@nat/cisco/x-nbubvtbfttrlhbgv] has quit [Ping
timeout: 240 seconds]
11:21 -!- ExtraSpice [~XtraSpice@88.118.32.225] has joined #go-nuts
11:26 -!- mimustafa [~steve@92.62.125.249] has joined #go-nuts
11:28 -!- mimustafa [~steve@92.62.125.249] has left #go-nuts []
11:29 -!- savechina [~savechina@123.113.186.129] has joined #go-nuts
11:44 -!- artefon [~thiago@189.107.155.106] has joined #go-nuts
11:58 -!- Fish-Work [~Fish@86.65.182.207] has quit [Remote host closed the
connection]
11:58 -!- Fish-Work [~Fish@86.65.182.207] has joined #go-nuts
12:01 -!- stalled [~stalled@unaffiliated/stalled] has quit [Ping timeout: 265
seconds]
12:08 -!- Xera^ [~brit@87-194-208-246.bethere.co.uk] has joined #go-nuts
12:09 -!- stalled [~stalled@unaffiliated/stalled] has joined #go-nuts
12:19 -!- tvw [~tv@212.79.9.150] has joined #go-nuts
12:23 -!- artefon [~thiago@189.107.155.106] has quit [Quit: bye]
12:24 -!- atsampso1 [~ats@212.183.140.52] has quit [Ping timeout: 252 seconds]
12:26 -!- atsampson [~ats@212.183.140.0] has joined #go-nuts
12:31 -!- bohunm [~mbohun@ppp115-156.static.internode.on.net] has joined #go-nuts
12:32 -!- mbohun [~mbohun@ppp115-156.static.internode.on.net] has quit [Ping
timeout: 272 seconds]
12:32 -!- bohunm [~mbohun@ppp115-156.static.internode.on.net] has quit [Client
Quit]
12:32 -!- mbohun [~mbohun@ppp115-156.static.internode.on.net] has joined #go-nuts
12:47 -!- rejb [~rejb@p54B65E79.dip.t-dialin.net] has joined #go-nuts
12:47 -!- rejb [~rejb@p54B65E79.dip.t-dialin.net] has quit [Changing host]
12:47 -!- rejb [~rejb@unaffiliated/rejb] has joined #go-nuts
12:54 -!- Project_2501 [~Marvin@82.84.92.43] has joined #go-nuts
12:59 -!- scarabx [~scarabx@c-76-19-43-200.hsd1.ma.comcast.net] has joined
#go-nuts
13:10 -!- path[l] [~path@59.162.86.164] has quit [Quit: path[l]]
13:12 -!- kanru [~kanru@61-30-10-70.static.tfn.net.tw] has quit [Ping timeout: 255
seconds]
13:14 -!- photron [~photron@port-92-201-20-57.dynamic.qsc.de] has quit [Ping
timeout: 264 seconds]
13:15 -!- iant [~iant@adsl-71-133-8-30.dsl.pltn13.pacbell.net] has quit [Quit:
Leaving.]
13:16 -!- photron [~photron@port-92-201-20-57.dynamic.qsc.de] has joined #go-nuts
13:18 -!- tensorpudding [~user@99.148.199.248] has quit [Ping timeout: 276
seconds]
13:19 -!- saschpe [~quassel@mgdb-4d0cf166.pool.mediaWays.net] has quit [Remote
host closed the connection]
13:19 -!- mattn_jp [~mattn_jp@112-68-92-234.eonet.ne.jp] has joined #go-nuts
13:22 -!- navigator [~navigator@p5489555C.dip.t-dialin.net] has joined #go-nuts
13:24 -!- moondowner [~quassel@92.53.38.28] has joined #go-nuts
13:25 < plexdev> http://is.gd/ertt1 by [Ivan Krasin] in 2 subdirs of
go/src/pkg/ -- syscall: regenerate syscall/z* files for linux/386, linux/amd64
13:26 -!- path[l] [~path@59.162.86.164] has joined #go-nuts
13:40 -!- scarabx [~scarabx@c-76-19-43-200.hsd1.ma.comcast.net] has quit [Quit:
This computer has gone to sleep]
13:44 -!- iant [~iant@66.109.103.22] has joined #go-nuts
13:44 -!- mode/#go-nuts [+v iant] by ChanServ
13:50 -!- boscop [~boscop@g227131000.adsl.alicedsl.de] has joined #go-nuts
13:56 -!- artefon [~thiago@dhcp13.usuarios.dcc.ufmg.br] has joined #go-nuts
14:00 -!- wrtp [~rog@92.17.16.23] has quit [Read error: Connection reset by peer]
14:00 -!- wrtp [~rog@92.17.16.23] has joined #go-nuts
14:01 -!- femtoo [~femto@95-89-197-4-dynip.superkabel.de] has joined #go-nuts
14:05 -!- nsf [~nsf@jiss.convex.ru] has joined #go-nuts
14:17 -!- b0r3d [~m@unaffiliated/b0r3d] has quit []
14:20 -!- IRWolfie1 [irwolfie@ircnoob.com] has left #go-nuts []
14:21 -!- path[l] [~path@59.162.86.164] has quit [Quit: path[l]]
14:22 -!- DerHorst [~Horst@e176098235.adsl.alicedsl.de] has joined #go-nuts
14:22 -!- napsy [~luka@212.235.174.112] has joined #go-nuts
14:24 -!- Venom_X [~pjacobs@71.21.124.111] has joined #go-nuts
14:27 -!- sacho_ [~sacho@213.91.244.15] has joined #go-nuts
14:27 -!- path[l] [~path@59.162.86.164] has joined #go-nuts
14:27 -!- sacho [~sacho@87-126-65-201.btc-net.bg] has quit [Ping timeout: 265
seconds]
14:32 -!- g0bl1n [~anonymous@a213-22-18-58.cpe.netcabo.pt] has joined #go-nuts
14:38 -!- ShadowIce [~pyoro@unaffiliated/shadowice-x841044] has joined #go-nuts
14:43 -!- RobotGrrl [~RobotGrrl@bas2-montreal50-1176030476.dsl.bell.ca] has joined
#go-nuts
14:54 -!- iant [~iant@66.109.103.22] has quit [Quit: Leaving.]
14:57 -!- babusri [~Babu@122.167.73.22] has joined #go-nuts
15:02 -!- stalled [~stalled@unaffiliated/stalled] has quit [Read error: Connection
reset by peer]
15:03 -!- iant [~iant@nat/google/x-gzsuiikgddmtwath] has joined #go-nuts
15:03 -!- mode/#go-nuts [+v iant] by ChanServ
15:04 -!- slashus2 [~slashus2@74-137-24-74.dhcp.insightbb.com] has joined #go-nuts
15:07 -!- babusri [~Babu@122.167.73.22] has quit [Ping timeout: 272 seconds]
15:11 -!- tensorpudding [~user@99.56.171.201] has joined #go-nuts
15:11 -!- stalled [~stalled@unaffiliated/stalled] has joined #go-nuts
15:15 -!- RobotGrrl [~RobotGrrl@bas2-montreal50-1176030476.dsl.bell.ca] has quit
[Read error: Connection reset by peer]
15:16 -!- babusri` [~Babu@122.167.73.22] has joined #go-nuts
15:22 -!- mbohun [~mbohun@ppp115-156.static.internode.on.net] has quit [Quit:
Leaving]
15:22 -!- mbohun [~mbohun@ppp115-156.static.internode.on.net] has joined #go-nuts
15:23 -!- moondowner [~quassel@92.53.38.28] has quit [Ping timeout: 264 seconds]
15:23 -!- napsy [~luka@212.235.174.112] has quit [Quit: Lost terminal]
15:24 -!- napsy [~luka@212.235.174.112] has joined #go-nuts
15:27 -!- g0bl1n [~anonymous@a213-22-18-58.cpe.netcabo.pt] has quit [Quit: g0bl1n]
15:27 -!- awidegreen [~quassel@62.176.237.78] has joined #go-nuts
15:29 -!- Fish-Work [~Fish@86.65.182.207] has quit [Remote host closed the
connection]
15:29 -!- Fish-Work [~Fish@86.65.182.207] has joined #go-nuts
15:32 -!- tvw [~tv@212.79.9.150] has quit [Remote host closed the connection]
15:39 -!- Xera^ [~brit@87-194-208-246.bethere.co.uk] has left #go-nuts []
15:43 < falconindy> where can i find a list of all the type conversions
available for the C package?
15:44 < falconindy> I'm drawing a blank on how to convert a parameter to an
unsigned char*
15:45 -!- femtoo [~femto@95-89-197-4-dynip.superkabel.de] has quit [Quit: Leaving]
15:46 -!- rejb [~rejb@unaffiliated/rejb] has quit [Quit: .]
15:48 -!- mattikus [~mattikus@ip24-250-73-154.br.br.cox.net] has joined #go-nuts
15:50 -!- path[l] [~path@59.162.86.164] has quit [Quit: path[l]]
15:50 -!- gabriel9 [~gabriel9@93.157.192.28] has quit [Read error: Connection
reset by peer]
15:50 -!- gabriel9 [~gabriel9@93.157.192.28] has joined #go-nuts
15:51 < exch> falconindy: I dont think there is any documentation for that.
The general rule is: int -> C.int or int -> C.int_t.  eg: a := 32; ca :=
C.int(32)
15:51 -!- artefon [~thiago@dhcp13.usuarios.dcc.ufmg.br] has quit [Ping timeout:
246 seconds]
15:51 < exch> If you managed to compile your code once, you should see a new
_gotypes.go file which lists all the proper conversions
16:00 < falconindy> exch: aha.  i'll check that out.  thanks
16:01 -!- savechina [~savechina@123.113.186.129] has quit [Quit: Leaving]
16:02 < exch> falconindy: I find it helpls to first bind struct types you
may need and then run a compile.  the gotypes file will then list all the struct
fields being used with proper type names.  like you have a c struct 'mystruct_t',
bind it in go as 'type MyStruct C.mystruct_t'
16:02 < falconindy> yeah, the problem is that im dealing with a typedef for
an unsigned char[16]
16:02 < falconindy> ive got it defined as: type Uuid [16]uint8
16:03 < falconindy> but cgo whines when i try to pass Uuid
16:03 < exch> mm, that can either be 'C.uchar' or 'C.unsigned', or
'C.unsigned_char'..  I haven't really found any logic in that
16:03 < falconindy> well, the types file you pointed me to shows
_Ctype_unsignedchar
16:03 < falconindy> so i guess C.unsignedchar is where its at
16:03 < exch> aye
16:05 -!- jcao219 [~jcao219@pool-173-71-1-120.dllstx.fios.verizon.net] has quit
[Read error: Connection reset by peer]
16:05 < falconindy> arrg, or maybe not.  what the hell >.>
16:05 -!- jcao219 [~jcao219@pool-173-71-1-120.dllstx.fios.verizon.net] has joined
#go-nuts
16:06 -!- jcao219_ [~jcao219@pool-173-71-1-120.dllstx.fios.verizon.net] has joined
#go-nuts
16:07 < falconindy> maybe i would be better served just wrapping this thing
in a struct...
16:07 -!- jcao219 [~jcao219@pool-173-71-1-120.dllstx.fios.verizon.net] has quit
[Read error: Connection reset by peer]
16:07 -!- jcao219_ [~jcao219@pool-173-71-1-120.dllstx.fios.verizon.net] has quit
[Read error: Connection reset by peer]
16:08 < Robbo_> I want to make a sticky notes app in go
16:08 -!- jcao219 [~jcao219@pool-173-71-1-120.dllstx.fios.verizon.net] has joined
#go-nuts
16:08 < Robbo_> You think it would be very hard?
16:08 < Robbo_> Fairly simple concept
16:09 < Robbo_> I just want to make something in go and this is something I
need
16:10 -!- rejb [~rejb@unaffiliated/rejb] has joined #go-nuts
16:10 -!- tylercurtis [~tylercurt@97-95-156-133.dhcp.jcsn.tn.charter.com] has
joined #go-nuts
16:11 < MaybeSo> you might find the Graphics section under
http://go-lang.cat-v.org/pure-go-libs useful
16:12 < Robbo_> yeah I will be using that site a lot
16:12 < Robbo_> shouldn't too hard, right?
16:12 < MaybeSo> I wouldn't know, I don't write graphics programs.  :)
16:13 * exch doesn't do graphics either
16:13 < nickaugust> im anti graphics :P
16:13 < exch> Butm if you get the SDL bindings working, it should be fairly
straight forward
16:13 < Robbo_> Yeah that was the thing I was thinking would be the biggest
problem :p
16:13 < Robbo_> Well I have used SDL before, might be the go
16:13 < exch> hook up a lightweight database binding and you're all set
16:14 < MaybeSo> if the sqlite3 bindings still work, that's a pretty nice
database
16:14 < Robbo_> Just making sure it wasn't something that would be too
complicated, haven't even done simple stuff in go heh
16:14 -!- temoto [~temoto@81.19.90.235] has joined #go-nuts
16:14 < Robbo_> I'll be sure to annoy you if I run into any problems when I
find time to make the app
16:14 < temoto> How to declare (for interface) a function that takes a slice
of interface{} ?
16:15 < exch> temoto: func foo(list []interface{}) { ...  }
16:15 < temoto> exch, so 'list' is mandatory?
16:15 < exch> nope.  it's just the parameter name
16:15 < exch> you can call it pie if you are so inclined :p
16:16 < temoto> exch, i mean, when declaring interface, do i have to name
arguments?
16:16 < exch> ah, nope you don't have to
16:16 < exch> type T interface { foo func([]interface{}) }
16:16 < exch> err scratch the 'foo'
16:17 < exch> no names required
16:17 < exch> duh
16:17 < exch> yyes it is
16:17 < exch> I need coffee ><
16:18 < exch> http://pastebin.com/3FNyu2H5 there.  and that's my final
answer :)
16:18 < MaybeSo> temoto: personally I'd recommend naming the arguments in
interfaces as a helpful hint to users
16:19 < temoto> exch, thanks, i must be made error somewhere else, my first
option interface Scanner { Scan([]interface{}) []Token } works now
16:20 -!- Fish [~Fish@9fans.fr] has joined #go-nuts
16:20 -!- artefon [~thiago@189.107.155.106] has joined #go-nuts
16:27 -!- napsy [~luka@212.235.174.112] has quit [Ping timeout: 265 seconds]
16:31 -!- sladegen [~nemo@unaffiliated/sladegen] has quit [Disconnected by
services]
16:31 -!- sladegen [~nemo@unaffiliated/sladegen] has joined #go-nuts
16:32 -!- jmettraux [~jmettraux@PPPbm5391.kanagawa-ip.dti.ne.jp] has quit [Remote
host closed the connection]
16:36 < falconindy> hrmm, is there an easy way of converting a []uint8 to a
string?
16:38 < jessta> falconindy: string()
16:38 < falconindy> was the first thing i tried =P
16:39 -!- nelson [~nelson@rrcs-24-103-219-125.nys.biz.rr.com] has quit [Ping
timeout: 246 seconds]
16:39 < falconindy> im wrapping a C type so when I pass it to string() i get
"cannot convert u (type Uuid) to type string"
16:39 -!- ronnyy [~quassel@p4FF1DD2F.dip.t-dialin.net] has joined #go-nuts
16:40 -!- enherit [~enherit@cpe-98-149-170-48.socal.res.rr.com] has joined
#go-nuts
16:40 -!- crashR [~crasher@codextreme.pck.nerim.net] has quit [Quit: (◣_◢)
BigBrowser is watching ⓎⓄⓊ]
16:40 -!- napsy [~luka@212.235.174.112] has joined #go-nuts
16:40 < jessta> so it's not a []uint8?
16:40 -!- nelson [~nelson@rrcs-24-103-219-125.nys.biz.rr.com] has joined #go-nuts
16:41 < falconindy> the definition is: type Uuid [16]C.uchar
16:41 -!- carllerche [~carllerch@enginey-9.border1.sfo002.pnap.net] has joined
#go-nuts
16:41 < falconindy> the _cgo_gotypes.go output from cgo says that its
converting it to a []uint8
16:42 < jessta> that's more like a [16]uint8
16:42 -!- ronnyy [~quassel@p4FF1DD2F.dip.t-dialin.net] has quit [Remote host
closed the connection]
16:42 -!- ronnyy [~quassel@p4FF1DD2F.dip.t-dialin.net] has joined #go-nuts
16:43 -!- ronnyy [~quassel@p4FF1DD2F.dip.t-dialin.net] has quit [Remote host
closed the connection]
16:45 -!- ronnyy [~quassel@p4FF1DD2F.dip.t-dialin.net] has joined #go-nuts
16:45 -!- jackman_mobile [~jackman@c-67-189-24-232.hsd1.or.comcast.net] has quit
[Ping timeout: 276 seconds]
16:45 -!- jackman_mobile [~jackman@m4a0e36d0.tmodns.net] has joined #go-nuts
16:46 < exch> string(..) only works with a slice.  Not an array.  You can
try string(uuid[0:16])
16:47 -!- peterdn [~peterdn@host109-153-221-147.range109-153.btcentralplus.com]
has quit [Quit: ChatZilla 0.9.86-rdmsoft [XULRunner 1.9.2/20100222071121]]
16:47 < falconindy> hrmm....  cannot convert (node SLICEARR) (type
[]_Ctype_unsignedchar) to type strin
16:47 < exch> ah.  it's not []uint8 then
16:49 < exch> You'll have to convert it to []byte or []uint8 manually.
Either by a manualy loop, or something like: data :=
(*(*[16]uint8)(unsafe.Pointer(&uuid)))[0:n]
16:51 < falconindy> ouch, okay
16:53 -!- mattikus [~mattikus@ip24-250-73-154.br.br.cox.net] has quit [Remote host
closed the connection]
16:53 -!- exch [~exch@h144170.upc-h.chello.nl] has quit [Remote host closed the
connection]
16:54 -!- exch [~exch@h144170.upc-h.chello.nl] has joined #go-nuts
16:54 < exch> falconindy: did that last message arrive?  I seem to be having
some connectivity issues
16:55 < falconindy> about converting in a loop?  yes
16:55 < exch> ok
16:55 < falconindy> but of course, type assertion fails me
16:56 -!- ronnyy [~quassel@p4FF1DD2F.dip.t-dialin.net] has quit [Ping timeout: 276
seconds]
16:57 -!- awidegreen [~quassel@62.176.237.78] has quit [Remote host closed the
connection]
16:57 -!- sacho_ [~sacho@213.91.244.15] has quit [Remote host closed the
connection]
16:58 -!- awidegreen [~quassel@62.176.237.78] has joined #go-nuts
16:58 -!- peterdn [~peterdn@host109-153-221-147.range109-153.btcentralplus.com]
has joined #go-nuts
16:58 < falconindy> derp, because i shouldn't be using type assertion.  it
works!  woohoo
16:58 -!- jackman_mobile [~jackman@m4a0e36d0.tmodns.net] has quit [Ping timeout:
276 seconds]
16:59 -!- jackman_mobile [~jackman@c-76-115-243-246.hsd1.wa.comcast.net] has
joined #go-nuts
17:03 -!- ronnyy [~quassel@p4FF1DD2F.dip.t-dialin.net] has joined #go-nuts
17:06 -!- jA_cOp [~yakobu@unaffiliated/ja-cop/x-9478493] has quit [Quit: Leaving]
17:07 -!- deso [~deso@x0561a.wh30.tu-dresden.de] has joined #go-nuts
17:08 < temoto> Can i somehow declare that interface Foo must also implement
interface File w/o duplicating methods of File?
17:11 < exch> temoto: you can embed the File interface: type T interface {
io.Writer } <- that automatically applies all of io.Writer methods to T
17:11 < temoto> exch, thanks.
17:13 < temoto> What does this type ( int ; float ) mean?
17:13 < temoto> note parens
17:13 < exch> dunno..  where did you see that?
17:14 < temoto> http://golang.org/doc/go_spec.html search 'polar point'
17:15 < exch> oh right.  I believe it's similar to import ( ...  )
17:15 < exch> it just groups multiply type definitions
17:15 -!- jdp [gu@24.238.32.162.res-cmts.segr.ptd.net] has joined #go-nuts
17:16 < exch> type ( A int; B float ) would be the same as: type A int; type
B float;
17:17 -!- ExtraSpice [~XtraSpice@88.118.32.225] has quit [Quit: Leaving]
17:17 < temoto> Ah thanks.
17:17 < temoto> I don't see a char type.
17:18 < temoto> So how do i instead declare a method which accepts slice of
something?
17:18 < temoto> and then define two implementations: one for []byte and one
for string?
17:21 -!- nsf [~nsf@jiss.convex.ru] has quit [Quit: WeeChat 0.3.3]
17:21 < exch> go does not have implicit type conversions.  So your best bet
in that case is to define a method that takes []interface{}.  You will have to do
a manualy conversion inside each function though.  You can't cast []interface{} to
[]string.  Either that or have it accept a single interface{} value as parameter..
then do a type assertion to []string or whatever inside the implementations
17:21 < exch> Or just keep them seperated..  2 implementations.  Each for
their own type of slice
17:21 -!- DerHorst [~Horst@e176098235.adsl.alicedsl.de] has quit [Remote host
closed the connection]
17:22 < exch> Go isn't very suited for the generic approach
17:25 -!- wrtp [~rog@92.17.16.23] has quit [Ping timeout: 240 seconds]
17:26 -!- moondowner [~quassel@92.53.38.28] has joined #go-nuts
17:29 < temoto> exch, but interfaces are all about generic approach.
17:30 < temoto> I don't want implicit type conversions.
17:30 < exch> yes, but not in the sense that you propose.  If you really
want a single function that can handle multiple slice types, then create an
interface type for it with 2 distinct implementations.  One for []string and one
for whatever else you need.  Then use that interface as the method parameter
17:30 -!- wrtp [~rog@92.17.16.23] has joined #go-nuts
17:30 < temoto> But isn't []string closer to [][]byte?  I mean []string is
like a matrix of chars, not list?
17:31 < exch> string is close to []byte, but []string is something else
entirely
17:32 < temoto> another interface to abstract []byte and string?
17:33 < temoto> Can't imagine methods of it..
17:35 < MizardX> string and []byte does not have any methods, so creating an
interface for them would cover evey type.
17:35 -!- gabriel9 [~gabriel9@93.157.192.28] has quit [Ping timeout: 258 seconds]
17:35 < exch> http://pastebin.com/Y9rLycu3
17:35 < exch> note that the Slice methods take interface{} arguments..  you
have to do a type assertion to string or int, depending on the implementation
17:36 < exch> StringSlice and IntSlice could even be simplified to: type
StringSlice []string; and type IntSlice []int;
17:37 -!- rejb [~rejb@unaffiliated/rejb] has quit [Ping timeout: 276 seconds]
17:37 < exch> This sort of abstraction can be handy, but it poses problems.
the handleSlice() function doesn't know what type of arguments it should be adding
or removing
17:38 < exch> For this particular situation, I would personally just skip
the abstraction and work directly with separate implementations of handleSlice()
for []string, []int, etc
17:39 < temoto> Yeah i think i'll just limit scanner to []byte.
17:40 -!- gabriel9 [~gabriel9@93.157.192.28] has joined #go-nuts
17:41 -!- napsy [~luka@212.235.174.112] has quit [Ping timeout: 252 seconds]
17:43 -!- sacho [~sacho@87-126-51-220.btc-net.bg] has joined #go-nuts
17:54 -!- plainhao [~plainhao@mail.xbiotica.com] has joined #go-nuts
18:00 -!- wrtp [~rog@92.17.16.23] has quit [Quit: wrtp]
18:08 -!- wrtp [~rog@92.17.16.23] has joined #go-nuts
18:09 -!- path[l] [UPP@120.138.102.50] has joined #go-nuts
18:11 -!- Xenith [~xenith@kiwi.he.net] has joined #go-nuts
18:12 -!- boredomist [~boredomis@24.115.43.39.res-cmts.sesp.ptd.net] has joined
#go-nuts
18:28 -!- suiside_ [~suiside@a88-114-93-253.elisa-laajakaista.fi] has left
#go-nuts []
18:29 -!- suiside [~suiside@unaffiliated/suiside] has joined #go-nuts
18:30 -!- g0bl1n [~anonymous@a213-22-18-58.cpe.netcabo.pt] has joined #go-nuts
18:30 < plexdev> http://is.gd/esbe0 by [Robert Griesemer] in
go/src/pkg/syscall/ -- fix build
18:35 < temoto> Can i define a type alias to function?
18:37 < exch> like this?: type MyFunc func(a, b int) int
18:37 < exch> defines MyFunc as a function with 2 int args and int return
type
18:38 < temoto> Yeah thanks, i typed name in wrong place.
18:41 -!- sacho [~sacho@87-126-51-220.btc-net.bg] has quit [Ping timeout: 265
seconds]
18:41 -!- path[l] [UPP@120.138.102.50] has quit [Read error: Connection reset by
peer]
18:42 -!- path[l] [UPP@120.138.102.50] has joined #go-nuts
18:42 -!- femtoo [~femto@95-89-197-4-dynip.superkabel.de] has joined #go-nuts
18:42 -!- napsy [~luka@212.235.174.112] has joined #go-nuts
18:48 -!- Shyde [~shyde@HSI-KBW-078-043-070-132.hsi4.kabel-badenwuerttemberg.de]
has quit [Remote host closed the connection]
18:49 -!- kw- [~user@d91-128-74-45.cust.tele2.at] has joined #go-nuts
18:53 -!- Venom_X [~pjacobs@71.21.124.111] has quit [Quit: Venom_X]
18:53 -!- sacho [~sacho@95-42-67-216.btc-net.bg] has joined #go-nuts
19:04 -!- babusri` [~Babu@122.167.73.22] has quit [Ping timeout: 259 seconds]
19:04 -!- nkiesel1 [~nkiesel1@adsl-75-34-104-230.dsl.pltn13.sbcglobal.net] has
joined #go-nuts
19:14 -!- artefon [~thiago@189.107.155.106] has quit [Quit: bye]
19:15 -!- nsf [~nsf@jiss.convex.ru] has joined #go-nuts
19:18 -!- tylercurtis [~tylercurt@97-95-156-133.dhcp.jcsn.tn.charter.com] has quit
[Quit: tylercurtis]
19:27 -!- plainhao [~plainhao@mail.xbiotica.com] has quit [Quit: plainhao]
19:31 -!- g0bl1n [~anonymous@a213-22-18-58.cpe.netcabo.pt] has quit [Quit: g0bl1n]
19:35 -!- redbrain [~redbrain@94.229.66.234] has joined #go-nuts
19:36 < redbrain> hey just playing with go but wondering what do we do for a
a build system i just wrote a basic makefile
19:36 < redbrain> is there any more standard thing to do?
19:36 < Namegduf> Nope.
19:36 < exch> makefiles are pretty much the 'standard' atm
19:37 < redbrain> exch: ah cools i don't mind i just suck a writing make ;)
19:37 < exch> So did I when I started with Go. But the go makefiles are
fairly straight forward
19:37 < exch> this demo repo may help
http://github.com/jteeuwen/go-example-multipkg
19:39 < redbrain> exch thanks i didnt realise we could "include
$(GOROOT)/src/Make.pkg"
19:39 < exch> yup.  makes life a bit easier
19:39 < redbrain> exch: whoop that works lol win thanks again
19:40 -!- wrtp [~rog@92.17.16.23] has quit [Ping timeout: 265 seconds]
19:45 -!- tvw [~tv@e176018053.adsl.alicedsl.de] has joined #go-nuts
19:45 -!- wrtp [~rog@92.17.16.23] has joined #go-nuts
19:47 -!- wrtp [~rog@92.17.16.23] has quit [Client Quit]
19:48 -!- nsf [~nsf@jiss.convex.ru] has quit [Read error: Connection reset by
peer]
19:51 -!- Eridius [~kevin@unaffiliated/eridius] has joined #go-nuts
19:51 -!- deso [~deso@x0561a.wh30.tu-dresden.de] has quit [Remote host closed the
connection]
19:51 -!- rejb [~rejb@unaffiliated/rejb] has joined #go-nuts
19:52 -!- Xenith_ [~xenith@cyclone.xenith.org] has joined #go-nuts
19:52 -!- temoto [~temoto@81.19.90.235] has quit [Read error: Operation timed out]
19:57 -!- Xenith_ [~xenith@cyclone.xenith.org] has quit [Client Quit]
19:58 -!- nsf [~nsf@jiss.convex.ru] has joined #go-nuts
20:00 -!- femtooo [~femto@95-89-197-4-dynip.superkabel.de] has joined #go-nuts
20:00 -!- Xenith [~xenith@kiwi.he.net] has quit [Quit: leaving]
20:01 -!- Xenith [~xenith@cyclone.xenith.org] has joined #go-nuts
20:03 -!- femtoo [~femto@95-89-197-4-dynip.superkabel.de] has quit [Ping timeout:
240 seconds]
20:12 -!- ronnyy [~quassel@p4FF1DD2F.dip.t-dialin.net] has quit [Remote host
closed the connection]
20:12 -!- turbinio [~tobias@p5DD6B6AE.dip.t-dialin.net] has joined #go-nuts
20:12 -!- turbinio [~tobias@p5DD6B6AE.dip.t-dialin.net] has left #go-nuts []
20:13 -!- gid [~gid@220-253-147-205.VIC.netspace.net.au] has quit [Remote host
closed the connection]
20:25 -!- itrekkie [~itrekkie@ip72-200-109-106.tc.ph.cox.net] has quit [Quit:
itrekkie]
20:26 -!- dolo [~dolo@210-84-26-83.dyn.iinet.net.au] has joined #go-nuts
20:38 -!- AndChat| [~jackman@m0b0e36d0.tmodns.net] has joined #go-nuts
20:39 -!- jackman_mobile [~jackman@c-76-115-243-246.hsd1.wa.comcast.net] has quit
[Ping timeout: 265 seconds]
20:41 -!- boredomist [~boredomis@24.115.43.39.res-cmts.sesp.ptd.net] has quit
[Ping timeout: 240 seconds]
20:42 -!- napsy [~luka@212.235.174.112] has quit [Ping timeout: 276 seconds]
20:43 -!- jackman_mobile [~jackman@c-76-115-243-246.hsd1.wa.comcast.net] has
joined #go-nuts
20:43 -!- jackman_mobile [~jackman@c-76-115-243-246.hsd1.wa.comcast.net] has quit
[Remote host closed the connection]
20:44 -!- AndChat| [~jackman@m0b0e36d0.tmodns.net] has quit [Ping timeout: 260
seconds]
20:47 -!- femtooo [~femto@95-89-197-4-dynip.superkabel.de] has quit [Quit:
Leaving]
20:50 -!- boredomist [~boredomis@24.115.43.39.res-cmts.sesp.ptd.net] has joined
#go-nuts
20:51 -!- navigator [~navigator@p5489555C.dip.t-dialin.net] has quit [Quit:
WeeChat 0.3.3]
20:54 < exch> hmm.  todays go update increased the binary size of one of my
projects from 1.4mb to 2mb
20:54 -!- slashus2 [~slashus2@74-137-24-74.dhcp.insightbb.com] has quit [Quit:
slashus2]
20:55 < exch> weird.  the packages are smaller
20:55 -!- napsy [~luka@212.235.174.112] has joined #go-nuts
20:57 < nsf> exch: maybe it's because of debug info?
20:57 < nsf> dwarf generation was added to 6l
20:57 < exch> it's possible
20:58 < exch> can I yank it out?  :p
20:58 < nsf> I don't know
21:06 < exch> mm another project from 2.1 to 3.2 mb :s
21:07 -!- emmanueloga [~emmanuelo@190.244.214.122] has quit [Quit: WeeChat
0.3.3-dev]
21:08 < nsf> I hope they will add a cmd line switch for that
21:08 < nsf> in case if the cause is the dwarf section
21:08 < exch> I hope so
21:12 -!- boredomist [~boredomis@24.115.43.39.res-cmts.sesp.ptd.net] has quit
[Quit: Leaving]
21:15 -!- boredomist [~boredomis@24.115.43.39.res-cmts.sesp.ptd.net] has joined
#go-nuts
21:17 -!- tylercurtis [~tylercurt@97-95-156-133.dhcp.jcsn.tn.charter.com] has
joined #go-nuts
21:26 -!- slashus2 [~slashus2@74-137-24-74.dhcp.insightbb.com] has joined #go-nuts
21:31 -!- mattikus [~mattikus@ip24-250-73-154.br.br.cox.net] has joined #go-nuts
21:46 -!- mattn_jp [~mattn_jp@112-68-92-234.eonet.ne.jp] has left #go-nuts []
21:49 -!- nkiesel1 [~nkiesel1@adsl-75-34-104-230.dsl.pltn13.sbcglobal.net] has
left #go-nuts []
21:54 -!- ikaros [~ikaros@dslb-084-059-076-150.pools.arcor-ip.net] has quit [Read
error: Connection reset by peer]
21:55 -!- napsy [~luka@212.235.174.112] has quit [Ping timeout: 272 seconds]
21:57 -!- werdan7 [~w7@freenode/staff/wikimedia.werdan7] has quit [Ping timeout:
624 seconds]
22:03 < nictuku> I hate slices.
22:03 < yiyus> why?
22:04 < nictuku> writing a rant now, hang on
22:06 -!- werdan7 [~w7@freenode/staff/wikimedia.werdan7] has joined #go-nuts
22:06 -!- mattikus [~mattikus@ip24-250-73-154.br.br.cox.net] has quit [Remote host
closed the connection]
22:09 -!- ShadowIce [~pyoro@unaffiliated/shadowice-x841044] has quit [Quit:
Verlassend]
22:14 -!- General13372 [~support@71-84-50-230.dhcp.mtpk.ca.charter.com] has joined
#go-nuts
22:16 -!- tav [~tav@2001:0:53aa:64c:0:3ffe:a3f8:9d51] has quit [Ping timeout: 260
seconds]
22:17 < nictuku> posted into Andrew's blog, but it's pending moderator
approval.  In summary, I'm coming from Python.  So I like the ability to set a cap
for the slices.  But I don't like that I still have to manage the array within the
slice.
22:17 -!- General1337 [~support@71-84-50-230.dhcp.mtpk.ca.charter.com] has quit
[Ping timeout: 272 seconds]
22:18 < MizardX> Why?  Just create the slice, and forget about the
underlying array.
22:18 < nictuku> for example, the need to "re-slice" when you want to add an
item to the slice - which takes two ugly lines.
22:18 < MizardX> Use a vector
22:18 < nsf> vector suck, gimme generic vector
22:18 < nsf> sucks*
22:18 -!- rlab [~Miranda@91.200.158.34] has quit [Ping timeout: 240 seconds]
22:19 < Namegduf> nictuku: Go is fast because it doesn't use data types
which use inherently slower representations to support operations that the type
itself doesn't really support, and doesn't provide really slow operations as basic
ones in the language.
22:19 < nictuku> vectors are very ugly.  they are not idiomatic, it takes a
lot of typing to work with them.  Specially with you want a vector of *T, when T
is not int or string
22:19 < Namegduf> In general, if that's what you want, you should go use
Python, I think.
22:19 < nictuku> Namegduf: those are orthogonal issues.  I'm complaining
about syntax.
22:20 < Namegduf> nictuku: No, they aren't, unless your proposal just
includes automatic reslicing when the underlying array is already large enough.
22:20 -!- moondowner [~quassel@92.53.38.28] has quit [Remote host closed the
connection]
22:20 < Namegduf> If that is all your proposal is, then it doesn't liberate
you from managing the underlying array at all.
22:21 < yiyus> i agree growing slices can be tedious (see
http://codereview.appspot.com/1953044/diff/5001/6002)
22:21 < nsf> yiyus: hehe, copy & paste rocks
22:22 * Namegduf thinks that making the semantics of assigning to indexes of a
slice have additional complexity and potentially cause len() to change in an
assignment, for the sake of turning two lines to one here and there, is
undesirable
22:23 < nsf> I think that Go should have dynamic arrays as built-ins
22:23 < nsf> like in D
22:23 < yiyus> all this discussion about generics...  i wonder if making
vector a builtin (generic) type would stop the discussion
22:23 < Namegduf> "no"
22:24 < exch> probably not :p
22:24 < Namegduf> Maps are not the be-all and end-all of associative data
structures, either
22:24 < yiyus> surely not completely ;)
22:24 < Namegduf> There's a whole bunch of those which can be needed or
appropriate.
22:24 < nictuku> but they are two very ugly lines.  real example for
re-slicing: DhtStats.engines = DhtStats.engines[0:len(DhtStats.engines)+1] ;
22:24 -!- forgey_ [brook@seahawk.ript.net] has quit [Read error: Operation timed
out]
22:24 < exch> people complain for the sake of complaining ;) If one thing is
'fixed', the next thing comes up.  I like that the Go authors make a firm stand in
this regard.  There is a very clear idea of what Go should and should not be
22:25 < nictuku> exch: that's not true.
22:25 < nsf> also I'm curious if Go authors will add generics
22:25 < jcao219> me too
22:25 < nsf> what will happen with map type
22:25 < jcao219> i hope there will be more tools for Go on Windows
22:26 < MaybeSo> so I've got a 3rd party library which can apprently return
an os.Error or an http.ProtocolError (http://golang.org/pkg/http/#ProtocolError)
22:26 < MaybeSo> what's the Proper Way to check for various error types?
22:26 < nsf> type switch
22:26 < exch> nictuku: it doesn't mean that changes are out of the question,
but they will go thruogh very rigorous review and discussion.  They won't just
change the language because it seems convenient
22:26 * Namegduf needed, for example, a structure which was tiny when empty and
small for only a few items, and which you could range over a bunch of neighbouring
keys, but not others.  A hashtable was not appropriate.
22:26 < Namegduf> (Maps are hashtables)
22:27 -!- forgey [brook@seahawk.ript.net] has joined #go-nuts
22:27 < nictuku> exch: they will if we complain enough and say that
something is annoying us, yet the change wouldn't compromise the design of the
language.  The death of 'new' is a great example.
22:28 < nsf> it's not dead yet
22:28 < Namegduf> I would suggest that it was because people put forward a
better proposal.
22:28 < nsf> it was just a proposal
22:28 -!- tav [~tav@2001:0:53aa:64c:0:3ffe:a3f8:9cec] has joined #go-nuts
22:28 < Namegduf> Or, rather, because the sole reason new was there in the
first place was to avoid annoying people
22:28 < Namegduf> But it apparantly wasn't needed.
22:28 < Namegduf> If I recall the background there right.
22:28 < exch> Getting rid of new() doesn't clash with Go's idea of
simplicity.  Infact, it only works towards it (one less builtin to worry about)
22:28 < Namegduf> Not because people complained "enough".
22:29 < Namegduf> There's plenty of people who are just trying to turn Go
into Ruby, so far as I can tell, on the idea that they'll get Ruby's features and
Go's performance.
22:29 < Namegduf> Or at least turn it into Python.  :P
22:29 -!- kw- [~user@d91-128-74-45.cust.tele2.at] has quit [Ping timeout: 240
seconds]
22:29 < jcao219> lol Python sure is convenient to use
22:30 < yiyus> i find go code much easier to read, even bad code, that is a
good benefit from the lack of features
22:30 < exch> After all is said and done, there is nothing stopping one from
forking the whole Go project and just adding whatever one likes.  Just don't
expect it to be merged into the mainline again :)
22:31 < yiyus> bad code in python or ruby, instead...
22:31 < jcao219> that's true
22:31 < nictuku> Namegduf: your argument seems to be that adding cool
features makes the language suck, necessarily?  Even if the features are cool?
22:31 < Namegduf> The coolness of the feature is rather irrelevant to the
costs of implementation.
22:32 < nictuku> why is having a syntax for re-slice-and-append costly?
22:32 < Namegduf> Because it either:
22:33 -!- General1337 [~support@71-84-50-230.dhcp.mtpk.ca.charter.com] has joined
#go-nuts
22:33 < Namegduf> 1) Introduces a new operator, which everyone using Go must
remember and memorise and know to handle Go code.
22:33 < nictuku> well, why can't this work?  slice + item ?
22:33 < Namegduf> 2) Adds additional semantics to the assignment operation,
making what it does less directly readable, with the direct effect of quietly
altering len().
22:34 < yiyus> nictuku: slice + item is just sugar
22:35 < Namegduf> That could be reasonably cheap in terms of complexity
added to assignment for the effect.
22:35 < yiyus> there are dozens of similar good ideas that you can add, but
if you add them all, you will finish with a mess
22:36 < Namegduf> My point is that such sugar has a significant cost to
evaluate in terms of language complexity, which has a significant cost in that it
adds to what a programmer must know to work with the language.
22:36 < Namegduf> If stuff is worth it or not is really for the devs to
figure.
22:36 -!- General13372 [~support@71-84-50-230.dhcp.mtpk.ca.charter.com] has quit
[Ping timeout: 276 seconds]
22:37 < jcao219> well, about the slices thing, how it is right now,
programmers have to memorize the general code for reslicing
22:37 < jcao219> whenever they need to append
22:37 < Namegduf> That's not hard.
22:37 < jcao219> i know, but it's more than let's say if you add a special
operator
22:37 < jcao219> or something to the language
22:37 < Namegduf> It's like memorising the "general code for adding".
22:38 < Namegduf> No, it isn't.
22:38 < jcao219> heh
22:38 < nsf> hehe, I remember Rob Pile said that patterns is a signal of the
language weaknesses
22:38 < jcao219> yes
22:38 < nsf> we have patterns for slice growing
22:38 < nsf> great
22:38 < Namegduf> jcao219: As it is right now, a programmer needs to
remember how slicing works, and how adding works.
22:38 < nsf> oops
22:38 < jcao219> yea, so they don't treat slices like python lists
22:38 < nsf> Pike*
22:38 < Namegduf> jcao219: With tha idea, they'd need to remember those two,
and that adding can sometimes imply the former.
22:40 < Namegduf> A change which makes it easier to treat slices like lists
just means more newbies screw up horribly and fail to learn the difference right,
because it'll never be safe to treat them the same.
22:40 < Namegduf> "It'll look more like something it isn't" is a - to
helpfulness to newbies, not a +
22:40 -!- scarabx [~scarabx@c-76-19-43-200.hsd1.ma.comcast.net] has joined
#go-nuts
22:41 -!- Soultaker [~maks@hell.student.utwente.nl] has joined #go-nuts
22:41 < jcao219> yep, go slices are unique
22:41 < KirkMcDonald> Go slices are very similar to D's dynamic arrays.
22:41 < jcao219> huh, really?
22:42 < KirkMcDonald> However, Go's slices make their relationship to the
underlying array more explicit, which is a good thing.
22:42 < yiyus> imho slices growing could indeed be improved, but until there
is a final decission about generics is stupid to complicate the language with it
22:43 < nsf> D has its own quirks around dynamic arrays
22:43 < KirkMcDonald> A dynamic array in D supports several operations which
implicitly imply a reallocation and copy.
22:43 < jcao219> yes, but in Go it's explicit
22:43 < KirkMcDonald> (Also I just realized that "implicitly imply" is
redundant.)
22:44 < KirkMcDonald> Yes.  Which I think is good.
22:44 < yiyus> (why?  cannot you say "explicitly imply"?)
22:44 < jcao219> but it creates "patterns" as nsf said
22:44 < nictuku> my proposal.  it's probably silly, though:
http://gist.github.com/541352
22:44 < KirkMcDonald> yiyus: "Imply" on its own would have worked just as
well.
22:44 < nsf> I need to write an app that searches through the Go source code
and counts "slice grow" code snippets
22:44 < Namegduf> I don't like such operations in the language, because then
people are foolish and actually use those operations to implement things, and then
there's nothing you can do to make code in the language run fast but somehow
discern the point of the unnecessarily slow algorithm and replace it with a fast
one.
22:44 < yiyus> KirkMcDonald: just joking
22:44 < nsf> I'm sure current go codebase has zillions of them
22:45 < Namegduf> Which I don't think is practical in compilers just yet.
22:45 < jcao219> lol
22:45 < KirkMcDonald> Namegduf: What's worse, consider the following line of
D code: array ~= x;
22:45 < Namegduf> KirkMcDonald: What does that do?
22:45 < KirkMcDonald> ~= is the append/extend operator.
22:45 < jcao219> catenacate
22:45 < Namegduf> Ah.
22:46 < KirkMcDonald> That is, D uses binary ~ to mean concatenation (rather
than overloading +).
22:46 < jcao219> ~ is also used for catenatate strings
22:46 < KirkMcDonald> And ~= is "in-place concatenate," that is, appending
or extending.
22:46 < jcao219> gah i can never spell that word
22:46 < jcao219> concatenate
22:46 < Namegduf> Ah.
22:47 < Namegduf> Does it do the "amortized average time O(1)" thing that
the STL does in places?
22:47 < KirkMcDonald> So, after "array ~= x;" does 'array' still refer to
the same piece of memory?
22:47 < KirkMcDonald> Namegduf: It does, exactly.
22:48 < KirkMcDonald> It is a trick question, of course.
22:48 < Namegduf> Yeah.
22:48 < Namegduf> Sometimes it does, sometimes it doesn't.
22:48 < KirkMcDonald> Whether it refers to the same piece of memory depends
on whether it did a reallocate-and-copy.
22:48 < Namegduf> And it can, of course, always invaliate iterators.
22:48 < Namegduf> Or not.
22:48 < Namegduf> Right?
22:49 -!- Project_2501 [~Marvin@82.84.92.43] has quit [Quit: E se abbasso questa
leva che succ...]
22:49 < KirkMcDonald> D doesn't have "iterators," at least not in the C++
sense.
22:49 < nsf> iterators?
22:49 < KirkMcDonald> There are pointers, certainly.
22:49 < Namegduf> Hmm.
22:49 < KirkMcDonald> D2 has "ranges", which are something slightly
different.
22:50 < Namegduf> I guess it wouldn't essentially.
22:50 < nsf> when I hear 'iterators' I have a picture in mind with C++
template compilation error messages
22:50 < nsf> :D
22:50 < KirkMcDonald> (Basically a D2 range is a struct containing both a
start and an end iterator.)
22:50 < Namegduf> Ah.
22:50 < KirkMcDonald> (But the iterators themselves are not exposed.)
22:50 < Namegduf> I guess it wouldn't invalidate pointers into it.
22:50 < Namegduf> Due to being a GCed language.
22:50 < KirkMcDonald> Namegduf: Yes, exactly.
22:51 < Soultaker> how does that work then?
22:51 * Namegduf exploits this in Go, actually
22:51 < yiyus> nsf: not zillions, really:
22:51 < yiyus> grep 'if .* == cap.*' */*.go | wc -l
22:51 < yiyus> 19
22:51 < yiyus> 9 are in the regexp.go file i linked
22:51 < KirkMcDonald> On the other hand, simply iterating over a dynamic
array in D looks like: foreach (idx, element; array) {}
22:52 < Namegduf> On a totally unrelated note, I wonder when someone is
going to solve versioning for goinstall
22:52 < KirkMcDonald> Which basically just compiles to the equivalent for
loop.
22:52 < Namegduf> Ah.
22:53 < KirkMcDonald> Ugh.
22:53 < Namegduf> Similar to "for i, item := range slice { }"?
22:53 < KirkMcDonald> Why does each language invent its own package manager?
It's maddening.
22:53 < KirkMcDonald> Namegduf: Yes.
22:54 < nsf> yiyus: you should also count those: grep 'if .* > cap.*'
*/*.go | wc -l
22:54 < nsf> +3
22:54 < nsf> :P
22:54 < nsf> KirkMcDonald: are you talking about goinstall?
22:55 < yiyus> i was doing just that :p 'if .* (==|>) cap.*'
22:55 < KirkMcDonald> nsf: Yes.  As soon as you start talking about
implementing versioning in your ad hoc package manager, god kills a kitten.
22:55 < nsf> I don't use goinstall
22:55 < nsf> because I think it sucks
22:55 < nsf> :)
22:55 < KirkMcDonald> Wonderful!
22:56 < Namegduf> I'm thinking I won't use it either, and will just maintain
and update a local, embedded copy of goconf.
22:56 < Namegduf> Less random breakage when upstream doesn't update for
about two weeks.
22:56 < Namegduf> >_> <_<
22:56 < nsf> Namegduf: I'm doing exactly that
22:56 -!- napsy [~luka@212.235.174.112] has joined #go-nuts
22:56 < nsf> http://github.com/nsf/gocode/tree/master/goconfig/
22:56 < nsf> that's my goconf
22:56 < nsf> :)
22:57 < KirkMcDonald> What I really want to be able to do is have a standard
way of pointing Go at a package tree living under /usr/local somewhere.
22:57 < Namegduf> nsf: I'm not going to give it a separate repo.
22:57 < KirkMcDonald> Because then I can have epkg take care of stuff.
22:57 < Namegduf> It's like 800 lines or less.
22:57 < Namegduf> Not worth it.
22:57 < nsf> Namegduf: if you haven't noticed it's in the gocode repo
22:57 < Namegduf> Ah, right.
22:58 < KirkMcDonald> (Like I do for Python modules which I install outside
the package manager.)
22:58 < Namegduf> Silly me.
22:58 -!- tarski [~ms@246-moc-3.acn.waw.pl] has joined #go-nuts
22:58 < nsf> actually I even have a patch that fixes goconf for an upcoming
regexp change
22:58 < Namegduf> I actually really wish something like goconf would get
mainlined.
22:58 < Namegduf> A lot of programs need some form of configuration.
22:59 < yiyus> KirkMcDonald: i think i'm not following you...  doesn't the
-I flag for gc do just that?
22:59 < KirkMcDonald> Once upon a time, I hacked something together which
integrated Python's optparse with its ConfigParser.
22:59 < nsf> Namegduf: and there are usually 100 ways of doing that
22:59 < MaybeSo> Namingduf: like heroin?
22:59 < nsf> and all are more or less equal
22:59 < Namegduf> nsf: Yeah, but one will do as a default solution.
23:00 < nsf> which one?
23:00 < Namegduf> Doesn't matter, just can pick one.
23:00 < nsf> :D
23:00 -!- tsykoduk [~tsykoduk@184.78.195.79] has quit [Ping timeout: 252 seconds]
23:00 < Namegduf> I'd suggest goconf on the basis that it already exists
23:00 < KirkMcDonald> yiyus: Consider compiling a third-party package where
I have crammed one of its dependencies under /usr/local somewhere.
23:00 < Namegduf> Although I dislike ini syntax, it's plenty good enough
23:00 < Namegduf> Probably more programs need something goconf-like than
need compress/zlib
23:00 < KirkMcDonald> yiyus: I need to somehow inform that package's
Makefile about this additional -I directory.
23:00 < nsf> I don't like goconf because it has weird macros inside
23:01 < Namegduf> Ah.
23:01 < KirkMcDonald> ini files are simple and reasonable.
23:01 < yiyus> KirkMcDonald: i see
23:02 < nsf> Namegduf: we should create a special Go repo, for useful
libraries :D
23:02 < nsf> like a collection of additions to the std lib
23:02 -!- tsykoduk [~tsykoduk@184.78.195.79] has joined #go-nuts
23:02 < KirkMcDonald> The functionality of goconf appears to be lifted
directly from Python's ConfigParser.
23:02 < Namegduf> Yeah.
23:02 * Namegduf has used ConfigParser.
23:03 < KirkMcDonald> Right down to having GetString/GetInt/GetBool methods.
23:03 < KirkMcDonald> Ah, but it has a "default" section.
23:03 < KirkMcDonald> Which Python's lacks for some reason.
23:04 -!- jdp [gu@24.238.32.162.res-cmts.segr.ptd.net] has quit []
23:05 < Namegduf> nsf: I think the cat-v links page kinda does that, it just
doesn't provide any kind of maintenance.
23:05 < nsf> that's the problem
23:06 < Namegduf> Might be cool to have a little project to solve that.
23:06 < nsf> yeah, but I don't feel like I really want to do this
23:06 < nsf> :D
23:06 < Namegduf> Heh.  Time's a pain.
23:07 < nsf> I have my gocode burden already
23:07 < nsf> and it still lacks the refactoring part
23:07 < nsf> which I really want to implement one day
23:08 < nictuku> isn't it easier to add versioning to goinstall?
23:08 * KirkMcDonald twitches.
23:09 < nsf> nictuku: I don't think so
23:09 < nsf> goinstall still can't handle cgo libs anyway
23:09 < Namegduf> I understand that versioning is some kind of sticky
problem.
23:09 < Namegduf> Somehow.
23:09 < Namegduf> I don't know why.
23:09 < nsf> well, yes
23:10 < KirkMcDonald> Versioning coupled with dependencies leads to madness.
23:10 < nsf> versioning is why Go doesn't have .so support :D
23:11 < nsf> at least part of the reason
23:11 < KirkMcDonald> Also there is a cautionary tale to be had in DSSS.
23:13 -!- slackstation [~eman@adsl-69-231-151-35.dsl.irvnca.pacbell.net] has quit
[Quit: slackstation]
23:13 -!- nsf [~nsf@jiss.convex.ru] has quit [Quit: WeeChat 0.3.3]
23:18 -!- heyhey [4f9abeb8@gateway/web/freenode/ip.79.154.190.184] has joined
#go-nuts
23:20 -!- dju [dju@fsf/member/dju] has quit [Read error: Connection reset by peer]
23:20 -!- dju [dju@fsf/member/dju] has joined #go-nuts
23:22 -!- Fish [~Fish@9fans.fr] has quit [Remote host closed the connection]
23:24 -!- awidegreen [~quassel@62.176.237.78] has quit [Remote host closed the
connection]
23:28 -!- iant [~iant@nat/google/x-gzsuiikgddmtwath] has quit [Ping timeout: 276
seconds]
23:29 -!- tarski [~ms@246-moc-3.acn.waw.pl] has quit [Quit: Ex-Chat]
23:35 -!- iant [~iant@66.109.103.22] has joined #go-nuts
23:35 -!- mode/#go-nuts [+v iant] by ChanServ
23:40 -!- iant [~iant@66.109.103.22] has quit [Ping timeout: 265 seconds]
23:41 -!- photron [~photron@port-92-201-20-57.dynamic.qsc.de] has quit [Ping
timeout: 258 seconds]
23:46 -!- artefon [~thiago@189.107.155.106] has joined #go-nuts
23:53 -!- iant [~iant@216.239.45.130] has joined #go-nuts
23:53 -!- mode/#go-nuts [+v iant] by ChanServ
23:58 -!- tylercurtis [~tylercurt@97-95-156-133.dhcp.jcsn.tn.charter.com] has quit
[Quit: tylercurtis]
23:59 -!- tvw [~tv@e176018053.adsl.alicedsl.de] has quit [Remote host closed the
connection]
--- Log closed Sat Aug 21 00:00:05 2010