pugscode.org/ | nopaste: sial.org/pbot/perl6 | ?eval [~] <m oo se> | We do Haskell, too | > reverse . show $ foldl1 (*) [1..4] | irclog: irc.pugscode.org/
Set by diakopter on 11 July 2007.
Tene Hmm. I've got a perl5 library that I'm trying to use that has a function that requires a reference to a scalar. What to pass to it from p6? 00:05
checks with: unless defined($var_ref) && ref($var_ref) eq "SCALAR"; 00:06
TimToady maybe { use p5; $val = \$var } or some such 00:08
Tene tries.
Tene Hmm. "Can't locate p5.pm" 00:12
TimToady er, v5 00:15
Tene Oh, right. 00:17
clkao
Tene Looks like it works if I return \$var from a v5 block. 00:20
Thanks.
TimToady np 00:22
TimToady ?eval for <foo bar baz> -> $subname {&::($subname) := sub {1}} 00:35
evalbot_r17041 Error: Cannot bind this as lhs: Syn "&::()" [Ann (Pos (MkPos "<eval>" 1 36 1 44)) (Var $subname)]
TimToady I expect that should work someday. 00:36
pmichaud TimToady: (state of the onion) fwiw, I heard a number of comments after your "Perl 6 Update" that they really enjoyed hearing your analysis of the STD.pm grammar 02:50
(at YAPC)
so, that could be the kernel of a talk
pugs_svnbot r17104 | Darren_Duncan++ | ext/Muldis-DB/ : updated Grammar.pod and Core.pod so enum type values are spec with eg [Bool:true] rather than [Bool.True] 03:57
diff: dev.pugscode.org/changeset/17104
lambdabot Title: Changeset 17104 - Pugs - Trac
agentzh glad to see ghc on feather is now 6.6.1. 04:16
after installing some missing ghc packages, pugs is now building on feather :)
so auto-smoke will resume soon if it builds without problems.
"Setup: cannot satisfy dependency time-any" 04:20
what's the debian package name for "time-any"? 04:23
"E: Couldn't find package libghc6-time-any"
rhr libghc6-time-dev 04:24
agentzh rhr: thanks :)
rhr np
pugs_svnbot r17105 | Darren_Duncan++ | ext/Muldis-DB/ : updated AST.pm to remove all exported functions that trivially wrap an object constructor, updated any uses in other files to call constructors directly 04:59
diff: dev.pugscode.org/changeset/17105
lambdabot Title: Changeset 17105 - Pugs - Trac
bloonix good morning 07:46
moritz_ hi 08:01
pmurias hi 08:06
moritz: what's up? 08:15
moritz pmurias: nothingmuch ;) 08:25
pmurias is looking at the way kp6 handles arguments to methods 08:29
:( 08:30
moritz pmurias: so bad? 08:33
pmurias it dosn't handle them at all :) 08:36
i hack simple positional parameters in, but what realy is need is proper Captures and Signatures, which i don't how to do right 08:38
walk to the bakery& 08:39
pmurias b 09:20
pmurias what docs should i look at for info about Signatures? 09:25
TimToady grep is my friend. S02, S03, and S06...
pmurias using exactly that... 09:28
:= expects a siganture literal on the left side? 09:29
* signature
TimToady yes. you can omit the : after a declarator, and you can omit the parens on a simple var
pmurias if i store a signature in a var: $sig = :($arg1,$arg2); is there a way to bind to it at runtime 09:32
TimToady sure, as long as you don't expect it to refer to any real variables 09:33
$capture ~~ $sig does binding and then throws the binding away
if you want to do something with the binding you need a lambda with some code 09:34
TimToady in general we don't do run-time creation of lexicals without a visible literal declaration 09:36
pmurias i was thinking of something like $sig = :($foo);$capture = \($bar);$sig.bind($capture); being equivalent to $foo := $bar 09:37
i can predeclare my lexicals before 09:38
TimToady well, obviously the engine has to be doing something like that underneath anyway 09:39
so there's likely a way to make it visible
could probably even write $sig = my :($foo) there 09:40
TimToady though then we have a discontinuity with expecting $sig = my $foo to return $foo rather than :($foo) 09:41
if we define my $foo to be sugar for my :($foo)
pmurias is there a list of methods Signatures & Captures have to implement? 09:44
TimToady sigs have to implement .ACCEPTS to do pattern matching 09:45
TimToady captures have to implement $(), @(), %() 09:46
TimToady and maybe &() 09:46
TimToady &() might return a block that came in adverbially as :{} 09:59
and a rubyesque grammar tweak might grab the implicit block that way 10:01
pmurias anything in the synopses about it? 10:04
TimToady not about implicit blocks. they're always explicit with :{} in p6 10:05
S06:724 talks about binding slurpy blocks, which is how we currently bind :{} 10:06
pmurias i see 10:08
TimToady so it could well be that *& binds to the &() returned by the capture 10:09
pmurias nods ;) 10:10
wolverian TimToady, hey, not sure if you saw my question, but: can you hyper ,? i.e. (@_ »,» 'a') to make @_.elems pairs with 'a' added to each. 10:11
TimToady presumably 10:12
wolverian ah, great.
I was not sure how first level , would be :) 10:13
&infix:<,> I suppose.
TimToady it's there notionally even if the parser doesn't really use it
wolverian right 10:14
TimToady not sure we should tell people that ,= means push :)
wolverian I am happy now.
har. why not?
TimToady hard to distinguish from .=
wolverian true 10:15
TimToady maybe good for obfuscation
and golf
wolverian besides, there's <<== for ruby/c++ers 10:17
though it's a bit uglier than in those languages
pmurias (c++)--
TimToady purposefully. it's a rather heavyweight operator
wolverian yup. 10:18
TimToady ,= doesn't imply parallel threading
funny thing >>,=<< would append in indeterminate order 10:19
(I wish my compose key worked...)
TimToady but F7 broke it 10:19
wolverian you could use that as a bad shuffle 10:20
TimToady heh
meppl gugu 11:11
TimToady ugug
masak gguu 11:12
meppl hello tim and masak
TimToady that doesn't look like RNA
masak meppl: hi
meppl i always read "tim today"
masak TimToady: the lowercase letters are probably partly to blame 11:13
?eval <G U G U>.pick(*) 11:14
evalbot_r17041 ("G", "G", "U", "U")
masak won! :)
TimToady hey, don't use up all the luck today; I'm going on an airplane shortely 11:15
*shortly
masak I'll try to restrain myself 11:16
though I hope that your airplane is propelled by more than just luck
TimToady with luck, yes
masak *lol*
masak TimToady: where're you flying to? 11:27
TimToady Boston tonight, SFO/SEA tomorrow
masak ah, ok 11:28
pmurias hates flying 11:31
TimToady okay, lunch and the bus, so see y'all later & 11:32
*then
pmurias safe trip
*have a safe trip
masak TimToady: yes, safe trip
TimToady thanks & 11:34
Juerd Feather has abysmal network performance 11:55
Any hints?
It's on a 100 Mb/s link, but it doesn't even hit 1 11:56
Juerd Hm, reset the autoneg and now it does 10 Mb/s 11:57
Still not good, but better.
(And very acceptable)
Ahh, 20 Mb/s
More than good enough :)
Juerd wonders what was wrong though 11:58
BinGOs win 15 12:09
szbalint common irssi typo :) 12:17
Juerd win 15 is the cheat code in hangman.pl 12:22
HOW DID YOU KNOW?
BinGOs win 15 is also where magnet #perl is >:) 12:23
wolverian no, _this_ is win 15 :) 12:37
masak it is? 12:41
_moritz_ Nay, this 4 12:42
integral no perl6 icfpc team? 12:43
_moritz_ what's icfpc?
that programming contest?
integral yep
_moritz_ I don't think that any implementation is far enough right now
wolverian it's a cool task 12:48
www.icfpcontest.org/Endo.pdf :)
_moritz_ the pugs SVN repository is 329MB, the git clone including all history is 723MB ;) 13:01
that's not too bad, if you ask me 13:02
time git log > /dev/null 13:04
real 0m0.728s
that _is_ fast ;)
szbalint why is the git clone so big? 13:06
:)
_moritz_ now I'm making a tarball that can be downloaded easily, and anybody can download that and do a 'git-svn fetch' to update it
szbalint: because it contains the complete repository, meaning all changesets and logs
szbalint Yes I know, but compared to svn? 13:07
_moritz_ svn only keeps a copy of HEAD
I have now idea how big a svk repository is 13:08
pugs_svnbot r17106 | moritz++ | debian/control: updated build depencies (ghc-6.6.1, libghc6-time-dev) 13:11
diff: dev.pugscode.org/changeset/17106
lambdabot Title: Changeset 17106 - Pugs - Trac
szbalint What I mean is that the git repository for the linux kernel is 308Mb for 2.6.21 13:13
so I'm just wondering how comes the pugscode repo convert is twice as big :) 13:14
_moritz_ are you talking about .git/ only, or the other contents as well? 13:15
linux-2.6.22.1 is 303MB _without_ the history
uncompressed
szbalint yes 13:16
I'm talking about the size of the repository, without accounting for temporary files and files required for checkout 13:17
_moritz_ that's only 47MB for pugs 13:19
szbalint you mean the one with the complete version history? 13:26
_moritz_ yes, that's the 723MB
szbalint Sorry if I'm a bit ambigous, but my point was that the complete repository with version history is 308mb for the linux kernel on git 13:27
szbalint and by repository I mean the data that after transfer over the network allows another repository to be setup 13:28
_moritz_ do you know how long that history dates back?
szbalint 2 years or so
_moritz_ certainly not to pre 2.0
ok
chris2 how did you pack the repository? 13:39
_moritz_ git-svn clone $url; git-repack
chris2 i se
try git-repack --window=50 --depth=50 13:40
that takes a bit longer, but will back a lot better
_moritz_ chris2: thanks, I'll try that
Generating pack...
Done counting 0 objects.
Nothing new to pack.
chris2 git-repack -a --window=50 --depth=50 13:41
_moritz_ aye, that seems to work 13:42
chris2 accesses to the repo will be a bit slower then, but it's great for historic archives 13:43
_moritz_ anything faster than SVN is a win ;) 13:44
how do I publish a git repo? 13:45
chris2 which mechanism?
http, git, ssh?
_moritz_ I have http available, so that would be easiest I assume
chris2 then you just need to upload it 13:46
_moritz_ is the .git dir enough, or do I need to include the actual source files in the repository?
chris2 .git is enough
_moritz_ wow, that command reduced the size of .git to 45MB ;) 13:47
chris2++
chris2 yeah
i compressed YARV to 17mb
which was less than a SVN checkout(!)
_moritz_ and I assume .git is compressed already, so no need to run it through tar -j ?
chris2 no use 13:48
szbalint hehe I told you it was too big :) 13:53
_moritz_ szbalint: yeah, you did ;)
bloonix *arg* 16:34
p6 rockz 16:35
bloonix with every piece I learn p6 I'm amazed a bit more! 16:36
masak bloonix: yes, that's a positive side effect of p6 being great :) 16:37
bloonix hmmm 16:42
foo(%h1, %h2, %h3)
now I want that foo() take all in one hash
how can I do it?
masak I think it does 16:43
bloonix sub (%h1, %h2, %h3) {} works but I want it all in %h_all
sub foo (%h1, %h2, %h3) {}
sry
masak then write sub (%h_all) {}
right, sub foo (%h_all) {} 16:44
I think that should be enough
bloonix *** No compatible multi variant found: "&bar"
masak the comma operator flattens by default in Perl
bloonix: though whether it's implemented or not, I don't know :)
check the tests 16:45
bloonix ?eval sub foo (%h1, %h2) {%h1<foo>.say;%h2<bar>.say;}; foo({foo => 1}, {bar => 2}); 16:48
evalbot_r17041 OUTPUT[1␤2␤] Bool::True
bloonix what happends there intern? I pass references but then it are hashes 16:49
are that copies?
masak bloonix: p6 does away with references
in some way, a hash and a reference to it is the same thing
bloonix *arg* you are right 16:50
if I want a copy I have to say to make a copy
is a copy
is copy
masak bloonix: I can't get it to work either with the hash flattening 16:52
either I'm wrong or pugs is wrong
there's something called slurpy arrays though
I never learned exactly what they do, but they are related to this
someone more knowledgeable will be able to answer more fully 16:53
meanwhile, I punt to S06
pugs_svnbot r17107 | Darren_Duncan++ | ext/Muldis-DB/ : renamed AST.pm to Literal.pm, MDB_10_AST_Literals.t to MDB_10_Literal_Simple.t, copied|renamed DB.pm to DB.pod|DB/Interface.pm ... still to do is update file contents 18:49
diff: dev.pugscode.org/changeset/17107
lambdabot Title: Changeset 17107 - Pugs - Trac
diakopter ?uptime 20:14
lambdabot uptime: 2d 20h 12m 59s, longest uptime: 1m 10d 23h 44m 29s
specbot6 Running for 2151529 seconds.
pugs_svnbot Running for 350276 seconds.
evalbot_r17041 Running for 585240 seconds.
diakopter ?uptime 20:46
lambdabot uptime: 2d 20h 44m 56s, longest uptime: 1m 10d 23h 44m 29s
diakopter hmmm
dduncan I get the impression that the svn server may be down 20:47
diakopter yeah...
dduncan who manages that right now? 20:48
diakopter Juerd
evalbot_r17041 Running for 587735 seconds. 20:56
pugs_svnbot Running for 352810 seconds. 20:56
diakopter I'm guessing an autobuild/autosmoke is occuring.... :) 20:57
Juerd The load was over 80 20:58
specbot6 Running for 2154214 seconds. 20:59
szbalint not really healthy
Juerd Whatever happened is now over
Juerd Someones ghc consumed all memory. 21:00
wolverian thanks :)
Juerd I did nothing but wait
dduncan but now it's working at least 21:01
pugs_svnbot r17108 | Darren_Duncan++ | ext/Muldis-DB/ : updated most file contents to say ::Literal rather than ::AST ; also removed the Lit suffix from the Bool|Order|Int|Blob|Text class names 21:02
diff: dev.pugscode.org/changeset/17108
wolverian hm. I get pretty bad lag
but it might be local
dduncan Juerd, now Trac has an error citing database locked 21:08
diakopter dduncan: it does that... sqlite3 has no concurrency in this case. 21:08
dduncan however, svn/svk client stuff works, since 17108 came through
is that all it is? 21:09
diakopter that it uses to authenticate, yeah
dduncan I never encountered that one before
diakopter er, not authenticate. authorize. 21:09
just wait a minute; should work soon.
dduncan wildo 21:10
diakopter dduncan: if you're wanting to see the changeset diff, an alternative link is: perlcabal.org/svn/pugs/revision?revision=17108 21:16
lambdabot Title: revision: /pugs (Rev: 17108, via SVN::Web)
dduncan okay
_moritz_ or you can 'git clone moritz.faui2k3.org/pugs-git/.git/' ;) 21:21
wolverian _moritz_, is that a mirror? 21:22
aindilis` is there a pugspan yet? 21:43
Tene aindilis`: just ext/ of the svn repo so far... 21:53
pugs_svnbot r17109 | Darren_Duncan++ | ext/Muldis-DB/ : completed the split of DB.pm into DB.pod and Interface.pm 22:20
diff: dev.pugscode.org/changeset/17109
Limbic_Region anyone participating in ICFP this year? 22:45