Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2009-08-10

Perl 6 | Reference Documentation | Rakudo

| Channels | #perl6 index | Today | | Search | Google Search | Plain-Text | summary

All times shown according to UTC.

Time Nick Message
00:07 Chillance_ joined #perl6
00:26 maja_ joined #perl6
00:28 missingthepoint joined #perl6
00:32 alester joined #perl6
00:39 SmokeMachine joined #perl6
00:44 awwaiid joined #perl6
01:03 kst joined #perl6
01:10 unitxt left #perl6
01:17 Jedai joined #perl6
01:30 tann joined #perl6
02:00 agentzh joined #perl6
02:00 ihrd joined #perl6
02:00 agentzh1 joined #perl6
02:01 ihrd left #perl6
02:05 wayland76 joined #perl6
02:05 wayland76 ping bots
02:05 phenny wayland76: 08 Aug 19:34Z <nperez> tell wayland76 I am interested what the plan is for polling io handles (ie. select(2)) and am willing to be guided/mentored to do the work
02:07 * nperez returns
02:07 wayland76 phenny: tell nperez There's currently no plan for pollig IO handles that I'm aware of.  Part of the reason for this may be that the concurrency spec is a complete shemozzle, and the two will quite possibly interact.
02:07 phenny wayland76: I'll pass that on when nperez is around.
02:07 nperez I am working on writing an IO::Select class at the moment
02:07 phenny nperez: 02:07Z <wayland76> tell nperez There's currently no plan for pollig IO handles that I'm aware of.  Part of the reason for this may be that the concurrency spec is a complete shemozzle, and the two will quite possibly interact.
02:07 wayland76 Ok, looks like I don't need to tell phennt :)
02:07 wayland76 s/class/role/ ???
02:08 nperez just implementing the perl 5 IO::Select as a class.
02:08 wayland76 Ah, ok
02:08 nperez sockets can be polled in parrot land
02:08 nperez and I plan on using that
02:08 wayland76 Has this been brought up on the mailing list at all?
02:08 nperez nah, just in here.
02:09 payload rakudo: sub foo { "fooo".subst(/o/, '') }; multi bar { "fooo".subst(/o/, ''); }; say foo; say bar; # evil
02:09 wayland76 Ok, do you want to put something on the mailing list asking for spec clarification, or shall I?
02:09 p6eval rakudo 39cc84: OUTPUT«foo␤Lexical '$/' not found␤in sub bar (/tmp/RjKI24ERPq:2)␤called from Main (/tmp/RjKI24ERPq:2)␤»
02:09 nperez I'm not interested in navigating the spec resolution. I just want a working select
02:09 wayland76 I also note that S32/IO says that the select function is "Gone"
02:09 nperez exactly
02:10 nperez hence this class
02:10 wayland76 In other words, there's no plan to include it in P6
02:10 wayland76 Ok, so you're intending this to be an external library?
02:10 alester Why does every conversation about Perl 6 have to be about competition?
02:10 nperez right now, yes
02:10 alester "They have missed the boat."
02:10 alester What boat is that?
02:11 nperez unfortunately, this IO::Select class will be parrot specific
02:11 nperez rakudo specific, too since I will need to use the Q:PIR construct
02:11 wayland76 nperez: Ok, as an external library, I'm happy.  But I'm completely unqualified to comment on select :).  My contribution to the IO spec was moving stuff around, grouping and regularising it, not actually understanding what was going on
02:11 wayland76 you may get more from Rakudo
02:12 wayland76 Sorry
02:12 wayland76 s/Rakudo/ruoso/
02:12 nperez Yeah, not understanding why select was removed
02:12 nperez it is incredibly useful
02:12 wayland76 alester: Perl is the first Postmodern programming language.  Other languages are still trapped in the Modern era :)
02:13 wayland76 nperez: Example?
02:13 nperez erm, POE, heh
02:13 wayland76 Hmm, multiple tail -f, right?
02:13 nperez hard to write POE without select
02:13 wayland76 Have you seen the concurrency stuff that's been discussed in the past?
02:13 nperez in fact, multiplexing IO across multiple file descriptors is kind of hard to do without select
02:13 wayland76 With an event-based model underlying the threads?
02:14 nperez I have not seen that, but I find it rather odd to throw out select(2) functionality
02:14 wayland76 nperez: If I had to guess, I'd say the plan was to replace "Select" with something at a higher level, and use "select" under the hood
02:15 wayland76 nperez: I think you should look at the concurrency stuff.  I'll find you something appropriate.  Justamo
02:16 wayland76 Ok, looks at S17, in the Intro section before the "Overview"
02:16 wayland76 There's a link there that explains what the plan is
02:16 nperez Not to knock on the concurrency stuff, but my goal is a naive port of POE to rakudo. POE exists now. POE uses select at it's core (outside of using other event loops).
02:17 nperez Which is kind of why I want just plain old select :)
02:17 wayland76 I see your goal, but allow me to point out that P6 plans to have its own event loop
02:18 nperez That's fine. POE is more than just an event loop. It encapsulates event loops.
02:18 wayland76 So I guess I'm just suggesting that you keep that in mind as you pursue your goal
02:18 wayland76 Ok, as long as you understand the situation, I'm happy
02:19 wayland76 You may still be interested in discussing this with ruoso if you see him though.
02:19 nperez Sure
02:20 wayland76 I'm sure he understands the thinking behind the IO spec better than I do
02:20 wayland76 But I doubt either of us originated the part that says that select is gone
02:20 wayland76 Which is why I suggested the mailing list
02:20 wayland76 Anyway, I hope all this helps some :)
02:20 nperez It sure does.
02:21 wayland76 Anyway, I gotta go, unless you have another particular question at the moment
02:21 nperez I'm good
02:22 wayland76 ok, great
02:30 __ash__ are state variables like static variables
02:56 missingthepoint __ash__: you mean static variables in C?
02:56 __ash__ yeah
02:57 __ash__ a similar concept at least
03:05 missingthepoint i don't think so... (i could be wrong, i'm one of the newest folk around here)
03:05 missingthepoint have you seen http://perlcabal.org/syn/S03.html ? The bit under "Declarators"?
03:06 agentzh joined #perl6
03:10 __ash__ http://svn.pugscode.org/pugs/examples/cashiers.pl is what gave me that impression
03:10 agentzh joined #perl6
03:11 __ash__ in function gen_cashier; the variable 'state $cash_in_store' retains its value if you call the function multiple times, so at least in that sense its functioning similar to a static variable in C
03:14 agentzh joined #perl6
03:15 missingthepoint ok, that's true... but the scoping is note the same
03:15 missingthepoint *not
03:15 __ash__ missingthepoint: i found it, http://perlcabal.org/syn/S04.html  "There is a new state declarator that introduces a lexically scoped variable like my does, but with a lifetime that persists for the life of the closure, so that it keeps its value from the end of one call to the beginning of the next. Separate clones of the closure get separate state variables." so in a sub, as long as you don't clone the sub it will have the same value
03:15 agentzh joined #perl6
03:17 missingthepoint if by "sub" you mean "closure" ;)
03:18 __ash__ a sub is a closure, or a form of one
03:20 donaldh joined #perl6
03:20 pugs_svn r27938 | bpetering++ | [examples] fixed cashiers.pl to work with Rakudo
03:23 nihiliad joined #perl6
03:32 missingthepoint __ash__: is there anything else i can "help" with? (you figured that one out yourself ;)
03:33 __ash__ have you done anything with the grammar stuff?
03:33 missingthepoint not really, what are you trying to do?
03:35 missingthepoint (it's ok to ask beginner questions in here... it helps as a matter of fact, so just go ahead and ask...)
03:37 __ash__ i want to fix the problem with classes not being able to explcitly call composed objects (like calling self.Foo.bar within a method)
03:38 __ash__ its not implemented in rakudo yet
03:38 sri_kraih joined #perl6
03:39 __ash__ see spec S12-class/inheritence.t
03:39 mepplock joined #perl6
03:39 __ash__ it has what i am refeering too
03:39 __ash__ if i am not mistaken, thats a grammar + object composition issue
03:40 __ash__ look at line 20, super_baz has the functionalty thats currently not implemented
03:42 molaf joined #perl6
03:42 __ash__ if you want to help me out that would be great, i am still learning my way around the interior of perl 6
03:44 missingthepoint ah, in method super_baz()?
03:44 __ash__ yeah
03:44 __ash__ my syntax above was off, sorry, it should be self.Foo::bar();
03:45 missingthepoint no problem :)
03:46 missingthepoint have you got the latest rakudo revision checked out?
03:46 __ash__ yup
03:46 frew joined #perl6
03:47 missingthepoint have you done a "make spectest"?
03:47 __ash__ yup
03:48 missingthepoint ok, you can now go to rakudo<whatever>/t/spec/S12-class/inheritance.rakudo
03:48 missingthepoint the test for that is skipped with note "method resolution bug"
03:48 missingthepoint so, you probably want to look in the bug tracker for notes on the bug
03:51 mikehh_ rakudo (39cc848) builds on parrot r40476 make test/make spectest (up to 27938) PASS - Ubuntu 9.04 amd64
03:51 synth joined #perl6
03:52 __ash__ where is the bug tracker for perl 6, i haven't been able to find it yet
03:53 missingthepoint __ash__: it's at http://rt.perl.org/rt3/Public/?nossl=true, more or less :)
03:53 missingthepoint (choose queue)
03:55 __ash__ http://rt.perl.org/rt3/Publi​c/Bug/Display.html?id=46665 guess thats what they were referring too
03:55 missingthepoint __ash__: concur
03:56 missingthepoint (i can't find anything closer to "method resolution bug"... RT is less than awesome.)
03:57 missingthepoint got parrot skills? :)
03:58 __ash__ i was planning on building some by working on this issue :P
03:58 missingthepoint :D
03:58 missingthepoint go right ahead... :(
03:58 missingthepoint err, :) (i can't type today)
03:59 __ash__ one question, thats kinda stupid, i have seen a few files with .p6 but most with .pl is there a preferred extension for perl 6?
03:59 missingthepoint i can't vouch for #parrot, but i imagine they'd offer some assistance if you pop over there and ask for a few pointers
04:00 missingthepoint .pl seems to be the de facto standard
04:01 missingthepoint (that's actually an interesting question, because it implies the question "is Perl 6 still Perl?")
04:01 __ash__ well, with use v5 and use v6; it is :P at least some times
04:02 missingthepoint :)
04:02 __ash__ the parrot irc server hates me btw, it never lets me connect
04:03 nihiliad joined #perl6
04:05 __ash__ oh it actually let me on for once, nm
04:07 missingthepoint i was wondering what extension to give my files too :)
04:08 missingthepoint i've settled for .pl, which reveals which side of that question i come down on
04:10 missingthepoint i see it like so - if you have a narrow view of "Perl", you could argue the difference between Perl <= 5 and Perl 6 is that it changed from a runtime to a specification
04:10 missingthepoint but if you have a wide view of "Perl" - i.e., it's a community - then Perl 6 is still Perl
04:10 missingthepoint I go with the latter :)
04:11 __ash__ hm... the error message you get when you call the methods like that seems to be coming from parrot, not any of the perl 6 stuff
04:11 missingthepoint what errmsg?
04:12 __ash__ Method '%Ss' not found for invocant of class '%Ss'
04:12 missingthepoint that would confirm the diagnosis of RT #46665
04:12 __ash__ which is thrown when the methods don't exist in the objects vtable
04:18 nihiliad joined #perl6
04:19 missingthepoint *tend to confirm
04:20 __ash__ missingthepoint: well, this is related to parrot more so than perl, i wonder how vtables work in parrot
04:20 __ash__ they have tests for overriding a method from a parent in a child, but not explcitily calling a parents method from a child (IE like super)
04:24 __ash__ i think i am going to ask on the mailing list if they have a specification for calling parent object methods explicitly
04:30 missingthepoint __ash__: might like to look at http://docs.parrot.org/parrot/late​st/html/docs/compiler_faq.pod.html first
04:31 __ash__ http://docs.parrot.org/parrot/latest/​html/docs/pdds/pdd15_objects.pod.html i am reading this
04:31 __ash__ which defines how objects should work
04:31 missingthepoint ah, no problem
04:31 __ash__ so far i haven't seen anyhting defining how calling a parent's method works
04:31 missingthepoint my guess would be, "if not in the design docs, ask on mailing list"
04:32 __ash__ my thoughts exactly
04:32 __ash__ yeah i don't see it in there
04:35 missingthepoint or perhaps in IRC (if you can get it working)
04:35 __ash__ i got irc working, but it seems very quiet, i don't think many people are on at the moment so i figured the mailing list would probably work
04:37 missingthepoint maybe give it a few hours, not sure of your localtime, but i find things pick up around here when western europe wakes up :)
04:37 missingthepoint that may be the same for #parrot
04:37 __ash__ yeah i wouldn't be surprised
04:38 missingthepoint i'll be waking up about the same time as western europe :P
04:39 __ash__ i'll be at work then, but maybe i can hop on and not get to distracted in here :P
04:41 __ash__ well, i am going to sleep, cya around missingthepoint
04:42 missingthepoint cya ash :)
04:42 missingthepoint (if you want a shorter form, use 'ben')
04:43 nihiliad joined #perl6
04:44 agentzh joined #perl6
04:54 tann joined #perl6
04:56 eternaleye nperez: the underpinning for much of the thinking on concurrency in P6 is http://www.seas.upenn.edu/~​lipeng/homepage/unify.html
05:02 pugs_svn r27939 | kyle++ | [t/spec] relabel todo test
05:03 pugs_svn r27940 | kyle++ | [t/spec] Test for RT #66886
05:03 pugs_svn r27941 | kyle++ | [t/spec] Ticket 67786: Merged into ticket #67256 (so I renamed the tests)
05:03 pugs_svn r27942 | kyle++ | [t/spec] Take # out of test description and mark skip as "noauto"
05:05 missingthepoint kyle++ # test suite work :)
05:08 tann joined #perl6
05:18 drbean joined #perl6
05:22 carlin joined #perl6
05:37 carlin left #perl6
05:37 carlin joined #perl6
05:38 tann_ joined #perl6
05:41 orafu joined #perl6
06:00 eMaX joined #perl6
06:19 moritz_ good morning
06:23 japhb o/
06:25 finanalyst joined #perl6
06:26 mberends hi moritz_
06:27 moritz_ good localtime japhb, mberends, *
06:32 mberends that reference eternaleye++ gave for concurrency looks great
06:36 eternaleye mberends: Just something that was mentioned in this channel long ago which I backlogged
06:38 mberends overhead of just 48 bytes per thread with continuation passing style is awesome performance
06:58 Su-Shee joined #perl6
06:58 Su-Shee good morning!
06:59 moritz_ good morning Su-Shee
07:00 Su-Shee hi moritz. :) how many raudo improvements before 9 today? ;)
07:01 dukeleto joined #perl6
07:01 moritz_ Su-Shee: none. Not really awake yet :(
07:02 Su-Shee ;)
07:02 moritz_ rakudo: runinstead('echo foo')
07:02 p6eval rakudo 39cc84: OUTPUT«Could not find non-existent sub runinstead␤»
07:09 rfordinal joined #perl6
07:20 donaldh joined #perl6
07:21 rfordinal joined #perl6
07:26 eMaX joined #perl6
07:38 szabgab joined #perl6
07:40 Jedai joined #perl6
07:43 jkva joined #perl6
07:55 moritz_ my attempt to provide "Not yet implemented" messages in a fancy way failed.
07:55 moritz_ if you define a lexical in the setting, assign a block to it and call it, it will give a Null PMC access
07:56 Matt-W :o
07:56 Matt-W That's not good
07:56 moritz_ aye
07:56 moritz_ maybe I'll settle for stupid code duplication instead
07:58 jferrero joined #perl6
07:58 frettled I wonder about one thing regarding stringification of hashes:
07:59 frettled say %hash;   -> not-so-pretty-printed contents of the hash, each key+value pair printed, but with no obvious separation.
07:59 frettled say ~%hash;  -> pretty-printed contents of the hash, each key+value pair printed on separate lines.
08:00 mberends I knew you were going to ask that ;) I think the magic might be in the Str method of the Hash class
08:00 frettled Would it be correct to say that with �say %hash�, the hash is stringified as a single item, while �say ~%hash� stringifies and �says� each hash element?
08:00 moritz_ that's because a hash in list context returns its pairs
08:01 moritz_ and say() doesn't insert anything between list items
08:01 moritz_ (which would be a stupid default)
08:01 frettled Ahaha!
08:01 moritz_ you should observe the same with lists
08:01 moritz_ rakudo: say <3 4 5>
08:01 moritz_ rakudo: say ~<3 4 5>
08:01 p6eval rakudo 39cc84: OUTPUT«345␤»
08:01 p6eval rakudo 39cc84: OUTPUT«3 4 5␤»
08:02 frettled rakudo: say %foo = <bar baz> = <gazonk frobble>; say %foo;
08:02 p6eval rakudo 39cc84: OUTPUT«Symbol '%foo' not predeclared in <anonymous> (/tmp/mrJsqBfiPQ:2)␤in Main (src/gen_setting.pm:3369)␤»
08:02 frettled oops, typo
08:02 frettled rakudo: say %foo = <bar baz> Z <gazonk frobble>; say %foo;
08:02 p6eval rakudo 39cc84: OUTPUT«Symbol '%foo' not predeclared in <anonymous> (/tmp/ytowSuvrgL:2)␤in Main (src/gen_setting.pm:3369)␤»
08:02 frettled hrm.
08:02 moritz_ try a 'my' at the start
08:02 frettled Double typo, then.
08:02 frettled rakudo: my %foo = <bar baz> Z <gazonk frobble>; say %foo;
08:03 frettled moritz_: (thanks)
08:03 p6eval rakudo 39cc84: OUTPUT«baz        frobblebar      gazonk␤»
08:03 moritz_ rakudo: my %foo = <bar baz> Z <gazonk frobble>; say ~%foo;
08:03 p6eval rakudo 39cc84: OUTPUT«baz        frobble␤bar       gazonk␤␤»
08:03 frettled The interesting thing here is the whitespace between the key and value
08:03 moritz_ it's a \t
08:03 moritz_ rakudo: (~:a<b>).perl
08:03 frettled Yes, but it also means that it's not entirely treating it in list context, doesn't it?
08:04 moritz_ rakudo: say (~:a<b>).perl
08:04 p6eval rakudo 39cc84:  ( no output )
08:04 p6eval rakudo 39cc84: OUTPUT«"a\tb"␤»
08:04 moritz_ frettled: it just means that Pair objects don't flatten in list context
08:04 frettled moritz_: ah.  that's an good explanation.
08:04 moritz_ %h.list doesn't return the keys and values interleaved, but instead a List of Pair objects
08:05 moritz_ that's different from Perl 5
08:05 moritz_ and very handy
08:05 frettled Yes, definitely.
08:05 frettled It was one of my pet peeves with Perl 5.
08:06 frettled I also never could quite remember the shorthand for creating a hash from two lists.  In Perl 6, it's just so trivial.
08:06 Matt-W Perl 6 handles hashes much more sensibly :)
08:07 frettled I think a fair way of putting it is to say that Perl 6 handles hashes and objects as first class citizens.
08:10 mberends but list separated its elements with space, and hash with newline:
08:10 mberends rakudo: my %foo = <bar baz> Z <gazonk frobble>; say ~(%foo.list);
08:10 p6eval rakudo 39cc84: OUTPUT«baz        frobble bar     gazonk␤»
08:11 mberends no newline like hash gave us :(
08:12 frettled hmm.
08:13 Matt-W I must admit I always tend to write my own output routines
08:13 mberends the separator seems to be hardwired into Hash or List
08:13 Matt-W In Perl 5 I was never sure of the default rendering rules
08:13 frettled rakudo: my %foo = <bar baz> Z <gazonk frobble>; print ~(%foo.list); print ~%foo;
08:13 p6eval rakudo 39cc84: OUTPUT«baz        frobble bar     gazonkbaz       frobble␤bar       gazonk␤»
08:13 Matt-W and .join is so easy
08:14 frettled mberends: yes, it appears to be fundamental to the stringification
08:14 mberends you can roll your own stringification by overriding Str in a class
08:15 Su-Shee mberends: meaning home brewn pickle/serialize and whateverit'scalled if I dump objects into strings?
08:15 masak joined #perl6
08:15 mberends yes
08:15 masak o/
08:16 mberends o/ Destroyer
08:16 masak man, I like that title.
08:17 moritz_ \o
08:17 moritz_ masak: pmichaud++ confirmed yesterday night that the issue with :foo[] was a parsing bug
08:18 frettled masak: you should :)
08:18 mberends rakudo: class A { has $.a; method Str { $.a.uc } }; my $a = A.new( a=>"oh hai" ); $a.say
08:18 masak moritz_: good.
08:18 p6eval rakudo 39cc84: OUTPUT«OH HAI␤»
08:19 mberends custom stringify
08:20 moritz_ rakudo: say Str('x')
08:20 p6eval rakudo 39cc84: OUTPUT«invoke() not implemented in class 'Perl6Str'␤in Main (/tmp/zLH6oPQJfN:2)␤»
08:21 frettled Is it possible to override the stringification without subclassing, BTW?
08:21 carlin joined #perl6
08:21 moritz_ rakudo: role UC { method Str { 'OH HAI' } }; my $x = 'foo' but UC; say $x
08:21 p6eval rakudo 39cc84: OUTPUT«foo␤»
08:22 moritz_ rakudo: role UC { method Str { 'OH HAI' } }; my $x = 5 but UC; say $x
08:22 p6eval rakudo 39cc84: OUTPUT«5␤»
08:22 moritz_ rakudo: role UC { method Str { 'OH HAI' } }; class A {}; my $x = A.new but UC; say $x
08:22 p6eval rakudo 39cc84: OUTPUT«OH HAI␤»
08:23 Matt-W rakudo: class Str is also { method Str { 'OH HAI' } }; my Str $foo = 'wibble'; $foo.say;
08:23 p6eval rakudo 39cc84: OUTPUT«wibble␤»
08:23 Matt-W bah
08:23 * Matt-W throws toys
08:24 moritz_ well, a Str doesn't have to be coerced to Str to be printed.
08:25 Matt-W True
08:25 Matt-W Sorry, it's only half past nine
08:25 masak :)
08:26 Matt-W rakudo: class Int is also { method Str { 'OH HAI' } }; my Int $foo = 5; $foo.say;
08:26 p6eval rakudo 39cc84:  ( no output )
08:26 Matt-W heh
08:27 frettled But this wouldn't work without explicitly declaring as Str, or in values implicit in hashes, right?
08:27 mberends the \t comes from rakudo/src/classes/Pair.pir:42, dunno about the \n
08:37 frettled Hmm, that complicates matters a tad.  But as Matt-W observes, it's rather easy to roll your own pretty-printing, and perhaps more so now than before.
08:37 moritz_ you can provide your own .fmt
08:42 Matt-W I've been just doing things like @list.join(', ').say;
08:43 moritz_ which is a very sensible thing to do :-)
08:43 Matt-W or you could feed it to Form.pm :)
08:43 Matt-W some of that does actually work
08:43 frettled moritz_: Ah, so there's a .fmt, neat!
08:44 moritz_ one step closer to world domination: Tim offered me commit access to the java2perl6 repo on which some of the dbdi work will be based on
08:44 Matt-W :)
08:44 Matt-W hurrah
08:45 japhb moritz_: yay!
08:45 frettled java2perl6?  Is that a score?  (Java 2 - Perl 6)
08:45 Su-Shee moritz_: for a shiny DBI running, I'll make you home made organic chocolate truffles. :)
08:46 moritz_ frettled: it's a header translater
08:46 frettled A DBI that automagically creates classes based on SQL queries!  ;)
08:46 masak frettled: it's the relative amounts of the two ingredients in a new, frightening hybrid language.
08:46 moritz_ Su-Shee: I'll take your word for it
08:46 moritz_ frettled: actually it's used to convert the Java ODBC classes to Perl 6
08:47 moritz_ because the parrot dbdi will use ODBC's API for driver backends internally
08:48 frettled masak: /o\
08:48 Su-Shee this only means that it is modeled after odbc not that I need java to run perl 6 dbi?
08:48 moritz_ Su-Shee: right
08:48 japhb I thought that was 'JDBC'?
08:48 frettled moritz_: aha.  What happens to database library specific extensions?
08:49 moritz_ Su-Shee: and I hope that the Perl 6 frontend will be as simple as the Perl 5 one
08:49 frettled or preferably far simpler
08:49 moritz_ japhb: could also be, I'm not sure
08:49 moritz_ far simpler? how so?
08:49 Matt-W moritz_: I'm sure it will be
08:49 Matt-W if it's not, we'll have to fix it
08:49 moritz_ anyay, I just started to dig into the whole stuff
08:50 moritz_ and I'm happy to report more when I grok a bit more of it
08:50 frettled moritz_: If we're looking at DBI's paradigm, then it's pretty confusing.
08:50 frettled I don't think it's a very good model for doing stuff.
08:50 moritz_ frettled: I found the API very intuitive.
08:51 moritz_ one thing I'd surely like to have is named placeholders in SQL that can be used with named params in Perl 6
08:51 Su-Shee frettled: on the other hand: does it really matter wether it's DBI old style or *dbc as long as it's nice and smooth to use?
08:51 iblechbot joined #perl6
08:51 Matt-W moritz_: that should be eminently possible
08:51 moritz_ but I don't know if the databases support this
08:51 Matt-W who cares?
08:51 frettled Su-Shee: I think it matters that it's nice and smooth to use, and that DBI old style _isn't_ nice or smooth.
08:51 Su-Shee moritz_: isn't that a driver problem than?
08:51 Matt-W we can translate them into positional placeholders in the Perl 6 layer
08:52 Matt-W and then just feed them in the same way that Perl 5's DBI does
08:52 japhb Su-Shee: The JDBC thing is only for the DBDI -- the DataBase Driver Interface.  DBDI != DBI.  DBDI is the interface between DBI and the low-level system driver.  DBI is the interface presented to Perl 6.
08:52 moritz_ Matt-W: which implies SQL parsing... don't know if I like that
08:52 moritz_ so DBDI = the new DBD?
08:53 japhb Perl 6 <-> DBI <-> DBDI <-> DBD, IIRC
08:53 Matt-W moritz_: if you pick the right syntax for the named placeholders, you don't have to parse the SQL completely
08:53 Su-Shee japhb: aaaaah. _that_ was illuminating. ok.
08:53 japhb Acronyms++
08:53 Matt-W moritz_: although I'm just assuming such a syntax is findable
08:53 Su-Shee japhb: so a mysql db api chain looks perl 6 - dbi - dbdi - mysql driver?
08:53 moritz_ Matt-W: you still have to know if it's used inside quotes or not
08:53 japhb Su-Shee: exactly
08:54 Matt-W moritz_: you still don't have to comprehend the entire statement to find quotes
08:54 moritz_ Matt-W: ok, good point
08:57 Matt-W Maybe it's a tougher problem than I'm envisaging
08:57 Matt-W But I think it might well be possible
09:03 frettled Matt-W: Are you thinking of bound parameters (SELECT foo FROM bar WHERE gazonk = ? AND frobble = ?) ?
09:03 moritz_ right
09:04 moritz_ but instead of just positional, I want named
09:04 frettled mm
09:04 frettled so would I!
09:04 moritz_ WHERE gazonk = :gaz AND frobble = :frob
09:04 moritz_ $sth.execute(:gaz(42), :frob(23))
09:05 moritz_ http://odkit.sourceforge.net/?q=node/18 oracle seems to support that
09:14 Matt-W yes, oracle does support it
09:14 Matt-W it's about oracle's only good feature that I've ever found
09:15 Su-Shee the apress sqlite book also mentions it.
09:16 Su-Shee (not the oracle stuff :)
09:17 moritz_ DBD::Pg also mentions named placeholders
09:17 moritz_ so, perfect world an all
09:19 frettled moritz_: and perhaps there could be a way to magick it with databases that don't support it.
09:20 zamolxes joined #perl6
09:20 moritz_ frettled: maybe. But that's low priority for me
09:21 Su-Shee well depends.. mysql is an important db and extremely common.
09:21 frettled unfortunately, yes.  :D
09:22 frettled In a more positive light: MySQL challenges our beliefs of how a database should be, and keeps us on our toes.
09:22 * moritz_ likes that statement
09:23 Matt-W doesn't challenge mine
09:23 Matt-W it's the only one I actually ever used properly
09:23 Matt-W so all other databases continually surprise me with their fancy stored procedures and named placeholders
09:23 Matt-W and subqueries
09:23 frettled and features like e.g. partitioning?
09:24 moritz_ for small scale stuff you don't need that
09:24 frettled now, now, don't imply that MySQL is only for small scale stuff, you'll make baby kittens cry.
09:25 moritz_ I did not
09:25 moritz_ a => b   !=   b => a
09:26 frettled This is IRC, not science.  :D
09:34 masak frettled: that's not science, that's mental hygiene. :)
09:43 Matt-W We use oracle at work
09:43 Matt-W I try to avoid it
09:43 Matt-W it's insanely complicated
09:43 Matt-W a
09:43 Matt-W whole pocket universe all to itself, with its own set of physical constants
09:50 xomas_ joined #perl6
09:58 jan_ joined #perl6
10:00 carlin I made a very rough attempt at adding mkdir to rakudo, it will create the directory but the mode isn't being set right and I can't figure out why. http://gist.github.com/165117 is the patch (very basic, still needs a lot of work)
10:13 mberends carlin: is the mode being set to 0 instead of what umask should allow?
10:21 mberends carlin: your mode parameter may need to be converted to an int
10:25 carlin mberends: okay, I'll try that
10:25 payload joined #perl6
10:36 mberends carlin: at both the Parrot (PDD22_io) and Rakudo (S32/IO) levels, rmdir is documented plainly but mkdir is not. It looks like the designers have done that deliberately. The mkdir is mentioned only as an example of IO::FSNode.new(). A mkdir() function would be welcome anyway, but don't be surprised if someone with IO plans wants it rewritten. The thing is, IO is still under review/construction.
10:39 M_o_C joined #perl6
10:39 mberends (still, any working code is better than no code at all)
10:40 szabgab hi friends, I am at home and will try to get my act together and start doing some stuff
10:41 mberends szabgab++
10:41 szabgab one thing I though during my flight back from YAPC is that the Rakudo naming could be a good escape route from the Perl 6 naming trap some of us feel
10:42 szabgab so by having a separate set of version numbers of Rakudo we can talk just about Rakudo, without the baggage of when Perl 6 will be ready
10:43 mberends agreed, implementation != spec
10:43 carlin mberends: That's alright, it's more an exercise in figuring out how to hack rakudo than anything else
10:43 masak [particle]: ping
10:44 mberends carlin: what kind of values did you want to pass for the mode?
10:49 carlin mberends: trying to do it the same as the P5 equivalent
10:49 masak phenny: tell [particle] that I'm interested in hearing about the status of S19 implementation in Rakudo. it is something that I wouldn't mind seeing land before April. The new revised ROADMAP puts it at 2, "ought to have" -- I agree.
10:49 phenny masak: I'll pass that on when [particle] is around.
10:49 masak lunch &
11:05 mberends carlin: see parrot/t/pmc/os.t:142,170 the mode is eg 0o555
11:08 donaldh left #perl6
11:17 fridim_ joined #perl6
11:19 carlin passing 0o755 works as expected but is that the format the end-user will have to use? (I guess I'll only know that once the IO spec is written)
11:20 donaldh joined #perl6
11:21 moritz_ rakudo: print 0755
11:21 p6eval rakudo 39cc84: OUTPUT«Leading 0 does not indicate octal in Perl 6␤755»
11:22 moritz_ rakudo: print 0755+1
11:22 p6eval rakudo 39cc84: OUTPUT«Leading 0 does not indicate octal in Perl 6␤756»
11:22 moritz_ ouch.
11:22 mberends yes, S02 defines 0o for octal
11:22 moritz_ not ouch
11:22 moritz_ rakudo: print 0o755
11:22 p6eval rakudo 39cc84: OUTPUT«493»
11:23 M_o_C Is there a special reason why you used "print" instead of "say"?
11:24 M_o_C rakudo: say 0b11
11:24 p6eval rakudo 39cc84: OUTPUT«3␤»
11:24 mberends M_o_C: on IRC it's just laziness (a virtue) but on the console is saves typing "\n"
11:25 adhoc_ joined #perl6
11:25 Psyche^ joined #perl6
11:25 moritz_ M_o_C: no
11:26 M_o_C Ok, I only asked because I was not sure wether there were problems with "say"ing numbers.
11:28 M_o_C s/only asked/was only asking/
11:29 frettled Just say so ;)
11:30 mberends M_o_C: say is defined as print followed by \n, so they are almost identical
11:31 szabgab joined #perl6
11:32 pmurias joined #perl6
11:32 M_o_C mberends: I use 5.010; so I already know, but thanks for helping anyway.
11:33 mberends :)
11:33 carlin in that case I can leave the mode param as it is
11:34 frettled I was always a bit concerned about how the semantics of file permissions in Perl worked with Windows ...
11:47 Su-Shee left #perl6
11:47 pmurias joined #perl6
11:54 pugs_svn r27943 | azawawi++ | [perl6] ignore temporary files
11:57 pugs_svn r27944 | azawawi++ | [std_hilite] perl6-> Perl 6 typo
12:05 pugs_svn r27945 | mberends++ | fixed a bug in t/S32-io/IO-Socket-INET.t etc where an impatient timeout
12:05 pugs_svn r27945 | mberends++ | caused random failures, mostly on slower 32 bit systems.
12:05 frettled mberends: cute.
12:05 mberends ...but does it work on anyone else's computer? ;)
12:06 frettled mberends: now we only lack a failure where something goes wrong because faster systems are too fast!
12:06 mberends heh
12:12 moritz_ passes on amd64/linux
12:13 mberends moritz_++
12:14 mberends that failure was really annoying me
12:15 moritz_ i'm now running it a few times to see if it passes reliably
12:15 moritz_ mberends++ # fixing the test
12:16 mberends the proof of the pudding is when a variety of platforms survive that one
12:16 * masak runs 'prove -v pudding'
12:16 moritz_ I started about 6 or so of the tests in parallel, it doesn't seem to like that.
12:17 mberends eek! the tempfile name used as a semaphone is constant!
12:17 frettled masak: the dog ate it
12:17 frettled mberends: yikes!
12:18 mberends moritz_: sorry, it's not parallelizable :(
12:19 masak name tempfile after process ID?
12:19 moritz_ most test files use "test_file_name." ~ pick(1..1000) ~ ".tmp" or so
12:20 mberends masak: can do something like that, but there are 4 process ID's to choose from
12:20 frettled masak: process ID is vulnerable to failures as well.
12:20 frettled Okay, it's just a test, but ...
12:20 masak ok. I learn something every day. :)
12:21 mberends right. BSD randomizes and recycles process ID's.
12:21 masak but for a tempfile that lives a couple seconds...
12:21 masak or did I misunderstand the problem?
12:22 frettled and several other OS-es cycles process ID numbers, which means that you know you'll get the same ID in a while
12:22 frettled A hash of the process id plus the time (Perl 6 uses a nice 64-bit time, no?) would probably be sufficient overkill for a test.
12:22 masak rakudo: Time.gmtime.epoch.say
12:22 p6eval rakudo 39cc84: OUTPUT«1249906967␤»
12:23 moritz_ rakudo: say +time
12:23 p6eval rakudo 39cc84: OUTPUT«1249906986.17384␤»
12:23 moritz_ rakudo: say +time
12:23 p6eval rakudo 39cc84: OUTPUT«1249906994.93095␤»
12:23 masak ah. :)
12:23 mberends something even simpler would do in this test, for example the test server listening port number
12:24 masak rakudo: ((Temporal::DateTime.new(date => Temporal::Date.new(:year(2010), :month(4)), time => Temporal::Time.new()).epoch - Time.gmtime.epoch) / 86400).ceiling.fmt("%d days left until April!").say
12:24 p6eval rakudo 39cc84: OUTPUT«234 days left until April!␤»
12:24 mberends \o/
12:25 frettled hee-hee.
12:25 masak mberends++
12:25 moritz_ http://www.sqlite.org/testing.html
12:25 moritz_ I wish we had such testing for Perl 6
12:25 masak rakudo: ((Temporal::DateTime.new(date => Temporal::Date.new(:year(2010), :month(4)), time => Temporal::Time.new()).epoch - time) / 86400).ceiling.fmt("%d days left until April!").say # simplification due to moritz_++
12:25 p6eval rakudo 39cc84: OUTPUT«234 days left until April!␤»
12:25 mberends masak: this Temporal is not very golf-friendly, is it?
12:26 masak mberends: it could use a string-based constructor.
12:26 frettled rakudo: ((Temporal::DateTime.new(date => Temporal::Date.new(:year(1993),:month(9)), Time.gmtime.epoch - time=>Temporal::Time.new()).epoch) / 86400).ceiling.fmt("September %d, 1993").say
12:26 moritz_ a golf friendly version would be to use a precalculated timestamp for April
12:26 p6eval rakudo 39cc84: OUTPUT«Method 'Num' not found for invocant of class 'Perl6Pair'␤»
12:26 masak one that accepted iso8601 only.
12:26 frettled hrm, where did I mistype?
12:27 mberends masak: how much consensus do we need for that spec change?
12:27 masak mberends: very little, I think.
12:27 szabgab joined #perl6
12:28 masak mberends: but how about we pool the changes to S32-Temporal somewhere and present all the changes at once as a fait accompli?
12:28 masak I think that could work better, both for avoiding bikeshedding and for presenting a coherent suggestion.
12:28 frettled Oh, parenthesis-mismatch.
12:30 mberends masak: ok, let's form a little Temporal Cabal somewhere and keep these discussions hidden from anyone who might get in our way ;)
12:30 Matt-W masak: coherency is usually good
12:30 mberends world domination is easier when the world doesn't know.
12:30 Matt-W it lets me consider things more properly before my kneejerk reaction triggers
12:32 masak mberends: I'm about to create our like totally secret short-lived fork of the synopses on github. is that OK with you?
12:32 frettled TINC
12:32 masak I already have that directory checked out via git-svn.
12:32 mberends :)
12:32 frettled masak: BTW, I have a patch coming up for proto, if I could just recall where I put the code.
12:32 masak frettled: woot.
12:34 frettled masak: I think it may have something to do with checking whether I'd already downloaded the source.  In Lisbon, the university had disabled access to port 6666 (whose sub-brilliant idea was it to have versioning tools using a port number frequently used for hiding IRC processes, anyway?), so I had to check out via an SSH tunnel.
12:35 masak interesting.
12:36 frettled So the patch isn't really brilliant, just allows for ignoring a previously downloaded archive.
12:36 frettled . o O ( I could probably recreate it in five minutes, but I don't have five minutes right now. )
12:37 masak frettled: if you find it, don't hesitate to just push it to the github repo.
12:38 masak mberends: http://github.com/masak/temporal-flux-perl6syn -- like, totally sekkrit!
12:38 pugs_svn r27946 | azawawi++ | [std_hilite] fixed cron script
12:39 frettled masak: okay, I can do that (once I figure out how :D )
12:39 Matt-W temporal flux! oh no!
12:40 Matt-W I look forward to seeing what you come up with
12:40 Matt-W and then criticising it :P
12:40 unitxt joined #perl6
12:40 frettled Hmm, rakudobot and the rakudo I download don't agree on that Temporal::Datetime usage thingy.
12:40 frettled masak: destroying the destroyer's work?
12:40 frettled oops, wrong attribution, should be Matt-W.
12:41 mberends Matt-W: we'll like, totally take control of time ;)
12:42 Matt-W frettled: That's what I'm here for...
12:42 Matt-W It's one of my primary entertainments
12:42 frettled That reminds me that I should start my attempts at using Web.pm.
12:43 masak frettled: when you do, make sure you come back an criticize me for all the things I've not gotten around to writing yet.
12:43 masak that's how progress happens.
12:45 frettled hee-hee
12:45 frettled masak: like HTML 5 and CSS support?  (just guessing)
12:45 masak frettled: that would be awesome.
12:46 frettled masak: s/awesome/grand7
12:46 masak frettled: Piers suggested that we make a CSS analyzer for Perl 6.
12:46 frettled s,7,/,
12:46 frettled masak: Yup, that would be good.  As would be automagic CSS generation.
12:46 masak one that checked a number of HTML files and tainted the corresponding CSS to show which parts are unused.
12:47 frettled pmichaud++, someone unknown to me and I were briefly talking about this, and one of the things we thought would be grand, was to have a Perl 6 solution for truly embedded code that automagically took care of both HTML 5 and CSS 3.
12:48 moritz_ that would be an enourmous project
12:48 frettled PHP doesn't do this (yet), and if Perl 6 thingies get there first, that's a nice feature set to sell.
12:48 masak frettled: write the spec, and someone will pick it up.
12:48 frettled moritz_: yup, it requires some deep time with web design, but it would be very rewarding to people making web pages/software.
12:48 frettled masak: muahahaha :D
12:48 masak doesn't need to be an ambitious spec, just to get the ball rolling.
12:49 frettled mm
12:49 masak JFDI!
12:49 masak :)
12:49 frettled I'll just need to accrue the necessary clue.
12:50 azawawi joined #perl6
12:50 masak sure. just don't let it block you indefinitely.
12:50 azawawi std: "hello"
12:50 p6eval std 27945: OUTPUT«ok 00:04 37m␤»
12:51 azawawi moritz_, masak: any idea how to debug a Perl 6 application over parrot?
12:51 masak if only people with a clue released stuff, there would be no CPAN. (meant as praise, not as an insult to CPAN)
12:52 masak azawawi: gdb?
12:52 masak has worked for me in the past when tracking down memory errors.
12:52 moritz_ azawawi: print-statements? parrot debugger?
12:53 azawawi moritz_: parrot_debugger.exe perl6.pbc your-script.p6 ?
12:53 moritz_ azawawi: no idea
12:54 meppl joined #perl6
12:54 azawawi moritz_: so far i did not find any Perl library to for the parrot debugger...
12:56 Thomas88 joined #perl6
12:56 moritz_ azawawi: it's not all perl, you know :-)
12:57 azawawi moritz_: the idea is to create a Padre parrot debugger for Perl 6 using .annotate_line...
13:02 Thomas88 left #perl6
13:04 adamski joined #perl6
13:04 frettled masak: I still haven't managed to find the tuits to add myself to the AUTHORS file :D
13:04 SmokeMachine joined #perl6
13:06 masak frettled: I stand in awe of your utter lack of tuits.
13:07 frettled masak: hee-hee
13:08 frettled masak: this is what happens when you've already over-committed yourself to a bunch of spare time work and somehow have a real life as well.  If you're not quite there yet, you've either learned to say "no", or you're too young to have achieved critical mass.  ;)
13:08 * frettled is rather proud that he managed to dodge a �thank you for volunteering� from mst.
13:09 mberends moritz_: After some attempts, concurrent IO-Socket-INET tests still fail because of trying to re-use the same port number. Would you choose random ports with occasional failures or rather restrict testing to one process at a time?
13:10 frettled I'd prefer random ports with occasional soft failures (that is, don't _fail_ the test, but fail the attempt of listening to the port and perhaps retry).
13:12 mberends frettled: making the failure 'soft' is too hard right now :(
13:16 * mberends will try again much later, afk&
13:32 dragon67 joined #perl6
13:33 szabgab joined #perl6
13:37 frettled Regarding the sort order of hashes:
13:37 frettled S32 says that successive calls to keys, kv, pairs and values will show the same order, unless the hash has been changed.
13:38 azawawi joined #perl6
13:38 frettled Chas Owens asked on my blog why the hash appears to have the same sort order as the insert order, is it correct of me to guess that it's because of the rule regarding successive calls?
13:39 frettled (perhaps this is something I should bother TimToady about :D)
13:39 Matt-W that wouldn't necessarily be anything to do with that
13:40 Matt-W you could stick stuff in in any order at insert time, and still display a stable order between changes
13:40 Matt-W it might just be how hashes currently happen to be implemented
13:41 moritz_ mberends: parallel testing is not a high priority for me as long as *other* tests can run in parallel
13:42 ruoso joined #perl6
13:44 szabgab joined #perl6
13:51 dragon67_ joined #perl6
13:51 frettled Matt-W: as it is, it seems to me that what the sort order is after initialization is undefined behaviour.
13:52 azawawi masak: ping
13:52 frettled Matt-W: and that's fair enough, if we want sorted stuff, we can just do .sort anyway.
13:52 Matt-W frettled: yes, and hashes are then free to internally sort however makes most sense for storage and access efficiency
13:53 Matt-W No significance can be drawn from the ordering a hash produces
13:53 masak azawawi: you pang?
13:53 Matt-W Unless you care to use it to deduce how the hash works inside, but I suggest instead you look at the source code :P
13:53 frettled Matt-W: except for the tiny mention in S32
13:53 frettled Matt-W: http://perlcabal.org/syn/S32/Containers.html#Hash
13:53 Matt-W yes, but that just says the order is stable as long as the hash isn't changed
13:53 Matt-W it doesn't say what the order is
13:54 frettled exactly
13:54 ruoso Hello!
13:54 frettled o/
13:54 masak oh hai
13:54 ruoso pmurias, hi
13:54 Matt-W frettled: so, is there a point to be made, or are we just agreeing with each other?
13:55 frettled Matt-W: yes
13:55 frettled :D
13:55 carlin I've made an attempt at implementing mkdir, http://gist.github.com/165198 anyone mind checking that?
13:55 azawawi masak: while programming november, did u play with parrot_debugger ?
13:55 Matt-W 'yes' is not a good answer to a question with an 'or' in it
13:55 frettled Matt-W: yes.
13:55 masak azawawi: no.
13:55 * carlin probably got it horribly wrong
13:55 frettled Matt-W: (sorry for acting like a Vorlon there)
13:55 frettled Matt-W: It was a question in case someone actually knew whether there was supposed to be a specification for this behaviour or not.
13:56 masak azawawi: I don't even know what parrot_debugger is, to be honest.
13:57 moritz_ the order of .pairs, .values etc. is not at all connected to insertion order, and should not be.
13:57 azawawi masak: parrot\parrot_debugger perl6.pbc test.p6
13:57 frettled moritz_: but is there a defined behaviour somewhere?
13:57 azawawi masak: http://www.parrotcode.org/docs/debugger.html
13:57 * frettled can't find it in the synopses.
13:58 moritz_ frettled: what do you mean by "defined behaviour"?
13:58 azawawi masak: im trying to find when test.p6 pir code is being executed to start breaking there...
13:58 masak frettled: I think the answer to that is, and should be, "no".
13:58 adamski left #perl6
13:59 Matt-W frettled: Perl 5 never had a defined behaviour for order of such things, hashes just don't work that way
14:00 Matt-W frettled: you'll find the same for hash-based data structures in pretty much any language
14:00 frettled Matt-W: yes, I know that.
14:00 frettled Typically, �hash� might imply that you used a hashing algorithm (well, gee :)) to figure it out.
14:01 frettled �Defined behaviour� would then be a specification saying that hash indexes are created using a hashing algorithm.
14:02 frettled Aha, there is something under �Autosorted hashes� in S09:
14:02 Matt-W What about 'hashes are unordered'
14:02 frettled �The downside to making a hash autosort via the iterator is that you'd have to store all the keys in sorted order, and resort it when the hash changes. Alternately, the entire hash could be tied to an ISAM implementation (not included (XXX or should it be?)).�
14:02 moritz_ frettled: some things are defined by not defining them....
14:03 frettled Matt-W: that wouldn't be entirely correct either.  :)
14:03 Matt-W Or 'The order of items in a hash is stable as long as the hash is not changed, but otherwise nonspecific.'
14:03 frettled moritz_: yes, well, sort of.
14:03 moritz_ frettled: ie by not fixing an order, we leave the implementations free to use a random order
14:03 Matt-W frettled: the ordering of a hash is of no concern to the people using it - as far as they are concerned, it's unordered, because the ordering could be anything at all
14:03 * masak is reminded of the programming language 'Sorted!'
14:03 Matt-W if you make no promises about the ordering, you can do what you like with it
14:03 moritz_ frettled: note that pugs preserves (to a certain degree) insertion order, which was perfectly valid - just confusing, because you couldn't rely on it
14:04 frettled moritz_: not �random�, but �arbitrary� :)
14:04 masak someone should make a Sorted! implementation for Parrot: http://p-nand-q.com/humor/prog​ramming_languages/sorted.html
14:04 Matt-W frettled: arbitrary is all you can rely on, random would be something different
14:04 frettled moritz_: it also appears that rakudo preserves insertion order.
14:04 frettled Matt-W: quite.
14:04 moritz_ frettled: it does not.
14:05 moritz_ rakudo: my %h; for 'a'..'z' { %h{$_} = 1 }; say %h.keys
14:05 p6eval rakudo 39cc84: OUTPUT«abcdefghijklmnopqrstuvwxyz␤»
14:05 moritz_ woops
14:05 frettled :)
14:06 masak "Each Sorted! program is, in fact, sorted, albeit randomly. Hence the name!"
14:06 Matt-W it doesn't matter if rakudo does or doesn't
14:06 Matt-W there are no promises, other than the stability of iteration order when the hash isn't changed
14:06 frettled moritz_: This question came up as a result of an example I blogged about, where I zip monthnames and days-in-month.  The order is always the same.
14:07 frettled Matt-W: yes, that's the only promise.
14:07 frettled But it is good form to say so in a spec.  I'll make a mental note to patch that part of the synopsis, so that it's clear for any arbitrary reader.
14:10 masak .oO( the readers of the spec also come in arbitrary order )
14:11 moritz_ rakudo: my %h; for "a".."z" { %h{rand}  = $_ }; say %h.values
14:11 p6eval rakudo 39cc84: OUTPUT«dlfcuxpyesqovwzanmtbhgrijk␤»
14:11 moritz_ frettled: that's not insertion order.
14:12 moritz_ it seems they are somehow sorted, but not in insertion order
14:13 frettled moritz_: well, "a".."z" is a lazy list, so you generate the list of keys simultaneously.  The order of the list is given from element 0 to 25, which is "a".."z", and that initializes the hash.
14:14 frettled moritz_: it's just like my month name example, which uses @months = <Jan Feb Mar ... Dec>; and then %days = @months Z 31,28,31, ... 31;
14:14 moritz_ frettled: did you see my second example, where the output was dlfcuxpyesqovwzanmtbhgrijk?
14:15 frettled rakudo: my %h; for "a".."m" { %h{$_} = 1 }; for "n".."z" { %h{$_} = 1 }; say %h.keys;
14:15 p6eval rakudo 39cc84: OUTPUT«defghijklmnopqrstuvwxyzabc␤»
14:15 takadonet joined #perl6
14:15 moritz_ frettled: anyway, I don't know what your point is. The spec allows arbitrary order, and rakudo implements at least that.
14:15 takadonet morning all
14:15 moritz_ frettled: relying on anything more is an error.
14:16 frettled moritz_: First off, it was a question, not a _point_.
14:16 moritz_ ok.
14:16 moritz_ frettled: did we answer your question, then?
14:16 frettled But then I _have_ followed up by making the point that the spec _should_ say that one shouldn't rely on underlying assumptions.
14:16 frettled moritz_: not really, only implicitly admitting that the spec doesn't say so.
14:16 moritz_ ok
14:17 moritz_ frettled: I agree it's a useful addition - feel free to add it
14:17 moritz_ (and please excuse me if I wasn't polite)
14:17 frettled E.g., the spec should say something like �the order of hash keys is implementation dependent and may be arbitrary�
14:17 frettled moritz_: no problem at all, sometimes we have to bang our heads together a bit more roughly to make sure we misunderstand eachother correctly :)
14:17 moritz_ (I was distracted at the same time, having network problems here with 30% packet loss)
14:18 frettled moritz_: and yes, I will try to patch that synopsis, just after I've added myself to AUTHORS.  Should be RSN.  :D
14:18 * frettled gotta run home, roleplaying time, take care, and thanks for the good discussion!
14:19 KyleHa joined #perl6
14:19 KyleHa Gooooood morning #perl6!!
14:19 moritz_ oh hai KyleHa
14:19 moritz_ frettled: have fun :-)
14:19 takadonet morning KyleHa
14:20 masak morning, KyleHa++
14:21 __ash__ joined #perl6
14:23 KyleHa moritz:  How much time did you spend on the release you did last month?  I'm contemplating volunteering for this month's, but I don't want to overcommit.
14:24 moritz_ KyleHa: perhaps two hours, not counting 3x 30min when I waited for a spectest run to finish
14:24 KyleHa That's not bad.
14:25 moritz_ and that includes the time I spent going through ChangeLog and writing parts of the announcement
14:25 pmichaud Good morning, #perl6
14:25 moritz_ oh hai pmichaud
14:26 moritz_ is it ins2 merge day? :-)
14:26 takadonet morning pmichaud
14:26 alester Is "Rakudo Star" the definite name?
14:26 masak alester: for now. :)
14:26 Matt-W o/ pmichaud
14:26 masak oh hai pmichaud
14:26 Matt-W alester: there's no such thing as definite until it's released :P
14:26 alester Loking for what pmichaud says.
14:26 masak it's written in sandstone.
14:27 moritz_ and even then we can monkeypatch it :-)
14:27 masak .oO( Rakudo MonkeyPatch )
14:28 takadonet Anyone have good examples of using grammar to parse a file?
14:29 masak takadonet: http://github.com/masak/html-template/tree/master
14:29 pmichaud alester: "Rakudo Star" is a working name.
14:29 takadonet Masak: thanks
14:30 masak takadonet: it doesn't use actions; it takes things out of $/ after matching.
14:30 takadonet masak: I been having lots of trouble using actions lately
14:31 masak takadonet: 'trouble', as in reportable bugs?
14:31 cognominal I read Rakudo Star as a rule that matches all the upcoming official releases of Rakudo
14:31 takadonet masak: Not sure,  Trying to determine if it's just a bug or just my limited knowledge of the language
14:32 cognominal we just have to make it  Rakudo Plus
14:32 masak takadonet: anything you want to share, a number of pastebins are waiting for you...
14:33 takadonet masak: Current are work right now so not possible
14:33 masak understood.
14:35 takadonet Quick question: What are the differences between: regex,tokens and rules . I know that regex are just a name 'regular expression'  but the rest I'm little fuzzy on
14:35 rfordinal joined #perl6
14:35 pmichaud a token is a regex that has backtracking turned off by default
14:36 pmichaud a rule is a token where significant whitespace in the pattern corresponds to "optional" whitespace in the string being matched
14:38 pmichaud s/significant//
14:39 takadonet thanks pmichaud
14:39 nihiliad joined #perl6
14:39 moritz_ we should make an FAQ with an URL that's very easy to remember
14:39 moritz_ (for the token/rule/regex thing)
14:41 leedo joined #perl6
14:46 masak moritz_: good idea.
14:46 masak moritz_: maybe with some example code which uses the differences in a useful situation.
14:47 clkao joined #perl6
14:49 Psyche^ joined #perl6
14:50 moritz_ I could offer perl6.de/rtr # for "regex/token/rule"
14:50 takadonet that would be great!
14:51 pmichaud we can always do  rakudo.org/rtr
14:51 moritz_ who owns perl6.org?
14:51 moritz_ that would be ideal
14:51 moritz_ whois says "Daniel Wright"
14:52 pmichaud maybe I'll inquire about perl6.org
14:53 moritz_ that would be a very useful domain
14:53 pmichaud agreed
14:54 moritz_ or perl6.com for that matter
14:54 moritz_ (although I prefer .org)
14:58 ilango joined #perl6
14:59 ilango Hi, I would like to join in on the Perl 6 project
14:59 ilango I am a Java developer with java and C++ skills, and very little perl development skills from 2002
15:00 ilango And I would like to get involved with the Perl 6 project
15:00 [particle] the first step is admitting you are a perl 6 programmer
15:00 phenny [particle]: 10:49Z <masak> tell [particle] that I'm interested in hearing about the status of S19 implementation in Rakudo. it is something that I wouldn't mind seeing land before April. The new revised ROADMAP puts it at 2, "ought to have" -- I agree.
15:00 pmichaud ilango: great!  Best place to start would be to write some Perl 6 programs.
15:02 ilango Can I install Perl 6 on a Mac
15:02 masak ilango: something like this, perhaps? (1) download Rakudo, (2) write "hello world", (3) write your cool new app.
15:02 masak ilango: yes, you can.
15:02 ilango thanks for your help
15:02 moritz_ ilango: http://rakudo.org/how-to-get-rakudo
15:02 masak ilango: I'm running Rakudo, and I have a Macintosh.
15:02 KyleHa1 joined #perl6
15:02 frew joined #perl6
15:02 sbp it even works on Tiger
15:03 [particle] pmichaud: the roadmap says last updated 2009-05-21
15:03 ilango I plan to run perl programs on a dedicated server and host a simple "Hello World " page running on Perl 6..What are your thoughts about that
15:03 ilango great!
15:04 ilango I have Mac OS Leopard
15:04 ilango Thank you moritx, masak and pmichaud
15:04 masak ilango: you're welcome, and good luck! let us know how it goes!
15:05 masak ilango: oh, and if you have web hosting plans, I suggest you start looking at how the November-wiki project does CGI.
15:06 ilango ok
15:07 pmichaud rakudo:  my $x = bar => [ baz => 42, sloth => 43 ];  my $y = :bar[ baz => 42, sloth => 43];  say .kv.perl for $x, $y
15:07 p6eval rakudo 39cc84: OUTPUT«["bar", ["baz" => 42, "sloth" => 43]]␤["bar", "baz" => 42, "sloth" => 43]␤»
15:07 pmichaud rakudo:  my $x = bar => [ baz => 42, sloth => 43 ];  my $y = :bar([ baz => 42, sloth => 43]);  say .kv.perl for $x, $y
15:07 p6eval rakudo 39cc84: OUTPUT«["bar", ["baz" => 42, "sloth" => 43]]␤["bar", ["baz" => 42, "sloth" => 43]]␤»
15:07 pmichaud right.
15:08 moritz_ the tests in S32-array/kv.t simply tests kv.elems
15:08 pmichaud the problem isn't .kv, it's the pair constructor.
15:08 masak pmichaud: SVG.pm currently blocks (a little) on that bug.
15:08 moritz_ (why is it in S32-array anyway? it should be in S32-list or so)
15:08 pmichaud masak: use parens around the list.
15:09 moritz_ pmichaud: I know, but that's where some (indirect) tests are
15:09 pmichaud this is the bug I worked on (unsuccessfully) over the weekend
15:10 ilango Thank you, particle
15:10 pmichaud STD.pm refactored quite a bit and it's going to take some work to get Rakudo to track those changes
15:13 pmichaud the workaround is to use   :foo([3,4])  instead of :foo[3,4]   for now.
15:13 masak pmichaud: thanks.
15:14 pmichaud (tickets merged and updated)
15:16 __ash__ just curious, parrot defines everything in a spec before it implements it right? so if there seems to be something missing from their spec it would be wise to say send an email in the mailing list about it
15:17 pmichaud __ash__: no, parrot does not always define in a spec before implementing
15:17 pmichaud but yes, if something is missing in the spec it's worth an email
15:19 __ash__ btw, http://rt.perl.org/rt3/Publi​c/Bug/Display.html?id=65272 and http://rt.perl.org/rt3/Publi​c/Bug/Display.html?id=46665 seem to be related issues, both seem to come from a parrot issue, just thought i'd let you guys know i noticed this, i am going to ask in the parrot mailing list about it
15:21 donaldh joined #perl6
15:21 masak pmichaud: did you mean like this:?
15:21 masak rakudo: say (:a(:b, :c)).perl
15:21 p6eval rakudo 39cc84: OUTPUT«too many named arguments - 'b' not expected␤in Main (/tmp/BarmebCDoj:2)␤»
15:23 adhoc_ joined #perl6
15:23 pmichaud masak: I simply mean that :a[...]   doesn't work properly at present.
15:23 pmichaud rakudo:  say (:a((:b, :c))).perl
15:23 p6eval rakudo 39cc84: OUTPUT«"a" => ["b" => 1, "c" => 1]␤»
15:23 masak ah. double parens.
15:23 pmichaud currently Rakudo is using postcircumfix for whatever comes after the :name part
15:24 pmichaud so   :a(...)  parses like a function call
15:24 masak tha's wrong.
15:24 pmichaud right
15:24 pmichaud but that was the way STD.pm did it until a month ago
15:24 [particle] time--
15:24 masak surprising.
15:25 masak I'm glad it doesn't any more.
15:25 pmichaud same here
15:25 pmichaud unfortunately, fixing it is not as simple as  s/postcircumfix/circumfix/
15:25 pmichaud because the code for creating compile-time pairs depended on the structure of a postcircumfix ast
15:26 pmichaud (because the postcircumfix ast looks like a function call, while a circumfix ast would look like a list)
15:26 pmichaud so I have to switch that code.  But switching that code means that the code that checks for named arguments also has to change...
15:27 pmichaud and it just spreads from there
15:28 masak I see.
15:29 masak yesterday I tried eating my own dogfood and running SVG.pm, and I ran into this bug.
15:29 moritz_ so it uses a too low level representation of the parse tree?
15:29 pmichaud moritz_: it gets at the very fundamentals of distinguishing lists, argument lists, and named arguments
15:30 masak I wish I knew how to do that. :P
15:30 pmichaud and STD.pm has refactored argument list / colonpair handling several times in 2009
15:30 pmichaud so it's a bit challenging for rakudo to keep up
15:31 masak seems I have very marked difficulties in telling what is a named param and what is a pair.
15:31 pmichaud even if we were using STD.pm directly it'd be a challenge, because the issue isn't one of parsing but of correctly analyzing the parse to produce the correct semantics
15:32 pmichaud so when the parse changes, the analyzer has to change also
15:32 masak nod.
15:33 * moritz_ wonders how hard or easy it is for pmurias to extract such information from STD.pm
15:33 pmichaud anyway, I thought it would be a relatively simple fix on friday but by sunday I had decided it wasn't quite-so-simple
15:35 pmichaud (it's not hard, it just requires a re-examination of everywhere that we do argument handling and list construction)
15:41 masak uhn, looking at #66996, it seems that the bug has been independently discovered three times... what's more worrying, at least to me, is that the requestor was me all three times. :/
15:41 pmichaud heh
15:41 masak my garbage collection seems to be working really well.
15:41 pmichaud well, in the last instance it was originally thought to be a .kv bug and not a colonpair bug
15:42 masak mm.
15:42 masak in my defense, I don't seem to discover this bug more often than once a month. :P
15:43 pmichaud in your defense, we don't seem to fix this bug more often than once a year.
15:43 masak *lol*
15:43 moritz_ :-)
15:43 moritz_ but now we seem to have tests in two different files
15:43 moritz_ so you made KyleHa++ and me work on the tests
15:44 masak hm, interesting that you arrived at two different places for the tests...
15:45 masak I don't feel entirely culpable for that, actually... :)
15:50 pugs_svn r27947 | kyle++ | [t/spec] typo
15:50 pugs_svn r27948 | kyle++ | [t/spec] Test for RT #68370
15:52 KyleHa1 My method for locating new tests is (1) find the longest \W+ string in the new test code, (2) grep for that in the existing tests, (3) place the new tests in whichever file has the most instances of that punctuation.
15:53 KyleHa1 *smirk*
15:54 nperez joined #perl6
15:55 takadonet left #perl6
16:00 colomon joined #perl6
16:00 colomon_ joined #perl6
16:03 rfordinal joined #perl6
16:03 * Guest52299 looking at #perl6
16:05 Guest52299 left #perl6
16:05 Guest52299 joined #perl6
16:08 frettled joined #perl6
16:09 pmurias joined #perl6
16:09 lucs joined #perl6
16:09 xinming joined #perl6
16:11 he_ joined #perl6
16:11 c1sung_ joined #perl6
16:11 integral joined #perl6
16:16 c1sung joined #perl6
16:17 Infinoid joined #perl6
16:17 nperez joined #perl6
16:17 masak joined #perl6
16:17 jkva joined #perl6
16:17 maja_ joined #perl6
16:17 hanekomu joined #perl6
16:17 lambdabot joined #perl6
16:17 Trey joined #perl6
16:17 antiphase joined #perl6
16:17 Helios joined #perl6
16:26 cdarroch joined #perl6
16:29 mzedeler left #perl6
16:29 mzedeler joined #perl6
16:29 mzedeler Hi
16:29 masak mzedeler: hello!
16:29 M_o_C joined #perl6
16:29 mzedeler Thanks for a nice YAPC::Europe
16:30 masak likewise.
16:30 mzedeler Now I have perl6 installed and IRC running, so I'm set up to start exploring perl 6.
16:31 masak \o/
16:33 mzedeler It seems very quiet here in the #perl6 channel.
16:34 colomon_ I think a lot of people may still be traveling from YAPC Lisbon.
16:35 mzedeler Sure. I have a lot of ground to cover, so I'll probably be on and off in the time to come.
16:36 szabgab joined #perl6
16:38 masak mzedeler: I think you'll find asking questions here very rewarding. I know I do, and I ask questions all the time. :)
16:38 whoisthatgoksie joined #perl6
16:39 masak but right now, I'm off to meet up with a Japanese esperantist. see y'all around. \o
16:39 whoisthatgoksie_ joined #perl6
16:39 PerlJam What's the cube root of 39304?
16:40 mzedeler Its smaller than 39304.
16:40 PerlJam I didn't find asking that question particularly rewarding :)
16:40 moritz_ rakudo: say 39304 ** (1/3)
16:40 p6eval rakudo 39cc84: OUTPUT«34␤»
16:40 PerlJam mzedeler: but, yeah, what masak said.  Ask some questions and see what happens.
16:40 PerlJam moritz++
16:41 colomon_ "There's no such thing as stupid questions, only stupid people with questions." -- South Park  ;)
16:41 mzedeler masak: bye for now.
16:41 mzedeler I'm off for food.
16:44 goksie joined #perl6
16:47 ZuLuuuuuu joined #perl6
16:50 pugs_svn r27949 | kyle++ | [t/spec] Test for RT #68358
16:51 hercynium joined #perl6
16:51 KyleHa1 That one disturbs my delicate Perl 5 sensibilities.
16:52 KyleHa1 I'd be pleased as punch if someone could verify that it's right.
16:52 KyleHa1 (Specifically, is it true that "my ($x)" with a space is different from "my($x)" without a space?)
16:52 moritz_ KyleHa1: yes
16:52 PerlJam yes
16:53 moritz_ if STD.pm parses it, it's likely right
16:53 PerlJam KyleHa1: foo() is always different from foo ()
16:53 KyleHa1 OK, thanks.
16:54 KyleHa1 In that case, I'm happy with my test.
16:54 moritz_ hrm, std.pm doesn't seem to like sub()
16:54 moritz_ it should.
16:54 szabgab joined #perl6
16:54 moritz_ otoh doesn't the case of 'sub' collision with anonymous subroutine declarations?
16:55 TimToady yes, but I'm beginning to think we should make that one consistent as well, and require sub ()
16:56 takadonet joined #perl6
16:56 TimToady or sub*() works, I think
16:56 TimToady where "works" is defined as "specced to work"
16:57 TimToady std: sub*() {}
16:57 moritz_ I think requiring a space is sane
16:57 PerlJam I was just about to agree but then I see some strange syntax ... what's  "sub*()" ?
16:57 p6eval std 27948: OUTPUT«[31m===[0mSORRY![31m===[0m␤Malformed block at /tmp/bRRsiExfAq line 1:␤------> [32msub[33m⏏[31m*() {}[0m␤    expecting any of:␤ block␤  name␤     routine_def␤       terminator␤      trait␤    whitespace␤FAILED 00:02 37m␤»
16:57 TimToady hm
16:57 TimToady std: sub *() {}
16:57 p6eval std 27948: OUTPUT«[31m===[0mSORRY![31m===[0m␤Malformed block at /tmp/V9oGuZEKXt line 1:␤------> [32msub [33m⏏[31m*() {}[0m␤    expecting any of:␤        block␤  name␤     routine_def␤       terminator␤      trait␤FAILED 00:02 36m␤»
16:57 TimToady std: class * is Int {}
16:57 p6eval std 27949: OUTPUT«[31m===[0mSORRY![31m===[0m␤Unable to parse class definition at /tmp/A8mZQ2dVgq line 1:␤------> [32mclass [33m⏏[31m* is Int {}[0m␤    expecting any of:␤        name␤   trait␤FAILED 00:02 36m␤»
16:58 TimToady I guess it's NYI in std
16:58 moritz_ what should it mean?
16:58 TimToady supposed to mean "anonymous"
16:58 TimToady but explicitly, instead of leaving the name out
16:59 moritz_ is that in the spec somewhere, or just in your head?
16:59 TimToady I think it's specced, but that thought might be just in my head :)
17:01 TimToady oh, wait
17:01 TimToady maybe it was class :: {}
17:02 PerlJam no whatevers for classes
17:03 TimToady yes, I was confabulating
17:03 * TimToady blames jetlag
17:04 TimToady std: sub :: () {}
17:04 p6eval std 27949: OUTPUT«ok 00:02 38m␤»
17:04 TimToady std: sub::() {}
17:04 p6eval std 27949: OUTPUT«[31m===[0mSORRY![31m===[0m␤Unexpected block in infix position (two terms in a row, or previous statement missing semicolon?) at /tmp/l8ImfTI5kM line 1:␤------> [32msub::() [33m⏏[31m{}[0m␤    expecting any of:␤      bracketed infix␤  infix stopper␤    standard stopper␤
17:04 p6eval ..terminator␤Und…
17:04 TimToady so that won't work on subs anyway
17:04 TimToady not without a space anyway
17:12 moritz_ std: class :: is rw { }
17:12 p6eval std 27949: OUTPUT«ok 00:02 36m␤»
17:13 PerlJam http://news.perlfoundation.org/2009/0​8/2009q3_grant_proposal_changing.html  could prove quite useful for the Perl 6 world.
17:15 moritz_ aye; I was about to comment on that (and ask if he could make a Perl theme + Perl 5 and 6 subthemes)
17:20 kcwu joined #perl6
17:21 kane_ joined #perl6
17:28 moritz_ PerlJam: anyway, so far I haven't got around to write a reply, feel free to do it yourself too (more voices can't hurt)
17:28 adhoc joined #perl6
17:46 araujo joined #perl6
17:51 pmurias_ joined #perl6
17:52 pmurias_ ruoso: hi
17:52 ruoso hi pmurias_
17:53 * pmurias_ broke his laptops hard drive at yapc::eu and is now using a ubuntu virtual machine
17:53 ruoso ouch
17:53 ruoso good thing there is SVN
17:54 pmurias_ ruoso: so what do we need to figure out to do module loading?
17:55 ruoso we need TimToady's final call on S11...
17:56 pmurias_ what is the install alias from S11 supposed to do?
17:56 ruoso pmurias_, it's basically a BIND
17:57 ruoso but it can create new entries (which is only allowed at compile time)
17:58 pmurais ruoso: and .copy creates a deep copy?
17:58 ruoso pmurais, yes... but it only clone packages
17:58 ruoso the other entries in the package are not cloned
17:58 * ruoso wonder if pmurias noticed the typo in pmurais
17:59 moritz_ there's one thing I don't like about the current S11 state
17:59 cxreg is the comment syntax still open for discussion?  tye had some complaints about it that I thought I would relay
17:59 pmurais ruoso: i noticed it once you mentioned it ;)
17:59 moritz_ the presence of a stub shouldn't require import_realias instead of import_alias
17:59 [particle] everything is open for discussion here, cxreg
18:00 moritz_ just like the presence of a stubbed class shouldn't require an 'augment' before the defintion of the "real" class
18:00 lisppaste3 cxreg pasted "p6 comment syntax" at http://paste.lisp.org/display/85140
18:00 ruoso moritz_, I'm not sure I get what you mean
18:01 moritz_ ruoso: S11 mentions .import_realias and .import_alias
18:01 moritz_ ruoso: and the former seems necessary if the stub is already present
18:01 moritz_ ruoso: right?
18:01 ruoso moritz_, no...
18:01 ruoso actually... yes
18:01 ruoso hmm...
18:01 moritz_ which one? :)
18:02 ruoso I initially thought .import_alias was more generic
18:02 moritz_ I'm looking at S11:268
18:02 ruoso and .import_realias was more specific
18:02 ruoso but they are mutually exclusive
18:02 braceta joined #perl6
18:03 ruoso moritz_, yeah... it seems that a more generic method would be needed
18:03 ruoso i.e. .import_alias, .import_newalias, .import_realias
18:03 moritz_ .import($symbols, :override)
18:03 ruoso or that
18:03 ruoso moritz_, but the idea seems to be to force you to know what you're doing
18:04 ruoso but I'm not sure there is a way for you to know it
18:04 moritz_ ruoso: that's not a bad idea, as long as it doesn't create wierd assymetries
18:05 moritz_ cxreg: I think you should send those comments to the mailing list, they are drowning here
18:06 cxreg do I have to subscribe to send to the list? :/
18:06 pmurais ruoso: i managed to get App::Persistent to work with mildew, but it only cuts ~1sec per test (the c compiler remains)
18:06 moritz_ cxreg: no; it'll just longer if not (manual moderation)
18:06 cxreg that's perl6-lang or something?
18:06 moritz_ perl6-language@perl.org
18:07 ruoso pmurais, heh... that's pretty slow ;)
18:08 ruoso ah..
18:08 ruoso wait...
18:08 ruoso it cuts, not increases
18:08 ruoso :)
18:09 ruoso pmurais, we could drop that time if we went from mold AST to Mold directly using XS
18:09 ruoso that way we wouldn't require the C-compiling part at all
18:10 pmurais having a bytecode format would be good
18:10 ruoso pmurais, having a bytecode format would require a bytecode processor
18:10 moritz_ ruoso: don't you have a tab key for nick completion? ;-)
18:11 moritz_ oh wait
18:11 moritz_ :)
18:11 * moritz_ owned
18:11 ruoso pmurais, and, actually, for the CORE, having it compiled down to yeast C code is better than bytecode
18:11 pmurias_ joined #perl6
18:12 ruoso which makes me realize I was talking non-sense
18:13 pmurias ruoso: so do you think working on cutting the compiling overhead makes sense
18:13 pmurias ?
18:13 ruoso pmurias, but I still think that having the constant values used directly in the yeast code instead of being sent around during initialization would also increase boot time
18:13 ruoso s/increase/improve?
18:13 ruoso pmurias, not if we're moving towards yeast... at least not now
18:16 pmurias so any task for me? (i'm not really sure wha should be in ClassHOW) so i don't really know how to work on that
18:18 ruoso pmurias, the current ClassHOW isn't much far from the final one...
18:18 ruoso so supporting the features there is certainly a good thing
18:19 KyleHa1 rakudo: say $~MAIN;
18:19 pmurias do we need ::() or is MY::<...> enough?
18:19 p6eval rakudo 39cc84: OUTPUT«say requires an argument at line 2, near " $~MAIN;"␤in Main (src/gen_setting.pm:2473)␤»
18:20 ruoso pmurias, you mean for the ::($*CLASS) in ClassHOW.pm?
18:20 moritz_ KyleHa1: I don't think we have any tests for language braids yet
18:21 moritz_ for slangs, yes
18:21 mikehh__ joined #perl6
18:21 pmurias ::($repr)
18:21 KyleHa1 moritz: I noticed that.  I was thinking of writing some, but I haven't understood them yet.
18:21 moritz_ KyleHa1: same here ;-)
18:21 pmurias ruoso: line 26
18:21 KyleHa1 About all I could say at this point is 'ok defined $~MAIN'
18:22 moritz_ KyleHa1: I think it's not ripe for testing yet; let's wait a bit with TimToady does with STD.pm here
18:22 KyleHa1 Yeah...
18:22 moritz_ afaict it's meant like this:
18:22 KyleHa1 I sometimes wonder if writing bad tests will spur better specs.
18:23 moritz_ you override the quoting syntax with "" in $~MAIN
18:23 moritz_ and then you write a regex that uses that modified quoting syntax
18:23 moritz_ inside
18:23 PerlJam The more people that attempt to use it, the better TimToady will be able to spec it :)
18:23 ruoso pmurias, in that case MY::{$repr} should suffice
18:24 moritz_ ah well; I don't want to discourage anybody
18:24 KyleHa1 So then $~Q is the 'name' of the new quoting syntax when you're inside the regex that uses it?
18:24 moritz_ I just want to say that it's likely to be not very rewarding at first
18:25 moritz_ KyleHa1: probably some kind of a grammar or a compiler object or so
18:25 KyleHa1 Oh, all those things will be objects.
18:26 moritz_ I'd be disappointed if not :-)
18:27 ruoso pmurias, but if you want a more challenging task ;)
18:27 KyleHa1 rakudo: say $~MAIN.perl; # nyuck nyuck nyuck
18:27 p6eval rakudo 39cc84: OUTPUT«say requires an argument at line 2, near " $~MAIN.pe"␤in Main (src/gen_setting.pm:2473)␤»
18:27 ruoso pmurias, having contextual variables is also a ClassHOW requirement
18:27 ruoso and a much more fun task ;)
18:39 pmurias ubuntu told be to install the wrong ask :(
18:39 pmurias * ack
18:39 alester you want ack-grep, alas.
18:40 pmurias shouldn't it show me the choice instead of telling which package i should install?
18:40 Jedai joined #perl6
18:41 PerlJam alester: are you familiar with the Business of Software conference?
18:41 alester I am not, no
18:42 moritz_ rakudo: runinstead()
18:42 p6eval rakudo 39cc84: OUTPUT«Could not find non-existent sub runinstead␤»
18:42 moritz_ oh, did I forget to push my NYI-implementation?
18:42 PerlJam alester: http://www.businessofsoftware.org/  you might find it interesting
18:43 pmurias ubuntu renamed ack ack-grep? how dare they
18:43 dalek rakudo: bb1c2be | moritz++ |  (2 files):
18:43 dalek rakudo: initial NYI.pm implementation
18:43 dalek rakudo: This commit introduces some code/constant duplication; my attempts to factor it out
18:43 dalek rakudo: into a lexical sub or a lexical variable holding a block were not successful -
18:43 dalek rakudo: there former aren't found (see RT #67868), the latter produce Null PMC access
18:43 dalek rakudo: in invoke()
18:43 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/b​b1c2bef5f5bd5f184df484a98ced69796c4409e
18:43 moritz_ debian did, I guess
18:44 kane_ joined #perl6
18:44 pmurias easily fixed with a symlink ;)
18:47 KyleHa1 NYI.pm has a 'multi want', but I thought 'want' was officially voted off the island.
18:47 moritz_ ouch
18:48 moritz_ and it was me removing it
18:48 moritz_ where did I have my senses this morning?
18:48 moritz_ any other NYI builtins I could list?
18:48 KyleHa1 There are probably lots of operators.
18:49 moritz_ the feed operator... but I think they require special parsing
18:49 moritz_ let's see how STD.pm does it
18:50 PerlJam what's "runinstead"?
18:50 nicomen joined #perl6
18:50 moritz_ exec()
18:50 PerlJam and the name change because ... ?
18:51 moritz_ because exec is not descriptive
18:52 moritz_ and because system() is now run()
18:53 TimToady and because exec needed dehuffmanization and deunixization
18:55 dalek rakudo: 1e00038 | moritz++ | src/setting/NYI.pm:
18:55 dalek rakudo: want() is not NYI, it's gone - KyleHa++
18:55 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/1​e000383bf83f89fcb244aeb043f3b5545d86e19
18:55 PerlJam okay, I'll just chalk up the weird name to the price of change I guess.  Though "runandreplace" or "runinplace" or something might be more descriptive.
18:56 ruoso TimToady, is exec possible to be deunixicized
18:56 ruoso ?
18:56 KyleHa1 runwithscissors
18:56 PerlJam KyleHa1++
18:56 * ruoso was thinking in POSIX::exec, SYSV::exec BSD::exec or whatever
18:57 __ash__ runinstead seems like odd english, did someone not native to english come up with that :P
18:57 PerlJam so ... does that mean fork is going to get a new name too?  :)
18:57 ruoso actually... it's just POSIX
18:57 * ruoso votes for POSIX::exec
18:58 PerlJam ruoso: yeah, putting the POSIXy things under the POSIX namespace makes good sense.
18:59 ruoso and POSIX package will always be loaded under POSIX OSs
18:59 ruoso so no need to use POSIX
18:59 moritz_ ruoso: NOOO
18:59 ruoso (unless you want to import the symbols)
18:59 moritz_ no automatic package loading
18:59 moritz_ that's too scary in perl 6
18:59 moritz_ because it change the parser
19:00 moritz_ you don't want to get a parse error on a different OS
19:00 ruoso moritz_, POSIX being part of the Setting of Perl in a POSIX OS seems natural to me...
19:01 TimToady I hope POSIX dies a violent death soon
19:01 ruoso rakudo: say POSIX::exec
19:01 moritz_ ruoso: getting OS dependent syntax errors doesn't seem natural to me
19:01 p6eval rakudo bb1c2b: OUTPUT«Null PMC access in invoke()␤in Main (/tmp/ynfpi8YT4I:2)␤»
19:01 KyleHa1 is ( 'filename' ~~ :e ) an error now?
19:01 ruoso TimToady, POSIX is a standard... or do you refer to the perl5 POSIX.pm?
19:01 TimToady I am referring to the standard :)
19:01 ruoso moritz_, but I'm not against requiring "needs POSIX"
19:02 ruoso TimToady, in that case... I kinda doubt it will die ;)
19:02 moritz_ KyleHa1: yes
19:02 PerlJam POSIX will die just like COBOL died.
19:02 moritz_ KyleHa1: it calls method .e on Str which doesn'T exist
19:03 KyleHa1 That's testable.  8-)
19:03 moritz_ aye ;-)
19:04 moritz_ KyleHa1: btw I'm trying to patch ==> and other feed operators into the grammar and NYI.pm ;-)
19:04 ruoso in fact... "need POSIX"; sounds very much reasonable thing to have in a POSIX-specifc script
19:05 KyleHa1 moritz: I look forward to seeing that.
19:06 __ash__ windows isn't posix compliant by default, but its not hard to make it posix compliant, however, doesn't it have its own version of exec/fork/etc. ? (i haven't had a windows compy in like 4 years and haven't ever tried doing concurrency on it)
19:06 pmichaud moritz_: for making ==> into NYI, just write its sub
19:06 moritz_ __ash__: afaict it doesn't have fork (don't know about exec), windows has a different API for launching processes
19:07 pmichaud sub infix:«==>» { die "nyi"; }
19:07 moritz_ pmichaud: I want to make sure that it gets the right precdence
19:07 pmichaud just add it into the precedence table
19:07 moritz_ pmichaud: which i why I also want to add it to grammar-oper.pg
19:07 pmichaud same as other ops
19:07 moritz_ yes, I'm testing that right now
19:07 pmichaud okay, moritz++
19:07 moritz_ spectest seems fine so far
19:07 pmichaud should be, yes.
19:07 pmichaud the only operators that have trouble are those that we currently have to define in PIR
19:07 pmichaud (because of multimethod issues)
19:09 moritz_ doen't parse '@a ==> @b' after I add it the op table
19:09 moritz_ I added a new precedence level - could that be a problem?
19:09 moritz_ 'b=' instead of 'c='
19:09 pmurias TimToady: what's wrong with POSIX?
19:10 TimToady abysmally ignorant of Unicode, for one
19:10 TimToady locales are a travesty
19:10 TimToady the event model is not easily portable to other event systems
19:11 TimToady select only does filehandles
19:11 TimToady that's for starters
19:11 PerlJam somehow, perl needs to hire this guy: http://www.kranzcom.com/who-is-jonat​han/10-reasons-not-to-hire-jonathan/
19:12 ruoso TimToady, I agree it's not the prettiest thing in the world... but it's a standard, it's old, it's legacy... it can't be pretty
19:12 TimToady and everything is done with null-terminated strings, grr
19:12 TimToady well, not everything
19:12 TimToady but too much
19:13 TimToady I'm fine with having a POSIX module, but keep its semantics out of core Perl 6, please
19:13 PerlJam TimToady: So ... POSIX is meeting their goals.  Why does it need to die?
19:13 TimToady we hates it
19:13 japhb joined #perl6
19:13 KyleHa1 POSIX kicked my dog.
19:14 ruoso TimToady, my point is that every attempt I am aware to mask out the OS concepts end with a even weirder API (i.e.: Java)
19:14 ruoso so... better keep a POSIX:: namespace
19:14 ruoso for POSIX:: things
19:14 TimToady I'm not arguing against that; I'd still like for the standard to die someday :)
19:15 ruoso heh...
19:15 TimToady a prerequisite will be someone coming up with a different standard, as you suggest
19:16 PerlJam TimToady: the Portable Perl 6 Environment?  :)
19:16 Tene joined #perl6
19:17 pmichaud new precedence level shouldn't be a problem
19:17 moritz_ pmichaud: I'll send a patch + description to p6c, maybe you'll find some time to look over it then
19:17 moritz_ but first I want to play a bit with it ;-)
19:18 KyleHa1 Moritz:  I've modified S16-filehandles/filetest.t according to the new spec, and Rakudo blows up on it at the first test.  Should I remove it from spectest.data or fudge the whole thing or let it be a regression?
19:18 pmichaud moritz_: sounds great, I'll definitely look.
19:18 pmichaud KyleHa1: comment out in spectest.data is the standard approach
19:18 moritz_ KyleHa1: remove it from spectest.data (and add a comment on the top that you regressed on it)
19:18 moritz_ (and why)
19:18 pmichaud (it's a regression, but at least we know that it once worked)
19:18 KyleHa1 OK, thank you both.
19:20 ruoso TimToady, anyway... I think the current spec for Parcel doesn't hurt smop much... because the capture is still the fundament of every call... I just need a Parcel type and a Parcel->Capture typecast...
19:20 donaldh joined #perl6
19:21 TimToady unless, of course, we have a signature that wants the original Parcel...but I haven't got a use case for that yet
19:22 ruoso can we leave that for 6.0.0 + 1
19:22 ruoso ?
19:22 moritz_ for something like list() which tries to turns named into positionals?
19:22 KyleHa1 Is there some reason dalek doesn't show that commit?
19:22 TimToady well, a use case will likely involve the implementation of something lowlevel like circumfix:<( )> though
19:22 moritz_ KyleHa1: it takes up to 5 minutes, or so
19:22 TimToady moritz_: yes, something like that
19:22 KyleHa1 Oh, I'm impatient.  OK.  8-)
19:23 mberends joined #perl6
19:23 TimToady though we could possibly restrit such to macro-ish parsing
19:23 TimToady *restrict
19:23 TimToady and keep Parcels out of sigs that way
19:24 TimToady alternately, keep the original parcel ordering somewhere in the Capture if the candidate list might want a Parcel
19:24 * ruoso trying to figure out how to implement list() without Parcels in the sig
19:24 TimToady easy to prove with multis, hard with methods
19:25 TimToady so list() might be significantly easier than ().list
19:25 dalek rakudo: 9c291ca | (Kyle Hasselbacher)++ | t/spectest.data:
19:25 dalek rakudo: [spectest.data] filetest.t regressed due to spec change (RT #68160)
19:25 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/9​c291ca540e1fbb810dcf5ebabeb58559d40da97
19:25 TimToady but lunch & shower &
19:26 ruoso TimToady, alright... if we allow a Parcel->Capture->Parcel cast to return a different object, it should work
19:26 ruoso which shouldn't be a problem, since Parcel is immutable
19:26 moritz_ why would you want to convert from Capture to Parcel?
19:27 ruoso in list()
19:27 ruoso that considering Capture is a fundament of every call
19:27 ruoso as it is in SMOP
19:27 moritz_ well, when you have a Capture it's too late anyway
19:27 moritz_ which i the root of our list() problem
19:27 moritz_ *is
19:28 ruoso so you mean list() wouldn't convert named to positional?
19:28 ruoso or that it wouldn't preserve the order?
19:28 pugs_svn r27950 | kyle++ | [t/spec] change every $str ~~ $pair file test to $str.IO ~~ $pair
19:28 pugs_svn r27951 | kyle++ | [t/spec] cut out some old noisy code in comments
19:28 pugs_svn r27952 | kyle++ | [t/spec] Add a dies_ok test for the old style filetest
19:29 moritz_ @karma kyle
19:29 lambdabot kyle has a karma of 219
19:32 moritz_ ok, feed operators parse...
19:36 dalek rakudo: af3efaf | moritz++ | src/ (2 files):
19:36 dalek rakudo: parse feed operators, and die with a NYI message
19:36 dalek rakudo: Note that after this commit you need to clean; a simple 'make' doesn't rebuild
19:36 dalek rakudo: enough of the parser, it seems.
19:36 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/a​f3efaf3698751e0383a27944978cf3142ed53ae
19:36 KyleHa1 As a Perl Monk, I wonder how 'karma' relates to 'XP'.
19:37 moritz_ every ++ increments karma
19:37 moritz_ every -- decreases it
19:37 moritz_ no complicated average, quantiles and what-not
19:37 KyleHa1 It's a more straight forward mechanism.
19:38 dduncan joined #perl6
19:39 dduncan left #perl6
19:41 pmurias what does the statement starting at S02:2099 mean?
19:42 pmurias i don't understand how is the variable "controled"
19:43 pmurias that is what does it mean that the variable is "controled"
19:44 ruoso pmurias, I think it means you can't re-bind it
19:49 colomon_ rakudo: say;
19:49 p6eval rakudo af3efa: OUTPUT«say requires an argument at line 2, near ";"␤in Main (src/gen_setting.pm:2473)␤»
19:50 moritz_ rebuilding rakudo on p6eval's server...
19:51 colomon_ I figured say with no arguments would just send a newline to std out.
19:51 moritz_ S16 says something else
19:51 moritz_ because perl 5 programmers tend to get confused, and assume it will default to $_
19:52 colomon_ ah.
19:52 colomon_ that makes sense, I suppose.
19:54 moritz_ rakudo: 3 ==> 5
19:55 p6eval rakudo af3efa: OUTPUT«Feed operators are not yet implemented in Rakudo, sorry␤in sub infix:==> (src/gen_setting.pm:1417)␤called from Main (/tmp/OxfIyz5SGY:2)␤»
19:55 braceta joined #perl6
19:56 Tene joined #perl6
19:57 jan_ joined #perl6
19:59 molaf joined #perl6
20:00 * cj is constantly confused
20:02 PerlJam cj confusion is good.  It means you may be learning something.
20:03 [Coke] joined #perl6
20:03 [Coke] http://www.nntp.perl.org/group/perl​.wxperl.users/2009/08/msg6631.html (perl6 vs. parrot confusion that might need to be cleaned up.)
20:08 tomaw_ joined #perl6
20:09 zamolxes joined #perl6
20:09 cj PerlJam: whee.  Looks like we'll have a Mono-based DLR in debian real soon now.  you know anyone who wants to help diakopter and me get p6 on a .net-based vm? :)
20:10 cj diakopter: :)
20:11 PerlJam cj: I don't know anyone, but blog about it and talk about it here long enough and you'll drum up some interest
20:11 braceta joined #perl6
20:12 pmurias ruoso: is walking the call chain, checking if the variable in .lexical is a context one an acceptable way of implementing context variables?
20:12 ruoso pmurias, I can't think of another way...
20:15 pmurias ruoso: i'm thinking of using bohem gc for smop
20:15 ruoso bohem?
20:15 moritz_ boehm
20:15 pmurias yes
20:16 pmurias http://en.wikipedia.org/wi​ki/Boehm_garbage_collector
20:16 [Coke] left #perl6
20:17 ruoso pmurias, how would it interoperate with p5?
20:19 pmurias if we were using proxy objects as we do now, when the proxy object is collected it would release the sv
20:19 ruoso pmurias, please consider talking to #p5p to see if it would be possible to make a custom p5 that uses it...
20:20 ruoso pmurias, since the proxy object is just a temporary measure
20:25 zamolxes_ joined #perl6
20:25 mzedeler joined #perl6
20:26 pmurias ruoso: i could always make a custom perl5 which uses bohem and check what happens ;)
20:26 ruoso pmurias, well.. if you have the time ;)
20:26 ruoso pmurias, you could also add an extra element on the SV* head
20:26 ruoso and remove the proxy object entirely
20:29 ruoso that's half of the work to have the P5-SMOP integration
20:29 ruoso ok... probably a bit less than the half
20:31 pmurias ruoso: perl5 depends on deterministic destruction so using a tracing gc with it might break some things
20:32 ruoso pmurias, the major purpose of SMOP today is providing full p5 integration in the future
20:32 ruoso i.e. making perl 5.12 support Perl 6
20:33 __ash__ doesn't rakudo have use v5?
20:33 ruoso so I really would like to avoid using things that would prevent that integration to happen...
20:33 ruoso __ash__, not yet... I think...
20:33 ruoso nor does it "use CGI:from<perl5>"
20:33 cxreg was ponie discarded as technically infeasable, or just for lack of a willing owner?
20:34 jjore IIRC, Bergman just ran out of time and interest.
20:34 ruoso cxreg, some have told me that my plans on SMOP-P5 look a lot like ponie
20:35 ruoso rakudo: use CGI:from<perl5>; say CGI.new().header();
20:35 p6eval rakudo af3efa: OUTPUT«"load_language" couldn't find a compiler module for the language 'perl5'␤in Main (src/gen_setting.pm:3369)␤»
20:35 athomason joined #perl6
20:36 __ash__ use Foo:lang<cardinal>; if i am not mistaken works (if you have cardinal), wonder if anyones going to do perl 5 in parrot
20:37 __ash__ http://blogs.gurulabs.com/stephen/perl6/ has a blog post about getting cardinal (parrot ruby) and rakudo working together
20:37 cxreg I think it might be worthwhile to resurrect ponie
20:38 ruoso __ash__, thing is doing perl5 in parrot and not supporting XS is quite pointless
20:38 __ash__ XS?
20:38 ruoso p5 XS
20:38 ruoso eXtenSions
20:38 __ash__ ah, got ya
20:39 ruoso cxreg, http://www.perlfoundation.​org/perl6/index.cgi?smopp5
20:39 ruoso cxreg, that's my plan on how to get SMOP and P5 working together
20:41 * ruoso decommute &
20:41 cxreg so wait, python has both pynie and pirate?
20:42 cxreg pirate looks deceased, though
20:43 moritz_ allison and a few others work on pynie
20:43 __ash__ their repository hasn't been updated since 3 years ago pirate that is
20:50 timbunce joined #perl6
20:57 szabgab joined #perl6
21:02 moritz_ cxreg: I think parrot was just not ready to support enough of Perl 5's features, back in the days of ponie
21:02 cxreg that's certainly believable
21:03 cxreg maybe we can forget ponie and just write a perl 5 compiler in straight perl 6
21:03 * moritz_ coughs loudly
21:03 moritz_ look at toke.c
21:03 moritz_ look again
21:03 moritz_ shudder with fear
21:03 cxreg :)
21:04 cxreg is that file a noun or a verb?
21:04 moritz_ "nightmare" is a noung
21:05 cxreg i thought it was instructional.  "before reading, toke"
21:06 donaldh_ joined #perl6
21:06 moritz_ I don't think that's sufficieent
21:06 PerlJam cxreg: perhaps it's prescriptive.
21:10 jjore If the intuit_* methods libintuit or such and could be re-used without rewriting...
21:11 moritz_ we should link to libjustdoit.so
21:11 PerlJam I wonder people would  think of using POD to aid in this comment issue I see on p6l?   If "beginning of line" comments are kind of the odd-man-out, then why not =# for them?  We already have a POD precedent there.
21:11 PerlJam s/wonder/wonder what/
21:14 timbunce The error message "Malformed method definition at line 11, near ..." doesn't include a file name. Is there's a ticket open for that or should I open one?
21:15 moritz_ timbunce: please open a ticket
21:17 KyleHa1 rakudo: say (sub (&x) { &x() }).(&rand)
21:17 p6eval rakudo af3efa: OUTPUT«0.764879713141458␤»
21:18 KyleHa1 rakudo: say (sub (&x) { &x() }).(&srand)
21:18 p6eval rakudo af3efa: OUTPUT«Parameter type check failed; expected Callable, but got Code for x in call to _block50␤in sub _block50 (/tmp/vis6cph4H4:2)␤called from Main (/tmp/vis6cph4H4:2)␤»
21:18 moritz_ rakudo: say Code ~~ Callable
21:18 p6eval rakudo af3efa: OUTPUT«1␤»
21:19 KyleHa1 rakudo: say (sub (&x) { &x() }).(&exit); say "alive";
21:19 p6eval rakudo af3efa: OUTPUT«Parameter type check failed; expected Callable, but got Code for x in call to _block50␤in sub _block50 (/tmp/73Sy5DpXCZ:2)␤called from Main (/tmp/73Sy5DpXCZ:2)␤»
21:19 timbunce Is there a rakudobug script for opening tickets (like perlbug for perl5)
21:20 moritz_ timbunce: no
21:20 KyleHa1 You can send email to 'rakudobug@perl.org'.
21:20 timbunce moritz_: is that a bug? ;)
21:20 moritz_ timbunce: ;-) maybe
21:21 colomon_ surely it is NYI?  ;)
21:23 moritz_ timbunce: btw it seems that Data::Dumper::Simple is only used for debugging, so I could easily remove it
21:24 timbunce moritz_: feel free! thanks
21:24 moritz_ (is there a dbdi IRC channel somewhere?)
21:25 timbunce no, not yet. Any preference for freenode vs irc.perl.org?
21:25 moritz_ I'm on both either way
21:26 * PerlJam prefers freenode but what moritz_ said
21:26 timbunce PerlJam: why? (I'm clueless re irc)
21:27 moritz_ timbunce: btw on google code you added me as a commiter to perl-devel-nytprof, not to java2perl6
21:27 PerlJam timbunce: just general ... "tone" of the channels.  freenode is more open and inviting and less stabby-in-the-face  :)
21:27 timbunce moritz_: do'h! just a sec...
21:30 timbunce PerlJam: *shrug* ok. Any admin issues if I want to run a channel on freenode? Do I need to ask someone to oper privs [I'm trying to pretend I know what I'm talking about]
21:30 timbunce moritz_: feel free to send nytprof patches anyway ;)
21:30 moritz_ timbunce: nice try ;-)
21:31 timbunce moritz_: well you're an admin on java2perl6 now.
21:32 timbunce While I'm here... Anyone else want a commit bit to this "paving stone on the road to DBI for Perl6"?
21:32 PerlJam timbunce: I'll take one
21:33 timbunce great. gimme an email associated with a google.com account and you're in.
21:33 PerlJam perlpilot@gmail.com
21:34 moritz_ timbunce, PerlJam: ok, #dbdi on freenode it is
21:34 moritz_ I registered the channel, no further formalities required
21:35 timbunce moritz_: excellent, thanks.
21:36 ilbot2 joined #perl6
21:36 Topic for #perl6is now »ö« | http://perl6-projects.org/ | nopaste: http://paste.lisp.org/new/perl6 | evalbot usage: 'perl6: say 3;' | irclog: http://irc.pugscode.org/ | UTF-8 is our friend!
21:38 braceta left #perl6
21:39 joe____ joined #perl6
21:42 eternaleye joined #perl6
21:45 java2perl6_svn joined #perl6
21:52 pugs_svn r27953 | kyle++ | [t/spec] Test for RT #68234
21:52 pugs_svn r27954 | kyle++ | [t/spec] Test for RT #68116
22:02 donaldh_ joined #perl6
22:02 mzedeler timbunce: how far are you with DBI?
22:02 mzedeler ...for perl6, that is.
22:04 timbunce mzedeler: not very, but there is life! Join #dbdi
22:06 timbunce Anything wrong with: class j2 { multi method add( j1 $v1) { ... } };
22:07 Whiteknight joined #perl6
22:07 moritz_ timbunce: not if j1 is pre-declared as a type
22:07 TimToady std: };
22:07 p6eval std 27954: OUTPUT«[31m===[0mSORRY![31m===[0m␤Confused at /tmp/xKvSlI3eBO line 1:␤------> [32m}[33m⏏[31m;[0m␤FAILED 00:02 36m␤»
22:07 moritz_ std: class j1 { }; class j2 { multi method add( j1 $v1) { } };
22:07 TimToady std: class j2 { multi method add( j1 $v1) { ... } };
22:07 p6eval std 27954: OUTPUT«ok 00:03 40m␤»
22:07 p6eval std 27954: OUTPUT«[31m===[0mSORRY![31m===[0m␤Malformed block at /tmp/7o3YENYtZ9 line 1:␤------> [32mclass j2 { multi method add( [33m⏏[31mj1 $v1) { ... } };[0m␤    expecting any of:␤   parameter␤        signature␤       type_constraint␤   typename␤FAILED 00:03 41m␤»
22:08 timbunce moritz_: which is where the recursive-use problem I'm having comes in. ok.
22:08 TimToady Malformed block?!?
22:09 moritz_ TimToady: seems like STD.pm needs a test suite that checks error types... ;-)
22:10 Limbic_Region joined #perl6
22:12 TimToady I think the ** '|' of multisig is masking the signature error somehow
22:14 ruoso joined #perl6
22:27 ruoso TimToady, btw... we're trying to avoid it, but more and more, we're starting to depend on the S11 decision...
22:30 elmex joined #perl6
22:32 mzedeler Question: how do I return two arrays in perl 6? In other words, return [@a], [@b] translated to perl 6 parlance?
22:34 TimToady ruoso: you keep saying that, and I keep wishing you'd ask a more specific question
22:34 ruoso mzedeler, if you want the caller to decide if the list is going to be flattened or not, just do return @a, @b... otherwise use [@a],[@b]
22:35 ruoso TimToady, well... I have changed S11 to a proposed format... you said you would evaluate it...
22:35 pugs_svn r27955 | lwall++ | [STD] give better errors on malformed parameters and undeclared types
22:35 pugs_svn r27955 | lwall++ | [STD] disallow sub() {}
22:35 pugs_svn r27955 | lwall++ | [STD] improve nofun to check for absence of ' - \w
22:35 pugs_svn r27955 | lwall++ | [viv] more -5 updates to emit nested grammars correctly
22:35 pugs_svn r27955 | lwall++ | [Cursor] remove unused indent function
22:36 mzedeler Okay. That leads to another question. How can I make the caller ensure that the lists aren't flattened?
22:36 TimToady my (@a,@b) := function()
22:37 TimToady (in theory, doubt it works in rakudo)
22:37 mzedeler The := in stead of = does the trick?
22:37 TimToady yes, binds the returned Capture to a Signature
22:38 TimToady so same process as when you call foo(@a,@b) and bind to two parameters
22:38 mzedeler Thanks! I'll try it out.
22:38 TimToady as I say, rakudo may hiccup on that
22:38 mzedeler ...just the opposite way. Sounds like a nice feature.
22:39 ruoso rakudo: sub foo { my @c = 1,2,3; my @d = 4,5,6; return @c,@d };my (@a, @b) := foo();
22:39 p6eval rakudo af3efa: OUTPUT«rtype not set␤in Main (src/gen_setting.pm:3369)␤»
22:39 mzedeler Got the same here.
22:39 mzedeler So I could bypass it using square brackets? (return [@a], [@b])?
22:40 ruoso mzedeler, that would prevent the flattening at all
22:41 ruoso TimToady, about S11. Being specific: does the code snippet as in S11:168 describe how a module should be loaded? or is it something different?
22:45 mzedeler I get a kind of perl5 behaviour...
22:45 mzedeler perl6: sub t { my @a = 1, 2; my @b = 3, 4; [@a], [@b]}; my(@x, @y); (@x, @y) = t(); say "x: {@x} y: {@y}
22:45 p6eval rakudo af3efa: OUTPUT«say requires an argument at line 2, near " \"x: {@x} "␤in Main (src/gen_setting.pm:2473)␤»
22:45 p6eval ..pugs: OUTPUT«*** ␤    Unexpected end of input␤    expecting block, "\\", variable name or "\""␤    at /tmp/6mD31gbxb3 line 2, column 1␤»
22:45 p6eval ..elf 27955: OUTPUT«Parse error in: /tmp/bSMHdNq750␤panic at line 1 column 82 (pos 82): Error in quotesnabber␤WHERE: @x, @y); (@x, @y) = t(); say "x: {@x} y: {@y}␤WHERE:                              /\<-- HERE␤  STD_red/prelude.rb:99:in `panic'␤  STD_red/std.rb:1306:in `quotesnabber'␤  (eval):1:in
22:45 mzedeler perl6: sub t { my @a = 1, 2; my @b = 3, 4; [@a], [@b]}; my(@x, @y); (@x, @y) = t(); say "x: {@x} y: {@y}"
22:45 p6eval ..`__…
22:45 p6eval rakudo af3efa: OUTPUT«x: 1 2 3 4 y: ␤»
22:45 p6eval ..elf 27955: OUTPUT«x: {@x} y: {@y}␤»
22:45 p6eval ..pugs: OUTPUT«x: 1 2 y: 3 4␤»
22:46 mzedeler Sorry. There it was.
22:46 mzedeler I am using rakudo, but it seems that pugs got it right.
22:46 ruoso yeah... rakudo is doing something wrong...
22:46 ruoso it wasn't supposed to flatten
22:47 mzedeler Okay. Will find a way around it. Thanks for the help.
22:47 cognominal TimToady,  is there any conflicts between the  Cat role and the mammal Cat in the synopses?
22:48 TimToady perl6: sub t { my @a = 1, 2; my @b = 3, 4; [@a], [@b]}; my ($x, $y) = t(); say "x: {@$x} y: {@$y}"
22:48 p6eval rakudo af3efa: OUTPUT«Symbol '@$x' not predeclared in <anonymous> (/tmp/HWs3nPFneZ:2)␤in Main (src/gen_setting.pm:3369)␤»
22:48 p6eval ..pugs: OUTPUT«x: 1 2 y: 3 4␤»
22:48 p6eval ..elf 27955: OUTPUT«syntax error at (eval 126) line 8, at EOF␤syntax error at (eval 126) line 11, near "}␤ ="␤ at ./elf_h line 5881␤»
22:48 TimToady perl6: sub t { my @a = 1, 2; my @b = 3, 4; [@a], [@b]}; my ($x, $y) = t(); say "x: {@($x)} y: {@($y)}"
22:48 p6eval pugs, rakudo af3efa: OUTPUT«x: 1 2 y: 3 4␤»
22:48 p6eval ..elf 27955: OUTPUT«syntax error at (eval 126) line 8, at EOF␤syntax error at (eval 126) line 11, near "}␤ ="␤ at ./elf_h line 5881␤»
22:49 TimToady there, rakudo can do that
22:49 TimToady cognominal: probably
22:50 cognominal ok
22:52 cognominal or do you do duck typing?  meaning lowering your head on type problems :)
22:52 TimToady the first should probably be LazyCat or some such
22:52 mzedeler Thanks, Tim.
22:52 TimToady I'm not a Tim, just a Tim Toady
22:52 cono :D
22:53 cognominal apparently, some think you’re a Tim Today
22:58 cognominal "Anti-health-care-reform activist, reportedly injured in a fight at a town hall meeting last week, is collecting donations to pay his medical bills because he was recently laid off and lost his health insurance."
22:58 alester Who will help with the Pointless Complaints About Perl 6 FAQ?
22:59 cognominal oops, soory, wrong channel :(
23:00 alester http://gist.github.com/165482
23:00 __ash__ i hear one a lot, that perl 6 didn't do anything to help it be more readable than perl 5
23:01 alester and your response to that is?
23:02 __ash__ there is a lot of semantic meaning behind the changes they did make, even if you have to learn to recognize a few symbols to understand the semantics, like how sigils static to the variable they were defined with
23:03 mzedeler alester: (Andy Lester?) What needs to be done+
23:03 mzedeler ?
23:03 alester add more whining you've heard, and your response
23:04 alester Perl 6 threads get old quickly.
23:04 TimToady you should rename it "Complaints Raised About Perl 6" for a more appropriate acronym
23:04 alester hahahah
23:04 __ash__ most of those complaints come from a python programmer, so take that with a grain of salt
23:04 alester beautiful
23:05 mzedeler I haven't heard much whining yet. I suppose thats in store for me some time later.
23:05 cognominal The waterbed theory : if you eschew the complexity in the language by refusing to learn a powerful langage it will appear in your code. So instead dealing with it once,  we will deal with zillions of badly reeinvented wheels
23:07 alester I'm trying to find TimToady 's statements about Perl 6 early on.
23:07 alester For now, I handle the "missed the boat" gripe with
23:07 alester Perl 6 is not, and never has been, about capturing market share,
23:07 alester or fitting a given niche, or becoming the pre-eminent tool of choice
23:07 alester for a given problem area.
23:07 TimToady it's CRAP logic: any utterance in Perl 5 can be translated into more readable Perl 6, therefore Perl 6 is less readable :)
23:08 mzedeler ...or people will use the new, all-powerful language to reinvent their square wheels anyway :-)
23:08 mzedeler My best bet is that one out of six questions at perlmonks is a square wheel reinvention request.
23:09 TimToady std: class j2 { multi method add( j1 $v1) { ... } };
23:09 p6eval std 27955: OUTPUT«[31m===[0mSORRY![31m===[0m␤Invalid typename j1 at /tmp/fyrjbvQ8Z4 line 1:␤------> [32mclass j2 { multi method add( j1[33m⏏[31m $v1) { ... } };[0m␤FAILED 00:03 41m␤»
23:10 TimToady that's more like it
23:10 alester TimToady: Is my assessment re: market share a fair assessment?
23:11 TimToady Perl 6 isn't about missing boats, but about inventing airplanes.
23:11 alester Nice.
23:11 cognominal if market share is measured in LOCs, TimToady works hard to be a loser. :)
23:11 alester Oh, I forgot my favorite! It's taken too long.
23:12 TimToady yeah, 22 years so far, and counting :)
23:20 ihrd joined #perl6
23:20 donaldh joined #perl6
23:28 payload joined #perl6
23:33 dalek left #perl6
23:33 dalek joined #perl6
23:43 tann joined #perl6
23:43 tann rakudo: .say for qx/ls -la/;
23:43 p6eval rakudo af3efa: OUTPUT«operation not permitted in safe mode␤in Main (lib/Safe.pm:25)␤»
23:44 tann pugs: .say for qx/ls -la/;
23:44 p6eval pugs: OUTPUT«*** Unsafe function 'Pugs::Internals::runShellCommand' called under safe mode␤    at /tmp/VkIkXFCoeO line 1, column 10-20␤»
23:47 carlin joined #perl6

| Channels | #perl6 index | Today | | Search | Google Search | Plain-Text | summary

Perl 6 | Reference Documentation | Rakudo