Perl 6 | Rakudo | Specs | Parrot | source cross referenced
← Previous day | Index | Channel Index | Today | Next day → | Search | Google Search | Plain-Text | plain, newest first
All times shown according to UTC.
| Time | Nick | Message |
|---|---|---|
| 00:06 | mjk joined #perl6 | |
| 00:14 | snarkyboojum joined #perl6 | |
| 00:18 | lichtkind | thanks |
| 00:38 | payload joined #perl6 | |
| 00:39 | cj | can someone recommend a book or document on compiler engineering? |
| 00:42 | m-locks | A. Aho, R. Sethi, J. Ullman: Compilers: Principles, Techniques, and Tools. Addison-Wesley, 1986. |
| 00:42 | cj | thanks, m-locks |
| 00:42 | m-locks | np |
| 00:44 | diakopter | cj: PLP3 (Programming Language Pragmatics 3rd edition) |
| 00:44 | cj | m-locks: you prefer the first edition? |
| 00:44 | diakopter | five stars |
| 00:44 | cj | thanks, diakopter :) |
| 00:46 | m-locks | they seem to have lotsa additional materials, PLP CD and stuff |
| 00:56 | colomon joined #perl6 | |
| 01:11 | colomon | rakudo: my Int $x = Mu; |
| 01:11 | p6eval | rakudo b348b3: OUTPUT«Type check failed for assignmentcurrent instr.: '&die' pc 16803 (src/builtins/Junction.pir:347)» |
| 01:19 | pugssvn | r29950 | colomon++ | [t/spec] Fudge S14-roles/basic.t (some very disturbing errors here). |
| 01:19 | jaldhar joined #perl6 | |
| 01:22 | wknight8111 joined #perl6 | |
| 01:42 | 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 | k23z__ | can I get a rakudo commit bit ? |
| 01:48 | I'm wsdookadr on github | |
| 01:49 | dalek | rakudo: 974d9a8 | (Solomon Foster)++ | t/spectest.data: |
| 01:49 | rakudo: Turn on S14-roles/basic.t. | |
| 01:49 | rakudo: review: http://github.com/rakudo/rakud[…]8df1a96e0e4138836 | |
| 01:50 | 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 |
| 01:50 | can I write some tests for Perl6 ? | |
| 01:50 | quietfanatic joined #perl6 | |
| 01:50 | diakopter | yes :) |
| 01:51 | 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) |
| 01:51 | diakopter | if you don't have one already |
| 01:51 | the tests are stored in pugscode svn | |
| 01:52 | re "what tests could I write", that's a difficult question | |
| 01:53 | it requires a certain familiarity with the language, or a precise reading of the Synopses (the language specification) | |
| 01:53 | really, both | |
| 01:53 | colomon | Though you don't need to read the full spec, by any means -- just find a nice corner of it. |
| 01:54 | 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:59 | k23z__ | do you have guides for new devs ? |
| 02:00 | 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) |
| 02:02 | 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:04 | 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:05 | TimToady | we all already know where Perl 5 ought to be different :) |
| 02:07 | course, there are still parts of Perl 6 that ought to be different (I'm looking at you IO.pod) | |
| 02:08 | 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:09 | I seem to have forgotten my commitbit password, otherwise I would add it | |
| 02:11 | TimToady | do you still have a mail account at veradox? |
| 02:14 | _jaldhar joined #perl6 | |
| 02:14 | diakopter | ohhh that's the username |
| 02:26 | * diakopter | considers how to design an API for codegen routines that generate codegen routines |
| 02:31 | lue joined #perl6 | |
| 02:32 | lue | oi! |
| 02:43 | ...chirp | |
| 02:43 | colomon | hey all. |
| 02:44 | PerlJam | greetings colomon |
| 02:44 | lue | hello o/ |
| 02:44 | colomon | submethods.t defines two classes in a... closure? in braces. |
| 02:44 | lives_ok { | |
| 02:44 | class Foo { has $.foo_build; submethod BUILD() { $!foo_build++ } } | |
| 02:44 | class Bar is Foo { has $.bar_build; submethod BUILD() { $!bar_build++ } } | |
| 02:44 | }, "class definitions were parsed/run/compiled"; | |
| 02:45 | 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? | |
| 02:45 | lue | maybe because it's contained in the braces. That's my first guess :) |
| 02:45 | colomon | (If I take the braces away, the next twenty tests run fine...) |
| 02:45 | PerlJam | classes used to be package-scoped and I think they're lexical by default now. |
| 02:46 | (check the spec obviously :) | |
| 02:48 | oh no, they're still package scoped (or should be) | |
| 02:48 | S12:109 | |
| 02:50 | diakopter | std: package bar { class baz { class foo { }; say foo; }; say foo; } |
| 02:50 | chenfengyuan joined #perl6 | |
| 02:50 | p6eval | std 29951: OUTPUT«Undeclared routine: 'foo' used at line 1ok 00:01 105m» |
| 02:50 | chenfengyuan left #perl6 | |
| 02:50 | 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 #perl6 | |
| 02:51 | m-locks | even: number % 2 == 0 |
| 02:51 | TimToady | % or !% |
| 02:51 | colomon | PerlJam: adding our doesn't even help. |
| 02:51 | diakopter | TimToady: see p6eval above |
| 02:52 | (I don't know whether that's correct) | |
| 02:52 | lue | rakudo: say 15 % 2 == 0 |
| 02:52 | p6eval | rakudo 974d9a: OUTPUT«0» |
| 02:52 | colomon | rakudo: { class Foo { method bar() { say "bar"; }; }; }; my $a = Foo.new; $a.bar |
| 02:52 | PerlJam | lue: you monkey patch .odd and .even methods :) |
| 02:52 | p6eval | rakudo 974d9a: OUTPUT«Could not find non-existent sub &Foocurrent instr.: '_block14' pc 29 (EVAL_1:0)» |
| 02:52 | TimToady | rakudo: say 15 !% 2 |
| 02:52 | 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)» |
| 02:52 | lue | those are supposed to exist!? |
| 02:53 | TimToady | alpha: say 15 !% 2 |
| 02:53 | p6eval | alpha 30e0ed: OUTPUT«0» |
| 02:54 | diakopter | alpha: say 15 % 2 ?? "odd" !! "even" |
| 02:54 | TimToady | class foo is visible only inside baz |
| 02:54 | p6eval | alpha 30e0ed: OUTPUT«odd» |
| 02:54 | diakopter | oh |
| 02:54 | PerlJam | Hmm. .odd is actually mentioned in S04:332 |
| 02:54 | lue | alpha: say 15.odd |
| 02:54 | TimToady | std: package bar { class baz { class foo { }; say foo; }; say baz::foo; } |
| 02:54 | p6eval | alpha 30e0ed: OUTPUT«Method 'odd' not found for invocant of class 'Int'in Main (file src/gen_setting.pm, line 324)» |
| 02:54 | std 29951: OUTPUT«ok 00:01 105m» | |
| 02:54 | PerlJam | I guess I'm not the only one who channels his inner ruby programmer occasionally. |
| 02:54 | TimToady | std: package bar { class baz { class foo { }; say foo; }; say bar::baz::foo; } |
| 02:55 | diakopter | std: package bar { { class foo { }; say foo; }; say foo; } |
| 02:55 | p6eval | std 29951: OUTPUT«ok 00:01 105m» |
| 02:55 | std 29951: OUTPUT«ok 00:02 105m» | |
| 03:03 | new_perl6_hacker joined #perl6 | |
| 03:04 | 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 | 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 |
| 03:06 | colomon | o/ |
| 03:06 | new_perl6_hacker | @m-locks its morning here |
| 03:06 | k23z__ | !tell garu test |
| 03:06 | m-locks | it's 5am, about my bedtime ;P |
| 03:06 | new_perl6_hacker | Good night |
| 03:06 | TimToady | I have to get up at 5am to see if I'm in a panel discussion... |
| 03:07 | 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 -> |
| 03:07 | colomon | new_perl6_hacker: but if you have { } inside a double-quote string, it is executed and the result inserted into the string. |
| 03:07 | PerlJam | new_perl6_hacker: what makes you think rakudo does differentiate those things? |
| 03:08 | colomon++ ah, good point | |
| 03:08 | lue | I was going to program a little something featured in today's XKCD comic (http://xkcd.com/710/), but I think programming .odd and .even first'd be more fun |
| 03:08 | (and in P6 this time) | |
| 03:08 | new_perl6_hacker | @PerlJam how will then find what methods I can invoke on strings and what methods I can invoke code objects |
| 03:09 | 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. | |
| 03:09 | PerlJam | rakudo: "string".^methods.sy |
| 03:09 | er ... | |
| 03:09 | rakudo: "string".^methods.say | |
| 03:10 | p6eval | rakudo 974d9a: ( no output ) |
| 03:10 | rakudo 974d9a: OUTPUT«maximum recursion depth exceededcurrent instr.: 'perl6;Seq;!fill' pc 13790 (src/builtins/Multi.pir:22)» | |
| 03:10 | Tene | rakudo: {say "hi"}.^methods.perl.say |
| 03:10 | p6eval | rakudo 974d9a: OUTPUT«maximum recursion depth exceededcurrent instr.: 'perl6;Seq;!fill' pc 13790 (src/builtins/Multi.pir:22)» |
| 03:10 | Tene | ah, looks like that's broken ATM |
| 03:10 | alpha: {say "hi"}.^methods.perl.say | |
| 03:10 | p6eval | alpha 30e0ed: OUTPUT«[{ ... }, { ... }]» |
| 03:10 | PerlJam | heh |
| 03:10 | Tene | anyway, it's in the class. |
| 03:10 | lue | graphviz...? |
| 03:10 | PerlJam | alpha: "String".^methods.say |
| 03:10 | p6eval | alpha 30e0ed: |
| 03:10 | ..OUTPUT«sprintfScalarComplexStrpredsuccencodeperlACCEPTSWHICHatanminacosmaxbytesevalchopsinrindextanhIntvaluesasinhacosechabsendceilingp5chompkeyskvfloorasechordcapitalizepickroundevalfileintsplitmatchacoshwordsp5choplcjoinsinhcotanacotanatan2reducesrandtrimasecreversecotanhisapolar:d:eucf… | |
| 03:11 | 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 |
| 03:11 | ..acosec wo… | |
| 03:11 | Tene | lue: http://graphviz.org/ |
| 03:11 | lue: a simple text format for describing and rendering graphs. | |
| 03:12 | new_perl6_hacker | And I will be able to execute that as &"string" or $string = "some code" ; &$string |
| 03:13 | TimToady | not like that |
| 03:13 | Tene | lue: http://upload.wikimedia.org/wi[…]h-all-30-no27.svg looks like it was generated with graphviz. |
| 03:13 | 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. | |
| 03:13 | TimToady | you have to work harder to do symbolic lookups in Perl 6 |
| 03:14 | but then there's no strict refs anymore | |
| 03:15 | new_perl6_hacker | Then all strings must ideally have 'eval' invokable on them |
| 03:15 | TimToady | eval is never ideal :) |
| 03:15 | lue | Tene: aah. I thought you were talking about P6 testing results :) |
| 03:16 | 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:17 | 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...) |
| 03:18 | 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 |
| 03:19 | reflection basically | |
| 03:19 | PerlJam | alpha: my @a = "a".."z"; @a."join"(" ")."say" # :) |
| 03:19 | 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» |
| 03:20 | 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:21 | 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? |
| 03:21 | new_perl6_hacker | Ruby and Python |
| 03:22 | 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 #perl6 | |
| 03:22 | PerlJam | (either that or smalltalk or something, but those are rared) |
| 03:22 | er, rarer | |
| 03:23 | new_perl6_hacker | I think I'm getting confused, because I'm thinking everything from OOperspective . |
| 03:23 | colomon | rakudo: "say 'hello'".eval |
| 03:23 | p6eval | rakudo 974d9a: OUTPUT«hello» |
| 03:24 | 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 |
| 03:24 | ..cho… | |
| 03:24 | PerlJam | alpha: "blah".^methods.map(*.name).grep({ $_ ~~ /^e/ }).join(" ").say |
| 03:24 | p6eval | alpha 30e0ed: OUTPUT«encode eval elems evalfile exp end eigenstates» |
| 03:25 | PerlJam | there you go |
| 03:26 | Tene | alpha: say "foo".^can('eval') |
| 03:26 | p6eval | alpha 30e0ed: OUTPUT«eval» |
| 03:26 | Tene | alpha: say "foo".^can('eval').WHAT |
| 03:26 | p6eval | alpha 30e0ed: OUTPUT«» |
| 03:28 | PerlJam | hmm |
| 03:28 | why did WHICH appear in the list twice? | |
| 03:28 | and Scalar and Str | |
| 03:30 | lue | there's a WHENCE option? (001 ! |
| 03:30 | rakudo: say 4.WHENCE | |
| 03:30 | p6eval | rakudo 974d9a: OUTPUT«» |
| 03:31 | PerlJam | lue: WHENCE autovivifies an object |
| 03:31 | it's a closure from whence the object cometh | |
| 03:34 | lue | 'tis a closure whencefrom thy object cometh. (Old English translation free of charge :D ) |
| 03:36 | new_perl6_hacker | :) just got a feeling that all programs(The mail program) go into a eval function inside the compiler. |
| 03:37 | *The main program* | |
| 03:37 | Tene | That's right. |
| 03:37 | 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. | |
| 03:38 | 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:40 | lue | Our main goal is having the P6 interpreter run itself (be written in P6 code). |
| 03:40 | The key, IMO, is recursive definition :) | |
| 03:40 | TimToady | well, it was a killer feature in Perl 3 or so |
| 03:41 | colomon | and in Lisp, Ruby, etc. |
| 03:41 | still, it's an awesome feature. | |
| 03:41 | TimToady | but usually it's an escape valve indicating a missing feature elsewhere |
| 03:43 | we treat BEGIN the same say | |
| 03:43 | Sarten-X joined #perl6 | |
| 03:44 | 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 |
| 03:46 | http://xkcd.com/327/ | |
| 03:48 | lue | TimToady: love that one :) |
| 03:49 | TimToady | PerlJam: we don't, just the good ones. |
| 03:49 | I blame Gödel... | |
| 03:49 | PerlJam | and Escher and Bach ;) |
| 03:50 | lue | Don't forget Thought. That guy takes forever to figure things out. :) |
| 03:52 | .xkcd(fun with chess: http://xkcd.com/249/) | |
| 03:54 | rakudo: say chr(0xFDD0) | |
| 03:54 | p6eval | rakudo 974d9a: OUTPUT«» |
| 03:54 | lue | .u � |
| 03:54 | phenny | U+FFFD REPLACEMENT CHARACTER (�) |
| 03:54 | PerlJam | you could do a good meta comic on photoshopping the chess board in that one |
| 03:55 | TimToady | don't photoshop the chess board, just photoshop me into xkcd :) |
| 03:57 | lue | WIN! (quick, somebody get Larry's head off of Yahoo Images!!!) |
| 03:58 | colomon | Woah, I knew the Gathering was in process, but I didn't know someone had already taken Larry's head! |
| 03:58 | lue | http://xkcd.com/365/ yet another conference the poor guy can't go to :) |
| 04:01 | 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. |
| 04:02 | I have the t-shirt for one... | |
| 04:02 | PerlJam | colomon: yeah, but one of them is called "lisp" |
| 04:02 | lue | I honestly cannot remember if there werl Perl comics on XKCD :) |
| 04:02 | s/werl/were/ | |
| 04:03 | colomon | http://xkcd.com/224/ |
| 04:03 | http://xkcd.com/208/ | |
| 04:04 | new_perl6_hacker | If an exception happen inside an eval, should the main program see it? |
| 04:04 | TimToady | no, it's trapped in $! |
| 04:06 | lue | according to number 224, Larry has tight (if possibly indirect) connections with God (all hail!) |
| 04:07 | .xkcd(http://xkcd.com/18/ we need more of these jokes) | |
| 04:09 | * lue | will paste a bunch of xkcd comic links to pastebin instead of flooding the channel |
| 04:21 | lisppaste3 | lue pasted "XKCD comic links" at http://paste.lisp.org/display/95996 |
| 04:23 | mj41_ joined #perl6 | |
| 04:42 | lue | heelooo-oooh |
| 04:44 | rv2733 joined #perl6 | |
| 04:45 | abra joined #perl6 | |
| 04:56 | lue | saluton? Hello? Bonjour? anyone? |
| 04:59 | * TimToady | is hiding behind a cricket |
| 05:01 | lue | ah, that's where you are. |
| 05:11 | quietfanatic_ joined #perl6 | |
| 05:12 | new_perl6_hacker | What is the maximum value of anything Inf can hold? |
| 05:12 | diakopter | -Inf |
| 05:13 | TimToady | how much memory do you have? |
| 05:13 | new_perl6_hacker | :) |
| 05:13 | lue | rakudo: say 0..3; say [0,3]; say [0,4) |
| 05:13 | * diakopter | sprixels along |
| 05:13 | 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)» |
| 05:14 | lue | .oO(interval notation would be interesting for the "official P6 module" (as well as set-builder, possibly)) |
| 05:14 | TimToady | no need |
| 05:14 | 0..^4 is already there | |
| 05:15 | 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" :) |
| 05:16 | 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 |
| 05:16 | p6eval | rakudo 974d9a: ( no output ) |
| 05:16 | lue | rakudo: say 0..^Inf |
| 05:17 | p6eval | rakudo 974d9a: ( no output ) |
| 05:17 | TimToady | rakudo: say (0..Inf).batch(10) |
| 05:17 | p6eval | rakudo 974d9a: OUTPUT«Method 'batch' not found for invocant of class 'Range'current instr.: '_block14' pc 29 (EVAL_1:0)» |
| 05:17 | TimToady | rakudo: say (0..Inf).iterator.batch(10) |
| 05:17 | p6eval | rakudo 974d9a: OUTPUT«0123456789» |
| 05:17 | TimToady | oughta do that automatically, methinks |
| 05:18 | rakudo: say (0...*).batch(10) | |
| 05:18 | p6eval | rakudo 974d9a: OUTPUT«0123456789» |
| 05:19 | 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. |
| 05:19 | The downside is probable bloatedness | |
| 05:20 | new_perl6_hacker | diakopter why does http://perlcabal.org/~fglock/perlito.html give an error message to say 'hello,word!'; |
| 05:21 | 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:22 | 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. |
| 05:22 | japhb: although I should probably also look at the pcc refactor branch. | |
| 05:22 | japhb | Tene, \o/ |
| 05:23 | aww. I hate tuit conflicts. :-/ | |
| 05:24 | lue | I got a Norweigan Blue Parrot for the occasion (of OpenGL/SDL implementation) :) |
| 05:24 | japhb | :-) |
| 05:24 | Tene | japhb: with any luck, I'll feel conflicted and not work on either of them. :) |
| 05:24 | japhb | :-P |
| 05:25 | 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. |
| 05:25 | That reminds me, I need to throw some tuits at plumage | |
| 05:26 | lue | Tene: if you don't work on anything parrot-related (due to conflict), then you're the pet shop owner :) |
| 05:38 | gfx joined #perl6 | |
| 05:44 | new_perl6_hacker | Is http://perlcabal.org/~fglock/perlito.html the sprixel project? |
| 05:46 | TimToady | no |
| 05:49 | lue | goodbye, see you during the hackathon tomorrow |
| 06:08 | athenot joined #perl6 | |
| 06:12 | perlster joined #perl6 | |
| 06:33 | quietfanatic joined #perl6 | |
| 07:53 | uniejo joined #perl6 | |
| 07:54 | uniejo | All Perl6 speaks today are moved into room 4A16 |
| 07:55 | aesop joined #perl6 | |
| 08:10 | jonasbn joined #perl6 | |
| 08:16 | new_perl6_hacker joined #perl6 | |
| 08:41 | meppl joined #perl6 | |
| 08:43 | iblechbot joined #perl6 | |
| 09:06 | Su-Shee joined #perl6 | |
| 09:20 | uniejo joined #perl6 | |
| 09:32 | k23z__ | err .. |
| 09:32 | room 4A16 ? | |
| 09:33 | kfo joined #perl6 | |
| 09:35 | arlinius joined #perl6 | |
| 09:35 | arnsholt | k23z__: That's where we are, yes |
| 09:36 | The Copenhagen hackathon =) | |
| 09:37 | Su-Shee | good morning |
| 09:37 | arnsholt | 'morning Su-Shee |
| 09:38 | k23z__ | hmm |
| 09:51 | mberends joined #perl6 | |
| 09:52 | jonasbn | k23z__: where are you at? |
| 09:53 | 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 :-) |
| 09:56 | jnthnandmasakbot++ is giving what would have been moritz_++'s grammar and regex talk | |
| 09:57 | 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 |
| 09:58 | baest | :) |
| 09:58 | jonasbn | Su-Shee: we are not contribution right now, we are in the brainwash phase |
| 09:58 | contributing even | |
| 10:00 | cotto joined #perl6 | |
| 10:00 | xabbu42 joined #perl6 | |
| 10:04 | payload joined #perl6 | |
| 10:08 | Su-Shee | well I hope you've got fun and it's a great weekend. :) |
| 10:09 | mberends | :) |
| 10:18 | k23z__ | jonasbn: sorry for confusing you, I am not there , I am maybe 2000km away |
| 10:21 | rv2733 joined #perl6 | |
| 10:26 | orafu joined #perl6 | |
| 10:42 | eternaleye joined #perl6 | |
| 10:47 | fridim joined #perl6 | |
| 10:48 | xinming_ joined #perl6 | |
| 10:51 | krr joined #perl6 | |
| 10:57 | jonasbn | ah |
| 10:57 | hehehe | |
| 10:57 | lisppaste3 | baest pasted "Patch which ensures === returns bool not int" at http://paste.lisp.org/display/96001 |
| 10:58 | baest | based on http://github.com/rakudo/rakud[…]1b5ca4855845517e5 and http://github.com/rakudo/rakud[…]efe612a7e10487525 |
| 10:59 | fod joined #perl6 | |
| 10:59 | fod left #perl6 | |
| 11:02 | mberends | nom & |
| 11:12 | z3ndrag0n joined #perl6 | |
| 11:30 | kidd joined #perl6 | |
| 11:43 | uniejo joined #perl6 | |
| 11:43 | snarkyboojum joined #perl6 | |
| 11:49 | Su-Shee joined #perl6 | |
| 11:51 | clintongormley joined #perl6 | |
| 11:56 | snarkyboojum_ joined #perl6 | |
| 12:03 | masak joined #perl6 | |
| 12:03 | masak | oh hai from Copenhagen, #perl6! |
| 12:03 | arnsholt | Oh hai from the next row, masak! |
| 12:04 | quester joined #perl6 | |
| 12:04 | mberends joined #perl6 | |
| 12:05 | masak | mberends: lol I can see you both on- and offline! :D |
| 12:05 | jnthn++ is on now, by the way. | |
| 12:05 | giving his famous "solved in Perl 6" talk. | |
| 12:06 | mberends | masak: stop chattering and pay attention to the talk! |
| 12:07 | * masak | obliges :) |
| 12:07 | cognominal joined #perl6 | |
| 12:07 | payload joined #perl6 | |
| 12:09 | Su-Shee | oO(live from the benches in copenhagen.. ;) |
| 12:09 | payload joined #perl6 | |
| 12:09 | arnsholt | Su-Shee: Peanut gallery, more like ;) |
| 12:10 | 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:13 | ned | so jealous. |
| 12:23 | colomon | o/ |
| 12:30 | wknight8111 joined #perl6 | |
| 12:33 | 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)» |
| 12:33 | quester | rakudo: augment class Integer { method even { ? ( self % 2 ) } }; 42.even.say; |
| 12:33 | p6eval | rakudo 974d9a: OUTPUT«Can't augment something that doesn't existcurrent instr.: 'perl6;Perl6;Grammar;add_name' pc 34122 (src/gen/perl6-grammar.pir:242)» |
| 12:34 | * quester | wonders what class 42 really is... |
| 12:35 | masak | my talk is online now. it's linked at the bottom of http://feather.perl6.nl/~masak/ |
| 12:36 | thanks to all the people on the channel who helped yesterday with the slides :) | |
| 12:36 | mberends | rakudo: say 42.WHAT # for quester |
| 12:36 | p6eval | rakudo 974d9a: OUTPUT«Int()» |
| 12:37 | colomon | rakudo: say PARROT(42) |
| 12:37 | p6eval | rakudo 974d9a: OUTPUT«Integer» |
| 12:37 | colomon | rakudo: say PARROT(1+41) |
| 12:37 | p6eval | rakudo 974d9a: OUTPUT«Integer» |
| 12:37 | arnsholt | Ah, there are some issues with augmenting classes that come from Parrot, no? |
| 12:39 | 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. | |
| 12:40 | masak | the latter, methinks. |
| 12:41 | 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:42 | 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) |
| 12:42 | p6eval | rakudo 974d9a: OUTPUT«42» |
| 12:43 | colomon | rakudo: say PARROT( pir::box__PI(42)) |
| 12:43 | p6eval | rakudo 974d9a: OUTPUT«Integer» |
| 12:43 | colomon | blast, that doesn't help. |
| 12:43 | quester | rakudo: pir::box__PI(42).perl.even.say; |
| 12:43 | p6eval | rakudo 974d9a: OUTPUT«Method 'even' not found for invocant of class 'String'current instr.: '_block14' pc 29 (EVAL_1:0)» |
| 12:44 | * quester | ...String...? |
| 12:44 | colomon | .perl returns Str |
| 12:44 | well, String maybe. | |
| 12:44 | you're finding all the cracks this morning. | |
| 12:44 | quester | colomon: Thank you. Brain fail. |
| 12:44 | colomon | and my fuddled brain isn't remembering how to work around them. |
| 12:45 | masak | quester: 'String' is also a Parrot type. |
| 12:46 | 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 #perl6 | |
| 12:47 | quester | masak: Isnt Perl6Str supposed to be, um... hiddien away inside of Rakudo, too? |
| 12:47 | uniejo | rakudo: say (+pir::box__PI(42)).WHAT |
| 12:47 | quester | s/hiddien/hidden/ |
| 12:47 | p6eval | rakudo 974d9a: OUTPUT«Num()» |
| 12:47 | masak | quester: yes, I think so. |
| 12:47 | quester: sometimes error messages leak through. | |
| 12:48 | colomon | rakudo: say PARROT(42.Num.Int) |
| 12:48 | p6eval | rakudo 974d9a: OUTPUT«Int» |
| 12:48 | colomon | aha! |
| 12:48 | 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)» |
| 12:49 | masak | copypaste fail. |
| 12:49 | colomon | rakudo: augment class Int { method even { ? ( self % 2 ) } }; 42.Num.Int.even.say; 41.Num.Int.even.say; |
| 12:49 | p6eval | rakudo 974d9a: OUTPUT«01» |
| 12:49 | TimToady | good morning |
| 12:49 | colomon | So augment works, but .even is backwards. |
| 12:49 | TimToady: o/ | |
| 12:49 | TimToady | who's winning? |
| 12:50 | pmichaud | hello, #perl6 |
| 12:50 | colomon | \o |
| 12:50 | masak | pmichaud! \o/ |
| 12:50 | TimToady | hah, I beat pmichaud |
| 12:50 | quester | colomon: Thank you. Err... yes, that would be another brain failure on my part, sorry... |
| 12:50 | masak | pmichaud, TimToady: all the peeps here say OH HAI |
| 12:50 | you'll soon be on-screen, I expect. | |
| 12:50 | pmichaud | OH HAI PEEPS! |
| 12:50 | TimToady | OH HAI PEEPS!!! |
| 12:50 | pmichaud | (hah, I beat TimToady) |
| 12:51 | TimToady | hah, beat pmichaud++ again on !!! |
| 12:51 | masak | :) |
| 12:51 | jnthn | oh hai |
| 12:51 | masak | not on-screen yet. :) |
| 12:51 | TimToady | aww |
| 12:51 | masak | now! |
| 12:51 | colomon | oh, no, am I going to have to behave this morning? |
| 12:51 | pmichaud | OH HAI PEEPS!!! |
| 12:51 | masak | *lol* |
| 12:51 | colomon | o/ |
| 12:51 | jnthn | :-) |
| 12:52 | 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... |
| 12:55 | masak | *lol* http://twitter.com/Jippi/status/10071258756 |
| 12:55 | jonasbn joined #perl6 | |
| 12:55 | jonasbn | http://twitter.com/Jippi/status/10071258756 |
| 12:56 | argh masak beat me to it | |
| 12:56 | TimToady | Perl 6 is trying to beat everyone to everything, more or less... |
| 12:57 | jonasbn | so actually the only scary thing is the high chance of success |
| 12:58 | pmichaud | I _wish_ that were the only scary thing :) |
| 12:58 | TimToady | jnthn++ is always scary |
| 12:59 | jnthn | ..compliment? :-) |
| 12:59 | .oO( well, at least I got karma... ) | |
| 12:59 | masak | jnthn++ # scary! |
| 13:00 | mberends | jnthn ~~ scary # True |
| 13:01 | 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)» |
| 13:01 | TimToady | alpha: say "scary" but True |
| 13:01 | p6eval | alpha 30e0ed: OUTPUT«The but operator can only be used with a role or enum value on the right hand sidein Main (file <unknown>, line <unknown>)» |
| 13:01 | TimToady | well, at least it's a different error now... |
| 13:02 | or, maybe, it was a different error then... | |
| 13:06 | 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? |
| 13:06 | TimToady | uh, no |
| 13:06 | only 'foo' is aliased | |
| 13:07 | 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) | |
| 13:07 | p6eval | rakudo 974d9a: OUTPUT«1Constraint type check failed for parameter '$x'current instr.: 'bar' pc 255 (EVAL_1:102)» |
| 13:09 | TimToady | looks like it's getting the wrong $a to me |
| 13:09 | * masak | submits rakudobug |
| 13:09 | TimToady | ($a isn't a parameter though) |
| 13:10 | 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); | |
| 13:10 | p6eval | rakudo 974d9a: OUTPUT«Symbol '$a' not predeclared in barcurrent instr.: 'perl6;PCT;HLLCompiler;panic' pc 137 (compilers/pct/src/PCT/HLLCompiler.pir:101)» |
| 13:10 | pmichaud | looks like the where clause is attached to the wrong outer scope |
| 13:10 | TimToady | it does at that |
| 13:11 | Zn4rK joined #perl6 | |
| 13:12 | 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» |
| 13:13 | 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 | |
| 13:13 | masak | nod. |
| 13:13 | TimToady | std: sub foo() { my $a = 2; our sub bar($x where $x) { say $a } }; bar(2); |
| 13:14 | pmichaud | I think that rakudo somewhat gets that right already |
| 13:14 | p6eval | std 29952: OUTPUT«ok 00:01 107m» |
| 13:14 | masak | a parameter list actually introduces a lot of small nested scopes, doesn't it? |
| 13:14 | pmichaud | rakudo: sub foo($a, $x where $a) { say $x; }; foo(2,2); |
| 13:14 | p6eval | rakudo 974d9a: OUTPUT«2» |
| 13:14 | pmichaud | rakudo: sub foo($a, $x where $a) { say $x; }; foo(2,3); |
| 13:14 | p6eval | rakudo 974d9a: OUTPUT«Constraint type check failed for parameter '$x'current instr.: 'foo' pc 181 (EVAL_1:77)» |
| 13:15 | 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 |
| 13:15 | TimToady | I don't have a parameter block, I just use the one that will end up inside {} |
| 13:15 | Zn4rK | hej niklas |
| 13:16 | TimToady | scared me, thought it was christmas already |
| 13:16 | frettled | Now that's worrysome. |
| 13:17 | masak | jnthn++ mberends++ # you are so awesome |
| 13:17 | * pmichaud | agrees with masak++ |
| 13:19 | TimToady | *++ |
| 13:19 | masak | std: *++ |
| 13:19 | p6eval | std 29952: OUTPUT«ok 00:01 104m» |
| 13:19 | TimToady | rakudo: say grep *++, 1,2,3 |
| 13:19 | p6eval | rakudo 974d9a: OUTPUT«Cannot assign to readonly valuecurrent instr.: '&die' pc 16803 (src/builtins/Junction.pir:347)» |
| 13:20 | masak | that's correct, no? |
| 13:20 | TimToady | rakudo: my @foo = 1,2,3; say grep *++, @foo |
| 13:20 | p6eval | rakudo 974d9a: OUTPUT«Cannot assign to readonly valuecurrent instr.: '&die' pc 16803 (src/builtins/Junction.pir:347)» |
| 13:20 | colomon | wait, did that whatever just form a closure in Rakudo? |
| 13:20 | TimToady | maybe not |
| 13:20 | pmichaud | no, it's attempting to increment the Whatever constant :-) |
| 13:20 | TimToady | rakudo: say (*++).WHAT |
| 13:20 | p6eval | rakudo 974d9a: OUTPUT«Cannot assign to readonly valuecurrent instr.: '&die' pc 16803 (src/builtins/Junction.pir:347)» |
| 13:20 | pmichaud | rakudo: say (*).WHAT; |
| 13:20 | TimToady | I think the answer is no |
| 13:20 | p6eval | rakudo 974d9a: OUTPUT«Whatever()» |
| 13:21 | pmichaud | rakudo: say (*).succ |
| 13:21 | p6eval | rakudo 974d9a: OUTPUT«!whatever_dispatch_helper» |
| 13:21 | colomon | rakudo: say (*+1).WHAT |
| 13:21 | p6eval | rakudo 974d9a: OUTPUT«Method 'Num' not found for invocant of class 'Block'current instr.: 'perl6;Mu;' pc -1 ((unknown file):-1)» |
| 13:21 | pmichaud | (no, we aren't doing whatever closures just yet) |
| 13:21 | TimToady | alpha: say (*++).WHAT |
| 13:21 | p6eval | alpha 30e0ed: OUTPUT«Block()» |
| 13:21 | TimToady | alpha: my @foo = 1,2,3; say grep *++, @foo |
| 13:21 | p6eval | alpha 30e0ed: OUTPUT«123» |
| 13:22 | TimToady | alpha: my @foo = 1,2,3; say grep ++*, @foo |
| 13:22 | p6eval | alpha 30e0ed: OUTPUT«123» |
| 13:22 | TimToady | alpha: my @foo = 1,2,3; say map ++*, @foo |
| 13:22 | p6eval | alpha 30e0ed: OUTPUT«111» |
| 13:22 | TimToady | er... |
| 13:22 | masak | it's not forming a closure. |
| 13:22 | that's the whole explanation. | |
| 13:22 | TimToady | alpha: my @foo = 1,2,3; say map +*, @foo |
| 13:22 | p6eval | alpha 30e0ed: OUTPUT«123» |
| 13:24 | 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 | :) |
| 13:24 | std: * ?? * !! * | |
| 13:24 | p6eval | std 29952: OUTPUT«ok 00:01 105m» |
| 13:24 | TimToady | but not to ternery :) |
| 13:24 | colomon | TimToady: should that be all binaries excepting the Range constructors? |
| 13:25 | TimToady | all ops except those that declare they will do it themselves |
| 13:25 | which Range will | |
| 13:25 | colomon | How do you declare that? |
| 13:26 | TimToady | proto infix:<..> ($min, $max) is like(Whatever-and-stuff) {...} |
| 13:26 | where "stuff" is WhateverCode | |
| 13:27 | :) | |
| 13:27 | Zn4rK | niklas jag tror i m�ste g� |
| 13:27 | masak | Zn4rK: fel kanal? |
| 13:27 | TimToady | S02:936 |
| 13:29 | * TimToady | wonders if 'fel' is related to olde english 'fell', as in 'a fell beast' |
| 13:29 | * masak | checks |
| 13:30 | masak | 'fell' comes from Goth 'falljan', 'to cause to fall'. |
| 13:30 | oh wait. | |
| 13:30 | that's the verb. | |
| 13:31 | TimToady | to cause jan to fall :) |
| 13:31 | masak | the adjective comes from Old French, nominative of 'felon', wicked. |
| 13:31 | frettled | masak: so that fell was a FAIL :) |
| 13:31 | pmichaud | 'felon' vs. 'fallen', I wonder? |
| 13:31 | TimToady | which might still be related to "fallen" if you go back |
| 13:31 | where's my AmHer... | |
| 13:32 | masak | Swedish 'fel' ultimately comes from French 'faute', so seemingly not related. |
| 13:32 | arnsholt | Yeah, Norwegian "feil" is ultimately connected with Latin fallere |
| 13:33 | masak | we also have a verb, 'att fela', meaning 'to err'. |
| 13:33 | colomon | TimToady++ |
| 13:33 | masak | so it seems to have more to do with failure than falling. |
| 13:33 | arnsholt | I think the f in falljan would have a different reflex in its Latin cognate |
| 13:33 | frettled | Rewind: maybe I should've said «that was a fell fel fail» |
| 13:33 | masak | frettled: :) |
| 13:34 | 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 |
| 13:35 | masak | that's wicked, for sure. |
| 13:35 | jnthn | Grr. :-/ So Rakudo won't build on Win 7. :-( |
| 13:35 | (segfault when loadlib-ing dynops from a PBC...) | |
| 13:36 | 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:37 | 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 &. |
| 13:38 | TimToady | I dunno |
| 13:38 | masak | quester: :) |
| 13:38 | * colomon | has been dreaming about math on closures for about ten months now.... ;) |
| 13:39 | TimToady | 'course, 'round here people pronounce it Vietnamese, which doesn't rhyme |
| 13:41 | quester left #perl6 | |
| 13:43 | TimToady | if we did, we'd probably have to make Whatever a kind of junctional, outside-of-any type |
| 13:44 | 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 |
| 13:44 | yes, but without writing out the actual subs | |
| 13:45 | * TimToady | tries to grok * + (1|2) |
| 13:46 | masak | o.O |
| 13:47 | pmichaud | alpha: my $a = * + (1|2); say $a(3); |
| 13:47 | p6eval | alpha 30e0ed: OUTPUT«any(4)» |
| 13:47 | masak | hm. |
| 13:47 | pmichaud | hm. |
| 13:47 | TimToady | hm! |
| 13:47 | hm? | |
| 13:47 | colomon | huh? |
| 13:47 | pmichaud | alpha: my $a = 3 + (1|2); say $a; |
| 13:47 | p6eval | alpha 30e0ed: OUTPUT«any(4, 5)» |
| 13:48 | pmichaud | well, alpha sees * + (1|2) as a junctional dispatch |
| 13:48 | so I'm not sure what ends up in $a | |
| 13:48 | alpha: my $a = * + (1|2); say $a.WHAT; | |
| 13:48 | p6eval | alpha 30e0ed: OUTPUT«Junction()» |
| 13:49 | pmichaud | so, $a ends up as a junction of WhateverCode, I guess. |
| 13:49 | TimToady | .(3) oughta autothread over that, ya'd think |
| 13:49 | jnthn | Aye, it'd auto-thread. |
| 13:50 | kfo joined #perl6 | |
| 13:52 | * TimToady | wonders whether Whatever and WhateverCode are really strange parametric junctions... |
| 13:53 | TimToady | what's my brane doing all over the room in bits? |
| 13:54 | masak | we're simultaneously praising and hating {*} and #= right now in Copenhagen... |
| 13:54 | TimToady | #= is already dead, as far as I'm concerned |
| 13:55 | masak | it's still in S05. |
| 13:55 | pmichaud | yes, it doesn't get used much anymore |
| 13:55 | jonasbn | that would be undead then |
| 13:55 | TimToady | hmm |
| 13:55 | pmichaud | we could likely de-huffmanize #= now that it's less common |
| 13:55 | masak | yes, please. |
| 13:55 | pmichaud | i.e., put any parameters as part of the {*} token. |
| 13:56 | s/parameters/arguments/ | |
| 13:56 | pugssvn | r29953 | lwall++ | [S05] kill {*} and #= |
| 13:56 | masak | \o/ |
| 13:56 | pmichaud | oh, is {*} gone? |
| 13:57 | that may end up being... unfortunate. | |
| 13:57 | although I guess one can always do a direct closure instead. | |
| 13:57 | jnthn | ...grr, that's a pain. |
| 13:57 | TimToady | the presence of {*} almost always indicates the need to refactor |
| 13:57 | jnthn | You get away with it in STD because you only care about parsing, not actually Doing Stuff. :-) |
| 13:57 | TimToady | STD hasn't used {*} for months |
| 13:58 | 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... |
| 13:58 | pmichaud | jnthn: we already have another way |
| 13:58 | TimToady | well, we can still have an action call, but {*} #= won't be it, I suspect |
| 13:58 | jnthn | pmichaud: well, yes, but I'm lazy :-) |
| 13:58 | TimToady | see <O()> |
| 13:59 | 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 | |
| 13:59 | we get | |
| 13:59 | proto token infix is binary is defequiv(%additive) { <sym> <O(|%additive)> } | |
| 14:00 | masak | 'defequiv'? |
| 14:00 | TimToady | but then the O is wrong if they 'is equiv' it |
| 14:00 | that's redundant, if we put the <O> | |
| 14:00 | proto token infix is binary { <sym> <O(|%additive)> } | |
| 14:00 | or | |
| 14:00 | proto token infix is binary is defequiv(%additive) { <sym> <O(*)> } | |
| 14:00 | colomon | jnthn: any luck with Hash attributes? |
| 14:01 | 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" |
| 14:01 | it's a *handy* place tho | |
| 14:01 | jnthn | (Get a segfault) |
| 14:01 | colomon | jnthn: oh noes! |
| 14:02 | masak | std: ?( $*RIGHT === $*HANDY ) |
| 14:02 | new_perl6_hacker joined #perl6 | |
| 14:02 | p6eval | std 29952: OUTPUT«ok 00:01 108m» |
| 14:02 | masak | new_perl6_hacker: welcome back! |
| 14:02 | martinro joined #perl6 | |
| 14:02 | masak | martinro: hey :) |
| 14:02 | TimToady | s/new/newish/ |
| 14:02 | new_perl6_hacker | thanks, I was there this morning ... |
| 14:02 | 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... |
| 14:03 | jnthn | colomon: Yes. |
| 14:04 | 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. :) |
| 14:04 | jnthn | Yeah...the issue is...nasty. |
| 14:05 | OH!! | |
| 14:06 | colomon | The problem is you're using Windows? :) |
| 14:06 | masak | colomon: how intolerant! :) |
| 14:06 | jnthn | IIUC, the problem is that a realloc call is made...and the return value is ignored. |
| 14:06 | *sigh* | |
| 14:07 | masak | jnthn: so freed memory space is subsequently overwritten? |
| 14:07 | colomon | that seems like a bad thing on any platform? |
| 14:07 | jnthn | well, the point ain't updated to the new location |
| 14:07 | colomon: Yes, it is. | |
| 14:07 | C writing fail. | |
| 14:08 | re-compiled Parrot now...maybe it's fixed it. | |
| 14:08 | * jnthn | crosses fingers |
| 14:08 | masak | he actually crossed them, too. |
| 14:08 | 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... |
| 14:09 | jnthn | omg, I think it helped... |
| 14:09 | colomon: I just stuck with XP. :-) | |
| 14:09 | (Until Win7 arrived) | |
| 14:09 | masak | colomon: Software sucks. |
| 14:10 | arnsholt | jnthn: I knocked on wood earlier today. It triggered my segfault again =) |
| 14:10 | 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:11 | jnthn | OK, I have a patch that fixes my build. I can haz a productive again. |
| 14:11 | colomon | \o/ |
| 14:11 | TimToady | jnthn++ has a fail fail |
| 14:12 | Psyche^ joined #perl6 | |
| 14:12 | masak | no, a fail fail isn't the same thing as fixing something. |
| 14:12 | TimToady | does that make it a fail fail fail? |
| 14:12 | masak | the fail had a fail, possibly. |
| 14:12 | jnthn | Well, it does now fail to fail. |
| 14:13 | masak | How much fail would a fail fail fail, if a fail fail could fail fail? |
| 14:13 | TimToady | cheezburgerz |
| 14:14 | 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 |
| 14:14 | masak | didn't quietfanatic do an NCI in Perl 6 at one point? |
| 14:15 | 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 |
| 14:15 | masak | mostly a kind of newbie tutorial. |
| 14:15 | pmichaud | (newbie tutorial) +1 |
| 14:15 | TimToady | ISFINE |
| 14:15 | pmichaud | that was what I had been planning for my slot anyway |
| 14:16 | 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 |
| 14:16 | TimToady | was planning to spend the weekend several TZ to the east of here anyway, so as not to miss all the hackathon |
| 14:16 | pmichaud | same here |
| 14:16 | (still planning to do that) | |
| 14:17 | 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 |
| 14:17 | 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. |
| 14:18 | 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. |
| 14:18 | arnsholt | That NCI stuff was very, very cool |
| 14:19 | new_perl6_hacker joined #perl6 | |
| 14:19 | 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". |
| 14:19 | arnsholt | Hehe |
| 14:19 | new_perl6_hacker | http://perlcabal.org/syn/S17.html will there be support for event like activities on files and sockets etc |
| 14:19 | TimToady | I'd be terrified if I met a butterfly with a 3 meter wingspan... |
| 14:20 | or was it 5? | |
| 14:20 | pmichaud | 3, last I heard. |
| 14:20 | masak | TimToady: 5 feet, perhaps? |
| 14:20 | TimToady | mebbe she grew |
| 14:20 | she's young, after all | |
| 14:20 | 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. :) |
| 14:21 | jnthn | Parrot r44705 fixes a nasty Rakudo-build segfault. |
| 14:21 | But doesn't seem to hit many people. | |
| 14:21 | (You usually luck out.) | |
| 14:21 | TimToady | colomon: just play it like a conga |
| 14:21 | colomon | jnthn: should we bump parrot in rakudo, then? |
| 14:22 | jnthn | colomon: Can do, or can wait for the next reason to bump. |
| 14:22 | Doesn't see to hit anyone else. | |
| 14:22 | 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. |
| 14:22 | masak | jnthn: s/Thought/Thou/. otherwise, nice message :) |
| 14:22 | hm. s/Though/Thou/, I mean. | |
| 14:22 | jnthn | oh crap |
| 14:22 | I'm tired! :-) | |
| 14:22 | colomon | I can try bumping parrot here, mostly just watching the boy on a Saturday morning. |
| 14:23 | new_perl6_hacker | http://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 |
| 14:23 | he'll proably sleep the night through, and then some... | |
| 14:23 | b | |
| 14:24 | 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)» |
| 14:24 | baest | rakudo: use Test; my @a = 2,3; is(@a, (2, 3)) |
| 14:24 | p6eval | rakudo 974d9a: OUTPUT«not ok 1 - # got: [2, 3]# expected: (2, 3)» |
| 14:24 | colomon | uh, that's weird |
| 14:24 | Parrot revision r44705 required (currently r44371) | |
| 14:24 | borup joined #perl6 | |
| 14:24 | colomon | To automatically checkout (svn) and build a copy of parrot r44705, |
| 14:24 | try re-running Configure.pl with the '--gen-parrot' option. | |
| 14:24 | Or, use the '--parrot-config' option to explicitly specify | |
| 14:24 | the location of parrot_config to be used to build Rakudo Perl. | |
| 14:24 | baest | yeah, I thought so :) |
| 14:25 | TimToady | rakudo: use Test; my @a = 2,3; is(@a, [2,3]) |
| 14:25 | p6eval | rakudo 974d9a: OUTPUT«ok 1 - » |
| 14:25 | jferrero joined #perl6 | |
| 14:25 | colomon | that's what I get when I run perl Configure.pl --gen-parrot |
| 14:26 | masak | baest: it's the difference between a Seq and an Array, I think. |
| 14:26 | baest | TimToady: yes, I guessed that, but I've seen several test in spectest which does the is(@a, (2,3) style |
| 14:26 | TimToady | probably from back when lists promoted to arrays |
| 14:27 | baest | ok, so that should be change in the tests, right? |
| 14:27 | TimToady | yeah, unless we change our minds again :) |
| 14:27 | masak | lists don't promote to arrays? |
| 14:28 | 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. | |
| 14:28 | masak | happy juggling. |
| 14:28 | pmichaud | at the moment, parcels promote to Seq |
| 14:28 | (in item conetxt) | |
| 14:28 | jnthn | colomon: Got example to hand of the has %.foo issue? |
| 14:28 | TimToady | S03:3105 |
| 14:28 | grr | |
| 14:28 | pmichaud | my $a = (1,2,3); say $a.WHAT; |
| 14:28 | TimToady | S02:3105 |
| 14:28 | pmichaud | rakudo: my $a = (1,2,3); say $a.WHAT; |
| 14:28 | TimToady | sb Seq |
| 14:28 | p6eval | rakudo 974d9a: OUTPUT«Seq()» |
| 14:29 | colomon | rakudo: class A { has %.foo; }; my $a = A.new; |
| 14:29 | p6eval | rakudo 974d9a: ( no output ) |
| 14:29 | pmichaud | rakudo: my $a = (1,2..5,3); say $a.WHAT; |
| 14:29 | p6eval | rakudo 974d9a: OUTPUT«Seq()» |
| 14:29 | colomon | rakudo: class A { has %.foo; }; my $a = A.new; say $a.foo.WHAT |
| 14:29 | p6eval | rakudo 974d9a: OUTPUT«Method 'WHAT' not found for invocant of class 'Hash'current instr.: '_block14' pc 29 (EVAL_1:0)» |
| 14:29 | colomon | jnthn: there you go |
| 14:29 | pmichaud | I think likely a BUILD issue |
| 14:29 | TimToady | WHAT! |
| 14:29 | jnthn | > class A { has %.foo; }; my $a = A.new; say $a.foo.WHAT |
| 14:30 | Hash() | |
| 14:30 | Fixed...spectesting. | |
| 14:30 | masak | jnthn++ |
| 14:30 | jnthn is back in the saddle! | |
| 14:30 | TimToady | no, that one is ++jnthn |
| 14:30 | masak | :) |
| 14:30 | colomon | ye-haw! |
| 14:30 | * masak | hasn't gotten into the habit of giving prefix karma yet |
| 14:30 | TimToady | now fix the rest of 'em before we ask :P |
| 14:31 | masak | when's --ircnick applicable? |
| 14:31 | jnthn | When I made the silly bug in the first place. :-) |
| 14:31 | masak | jnthn: no, it must be before something. |
| 14:32 | TimToady | I think it has to be a spec error |
| 14:32 | masak | making a silly bug in the first place merits a jnthn-- |
| 14:32 | jnthn | :-P |
| 14:32 | I'll try and be more perfect. | |
| 14:32 | I blame my lapse on insufficient pivo. | |
| 14:33 | masak | there is no 'try'... and no 'more perfect' either :P |
| 14:33 | TimToady | --gen-parrot |
| 14:33 | masak | :) |
| 14:33 | jnthn | rakudo: try { more perfect }; say "see?" |
| 14:33 | p6eval | rakudo 974d9a: OUTPUT«see?» |
| 14:33 | masak | ++jnth :) |
| 14:33 | *jnthn | |
| 14:33 | TimToady | um |
| 14:34 | std: try { more perfect }; say "see?" | |
| 14:34 | p6eval | std 29953: OUTPUT«Undeclared routines: 'more' used at line 1 'perfect' used at line 1ok 00:01 107m» |
| 14:34 | jnthn | Yeah, we don't warn yet on undefined routines. |
| 14:34 | masak | I won't report that. |
| 14:34 | jnthn | ...becuase you already did last week? :-) |
| 14:35 | masak | quite possibly. |
| 14:35 | jnthn | :-P |
| 14:35 | masak | I don't know anymore! the RT is too big! |
| 14:35 | TimToady | well, now, whose fault is that? |
| 14:35 | masak | when I said I'd deluge you with tickets, I expected you all to frigth back! |
| 14:35 | pmichaud | 14:31 <jnthn> When I made the silly bug in the first place. :-) |
| 14:36 | masak: I did close a few tickets last week :) | |
| 14:36 | masak | ++pmichaud |
| 14:36 | * TimToady | is trying to figure out how to frigth |
| 14:36 | masak | hm, I guess that's for future ticket closing. |
| 14:36 | TimToady: it's related to how babby is formed. | |
| 14:36 | TimToady | oh, okay |
| 14:36 | pmichaud | anyway, I'm hoping we can close some tickets over the next couple of hackathon days :) |
| 14:37 | jnthn | I'm truly sorry for your lots |
| 14:37 | masak | jnthn: 'truely' :) |
| 14:37 | TimToady | chroolie |
| 14:37 | jnthn | ...ok, now I don't know which is the lol spelling and which is the English. |
| 14:37 | masak | who does? :) |
| 14:37 | jnthn | Ceiling cat. |
| 14:37 | baest | rakudo: my @a; say @a.list |
| 14:37 | p6eval | rakudo 974d9a: OUTPUT«Null PMC access in elements()current instr.: 'perl6;SeqIter;get' pc 13979 (src/builtins/Routine.pir:113)» |
| 14:38 | * masak | submits rakudobug |
| 14:38 | jnthn | oh no, not that bug. |
| 14:38 | * TimToady | gives jnthn++ another no so he can have noes |
| 14:38 | masak | *lolland* |
| 14:39 | jnthn | colomon: yay, patch works |
| 14:39 | I gotta go finish moving house now...will push, maybe you can enable some spectests. | |
| 14:39 | masak | rakudo: my @a = 1, 2, 3; say @a.list |
| 14:39 | p6eval | rakudo 974d9a: OUTPUT«123» |
| 14:39 | 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! |
| 14:39 | masak | rakudo: my @a = 1; shift @a; say @a.list |
| 14:40 | p6eval | rakudo 974d9a: OUTPUT«» |
| 14:40 | colomon | jnthn++ |
| 14:40 | mberends | travel Copenhagen -> Lund -> Copenhagen & |
| 14:40 | pmichaud | .list is still suspect-ish |
| 14:40 | colomon | Does it work? Should it exist? What should it do? ;) |
| 14:40 | pmichaud | exist, yes. |
| 14:41 | it basically returns the "list" form of the invocant | |
| 14:41 | its exact specification and implementation need some rethinking | |
| 14:41 | I'm likely to work on that today. | |
| 14:41 | colomon | pmichaud++ |
| 14:41 | pmichaud | (unless other events here overtake me again, as they did yesterday) |
| 14:41 | jnthn | pushed |
| 14:41 | gone | |
| 14:41 | o/ | |
| 14:42 | masak | o/ |
| 14:42 | colomon | \o |
| 14:42 | TimToady | o\ |
| 14:43 | dalek | rakudo: 8505d39 | Worthington@.(none)++ | src/builtins/Mu.pir: |
| 14:43 | rakudo: Fix has %.noms. | |
| 14:43 | rakudo: review: http://github.com/rakudo/rakud[…]1ca9a2b4134823ffb | |
| 14:44 | robertml joined #perl6 | |
| 14:46 | colomon | Nice author name there... |
| 14:47 | pugssvn | r29954 | baest++ | Put list inside [] to do array comparison |
| 14:49 | 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:55 | 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: http://paste.lisp.org/display/96001 |
| 14:57 | colomon | baest: fixing it for the other types as well? |
| 14:57 | baest | colomon: yes, I only found it for str, int and num |
| 14:57 | colomon | rakudo |
| 14:58 | rakudo: say 4 === 5 | |
| 14:58 | p6eval | rakudo 974d9a: OUTPUT«0» |
| 14:58 | colomon | rakudo: say (4 === 5).WHAT |
| 14:58 | p6eval | rakudo 974d9a: OUTPUT«Bool()» |
| 14:58 | IllvilJa joined #perl6 | |
| 14:59 | baest | rakudo: say (4.0 === 5.0).WHAT |
| 14:59 | p6eval | rakudo 974d9a: OUTPUT«Bool()» |
| 14:59 | baest | weird |
| 14:59 | colomon | give me a minute here, and I'll see what I can do. |
| 14:59 | PacoLinux joined #perl6 | |
| 15:00 | dalek | rakudo: 43f5a52 | (Solomon Foster)++ | build/PARROT_REVISION: |
| 15:00 | rakudo: Bump parrot. | |
| 15:00 | rakudo: review: http://github.com/rakudo/rakud[…]6b579295329edefd3 | |
| 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 |
| 15:01 | colomon | I don't know the status of the leading &, but it definitely needs to be prefix:<?> now, I think... |
| 15:02 | 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: http://github.com/rakudo/rakud[…]efe612a7e10487525 |
| 15:02 | colomon | Indeed. |
| 15:03 | hmmmm.... | |
| 15:03 | pmichaud | if you want to call the prefix:<?> function from PIR, it's "&prefix:<?>" |
| 15:03 | anything else is likely bogus. | |
| 15:03 | (same for other operators -- ampersands and angles are required) | |
| 15:05 | * colomon | is trying to get the === test file up and running again... |
| 15:06 | colomon | 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)» |
| 15:06 | 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 |
| 15:06 | colomon | pmichaud: any reason !=== can't just be not === ? |
| 15:06 | pmichaud | that works for now; normally !op is meta |
| 15:06 | TimToady | that's what the metaop is supposed to do |
| 15:07 | colomon | !!!! |
| 15:07 | I didn't realize ! was a meta op | |
| 15:07 | pmichaud | it is. |
| 15:07 | we haven't implemented that in rakudo yet | |
| 15:07 | so in the meantime we've just created them explicitly as we need them | |
| 15:08 | colomon | permission to do that in this case? |
| 15:08 | pmichaud | sure, that's fine. |
| 15:08 | TimToady | S03:3927 |
| 15:08 | * colomon | thinks ! sounds like meta op LHF.... |
| 15:09 | pmichaud | it shouldn't be too bad; we already have the op= metaops. |
| 15:09 | martinro joined #perl6 | |
| 15:11 | 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)» |
| 15:12 | TimToady | rakudo: say 1,2 Z 3,4 |
| 15:12 | p6eval | rakudo 974d9a: OUTPUT«1324» |
| 15:12 | TimToady | odd that X isn't there but Z is |
| 15:13 | 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)» |
| 15:13 | colomon | TimToady: my fault, I guess. |
| 15:13 | I wanted Z, so I made it happen. | |
| 15:13 | TimToady | what, for implementing Z |
| 15:13 | : | |
| 15:13 | :) | |
| 15:13 | colomon | :) |
| 15:13 | krr joined #perl6 | |
| 15:15 | colomon | okay, I've got !=== working here, which makes S03-operators/value_equivalence.t run, but it still has a 3 fails. |
| 15:16 | === doesn't work on array references right now. (err, test says array, actually is probably a Parcel? | |
| 15:16 | ) | |
| 15:16 | my @a = (1,2,3); | |
| 15:16 | no, I guess that's an Array. | |
| 15:17 | 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 | |
| 15:17 | colomon | mark 'em todo and bring 'em back! |
| 15:17 | pmichaud | ...array reference? |
| 15:18 | arnsholt | colomon: Righties |
| 15:18 | colomon | my @a = (1,2,3); |
| 15:18 | my @b = (1,2,3); | |
| 15:18 | ok (\@a === \@a), "=== on array references (1)"; | |
| 15:18 | ok (\@b === \@b), "=== on array references (2)"; | |
| 15:18 | both those fail | |
| 15:18 | pmichaud | the correct term is now "capture" |
| 15:18 | (I think) | |
| 15:19 | colomon | arnsholt: todo tests which are running are much more valuable than tests that aren't running. |
| 15:19 | m--locks joined #perl6 | |
| 15:20 | arnsholt | Indeed. The correct procedure is putting "#?rakudo todo" above the ok/is call, no? |
| 15:20 | colomon | with a reason, if possible |
| 15:20 | #?rakudo todo 'scalar reference equivalence' | |
| 15:20 | arnsholt | Yeah, pondering that now |
| 15:20 | colomon | for instance. |
| 15:21 | pugssvn | r29956 | colomon++ | [t/spec] Fudge value_equivalence.t. |
| 15:22 | 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? |
| 15:22 | colomon | patch to the tests or patch to rakudo itself? |
| 15:23 | baest | colomon: rakudo, I committed the test before |
| 15:23 | tests | |
| 15:23 | colomon | pmichaud: what is the preferred way of receiving Rakudo patches? |
| 15:23 | pmichaud | rt |
| 15:23 | colomon | you can send them to rakudobugs.... |
| 15:23 | that is, rt. | |
| 15:23 | baest | pmichaud, colomon: thanks |
| 15:24 | :) | |
| 15:24 | will do | |
| 15:24 | pmichaud | afaik, http://wiki.github.com/rakudo/[…]to-create-a-patch is still valid. |
| 15:24 | (if not, it needs to be updated) | |
| 15:25 | steps 4-6, anyway. | |
| 15:25 | steps 1-3 aren't required | |
| 15:25 | actually, just 4 and 6 | |
| 15:26 | 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. |
| 15:30 | 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:31 | People can also just send in "please review x..y" | |
| 15:31 | pmichaud | reviewing a branch is hard |
| 15:31 | avar | why? you just diff / log from where the branch diverged to where its head is at now |
| 15:31 | pmichaud | I have to pull the branch |
| 15:32 | then do the diff | |
| 15:32 | also, I'm not sure that the individual commits are that important | |
| 15:32 | 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 | |
| 15:34 | 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 | rakudo: ab3f44b | (Solomon Foster)++ | src/ (2 files): |
| 15:34 | rakudo: Quick implementation of !===. (Should be a meta op, but this will work for now.) | |
| 15:34 | rakudo: review: http://github.com/rakudo/rakud[…]b03433d8500718bb6 | |
| 15:34 | rakudo: 7882db4 | (Solomon Foster)++ | t/spectest.data: | |
| 15:34 | rakudo: Turn on S03-operators/value_equivalence.t. | |
| 15:34 | rakudo: review: http://github.com/rakudo/rakud[…]69253cae690d44b74 | |
| 15:35 | pugssvn | r29957 | colomon++ | [t/spec] Defudge passing tests. |
| 15:35 | Psyche^ joined #perl6 | |
| 15:37 | martinro joined #perl6 | |
| 15:39 | baest | hmm git format-patch doesn't do anything.... |
| 15:39 | colomon | should have made a file |
| 15:39 | you might need to tell it what commits go into the patch, though. | |
| 15:39 | arnsholt | Hmm. Does Test.pm in the new master have todo? |
| 15:40 | pmichaud | I'm pretty sure it does/must. |
| 15:40 | arnsholt | Then I'm doing something wrong |
| 15:41 | baest | colomon: yes, git format-patch -M 054b1b6d602c823b318f81e473f6fde5f12becf6 does nothing even though I can see the commit with git log |
| 15:41 | arnsholt | nm. Think I found it |
| 15:41 | colomon | baest: last time I did it, I used git format-patch -1 |
| 15:42 | baest | colomon: wheee, success, thanks! |
| 15:42 | pmichaud | afk for a bit |
| 15:43 | m6locks joined #perl6 | |
| 15:44 | 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 #perl6 | |
| 15:46 | pugssvn | r29958 | arnsholt++ | [t/spec] Fudged two tests in S06-traits/is-rw.t |
| 15:47 | 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... |
| 15:49 | pugssvn | r29959 | colomon++ | [t/spec] Add a bunch of tests to make sure === and !=== return Bool. |
| 15:52 | dalek | rakudo: 28f5203 | (Solomon Foster)++ | t/spectest.data: |
| 15:52 | rakudo: Turn on S06-traits/is-rw.t. arnsholt++. | |
| 15:52 | rakudo: review: http://github.com/rakudo/rakud[…]cc4964e3ba1c54d90 | |
| 15:57 | cognominal | Performing 'gmake realclean' ... |
| 15:57 | Makefile:3660: compilers/imcc/Rules.mak: No such file or directory | |
| 15:57 | gmake: *** No rule to make target `compilers/imcc/Rules.mak'. Stop. | |
| 15:57 | ...on Snow Leopard | |
| 15:57 | when running perl Configure.pl --gen-parrot on a fresh rakduo | |
| 15:58 | jferrero joined #perl6 | |
| 15:58 | pugssvn | r29960 | colomon++ | [t/spec] === tests on Rat and Num. |
| 15:58 | colomon | cognominal: is that latest? |
| 15:59 | 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 |
| 16:01 | arnsholt | Is there any particular reason why there are two files named pi.t? |
| 16:02 | They do almost the same thing, too | |
| 16:02 | colomon | arnsholt: no idea. |
| 16:05 | * 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:12 | cognominal | thx colomon |
| 16:12 | it works | |
| 16:13 | colomon | \o/ |
| 16:14 | payload joined #perl6 | |
| 16:17 | payload1 joined #perl6 | |
| 16:24 | snarkyboojum_ joined #perl6 | |
| 16:25 | pugssvn | r29961 | colomon++ | [t/spec] Unfudge test that now works. |
| 16:26 | dalek | rakudo: ba6cd4e | (Solomon Foster)++ | src/builtins/ (2 files): |
| 16:26 | rakudo: Change === on Num to return Bool, and clean up === on Int. baest++ | |
| 16:26 | rakudo: review: http://github.com/rakudo/rakud[…]e34808f48b2f2a929 | |
| 16:26 | simcop2387 joined #perl6 | |
| 16:29 | jmarti joined #perl6 | |
| 16:41 | m6locks | oh, i didn't know linus torvalds created git |
| 16:41 | nice | |
| 16:42 | TimToady | we all have our faults |
| 16:45 | m6locks | ...but it's not compiling on that shell box :( |
| 16:47 | abra joined #perl6 | |
| 16:48 | simcop2387 joined #perl6 | |
| 16:50 | justatheory joined #perl6 | |
| 16:54 | 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. |
| 16:54 | phenny | quietfanatic: I'll pass that on when masak is around. |
| 16:56 | Trashlord joined #perl6 | |
| 16:56 | 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. |
| 16:57 | arnsholt | rakudo: my $a = 3; say "$a".WHAT; |
| 16:57 | p6eval | rakudo ba6cd4: OUTPUT«Int()» |
| 16:57 | arnsholt | Known issue or new? |
| 17:04 | lue | oh hello there |
| 17:05 | 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'); |
| 17:05 | p6eval | alpha 30e0ed: OUTPUT«$1$Salt$3By6sIxwjQONPKbAQWYfQ1» |
| 17:06 | lue | .hack(And our total this hour is.... $3000000 worth of bug fixes!) |
| 17:09 | pugssvn | r29962 | arnsholt++ | [t/spec] Fudged a test in S02-literals/string-interpolation.t |
| 17:10 | arnsholt | S02-literals/string-interpolation can be brought back as well now |
| 17:10 | colomon | arnsholt++ |
| 17:11 | 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 |
| 17:11 | p6eval | rakudo ba6cd4: OUTPUT«Str()» |
| 17:12 | arnsholt | Funky |
| 17:12 | TimToady | interestingly, had the same bug in Perl 5 once upon a time |
| 17:12 | you implement interpolation with infix:<~>, but forget the degenerate case | |
| 17:12 | colomon | arnsholt: running spectest with those files turned on, will push as soon as it passes. :) |
| 17:12 | arnsholt | Spiffy |
| 17:13 | 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 #perl6 | |
| 17:13 | lue | And I'm ready, with multiple-tabbed Konsole, Kate, Konversation... and Firefox. |
| 17:14 | 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 :) |
| 17:15 | 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 :) |
| 17:17 | uniejo | Just make it a location aware alarm clock. F.ex. phone with gps. |
| 17:18 | 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:21 | (ANFSCD) I'm assuming .even and .odd are actual methods for numbers (it makes an appearance in the spec after all) | |
| 17:22 | 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)» |
| 17:22 | baest | is that the correct syntax for it, though? |
| 17:23 | colomon | baest: I think yes, but * > 2 is NYI. |
| 17:23 | dalek | rakudo: c054780 | (Solomon Foster)++ | t/spectest.data: |
| 17:23 | rakudo: Turn on S02-literals/string-interpolation.t and S02-literals/quoting-unicode.t. arnsholt++ | |
| 17:23 | rakudo: review: http://github.com/rakudo/rakud[…]e5c19297eea404c66 | |
| 17:23 | baest | colomon: ok, so no rakudobug for this? |
| 17:24 | colomon | baest: it's a well-known issue. |
| 17:24 | TimToady | lue: there are no .even/.odd methods |
| 17:24 | colomon | rakudo: [4, 3, 1].grep({ $_ > 2 }).perl.say |
| 17:24 | p6eval | rakudo ba6cd4: OUTPUT«GatherIterator.new()» |
| 17:24 | colomon | rakudo: [4, 3, 1].grep({ $_ > 2 }).batch(10).perl.say |
| 17:24 | p6eval | rakudo ba6cd4: OUTPUT«(4, 3)» |
| 17:24 | TimToady | there are already lots of ways to spell even and odd in Perl |
| 17:24 | lue | aw. I was hoping almost (then why is it in a code example in the spec?) |
| 17:25 | TimToady | $x % 2, $x +& 1 |
| 17:25 | rakudo: say 3 % 2, 3 +& 1 | |
| 17:25 | p6eval | rakudo ba6cd4: OUTPUT«11» |
| 17:26 | TimToady | there's two different odd functions |
| 17:26 | colomon | wasn't there also ?% or something? |
| 17:26 | TimToady | !% 2 is even |
| 17:26 | rakudo: 3 !% 2 | |
| 17:26 | 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)» |
| 17:27 | TimToady | but nyri |
| 17:27 | alpha 3 !% 2 | |
| 17:27 | alpha: 3 !% 2 | |
| 17:27 | p6eval | alpha 30e0ed: ( no output ) |
| 17:27 | TimToady | alpha: say 3 !% 2 |
| 17:27 | p6eval | alpha 30e0ed: OUTPUT«0» |
| 17:28 | lue | alpha: say 4 !% 2 |
| 17:28 | p6eval | alpha 30e0ed: OUTPUT«1» |
| 17:29 | jagd joined #perl6 | |
| 17:29 | lue | ah, so 1 if even, 0 if odd? |
| 17:29 | TimToady | !% means "is not indivisibly by" |
| 17:29 | s/y/e/ | |
| 17:29 | lue | alpha: say 5 !% 3; say 6 !% 3; |
| 17:29 | TimToady | or "does not have a remainder" |
| 17:29 | p6eval | alpha 30e0ed: OUTPUT«01» |
| 17:30 | dual joined #perl6 | |
| 17:30 | betterworld | I'd say !% means "*is* divisible by" ;) |
| 17:30 | TimToady | it means "is divisible by!" |
| 17:31 | lue | that seems easy to program in (away!) |
| 17:31 | betterworld | oh, I did not see the "in" ;) |
| 17:33 | colomon | lue: the tricky bit is that all the !op operators are supposed to be generated automatically. |
| 17:33 | TimToady | not exactly |
| 17:33 | it's a higher-order function | |
| 17:33 | colomon | "generated automatically when needed" ? ;) |
| 17:33 | TimToady | so they don't need to be generated, just composed with 'not' |
| 17:34 | likewise (we hope) for all the other metaops | |
| 17:34 | we can't generate XRS[!%]= in advance | |
| 17:34 | (and we might add a Z for zipwith) | |
| 17:36 | 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) |
| 17:36 | colomon | TimToady: though if it were that easy, I'd already have done it for a bunch of those.... :) |
| 17:38 | * lue | wants to work on something :/ |
| 17:38 | TimToady | put STD's metaop parsing into rakudo |
| 17:38 | (just kidding...kinda) | |
| 17:39 | lue | metaops do not exist at all then :) |
| 17:40 | TimToady | alpha: say 3 R/ 30 |
| 17:40 | p6eval | alpha 30e0ed: OUTPUT«10» |
| 17:40 | TimToady | R/ is pronounced "goes into" :) |
| 17:41 | 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... |
| 17:43 | 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. :) |
| 17:43 | colomon | Well, the most widely spread one we have is op= |
| 17:44 | nihiliad joined #perl6 | |
| 17:44 | colomon | That's in most C-family languages. |
| 17:44 | lue | what's the most `omniscient' kind of operator? |
| 17:46 | colomon | I'll leave that to the theologians. |
| 17:47 | lue | .hack(how many people at Copenhagen now?) |
| 17:48 | colomon | TimToady: any hints on how to find the op= rule in STD.pm? |
| 17:48 | TimToady: never mind! | |
| 17:48 | errr... maybe? | |
| 17:49 | TimToady | it's handled specially in STD, actually, at the end of infixish |
| 17:49 | line 3172 or so | |
| 17:49 | colomon | danke! |
| 17:50 | 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...) |
| 17:50 | TimToady | for the others, see things like token infix_prefix_meta_operator:sym<!> { |
| 17:51 | lue | .oO(o hell, firefox froze on perlcabal again :( ) |
| 17:51 | colomon | lue: use chrome for perlcabal. seriously |
| 17:51 | TimToady | i've never had trouble with ff on perlcabal, fyi... |
| 17:51 | memory issue? | |
| 17:52 | uniejo joined #perl6 | |
| 17:52 | 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. |
| 17:52 | lue | TimToady: PPC G3 Pismo (less that 1GHz if I remember), 384 MiB RAM (twice that swap space) |
| 17:53 | 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 #perl6 | |
| 17:54 | lue | point one Giga-Hertz! wow. |
| 17:54 | masakmoritzmbere | this is the masak-moritz-mberends mechbot, stopping by. |
| 17:54 | TimToady | hibot! |
| 17:55 | lue | masakmoritzmberends --masak="awaken" |
| 17:55 | masakmoritzmbere | lue: I am awake, all three of us. |
| 17:55 | arnsholt | masakmoritzmbere: Oh hai |
| 17:55 | Were you guys heading out for dinner at some point? | |
| 17:55 | masakmoritzmbere | arnsholt: mberendsbot and masakbot just found moritz, and we immediately joined together into a grander structural unit. |
| 17:56 | arnsholt: yes. spicy food. | |
| 17:56 | moritz__ | re |
| 17:56 | TimToady | couldn't you just be m*bot or some such |
| 17:56 | moritz__ | shouldn't it be m.*bot? :-) |
| 17:56 | masakmberends | oh, moritz__ fell off. |
| 17:56 | colomon | (spicy food)++ |
| 17:57 | masakmberends | arnsholt: anyway, you're welcome to be assimilated, and we'll create a spicyfood-eating mechbot of five. |
| 17:58 | 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? |
| 17:58 | masakmberends | arnsholt: dunno yet. |
| 17:58 | somewhere spicy. possibly Indian. | |
| 17:58 | pugssvn | r29963 | moritz++ | [t/spec] unfudges for rakudo |
| 17:58 | r29964 | moritz++ | [t/spec] re-fudge quoting.t for rakudo | |
| 17:58 | r29965 | moritz++ | [t/deprecated-syntax.pod] undef is gone | |
| 17:58 | masakmberends | would be a definite plus if it's within the Copenhagen area. |
| 17:59 | pugssvn | r29966 | moritz++ | [t/spec] enhance precedence.t, and fudge for rakudo |
| 17:59 | TimToady | oh, I was going to suggest one here |
| 17:59 | colomon | moritz++ # yow! |
| 17:59 | moritz__ | colomon: 10 hours worth of train travel :-) |
| 17:59 | colomon | and git svn, eh? |
| 18:00 | borup | masakmberends: there arent that many indian places in copehagen |
| 18:00 | * uniejo | commits to food ;-) |
| 18:00 | lue | colomon: don't recommend what I'll never be able to use :D |
| 18:00 | masakmberends | borup: any suggestions for other spicy/good food? |
| 18:00 | wolf2k_ubuntu joined #perl6 | |
| 18:00 | borup | masakmberends: would japanese work |
| 18:01 | dalek | book: 41c5229 | moritz++ | src/regexes.pod: |
| 18:01 | book: [regex] minor grammar fix | |
| 18:01 | book: review: http://github.com/perl6/book/c[…]18ffe62e5810179ef | |
| 18:01 | book: bd06566 | moritz++ | src/operators.pod: | |
| 18:01 | book: New chapter on operators (work in progress) | |
| 18:01 | book: review: http://github.com/perl6/book/c[…]12538507b3be5061b | |
| 18:01 | book: bf30c2b | moritz++ | docs/announce/2010-03: | |
| 18:01 | book: [docs] stub announce for 2010-03 release | |
| 18:01 | book: review: http://github.com/perl6/book/c[…]100cdd987be187c4a | |
| 18:01 | book: 3e7d952 | moritz++ | src/regexes.pod: | |
| 18:01 | book: [regex] impmrove description of rindex(); also comment on the editorial note by chromatic++ | |
| 18:01 | book: review: http://github.com/perl6/book/c[…]c3515fee47d73fd79 | |
| 18:01 | colomon | Clearly moritz__ needs to take more 10 hour train trips... |
| 18:01 | masakmberends | borup: for the masak part of the mechbot, it would, yes. |
| 18:01 | lue | o noes the flood again!! |
| 18:02 | Grimnir_ joined #perl6 | |
| 18:02 | Grimnir_ | OH HAI |
| 18:02 | TimToady | OH HAI OH |
| 18:02 | lue | OHIO |
| 18:02 | masakmberends | E I E I O |
| 18:02 | borup | masakmberends: uniejo suggests wagamama |
| 18:02 | TimToady | OH HAI OH GOES EYE MOOSE |
| 18:02 | borup | masakmberends: very close to the main station |
| 18:02 | masakmberends | borup: the whole bot agrees: Japanese is a fine choice. |
| 18:03 | borup: excellent. | |
| 18:03 | wknight8111 joined #perl6 | |
| 18:03 | lue | nihongo? excellent choice |
| 18:03 | (to lazy to fiddle with char map/input method) | |
| 18:03 | uniejo | http://www.wagamama.dk/locations/map |
| 18:03 | dalek | rakudo: 14a83eb | moritz++ | t/spectest.data: |
| 18:03 | rakudo: more passing test files | |
| 18:03 | rakudo: review: http://github.com/rakudo/rakud[…]5e4786e7d8035b5ea | |
| 18:03 | TimToady | cut and paste this: 日本語 |
| 18:04 | Grimnir_ | you gotta love utf8-able terminals |
| 18:04 | TimToady | well, really, にほんの食べ物 |
| 18:04 | lue | (must message Fedora to support UTF8 in their tty's... note to self) |
| 18:04 | jnthn | masakmberends: oh hai...where is located the bot? :-) |
| 18:04 | * jnthn | did find his room :-) |
| 18:04 | lue | jnthn! o/ |
| 18:04 | Grimnir_ | I was at a few perl 6 speaks today. it looks like a very interesting language |
| 18:04 | masakmberends | jnthn: room 420. |
| 18:05 | jnthn | aww...Japanese, not Indian? :-/ |
| 18:05 | OK, coming :-) | |
| 18:05 | Grimnir_ | what are the possibilites for parallel computing and the like? what can perl6 do? |
| 18:05 | k23z__ | wow, do you guys all day go to workshops and stuff like that ? |
| 18:05 | I'm at home, I even took a nap | |
| 18:05 | lue | And flood the IRC with short messages |
| 18:05 | k23z__ | lue: me ? |
| 18:05 | lue | and masak is back in full glory! |
| 18:05 | masak | \o/ |
| 18:05 | 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. |
| 18:05 | masak: 16:56Z <quietfanatic> tell masak Except that the parser wasn't very good and there weren't any better ones I could use. | |
| 18:05 | 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 |
| 18:06 | 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 | 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 |
| 18:06 | lue | k23z: _we_ flood the irc with messages (I'm not there physically, but in spirit) |
| 18:06 | moritz_ | k23z__: I spent 10.5hrs on the train today to get to the workshop |
| 18:06 | TimToady | hyperops are basically vector ops |
| 18:06 | feed operators are pipes | |
| 18:06 | Grimnir_ | I would suggest to do a CSP-implementation or very similar in perl6. that would be awesome |
| 18:06 | TimToady | junctional logic can be evaluated in any order |
| 18:06 | masak joined #perl6 | |
| 18:07 | 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 |
| 18:07 | lue | :) |
| 18:07 | Grimnir_ | it would be cool if it would support it with a pretty nice syntax |
| 18:07 | akl joined #perl6 | |
| 18:07 | lue | (I got japanese input working once, what happened to it...) |
| 18:08 | 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)» |
| 18:08 | TimToady | alpha: say (1,2,3) »+« (4,5,6) |
| 18:08 | p6eval | alpha 30e0ed: OUTPUT«579» |
| 18:08 | arnsholt | masak: Has the collective reached a decision re: fud? |
| 18:08 | masak | do I have everyone's permission to stir up a potential hornet's nest? |
| 18:08 | (don't ask to ask...) | |
| 18:09 | arnsholt: are you coming by? | |
| 18:09 | lue | hornet nest taken. masak cries. hornet nest given back. all is well. (that's a YES :) ) |
| 18:09 | arnsholt | masak: I wouldn't mind coming by |
| 18:10 | There are signals that usually mean I should eat soon =) | |
| 18:10 | Grimnir_ | perl6: say ("hello world") |
| 18:10 | p6eval | elf 29966, pugs, rakudo c05478: OUTPUT«hello world» |
| 18:10 | arnsholt | And I thought hornets' nests were your job? ;) |
| 18:10 | colomon | rakudo: say "hello world" |
| 18:10 | p6eval | rakudo c05478: OUTPUT«hello world» |
| 18:10 | masak | alpha: class A { has @.b; }; say A.new(b => [1,2,3]).b.perl |
| 18:10 | p6eval | alpha 30e0ed: OUTPUT«[[1, 2, 3]]» |
| 18:11 | 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. :( |
| 18:11 | I've been talking to jnthn about it most of the afternoon. | |
| 18:11 | he's quite good at explaining that I'm wrong. | |
| 18:11 | I'm mostly being stubborn. | |
| 18:11 | lue | neither TimToady. I remember him confusing them with the purpose of the «» brackets |
| 18:11 | (the outer [] anyway) | |
| 18:12 | masak | arnsholt: come over, then! |
| 18:12 | moritz_ | arnsholt: so, was that a "yes" to coming? |
| 18:12 | Grimnir_ | at the perl6 speak today I didn't see any "\n", does that mean "say" automatically writes a newline? |
| 18:12 | TimToady | yes |
| 18:12 | it's strange, but it's one of the most used functions in p6 | |
| 18:12 | arnsholt | masak/moritz_: On my way then. Be there soonish |
| 18:12 | masak | Grimnir_: as does Perl 5.10, incidentally. |
| 18:12 | ++arnsholt | |
| 18:12 | arnsholt | I'll SMS masak when I'm in the neighbourhood |
| 18:12 | masak | oki |
| 18:13 | Grimnir_ | is there a normal print function in perl6 too? |
| 18:13 | TimToady | yes |
| 18:13 | rakudo: print "foo" | |
| 18:13 | p6eval | rakudo c05478: OUTPUT«foo» |
| 18:13 | Grimnir_ | ok, that's why |
| 18:13 | uniejo | rakudo: class Food {sub eat {}}; Food.new().WHERE.say |
| 18:13 | p6eval | rakudo c05478: OUTPUT«47750022470056» |
| 18:13 | Grimnir_ | I haven't used any of the special perl 5.10 features, it seems |
| 18:13 | TimToady | rakudo: say "foo" |
| 18:13 | p6eval | rakudo c05478: OUTPUT«foo» |
| 18:13 | TimToady | note the  character there |
| 18:14 | should be a little NL or some such | |
| 18:14 | martinro joined #perl6 | |
| 18:14 | TimToady | if your terminal does utf-8 right |
| 18:14 | lue | say creates a \n automagically, and print doesn't. That's it. |
| 18:14 | TimToady | that's what? |
| 18:14 | colomon | TimToady: any notion what the O() should be for infix_prefix_meta_operator? |
| 18:14 | Grimnir_ | perl6: @test@.say |
| 18:15 | masak | TimToady: am I unreasonable in thinking that .new(:b[1,2,3]) should initialize to just one layer of array? |
| 18:15 | Grimnir_ | ach |
| 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)» |
| 18:15 | ..elf 29966: OUTPUT«Parse error in: /tmp/fAERKl76hspanic at line 1 column 0 (pos 0): Can't understand next input--giving upWHERE: @test@.sayWHERE:/\<-- 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 | |
| 18:15 | ..`_UNI… | |
| 18:15 | ..pugs: OUTPUT«***  Unexpected "@." expecting "::" Variable "@test" requires predeclaration or explicit package name at /tmp/NHJqMu8t1L line 1, column 6» | |
| 18:15 | Grimnir_ | perl6: "test".say |
| 18:15 | p6eval | elf 29966, pugs, rakudo c05478: OUTPUT«test» |
| 18:15 | Grimnir_ | nice |
| 18:15 | lue | sorry TimToady. that's $_ [ :) ] |
| 18:15 | TimToady | lol |
| 18:15 | masak: it seems to me that it's a binding, not an assignment | |
| 18:16 | masak | TimToady: yes. |
| 18:16 | TimToady | so no, it's not unreasonable :) |
| 18:16 | 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 :) |
| 18:16 | masak | because it creates a rift in timespace, basically. |
| 18:17 | k23z__ | moritz_: wooo.. |
| 18:17 | moritz_: that's commitment man | |
| 18:17 | TimToady | otgh, maybe it copies in values but [...] is an object, so gets the same one |
| 18:17 | masak | YES! |
| 18:18 | whatever that means, I'm for it! | |
| 18:18 | k23z___ joined #perl6 | |
| 18:18 | Grimnir_ | I loved the quicksort example in Perl6. is perl6 in general that cool? |
| 18:18 | TimToady | no, usually it's cooler :P |
| 18:18 | masak | Grimnir_: much cooler. |
| 18:18 | Grimnir_ | cooler? that's very cool |
| 18:18 | TimToady | picnic cooler, even |
| 18:19 | colomon | which quicksort? was it jnthn's new version? |
| 18:19 | Grimnir_ | it was the one, jnthn showed at open source days today, yes |
| 18:19 | colomon | ah, that's indeed a very sweet little piece of code. |
| 18:19 | Grimnir_ | even though the pivot should be taken at random :) |
| 18:20 | you could do it with one parameter | |
| 18:20 | TimToady | without looking, I assume it's taking hte first elem as the pivot |
| 18:20 | moritz_ | rakudo: say (1, 2, 3).max |
| 18:20 | colomon | Grimnir_: please don't encourage TimToady to figure out how to make that a part of the language.... |
| 18:20 | p6eval | rakudo c05478: OUTPUT«3» |
| 18:20 | Grimnir_ | colomon: it's so simple it's not important :) |
| 18:20 | rakudo: say (1,2,3).pick | |
| 18:20 | TimToady | we could .pick a random pivot though, which would work better for a presorted list on average |
| 18:20 | p6eval | rakudo c05478: OUTPUT«2» |
| 18:21 | Grimnir_ | rakudo: say (1,2,3).pick |
| 18:21 | p6eval | rakudo c05478: OUTPUT«2» |
| 18:21 | TimToady | or .pick(3).mid |
| 18:21 | Grimnir_ | rakudo: say (1,2,3).pick |
| 18:21 | p6eval | rakudo c05478: OUTPUT«1» |
| 18:21 | Grimnir_ | rakudo: say (1,2,3).pick.mid |
| 18:21 | p6eval | rakudo c05478: OUTPUT«Method 'mid' not found for invocant of class 'Integer'current instr.: '_block14' pc 29 (EVAL_1:0)» |
| 18:21 | moritz_ | rakudo: say max(1..5) |
| 18:22 | p6eval | rakudo c05478: OUTPUT«-Inf» |
| 18:22 | Grimnir_ | rakudo: say (1,2,3).mid |
| 18:22 | p6eval | rakudo c05478: OUTPUT«Method 'mid' not found for invocant of class 'Parcel'current instr.: '_block14' pc 29 (EVAL_1:0)» |
| 18:22 | colomon | I was just going to say, what's .mid? (I mean, I think I understand the meaning, but.... |
| 18:22 | TimToady | rakudo: say [max](1..5) |
| 18:22 | p6eval | rakudo c05478: OUTPUT«Not enough positional parameters passed; got 0 but expected at least 1current instr.: 'max' pc 239375 (src/gen/core.pir:6883)» |
| 18:22 | colomon | rakudo: say max(1..5) |
| 18:22 | p6eval | rakudo c05478: OUTPUT«-Inf» |
| 18:22 | TimToady | wants a closure first |
| 18:22 | Grimnir_ | alpha: say (1,2,3).mid |
| 18:22 | colomon | WTF? |
| 18:22 | p6eval | alpha 30e0ed: OUTPUT«Method 'mid' not found for invocant of class 'List'in Main (file src/gen_setting.pm, line 324)» |
| 18:22 | * masak | submits rakudobug for max(1..5) |
| 18:22 | TimToady | there is no mid |
| 18:22 | moritz_ | mid soooo reminds me of QBasic |
| 18:22 | iblechbot joined #perl6 | |
| 18:22 | TimToady | but if there were, it would be between min and max :) |
| 18:22 | moritz_ | (where it took the function of substr()) |
| 18:22 | colomon | rakudo: (1..5).max.say |
| 18:23 | p6eval | rakudo c05478: OUTPUT«5» |
| 18:23 | TimToady | rakudo: (1..5).minmax |
| 18:23 | p6eval | rakudo c05478: ( no output ) |
| 18:23 | TimToady | rakudo: (1..5).minmax.say |
| 18:23 | p6eval | rakudo c05478: OUTPUT«15» |
| 18:23 | TimToady | rakudo: (1..5).minmax.average :) |
| 18:24 | 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 |
| 18:24 | p6eval | rakudo c05478: OUTPUT«Method 'sum' not found for invocant of class 'Parcel'current instr.: '_block14' pc 29 (EVAL_1:0)» |
| 18:24 | lue | TimToady: you put a smiley in the code with average :) |
| 18:24 | masak | alpha: (1..5).minmax.sum.say |
| 18:24 | p6eval | alpha 30e0ed: OUTPUT«Method 'sum' not found for invocant of class 'List'in Main (file src/gen_setting.pm, line 324)» |
| 18:25 | masak | TimToady: should there be a .sum method? |
| 18:25 | colomon | no. |
| 18:25 | moritz_ | please not |
| 18:25 | just like .max is superfluous | |
| 18:25 | masak | is not! :) |
| 18:25 | * moritz_ | hits masak |
| 18:25 | lue | rakudo: say (1..5).minmax.average |
| 18:25 | p6eval | rakudo c05478: OUTPUT«Method 'average' not found for invocant of class 'Parcel'current instr.: '_block14' pc 29 (EVAL_1:0)» |
| 18:25 | * masak | slaps moritz_ with a seasoned trout |
| 18:26 | * moritz_ | ducks deep, so that masak hits mberends |
| 18:26 | masak | mberends: sorry! :/ |
| 18:26 | lue | masak: use this herring! (I need it back afterwards to cut down a tree) |
| 18:26 | masak | lue: this herring is damaged. |
| 18:26 | I can't use it. | |
| 18:27 | TimToady | if it's bleeding, it might be a red herring |
| 18:27 | * masak | .oO( use Herring; ) |
| 18:27 | colomon | my wife dreams of making an album of all herring songs... |
| 18:27 | Grimnir_ | lol |
| 18:28 | masak | colomon: but would that really be worth herring? |
| 18:28 | lue | This halibut is good enough for Jehovah! Take it masak! |
| 18:28 | athenot joined #perl6 | |
| 18:28 | moritz_ | http://stackoverflow.com/quest[…]with-rakudo-perl6 |
| 18:28 | TimToady | the scales would be in tuna, I suppose |
| 18:29 | * colomon | is experiencing pun-lock |
| 18:29 | colomon | masak: it would be if I were playing bass |
| 18:29 | masak | :) |
| 18:30 | TimToady | they make me sing bass, but I'm really a barracuda |
| 18:30 | simcop2387 joined #perl6 | |
| 18:30 | 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) | |
| 18:30 | TimToady | er |
| 18:32 | colomon | hey, my crazy hacked rakudo compiled! |
| 18:33 | TimToady | put it on ice, and ship it |
| 18:33 | colomon | > say 1 !&& 3 |
| 18:33 | Could not find non-existent sub &infix:<> | |
| 18:34 | TimToady | well of course you couldn't find it--it's non-existent, duh! |
| 18:34 | you should look for an existent sub | |
| 18:34 | colomon | but also note how it is &infix:<> -- the nothing operator! |
| 18:35 | TimToady | std: 1 !&& 3 |
| 18:35 | p6eval | std 29966: OUTPUT«ok 00:01 107m» |
| 18:35 | TimToady | hmm, thought that one was too fiddly |
| 18:35 | lue | alpha: multi sub infix:<>{say "oh hello";}; say 54 #this is 5 <nothing> 4 |
| 18:35 | p6eval | alpha 30e0ed: OUTPUT«54» |
| 18:35 | lue | alpha: multi sub infix:< >{say "oh hello";}; say 5 4 #this is 5 <nothing> 4 |
| 18:35 | TimToady | or not iffy enough |
| 18:35 | p6eval | alpha 30e0ed: OUTPUT«Confused at line 10, near "4 #this is"in Main (file <unknown>, line <unknown>)» |
| 18:36 | 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>)» |
| 18:36 | 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>)» |
| 18:36 | masak | lue: two terms in a row. 5 4. |
| 18:36 | TimToady | std: multi sub infix:< >($a,$b){say "oh hello $a and $b";}; say 5 4; |
| 18:36 | p6eval | std 29966: OUTPUT«===[0mSORRY!===[0mTwo 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 loopFAILED 00:01 109m» |
| 18:37 | masak | even STD.pm agrees with me. |
| 18:37 | lue | what the heck does two terms in a row mean? |
| 18:37 | TimToady | it means there's no such thing as a null infix operator in Perl 6 |
| 18:38 | lue | That's why I tried a space :) |
| 18:38 | TimToady | it won't let you |
| 18:38 | diakopter | std: multi sub infix:<\ >($a,$b){say "oh hello $a and $b";}; say 5 \ 4; |
| 18:38 | 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<\ |
| 18:38 | ..… | |
| 18:38 | masak | lue: space is usually not significant. |
| 18:38 | TimToady | it if it could, I wouldn't tell you how |
| 18:38 | diakopter | wheh |
| 18:39 | 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» |
| 18:39 | lue | (still thinking of the omnisub :D ) |
| 18:39 | TimToady | because it's very, very, very, very important to Perl 6 to know whether it's expecting a term or an infix |
| 18:39 | diakopter | TimToady: Bareword found where operator expected |
| 18:39 | TimToady | so it can catch most errors |
| 18:40 | colomon | > say 3 !&& 3 |
| 18:40 | Could not find non-existent sub &infix:<&&> | |
| 18:40 | that's a bit better.... | |
| 18:40 | TimToady | except for the double negative :) |
| 18:41 | 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. :) |
| 18:41 | diakopter | std: multi sub infix:<\ >(){} |
| 18:41 | 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<\ |
| 18:41 | ..… | |
| 18:41 | TimToady | I'm just gonna keep carping till someone does... |
| 18:41 | * colomon | doesn't think he has a commit-bit for Parrot... |
| 18:42 | masak | TimToady: I'm with you. |
| 18:42 | * masak | never says no to a good carp |
| 18:42 | moritz_ | colomon: you can still submit patches :-) |
| 18:44 | TimToady | diakopter: I'm ignoring you. :) |
| 18:44 | szabgabx joined #perl6 | |
| 18:44 | k23z__ | <kbsmasher> I have tried: __asm { nop } but it didn't do anything. |
| 18:45 | lue | I'm going to log out for a moment, to enable japanese input. |
| 18:45 | TimToady | japanese input, yum |
| 18:45 | quick, talk about lue | |
| 18:45 | diakopter | bleh |
| 18:46 | TimToady | or make a cheese pun |
| 18:46 | masak | TimToady: even if you /ignore diakopter, you will see the STD.pm output he produces. :) |
| 18:46 | colomon | > say 4 !&& 4 |
| 18:46 | Could not find non-existent sub &infix:<sol&&> | |
| 18:46 | Aha! | |
| 18:46 | 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 |
| 18:47 | masak | why would anyone be chewing bailing wire? |
| 18:48 | TimToady | and I'm not /ignoring him, just ignoring him. :) |
| 18:48 | * diakopter | thought it was baling wire |
| 18:48 | masak | /oh |
| 18:48 | it's whaling wire, actually. | |
| 18:48 | TimToady | okay, it's kleenex and scotch tape then. |
| 18:49 | Grimnir_ | what's scotch tape? |
| 18:49 | diakopter | a trademarked brand of 3M |
| 18:49 | jnthn | The stuff that doesn't hold the universe together. |
| 18:49 | masak | Grimnir_: http://en.wikipedia.org/wiki/Scotch_Tape |
| 18:49 | colomon | Grimnir_: sellotape |
| 18:50 | lue joined #perl6 | |
| 18:50 | simcop2387 joined #perl6 | |
| 18:50 | Grimnir_ | oh, that's just called tape in danish |
| 18:51 | masak | wagamama, here we come! |
| 18:51 | colomon | > say 4 !&& 5 |
| 18:51 | Could not find non-existent sub &infix:<sol!&&> | |
| 18:51 | yay! | |
| 18:51 | lue | 風の楽土 (I hope I wrote winds of rakudo correctly!) |
| 18:51 | colomon: the sun is nonexistant? Noes! | |
| 18:52 | TimToady | that's more like rakudo of wind |
| 18:52 | wind's rakudo | |
| 18:52 | lue | bah, I'm not a student of japanese |
| 18:52 | colomon | lue: don't panic! just use your sub-etha to thumb a ride someplace else. |
| 18:53 | 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 :) |
| 18:53 | colomon: I would, but my pandimensional wireless card is broken :/ | |
| 18:54 | (stupid Verizon... :D ) | |
| 18:54 | quietfanatic | ゼルダの伝説 |
| 18:54 | colomon | lue: oh. sucks to be you. |
| 18:55 | oh wise ones | |
| 18:55 | I seem to have hacked !op into the grammar. | |
| 18:55 | lue | 時のオカリナ |
| 18:56 | colomon | 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? | |
| 18:58 | 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 |
| 19:00 | quietfanatic | I'd be more worried if I didn't occasionally see a security update for sudo. |
| 19:01 | TimToady | lessee, if I'm really about 3 or 4 TZ east of here, I should take a geezer nap now. |
| 19:01 | zzz & | |
| 19:02 | lue | o no! the copenhagen air has slept TimToady |
| 19:04 | colomon | pmichaud, jnthn: why is $opname stored as a .lex in gen_assign_metaop, rather than just passed as a parameter? |
| 19:05 | k23z__ | anyone in here down for some hardcore assembly hacking let me know |
| 19:05 | should I add hardcore oldschool assembly hacking | |
| 19:06 | jagd joined #perl6 | |
| 19:07 | jagd joined #perl6 | |
| 19:08 | 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 :) | |
| 19:09 | will Perl6 be compiled to bytecode and if so , will it be hard to write a disassembler for it ? | |
| 19:09 | 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 | |
| 19:09 | it received no resistance whatsoever ... | |
| 19:10 | avar | where here are the spectests rakudo uses: http://svn.openfoundry.org/pugs/t/ ? |
| 19:11 | colomon | http://svn.pugscode.org/pugs/t/spec |
| 19:11 | not that I quite understood the question, but that's where the Perl 6 spectests live. | |
| 19:11 | avar | ah, the pugs svn moved |
| 19:12 | isn't this pretty much the only thing the pugs svn is used for now? | |
| 19:12 | * lue | & |
| 19:13 | 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. | |
| 19:13 | and a bunch of other projects as well. | |
| 19:14 | 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 | |
| 19:14 | Null PMC access in invoke() | |
| 19:15 | martinro joined #perl6 | |
| 19:15 | jagd joined #perl6 | |
| 19:16 | colomon | and wow, I don't have any idea how to debug that. :( |
| 19:19 | lisppaste3 | colomon pasted "Slightly broken implementation of !op -- help?" at http://paste.lisp.org/display/96015 |
| 19:20 | explorer__ joined #perl6 | |
| 19:25 | colomon | oh, wait, should be prefix:<!>... stupid spectest, finish already so I can try that! |
| 19:25 | jagd joined #perl6 | |
| 19:26 | lichtkind joined #perl6 | |
| 19:26 | avar joined #perl6 | |
| 19:29 | 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:30 | colomon | yes. |
| 19:30 | I don't know which approach is better, I'm just imitating the way op= is currently handled. | |
| 19:30 | quietfanatic | Ah. Just seems more complicated that way. |
| 19:31 | colomon | though I'm suddenly suspicious your way is better.... |
| 19:31 | quietfanatic | Mine is just the naive way to do it (I think)... |
| 19:32 | colomon | I dunno, your way sounds elegant to me. |
| 19:32 | quietfanatic | Because I'm not familiar with grammars and compilers and all that. |
| 19:32 | lisppaste3 | colomon annotated #96015 "slightly improved but still Null PMC access version" at http://paste.lisp.org/display/96015#1 |
| 19:32 | quietfanatic | My way might be a little slower at runtime. |
| 19:33 | colomon | your way might work. seems like it's worth a try, anyway. |
| 19:36 | * colomon | is going mad with the power of git! |
| 19:36 | lichtkind | colomon: please dont do so :) |
| 19:37 | with 30 entries now: http://www.perlfoundation.org/[…]ndex.cgi?timeline | |
| 19:49 | colomon | quietfanatic: the only problem being, I'm not quite sure how to implement your suggestion... |
| 19:49 | quietfanatic | hmm... |
| 19:49 | colomon | > say 4 !&& 5 |
| 19:49 | Could not find non-existent sub &infix_prefix_meta_operator:<!> | |
| 19:49 | == progress | |
| 19:50 | 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. :) |
| 19:50 | quietfanatic | Ah. |
| 19:50 | ShaneC joined #perl6 | |
| 19:51 | quietfanatic | Well, it needs to have as parameters infix:<&&>, 4, and 5, right? |
| 19:51 | colomon | right |
| 19:51 | quietfanatic | s/infix/&infix/ |
| 19:51 | in some order or other | |
| 19:52 | what should the parameters be when a user writes a new meta op? | |
| 19:52 | colomon | hmmm? |
| 19:52 | btw, I'm compiling an attempt to guess how to do it as I type. | |
| 19:52 | quietfanatic | I mean...hold on, consulting the spec |
| 19:54 | The spec doesn't seem to have an example for overloading metaops, just infixes and such. | |
| 19:55 | colomon | holy smokes, that almost sort of worked. |
| 19:55 | multi sub infix_prefix_meta_operator:<!>($a, $b, $c) { | |
| 19:55 | say $a.WHAT; | |
| 19:55 | say $b.WHAT; | |
| 19:55 | say $c.WHAT; | |
| 19:55 | } | |
| 19:55 | > say 4 !&& 6 | |
| 19:55 | Str() | |
| 19:55 | Int() | |
| 19:55 | Int() | |
| 19:55 | quietfanatic | Great! Except why is $a Str()? |
| 19:56 | colomon | probably that's how I'm passing it. |
| 19:56 | but... hmm... | |
| 19:56 | rakudo: "say"(34); | |
| 19:56 | p6eval | rakudo 14a83e: OUTPUT«invoke() not implemented in class 'Perl6Str'current instr.: '_block14' pc 29 (EVAL_1:0)» |
| 19:56 | quietfanatic | rakudo: &::<say>(34) |
| 19:56 | 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)» |
| 19:57 | quietfanatic | alpha: &::<say>(34) |
| 19:57 | p6eval | alpha 30e0ed: OUTPUT«Syntax error at line 10, near "&::<say>(3"in Main (file <unknown>, line <unknown>)» |
| 19:57 | quietfanatic | ah, it seems symbolic lookup is not yet implemented. |
| 19:57 | colomon | you can call a method specified by a string, surely there's a way to do that with a sub? |
| 19:58 | 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) | |
| 19:58 | p6eval | alpha 30e0ed: OUTPUT«error:imcc:syntax error, unexpected ']' (']') in file 'EVAL_22' line 71Null PMC access in invoke()in Main (file <unknown>, line <unknown>)» |
| 19:58 | quietfanatic | alpha: (Q:PIR{%r = get_hll_global '&say'}).(34) |
| 19:58 | p6eval | alpha 30e0ed: OUTPUT«Null PMC access in invoke()in Main (file <unknown>, line <unknown>)» |
| 19:59 | diakopter | alpha: (Q:PIR{%r = get_hll_global 'say'})(34) |
| 19:59 | p6eval | alpha 30e0ed: OUTPUT«34» |
| 20:00 | lisppaste3 | colomon annotated #96015 "very different attempt which also slightly fails" at http://paste.lisp.org/display/96015#2 |
| 20:01 | 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... | |
| 20:02 | quietfanatic | How do you pass it the op itself, instead of the name of the op? |
| 20:07 | payload joined #perl6 | |
| 20:07 | athenot joined #perl6 | |
| 20:13 | athenot_ joined #perl6 | |
| 20:14 | athenot_ joined #perl6 | |
| 20:14 | quietfanatic | colomon: Just a guess; should that line 'my $opsub := "&infix:<$sym>";' be 'my $opsub = $<infix>.ast;' or something like that? |
| 20:15 | maybe not. | |
| 20:17 | s/=/:=/ | |
| 20:28 | jagd left #perl6 | |
| 20:35 | synth joined #perl6 | |
| 20:48 | martinro joined #perl6 | |
| 20:50 | 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 | id does not report it in the smolder report | |
| 20:50 | justatheory joined #perl6 | |
| 20:51 | mikehh | s/id/it/ |
| 20:53 | baest | is qw// dead and replaced by <>? |
| 20:53 | quietfanatic | baest: yes |
| 20:54 | baest | quietfanatic: thanks |
| 20:59 | prism joined #perl6 | |
| 20:59 | 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? |
| 21:02 | colomon | baest: I think that's all supposed to change in pmichaud's next round of fixes. |
| 21:03 | So I'd not worry about it at the moment. | |
| 21:03 | baest | colomon: oh ok |
| 21:05 | * 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 #perl6 | |
| 21:13 | krr joined #perl6 | |
| 21:20 | k23z__ joined #perl6 | |
| 21:20 | k23z__ joined #perl6 | |
| 21:32 | TimToady | baest: actually, qw// should also still work; <> is just the shortcut, like '' and q// still both work |
| 21:33 | 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)» |
| 21:33 | TimToady | std: say qw/foo bar/ |
| 21:33 | p6eval | std 29967: OUTPUT«ok 00:01 107m» |
| 21:33 | diakopter | pugs: say qw/foo bar/ |
| 21:33 | p6eval | pugs: OUTPUT«foobar» |
| 21:34 | newbie joined #perl6 | |
| 21:37 | jferrero joined #perl6 | |
| 21:45 | 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:03 | uniejo joined #perl6 | |
| 22:06 | wolf2k_ubuntu joined #perl6 | |
| 22:07 | mberends joined #perl6 | |
| 22:08 | am0c joined #perl6 | |
| 22:10 | k23z__ | hey what if perl6 offered permutations as a core language feature ? |
| 22:10 | is it unreasonable ? | |
| 22:11 | mberends | k23z__: that feels like something that belongs a level above the core language, probably in a module |
| 22:11 | masak joined #perl6 | |
| 22:12 | k23z__ | can Perl6 modules be written in Parrot code ? |
| 22:12 | what is the equivalent of XS in Perl6 ? | |
| 22:12 | mberends | yes, in PIR |
| 22:12 | masak | the equivalent of XS is Parrot NCI. |
| 22:12 | k23z__ | will it be blazing fast if written in PIR ? |
| 22:12 | TimToady | define blazing |
| 22:13 | mberends | XS is another matter, we're currently working on NCI |
| 22:13 | lichtkind | mberends: hej |
| 22:13 | mberends | hi lichtkind |
| 22:13 | masak | k23z__: it might possibly be a bit faster than compiled Perl 6 in some cases. no order-of-magnitude wins, though. |
| 22:13 | 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 ? http://github.com/wsdookadr/Ru[…]aster/SJT/SJT.asm |
| 22:14 | lichtkind | and masaks now there too :) |
| 22:14 | mberends: seen http://www.perlfoundation.org/[…]ndex.cgi?timeline ? | |
| 22:15 | 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 :) |
| 22:15 | TimToady | with a decent jit it might go fast, but parrot's jit has suffered repeated bitrot |
| 22:15 | masak | jitrot. |
| 22:15 | jnthn | Parrot's jit got ripped out, iirc. |
| 22:15 | k23z__ | TimToady: assembly code is my definition of blazing fast |
| 22:15 | masak | jitrip. |
| 22:15 | mberends | lichtkind: oh yes, exact dates! |
| 22:16 | TimToady | yes, well, you're talking NCI there, not parrot, currently |
| 22:16 | masak | rakudo: class A { has $.b = my $foo = 42; say $foo } |
| 22:16 | p6eval | rakudo 14a83e: OUTPUT«42» |
| 22:16 | k23z__ | is NCI at an equivalent speed with assembly code ? |
| 22:16 | masak | alpha: class A { has $.b = my $foo = 42; say $foo } |
| 22:16 | quietfanatic | Parrot's NCI is, I think, easier to use than Perl5's XS. |
| 22:16 | p6eval | alpha 30e0ed: OUTPUT«Lexical '$foo' not foundin Main (file src/gen_setting.pm, line 324)» |
| 22:16 | k23z__ | quietfanatic: maybes some docs please ? with lots of examples ? |
| 22:16 | TimToady | NCI is an API, not an engine |
| 22:17 | 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)» |
| 22:17 | * masak | submits rakudobug |
| 22:17 | diakopter | masak: :) |
| 22:17 | TimToady | it's like asking what's faster, an elevator, or an elevator door? |
| 22:17 | mberends | lichtkind: the whole timeline looks so very good :) |
| 22:17 | quietfanatic | k23z__: It's somewhere in Parrot's documentation. |
| 22:17 | lichtkind | mberends: thanks |
| 22:18 | k23z__ | TimToady: to me it's all the same |
| 22:18 | diakopter | my elevator is a door |
| 22:18 | lichtkind | mberends: so we finally get to the translation of the tut :) |
| 22:18 | masak | my door is an elevator. |
| 22:18 | k23z__ | TimToady: I don't understand your comparison because I don't know as much about p6 as you do |
| 22:18 | diakopter | ... no one does... |
| 22:18 | masak | rakudo: class A { my $foo = 42; method x { say $foo } }; A.new.x |
| 22:18 | TimToady | has nothing to do with p6 |
| 22:18 | p6eval | rakudo 14a83e: OUTPUT«42» |
| 22:18 | lichtkind | masak: lives on mars und uses the super secret jumprooms :) |
| 22:18 | TimToady | it's a category error |
| 22:18 | * k23z__ | is not much of a category theorist :D |
| 22:19 | 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? |
| 22:19 | k23z__ | masak: :) |
| 22:19 | masak | I mean, it's like comparing apples and category errors. |
| 22:20 | TimToady | APIs and oranges |
| 22:20 | diakopter | my door is an orange |
| 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 ? |
| 22:20 | masak | TimToady: :) |
| 22:20 | k23z__ | like __asm { ... } |
| 22:20 | masak | diakopter: :) |
| 22:20 | quietfanatic | inline? Well, I don't think we have that yet. |
| 22:21 | 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 |
| 22:21 | diakopter | k23z__: just write some tests... |
| 22:21 | quietfanatic | ...which is what NCI does. |
| 22:22 | nihiliad joined #perl6 | |
| 22:23 | TimToady | APIs and O()-ranges |
| 22:24 | pugssvn | r29968 | moritz++ | [t/spec] test that lexicals escape thunks |
| 22:24 | jnthn | .oO( what the thunk? ) |
| 22:25 | 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? |
| 22:25 | p6eval | rakudo 14a83e: ( no output ) |
| 22:25 | TimToady | <O> sets the actual precedence on the token we're returning |
| 22:26 | the arg to EXPR is a cap on how tight we require the precedence to be | |
| 22:26 | in this subexpressoin | |
| 22:26 | arnsholt | One of the Parrot devs (I think) commented about Rakudo copying a lot in a comment on my segfault bug: http://trac.parrot.org/parrot/[…]et/1499#comment:8 |
| 22:26 | TimToady | ion |
| 22:26 | arnsholt | (In case that's interesting to someone) |
| 22:26 | TimToady | that's how we stop on the comma when you say my $a = 1, 2 |
| 22:27 | 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! |
| 22:27 | masak | arnsholt: why would Rakudo copy a lot in a comment on your segfault bug? :P |
| 22:27 | that sounds like a metabug to me. | |
| 22:27 | arnsholt | masak: A bit of a tangent, from him digging around in the Rakudo code, I imagine |
| 22:28 | 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 |
| 22:29 | masak | snarkyboojum: ping |
| 22:29 | Tene | k23z__: Rakudo has the ability right now to use inline PIR, which is Parrot's bytecode. |
| 22:29 | rakudo: Q:PIR { print "lolol" } | |
| 22:29 | TimToady | for permuting integers, that'll likely be faster than anything you could write in p6 |
| 22:29 | p6eval | rakudo 14a83e: OUTPUT«lolol» |
| 22:30 | 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 |
| 22:30 | lue | (If I can't work, I'll just learn Japanese >:) ) |
| 22:31 | k23z__ | is Perl6 going to be like Java ? |
| 22:31 | if it has a vm .. | |
| 22:31 | and stuff like that | |
| 22:31 | masak | k23z__: yes. |
| 22:32 | 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 ? | |
| 22:32 | moritz_ | slow. At the moment at least |
| 22:32 | 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. |
| 22:32 | diakopter | about 5000-10000 slower |
| 22:32 | moritz_ | k23z__: that's correct |
| 22:32 | diakopter | 5000-10000x slower, I mean |
| 22:33 | k23z__ | Tene: calling conventions in terms of ? order of params on stack ? |
| 22:33 | Tene: what else ? | |
| 22:33 | 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 #perl6 | |
| 22:34 | k23z__ | I don't know any other model than stack-based |
| 22:34 | how does Parrot work when calling some fucntion ? | |
| 22:34 | moritz_ | it's continuation passing style |
| 22:34 | diakopter | Perl 6 isn't stack-based? |
| 22:34 | moritz_ | http://en.wikipedia.org/wiki/C[…]ion-passing_style |
| 22:34 | (at least parrot) | |
| 22:34 | 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. |
| 22:35 | 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 ? |
| 22:35 | are there some particular advantages that you are fond of ? | |
| 22:35 | moritz_ | k23z__: yes; it's needed |
| 22:35 | arnsholt | k23z__: Using a VM you get a lot more platform independence |
| 22:35 | diakopter | Tene: nor is any language whose subroutines can be inlined when deemed safe....? |
| 22:36 | 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 |
| 22:36 | moritz_ | k23z__: in C you don't even have objects, so you need some kind of runtime system |
| 22:37 | 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. | |
| 22:37 | k23z__ | hm ok I get the idea |
| 22:37 | Tene | k23z__: There are a few other alternative implementations in progress, and any implementation that can pass the spec test suite "Is Perl 6" |
| 22:38 | lue | Rakudo is only the most likely candidate. A few years ago it was Pugs. |
| 22:38 | most likely candidate _to be the first_ | |
| 22:39 | 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:40 | I hope a similar mechanism be devised for p6 | |
| 22:40 | TimToady | I hope p6's mechanism is far, far better than XSW |
| 22:40 | XS | |
| 22:40 | 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. |
| 22:41 | 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. |
| 22:41 | moritz_ | rakudo: my %p; %p<a> = [%p<a>, 4]; say %p.perl |
| 22:41 | p6eval | rakudo 14a83e: OUTPUT«{"a" => [Proxy.new(), 4]}» |
| 22:41 | lue | Speaking of which, is SDL/OpenGL useable yet? :) |
| 22:41 | mberends | lue: almost :) |
| 22:41 | moritz_ | masak: that's RT #64080 |
| 22:42 | and "fixed" now :-) | |
| 22:42 | diakopter | k23z__: Perl 6 specifies native types, which (assuming a good optimizer) should provide quite efficient data structures/algorithms. |
| 22:42 | 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. |
| 22:42 | TimToady | and it should be possible to specify APIs from the Perl side, so you don't have to write grotty glue code |
| 22:42 | (see XS) | |
| 22:43 | 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 |
| 22:43 | Tene | k23z__: here is a wrapper library in PIR for a GUI library I was playing with a while back: http://github.com/tene/parrot-[…]er/Elementary.pir |
| 22:44 | k23z__: you notice that you need to explicitly specify the signature | |
| 22:44 | 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. | |
| 22:45 | 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. |
| 22:46 | 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 |
| 22:47 | 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. |
| 22:47 | mberends | arnsholt: it's not a high priority to make own-foot-shooting-guns, but eventually it will come ;;) |
| 22:47 | TimToady | and that's one of the reasons Perl now has better type info |
| 22:47 | k23z__ | Tene: implementation-dependant doesn't matter very much since there is only one implementation(Rakudo) |
| 22:48 | diakopter | k23z__: that is extremely incorrect. |
| 22:48 | TimToady | perl6: say "hi, k23z__!" |
| 22:48 | moritz_ | k23z__: http://perl6.org/compilers/ |
| 22:48 | p6eval | elf 29968, pugs, rakudo 14a83e: OUTPUT«hi, k23z__!» |
| 22:48 | TimToady | there's at last three |
| 22:49 | kfo joined #perl6 | |
| 22:49 | 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. |
| 22:49 | 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. |
| 22:49 | diakopter | loose reading of lue> Rakudo is only the most likely candidate. |
| 22:50 | snarkyboojum joined #perl6 | |
| 22:50 | 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. |
| 22:50 | k23z__ | masak: I thought pugs development has stopped ? |
| 22:50 | masak | k23z__: your point being? |
| 22:50 | TimToady | but not mildew or sprixel |
| 22:50 | moritz_ | it still exists |
| 22:50 | Tene | k23z__: That's right, pugs is not under current active development. That doesn't mean it doesn't exist, though. |
| 22:51 | 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? |
| 22:51 | p6eval | rakudo 14a83e: OUTPUT«Could not find non-existent sub &foocurrent instr.: '_block14' pc 29 (EVAL_1:0)» |
| 22:51 | moritz_ | std: &foo |
| 22:51 | p6eval | std 29967: OUTPUT«ok 00:01 108m» |
| 22:51 | masak | moritz_: that's a question pmichaud asked as well. |
| 22:51 | * arnsholt | has considered looking at Pugs |
| 22:51 | snarkyboojum | masak: g'day :) |
| 22:51 | masak | moritz_: I'm of the opinion that it should not warn. |
| 22:51 | arnsholt | It's ludicrously hubristic, but might be fun |
| 22:51 | k23z__ | masak: 2-1 = 1 |
| 22:51 | masak | snarkyboojum: I'm hacking on Tardis. |
| 22:51 | moritz_ | masak: I know; he gave me RT #73074 |
| 22:52 | 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. |
| 22:52 | snarkyboojum | masak: nice! how'd the talk go? |
| 22:52 | masak | k23z__: forgive me if I don't put much energy into replying to you from now on. |
| 22:52 | k23z__ | ??? |
| 22:52 | masak | snarkyboojum: it felt nice to give it. it's the first talk that I wouldn't mind giving again sometime. |
| 22:53 | snarkyboojum | masak: excellent :) slides up anywhere? |
| 22:53 | masak | snarkyboojum: I just pushed what I've committed so far to Tardis. |
| 22:53 | k23z__ | ok I am not going to be using this channel any more , bye #perl6 |
| 22:53 | snarkyboojum | masak: sweet - will take a look |
| 22:53 | masak | snarkyboojum: bottom of http://feather.perl6.nl/~masak/ |
| 22:53 | k23z__ left #perl6 | |
| 22:53 | 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 | I think k23z__ isn't sure himself | |
| 22:54 | diakopter | masak: he was here yesterday too |
| 22:54 | masak | diakopter: I didn't say he was. I said he hadn't managed to convince me he wasn't. |
| 22:55 | diakopter: there's a subtle difference. | |
| 22:55 | diakopter | I didn't say you said/thought he was. |
| 22:55 | masak | :) |
| 22:55 | TimToady | masak didn't say he thought you said that. :P |
| 22:55 | masak | I'm not saying I think he isn't, by the way. |
| 22:56 | TimToady | ain't communication wunnerful |
| 22:56 | * Khisanth | bows to masak's skills |
| 22:56 | diakopter | I was saying (in different words) that he *had* managed to convince me he wasn't being a troll. |
| 22:56 | TimToady | now you tell us |
| 22:56 | masak | diakopter: is the proof contained in P? :) |
| 22:57 | diakopter | but that's what I said |
| 22:57 | masak | that's what she said! |
| 22:57 | diakopter | _I think_ that _he wasn't being a troll_ |
| 22:57 | * masak | is not convinced masak is not a troll |
| 22:57 | TimToady | no, you just said you thought he wasn't, you didn't say he'd convinced you of it :) |
| 22:57 | k23z__ joined #perl6 | |
| 22:58 | masak | TimToady: that's what diakopter said, but maybe not what he thought he said :) |
| 22:59 | 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 |
| 22:59 | TimToady | hi, k23z__ |
| 22:59 | k23z__ | masak: I actually rejoined because I think you have mistaken me for a "troll" |
| 22:59 | masak | k23z__: yes. I might very well have been mistaken. |
| 22:59 | moritz_ | now we're at leat one step meta. Congratulations everyone. |
| 22:59 | masak | k23z__: I just wish I could rule it out more readily. |
| 23:00 | k23z__ | if you label me a troll again I will never enter this channel |
| 23:00 | that's all I had to say | |
| 23:00 | * k23z__ | goes back to code |
| 23:00 | 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? |
| 23:00 | diakopter | k23z__: I'm glad you have questions about Perl 6 |
| 23:00 | TimToady | nuclear blackmail? then stay away, by all means |
| 23:01 | masak | k23z__: I label you a troll. |
| 23:01 | TimToady | take your marbles and run while you can |
| 23:01 | dalek | rakudo: 9a94503 | moritz++ | t/spectest.data: |
| 23:01 | rakudo: turn on new test in S03-operators/names.t | |
| 23:01 | rakudo: review: http://github.com/rakudo/rakud[…]ae48a2a1997b67654 | |
| 23:01 | lue | 日本語 ゼルダの伝説 風の卓と (felt this conversation needed a sharp turn to SCD) |
| 23:01 | masak | lue: you finally got your kana. :) |
| 23:01 | TimToady | actually, I think moritz++ has the right idea |
| 23:01 | quietfanatic | lue: err, I think that's the wrong spelling of タクト |
| 23:02 | 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. | |
| 23:02 |