perl6-projects.org/ | nopaste: sial.org/pbot/perl6 | evalbot: 'perl6: say 3;' | irclog: irc.pugscode.org/ | ~290 days 'til Xmas
Set by mncharity on 6 March 2009.
diakopter rakudo: my $a = 2; say "** $a ** "~{ { say ++$a~"b" }(); { say ++$a~"c" }(); 3~"d"; }()~" ** $a **" 00:19
p6eval rakudo d2ad09: OUTPUT«3b␤4c␤** 2 ** 3d ** 4 **␤»
diakopter std: #{ { { < } > } die here 00:27
p6eval std 25847: OUTPUT«Undefined␤ok 00:02 34m␤»
diakopter pugs: #{ { { < } > } say 'foo' 00:28
p6eval pugs: RESULT«*** ␤ Unexpected ")."␤ expecting "use", statements or "}"␤ at /tmp/OMZw2qdKdS line 2, column 3␤»
diakopter pugs: #{ } say 'foo' 00:29
p6eval pugs: RESULT«foo␤Bool::True»
diakopter std: #{ } die here plz
p6eval std 25847: OUTPUT«Undeclared routines:␤ here used at 1 ␤ plz used at 1 ␤ok 00:02 34m␤»
diakopter std: #{ { } die here plz
p6eval std 25847: OUTPUT«Undefined␤ok 00:02 33m␤»
diakopter std: #{ { } } die here plz
p6eval std 25847: OUTPUT«Undeclared routines:␤ here used at 1 ␤ plz used at 1 ␤ok 00:02 34m␤»
diakopter std: #{ { <> } } die here plz
p6eval std 25847: OUTPUT«Undeclared routines:␤ here used at 1 ␤ plz used at 1 ␤ok 00:02 34m␤» 00:30
diakopter std: #{ { < } > } die here plz
p6eval std 25847: OUTPUT«Undeclared routines:␤ here used at 1 ␤ plz used at 1 ␤ok 00:02 34m␤»
diakopter oh, ok
diakopter off-by-one
diakopter std: #< { < } > > die here plz 00:31
p6eval std 25847: OUTPUT«Undeclared routines:␤ here used at 1 ␤ plz used at 1 ␤ok 00:02 34m␤»
TimToady diakopter: 0_001._____0___1 is a method call 00:33
pugs_svn r25848 | lwall++ | [STD] improve error messages around decimal points 01:23
r25849 | lwall++ | make blocks transparent to Junctions (in the absence of explicit parameter types) 01:24
TimToady oops, forgot diakopter++ and moritz++ 01:25
dinner &
skids rakudo: sub a (Int $a) { $a.say }; my $i = 1/2 + 1 + 1/2; $i.perl.say; a($i); 01:38
diakopter oh...
skids ...
p6eval rakudo d2ad09: OUTPUT«2␤Parameter type check failed for $a in call to a␤current instr.: 'die' pc 15808 (src/builtins/control.pir:204)␤»
skids If 2 as a rat or real shouldn't say "2" with .perl 01:39
erm s/If// 01:40
diakopter what might it say instead
skids 2.0
or 2/1
diakopter how should it express sqrt(2) as a real 01:41
(if it has only the float representation to some decimals 01:42
)
skids That depends, is it closure? :-)
diakopter my point is, it can't retain all the specificity
skids Isn't .perl supposed to be recompileable as precisely as it can be? (neglecting complex objects for now.) 01:43
sqrt(2) should probably be to the limits of precision, that's what it would be if used. 01:44
diakopter sure, but Int auto-exalts up to Rat and Real..., so it doesn't matter much?
skids Well, it mattered to &a above
So it would probably matter to a typed initializer for a new() in the same .perl. 01:45
diakopter that's demoting a Rat to an Int, which maybe couldn't occur automatically
sub a (Int $a) { $a.say }; my $i = 1/2 + 1 + 1/2; say $i.WHAT() 01:46
rakudo: sub a (Int $a) { $a.say }; my $i = 1/2 + 1 + 1/2; say $i.WHAT()
p6eval rakudo d2ad09: OUTPUT«Num␤»
diakopter ok, Num
skids Yeah IIRC Rats tend to hide in the woodwork, though this one's probably a real. 01:47
rakudo: "(1/2).WHAT.say" 01:48
p6eval rakudo d2ad09: RESULT«"(1/2).WHAT.say"»
skids rakudo: (1/2).WHAT.say
p6eval rakudo d2ad09: OUTPUT«Num␤»
skids Or maybe Rakudo doesn't do that yet.
skids rakudo 2.0.WHAT.say 01:50
rakudo: 2.0.WHAT.say 01:51
p6eval rakudo d2ad09: OUTPUT«Num␤»
diakopter rakudo: sub a (Int $a) { $a.say }; my Int $i = 1/2 + 1 + 1/2; say $i.WHAT() 01:53
p6eval rakudo d2ad09: OUTPUT«Type mismatch in assignment.␤current instr.: 'die' pc 15808 (src/builtins/control.pir:204)␤»
skids Hrm I'm not enough of a code wonk to comment on that. 01:54
diakopter maybe it's 1.99999999999999999999999
skids Being "pseudo-assignment" in some schools.
diakopter std: #< "<" > die here 01:58
p6eval std 25849: OUTPUT«Undefined␤ok 00:03 39m␤»
diakopter std: #< "<" > > die here
p6eval std 25849: OUTPUT«Undeclared routine:␤ here used at 1 ␤ok 00:03 41m␤»
diakopter std: #< ( #( > ) > die here 01:59
p6eval std 25849: OUTPUT«##### PARSE FAILED #####␤Can't understand next input--giving up at /tmp/cYJtiCDXPM line 1:␤------> #< ( #( > ) > die here␤FAILED 00:02 39m␤»
diakopter std: #< ( < #( > ) > die here 02:00
p6eval std 25849: OUTPUT«Undeclared routine:␤ here used at 1 ␤ok 00:07 59m␤» 02:00
diakopter ooooo 7 seconds; new record
fun game! 02:01
diakopter std: my $a = 3; $a\ #( sss ).++ 02:02
p6eval std 25849: OUTPUT«ok 00:03 43m␤»
diakopter std: my $a = 3; $a\ #( sss )++
p6eval std 25849: OUTPUT«ok 00:03 42m␤»
diakopter std: my $a = 3; $a\ \ \/#( sss )++ 02:03
p6eval std 25849: OUTPUT«##### PARSE FAILED #####␤Syntax error (two terms in a row?) at /tmp/cT85zrhcR2 line 1:␤------> my $a = 3; $a\ \ \/#( sss )++␤ expecting any of:␤ infix or meta-infix␤ infix stopper␤ standard stopper␤ statement modifier loop␤ terminator␤ unspace␤
..whitespace␤FAILED ...
diakopter std: my $a = 3; $a\ .\ .++ 02:05
p6eval std 25849: OUTPUT«##### PARSE FAILED #####␤Syntax error at /tmp/aANW5RVNzT line 1:␤------> my $a = 3; $a\ .\ .++␤ expecting any of:␤ dotty method or postfix␤ postfix_prefix_meta_operator␤ unspace␤FAILED 00:03 43m␤»
diakopter std: my $a = 3; $a\ .\ ++
p6eval std 25849: OUTPUT«ok 00:03 42m␤»
diakopter std: my $a = 3; $a\ .\ \ \ ++
p6eval std 25849: OUTPUT«##### PARSE FAILED #####␤Syntax error at /tmp/ZLnBOsUJNI line 1:␤------> my $a = 3; $a\ .\ \ \ ++␤ expecting any of:␤ dotty method or postfix␤ postfix_prefix_meta_operator␤ unspace␤FAILED 00:03 42m␤»
diakopter std: my $a = 3; $a\ \ \ \ ++
p6eval std 25849: OUTPUT«##### PARSE FAILED #####␤Can't understand next input--giving up at /tmp/3KsrMsAB1u line 0:␤------> ␤ expecting noun␤FAILED 00:03 50m␤»
diakopter std: my $a = 3; $a\ \ ++ 02:06
p6eval std 25849: OUTPUT«##### PARSE FAILED #####␤Can't understand next input--giving up at /tmp/aRXojoZwF4 line 0:␤------> ␤ expecting noun␤FAILED 00:03 50m␤»
diakopter std: my $a = 3; $a.++
p6eval std 25849: OUTPUT«ok 00:03 42m␤»
diakopter oh
skids I'm still waiting for it to say "FAIL. JUST.... FAIL." 02:21
diakopter lol
frooh rakudo: 'frew' ~~ t/f/g 02:57
p6eval rakudo d2ad09: OUTPUT«Could not find non-existent sub t␤current instr.: '_block14' pc 59 (EVAL_16:40)␤» 02:58
frooh rakudo: 'frew' ~~ tr/f/g
p6eval rakudo d2ad09: OUTPUT«Could not find non-existent sub tr␤current instr.: '_block14' pc 59 (EVAL_16:40)␤»
frooh rakudo: 'frew'.trans('f', 'g') 02:59
p6eval rakudo d2ad09: OUTPUT«Must pass a List of Pairs for transliteration␤current instr.: 'parrot;Any;trans' pc 12890 (src/builtins/any-str.pir:570)␤» 03:00
frooh rakudo: 'frew'.trans([['f','g']])
p6eval rakudo d2ad09: OUTPUT«Must pass a List of Pairs for transliteration␤current instr.: 'parrot;Any;trans' pc 12890 (src/builtins/any-str.pir:570)␤»
frooh mmm
trans('frew', 'f', 'g') 03:01
rakudo: trans('frew', 'f', 'g')
p6eval rakudo d2ad09: OUTPUT«Could not find non-existent sub trans␤current instr.: '_block14' pc 74 (EVAL_16:44)␤»
frooh rakudo: my @a; for 1,2,3,4 { @a.push($_) }; @a.perl.say 03:10
p6eval rakudo d2ad09: OUTPUT«[1, 2, 3, 4]␤»
meppl good night 03:24
pugs_svn r25850 | lwall++ | [STD] optimize prior error messages not to increase token count 07:28
r25850 | lwall++ | distinguish role arguments from role parameters
r25850 | lwall++ | suppress undefined errors on ::T without $
moritz_ rakudo: my $a = -> $x { 3 }; say $a.signature.perl 07:51
p6eval rakudo d2ad09: OUTPUT«:(Any $x)␤»
mberends moritz_: cute. is .signature recent? 07:52
moritz_ mberends: dunno
moritz_ anywawy, it's wrong (been that for seven hours ;-) 07:53
pugs_svn r25851 | moritz++ | [t/spec] test that pointy block params default to Object 07:55
r25852 | moritz++ | [t/spec] fix test added in previous commit; properly fudge for rakudo 08:04
moritz_ rakudo: my $x = -> { 3 }; my $z = -> { 4 }; any($x, $z).().perl 08:05
p6eval rakudo d2ad09: OUTPUT«invoke() not implemented in class 'Junction'␤current instr.: '_block14' pc 122 (EVAL_21:55)␤»
moritz_ (that's RT #58004)
quappa looks like fresh rakudo does not build on FreeBSD. how and where may I report this? 08:12
moritz_ quappa: send a mail to [email@hidden.address] 08:13
masak good morning, #perl6ers. 08:15
wayland76 Good morning
mberends masak: yes. 08:16
Test:Ix is interesting. Were you on the way to executing the tests table-driven as well. Generating code seems so... IDL-ish 08:19
quappa moritz_, thanks, done! I failed to find the email address on rakudo.org :)
masak mberends: 'generating the tests table-driven'? 08:23
pugs_svn r25853 | wayland++ | Fix typo for TimToady++ (I like the new changes :) ) 08:23
masak mberends: well, I'm not sure I understand you correctly, but the tests are executed using the index. the call to run-tests(@tests) does all the traversal and running of the tests in the index. 08:28
mberends sorry, I probably misunderstood. Generating stub code gives me CORBA shudders. 08:30
$class & 08:35
pugs_svn r25854 | wayland++ | Removed IO::File::Windows, as it's no longer necessary, AFAIK.
masak mberends: I've never used COBRA, so I'm not getting those shudders. however, I can see how generating stub code might not always be ideal. and the synching problem will always be there. 08:36
nevertheless, I liked writing Test::Ix. it uses a couple of nice techniques. 08:37
Matt-W Morning 08:47
wayland76 masak: CORBA (not COBRA) was designed by the Object Management Group -- does that give you the shudders? :) 08:48
Matt-W: 'morning :)
masak wayland76: ah, CORBA. 08:49
wayland76: actually, it does give me slight shudders.
but only because of those three words in a row.
masak mberends: one might look at it this way. the test descriptions need to be written anyway, so putting them in the index is no extra work. in fact, there might be benefits to thinking top-down and listing the tests before implementing them. (it was for me.) 08:51
mberends: after that, the code generation just consists of giving you convenient blocks that you would have created manually anyway in the second phase of implementing the tests.
bacek good evening 09:57
masak bacek: privet. 09:58
bacek masak: привет :) 09:59
masak nice. :) I'll do that next time. I'm still a bit confused about the keyboard layout of the Cyrillic letters.
bacek masak: It's easy. You just need little bit of training :) 10:00
masak: or switch Input Method to "Cyrillic (transliteral)" if you are using X-Window 10:01
masak I'm on Emacs and LEIM. it has russian-computer and russian-typewriter, neither of which is transliteral.
I usually have to hunt a long while for the right letter. :) 10:02
(I know the alphabet already, just not the locations of the keys)
bacek masak: www.yandex.ru/index_engl_qwerty.html 10:03
masak ah, nice. thanks.
bacek masak: np :)
ouch. 257 open bugs... 10:04
267...
masak sorry about that :P
bacek masak: it's all your fault! :) 10:06
moritz_ contributed a few over the weekend
masak bacek: see? :) not _all_ my fault. 10:07
bacek masak: I see! 10:08
moritz_: do we have tests for multiple return values for #63912? 10:09
moritz_ bacek: dunno 10:10
bacek moritz_: it should be somewhere in S03, isn't it? 10:11
moritz_ bacek: or S06
bacek t/spec/S06-advanced_subroutine_features/return.t 10:12
moritz_ spec/S04-statements/return.t
spec/S06-advanced_subroutine_features/return2.t
bacek wow... Just read S06#The_return_function 10:15
rakudo: sub foo { return ((1,2),3) }; my (@a, $b) = foo(); say @a; say $b; 10:18
p6eval rakudo d2ad09: OUTPUT«123␤Use of uninitialized value␤␤»
bacek moritz_: can you check #63912? It looks invalid AFAIU S06. 10:19
moritz_ rakudo: sub f { return 1, 2 }; my ($a, $b) = f(); say $a.perl; say $b.perl; 10:20
p6eval rakudo d2ad09: OUTPUT«too many arguments passed (2) - at most 1 params expected␤current instr.: 'return' pc 15454 (src/builtins/control.pir:29)␤»
Matt-W I may still have a bug that I haven't pinned down to a test case yet... 10:21
moritz_ bacek: if there's a ticket for the simple thing, we can close the more complicated case if it is invalid indeed
bacek rakudo: sub foo { return :a<1>, :b<2> }; foo(); 10:22
p6eval rakudo d2ad09: OUTPUT«FixedIntegerArray: index out of bounds!␤current instr.: 'return' pc 15454 (src/builtins/control.pir:29)␤»
bacek Hmm... I didn't expect it.
bacek moritz_: Can I move t/block/return_function.t to t/spec/S06? 10:24
moritz_ bacek: if you review it, for sure 10:25
bacek moritz_: it's straight forward copy from spec. 10:25
moritz_ bacek: then go ahead
bacek ...copy samples from spec...
moritz_: S06-advanced? 10:26
moritz_ bacek: yes
bacek moritz_: done. Waiting for git svn dcommit 10:28
pugs_svn r25855 | bacek++ | [t/spec] Move t/blocks/return_function.t to t/spec/S06.
bacek finally :)
bacek rakudo: my $x := |(f); 10:48
p6eval rakudo d2ad09: OUTPUT«Could not find non-existent sub f␤current instr.: '_block14' pc 53 (EVAL_17:38)␤»
bacek rakudo: sub f {}; my $x := |(f); 10:49
p6eval rakudo d2ad09: RESULT«[]»
bacek rakudo: sub f { :a<a> }; my $x := |(f);
p6eval rakudo d2ad09: RESULT«"a" => "a"»
jnthn hi all 11:27
Matt-W hi jnthn 11:30
What miracles are you going to perform today?
masak oh hai, jnthn. 11:32
jnthn Matt-W: Probably very few today... 11:41
jnthn Will do Rakudo day tomorrow or Wed. 11:42
Matt-W awwww 11:43
masak Matt-W: patience! :)
Matt-W Time to get out the mind control ray again
Get you some more grants
jnthn Heh, I still have to complete my Array/Hash/List/Mapping refactor before my existing grant is done. :-P 11:55
literal has there been any work on the command line tool mentioned in u4x/README ? 11:56
Matt-W jnthn: sounds painful
jnthn Matt-W: It is. :-(
Matt-W :( 11:57
masak literal: no, not yet. just thought work. 12:20
literal: current time plan is to implement the things in u4x/P2T1A, and then perhaps make a prototype of the command line tool to access those articles.
literal I might want to work on that for GSoC 12:25
masak literal: cool. 12:27
literal perlcabal.org/syn/S04.html#Closure_traits 12:48
what does the '*' mean which comes after some of these?
oh, never mind, it's explained afterwards
masak looks forward to some of those block types 12:50
hm, maybe a wishlist for Perl 6 features -- along with short code snippets of what could be done with them -- would make a good blog post.
Matt-W masak: yes, just write something!! 12:53
masak Matt-W: I'll have to queue it, though. I'd like to write a few other things first. 12:53
but I'll keep it in mind.
masak is semi-exhausted from the massive blogging this weekend 12:54
Matt-W there was blogging this weekend 12:54
hmm
Matt-W pokes his feed reader
ruoso_ Hello
masak ruoso_: hi.
pmurias ruoso_: hi 12:55
ruoso_ pmurias: I see you started porting things... pmurias++ 12:56
Matt-W masak: wow, that was some very good blogging 13:08
masak Matt-W: thank you. :) 13:11
Matt-W masak: I now definitely definitely have your journal feed 13:12
so I won't miss any more
masak ;)
Matt-W has been pondering writing about Form 13:13
masak another habit I think we should adopt: announcing new projects on p6u. 13:13
we did this for November, but I still haven't done it for Druid.
masak perhaps a nice touch would be to announce each others' projects? :) 13:14
Matt-W :)
masak Matt-W: want to try? I'll announce Form and you'll announce Druid.
Matt-W "Ladies and gentlemen, I have the great honour to announce Carl Masak's latest project"
(with your surname using the right letters)
(which I can't remember how to type on this stupid operating system) 13:15
Matt-W misses his compose key
masak 19th-century-style announcement. :)
Matt-W well if you can't be florid from time to time...
masak I'm not complaining. 13:16
Matt-W ...life would be very dull :)
what I should do is subscribe to p6u rather than just reading it on google
masak aye.
Matt-W initiates that process 13:18
but sure, announce Form if you like
and I'll go for Druid
any relevant URLs you particularly want mentioning?
masak don't think so, 13:19
it should all be in the README.
Matt-W :)
jnthn mentioned Druid in one of his talks. 13:19
Matt-W \o/ 13:20
masak jnthn: which one?
and, prehaphs more importantly, why? :P
jnthn what, you expect me to know what I talked abotu when and why? :-P 13:21
masak I thought you had a URL or something... :)
Matt-W masak: I'm sure he said something like 'Druid is an amazing project' and 'masak is great' :P 13:21
jnthn masak: I do and it's not up to date ;-) 13:22
Matt-W possibly followed by muttering about all the bug reports
jnthn masak: Oh! It was in Ukraine.
IIRC
masak Matt-W: :)
jnthn I was talking about projects built on Rakudo.
masak ok, so if I get any collaborators from Ukraine, I'll know why.
jnthn mentioned November also.
Matt-W p6u subscription complete, hurrah
masak Matt-W: writing the Form announcement now. 13:23
Matt-W Don't oversell it
There's not really that much of it yet :)
However, a certain level of nagging is required to keep me writing 13:24
This weekend I spent a lot of potential coding time practising the viol instead
I need to find a balance
masak Matt-W: just going to present it as plain as I can.
Matt-W I'm sure my neighbours would prefer me to code, as it's significantly quieter
masak it's a free country. 13:25
Matt-W hahahahahaha 13:26
masak Matt-W: does this work? gist.github.com/79876 13:31
Matt-W masak: yes, although it's not a straight port of Damian's module because I don't understand how it works 13:32
And I'm trying to be as Perl 6-ish as possible
masak Matt-W: of course.
I'm not sure there is such a thing as a 'straight port'. 13:33
Matt-W if there is, it's probably not a very good use of Perl 6 :) 13:36
masak ported Ruby code to Perl 6 yesterday 13:37
interesting experience.
Matt-W I read the code
it looks like Perl 6
that big hash initialisation without brackets around it is weird to Perl 5 eyes though
masak aye. 13:38
I make somewhat of a point of not using the parens there.
I want people to get used to it.
Matt-W I wasn't aware that you could actually do it
but I guess as a consequence...
my @a = 1, 2, 3, 4, 5;
masak short question: if I get autogenerated mail from someone on p6u saying that they put my email in a whitelisting quarantine, I'm under no social obligation to follow their instructions to enable my email address with them, right? 13:39
Matt-W: aye.
moritz_ masak: right
masak and the slight annoyance I'm feeling from getting that email is also justified? 13:40
moritz_ yes.
masak oh, good.
Matt-W really you shouldn't have that kind of thing responding to mailing lists
masak [email@hidden.address] if you're reading this, you've just spammed me. stop doing that.
ruoso_ later & 13:50
jnthn Years ago I was on a mailing list. Some guy set an out-of-office message. Which responded to the mailing list...and then responded to itself when the mail came back...500 messages later I faked an unsubscribe email from the guy.
masak jnthn: that happened on some list I was on as well. software sucks. 13:51
Matt-W youch
most out of office autoresponders aren't that stupid
they only do once per sender per out of office period
classic example of why autoresponders are evil
jnthn Aye. I dislike them.
skids too add, calendar apps: rather than call you on the phone I'll just schedule you for a meeting. Feh. 13:53
Matt-W masak: Druid announcement... sent
masak ooh!
masak looks
Matt-W: thank you. I'm very happy about that. 13:54
you'll note that the Form announcement already got a reply.
Matt-W yes
I'm not quite sure what he means 13:55
and I got that autoreply
to add insult to injury, it's got a random unnecessary capital letter in the middle
s/unnecessary/incorrect/
jnthn That rEally sucks, man. 13:56
Matt-W "I am unable to read Your mail."
or something like that
masak inconCeivable!
Matt-W maybe I should make allowances that he's clearly not a native English speaker
masak Matt-W: at resturaunts in Sweden, waiters sometimes use the plural "you" when addressing me. that feels bad for two reasons. 13:58
first, I'm not there to be treated as somehow special or of higher rank. I'm there to eat.
second, we successfully abolished those forms (as well as titles) in the late 50's. let's not reintroduce them. please. 13:59
Matt-W heh 14:01
English hasn't had that kind of distinction for several centuries
masak What doest thou mean? 14:01
Matt-W I remember being really baffled by it when I started learning German
thou is the informal second-person pronoun
but it's obsolete
masak aye.
Matt-W we just use the formal one now, and it has no particular connotation 14:02
skids thou art screwn
:-)
Matt-W 'thou' is just a bit of historical baggage
and often misused by people trying to speak middle english
who don't notice that lots of other words have changed too
masak heh :)
speaking of which, I look forward to a Hamlet translation in Lolspeak. 14:03
Matt-W I HAZ A KWESTSHUN: 2 B OR NOT 2 B? 14:04
I assume you've seen the lolspeak bible
masak Matt-W: aye.
I'm quoting from it in my weekly Web.pm reports.
Matt-W oh yes I remember 14:05
masak I've already elected a quote for today's post.
Matt-W you included a quote from genesis last time
I thought it reads very well in lolspeak
masak yah. that's what I'm after.
not so much the lols of it, but a lingering literary value. 14:06
skids Hmm I wonder how may "ang" and "enm" locales files have been implemented. 14:10
skids And we need a lolcats locale ID these days. 14:11
Matt-W hopes 'lol' isn't taken 14:13
skids hmm the most heavily populated locale using applications: libbonobo, gnome, gimp, audacity, and a few debian utils. 14:21
lolcats gimp might be fun. 14:22
masak IM IN UR PICT, CAN FILLZ UR SELECSHUNS. 14:24
moritz_ any numeric nerds around? I'm looking for a linear solver in C or C++ that works with sparse, complex asymmetric matrices... 14:35
any ideas?
masak moritz_: Matlab? 14:36
moritz_ masak: not available, and commercial :( 14:38
skids Been my experience if you want what Matlab does, octave.
moritz_ octave might be worth investigating 14:39
krunen moritz_: www.tau.ac.il/~stoledo/taucs/ might do it 14:50
moritz_ krunen: I looked at taucs... but the last update was 2003, and it doesn't even compile here :( 14:52
krunen I only looked at some code using it years ago. It still looks like lots of people us it, though... 14:54
krunen moritz_: How about trilinos.sandia.gov/, en.wikipedia.org/wiki/Trilinos 15:00
moritz_ krunen: I'll take a look 15:07
krunen moritz_: www.cgal.org/ has a patched and updated version of Taucs 15:20
jnthn (scheduling) Rakudo day will be tomorrow. :-) 15:23
masak \o/ 15:27
I have some work on Rakudo's &unpack planned for tomorrow. and some November work in the evening. 15:28
jnthn masak: Nice. 15:30
masak Web.pm is stalling on unpack($str, 'H2') 15:31
skids Is there anything new in unpack?
moritz_ you mean compared to Perl 5? 15:32
masak skids: actually, IIRC from talking with TimToady, it's kind of endangered.
he thought the interface was slightly too exposing of internals. or something, I don't exactly remember. 15:33
he thought things should be done with things that called unpack rather than with unpack itself.
skids If we could drop to bit level "character type" in the middle of a regexe, we wouldn't really need it. 15:34
moritz_ we can 15:34
skids Though of course it doesn't really cover when you have a field of normal bytewise data that has been shifted a few bits, but neither does unpack IIRC. 15:35
(Such situations are rare anyway)
masak is fascinated by unpack 15:44
diakopter moritz_: did you find/select a package 15:50
moritz_ diakopter: not yet. I'm still compiling Trilinos/amesos 15:51
I know that mumps does what I want, but its interface is *really* ugly
diakopter do you have access to [and willingness to use] matlab? 15:52
moritz_ in theory I have access, but in practice the license seems to have expired 15:53
aka "no"
diakopter www.math.uni-wuppertal.de/~xsc/xsc/cxsc.html seems to have a sparse linear system solver library 15:55
alester Those wacky spammers! 16:34
A new comment has been posted on your blog Perlbuzz, on entry #569 (Parrot 1.0 will be out in March 2009).
I and my family we use Parrot 1.0 some years, its functions us
arranges. Now we will try Rakudo.
moritz_ wtf? 16:35
alester It's spamming. 16:37
jnthn Fail at attempting to be convincing...
Despite the key noun extraction win. 16:38
alester "some years" of Parrot 1.0. That is impressive.
jnthn Yeah, wish I'd used Parrot 1.0 for some years. ;-) 16:38
masak I think we all do. 16:39
alester We'd have a better idea what to write. 16:39
masak use.perl.org/~masak/journal/38651 16:40
ooh, perlbuzz.com/2009/02/should-perl-6-...-cpan.html 16:42
masak reads
moritz_ masak++ 16:43
masak work on Web.pm is slowly coming together. I'm positively surprised. 16:44
also, chris2++ for Rack.
alester masak, why the "oooh" 16:45
masak alester: simply because this is a topic that interests me, and I hadn't seen the article before, and noticed that it had 28 comments. 16:46
alester: I'm subscribing to Perlbuzz now.
alester masak: I believe strongly that whatever we use for the CPAN for Perl 6 will not be based on the current infrastrcutre.
Nor should it be.
But I suspect that it just won't work out that way. 16:47
masak alester: I'm deliberately agnostic on that issue.
moritz_ I strongly belive that we need a distribution solution RSN
whatever it looks like
masak my stake in this, proto, is deliberately made to bow to the Real Solution.
alester moritz_: Yup, and what will happen is that some JFDIing will happen and other things will coalesce around it.
moritz_ alester: aye. My fear is just that we'll make the same mistakes that the perl 5 CPAN hackers did 16:48
alester Dunno. Who can tell?
moritz_ so it would be great if the designers of CPAN (if such a thing exists) would actually help us
alester Other than that the people who actually Make It Happen are the ones who will make the choices.
masak moritz_: indeed. 16:49
moritz_: we should write to them.
alester part of the problem is that there is the CPAN and the PAUSE
and there's no definition of what the CPAN is.
besides, we have no way of installing modules, so the CPAN angle is irreelevant 16:50
masak this is a case where I would actually welcome spec-first-then-implement, just as with Perl 6. 16:51
alester My point is that the implementor will win.
If you can spec-then-implement, good for you.
But the implementor first to market will win. 16:52
masak I agree.
alester and it was what I was trying to get across at Froen Perl 16:53
butdidn't focus enough on.
masak right now, I'm the only winner by that definition. and I've already disqualified myself.
alester I need to write some more editorials.
masak you could call github a de facto winner as well so far.
alester There are no entrants, so no winner. 16:54
Nobody has anything we can install
yet.
moritz_ so many good Perl 6 projects. So little time to participate in them :/
masak alester: define 'anything we can install'. 16:55
alester Is there anything we can install?
Do we even have module loading in Rakudo yet?
moritz_ sure we have.
masak of course.
keep up. :)
alester I was unaware.
moritz_ that's why we need something RSN ;-)
alester masak: Your comment does nothign.
masak alester: what do you mean? 16:56
alester "keep up"
I'm not a dipshit.
moritz_ masak: I think you can remove the rakudo-prelude from proto
masak alester: I didn't mean to be rude.
moritz_: ok.
alester: but the fact is that we've had module loading since about August 2008. 16:57
if not earlier.
alester Fine.
masak alester: if you don't know that, you're not keeping up. just sayin'.
alester And my point is that there's no value in your sayin'.
masak alester: in that case, apologies. 16:58
moritz_ nopaste.snit.ch/15885 # test suite status in numbers
masak I will attempt to say only things of value from now on.
moritz_ masak: don't ;-)
alester masak: Seriously, what's the point in saying "You're not keeping up." Why would you say that to someone? 16:59
masak alester: you might have noticed the little smiley at the end of my statement.
alester: that means I wasn't serious when I said it.
alester Doesn't make it less insulting.
masak alester: it was intended to make it less insulting. 17:00
alester Not saying it at all would have reduced the insulting by 100%
masak I think there is a certain humour here in #perl6.
not all share it. I respect that.
sorry to have inconvenienced you.
moritz_ rakudo: say ?('/tmp/ ~~ :d ) 17:01
p6eval rakudo d2ad09: OUTPUT«say requires an argument at line 1, near " ?('/tmp/ "␤␤current instr.: 'parrot;PGE;Util;die' pc 129 (runtime/parrot/library/PGE/Util.pir:83)␤»
moritz_ rakudo: say ?('/tmp/' ~~ :d )
p6eval rakudo d2ad09: OUTPUT«1␤» 17:02
moritz_ that's not a good error message for an unfinished string
masak: one more workaround you can remove in proto RSN ;-)
jnthn masak: Come on, keep up with people's humor preferences. :-P
jnthn tears more hair out trying to get generate JavaScript with ASP.NET repeater controls... 17:03
moritz_ ASP.NET raptor controls? ;-)
masak jnthn: :)
moritz_: aye. 17:04
pugs_svn r25856 | pmurias++ | [re-smop] separated the noop REFERENCE and RELEASE and placeholder MESSAGE out of bool 17:08
moritz_ what is re-smop?
rakudo: for 1..3 { when 1 { next }; .say } 17:12
p6eval rakudo d2ad09: OUTPUT«2␤3␤»
moritz_ rakudo: for 1..3 { when /1/ { next }; .say }
p6eval rakudo d2ad09: OUTPUT«2␤3␤»
gfldex rakudo: grammar foo {regex bar { .* }; }; my Str $text = 'foo bar'; given $text { when /<fool::bar>/ { } } 17:21
p6eval rakudo d2ad09: OUTPUT«Null PMC access in get_string()␤current instr.: 'parrot;PGE;Match;new' pc 196 (compilers/pge/PGE/Match.pir:128)␤»
gfldex Null PMCs are bad, aint they?
[particle]1 well, rakudo should have a better error message there, but the bug is in your code 17:23
moritz_ what's the bug?
[particle]1 s/fool/foo/
moritz_ ah right, I think we have a ticket for non-existant grammar already 17:24
gfldex fool does not exists
could somebody drop me a link to the bug tracker pls? 17:25
moritz_ rt.perl.org/rt3/ 17:25
the perl6 queue is of interest for you 17:26
gfldex shouldn't rakudo.org have a link over there?
moritz_ it should
masak: nopaste.snit.ch/15886 improves separation of code and data in proto 17:29
masak moritz_: cool, thanks.
that looks like almost-YAML. :) maybe we should be bold and go all the way to YAML. 17:30
moritz_ we should. But for that we'd need a parser module written in Perl 6
and then we'd need to bundle it with proto 17:31
masak aye. :/
moritz_ so I chose the "do something that actually works" path ;-)
masak moritz_: the Perl 5 script already reads and writes pseudo-YAML, using home-grown methods that will break under certain conditions. 17:32
moritz_ meh
masak there are interesting bootstrapping issues in connection with proto. 17:34
anyway, thanks. I will review and most probably apply.
masak goes swimming
pmurias moritz_: re-smop is a refactored version of smop 17:48
moritz_ pmurias: is it for that capture thing? 17:51
pmurias moritz_: yes, we also split smop into modules and i do some generall cleanup 17:54
moritz_ ah, nice 17:55
pugs_svn r25857 | pmurias++ | [re-smop] ported over idconst 18:17
mikehh rakudo (d2ad095_ builds on parror r37487 - make test/makr spectest PASS - Kubintu Intrepid i386 18:23
s/makr/make/ 18:24
pugs_svn r25858 | pmurias++ | [re-smop] 18:27
r25858 | pmurias++ | remove the object is it's own RI if the RI field is NULL rule
r25858 | pmurias++ | copied over 01_base.pod
pmurias @tell ruoso what do we need empty capture in s0native for? 18:30
lambdabot Consider it noted.
cj diakopter: you seem to have disappeared 20:17
jnthn std: 20:22
std: role Foo[$ where { $*thingy == 42 }: ] { }
p6eval std 25858: OUTPUT«##### PARSE FAILED #####␤Malformed "role" declaration␤Illegal use of colon as invocant marker at /tmp/3FON1tESEA line 1:␤------> role Foo[$ where { $*thingy == 42 }: ] { }␤ expecting any of:␤ POST␤ blockoid␤ infix or meta-infix␤ infix stopper␤
..postfix␤ postfix_pr...
jnthn std: role Foo[$?CLASS where { $*thingy == 42 }: ] { }
p6eval std 25858: OUTPUT«##### PARSE FAILED #####␤Malformed "role" declaration␤Illegal use of colon as invocant marker at /tmp/5PdK60ql5D line 1:␤------> ole Foo[$?CLASS where { $*thingy == 42 }: ] { }␤ expecting any of:␤ POST␤ blockoid␤ infix or meta-infix␤ infix stopper␤
..postfix␤ postf...
jnthn multi foo($x:) { }
std: multi foo($x:) { } # *sigh* 20:23
p6eval std 25858: OUTPUT«ok 00:02 35m␤»
jnthn std: thanks
p6eval std 25858: OUTPUT«Undeclared routine:␤ thanks used at 1 ␤ok 00:02 34m␤»
jnthn ;-)
Matt-W jnthn: roles that only mixin to a subset of classes?
TimToady do you want an invocant on role signatures? 20:27
jnthn TimToady: The spec says that all roles are implicitly parameterized on $?CLASS. 20:36
jnthn TimToady: Being able to alias that to something else feels kinda analogous to me as being able to alias self to $thethingiwhinedaboutitneedingtobeonp6l. 20:37
jnthn But it does sneak in the ability to control what classes you can be mixed into. 20:37
I'm not sure I especially want to encourage that though. 20:38
I can just see role Foo[SomeOtherRole $me:] { }
Which then means we break the "doing roles in any order is fine" rule.
TimToady it just feels a lot more like a multi dispatch than a single to me... 20:39
jnthn And then if you write a class there, if you're aiming for everything in a hierarchy, you rely on people writing the is before the does...again, not good. 20:40
Oh, roles should *certainly* be multi-dispatch.
TimToady and $?CLASS doesn't really have an isa relationship with $?ROLE
jnthn $?CLASS inside a role is generic, right?
But no, I don't think it has any isa relationship.
I'm just saying that if it's generic then it should be an (implicit) parameter to the role. 20:41
And debating with myself whether or not exposing that at all is a good idea.
TimToady it's something more on the order of use COMPILING <$foo>
like macros have
jnthn I don't quite follow? 20:42
TimToady anyway, my $foo ::= $?CLASS isn't good enough?
jnthn I'm not really arguing for a way to rename, just a way to sneak in a compositon-time check.
(Alias rather than rename)
Yes, my $foo ::= $?CLASS is fine by me.
I think I would prefer we didn't expose the implicit $?CLASS parameter on the whole. 20:43
Far too many ways for people to shoot themselves in the foot.
So on measure, no, I think I don't want an invocant in role signatures. :-)
TimToady generics are always fun that way...
jnthn And hey, if we get it wrong to not allow it, allowing it in the future is easy. Allowing it now and disallowing it in the future, OTOH... 20:44
TimToady yes, the conservative approach is fine here 20:45
jnthn I do wonder if we would want some trait on a sub or role that in multi-dispatch lets you veto the candidate as a whole on something independent of the parameters...
Which would allow a neater expression of what Ovid wants.
TimToady you can put anything in a where, doesn't have to relate to the parameter in question
jnthn I know that.
TimToady though there does need to be a parameter currently
jnthn What sent me down the route of wondering about the invocant was...yes, that. 20:46
TimToady well, dynamic rejection is nextsame;
jnthn Ah, true.
But I don't know if that plays ball in role composition. :-)
Ah, does nextsame work in single dispatch as well as multiple?
TimToady well, if it's a sort of dispatcher iterating a list...
yes
jnthn I'd been assuming only multiple...
oh, dammit
pmichaud: Yes, we do need a custom sub dispatcher. ;-) 20:47
TimToady nextsame just tells the dispatcher "you don't see me"
jnthn ...why is pmichaud always right. :-|
TimToady er, perhaps because he sat in on all the design meetings from the start?
jnthn Attending design meetings gives insight into the language? Wow! 20:48
;-)
So would you expect nextsame to apply with roles too?
I don't see it as an issue in fact...
Parametric roles today in Rakudo already just fall out of multiple dispatch, after all... 20:49
TimToady nextsame roughly corresponds to "next 'CANDIDATE'", assuming that all dispatchers label their loop "CANDIDATE"
jnthn OK 20:50
TimToady lunch & 20:51
jnthn boring_day^Wnightjob&
(gotta pay for my expensive hobby somehow...) 20:52
pmurias jnthn: what's your hobby? ;) 20:54
frioux probably travelling
jnthn pmurias: Filling out more of travel.jnthn.net/ with markers. ;-) 20:55
frioux jnthn: speaking of, have you heard LTE?
hobbies that is
jnthn frioux: No. LTE = ...? 20:56
frioux Liquid Tension Experiment
jnthn Ah!
frioux I think you'd like them given you amazon wishlist
jnthn Yes. :-)
I already have LTE 2. It's excellent.
frioux I like 2 better than one, but they are both great
jnthn I like DT too. Very happy to see they will be playing at a couple of places relatively near to me. 20:57
In the summer.
frioux haha, I bet they give a killer show
jnthn They do.
frioux I've never had the chance to see them
jnthn If you get one, it's totally worth it.
frioux Which is your favorite of their albums?
Oh I would for sure
jnthn It's really hard to pick one. 20:58
frioux pick 3
jnthn Excluding live ones I assume... :-)
frioux right
jnthn Scenes from a memory has gotta be in there
Probably train of thought too 20:59
Then I'm torn between awake and images and words.
frioux huh, my top two, tied, are probably scenes from a memory and Six Degrees of Inner Turbulence
jnthn And third? :-) 21:00
frioux That's harder...
I'd say images and words 21:01
jnthn You listen much to When Day and Dream Unite?
frioux coworker &
sorry, back 21:17
I don't even have that one
pmurias jnthn: what's your hobby? ;)A[A[A[A[A#ifdef SMOP_LOWLEVEL_MEM_TRACE smop_mem_trace_del(value);
#endif
sorry
jnthn frioux: It's interesting. 21:18
frioux maybe I should check it out
have you heard their new album? I wasn't very impressed with Octavarium
jnthn Very early, so not so "polished".
frioux right
jnthn Octavarium wasn't bad, but in general wasn't as amazing as some of the others. 21:19
I liekd Systematic Chaos more than Octavarium.
frioux that's the newest one right?
I don't have it
jnthn Yes
frioux I should check it iout
jnthn frioux: Where abouts are you located? 21:28
frioux Dallas TX 21:30
jnthn Aha. :-)
frioux a few miles from pmichaud apparently
but yeah, in the past 4 years I don't think that DT has been near here 21:31
jnthn By contrast, I'm a few thousand miles from pmichaud.
frioux hahaha, yet you still get a lot more work on rakudo than we texans... (not including pmichaud)
work done*
jnthn I suspect my nearest DT concert is the one in Prague. 21:33
If it ain't absolutely nearest, it's still easiest. 21:34
frioux yeah, I like DT, but that's a little far for a concert
jnthn Yeah, but I get to visit Prague and attempt to speak Czech as a bonus. ;-)
frioux hahaha
I could go to mexico and attempt to speak spanish 21:35
jnthn Czech is close enough to Slovak that I can usually make myself sufficiently understood.
frioux huh, interesting 21:36
that makes sense I guess
s1n git question: anyone know how to get a diff after a git add but before a commit? 22:27
moritz_ maybe git diff --cached ?
gravity git diff HEAD
moritz_ or git diff HEAD
s1n moritz_: you're the man :)
moritz_++ gravity++ 22:28
Tene s1n: what moritz said
pugs_svn r25859 | moritz++ | [t/spec] better tempfile name 22:30
pugs_svn r25860 | putter++ | [elfparse] <comp_unit> accepts 'say 3'. 22:41
r25860 | putter++ | Support for <!{ }>; token prefix kludgery; crowbarred type-vs-identifier.
dalek kudo: 84920ea | (Moritz Lenz)++ | docs/ChangeLog:
[docs] update ChangeLog a bit
22:52