»ö« | perl6.org/ | nopaste: paste.lisp.org/new/perl6 | evalbot usage: 'perl6: say 3;' or rakudo:, alpha:, pugs:, std:, or /msg p6eval perl6: ... | irclog: irc.pugscode.org/ | UTF-8 is our friend!
Set by lichtkind on 5 March 2010.
00:06 mjk joined 00:09 quietfanatic left 00:12 snarkyboojum left, lest_away is now known as lestrrat 00:14 snarkyboojum joined 00:17 mjk left
lichtkind thanks 00:18
00:19 meppl left 00:38 payload joined
cj can someone recommend a book or document on compiler engineering? 00:39
m-locks A. Aho, R. Sethi, J. Ullman: Compilers: Principles, Techniques, and Tools. Addison-Wesley, 1986. 00:42
cj thanks, m-locks
m-locks np
diakopter cj: PLP3 (Programming Language Pragmatics 3rd edition) 00:44
cj m-locks: you prefer the first edition?
diakopter five stars
cj thanks, diakopter :)
m-locks they seem to have lotsa additional materials, PLP CD and stuff 00:46
00:48 kfo left 00:56 colomon joined 00:58 xabbu42 left 01:01 snarkyboojum left 01:11 payload left
colomon rakudo: my Int $x = Mu; 01:11
p6eval rakudo b348b3: OUTPUT«Type check failed for assignment␤current instr.: '&die' pc 16803 (src/builtins/Junction.pir:347)␤»
01:16 jaldhar left
pugssvn r29950 | colomon++ | [t/spec] Fudge S14-roles/basic.t (some very disturbing errors here). 01:19
01:19 jaldhar joined 01:22 wknight8111 joined 01:24 lestrrat is now known as lest_away
pugssvn r29951 | lwall++ | [S32/IO.pod] put back :s, remove :z, :T, :B, :M, :A, :C 01:42
r29951 | note that these all end up calling methods on IO, not strings
01:48 dual left
k23z__ can I get a rakudo commit bit ? 01:48
I'm wsdookadr on github
dalek kudo: 974d9a8 | (Solomon Foster)++ | t/spectest.data:
Turn on S14-roles/basic.t.
01:49
diakopter k23z__: I think they want an individual to build up a history of submitting good patches before one gets one of those 01:50
k23z__ ah ok sorry
can I write some tests for Perl6 ?
01:50 quietfanatic joined
diakopter yes :) 01:50
you can have a commitbit to pugscode 01:51
k23z__ what tests could I write and what would I need ? (I have a compiled rakudo right here)
diakopter if you don't have one already
the tests are stored in pugscode svn
re "what tests could I write", that's a difficult question 01:52
it requires a certain familiarity with the language, or a precise reading of the Synopses (the language specification) 01:53
really, both
colomon Though you don't need to read the full spec, by any means -- just find a nice corner of it.
diakopter and a knowledge of how the test suite is organized, so you can determine that the feature for which you're considering writing tests hasn't already been thoroughly covered. 01:54
k23z__ do you have guides for new devs ? 01:58
so the road is read the synopsis, the perl6 book on github -> write tests ? 02:00
diakopter depends from where you're coming, and where you think you're going. :D (what languages you've used previously; what kinds of software you expect to write)
Perl 5 experience might help; it might not. The changes/additions (from 5->6) are numerous and varied in size (small,large) enough that existing Perl knowledge might hinder, since it might be more difficult to keep the languages distinct in your mind. 02:02
that's the case for me, anyway. It seems that those who have a thorough mastery of Perl 5 have a much easier time keeping them straight than someone like me, who isn't a Perl 5 expert. 02:04
TimToady we all already know where Perl 5 ought to be different :) 02:05
course, there are still parts of Perl 6 that ought to be different (I'm looking at you IO.pod) 02:07
diakopter k23z__: msg TimToady with your desired username & email address for pugscode svn (if you don't already have an account and you want to commit to the spec/testsuite) 02:08
I seem to have forgotten my commitbit password, otherwise I would add it 02:09
02:10 wknight8111 left
TimToady do you still have a mail account at veradox? 02:11
02:14 _jaldhar joined
diakopter ohhh that's the username 02:14
02:18 jaldhar left
diakopter considers how to design an API for codegen routines that generate codegen routines 02:26
02:31 lue joined
lue oi! 02:32
02:33 lichtkind left
lue ...chirp 02:43
colomon hey all.
PerlJam greetings colomon 02:44
lue hello o/
colomon submethods.t defines two classes in a... closure? in braces.
lives_ok {
class Foo { has $.foo_build; submethod BUILD() { $!foo_build++ } }
class Bar is Foo { has $.bar_build; submethod BUILD() { $!bar_build++ } }
}, "class definitions were parsed/run/compiled";
when the tests try to use those classes, they're not there. 02:45
any clue if they should be? Or are they local to those brackets?
lue maybe because it's contained in the braces. That's my first guess :)
PerlJam classes used to be package-scoped and I think they're lexical by default now.
colomon (If I take the braces away, the next twenty tests run fine...)
PerlJam (check the spec obviously :) 02:46
02:46 szabgabx left
PerlJam oh no, they're still package scoped (or should be) 02:48
S12:109
02:50 chenfengyuan joined
diakopter std: package bar { class baz { class foo { }; say foo; }; say foo; } 02:50
p6eval std 29951: OUTPUT«Undeclared routine:␤ 'foo' used at line 1␤ok 00:01 105m␤»
02:50 chenfengyuan left
diakopter chenfengy didn't like what p6eval had to say 02:50
lue how would you tell if a number is odd or even?
02:50 szabgabx joined
m-locks even: number % 2 == 0 02:51
TimToady % or !%
colomon PerlJam: adding our doesn't even help.
diakopter TimToady: see p6eval above
(I don't know whether that's correct) 02:52
lue rakudo: say 15 % 2 == 0
p6eval rakudo 974d9a: OUTPUT«0␤»
colomon rakudo: { class Foo { method bar() { say "bar"; }; }; }; my $a = Foo.new; $a.bar
PerlJam lue: you monkey patch .odd and .even methods :)
p6eval rakudo 974d9a: OUTPUT«Could not find non-existent sub &Foo␤current instr.: '_block14' pc 29 (EVAL_1:0)␤»
TimToady rakudo: say 15 !% 2
p6eval rakudo 974d9a: OUTPUT«Confused at line 11, near "say 15 !% "␤current instr.: 'perl6;HLL;Grammar;panic' pc 500 (ext/nqp-rx/src/stage0/HLL-s0.pir:328)␤»
lue those are supposed to exist!?
TimToady alpha: say 15 !% 2 02:53
p6eval alpha 30e0ed: OUTPUT«0␤»
diakopter alpha: say 15 % 2 ?? "odd" !! "even" 02:54
TimToady class foo is visible only inside baz
p6eval alpha 30e0ed: OUTPUT«odd␤»
diakopter oh
PerlJam Hmm. .odd is actually mentioned in S04:332
lue alpha: say 15.odd
TimToady std: package bar { class baz { class foo { }; say foo; }; say baz::foo; }
p6eval alpha 30e0ed: OUTPUT«Method 'odd' not found for invocant of class 'Int'␤in Main (file src/gen_setting.pm, line 324)␤»
std 29951: OUTPUT«ok 00:01 105m␤»
PerlJam I guess I'm not the only one who channels his inner ruby programmer occasionally.
TimToady std: package bar { class baz { class foo { }; say foo; }; say bar::baz::foo; }
p6eval std 29951: OUTPUT«ok 00:01 105m␤» 02:55
diakopter std: package bar { { class foo { }; say foo; }; say foo; }
p6eval std 29951: OUTPUT«ok 00:02 105m␤»
03:02 stephenlb left 03:03 new_perl6_hacker joined
TimToady it's quite ironic that when an Olympic skier falls on the course, it's called DNF 03:04
m-locks haha
03:05 lest_away is now known as lestrrat
new_perl6_hacker How does rakudo diffrentiate between a $string = "some string" and $code = "Code inside a string" 03:05
m-locks well gotta sleep, gn y'all
colomon o/ 03:06
new_perl6_hacker @m-locks its morning here
k23z__ !tell garu test
m-locks it's 5am, about my bedtime ;P
new_perl6_hacker Good night
TimToady I have to get up at 5am to see if I'm in a panel discussion...
Tene new_perl6_hacker: rakudo does not differentiate at all. Strings are strings, and there's no type for "a string that happens to incidentally look like Perl 6 code". 03:07
m-locks yoink ->
colomon new_perl6_hacker: but if you have { } inside a double-quote string, it is executed and the result inserted into the string.
PerlJam new_perl6_hacker: what makes you think rakudo does differentiate those things?
colomon++ ah, good point 03:08
lue I was going to program a little something featured in today's XKCD comic (xkcd.com/710/), but I think programming .odd and .even first'd be more fun
(and in P6 this time)
new_perl6_hacker @PerlJam how will then find what methods I can invoke on strings and what methods I can invoke code objects
Tene lue: make sure you generate graphviz output so you can graph your results. :) 03:09
new_perl6_hacker: the same way you discover what methods you can invoke on any type.
PerlJam rakudo: "string".^methods.sy
er ...
rakudo: "string".^methods.say
p6eval rakudo 974d9a: ( no output ) 03:10
rakudo 974d9a: OUTPUT«maximum recursion depth exceeded␤current instr.: 'perl6;Seq;!fill' pc 13790 (src/builtins/Multi.pir:22)␤»
Tene rakudo: {say "hi"}.^methods.perl.say
p6eval rakudo 974d9a: OUTPUT«maximum recursion depth exceeded␤current instr.: 'perl6;Seq;!fill' pc 13790 (src/builtins/Multi.pir:22)␤»
Tene ah, looks like that's broken ATM
alpha: {say "hi"}.^methods.perl.say
p6eval alpha 30e0ed: OUTPUT«[{ ... }, { ... }]␤»
PerlJam heh
Tene anyway, it's in the class.
lue graphviz...?
PerlJam alpha: "String".^methods.say
p6eval alpha 30e0ed:
..OUTPUT«sprintfScalarComplexStrpredsuccencodeperlACCEPTSWHICHatanminacosmaxbytesevalchopsinrindextanhIntvaluesasinhacosechabsendceilingp5chompkeyskvfloorasechordcapitalizepickroundevalfileintsplitmatchacoshwordsp5choplcjoinsinhcotanacotanatan2reducesrandtrimasecreversecotanhisapolar:d:eucf…
PerlJam alpha: "String".^methods.join(" ").say 03:11
p6eval alpha 30e0ed: OUTPUT«encode succ WHICH ACCEPTS perl sprintf Scalar Complex Str pred map :d cis :e :f log sech log10 min rand max :l truncate bytes sort sin sqrt asin Int cosh :s grep asinh acosech abs end uc ceiling p5chomp samecase floor substr asech ord round flip does int split match acosh
..acosec wo…
Tene lue: graphviz.org/
lue: a simple text format for describing and rendering graphs.
03:12 athenot left
new_perl6_hacker And I will be able to execute that as &"string" or $string = "some code" ; &$string 03:12
TimToady not like that 03:13
Tene lue: upload.wikimedia.org/wikipedia/comm...0-no27.svg looks like it was generated with graphviz.
new_perl6_hacker: if you have code in a string that you want to execute, you'll need to use the 'eval' function, which invokes the compiler on the text.
TimToady you have to work harder to do symbolic lookups in Perl 6
but then there's no strict refs anymore 03:14
new_perl6_hacker Then all strings must ideally have 'eval' invokable on them 03:15
TimToady eval is never ideal :)
lue Tene: aah. I thought you were talking about P6 testing results :)
Tene new_perl6_hacker: That's completely true, in exactly the same way as "all files can have the perl6 compiler run on them" 03:16
new_perl6_hacker @tene , @TimToady thanks, got it now 03:17
lue .oO(bah. I wish I could upload whatever to wordpress.com . That'd make my life easier...)
Tene new_perl6_hacker: No problem. Was there a specific task you were trying to perform or problem you were trying to solve, or just general curiosity? 03:18
new_perl6_hacker I was looking at metaprogramming aspects
reflection basically 03:19
PerlJam alpha: my @a = "a".."z"; @a."join"(" ")."say" # :)
p6eval alpha 30e0ed: OUTPUT«a b c d e f g h i j k l m n o p q r s t u v w x y z␤»
new_perl6_hacker But the example quoted by PerlJam earlier didn't show a 'eval' method, is that in the base class of string 03:20
Tene You keep talking about classes. It's a function, not a method. 03:21
PerlJam new_perl6_hacker: What other languages are you familiar with?
new_perl6_hacker Ruby and Python
colomon Tene: I think we added an eval method a while back, too. 03:22
PerlJam I was getting a strong ruby vibe from you :)
03:22 mj41_ joined
PerlJam (either that or smalltalk or something, but those are rared) 03:22
er, rarer
03:23 mj41 left, mj41_ is now known as mj41
new_perl6_hacker I think I'm getting confused, because I'm thinking everything from OOperspective . 03:23
colomon rakudo: "say 'hello'".eval
p6eval rakudo 974d9a: OUTPUT«hello␤»
PerlJam alpha: "blah".^methods.map(*.name).sort.join(" ").say 03:24
p6eval alpha 30e0ed: OUTPUT« :d :e :f :l :s ACCEPTS Array BUILD BUILDALL CREATE Capture Complex Hash Int Iterator PARROT REJECTS Scalar Scalar Str Str WALK WHENCE WHERE WHICH WHICH abs acos acosec acosech acosh acotan acotanh asec asech asin asinh atan atan2 atanh bless bytes can capitalize ceiling chars
..cho…
PerlJam alpha: "blah".^methods.map(*.name).grep({ $_ ~~ /^e/ }).join(" ").say
p6eval alpha 30e0ed: OUTPUT«encode eval elems evalfile exp end eigenstates␤»
PerlJam there you go 03:25
Tene alpha: say "foo".^can('eval') 03:26
p6eval alpha 30e0ed: OUTPUT«eval␤»
Tene alpha: say "foo".^can('eval').WHAT
p6eval alpha 30e0ed: OUTPUT«␤»
PerlJam hmm 03:28
why did WHICH appear in the list twice?
and Scalar and Str
lue there's a WHENCE option? (001 ! 03:30
rakudo: say 4.WHENCE
p6eval rakudo 974d9a: OUTPUT«␤»
PerlJam lue: WHENCE autovivifies an object 03:31
it's a closure from whence the object cometh
lue 'tis a closure whencefrom thy object cometh. (Old English translation free of charge :D ) 03:34
new_perl6_hacker :) just got a feeling that all programs(The mail program) go into a eval function inside the compiler. 03:36
*The main program* 03:37
Tene That's right.
The compiler reads the program text into a string, invokes the compiler on it to get back a Code object, and then invokes that Code object.
new_perl6_hacker This is great, so we basically have a compiler which we can use any where inside our program. This is a killer feature :) 03:38
lue Our main goal is having the P6 interpreter run itself (be written in P6 code). 03:40
The key, IMO, is recursive definition :)
TimToady well, it was a killer feature in Perl 3 or so
colomon and in Lisp, Ruby, etc. 03:41
still, it's an awesome feature.
TimToady but usually it's an escape valve indicating a missing feature elsewhere
we treat BEGIN the same say 03:43
03:43 Sarten-X joined
PerlJam Why do we think all languages must be self-describable? 03:44
TimToady and eval, in general, opens you up to all sorts of security problems, just like SQL injection
xkcd.com/327/ 03:46
lue TimToady: love that one :) 03:48
TimToady PerlJam: we don't, just the good ones. 03:49
I blame Gödel...
PerlJam and Escher and Bach ;)
lue Don't forget Thought. That guy takes forever to figure things out. :) 03:50
.xkcd(fun with chess: xkcd.com/249/) 03:52
rakudo: say chr(0xFDD0) 03:54
p6eval rakudo 974d9a: OUTPUT«﷐␤»
lue .u �
phenny U+FFFD REPLACEMENT CHARACTER (�)
PerlJam you could do a good meta comic on photoshopping the chess board in that one
TimToady don't photoshop the chess board, just photoshop me into xkcd :) 03:55
lue WIN! (quick, somebody get Larry's head off of Yahoo Images!!!) 03:57
colomon Woah, I knew the Gathering was in process, but I didn't know someone had already taken Larry's head! 03:58
lue xkcd.com/365/ yet another conference the poor guy can't go to :)
03:59 rgrau left
lue I think XKCD ought to do a comic about Perl for once (with guest appearance by TimToady of course :) ) 04:01
colomon what do you mean "for once"? There are at least two classic comics about Perl.
I have the t-shirt for one... 04:02
PerlJam colomon: yeah, but one of them is called "lisp"
lue I honestly cannot remember if there werl Perl comics on XKCD :)
s/werl/were/
colomon xkcd.com/224/ 04:03
xkcd.com/208/
new_perl6_hacker If an exception happen inside an eval, should the main program see it? 04:04
TimToady no, it's trapped in $!
lue according to number 224, Larry has tight (if possibly indirect) connections with God (all hail!) 04:06
04:06 rv2733 left
lue .xkcd(xkcd.com/18/ we need more of these jokes) 04:07
lue will paste a bunch of xkcd comic links to pastebin instead of flooding the channel 04:09
lisppaste3 lue pasted "XKCD comic links" at paste.lisp.org/display/95996 04:21
04:22 justatheory left 04:23 mj41 left, mj41_ joined 04:24 mj41_ is now known as mj41
lue heelooo-oooh 04:42
04:44 rv2733 joined 04:45 abra joined 04:46 lestrrat is now known as lest_away
lue saluton? Hello? Bonjour? anyone? 04:56
TimToady is hiding behind a cricket 04:59
lue ah, that's where you are. 05:01
05:11 quietfanatic_ joined
new_perl6_hacker What is the maximum value of anything Inf can hold? 05:12
diakopter -Inf
TimToady how much memory do you have? 05:13
05:13 quietfanatic left
new_perl6_hacker :) 05:13
lue rakudo: say 0..3; say [0,3]; say [0,4)
diakopter sprixels along
p6eval rakudo 974d9a: OUTPUT«Confused at line 11, near "say [0,4)"␤current instr.: 'perl6;HLL;Grammar;panic' pc 500 (ext/nqp-rx/src/stage0/HLL-s0.pir:328)␤»
lue
.oO(interval notation would be interesting for the "official P6 module" (as well as set-builder, possibly))
05:14
TimToady no need
0..^4 is already there
and doesn't use up two (count 'em *two*) brackets 05:15
lue ah well, that's why I didn't say "...interesting project for implementation in Rakudo" :)
TimToady mathematicians do many unforgiveable things as far as computers are concerned, and that's one of 'em 05:16
lue rakudo: say 0..Inf
p6eval rakudo 974d9a: ( no output )
lue rakudo: say 0..^Inf
p6eval rakudo 974d9a: ( no output ) 05:17
TimToady rakudo: say (0..Inf).batch(10)
p6eval rakudo 974d9a: OUTPUT«Method 'batch' not found for invocant of class 'Range'␤current instr.: '_block14' pc 29 (EVAL_1:0)␤»
TimToady rakudo: say (0..Inf).iterator.batch(10)
p6eval rakudo 974d9a: OUTPUT«0123456789␤»
TimToady oughta do that automatically, methinks
rakudo: say (0...*).batch(10) 05:18
p6eval rakudo 974d9a: OUTPUT«0123456789␤»
TimToady that one works 05:19
lue I can't help but think about the possibility of built-in SDL/OpenGL support (thru Parrot). The upside is that it'd be a MAJOR perk over other languages.
The downside is probable bloatedness
new_perl6_hacker diakopter why does perlcabal.org/~fglock/perlito.html give an error message to say 'hello,word!'; 05:20
japhb lue: OpenGL support is just waiting on Tene to reenable the 'use OpenGL:from<parrot>;' notation (lost during the branch switch). kthakore++ is working on SDL 05:21
lue \o/ Get ready for the flood of awesome (no doubt to be recorded by XKCD ;) ) 05:22
Tene japhb: I've currently got nothing scheduled tomorrow. I'll try to fit it in then.
japhb: although I should probably also look at the pcc refactor branch.
japhb Tene, \o/
aww. I hate tuit conflicts. :-/ 05:23
lue I got a Norweigan Blue Parrot for the occasion (of OpenGL/SDL implementation) :) 05:24
japhb :-)
Tene japhb: with any luck, I'll feel conflicted and not work on either of them. :)
japhb :-P
lue Beautiful plumage, the Norweigan Blue. 05:25
japhb Just to make you feel guilty, I'm writing WebGL code in JavaScript, because I can't have my OpenGL in Perl 6.
That reminds me, I need to throw some tuits at plumage
lue Tene: if you don't work on anything parrot-related (due to conflict), then you're the pet shop owner :) 05:26
05:38 gfx joined
new_perl6_hacker Is perlcabal.org/~fglock/perlito.html the sprixel project? 05:44
TimToady no 05:46
lue goodbye, see you during the hackathon tomorrow 05:49
06:08 athenot joined 06:12 perlster joined 06:15 perlster left 06:30 quietfanatic_ left 06:33 quietfanatic joined 06:42 athenot left 07:05 arlinius left, szabgabx left 07:24 aesop left 07:38 new_perl6_hacker left 07:53 uniejo joined
uniejo All Perl6 speaks today are moved into room 4A16 07:54
07:55 aesop joined 08:06 abra left 08:07 gfx left 08:10 jonasbn joined 08:16 new_perl6_hacker joined 08:41 meppl joined 08:43 iblechbot joined 09:06 Su-Shee joined 09:17 krakan left 09:18 uniejo left 09:20 uniejo joined
k23z__ err .. 09:32
room 4A16 ?
09:33 kfo joined 09:35 arlinius joined
arnsholt k23z__: That's where we are, yes 09:35
The Copenhagen hackathon =) 09:36
Su-Shee good morning 09:37
arnsholt 'morning Su-Shee
k23z__ hmm 09:38
09:40 iblechbot left 09:45 cotto left 09:51 mberends joined
jonasbn k23z__: where are you at? 09:52
k23z__: did you make it here or do you require guidance? 09:53
mberends heehee, the Copenhagen Perl 6 Hackathon has a good turnout, about 25 people :-)
jnthnandmasakbot++ is giving what would have been moritz_++'s grammar and regex talk 09:56
Su-Shee 25 people? nice. you can do a lot with 25 people in 48 hours. 09:57
mberends Yet Another Example of JIT talk preparation
baest :) 09:58
jonasbn Su-Shee: we are not contribution right now, we are in the brainwash phase
contributing even
10:00 cotto joined, xabbu42 joined 10:04 payload joined 10:05 rv2733 left
Su-Shee well I hope you've got fun and it's a great weekend. :) 10:08
mberends :) 10:09
k23z__ jonasbn: sorry for confusing you, I am not there , I am maybe 2000km away 10:18
10:21 rv2733 joined 10:26 orafu left, orafu joined 10:30 new_perl6_hacker left, pochi left 10:32 eternaleye left 10:35 lest_away is now known as lestrrat 10:42 eternaleye joined 10:47 fridim joined 10:48 xinming_ joined 10:51 krr joined 10:52 xinming left 10:56 uniejo left
jonasbn ah 10:57
hehehe
lisppaste3 baest pasted "Patch which ensures === returns bool not int" at paste.lisp.org/display/96001
10:57 jonasbn left
baest based on github.com/rakudo/rakudo/commit/d4b...55845517e5 and github.com/rakudo/rakudo/commit/fd2...7e10487525 10:58
10:59 fod joined, fod left
mberends nom & 11:02
11:03 mberends left 11:06 Su-Shee left 11:12 z3ndrag0n joined 11:30 kidd joined 11:36 payload left 11:43 uniejo joined, cognominal left, snarkyboojum joined 11:46 fridim left 11:49 Su-Shee joined 11:51 clintongormley joined 11:56 snarkyboojum_ joined 11:57 snarkyboojum left, snarkyboojum_ is now known as snarkyboojum 11:59 krr left 12:03 masak joined
masak oh hai from Copenhagen, #perl6! 12:03
arnsholt Oh hai from the next row, masak!
12:04 quester joined, mberends joined
masak mberends: lol I can see you both on- and offline! :D 12:05
jnthn++ is on now, by the way.
giving his famous "solved in Perl 6" talk.
mberends masak: stop chattering and pay attention to the talk! 12:06
masak obliges :) 12:07
12:07 cognominal joined, payload joined 12:08 payload left
Su-Shee oO(live from the benches in copenhagen.. ;) 12:09
12:09 payload joined
arnsholt Su-Shee: Peanut gallery, more like ;) 12:09
pugssvn r29952 | mberends++ | [docs/talks/p6.imp.2010.03.odp] slides of "Perl 6 Implementations in March 2010" from the Dutch Perl Workshop and the Copenhagen Perl 6 Hackathon 5th and 6th March 2010 (OpenOffice Presentation format) 12:10
ned so jealous. 12:13
colomon o/ 12:23
12:30 wknight8111 joined
quester rakudo: augment class Int { method even { ? ( self % 2 ) } }; 42.even.say; 12:33
p6eval rakudo 974d9a: OUTPUT«Method 'even' not found for invocant of class 'Integer'␤current instr.: '_block14' pc 29 (EVAL_1:0)␤»
quester rakudo: augment class Integer { method even { ? ( self % 2 ) } }; 42.even.say;
p6eval rakudo 974d9a: OUTPUT«Can't augment something that doesn't exist␤current instr.: 'perl6;Perl6;Grammar;add_name' pc 34122 (src/gen/perl6-grammar.pir:242)␤»
quester wonders what class 42 really is... 12:34
masak my talk is online now. it's linked at the bottom of feather.perl6.nl/~masak/ 12:35
thanks to all the people on the channel who helped yesterday with the slides :) 12:36
mberends rakudo: say 42.WHAT # for quester
p6eval rakudo 974d9a: OUTPUT«Int()␤»
colomon rakudo: say PARROT(42) 12:37
p6eval rakudo 974d9a: OUTPUT«Integer␤»
colomon rakudo: say PARROT(1+41)
p6eval rakudo 974d9a: OUTPUT«Integer␤»
arnsholt Ah, there are some issues with augmenting classes that come from Parrot, no?
colomon Might be more accurate to simple say there are issues with classes that come from Parrot. 12:39
I don't know if the augmenting is bad too or just a window into the problems.
masak the latter, methinks. 12:40
quester mberends, colomon, masak: I think I've seen augments in some of the Rakudo internals. Hmm... can anyone suggest a good way of converting Integer to Int offhand? 12:41
masak quester: what you're seeing is some kind of Parrot/Rakudo discrepancy that shouldn't really be visible. 12:42
colomon rakudo: say pir::box__PI(42)
p6eval rakudo 974d9a: OUTPUT«42␤»
colomon rakudo: say PARROT( pir::box__PI(42)) 12:43
p6eval rakudo 974d9a: OUTPUT«Integer␤»
colomon blast, that doesn't help.
quester rakudo: pir::box__PI(42).perl.even.say;
p6eval rakudo 974d9a: OUTPUT«Method 'even' not found for invocant of class 'String'␤current instr.: '_block14' pc 29 (EVAL_1:0)␤»
quester ...String...? 12:44
colomon .perl returns Str
well, String maybe.
you're finding all the cracks this morning.
quester colomon: Thank you. Brain fail.
colomon and my fuddled brain isn't remembering how to work around them.
masak quester: 'String' is also a Parrot type. 12:45
quester rakudo: "42".even.say; 12:46
p6eval rakudo 974d9a: OUTPUT«Method 'even' not found for invocant of class 'Perl6Str'␤current instr.: '_block14' pc 29 (EVAL_1:0)␤»
12:46 iblechbot joined
quester masak: Isnt Perl6Str supposed to be, um... hiddien away inside of Rakudo, too? 12:47
uniejo rakudo: say (+pir::box__PI(42)).WHAT
quester s/hiddien/hidden/
p6eval rakudo 974d9a: OUTPUT«Num()␤»
masak quester: yes, I think so.
quester: sometimes error messages leak through.
colomon rakudo: say PARROT(42.Num.Int) 12:48
p6eval rakudo 974d9a: OUTPUT«Int␤»
colomon aha!
rakudo: augment class Int { method even { ? ( self % 2 ) } }; 42.Num.Int.even.say 41.Num.Int.even.saty 12:49
p6eval rakudo 974d9a: OUTPUT«Confused at line 11, near "42.Num.Int"␤current instr.: 'perl6;HLL;Grammar;panic' pc 500 (ext/nqp-rx/src/stage0/HLL-s0.pir:328)␤»
masak copypaste fail.
colomon rakudo: augment class Int { method even { ? ( self % 2 ) } }; 42.Num.Int.even.say; 41.Num.Int.even.say;
p6eval rakudo 974d9a: OUTPUT«0␤1␤»
TimToady good morning
colomon So augment works, but .even is backwards.
TimToady: o/
TimToady who's winning?
pmichaud hello, #perl6 12:50
colomon \o
masak pmichaud! \o/
TimToady hah, I beat pmichaud
quester colomon: Thank you. Err... yes, that would be another brain failure on my part, sorry...
masak pmichaud, TimToady: all the peeps here say OH HAI
you'll soon be on-screen, I expect.
pmichaud OH HAI PEEPS!
TimToady OH HAI PEEPS!!!
pmichaud (hah, I beat TimToady) 12:51
TimToady hah, beat pmichaud++ again on !!!
masak :)
jnthn oh hai
masak not on-screen yet. :)
TimToady aww
masak now!
colomon oh, no, am I going to have to behave this morning?
pmichaud OH HAI PEEPS!!!
masak *lol*
colomon o/
jnthn :-)
masak so in a sense, we're a lot more than three people who are able to answer panel questions... 12:52
TimToady but correctly, that's another matter...
masak *lol* twitter.com/Jippi/status/10071258756 12:55
12:55 jonasbn joined
jonasbn twitter.com/Jippi/status/10071258756 12:55
argh masak beat me to it 12:56
TimToady Perl 6 is trying to beat everyone to everything, more or less...
jonasbn so actually the only scary thing is the high chance of success 12:57
pmichaud I _wish_ that were the only scary thing :) 12:58
TimToady jnthn++ is always scary
jnthn ..compliment? :-) 12:59
.oO( well, at least I got karma... )
masak jnthn++ # scary!
mberends jnthn ~~ scary # True 13:00
TimToady rakudo: say "scary" but True 13:01
p6eval rakudo 974d9a: OUTPUT«No applicable candidates found to dispatch to for 'infix:<does>'␤current instr.: 'infix:<but>' pc 226837 (src/gen/core.pir:2921)␤»
TimToady alpha: say "scary" but True
p6eval alpha 30e0ed: OUTPUT«The but operator can only be used with a role or enum value on the right hand side␤in Main (file <unknown>, line <unknown>)␤»
TimToady well, at least it's a different error now...
or, maybe, it was a different error then... 13:02
colomon Ah, Bool's not an Enum yet because Enums don't actually work yet, right? 13:06
masak when I write 'our sub foo', the scope of the parameters in the signature of foo is a global scope rather than a lexical scope, yes?
TimToady uh, no
only 'foo' is aliased
masak so, how about this? 13:07
rakudo: my $a = 1; sub foo() { my $a = 2; our sub bar($x where $a) { say $x } }; bar(1); bar(2)
p6eval rakudo 974d9a: OUTPUT«1␤Constraint type check failed for parameter '$x'␤current instr.: 'bar' pc 255 (EVAL_1:102)␤»
TimToady looks like it's getting the wrong $a to me 13:09
masak submits rakudobug
TimToady ($a isn't a parameter though)
pmichaud sub foo() { my $a = 2; our sub bar($x where $a) { say $x } }; bar(2); 13:10
rakudo: sub foo() { my $a = 2; our sub bar($x where $a) { say $x } }; bar(2);
p6eval rakudo 974d9a: OUTPUT«Symbol '$a' not predeclared in bar␤current instr.: 'perl6;PCT;HLLCompiler;panic' pc 137 (compilers/pct/src/PCT/HLLCompiler.pir:101)␤»
pmichaud looks like the where clause is attached to the wrong outer scope
TimToady it does at that
13:11 Zn4rK joined 13:12 kidd left, kfo left
TimToady std: sub foo() { my $a = 2; our sub bar($x where $a) { say $x } }; bar(2); 13:12
p6eval std 29952: OUTPUT«ok 00:01 109m␤»
TimToady STD might actually be looking up $a starting inside the inner sub's scope 13:13
in fact, it has to, in case it's an earlier parameter
masak nod.
TimToady std: sub foo() { my $a = 2; our sub bar($x where $x) { say $a } }; bar(2);
p6eval std 29952: OUTPUT«ok 00:01 107m␤» 13:14
pmichaud I think that rakudo somewhat gets that right already
masak a parameter list actually introduces a lot of small nested scopes, doesn't it?
pmichaud rakudo: sub foo($a, $x where $a) { say $x; }; foo(2,2);
p6eval rakudo 974d9a: OUTPUT«2␤»
pmichaud rakudo: sub foo($a, $x where $a) { say $x; }; foo(2,3);
p6eval rakudo 974d9a: OUTPUT«Constraint type check failed for parameter '$x'␤current instr.: 'foo' pc 181 (EVAL_1:77)␤»
TimToady so it sounds like it's splitting a hair that doesn't need splitting 13:15
pmichaud it's just that the scope of the parameter block ends up with the wrong outer, I think
TimToady I don't have a parameter block, I just use the one that will end up inside {}
Zn4rK hej niklas
TimToady scared me, thought it was christmas already 13:16
frettled Now that's worrysome.
13:17 frettled sets mode: +o masak
masak jnthn++ mberends++ # you are so awesome 13:17
pmichaud agrees with masak++
TimToady *++ 13:19
masak std: *++
p6eval std 29952: OUTPUT«ok 00:01 104m␤»
TimToady rakudo: say grep *++, 1,2,3
p6eval rakudo 974d9a: OUTPUT«Cannot assign to readonly value␤current instr.: '&die' pc 16803 (src/builtins/Junction.pir:347)␤»
masak that's correct, no? 13:20
TimToady rakudo: my @foo = 1,2,3; say grep *++, @foo
p6eval rakudo 974d9a: OUTPUT«Cannot assign to readonly value␤current instr.: '&die' pc 16803 (src/builtins/Junction.pir:347)␤»
colomon wait, did that whatever just form a closure in Rakudo?
TimToady maybe not
pmichaud no, it's attempting to increment the Whatever constant :-)
TimToady rakudo: say (*++).WHAT
p6eval rakudo 974d9a: OUTPUT«Cannot assign to readonly value␤current instr.: '&die' pc 16803 (src/builtins/Junction.pir:347)␤»
pmichaud rakudo: say (*).WHAT;
TimToady I think the answer is no
p6eval rakudo 974d9a: OUTPUT«Whatever()␤»
pmichaud rakudo: say (*).succ 13:21
p6eval rakudo 974d9a: OUTPUT«!whatever_dispatch_helper␤»
colomon rakudo: say (*+1).WHAT
p6eval rakudo 974d9a: OUTPUT«Method 'Num' not found for invocant of class 'Block'␤current instr.: 'perl6;Mu;' pc -1 ((unknown file):-1)␤»
pmichaud (no, we aren't doing whatever closures just yet)
TimToady alpha: say (*++).WHAT
p6eval alpha 30e0ed: OUTPUT«Block()␤»
TimToady alpha: my @foo = 1,2,3; say grep *++, @foo
p6eval alpha 30e0ed: OUTPUT«123␤»
TimToady alpha: my @foo = 1,2,3; say grep ++*, @foo 13:22
p6eval alpha 30e0ed: OUTPUT«123␤»
TimToady alpha: my @foo = 1,2,3; say map ++*, @foo
p6eval alpha 30e0ed: OUTPUT«111␤»
TimToady er...
masak it's not forming a closure.
that's the whole explanation.
TimToady alpha: my @foo = 1,2,3; say map +*, @foo
p6eval alpha 30e0ed: OUTPUT«123␤»
TimToady well, gee, the spec generalized it to all unaries and binaries, what, a whole week ago. why isn't it done yet? esp in alpha, that had a month head start... 13:24
masak :)
std: * ?? * !! *
p6eval std 29952: OUTPUT«ok 00:01 105m␤»
TimToady but not to ternery :)
colomon TimToady: should that be all binaries excepting the Range constructors?
TimToady all ops except those that declare they will do it themselves 13:25
which Range will
colomon How do you declare that?
TimToady proto infix:<..> ($min, $max) is like(Whatever-and-stuff) {...} 13:26
where "stuff" is WhateverCode
:) 13:27
Zn4rK niklas jag tror i m􏿽xE5ste g􏿽xE5
masak Zn4rK: fel kanal?
TimToady S02:936
TimToady wonders if 'fel' is related to olde english 'fell', as in 'a fell beast' 13:29
masak checks
'fell' comes from Goth 'falljan', 'to cause to fall'. 13:30
oh wait.
that's the verb.
TimToady to cause jan to fall :) 13:31
masak the adjective comes from Old French, nominative of 'felon', wicked.
frettled masak: so that fell was a FAIL :)
pmichaud 'felon' vs. 'fallen', I wonder?
TimToady which might still be related to "fallen" if you go back
where's my AmHer...
masak Swedish 'fel' ultimately comes from French 'faute', so seemingly not related. 13:32
arnsholt Yeah, Norwegian "feil" is ultimately connected with Latin fallere
masak we also have a verb, 'att fela', meaning 'to err'. 13:33
colomon TimToady++
masak so it seems to have more to do with failure than falling.
arnsholt I think the f in falljan would have a different reflex in its Latin cognate
frettled Rewind: maybe I should've said «that was a fell fel fail»
masak frettled: :)
so, actually, Lolnglish is sort of reviving the Swedish 'fel' through its 'FAIL'. they even have the same etymological roots. 13:34
TimToady felon was "yellow" or "bile" in I-E
masak that's wicked, for sure. 13:35
jnthn Grr. :-/ So Rakudo won't build on Win 7. :-(
(segfault when loadlib-ing dynops from a PBC...)
colomon TimToady: back to the whatever closures... if I say something like $a = *+3; $b = $a+2 is that expected to leave $b with { $_ + 5 } effectively? 13:36
TimToady good question 13:37
quester Well, if you're done with the fell fel fail, I'm going to eat. I'm longing for some imitation Vietnamese noodle soup, off fo' faux pho &.
TimToady I dunno 13:38
masak quester: :)
colomon has been dreaming about math on closures for about ten months now.... ;)
TimToady 'course, 'round here people pronounce it Vietnamese, which doesn't rhyme 13:39
13:41 quester left
TimToady if we did, we'd probably have to make Whatever a kind of junctional, outside-of-any type 13:43
pmichaud well, that was the reason Rakudo originally came up with WhateverCode -- so that (*+3)+2 would still produce a code object of some sort. 13:44
TimToady but instead of autothreading, autocurry
yes, but without writing out the actual subs
13:45 iblechbot left
TimToady tries to grok * + (1|2) 13:45
masak o.O 13:46
pmichaud alpha: my $a = * + (1|2); say $a(3); 13:47
p6eval alpha 30e0ed: OUTPUT«any(4)␤»
masak hm.
pmichaud hm.
TimToady hm!
hm?
colomon huh?
pmichaud alpha: my $a = 3 + (1|2); say $a;
p6eval alpha 30e0ed: OUTPUT«any(4, 5)␤»
pmichaud well, alpha sees * + (1|2) as a junctional dispatch 13:48
so I'm not sure what ends up in $a
alpha: my $a = * + (1|2); say $a.WHAT;
p6eval alpha 30e0ed: OUTPUT«Junction()␤»
pmichaud so, $a ends up as a junction of WhateverCode, I guess. 13:49
TimToady .(3) oughta autothread over that, ya'd think
jnthn Aye, it'd auto-thread.
13:50 kfo joined
TimToady wonders whether Whatever and WhateverCode are really strange parametric junctions... 13:52
13:52 Zn4rK left
TimToady what's my brane doing all over the room in bits? 13:53
masak we're simultaneously praising and hating {*} and #= right now in Copenhagen... 13:54
TimToady #= is already dead, as far as I'm concerned
masak it's still in S05. 13:55
pmichaud yes, it doesn't get used much anymore
jonasbn that would be undead then
TimToady hmm
pmichaud we could likely de-huffmanize #= now that it's less common
masak yes, please.
pmichaud i.e., put any parameters as part of the {*} token.
s/parameters/arguments/ 13:56
pugssvn r29953 | lwall++ | [S05] kill {*} and #=
masak \o/
pmichaud oh, is {*} gone?
that may end up being... unfortunate. 13:57
although I guess one can always do a direct closure instead.
jnthn ...grr, that's a pain.
TimToady the presence of {*} almost always indicates the need to refactor
jnthn You get away with it in STD because you only care about parsing, not actually Doing Stuff. :-)
TimToady STD hasn't used {*} for months
masak TimToady: I like it when you use that kind of phrase ('$X indicates the need to refactor'). there's really no good response to it :) 13:58
jnthn We may be able to find another way...
pmichaud jnthn: we already have another way
TimToady well, we can still have an action call, but {*} #= won't be it, I suspect
jnthn pmichaud: well, yes, but I'm lazy :-)
TimToady see <O()>
oh, I had a problem with <O()> last night, thinking about default parse rules 13:59
suppose we make the body of a proto be the default
we get
proto token infix is binary is defequiv(%additive) { <sym> <O(|%additive)> }
masak 'defequiv'? 14:00
TimToady but then the O is wrong if they 'is equiv' it
that's redundant, if we put the <O>
proto token infix is binary { <sym> <O(|%additive)> }
or
proto token infix is binary is defequiv(%additive) { <sym> <O(*)> }
colomon jnthn: any luck with Hash attributes?
jnthn colomon: I need to fix Rakudo building here before I can do much :-( 14:01
TimToady but still not sure that the body of the proto is the right place for a default "is parsed"
it's a *handy* place tho
jnthn (Get a segfault)
colomon jnthn: oh noes!
masak std: ?( $*RIGHT === $*HANDY ) 14:02
14:02 new_perl6_hacker joined
p6eval std 29952: OUTPUT«ok 00:01 108m␤» 14:02
masak new_perl6_hacker: welcome back!
14:02 martinro joined
masak martinro: hey :) 14:02
TimToady s/new/newish/
new_perl6_hacker thanks, I was there this morning ...
colomon jnthn: I've been messing around a bit with the class and role tests a bit, and there are all sorts of weird little bugs...
jnthn colomon: Yes. 14:03
There's a reason a bunch of S12-foo are still commented out. :-) 14:04
colomon jnthn: but I won't bug you with them until you've got a Rakudo build again. :)
jnthn Yeah...the issue is...nasty.
OH!! 14:05
colomon The problem is you're using Windows? :) 14:06
masak colomon: how intolerant! :)
jnthn IIUC, the problem is that a realloc call is made...and the return value is ignored.
*sigh*
masak jnthn: so freed memory space is subsequently overwritten? 14:07
colomon that seems like a bad thing on any platform?
jnthn well, the point ain't updated to the new location
colomon: Yes, it is.
C writing fail.
re-compiled Parrot now...maybe it's fixed it. 14:08
jnthn crosses fingers
masak he actually crossed them, too.
colomon masak: For the record, Windows machines were my primary computers from 1995-2008. But I hated Vista so much I decided to get my first Mac...
jnthn omg, I think it helped... 14:09
14:09 new_perl6_hacker left
jnthn colomon: I just stuck with XP. :-) 14:09
(Until Win7 arrived)
masak colomon: Software sucks.
arnsholt jnthn: I knocked on wood earlier today. It triggered my segfault again =) 14:10
14:10 Patterner left
TimToady my problem on the proto body is that we also currently write the <infix> dispatch using the same name, so we'd essentially be ignoring the given body and substituting the dispatcher, and only using the proto body for the generic 'is parsed' 14:10
jnthn OK, I have a patch that fixes my build. I can haz a productive again. 14:11
colomon \o/
TimToady jnthn++ has a fail fail
14:12 Psyche^ joined
masak no, a fail fail isn't the same thing as fixing something. 14:12
14:12 Psyche^ is now known as Patterner
TimToady does that make it a fail fail fail? 14:12
masak the fail had a fail, possibly.
jnthn Well, it does now fail to fail.
masak How much fail would a fail fail fail, if a fail fail could fail fail? 14:13
TimToady cheezburgerz
speaking of which, the sky is starting to get light here 14:14
m-locks we needs a LOL version of perl, like that lolpython
masak didn't quietfanatic do an NCI in Perl 6 at one point?
TimToady: not much of a panel going on here, I'm afraid. 14:15
TimToady yeah, I saw they took the slot for something else
masak mostly a kind of newbie tutorial.
pmichaud (newbie tutorial) +1
TimToady ISFINE
pmichaud that was what I had been planning for my slot anyway
masak right now jnthn++ and mberends++ are doing the best to scare the newbies away by explaining their scary/awesome NCI code. :) 14:16
m-locks heh
TimToady was planning to spend the weekend several TZ to the east of here anyway, so as not to miss all the hackathon
pmichaud same here
(still planning to do that)
TimToady luv 2 scare dey little newbies way 14:17
m-locks i've been translating those tutorials moritz__ and lichtkind have written, at least i can read them quite easily
colomon I ended up with a very busy day scheduled for tomorrow, alas -- playing music for two church services in the morning, GMing in the afternoon.
TimToady yes, well, I can read Russian till the time comes to understand it 14:18
jnthn It wasn't scary, it was just beautifully terrifying.
arnsholt That NCI stuff was very, very cool
14:19 new_perl6_hacker joined
TimToady I'm only playing for one, but I play twice as loud, since I'm the drummer. 14:19
pmichaud Much of Perl 6 is beautifully terrifying. See also "Camelia".
arnsholt Hehe
new_perl6_hacker perlcabal.org/syn/S17.html will there be support for event like activities on files and sockets etc
TimToady I'd be terrified if I met a butterfly with a 3 meter wingspan...
or was it 5? 14:20
pmichaud 3, last I heard.
masak TimToady: 5 feet, perhaps?
TimToady mebbe she grew
she's young, after all
colomon TimToady: I was asked to play a drum (bodhran) for this as well, and had to point out that I don't own one and don't know how to play it, either. :)
jnthn Parrot r44705 fixes a nasty Rakudo-build segfault. 14:21
But doesn't seem to hit many people.
(You usually luck out.)
TimToady colomon: just play it like a conga
colomon jnthn: should we bump parrot in rakudo, then?
jnthn colomon: Can do, or can wait for the next reason to bump. 14:22
Doesn't see to hit anyone else.
14:22 PacoLinux left
colomon TimToady: I can't really properly play conga, either. Though I did pretend to play quad toms in high school. 14:22
jnthn Also I didn't check that no other Parrot changes cause breakage.
masak jnthn: s/Thought/Thou/. otherwise, nice message :)
hm. s/Though/Thou/, I mean.
jnthn oh crap
I'm tired! :-)
colomon I can try bumping parrot here, mostly just watching the boy on a Saturday morning.
new_perl6_hacker perlcabal.org/syn/S17.html will there be support for event like activities on files and sockets etc???? 14:23
TimToady my boy don't take much watchin' anymore
he'll proably sleep the night through, and then some...
b
baest rakudo: use Test; my @a = 2,3; is(@a, (3, 2)) 14:24
p6eval rakudo 974d9a: OUTPUT«not ok 1 - ␤# got: [2, 3]␤# expected: (3, 2)␤»
baest rakudo: use Test; my @a = 2,3; is(@a, (2, 3))
p6eval rakudo 974d9a: OUTPUT«not ok 1 - ␤# got: [2, 3]␤# expected: (2, 3)␤»
colomon uh, that's weird
14:24 borup joined
colomon Parrot revision r44705 required (currently r44371) 14:24
To automatically checkout (svn) and build a copy of parrot r44705,
try re-running Configure.pl with the '--gen-parrot' option.
Or, use the '--parrot-config' option to explicitly specify
the location of parrot_config to be used to build Rakudo Perl.
baest yeah, I thought so :)
TimToady rakudo: use Test; my @a = 2,3; is(@a, [2,3]) 14:25
p6eval rakudo 974d9a: OUTPUT«ok 1 - ␤»
14:25 jferrero joined
colomon that's what I get when I run perl Configure.pl --gen-parrot 14:25
baest TimToady: yes, I guessed that, but I've seen several test in spectest which does the is(@a, (2,3) style 14:26
masak baest: it's the difference between a Seq and an Array, I think.
TimToady probably from back when lists promoted to arrays
baest ok, so that should be change in the tests, right? 14:27
TimToady yeah, unless we change our minds again :)
masak lists don't promote to arrays?
pmichaud all of the list/array/iterator/seq stuff is "up in the air" at the moment, I think. 14:28
well, not *all*, but a lot.
masak happy juggling.
pmichaud at the moment, parcels promote to Seq
(in item conetxt)
jnthn colomon: Got example to hand of the has %.foo issue?
TimToady S03:3105
grr
pmichaud my $a = (1,2,3); say $a.WHAT;
TimToady S02:3105
pmichaud rakudo: my $a = (1,2,3); say $a.WHAT;
TimToady sb Seq
p6eval rakudo 974d9a: OUTPUT«Seq()␤»
colomon rakudo: class A { has %.foo; }; my $a = A.new; 14:29
p6eval rakudo 974d9a: ( no output )
pmichaud rakudo: my $a = (1,2..5,3); say $a.WHAT;
p6eval rakudo 974d9a: OUTPUT«Seq()␤»
colomon rakudo: class A { has %.foo; }; my $a = A.new; say $a.foo.WHAT
p6eval rakudo 974d9a: OUTPUT«Method 'WHAT' not found for invocant of class 'Hash'␤current instr.: '_block14' pc 29 (EVAL_1:0)␤»
colomon jnthn: there you go
pmichaud I think likely a BUILD issue
TimToady WHAT!
jnthn > class A { has %.foo; }; my $a = A.new; say $a.foo.WHAT
Hash() 14:30
Fixed...spectesting.
masak jnthn++
jnthn is back in the saddle!
TimToady no, that one is ++jnthn
masak :)
colomon ye-haw!
TimToady now fix the rest of 'em before we ask :P
masak hasn't gotten into the habit of giving prefix karma yet
when's --ircnick applicable? 14:31
jnthn When I made the silly bug in the first place. :-)
masak jnthn: no, it must be before something.
TimToady I think it has to be a spec error 14:32
masak making a silly bug in the first place merits a jnthn--
jnthn :-P
I'll try and be more perfect.
I blame my lapse on insufficient pivo.
masak there is no 'try'... and no 'more perfect' either :P 14:33
TimToady --gen-parrot
masak :)
jnthn rakudo: try { more perfect }; say "see?"
p6eval rakudo 974d9a: OUTPUT«see?␤»
masak ++jnth :)
*jnthn
TimToady um
std: try { more perfect }; say "see?" 14:34
p6eval std 29953: OUTPUT«Undeclared routines:␤ 'more' used at line 1␤ 'perfect' used at line 1␤ok 00:01 107m␤»
jnthn Yeah, we don't warn yet on undefined routines.
masak I won't report that.
jnthn ...becuase you already did last week? :-)
masak quite possibly. 14:35
jnthn :-P
masak I don't know anymore! the RT is too big!
TimToady well, now, whose fault is that?
masak when I said I'd deluge you with tickets, I expected you all to frigth back!
pmichaud 14:31 <jnthn> When I made the silly bug in the first place. :-)
masak: I did close a few tickets last week :) 14:36
masak ++pmichaud
TimToady is trying to figure out how to frigth
masak hm, I guess that's for future ticket closing.
TimToady: it's related to how babby is formed.
TimToady oh, okay
pmichaud anyway, I'm hoping we can close some tickets over the next couple of hackathon days :)
jnthn I'm truly sorry for your lots 14:37
masak jnthn: 'truely' :)
TimToady chroolie
jnthn ...ok, now I don't know which is the lol spelling and which is the English.
masak who does? :)
jnthn Ceiling cat.
baest rakudo: my @a; say @a.list
p6eval rakudo 974d9a: OUTPUT«Null PMC access in elements()␤current instr.: 'perl6;SeqIter;get' pc 13979 (src/builtins/Routine.pir:113)␤»
masak submits rakudobug 14:38
jnthn oh no, not that bug.
TimToady gives jnthn++ another no so he can have noes
masak *lolland*
14:39 jonasbn left
jnthn colomon: yay, patch works 14:39
I gotta go finish moving house now...will push, maybe you can enable some spectests.
masak rakudo: my @a = 1, 2, 3; say @a.list
p6eval rakudo 974d9a: OUTPUT«123␤»
colomon I'm spectesting the new parrot now... but I had to blow away my parrot directory to get --gen-parrot to work with it!
masak rakudo: my @a = 1; shift @a; say @a.list
p6eval rakudo 974d9a: OUTPUT«␤»
colomon jnthn++ 14:40
mberends travel Copenhagen -> Lund -> Copenhagen &
14:40 TimToady sets mode: +vv buubot dalek, TimToady sets mode: +vv ilogger2 IRSeekBot, TimToady sets mode: +vvv lisppaste3 p6eval phenny
pmichaud .list is still suspect-ish 14:40
14:40 mberends left
colomon Does it work? Should it exist? What should it do? ;) 14:40
pmichaud exist, yes.
it basically returns the "list" form of the invocant 14:41
its exact specification and implementation need some rethinking
I'm likely to work on that today.
colomon pmichaud++
pmichaud (unless other events here overtake me again, as they did yesterday)
jnthn pushed
gone
o/
masak o/ 14:42
14:42 masak left
colomon \o 14:42
TimToady o\
dalek kudo: 8505d39 | Worthington@.(none)++ | src/builtins/Mu.pir:
Fix has %.noms.
14:43
14:44 IllvilJa left, robertml joined 14:45 new_perl6_hacker left
colomon Nice author name there... 14:46
pugssvn r29954 | baest++ | Put list inside [] to do array comparison 14:47
r29955 | baest++ | Put list inside [] to do array comparison, fix error in test which was chop readonly string and fudge an empty array test 14:48
14:53 martinro left
baest colomon: do you remember yesterday, your change regarding returning Bool in ===, I've noticed that you didn't update Num. Also there was a minor thing with the syntax, so here's a patch if you want it: paste.lisp.org/display/96001 14:55
colomon baest: fixing it for the other types as well? 14:57
baest colomon: yes, I only found it for str, int and num
colomon rakudo
rakudo: say 4 === 5 14:58
p6eval rakudo 974d9a: OUTPUT«0␤»
colomon rakudo: say (4 === 5).WHAT
p6eval rakudo 974d9a: OUTPUT«Bool()␤»
14:58 IllvilJa joined
baest rakudo: say (4.0 === 5.0).WHAT 14:59
p6eval rakudo 974d9a: OUTPUT«Bool()␤»
baest weird
colomon give me a minute here, and I'll see what I can do.
14:59 PacoLinux joined
dalek kudo: 43f5a52 | (Solomon Foster)++ | build/PARROT_REVISION:
Bump parrot.
15:00
baest colomon: of course, the other part is '&prefix:?' instead of 'prefix:?' which I could see in Str that was the preferred version
colomon I don't know the status of the leading &, but it definitely needs to be prefix:<?> now, I think... 15:01
pmichaud any instances of 'prefix:?' are wrong and should be removed asap. 15:02
baest colomon: I'm not sure, but I just figured the other way around because of: github.com/rakudo/rakudo/commit/fd2...7e10487525
colomon Indeed.
hmmmm.... 15:03
pmichaud if you want to call the prefix:<?> function from PIR, it's "&prefix:<?>"
anything else is likely bogus.
(same for other operators -- ampersands and angles are required)
colomon is trying to get the === test file up and running again... 15:05
rakudo: say 1 !=== 4 15:06
p6eval rakudo 974d9a: OUTPUT«Confused at line 11, near "say 1 !==="␤current instr.: 'perl6;HLL;Grammar;panic' pc 500 (ext/nqp-rx/src/stage0/HLL-s0.pir:328)␤»
baest general question. If i have a minor patch should a post to a pastebot, push it to a clone on github or some other way
colomon pmichaud: any reason !=== can't just be not === ?
pmichaud that works for now; normally !op is meta
TimToady that's what the metaop is supposed to do
colomon !!!! 15:07
I didn't realize ! was a meta op
pmichaud it is.
we haven't implemented that in rakudo yet
so in the meantime we've just created them explicitly as we need them
colomon permission to do that in this case? 15:08
pmichaud sure, that's fine.
TimToady S03:3927
colomon thinks ! sounds like meta op LHF....
pmichaud it shouldn't be too bad; we already have the op= metaops. 15:09
15:09 martinro joined
TimToady rakudo: say 1,2 X 3,4 15:11
p6eval rakudo 974d9a: OUTPUT«Confused at line 11, near "say 1,2 X "␤current instr.: 'perl6;HLL;Grammar;panic' pc 500 (ext/nqp-rx/src/stage0/HLL-s0.pir:328)␤»
TimToady rakudo: say 1,2 Z 3,4 15:12
p6eval rakudo 974d9a: OUTPUT«1324␤»
TimToady odd that X isn't there but Z is
rakudo: say 1,2 X+ 3,4 15:13
p6eval rakudo 974d9a: OUTPUT«Confused at line 11, near "say 1,2 X+"␤current instr.: 'perl6;HLL;Grammar;panic' pc 500 (ext/nqp-rx/src/stage0/HLL-s0.pir:328)␤»
colomon TimToady: my fault, I guess.
I wanted Z, so I made it happen.
TimToady what, for implementing Z
:
:)
colomon :)
15:13 krr joined
colomon okay, I've got !=== working here, which makes S03-operators/value_equivalence.t run, but it still has a 3 fails. 15:15
=== doesn't work on array references right now. (err, test says array, actually is probably a Parcel? 15:16
)
my @a = (1,2,3);
no, I guess that's an Array.
arnsholt What's the procedure for bringing back test files? 15:17
I've found a file that can be brought back, as long as a couple of tests are marked TODO
colomon mark 'em todo and bring 'em back!
pmichaud ...array reference?
arnsholt colomon: Righties 15:18
colomon my @a = (1,2,3);
my @b = (1,2,3);
ok (\@a === \@a), "=== on array references (1)";
ok (\@b === \@b), "=== on array references (2)";
both those fail
pmichaud the correct term is now "capture"
(I think)
colomon arnsholt: todo tests which are running are much more valuable than tests that aren't running. 15:19
15:19 m--locks joined
arnsholt Indeed. The correct procedure is putting "#?rakudo todo" above the ok/is call, no? 15:20
colomon with a reason, if possible
#?rakudo todo 'scalar reference equivalence'
arnsholt Yeah, pondering that now
colomon for instance.
15:21 martinro left
pugssvn r29956 | colomon++ | [t/spec] Fudge value_equivalence.t. 15:21
baest colomon: ok, and after a patch is created what is the best way to post it? I have 2 files ready for bringing back along with a minor change 15:22
arnsholt Do I have to call make spectests to do the fuding of the spectests?
colomon patch to the tests or patch to rakudo itself?
baest colomon: rakudo, I committed the test before 15:23
tests
colomon pmichaud: what is the preferred way of receiving Rakudo patches?
pmichaud rt
colomon you can send them to rakudobugs....
that is, rt.
baest pmichaud, colomon: thanks
:)
will do 15:24
pmichaud afaik, wiki.github.com/rakudo/rakudo/steps...te-a-patch is still valid.
(if not, it needs to be updated)
steps 4-6, anyway. 15:25
steps 1-3 aren't required
actually, just 4 and 6
baest pmichaud: sorry, I forgot about that page 15:26
pmichaud the main item is that we'd like commits to be squashed (easier to review), and that it go to RT so it can be tracked.
avar Why are you recommending that commits be squashed instead of people working on topic branches? Then you can just review the branch as is without destroying commit information 15:30
People can also just send in "please review x..y" 15:31
pmichaud reviewing a branch is hard
avar why? you just diff / log from where the branch diverged to where its head is at now
pmichaud I have to pull the branch
then do the diff 15:32
also, I'm not sure that the individual commits are that important
at any rate, this is the process we're using for now and I'm not in a rush to try to learn a new one until after April
also, with "please review x..y", there's no record of the patch should it be not applied (and the github account and/or branch disappears) 15:34
dalek kudo: ab3f44b | (Solomon Foster)++ | src/ (2 files):
Quick implementation of !===. (Should be a meta op, but this will work for now.)
kudo: 7882db4 | (Solomon Foster)++ | t/spectest.data:
Turn on S03-operators/value_equivalence.t.
pugssvn r29957 | colomon++ | [t/spec] Defudge passing tests. 15:35
15:35 Psyche^ joined 15:37 Patterner left, Psyche^ is now known as Patterner, martinro joined
baest hmm git format-patch doesn't do anything.... 15:39
colomon should have made a file
you might need to tell it what commits go into the patch, though.
arnsholt Hmm. Does Test.pm in the new master have todo?
pmichaud I'm pretty sure it does/must. 15:40
arnsholt Then I'm doing something wrong
baest colomon: yes, git format-patch -M 054b1b6d602c823b318f81e473f6fde5f12becf6 does nothing even though I can see the commit with git log 15:41
15:41 jferrero left
arnsholt nm. Think I found it 15:41
colomon baest: last time I did it, I used git format-patch -1
15:41 m--locks left
baest colomon: wheee, success, thanks! 15:42
pmichaud afk for a bit
15:43 m6locks joined, simcop2387 left
arnsholt I had no reason in the todo fudge, which resulted ins a no-arg call to todo 15:44
Which isn't allowed, apparently
15:46 payload left
pugssvn r29958 | arnsholt++ | [t/spec] Fudged two tests in S06-traits/is-rw.t 15:46
arnsholt There. Now someone with the privs can bring S06-traits/is-rw.t back in spectest.data 15:47
colomon arnsholt: give me a min...
pugssvn r29959 | colomon++ | [t/spec] Add a bunch of tests to make sure === and !=== return Bool. 15:49
15:49 synth left
dalek kudo: 28f5203 | (Solomon Foster)++ | t/spectest.data:
Turn on S06-traits/is-rw.t. arnsholt++.
15:52
cognominal Performing 'gmake realclean' ... 15:57
Makefile:3660: compilers/imcc/Rules.mak: No such file or directory
gmake: *** No rule to make target `compilers/imcc/Rules.mak'. Stop.
...on Snow Leopard
when running perl Configure.pl --gen-parrot on a fresh rakduo
15:58 jferrero joined
pugssvn r29960 | colomon++ | [t/spec] === tests on Rat and Num. 15:58
colomon cognominal: is that latest?
and fresh fresh? I got that something like that when I tried updating, but when I blew away the parrot directory --gen-parrot worked fine for me. 15:59
cognominal ok, will do a rm --rf rakudo/parrot
arnsholt Is there any particular reason why there are two files named pi.t? 16:01
They do almost the same thing, too 16:02
colomon arnsholt: no idea.
colomon is startled to see that there already was a !=== implementation, which couldn't possibly have been running thanks to the lack of !=== in the grammar.... 16:05
cognominal thx colomon 16:12
it works
colomon \o/ 16:13
16:14 payload joined 16:17 payload1 joined 16:24 xabbu42 left, snarkyboojum_ joined
pugssvn r29961 | colomon++ | [t/spec] Unfudge test that now works. 16:25
dalek kudo: ba6cd4e | (Solomon Foster)++ | src/builtins/ (2 files):
Change === on Num to return Bool, and clean up === on Int. baest++
16:26
16:26 simcop2387 joined, snarkyboojum left, snarkyboojum_ is now known as snarkyboojum 16:27 wknight8111 left 16:29 jmarti joined, Trashlord left 16:32 krr left
m6locks oh, i didn't know linus torvalds created git 16:41
nice
TimToady we all have our faults 16:42
16:44 simcop2387 left
m6locks ...but it's not compiling on that shell box :( 16:45
16:47 abra joined 16:48 simcop2387 joined 16:50 justatheory joined
arnsholt S02-literals/quoting-unicode.t can be brought back without changes 16:54
quietfanatic phenny: tell masak It wasn't so much of an NCI as a wrapper around Parrot's NCI, combined with a C parser that figured out the hard stuff for you.
phenny quietfanatic: I'll pass that on when masak is around.
16:55 abra left 16:56 Trashlord joined
quietfanatic phenny: tell masak Except that the parser wasn't very good and there weren't any better ones I could use. 16:56
phenny quietfanatic: I'll pass that on when masak is around.
arnsholt rakudo: my $a = 3; say "$a".WHAT; 16:57
p6eval rakudo ba6cd4: OUTPUT«Int()␤»
arnsholt Known issue or new?
lue oh hello there 17:04
Trashlord hi 17:05
quietfanatic alpha: Q:PIR{$P0 = loadlib '/usr/lib/libcrypt.so'␤$P1 = dlfunc $P0, 'crypt', 'ttt'␤set_hll_global ['Link';'C';'NCI'], '$crypt', $P1}; &C::crypt = sub ($p1, $p2) {$Link::C::NCI::crypt($p1, $p2)}; say C::crypt('Password', '$1$Salt');
p6eval alpha 30e0ed: OUTPUT«$1$Salt$3By6sIxwjQONPKbAQWYfQ1␤»
17:05 simcop2387 left
lue .hack(And our total this hour is.... $3000000 worth of bug fixes!) 17:06
pugssvn r29962 | arnsholt++ | [t/spec] Fudged a test in S02-literals/string-interpolation.t 17:09
arnsholt S02-literals/string-interpolation can be brought back as well now 17:10
colomon arnsholt++
arnsholt I'm digging to see if I can find out why the failing test fails, but it'll probably take a while to figure out 17:11
TimToady rakudo: my $a = 3; say (~$a).WHAT
p6eval rakudo ba6cd4: OUTPUT«Str()␤»
arnsholt Funky 17:12
TimToady interestingly, had the same bug in Perl 5 once upon a time
you implement interpolation with infix:<~>, but forget the degenerate case
colomon arnsholt: running spectest with those files turned on, will push as soon as it passes. :)
arnsholt Spiffy
TimToady er, not Perl 5, Perl 1 or so... :) 17:13
lue I am going to be in a whirlwind of coding, I can tell.
17:13 simcop2387 joined
lue And I'm ready, with multiple-tabbed Konsole, Kate, Konversation... and Firefox. 17:13
TimToady um, are any of those coding tools? 17:14
lue not specifically designed for it, but it's all I need for the hackathon :)
I have The Guide in one tab of Firefox, and I know where my towel is. I'm ready! 17:15
TimToady depending on your location, the main thing you need for this hackathon might be an alarm clock :)
uniejo Just make it a location aware alarm clock. F.ex. phone with gps. 17:17
lue I don't need an alarm clock (and a location aware one'd be useless). I'm currently in the publishing corporations of Ursa Minor Beta :) 17:18
(ANFSCD) I'm assuming .even and .odd are actual methods for numbers (it makes an appearance in the spec after all) 17:21
baest rakudo: [4, 3, 1].grep(* > 2); 17:22
p6eval rakudo ba6cd4: OUTPUT«Method 'Num' not found for invocant of class 'Block'␤current instr.: 'perl6;Mu;' pc -1 ((unknown file):-1)␤»
baest is that the correct syntax for it, though?
colomon baest: I think yes, but * > 2 is NYI. 17:23
dalek kudo: c054780 | (Solomon Foster)++ | t/spectest.data:
Turn on S02-literals/string-interpolation.t and S02-literals/quoting-unicode.t. arnsholt++
baest colomon: ok, so no rakudobug for this?
colomon baest: it's a well-known issue. 17:24
TimToady lue: there are no .even/.odd methods
colomon rakudo: [4, 3, 1].grep({ $_ > 2 }).perl.say
p6eval rakudo ba6cd4: OUTPUT«GatherIterator.new()␤»
colomon rakudo: [4, 3, 1].grep({ $_ > 2 }).batch(10).perl.say
p6eval rakudo ba6cd4: OUTPUT«(4, 3)␤»
TimToady there are already lots of ways to spell even and odd in Perl
lue aw. I was hoping almost (then why is it in a code example in the spec?)
TimToady $x % 2, $x +& 1 17:25
rakudo: say 3 % 2, 3 +& 1
p6eval rakudo ba6cd4: OUTPUT«11␤»
TimToady there's two different odd functions 17:26
colomon wasn't there also ?% or something?
TimToady !% 2 is even
rakudo: 3 !% 2
p6eval rakudo ba6cd4: OUTPUT«Confused at line 11, near "3 !% 2"␤current instr.: 'perl6;HLL;Grammar;panic' pc 500 (ext/nqp-rx/src/stage0/HLL-s0.pir:328)␤»
TimToady but nyri 17:27
alpha 3 !% 2
alpha: 3 !% 2
p6eval alpha 30e0ed: ( no output )
TimToady alpha: say 3 !% 2
p6eval alpha 30e0ed: OUTPUT«0␤»
lue alpha: say 4 !% 2 17:28
p6eval alpha 30e0ed: OUTPUT«1␤»
17:29 jagd joined
lue ah, so 1 if even, 0 if odd? 17:29
TimToady !% means "is not indivisibly by"
s/y/e/
17:29 martinro left
lue alpha: say 5 !% 3; say 6 !% 3; 17:29
TimToady or "does not have a remainder"
p6eval alpha 30e0ed: OUTPUT«0␤1␤»
17:30 dual joined
betterworld I'd say !% means "*is* divisible by" ;) 17:30
TimToady it means "is divisible by!"
lue that seems easy to program in (away!) 17:31
betterworld oh, I did not see the "in" ;)
colomon lue: the tricky bit is that all the !op operators are supposed to be generated automatically. 17:33
TimToady not exactly
it's a higher-order function
colomon "generated automatically when needed" ? ;)
TimToady so they don't need to be generated, just composed with 'not'
likewise (we hope) for all the other metaops 17:34
we can't generate XRS[!%]= in advance
(and we might add a Z for zipwith)
colomon TimToady: don't show XRS[!%]= to the doubting Thomases, or we will be universally reviled... 17:36
TimToady so anyway, the code emitter just has to turn the base op into &infix:<op> or whatever, and then pass it to the right higher-order function (reduce, zip, not, whatever)
colomon TimToady: though if it were that easy, I'd already have done it for a bunch of those.... :)
lue wants to work on something :/ 17:38
TimToady put STD's metaop parsing into rakudo
(just kidding...kinda)
lue metaops do not exist at all then :) 17:39
TimToady alpha: say 3 R/ 30 17:40
p6eval alpha 30e0ed: OUTPUT«10␤»
TimToady R/ is pronounced "goes into" :)
lue any value to metaops, and do they exist in other languages? I have never had to use them, obviously :) 17:41
colomon pmichaud implied I ought to be about to handle !op...
lue: metaops are a huge slice of awesome. 17:43
lue I have never heard of them in any other language, which is why I don't know. :)
colomon Well, the most widely spread one we have is op=
17:44 nihiliad joined
colomon That's in most C-family languages. 17:44
lue what's the most `omniscient' kind of operator?
colomon I'll leave that to the theologians. 17:45
17:47 uniejo left
lue .hack(how many people at Copenhagen now?) 17:47
colomon TimToady: any hints on how to find the op= rule in STD.pm? 17:48
TimToady: never mind!
errr... maybe?
TimToady it's handled specially in STD, actually, at the end of infixish 17:49
line 3172 or so
colomon danke!
TimToady but it's the only one that is handled after the fact 17:50
colomon do you call it infix_postfix_meta_operator like Rakudo does? (sorry, refreshing pugs directory tree takes a long time...)
TimToady for the others, see things like token infix_prefix_meta_operator:sym<!> {
lue
.oO(o hell, firefox froze on perlcabal again :( )
17:51
colomon lue: use chrome for perlcabal. seriously
TimToady i've never had trouble with ff on perlcabal, fyi...
memory issue?
17:52 uniejo joined
lue colomon:Well, I want to use chrome, but unsure of it being available in the Fedora/PPC repos 17:52
colomon TimToady: I don't know, but I was seeing it as well when I used Firefox for getting the synopses. Loading pages could take half a minute, and freeze all of Firefox in the process. uuuuugly.
lue TimToady: PPC G3 Pismo (less that 1GHz if I remember), 384 MiB RAM (twice that swap space)
I know it must be an issue with all the iframes and my memory though :) 17:53
TimToady reminds himself that the Cray-1 ran at only .1 GHz
17:54 masakmoritzmbere joined
lue point one Giga-Hertz! wow. 17:54
masakmoritzmbere this is the masak-moritz-mberends mechbot, stopping by.
TimToady hibot!
lue masakmoritzmberends --masak="awaken" 17:55
masakmoritzmbere lue: I am awake, all three of us.
arnsholt masakmoritzmbere: Oh hai
Were you guys heading out for dinner at some point?
masakmoritzmbere arnsholt: mberendsbot and masakbot just found moritz, and we immediately joined together into a grander structural unit.
arnsholt: yes. spicy food. 17:56
moritz__ re
TimToady couldn't you just be m*bot or some such
17:56 masakmoritzmbere is now known as masakmberends
moritz__ shouldn't it be m.*bot? :-) 17:56
masakmberends oh, moritz__ fell off.
colomon (spicy food)++
masakmberends arnsholt: anyway, you're welcome to be assimilated, and we'll create a spicyfood-eating mechbot of five. 17:57
17:57 jmarti left
lue colomon: unless you can point me to Chrome for Linux/PPC that I don't have to compile, I'm staying with firefox :) 17:58
arnsholt masakmberends: Spicy food sounds excellent. When and where?
masakmberends arnsholt: dunno yet.
somewhere spicy. possibly Indian.
pugssvn r29963 | moritz++ | [t/spec] unfudges for rakudo
r29964 | moritz++ | [t/spec] re-fudge quoting.t for rakudo
r29965 | moritz++ | [t/deprecated-syntax.pod] undef is gone
masakmberends would be a definite plus if it's within the Copenhagen area.
pugssvn r29966 | moritz++ | [t/spec] enhance precedence.t, and fudge for rakudo 17:59
TimToady oh, I was going to suggest one here
colomon moritz++ # yow!
moritz__ colomon: 10 hours worth of train travel :-)
colomon and git svn, eh?
borup masakmberends: there arent that many indian places in copehagen 18:00
uniejo commits to food ;-)
lue colomon: don't recommend what I'll never be able to use :D
masakmberends borup: any suggestions for other spicy/good food?
18:00 wolf2k_ubuntu joined
borup masakmberends: would japanese work 18:00
dalek ok: 41c5229 | moritz++ | src/regexes.pod:
[regex] minor grammar fix
18:01
ok: bd06566 | moritz++ | src/operators.pod:
New chapter on operators (work in progress)
ok: bf30c2b | moritz++ | docs/announce/2010-03:
[docs] stub announce for 2010-03 release
ok: 3e7d952 | moritz++ | src/regexes.pod:
[regex] impmrove description of rindex(); also comment on the editorial note by chromatic++
masakmberends borup: for the masak part of the mechbot, it would, yes.
colomon Clearly moritz__ needs to take more 10 hour train trips...
lue o noes the flood again!!
18:02 Grimnir_ joined
Grimnir_ OH HAI 18:02
TimToady OH HAI OH
lue OHIO
masakmberends E I E I O
18:02 moritz__ is now known as moritz_
borup masakmberends: uniejo suggests wagamama 18:02
TimToady OH HAI OH GOES EYE MOOSE
borup masakmberends: very close to the main station
masakmberends borup: the whole bot agrees: Japanese is a fine choice.
borup: excellent. 18:03
18:03 wknight8111 joined
lue nihongo? excellent choice 18:03
(to lazy to fiddle with char map/input method)
uniejo www.wagamama.dk/locations/map
dalek kudo: 14a83eb | moritz++ | t/spectest.data:
more passing test files
TimToady cut and paste this: 日本語
Grimnir_ you gotta love utf8-able terminals 18:04
TimToady well, really, にほんの食べ物
lue (must message Fedora to support UTF8 in their tty's... note to self)
jnthn masakmberends: oh hai...where is located the bot? :-)
jnthn did find his room :-)
lue jnthn! o/
Grimnir_ I was at a few perl 6 speaks today. it looks like a very interesting language
masakmberends jnthn: room 420.
jnthn aww...Japanese, not Indian? :-/ 18:05
OK, coming :-)
Grimnir_ what are the possibilites for parallel computing and the like? what can perl6 do?
k23z__ wow, do you guys all day go to workshops and stuff like that ?
I'm at home, I even took a nap
18:05 masakmberends is now known as masak
lue And flood the IRC with short messages 18:05
k23z__ lue: me ?
lue and masak is back in full glory!
masak \o/
phenny masak: 16:54Z <quietfanatic> tell masak It wasn't so much of an NCI as a wrapper around Parrot's NCI, combined with a C parser that figured out the hard stuff for you.
masak: 16:56Z <quietfanatic> tell masak Except that the parser wasn't very good and there weren't any better ones I could use.
TimToady Grimnir_: mostly just made sure that it's easy to express various sorts of parallelism naturally, and then let the computer figure it out
masak jnthn: oh, so your room existed in the territory but not on the map? 18:06
moritz_ Grimnir_: I think not much is implemented, but there are lots of possibilities; threads, events, object pipes, hyper operators and so on
18:06 masak left
TimToady various constructs make various promises about not-caring about interactions 18:06
Grimnir_ TimToady: what does that mean? the code has to let the computer figure out
lue k23z: _we_ flood the irc with messages (I'm not there physically, but in spirit)
moritz_ k23z__: I spent 10.5hrs on the train today to get to the workshop
TimToady hyperops are basically vector ops
feed operators are pipes
Grimnir_ I would suggest to do a CSP-implementation or very similar in perl6. that would be awesome
TimToady junctional logic can be evaluated in any order
18:06 masak joined
lue .hack(And the total this hour is.... £3 worth in bug fixes ($32839423492 worth in the US)) 18:07
masak you guys should see me and moritz_ right now. :) 15 minutes after we meet, we're sitting side by side, IRC-ing. :P
lue :)
Grimnir_ it would be cool if it would support it with a pretty nice syntax
18:07 akl left, akl joined
lue (I got japanese input working once, what happened to it...) 18:07
TimToady rakudo: say (1,2,3) »+« (4,5,6) 18:08
p6eval rakudo c05478: OUTPUT«Confused at line 11, near "say (1,2,3"␤current instr.: 'perl6;HLL;Grammar;panic' pc 500 (ext/nqp-rx/src/stage0/HLL-s0.pir:328)␤»
TimToady alpha: say (1,2,3) »+« (4,5,6)
p6eval alpha 30e0ed: OUTPUT«579␤»
arnsholt masak: Has the collective reached a decision re: fud?
masak do I have everyone's permission to stir up a potential hornet's nest?
(don't ask to ask...)
arnsholt: are you coming by? 18:09
lue hornet nest taken. masak cries. hornet nest given back. all is well. (that's a YES :) )
arnsholt masak: I wouldn't mind coming by
There are signals that usually mean I should eat soon =) 18:10
Grimnir_ perl6: say ("hello world")
p6eval elf 29966, pugs, rakudo c05478: OUTPUT«hello world␤»
arnsholt And I thought hornets' nests were your job? ;)
colomon rakudo: say "hello world"
p6eval rakudo c05478: OUTPUT«hello world␤»
masak alpha: class A { has @.b; }; say A.new(b => [1,2,3]).b.perl
p6eval alpha 30e0ed: OUTPUT«[[1, 2, 3]]␤»
TimToady Grimnir_: your parens were not function call parens, unlike in perl 5 18:11
masak ok, so the hornet's nest is that I really don't like the double [] here. :(
I've been talking to jnthn about it most of the afternoon.
he's quite good at explaining that I'm wrong.
I'm mostly being stubborn.
lue neither TimToady. I remember him confusing them with the purpose of the «» brackets
(the outer [] anyway)
masak arnsholt: come over, then! 18:12
moritz_ arnsholt: so, was that a "yes" to coming?
Grimnir_ at the perl6 speak today I didn't see any "\n", does that mean "say" automatically writes a newline?
TimToady yes
it's strange, but it's one of the most used functions in p6
arnsholt masak/moritz_: On my way then. Be there soonish
masak Grimnir_: as does Perl 5.10, incidentally.
++arnsholt
arnsholt I'll SMS masak when I'm in the neighbourhood
masak oki
Grimnir_ is there a normal print function in perl6 too? 18:13
TimToady yes
rakudo: print "foo"
p6eval rakudo c05478: OUTPUT«foo»
Grimnir_ ok, that's why
uniejo rakudo: class Food {sub eat {}}; Food.new().WHERE.say
p6eval rakudo c05478: OUTPUT«47750022470056␤»
Grimnir_ I haven't used any of the special perl 5.10 features, it seems
TimToady rakudo: say "foo"
p6eval rakudo c05478: OUTPUT«foo␤»
TimToady note the ␤ character there
should be a little NL or some such 18:14
18:14 martinro joined
TimToady if your terminal does utf-8 right 18:14
lue say creates a \n automagically, and print doesn't. That's it.
TimToady that's what?
colomon TimToady: any notion what the O() should be for infix_prefix_meta_operator?
Grimnir_ perl6: @test@.say
masak TimToady: am I unreasonable in thinking that .new(:b[1,2,3]) should initialize to just one layer of array? 18:15
p6eval rakudo c05478: OUTPUT«Confused at line 11, near "@test@.say"␤current instr.: 'perl6;HLL;Grammar;panic' pc 500 (ext/nqp-rx/src/stage0/HLL-s0.pir:328)␤»
..elf 29966: OUTPUT«Parse error in: /tmp/fAERKl76hs␤panic at line 1 column 0 (pos 0): Can't understand next input--giving up␤WHERE: @test@.say␤WHERE:/\<-- HERE␤ STD_red/prelude.rb:99:in `panic'␤ STD_red/std.rb:76:in `scan_unitstopper'␤ STD_red/std.rb:224:in `comp_unit'␤ STD_red/std.rb:210:in
..`_UNI…
Grimnir_ ach
p6eval ..pugs: OUTPUT«*** ␤ Unexpected "@."␤ expecting "::"␤ Variable "@test" requires predeclaration or explicit package name␤ at /tmp/NHJqMu8t1L line 1, column 6␤»
Grimnir_ perl6: "test".say
p6eval elf 29966, pugs, rakudo c05478: OUTPUT«test␤»
Grimnir_ nice
lue sorry TimToady. that's $_ [ :) ]
TimToady lol
masak: it seems to me that it's a binding, not an assignment
masak TimToady: yes. 18:16
TimToady so no, it's not unreasonable :)
18:16 martinro left
masak TimToady: but jnthn++ says that binding isn't the right thing for obj init, in general. 18:16
TimToady otoh, jnthn may be right about the OO semantics :)
masak because it creates a rift in timespace, basically.
18:17 simcop2387 left
k23z__ moritz_: wooo.. 18:17
moritz_: that's commitment man
TimToady otgh, maybe it copies in values but [...] is an object, so gets the same one
masak YES!
whatever that means, I'm for it! 18:18
18:18 k23z___ joined
Grimnir_ I loved the quicksort example in Perl6. is perl6 in general that cool? 18:18
18:18 uniejo left
TimToady no, usually it's cooler :P 18:18
masak Grimnir_: much cooler.
18:18 k23z___ left
Grimnir_ cooler? that's very cool 18:18
TimToady picnic cooler, even
colomon which quicksort? was it jnthn's new version? 18:19
Grimnir_ it was the one, jnthn showed at open source days today, yes
colomon ah, that's indeed a very sweet little piece of code.
Grimnir_ even though the pivot should be taken at random :)
you could do it with one parameter 18:20
TimToady without looking, I assume it's taking hte first elem as the pivot
moritz_ rakudo: say (1, 2, 3).max
colomon Grimnir_: please don't encourage TimToady to figure out how to make that a part of the language....
p6eval rakudo c05478: OUTPUT«3␤»
Grimnir_ colomon: it's so simple it's not important :)
rakudo: say (1,2,3).pick
TimToady we could .pick a random pivot though, which would work better for a presorted list on average
p6eval rakudo c05478: OUTPUT«2␤»
Grimnir_ rakudo: say (1,2,3).pick 18:21
p6eval rakudo c05478: OUTPUT«2␤»
TimToady or .pick(3).mid
Grimnir_ rakudo: say (1,2,3).pick
p6eval rakudo c05478: OUTPUT«1␤»
Grimnir_ rakudo: say (1,2,3).pick.mid
p6eval rakudo c05478: OUTPUT«Method 'mid' not found for invocant of class 'Integer'␤current instr.: '_block14' pc 29 (EVAL_1:0)␤»
moritz_ rakudo: say max(1..5)
p6eval rakudo c05478: OUTPUT«-Inf␤» 18:22
Grimnir_ rakudo: say (1,2,3).mid
p6eval rakudo c05478: OUTPUT«Method 'mid' not found for invocant of class 'Parcel'␤current instr.: '_block14' pc 29 (EVAL_1:0)␤»
colomon I was just going to say, what's .mid? (I mean, I think I understand the meaning, but....
TimToady rakudo: say [max](1..5)
p6eval rakudo c05478: OUTPUT«Not enough positional parameters passed; got 0 but expected at least 1␤current instr.: 'max' pc 239375 (src/gen/core.pir:6883)␤»
colomon rakudo: say max(1..5)
p6eval rakudo c05478: OUTPUT«-Inf␤»
TimToady wants a closure first
Grimnir_ alpha: say (1,2,3).mid
p6eval alpha 30e0ed: OUTPUT«Method 'mid' not found for invocant of class 'List'␤in Main (file src/gen_setting.pm, line 324)␤»
colomon WTF?
masak submits rakudobug for max(1..5)
TimToady there is no mid
moritz_ mid soooo reminds me of QBasic
18:22 iblechbot joined
TimToady but if there were, it would be between min and max :) 18:22
moritz_ (where it took the function of substr())
colomon rakudo: (1..5).max.say
p6eval rakudo c05478: OUTPUT«5␤» 18:23
TimToady rakudo: (1..5).minmax
p6eval rakudo c05478: ( no output )
TimToady rakudo: (1..5).minmax.say
p6eval rakudo c05478: OUTPUT«15␤»
TimToady rakudo: (1..5).minmax.average :)
p6eval rakudo c05478: OUTPUT«Confused at line 11, near "(1..5).min"␤current instr.: 'perl6;HLL;Grammar;panic' pc 500 (ext/nqp-rx/src/stage0/HLL-s0.pir:328)␤» 18:24
TimToady rakudo: (1..5).minmax.sum.say
p6eval rakudo c05478: OUTPUT«Method 'sum' not found for invocant of class 'Parcel'␤current instr.: '_block14' pc 29 (EVAL_1:0)␤»
lue TimToady: you put a smiley in the code with average :)
masak alpha: (1..5).minmax.sum.say
p6eval alpha 30e0ed: OUTPUT«Method 'sum' not found for invocant of class 'List'␤in Main (file src/gen_setting.pm, line 324)␤»
masak TimToady: should there be a .sum method? 18:25
colomon no.
moritz_ please not
just like .max is superfluous
masak is not! :)
moritz_ hits masak
lue rakudo: say (1..5).minmax.average
p6eval rakudo c05478: OUTPUT«Method 'average' not found for invocant of class 'Parcel'␤current instr.: '_block14' pc 29 (EVAL_1:0)␤»
masak slaps moritz_ with a seasoned trout
moritz_ ducks deep, so that masak hits mberends 18:26
masak mberends: sorry! :/
lue masak: use this herring! (I need it back afterwards to cut down a tree)
masak lue: this herring is damaged.
I can't use it.
TimToady if it's bleeding, it might be a red herring 18:27
masak .oO( use Herring; )
colomon my wife dreams of making an album of all herring songs...
Grimnir_ lol
masak colomon: but would that really be worth herring? 18:28
lue This halibut is good enough for Jehovah! Take it masak!
moritz_ stackoverflow.com/questions/2374251...kudo-perl6
18:28 athenot joined
TimToady the scales would be in tuna, I suppose 18:28
colomon is experiencing pun-lock 18:29
masak: it would be if I were playing bass
masak :)
TimToady they make me sing bass, but I'm really a barracuda 18:30
18:30 simcop2387 joined
lue colomon: if your album is good enough, you might become a starfish! 18:30
.oO(fish puns are about as fun as cheese puns)
TimToady er
colomon hey, my crazy hacked rakudo compiled! 18:32
TimToady put it on ice, and ship it 18:33
colomon > say 1 !&& 3
Could not find non-existent sub &infix:<>
TimToady well of course you couldn't find it--it's non-existent, duh! 18:34
you should look for an existent sub
colomon but also note how it is &infix:<> -- the nothing operator!
TimToady std: 1 !&& 3 18:35
p6eval std 29966: OUTPUT«ok 00:01 107m␤»
TimToady hmm, thought that one was too fiddly
lue alpha: multi sub infix:<>{say "oh hello";}; say 54 #this is 5 <nothing> 4
p6eval alpha 30e0ed: OUTPUT«54␤»
lue alpha: multi sub infix:< >{say "oh hello";}; say 5 4 #this is 5 <nothing> 4
p6eval alpha 30e0ed: OUTPUT«Confused at line 10, near "4 #this is"␤in Main (file <unknown>, line <unknown>)␤»
TimToady or not iffy enough
lue alpha: multi sub infix:< >($a,$b){say "oh hello $a and $b";}; say 5 4 18:36
p6eval alpha 30e0ed: OUTPUT«Confused at line 10, near "4"␤in Main (file <unknown>, line <unknown>)␤»
lue alpha: multi sub infix:< >($a,$b){say "oh hello $a and $b";}; say 5 4;
p6eval alpha 30e0ed: OUTPUT«Confused at line 10, near "4;"␤in Main (file <unknown>, line <unknown>)␤»
masak lue: two terms in a row. 5 4.
TimToady std: multi sub infix:< >($a,$b){say "oh hello $a and $b";}; say 5 4;
p6eval std 29966: OUTPUT«===SORRY!===␤Two terms in a row at /tmp/n8HbYo9IDp line 1:␤------> a,$b){say "oh hello $a and $b";}; say 5 ⏏4;␤ expecting any of:␤ bracketed infix␤ infix or meta-infix␤ statement modifier loop␤FAILED 00:01 109m␤»
masak even STD.pm agrees with me. 18:37
lue what the heck does two terms in a row mean?
TimToady it means there's no such thing as a null infix operator in Perl 6
lue That's why I tried a space :) 18:38
TimToady it won't let you
diakopter std: multi sub infix:<\ >($a,$b){say "oh hello $a and $b";}; say 5 \ 4;
p6eval std 29966: OUTPUT«Bareword found where operator expected at (eval 246) line 24, near "q<\>,␤ }, 'RE_method'),␤ }, 'RE_ast'),␤};␤␤our $CATEGORY = 'infix';␤␤sub infix__S_500__PEEK { $_[0]->_AUTOLEXpeek"␤ (Might be a runaway multi-line <> string starting on line 17)␤Can't create infix:sym<\
..…
masak lue: space is usually not significant.
TimToady it if it could, I wouldn't tell you how
18:38 rv2733 left
diakopter wheh 18:38
lue alpha: multi sub circumfix:<jnthn jnthn>($a){say "do something with $a";}; jnthn 42 jnthn 18:39
p6eval alpha 30e0ed: OUTPUT«do something with 42␤»
lue (still thinking of the omnisub :D )
TimToady because it's very, very, very, very important to Perl 6 to know whether it's expecting a term or an infix
diakopter TimToady: Bareword found where operator expected
TimToady so it can catch most errors
colomon > say 3 !&& 3 18:40
Could not find non-existent sub &infix:<&&>
that's a bit better....
TimToady except for the double negative :)
maybe we could add in a "noway, nohow" 18:41
colomon TimToady: I think we can take for granted that my work on Rakudo's grammar will not fix Parrot's weird error messages. :)
diakopter std: multi sub infix:<\ >(){}
p6eval std 29966: OUTPUT«Bareword found where operator expected at (eval 246) line 24, near "q<\>,␤ }, 'RE_method'),␤ }, 'RE_ast'),␤};␤␤our $CATEGORY = 'infix';␤␤sub infix__S_500__PEEK { $_[0]->_AUTOLEXpeek"␤ (Might be a runaway multi-line <> string starting on line 17)␤Can't create infix:sym<\
..…
TimToady I'm just gonna keep carping till someone does...
colomon doesn't think he has a commit-bit for Parrot...
masak TimToady: I'm with you. 18:42
masak never says no to a good carp
moritz_ colomon: you can still submit patches :-)
TimToady diakopter: I'm ignoring you. :) 18:44
18:44 szabgabx joined
k23z__ <kbsmasher> I have tried: __asm { nop } but it didn't do anything. 18:44
18:44 IllvilJa left
lue I'm going to log out for a moment, to enable japanese input. 18:45
TimToady japanese input, yum
18:45 lue left
TimToady quick, talk about lue 18:45
diakopter bleh
TimToady or make a cheese pun 18:46
masak TimToady: even if you /ignore diakopter, you will see the STD.pm output he produces. :)
colomon > say 4 !&& 4
Could not find non-existent sub &infix:<sol&&>
Aha!
TimToady yes, well, add_macro is all chewing gum and bailing wire, and I don't feel obligated to make it a real thing just yet
masak why would anyone be chewing bailing wire? 18:47
TimToady and I'm not /ignoring him, just ignoring him. :) 18:48
diakopter thought it was baling wire
masak /oh
it's whaling wire, actually.
TimToady okay, it's kleenex and scotch tape then.
Grimnir_ what's scotch tape? 18:49
18:49 simcop2387 left
diakopter a trademarked brand of 3M 18:49
jnthn The stuff that doesn't hold the universe together.
masak Grimnir_: en.wikipedia.org/wiki/Scotch_Tape
colomon Grimnir_: sellotape
18:50 lue joined, simcop2387 joined
Grimnir_ oh, that's just called tape in danish 18:50
masak wagamama, here we come! 18:51
18:51 masak left
colomon > say 4 !&& 5 18:51
Could not find non-existent sub &infix:<sol!&&>
yay!
lue 風の楽土 (I hope I wrote winds of rakudo correctly!)
colomon: the sun is nonexistant? Noes!
TimToady that's more like rakudo of wind 18:52
wind's rakudo
lue bah, I'm not a student of japanese
colomon lue: don't panic! just use your sub-etha to thumb a ride someplace else.
TimToady is an etha like a metha or a propa? 18:53
lue I did pick up a few phrases thru translating things in (and obsessing over) The Legend of Zelda games :)
colomon: I would, but my pandimensional wireless card is broken :/
(stupid Verizon... :D ) 18:54
quietfanatic ゼルダの伝説
colomon lue: oh. sucks to be you.
oh wise ones 18:55
lue 時のオカリナ
colomon I seem to have hacked !op into the grammar.
any hints on how to generate the metaop on demand, then? 18:56
there's addmethod (is that the right name), is there also an addsub?
lue oi! I have a security update to sudo (I'm scared of why they needed to fix it) 18:58
TimToady maybe it prevents insecure people from using it
quietfanatic I'd be more worried if I didn't occasionally see a security update for sudo. 19:00
TimToady lessee, if I'm really about 3 or 4 TZ east of here, I should take a geezer nap now. 19:01
zzz &
lue o no! the copenhagen air has slept TimToady 19:02
19:04 payload left
colomon pmichaud, jnthn: why is $opname stored as a .lex in gen_assign_metaop, rather than just passed as a parameter? 19:04
19:04 payload1 left
k23z__ anyone in here down for some hardcore assembly hacking let me know 19:05
should I add hardcore oldschool assembly hacking
19:05 jagd left 19:06 jagd joined 19:07 jagd left, jagd joined
k23z__ hey related to assembly I saw some code used back in the day by reverse engineers written in Perl 19:08
even a basic disassembler :)
will Perl6 be compiled to bytecode and if so , will it be hard to write a disassembler for it ?
or for Parrot binary code in general 19:09
because I remember there was something (also back in the day ...2002 maybe) that decompiled Java like crazy
it received no resistance whatsoever ...
avar where here are the spectests rakudo uses: svn.openfoundry.org/pugs/t/ ? 19:10
colomon svn.pugscode.org/pugs/t/spec 19:11
not that I quite understood the question, but that's where the Perl 6 spectests live.
avar ah, the pugs svn moved
isn't this pretty much the only thing the pugs svn is used for now? 19:12
lue &
colomon avar: not at all, there are a zillion projects in pugs svn. 19:13
The official perl 6 specs live there, as does Larry's STD.pm official grammar.
and a bunch of other projects as well.
I did a svn up there earlier today, looked like over 200 files have been changed in the last month or two. 19:14
> say 4 !&& 5
Null PMC access in invoke()
19:15 jagd left, martinro joined, jagd joined
colomon and wow, I don't have any idea how to debug that. :( 19:16
lisppaste3 colomon pasted "Slightly broken implementation of !op -- help?" at paste.lisp.org/display/96015 19:19
19:20 explorer__ joined 19:23 jferrero left 19:25 jagd left
colomon oh, wait, should be prefix:<!>... stupid spectest, finish already so I can try that! 19:25
19:25 jagd joined 19:26 lichtkind joined, avar joined
quietfanatic colomon: So you're actually generating an &infix:<!op> at compile time, as opposed to putting &infix_prefix_meta_operator:<!>(&infix:<op>, $a, $b) in the code? 19:29
colomon yes. 19:30
I don't know which approach is better, I'm just imitating the way op= is currently handled.
quietfanatic Ah. Just seems more complicated that way.
colomon though I'm suddenly suspicious your way is better.... 19:31
quietfanatic Mine is just the naive way to do it (I think)...
colomon I dunno, your way sounds elegant to me. 19:32
quietfanatic Because I'm not familiar with grammars and compilers and all that.
lisppaste3 colomon annotated #96015 "slightly improved but still Null PMC access version" at paste.lisp.org/display/96015#1
quietfanatic My way might be a little slower at runtime.
colomon your way might work. seems like it's worth a try, anyway. 19:33
colomon is going mad with the power of git! 19:36
lichtkind colomon: please dont do so :)
with 30 entries now: www.perlfoundation.org/perl6/index.cgi?timeline 19:37
19:41 martinro left
colomon quietfanatic: the only problem being, I'm not quite sure how to implement your suggestion... 19:49
quietfanatic hmm...
colomon > say 4 !&& 5
Could not find non-existent sub &infix_prefix_meta_operator:<!>
== progress
quietfanatic Yeah, well then you need to write &infix_prefix_meta_operator:<!> :) 19:50
colomon sure, it's how you call it and how you implement it that's the issue here. :)
quietfanatic Ah.
19:50 ShaneC joined
quietfanatic Well, it needs to have as parameters infix:<&&>, 4, and 5, right? 19:51
colomon right
quietfanatic s/infix/&infix/
in some order or other
what should the parameters be when a user writes a new meta op? 19:52
colomon hmmm?
btw, I'm compiling an attempt to guess how to do it as I type.
quietfanatic I mean...hold on, consulting the spec
The spec doesn't seem to have an example for overloading metaops, just infixes and such. 19:54
colomon holy smokes, that almost sort of worked. 19:55
multi sub infix_prefix_meta_operator:<!>($a, $b, $c) {
say $a.WHAT;
say $b.WHAT;
say $c.WHAT;
}
> say 4 !&& 6
Str()
Int()
quietfanatic Great! Except why is $a Str()?
colomon probably that's how I'm passing it. 19:56
but... hmm...
rakudo: "say"(34);
p6eval rakudo 14a83e: OUTPUT«invoke() not implemented in class 'Perl6Str'␤current instr.: '_block14' pc 29 (EVAL_1:0)␤»
quietfanatic rakudo: &::<say>(34)
p6eval rakudo 14a83e: OUTPUT«Confused at line 11, near "&::<say>(3"␤current instr.: 'perl6;HLL;Grammar;panic' pc 500 (ext/nqp-rx/src/stage0/HLL-s0.pir:328)␤»
quietfanatic alpha: &::<say>(34) 19:57
p6eval alpha 30e0ed: OUTPUT«Syntax error at line 10, near "&::<say>(3"␤in Main (file <unknown>, line <unknown>)␤»
quietfanatic ah, it seems symbolic lookup is not yet implemented.
colomon you can call a method specified by a string, surely there's a way to do that with a sub?
quietfanatic Well, it's the syntax that's NYI, not the implementation (if I know what I'm talking about) 19:58
alpha: (Q:PIR{%r = get_hll_global [], '&say'}).(34)
p6eval alpha 30e0ed: OUTPUT«error:imcc:syntax error, unexpected ']' (']')␤ in file 'EVAL_22' line 71␤Null PMC access in invoke()␤in Main (file <unknown>, line <unknown>)␤»
quietfanatic alpha: (Q:PIR{%r = get_hll_global '&say'}).(34)
p6eval alpha 30e0ed: OUTPUT«Null PMC access in invoke()␤in Main (file <unknown>, line <unknown>)␤»
diakopter alpha: (Q:PIR{%r = get_hll_global 'say'})(34) 19:59
p6eval alpha 30e0ed: OUTPUT«34␤»
lisppaste3 colomon annotated #96015 "very different attempt which also slightly fails" at paste.lisp.org/display/96015#2 20:00
colomon oh hai, I think if you guys can figure out how to do that with an infix op we're good to go here. 20:01
but I've got to run shower now...
quietfanatic How do you pass it the op itself, instead of the name of the op? 20:02
20:07 athenot left, payload joined, athenot joined 20:13 athenot_ joined 20:14 athenot_ left, athenot_ joined
quietfanatic colomon: Just a guess; should that line 'my $opsub := "&infix:<$sym>";' be 'my $opsub = $<infix>.ast;' or something like that? 20:14
20:14 justatheory left, athenot left, athenot_ is now known as athenot
quietfanatic maybe not. 20:15
s/=/:=/ 20:17
20:21 k23z__ left 20:26 clintongormley left 20:28 jagd left 20:35 synth joined 20:48 martinro joined
mikehh looks like I got a seg fault after t/spec/S14-roles/basic.rakudo - Non-zero wait status: 11 in spectest_smolder #32531 - Ubuntu 9.10 amd64 (gcc with --optimize) - parrot r44708 20:50
20:50 payload left
mikehh id does not report it in the smolder report 20:50
20:50 justatheory joined
mikehh s/id/it/ 20:51
baest is qw// dead and replaced by <>? 20:53
quietfanatic baest: yes
baest quietfanatic: thanks
20:59 prism joined
baest I'm looking at split.t. split returns a GatherIterator, but that doesn't respons well to being compared to Parcels with is_deeply. Any ideas? 20:59
20:59 daemon left 21:00 prism is now known as daemon
colomon baest: I think that's all supposed to change in pmichaud's next round of fixes. 21:02
So I'd not worry about it at the moment. 21:03
baest colomon: oh ok
21:04 Trashlord left 21:05 martinro left
diakopter answers my question from yesterday (how to design an api for codegen-generators): macros. duh. 21:05
pugssvn r29967 | baest++ | Use <> instead of qw// and skip places with rx:Perl5 which isn't implemented
21:09 rv2733 joined 21:10 justatheory left 21:12 zostay left 21:13 krr joined 21:20 k23z__ joined, k23z__ left, k23z__ joined 21:26 krr left
TimToady baest: actually, qw// should also still work; <> is just the shortcut, like '' and q// still both work 21:32
rakudo: say qw/foo bar/ 21:33
p6eval rakudo 14a83e: OUTPUT«Confused at line 11, near "say qw/foo"␤current instr.: 'perl6;HLL;Grammar;panic' pc 500 (ext/nqp-rx/src/stage0/HLL-s0.pir:328)␤»
TimToady std: say qw/foo bar/
p6eval std 29967: OUTPUT«ok 00:01 107m␤»
diakopter pugs: say qw/foo bar/
p6eval pugs: OUTPUT«foobar␤»
21:34 newbie joined 21:35 newbie is now known as jaffa4 21:37 explorer__ left, jferrero joined
baest TimToady: oh, ok. Hmm, I just a test, but if it's the same it shouldn't matter and now at least, it is parseable by rakudo 21:45
+changed
22:01 wolf2k_ubuntu left 22:03 uniejo joined 22:06 wolf2k_ubuntu joined 22:07 uniejo left, mberends joined 22:08 am0c joined 22:09 Su-Shee left
k23z__ hey what if perl6 offered permutations as a core language feature ? 22:10
is it unreasonable ?
mberends k23z__: that feels like something that belongs a level above the core language, probably in a module 22:11
22:11 masak joined
k23z__ can Perl6 modules be written in Parrot code ? 22:12
what is the equivalent of XS in Perl6 ?
mberends yes, in PIR
masak the equivalent of XS is Parrot NCI.
k23z__ will it be blazing fast if written in PIR ?
TimToady define blazing
mberends XS is another matter, we're currently working on NCI 22:13
lichtkind mberends: hej
mberends hi lichtkind
masak k23z__: it might possibly be a bit faster than compiled Perl 6 in some cases. no order-of-magnitude wins, though.
k23z__ TimToady: well I'm writing assembly code for generating permutations that'll be called from XS which will be called from Perl5 , will I be able to do this with Perl6 ? github.com/wsdookadr/Rubik-Perl/blo...JT/SJT.asm
lichtkind and masaks now there too :) 22:14
mberends: seen www.perlfoundation.org/perl6/index.cgi?timeline ?
mberends lichtkind: I'm now looking at the current one, had seen it a few days ago 22:15
lichtkind mberends: thats not the same :)
TimToady with a decent jit it might go fast, but parrot's jit has suffered repeated bitrot
masak jitrot.
jnthn Parrot's jit got ripped out, iirc.
k23z__ TimToady: assembly code is my definition of blazing fast
masak jitrip.
mberends lichtkind: oh yes, exact dates!
TimToady yes, well, you're talking NCI there, not parrot, currently 22:16
masak rakudo: class A { has $.b = my $foo = 42; say $foo }
p6eval rakudo 14a83e: OUTPUT«42␤»
k23z__ is NCI at an equivalent speed with assembly code ?
masak alpha: class A { has $.b = my $foo = 42; say $foo }
quietfanatic Parrot's NCI is, I think, easier to use than Perl5's XS.
p6eval alpha 30e0ed: OUTPUT«Lexical '$foo' not found␤in Main (file src/gen_setting.pm, line 324)␤»
k23z__ quietfanatic: maybes some docs please ? with lots of examples ?
TimToady NCI is an API, not an engine
masak rakudo: class A { has $.b = my $foo = 42; method x { say $foo } }; A.new.x 22:17
p6eval rakudo 14a83e: OUTPUT«Null PMC access in getprop()␤current instr.: '&infix:<=>' pc 16638 (src/builtins/Junction.pir:228)␤»
masak submits rakudobug
diakopter masak: :)
TimToady it's like asking what's faster, an elevator, or an elevator door?
mberends lichtkind: the whole timeline looks so very good :)
quietfanatic k23z__: It's somewhere in Parrot's documentation.
lichtkind mberends: thanks
k23z__ TimToady: to me it's all the same 22:18
diakopter my elevator is a door
lichtkind mberends: so we finally get to the translation of the tut :)
masak my door is an elevator.
k23z__ TimToady: I don't understand your comparison because I don't know as much about p6 as you do
diakopter ... no one does...
masak rakudo: class A { my $foo = 42; method x { say $foo } }; A.new.x
TimToady has nothing to do with p6
p6eval rakudo 14a83e: OUTPUT«42␤»
lichtkind masak: lives on mars und uses the super secret jumprooms :)
TimToady it's a category error
k23z__ is not much of a category theorist :D
22:19 nihiliad left
quietfanatic k23z__: He means NCI isn't code that runs, it's a connection from one kind of code to another. 22:19
masak What's faster, an elevator, or a category error?
k23z__ masak: :)
masak I mean, it's like comparing apples and category errors.
TimToady APIs and oranges 22:20
k23z__ can you guys make it so that I'll be able to write assembly inline in Perl6 pretty please with sugar on top ?
diakopter my door is an orange
masak TimToady: :)
k23z__ like __asm { ... }
masak diakopter: :)
quietfanatic inline? Well, I don't think we have that yet.
TimToady in any case, that's a severe architecture dependency 22:21
quietfanatic The best you could do would be to compile your assembly to a library, and then link to that library from Parrot
diakopter k23z__: just write some tests...
quietfanatic ...which is what NCI does.
22:22 nihiliad joined
TimToady APIs and O()-ranges 22:23
22:23 kfo left
pugssvn r29968 | moritz++ | [t/spec] test that lexicals escape thunks 22:24
jnthn
.oO( what the thunk? )
diakopter rakudo: say 1..my$a # times out I think 22:25
moritz_ speakiing of O() - STD.pm uses both <EXPR(item %item_assignment)> and <O(|%term)> - what's the difference?
p6eval rakudo 14a83e: ( no output )
TimToady <O> sets the actual precedence on the token we're returning
the arg to EXPR is a cap on how tight we require the precedence to be 22:26
in this subexpressoin
arnsholt One of the Parrot devs (I think) commented about Rakudo copying a lot in a comment on my segfault bug: trac.parrot.org/parrot/ticket/1499#comment:8
TimToady ion
arnsholt (In case that's interesting to someone)
TimToady that's how we stop on the comma when you say my $a = 1, 2
Tene k23z__: That's certainly possible to do (__asm {}), but it's going to be a decent while before that's a priority for any current Perl 6 devs that I know about. 22:27
lue hello!
masak arnsholt: why would Rakudo copy a lot in a comment on your segfault bug? :P
that sounds like a metabug to me.
arnsholt masak: A bit of a tangent, from him digging around in the Rakudo code, I imagine
Tene k23z__: for performance, working on Parrot's GC and then getting a good JIT for Parrot are much higher on the priority list for most people who might work on that, afaik. 22:28
TimToady k23z__: but feel free to work on it yourself :D
masak snarkyboojum: ping
Tene k23z__: Rakudo has the ability right now to use inline PIR, which is Parrot's bytecode. 22:29
rakudo: Q:PIR { print "lolol" }
TimToady for permuting integers, that'll likely be faster than anything you could write in p6
p6eval rakudo 14a83e: OUTPUT«lolol»
lue I want to do something worthwhile during the hackathon. :/ Lurking is fun, but helping is as well :) 22:30
TimToady at least, until rakudo gets native ints
lue (If I can't work, I'll just learn Japanese >:) )
k23z__ is Perl6 going to be like Java ? 22:31
if it has a vm ..
and stuff like that
masak k23z__: yes.
k23z__ I wonder how fast is it , if it was registered in the Language shootout then I could compare it with other stuff 22:32
but maybe speed is not the most important concern at this stage of development ?
moritz_ slow. At the moment at least
Tene k23z__: A module that would support inline ASM would take the text provided, compile it into executable code, use something like dlsym to get a handle to the code and then execute it. There's going to be a big calling conventions mismatch between Perl 6 calling conventions and ASM, and I'm sure several other issues.
diakopter about 5000-10000 slower
moritz_ k23z__: that's correct
diakopter 5000-10000x slower, I mean
k23z__ Tene: calling conventions in terms of ? order of params on stack ? 22:33
Tene: what else ?
Tene k23z__: Perl 6 isn't stack-based. Parrot isn't stack-based. You'll need to write code to marshall the args into something reasonably accessible from ASM.
22:33 IllvilJa joined
k23z__ I don't know any other model than stack-based 22:34
how does Parrot work when calling some fucntion ?
moritz_ it's continuation passing style
diakopter Perl 6 isn't stack-based?
moritz_ en.wikipedia.org/wiki/Continuation-passing_style
(at least parrot)
Tene Rakudo doesn't have any native data types right now, as well. You'd need to take Perl 6 Integer objects and put them into registers, etc. I'm not all that familiar with ASM, so I don't really know what it would look like.
diakopter: a Perl 6 sub isn't required to set up a C-like stack frame for every invocation. 22:35
k23z__ why is the Perl6 using a vm ?
are there some particular advantages that you are fond of ?
22:35 iblechbot left
moritz_ k23z__: yes; it's needed 22:35
arnsholt k23z__: Using a VM you get a lot more platform independence
diakopter Tene: nor is any language whose subroutines can be inlined when deemed safe....?
arnsholt There's also GC, and so on 22:36
Tene diakopter: which means that you need to care about that when talking about inline ASM
moritz_ k23z__: in C you don't even have objects, so you need some kind of runtime system
Tene k23z__: Perl 6 is an extremely dynamic language. It's likely that any implementation is going to implement something like a VM, at least internally, so we're formally doing that as a separate project, for a variety of reasons. 22:37
Parrot's goal is to be a VM good for any dynamic language.
k23z__ hm ok I get the idea
Tene k23z__: There are a few other alternative implementations in progress, and any implementation that can pass the spec test suite "Is Perl 6"
lue Rakudo is only the most likely candidate. A few years ago it was Pugs. 22:38
most likely candidate _to be the first_
k23z__ I am also interested in speed, XS was very good for Perl5 because you get to mess with the internals, with the core, you can make it do whatever you want 22:39
I hope a similar mechanism be devised for p6 22:40
TimToady I hope p6's mechanism is far, far better than XSW
XS
Tene k23z__: right now, it looks like any API like that is going to be implementation-dependant. It's possible to access C code from Rakudo right now, but it's not very well-documented.
k23z__ Tene: ah , neat :) 22:41
masak k23z__: the hope for Perl 6 is that the internals will be something that you won't often feel the need to mess with, and that messing with the operators, the metamodel, the slangs and macros will be enough.
moritz_ rakudo: my %p; %p<a> = [%p<a>, 4]; say %p.perl
p6eval rakudo 14a83e: OUTPUT«{"a" => [Proxy.new(), 4]}␤»
lue Speaking of which, is SDL/OpenGL useable yet? :)
mberends lue: almost :)
moritz_ masak: that's RT #64080
and "fixed" now :-) 22:42
diakopter k23z__: Perl 6 specifies native types, which (assuming a good optimizer) should provide quite efficient data structures/algorithms.
Tene k23z__: the process is: write a C library, load that .so or .dll with the loadlib op, and then fetch symbols in it with the dlfunc op.
TimToady and it should be possible to specify APIs from the Perl side, so you don't have to write grotty glue code
(see XS)
k23z__ Tene: yes that seems to be very much like Perl5 does it.. 22:43
TimToady the hard work is getting the arguments in and out
Tene k23z__: here is a wrapper library in PIR for a GUI library I was playing with a while back: github.com/tene/parrot-elementary/b...entary.pir
k23z__: you notice that you need to explicitly specify the signature
k23z__: there have been a few projects to parse C header files and generate library wrappers like this automatically. 22:44
None are currently good enough to rely on, that I've heard about.
arnsholt Are there no plans for a general Perl 6 C API? 22:45
masak moritz_: I won't hit you, I'm out of fish.
Tene arnsholt: I have never heard of one. Every time that question has been asked that I've seen, the consensus has been that any such functionality is likely to be implementation-dependant. 22:46
TimToady for any two well-defined languages, we should be able to come up with a well-defined implementation-independent interface
diakopter hmm. where're we gonna find a well-defined language? 22:47
TimToady and the fact is, when I hooked Perl 5 up to Java, I found Java supplied sufficient type info to do that, even though Perl didn't.
mberends arnsholt: it's not a high priority to make own-foot-shooting-guns, but eventually it will come ;;)
TimToady and that's one of the reasons Perl now has better type info
k23z__ Tene: implementation-dependant doesn't matter very much since there is only one implementation(Rakudo)
diakopter k23z__: that is extremely incorrect. 22:48
TimToady perl6: say "hi, k23z__!"
moritz_ k23z__: perl6.org/compilers/
p6eval elf 29968, pugs, rakudo 14a83e: OUTPUT«hi, k23z__!␤»
TimToady there's at last three
22:49 kfo joined, snarkyboojum left
Tene k23z__: That's not quite the question he asked. 22:49
masak k23z__: I'm not sure how you can have reached this point in #perl6-hood thinking there is only one Perl 6 implementation.
Tene k23z__: the fact is, though, even if there were only one implementation right now, Perl 6 has a *very* strong community focus on establishing a spec separate from any implementation.
diakopter loose reading of lue> Rakudo is only the most likely candidate.
22:50 snarkyboojum joined
masak snarkyboojum: \o 22:50
Tene k23z__: We very much don't want to repeat the mistakes of Perl 5, where the only spec is the one existing implementation.
k23z__ masak: I thought pugs development has stopped ?
masak k23z__: your point being?
TimToady but not mildew or sprixel
moritz_ it still exists
Tene k23z__: That's right, pugs is not under current active development. That doesn't mean it doesn't exist, though.
TimToady doesn't mean someone won't pick it up again and run with it either 22:51
moritz_ rakudo: &foo # what should that do?
p6eval rakudo 14a83e: OUTPUT«Could not find non-existent sub &foo␤current instr.: '_block14' pc 29 (EVAL_1:0)␤»
moritz_ std: &foo
p6eval std 29967: OUTPUT«ok 00:01 108m␤»
masak moritz_: that's a question pmichaud asked as well.
arnsholt has considered looking at Pugs
snarkyboojum masak: g'day :)
masak moritz_: I'm of the opinion that it should not warn.
arnsholt It's ludicrously hubristic, but might be fun
k23z__ masak: 2-1 = 1
masak snarkyboojum: I'm hacking on Tardis.
moritz_ masak: I know; he gave me RT #73074
and I have no idea what to do with it 22:52
masak k23z__: I'm not sure you've convinced me you're not a troll.
snarkyboojum masak: nice! how'd the talk go?
masak k23z__: forgive me if I don't put much energy into replying to you from now on.
k23z__ ???
22:52 jaffa4 left
masak snarkyboojum: it felt nice to give it. it's the first talk that I wouldn't mind giving again sometime. 22:52
snarkyboojum masak: excellent :) slides up anywhere? 22:53
masak snarkyboojum: I just pushed what I've committed so far to Tardis.
k23z__ ok I am not going to be using this channel any more , bye #perl6
snarkyboojum masak: sweet - will take a look
masak snarkyboojum: bottom of feather.perl6.nl/~masak/
22:53 k23z__ left
diakopter masak: I think k23z__ was not being a troll. 22:53
TimToady now he'll probably brag he got kicked out of #perl6 :)
22:54 kfo left
TimToady I think k23z__ isn't sure himself 22:54
diakopter masak: he was here yesterday too
masak diakopter: I didn't say he was. I said he hadn't managed to convince me he wasn't.
diakopter: there's a subtle difference. 22:55
22:55 colomon left
diakopter I didn't say you said/thought he was. 22:55
masak :)
TimToady masak didn't say he thought you said that. :P
masak I'm not saying I think he isn't, by the way.
TimToady ain't communication wunnerful 22:56
Khisanth bows to masak's skills
diakopter I was saying (in different words) that he *had* managed to convince me he wasn't being a troll.
TimToady now you tell us
masak diakopter: is the proof contained in P? :)
diakopter but that's what I said 22:57
masak that's what she said!
diakopter _I think_ that _he wasn't being a troll_
masak is not convinced masak is not a troll
TimToady no, you just said you thought he wasn't, you didn't say he'd convinced you of it :)
22:57 k23z__ joined
masak TimToady: that's what diakopter said, but maybe not what he thought he said :) 22:58
diakopter what else could have convinced me of that? 22:59
pugssvn r29969 | moritz++ | [t/spec] test that operators can be accessed by their infix:<foo> and &infix:<foo> names
TimToady hi, k23z__
k23z__ masak: I actually rejoined because I think you have mistaken me for a "troll"
masak k23z__: yes. I might very well have been mistaken.
moritz_ now we're at leat one step meta. Congratulations everyone.
masak k23z__: I just wish I could rule it out more readily.
k23z__ if you label me a troll again I will never enter this channel 23:00
that's all I had to say
k23z__ goes back to code
masak k23z__: you're welcome to help. should we resume our fruitful discussion about implementations, and Rakudo not being the only one, in which mostly everyone on the channel disagreed with you?
diakopter k23z__: I'm glad you have questions about Perl 6
TimToady nuclear blackmail? then stay away, by all means
masak k23z__: I label you a troll. 23:01
TimToady take your marbles and run while you can
dalek kudo: 9a94503 | moritz++ | t/spectest.data:
turn on new test in S03-operators/names.t
lue 日本語 ゼルダの伝説 風の卓と (felt this conversation needed a sharp turn to SCD)
masak lue: you finally got your kana. :)
TimToady actually, I think moritz++ has the right idea
quietfanatic lue: err, I think that's the wrong spelling of タクト
diakopter I do not believe it was a threat of nuclear blackmail 23:02
I believe it was someone merely pointing out that they felt offended by being labeled something they weren't intending to be.
and that he wouldn't return to possible face such accusations again, given the past miscommunications
lue it was not meant to be accurate. Just meant to stop the conversation. 23:03
TimToady people who paint a target on their backs usually turn out to be poisonous
quietfanatic ...I wouldn't be that offended.
23:03 meppl left
masak diakopter: what TimToady said. besides, I didn't call him a troll. 23:03
not the first time, at least.
lue Objection! [15:01] <masak> k23z__: I label you a troll.
moritz_ rakudo: class A { submethod BUILD { eval 'method foo { say "OH HAI" }' } };
diakopter not technically, but you implied you suspected it
p6eval rakudo 14a83e: ( no output )
masak diakopter: that's because I suspected it. 23:04
moritz_ rakudo: class A { submethod BUILD { eval 'method foo { say "OH HAI" }' } }; class B is A {}; B.new.foo; say "alive"
p6eval rakudo 14a83e: OUTPUT«Method 'foo' not found for invocant of class 'B'␤current instr.: '_block14' pc 29 (EVAL_1:0)␤»
masak diakopter: it was not an accusation.
quietfanatic We have a high incidence of tautologies in this sector.
diakopter but perception is what matters here. you perceived possible trollishness, but you weren't sure, and the accused felt hurt that he was even possibly [mis]interpreted as acting trollish. 23:05
TimToady or acted hurt
masak diakopter: I could worry myself blue about people being or acting hurt. the next thing I knew this k23z__ came back and was openly threatening. 23:06
diakopter [tried to express hurt]
TimToady yes, but you have puppy eyes, so it's easy
masak diakopter: I'll try not to mention the word 'troll' next time I talk to a suspected troll.
they seem to go critical from that.
moritz_ masak: call them 'llort'.flip :-) 23:07
k23z__ I will only talk about code from now on and not express any personal oppinions about anything
I don't like at all being labelled a troll, in fact I hate it a lot.
diakopter it seems to me k23z__'s message to masak was very unclear/ambiguous/dangerous
< k23z__> masak: 2-1 = 1 23:08
23:08 kfo joined
masak diakopter: I read that as 'Now that Pugs is gone, there's only Rakudo left.' 23:08
moritz_ std: max(3, 4)
k23z__ 2 implementations (Rakudo+Pugs) - 1 implementation(Pugs stopped development) = 1 implementation (Rakudo in active development)
p6eval std 29968: OUTPUT«ok 00:01 107m␤»
k23z__ that was what I meant
I may be wrong
masak diakopter: and that was after numerous people had mentioned other implementations to him.
k23z__ if I am, sorry.
23:09 mberends left
masak k23z__: you're wrong. 23:09
quietfanatic Why are we still talking about this?
moritz_ k23z__: I did give you a link to a list of compilers
lue is unsure of how to respond.
k23z__ looks on backscroll
masak quietfanatic: I'm still talking about it because community mechanisms fascinate me.
quietfanatic: there's a clear risk of the Perl 6 community forming a clique or elite or whatever, despite very clear intentions not to.
quietfanatic: basically because that's what communities do. 23:10
quietfanatic masak: Fair enough. I guess I say that because community mechanisms horrify me :)
k23z__ moritz_: I didn't see your links sorry, I am looking at it now
lue I wish to still work on 楽土。What is there to do?
masak quietfanatic: it was not my intention to push k23z__ away, but I seemingly catalyzed a quite interesting chain reaction of discussion by confronting him.
diakopter so then, it was _yet another_ instance of someone not reading messages quite as quickly as others, and therefore missing things others assume he read 23:11
quickly/thoroughly
masak lue: lots. choose a favourite spectest file, and make the tests pass. especially tests which passed in alpha.
TimToady diakopter: it's a possibility
masak diakopter: not only that. there's also the detail of missing the fact that Rakudo is not the only implementation up until this point. 23:12
TimToady but I was serious in suggesting that some people have aspects of both t*-ness and non-t*ness simultaneously
diakopter which is why the _devastating repetitive redundancy_ approach to correcting someone's misbelief/misunderstanding is unhelpful
TimToady and may not have it all sorted out
lue and we all understand each other, and all is well, and we stop talking down this dark avenue (please! Camelia needs you to stop!)
»ö«
moritz_ rakudo: say <foo bar>.max
p6eval rakudo 14a83e: OUTPUT«foo␤»
moritz_ lue++
masak moritz_: that's correct, no?
TimToady every community has to include helpful people, and exclude destructive people, and the really, really hard part of that is a given person can be both 23:13
masak k23z__: what TimToady just said.
k23z__: to the extent that you're helpful, I do wish to help include you.
TimToady lue: Camelia tells us we have to know how to be nice to all kinds of people. She very carefully doesn't say we always have to be. :) 23:14
k23z__ masak: ok, thanks.
Tene I wouldn't be surprised if half of my contributions to this channel were borderline trolling. :)
lue masak: do I have to switch to the alpha branch to see the difference between passing tests? Or is there a handy printout.
diakopter masak: I think you mean non-hurtful... since the mere presence of non-contributors should also be encouraged.
masak hugs k23z__
TimToady where's hugme when you need it
Tene lue: I'm not aware of any lists currently. Making one would certainly be useful, as well as determining the difference between alpha and master.
23:15 hugme joined
moritz_ TimToady: hugme seems to have problems with net splits :/ 23:15
lue P»ö«6 # I think this is a much more obvious representation of Camelia
masak diakopter: well, 'helpful' is a wide term. 23:16
TimToady sometimes Camelia is subtle :)
23:16 kfo left
diakopter after k23z__ was here yesterday, I happened to look up his googlecode and github repos, and the content of those also helped in my assessment. I neglected to mention/remember that. 23:16
masak diakopter: that's the kind of proof that would be contained in P. :) 23:17
k23z__ masak: ah ... perl6.org/compilers/ , I was clearly wrong
Tene k23z__: We've had a fair number of trolls in here, on and off, so some of us (especially those that have worked on other implementations) can be a bit sensitive. 23:18
masak k23z__: also, I'm a bit surprised that it took you so long to realize that Rakudo isn't the only (active) implementation.
k23z__: there's quite a bit of talk about them all here most of the time.
k23z__ masak: I haven't been looking at any other, I am reading blogs and everybody is talking about rakudo, the others don't get so much attention because they're not in blogs
masak: I read ironman for example 23:19
masak k23z__: true.
lue How doth I switch branches?
masak lue: git checkout -b branchname
lue: or, if for the first time, git checkout -b branchname origin/branchname
lue bah. I messed up. How to switch back to master, it won't let me. 23:21
Tene git checkout master 23:22
moritz_ git reset --hard HEAD; git checkout master # throws away all changes
23:23 mberends joined
lue I think I got it. Will it act like alpha now? 23:24
diakopter notes that vill should be added to perl6.org/compilers
Tene lue: Yes. Check 'git log' if you want to be sure, to see what line of development you're on.
lue Thanks. I'll play with that later. 23:25
lue &
jnthn diakopter: It sure it vill be added soon. 23:26
diakopter :)
jnthn </bad german accent>
23:34 justatheory joined
masak jnthn++ 23:34
Grimnir_ jnthn: hey, is it possible to get your slides from today's talk on perl6? In particular I'd like the slides from "Solved in Perl6" 23:35
masak rakudo: sub foo($a;; $b, $c) {}
p6eval rakudo 14a83e: ( no output )
23:35 kfo joined
jnthn Grimnir_: The almost same ones are on jnthn.net/articles.html 23:36
But will upload the latest ones too soon. :-)
Grimnir_ nice, thanks :)
snarkyboojum jnthn.net/articles.shtml
jnthn oops, yes, it is. 23:37
snarkyboojum++
snarkyboojum :)
Grimnir_ yeah, it was the wrong link, but I found it :)
snarkyboojum beautiful photo on the first slide! 23:38
Grimnir_ I often hear people talking about python or see people talking about it on the net and that it's better than perl, etc. What is your opinion about python and perl6?
masak Grimnir_: both are Turing-complete programming languages. 23:40
Grimnir_: personally, I prefer Perl 6. 23:41
Grimnir_ heh
23:41 kfo left
Grimnir_ (I'm not trying to troll here ;) 23:42
masak Grimnir_: :)
diakopter but are you trying (hard enough) *not* to troll? :P
masak Grimnir_: it's a legitimate question, but that doesn't mean it has a meaningful or informative answer.
Grimnir_ raduko: my @nums = 2, 1, 9, 4; say [+] @nums
masak Grimnir_: if you like Python enough, who am I to force you not to use it? 23:43
Grimnir_ masak: I know. I just hoped someone could answer :)
diakopter rakduo, raduko, I've mistyped them all ;)
masak rakudo: my @nums = 2, 1, 9, 4; say [+] @nums
p6eval rakudo 14a83e: OUTPUT«Confused at line 11, near "say [+] @n"␤current instr.: 'perl6;HLL;Grammar;panic' pc 500 (ext/nqp-rx/src/stage0/HLL-s0.pir:328)␤»
masak Grimnir_: no hyperops in master yet.
23:43 am0c left
Grimnir_ well... I haven't been using python that much. I've always really liked perl, and perl6 seems to do the stuff I missed in perl5 23:43
and more
masak Grimnir_: I've seen good answers, mind you. let me get you a link.
Grimnir_ alpha: my @nums = 2, 1, 9, 4; say [+] @nums 23:44
p6eval alpha 30e0ed: OUTPUT«16␤»
masak Grimnir_: use.perl.org/~masak/journal/39025
Grimnir_: the section 'Do we like Perl or Python?' about halfway down.
Grimnir_ thanks 23:45
masak time to sleep, methunks. 23:46
jnthn aye
masak o/
jnthn o/
23:46 masak left
Grimnir_ just for the record, I'm not trying to find "the best" language. I've learned pretty much, that different languages can be great in different situations. and it doesn't really matter if you like one language better than the other, if you have to modify code in a particular language 23:47
23:53 ShaneC left
k23z__ Grimnir_: if you want to know about Python go to #python 23:53
Grimnir_: if you want to know about Perl5 ask here 23:54
23:54 kfo joined
k23z__ Perl6 23:54
Grimnir_: if you ask questions about Perl6 in #python you'll be offtopic 23:55
Grimnir_: the same with asking here questions about Python
Grimnir_ they said it was a nice channel 23:58