»ö« | perl6-projects.org/ | nopaste: paste.lisp.org/new/perl6 | evalbot usage: 'perl6: say 3;' | irclog: irc.pugscode.org/ | UTF-8 is our friend!
Set by moritz_ on 30 July 2009.
00:07 Chillance_ joined 00:24 Chillance left 00:26 maja_ joined 00:28 missingthepoint joined 00:32 alester joined 00:39 SmokeMachine joined, maja left 00:41 FCO left 00:44 awwaiid joined 00:52 tann left 01:03 kst` left, kst joined 01:09 Chillance_ left 01:10 unitxt left 01:16 jferrero left 01:17 Jedai joined 01:29 agentzh left 01:30 tann joined 01:38 tann left 02:00 agentzh joined, ihrd joined, agentzh1 joined 02:01 ihrd left 02:03 agentzh left 02:05 wayland76 joined
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
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.
phenny wayland76: I'll pass that on when nperez is around.
nperez I am working on writing an IO::Select class at the moment
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.
wayland76 Ok, looks like I don't need to tell phennt :)
s/class/role/ ???
nperez just implementing the perl 5 IO::Select as a class. 02:08
wayland76 Ah, ok
nperez sockets can be polled in parrot land
and I plan on using that
wayland76 Has this been brought up on the mailing list at all?
nperez nah, just in here.
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?
p6eval rakudo 39cc84: OUTPUT«foo␤Lexical '$/' not found␤in sub bar (/tmp/RjKI24ERPq:2)␤called from Main (/tmp/RjKI24ERPq:2)␤»
nperez I'm not interested in navigating the spec resolution. I just want a working select
wayland76 I also note that S32/IO says that the select function is "Gone"
nperez exactly
hence this class 02:10
wayland76 In other words, there's no plan to include it in P6
Ok, so you're intending this to be an external library?
alester Why does every conversation about Perl 6 have to be about competition?
nperez right now, yes
alester "They have missed the boat."
What boat is that?
nperez unfortunately, this IO::Select class will be parrot specific 02:11
rakudo specific, too since I will need to use the Q:PIR construct
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
you may get more from Rakudo
Sorry 02:12
s/Rakudo/ruoso/
nperez Yeah, not understanding why select was removed
it is incredibly useful
wayland76 alester: Perl is the first Postmodern programming language. Other languages are still trapped in the Modern era :)
nperez: Example? 02:13
nperez erm, POE, heh
wayland76 Hmm, multiple tail -f, right?
nperez hard to write POE without select
wayland76 Have you seen the concurrency stuff that's been discussed in the past?
nperez in fact, multiplexing IO across multiple file descriptors is kind of hard to do without select
wayland76 With an event-based model underlying the threads?
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
nperez: I think you should look at the concurrency stuff. I'll find you something appropriate. Justamo 02:15
Ok, looks at S17, in the Intro section before the "Overview" 02:16
There's a link there that explains what the plan is
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).
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
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
Ok, as long as you understand the situation, I'm happy
You may still be interested in discussing this with ruoso if you see him though. 02:19
nperez Sure
wayland76 I'm sure he understands the thinking behind the IO spec better than I do 02:20
But I doubt either of us originated the part that says that select is gone
Which is why I suggested the mailing list
Anyway, I hope all this helps some :)
nperez It sure does.
wayland76 Anyway, I gotta go, unless you have another particular question at the moment 02:21
nperez I'm good
wayland76 ok, great 02:22
02:22 wayland76 left
__ash__ are state variables like static variables 02:30
missingthepoint __ash__: you mean static variables in C? 02:56
__ash__ yeah
a similar concept at least 02:57
missingthepoint i don't think so... (i could be wrong, i'm one of the newest folk around here) 03:05
have you seen perlcabal.org/syn/S03.html ? The bit under "Declarators"?
03:06 agentzh joined 03:10 agentzh left
__ash__ svn.pugscode.org/pugs/examples/cashiers.pl is what gave me that impression 03:10
03:10 agentzh joined
__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:11
03:12 agentzh1 left 03:14 agentzh left, agentzh joined
missingthepoint ok, that's true... but the scoping is note the same 03:15
*not
03:15 agentzh left
__ash__ missingthepoint: i found it, 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
03:15 agentzh joined
missingthepoint if by "sub" you mean "closure" ;) 03:17
__ash__ a sub is a closure, or a form of one 03:18
03:20 donaldh left, donaldh joined
pugs_svn r27938 | bpetering++ | [examples] fixed cashiers.pl to work with Rakudo 03:20
03:23 nihiliad left, nihiliad joined 03:27 xomas_ left
missingthepoint __ash__: is there anything else i can "help" with? (you figured that one out yourself ;) 03:32
__ash__ have you done anything with the grammar stuff? 03:33
missingthepoint not really, what are you trying to do?
(it's ok to ask beginner questions in here... it helps as a matter of fact, so just go ahead and ask...) 03:35
__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:37
its not implemented in rakudo yet 03:38
03:38 sri_kraih joined
__ash__ see spec S12-class/inheritence.t 03:39
03:39 mepplock joined
__ash__ it has what i am refeering too 03:39
if i am not mistaken, thats a grammar + object composition issue
look at line 20, super_baz has the functionalty thats currently not implemented 03:40
03:41 meppl left 03:42 molaf joined, mepplock is now known as meppl
__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:42
missingthepoint ah, in method super_baz()? 03:44
__ash__ yeah
my syntax above was off, sorry, it should be self.Foo::bar();
missingthepoint no problem :) 03:45
03:45 molaf left
missingthepoint have you got the latest rakudo revision checked out? 03:46
__ash__ yup
03:46 frew joined
missingthepoint have you done a "make spectest"? 03:47
__ash__ yup
missingthepoint ok, you can now go to rakudo<whatever>/t/spec/S12-class/inheritance.rakudo 03:48
the test for that is skipped with note "method resolution bug"
so, you probably want to look in the bug tracker for notes on the bug
mikehh_ rakudo (39cc848) builds on parrot r40476 make test/make spectest (up to 27938) PASS - Ubuntu 9.04 amd64 03:51
03:51 synth left, synth joined
__ash__ where is the bug tracker for perl 6, i haven't been able to find it yet 03:52
missingthepoint __ash__: it's at rt.perl.org/rt3/Public/?nossl=true, more or less :) 03:53
(choose queue)
__ash__ rt.perl.org/rt3/Public/Bug/Display.html?id=46665 guess thats what they were referring too 03:55
missingthepoint __ash__: concur
(i can't find anything closer to "method resolution bug"... RT is less than awesome.) 03:56
got parrot skills? :) 03:57
__ash__ i was planning on building some by working on this issue :P 03:58
missingthepoint :D
go right ahead... :(
err, :) (i can't type today)
__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
.pl seems to be the de facto standard 04:00
(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
missingthepoint :) 04:02
__ash__ the parrot irc server hates me btw, it never lets me connect
04:03 nihiliad left, nihiliad joined
__ash__ oh it actually let me on for once, nm 04:05
04:06 Jedai left
missingthepoint i was wondering what extension to give my files too :) 04:07
i've settled for .pl, which reveals which side of that question i come down on 04:08
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
but if you have a wide view of "Perl" - i.e., it's a community - then Perl 6 is still Perl
I go with the latter :)
__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?
__ash__ Method '%Ss' not found for invocant of class '%Ss' 04:12
missingthepoint that would confirm the diagnosis of RT #46665
__ash__ which is thrown when the methods don't exist in the objects vtable
04:13 agentzh left 04:18 nihiliad left, nihiliad joined
missingthepoint *tend to confirm 04:19
__ash__ missingthepoint: well, this is related to parrot more so than perl, i wonder how vtables work in parrot 04:20
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)
i think i am going to ask on the mailing list if they have a specification for calling parent object methods explicitly 04:24
missingthepoint __ash__: might like to look at docs.parrot.org/parrot/latest/html/...q.pod.html first 04:30
__ash__ docs.parrot.org/parrot/latest/html/...s.pod.html i am reading this 04:31
which defines how objects should work
missingthepoint ah, no problem
__ash__ so far i haven't seen anyhting defining how calling a parent's method works
missingthepoint my guess would be, "if not in the design docs, ask on mailing list"
__ash__ my thoughts exactly 04:32
yeah i don't see it in there
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
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
that may be the same for #parrot
__ash__ yeah i wouldn't be surprised
missingthepoint i'll be waking up about the same time as western europe :P 04:38
04:39 eMaX left
__ash__ i'll be at work then, but maybe i can hop on and not get to distracted in here :P 04:39
04:41 frew left
__ash__ well, i am going to sleep, cya around missingthepoint 04:41
missingthepoint cya ash :) 04:42
04:42 __ash__ left
missingthepoint (if you want a shorter form, use 'ben') 04:42
04:42 nihiliad left 04:43 nihiliad joined 04:44 agentzh joined 04:54 tann joined
eternaleye nperez: the underpinning for much of the thinking on concurrency in P6 is www.seas.upenn.edu/~lipeng/homepage/unify.html 04:56
pugs_svn r27939 | kyle++ | [t/spec] relabel todo test 05:02
r27940 | kyle++ | [t/spec] Test for RT #66886 05:03
r27941 | kyle++ | [t/spec] Ticket 67786: Merged into ticket #67256 (so I renamed the tests)
r27942 | kyle++ | [t/spec] Take # out of test description and mark skip as "noauto"
05:03 tann left
missingthepoint kyle++ # test suite work :) 05:05
05:08 tann joined 05:10 nihiliad left 05:18 drbean joined 05:22 carlin joined 05:37 carlin left, carlin joined 05:38 tann_ joined 05:40 orafu left 05:41 orafu joined 05:46 tann left 05:50 tann_ left 06:00 eMaX joined, carlin left 06:13 rfordinal3643 left 06:17 missingthepoint left
moritz_ good morning 06:19
japhb o/ 06:23
06:25 finanalyst joined
mberends hi moritz_ 06:26
moritz_ good localtime japhb, mberends, * 06:27
mberends that reference eternaleye++ gave for concurrency looks great 06:32
eternaleye mberends: Just something that was mentioned in this channel long ago which I backlogged 06:36
mberends overhead of just 48 bytes per thread with continuation passing style is awesome performance 06:38
06:58 Su-Shee joined
Su-Shee good morning! 06:58
moritz_ good morning Su-Shee 06:59
06:59 eMaX left
Su-Shee hi moritz. :) how many raudo improvements before 9 today? ;) 07:00
07:01 dukeleto joined
moritz_ Su-Shee: none. Not really awake yet :( 07:01
Su-Shee ;) 07:02
moritz_ rakudo: runinstead('echo foo')
p6eval rakudo 39cc84: OUTPUT«Could not find non-existent sub runinstead␤»
07:07 nacho_ left 07:09 rfordinal joined 07:20 donaldh left, donaldh joined 07:21 rfordinal left, rfordinal joined 07:26 eMaX joined 07:38 szabgab joined 07:40 Jedai joined 07:43 jkva joined
moritz_ my attempt to provide "Not yet implemented" messages in a fancy way failed. 07:55
if you define a lexical in the setting, assign a block to it and call it, it will give a Null PMC access
Matt-W :o 07:56
That's not good
moritz_ aye
maybe I'll settle for stupid code duplication instead
07:58 jferrero joined
frettled I wonder about one thing regarding stringification of hashes: 07:58
say %hash; -> not-so-pretty-printed contents of the hash, each key+value pair printed, but with no obvious separation. 07:59
say ~%hash; -> pretty-printed contents of the hash, each key+value pair printed on separate lines.
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 􏿽xABsay %hash􏿽xBB, the hash is stringified as a single item, while 􏿽xABsay ~%hash􏿽xBB stringifies and 􏿽xABsays􏿽xBB each hash element?
moritz_ that's because a hash in list context returns its pairs
08:00 Jedai left
moritz_ and say() doesn't insert anything between list items 08:01
(which would be a stupid default)
frettled Ahaha!
moritz_ you should observe the same with lists
rakudo: say <3 4 5>
rakudo: say ~<3 4 5>
p6eval rakudo 39cc84: OUTPUT«345␤»
rakudo 39cc84: OUTPUT«3 4 5␤»
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)␤»
frettled oops, typo
rakudo: say %foo = <bar baz> Z <gazonk frobble>; say %foo;
p6eval rakudo 39cc84: OUTPUT«Symbol '%foo' not predeclared in <anonymous> (/tmp/ytowSuvrgL:2)␤in Main (src/gen_setting.pm:3369)␤»
frettled hrm.
moritz_ try a 'my' at the start
frettled Double typo, then.
rakudo: my %foo = <bar baz> Z <gazonk frobble>; say %foo;
moritz_: (thanks) 08:03
p6eval rakudo 39cc84: OUTPUT«baz frobblebar gazonk␤»
moritz_ rakudo: my %foo = <bar baz> Z <gazonk frobble>; say ~%foo;
p6eval rakudo 39cc84: OUTPUT«baz frobble␤bar gazonk␤␤»
frettled The interesting thing here is the whitespace between the key and value
moritz_ it's a \t
rakudo: (~:a<b>).perl
frettled Yes, but it also means that it's not entirely treating it in list context, doesn't it?
moritz_ rakudo: say (~:a<b>).perl 08:04
p6eval rakudo 39cc84: ( no output )
rakudo 39cc84: OUTPUT«"a\tb"␤»
moritz_ frettled: it just means that Pair objects don't flatten in list context
frettled moritz_: ah. that's an good explanation.
moritz_ %h.list doesn't return the keys and values interleaved, but instead a List of Pair objects
that's different from Perl 5 08:05
and very handy
frettled Yes, definitely.
It was one of my pet peeves with Perl 5.
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 :)
frettled I think a fair way of putting it is to say that Perl 6 handles hashes and objects as first class citizens. 08:07
mberends but list separated its elements with space, and hash with newline: 08:10
rakudo: my %foo = <bar baz> Z <gazonk frobble>; say ~(%foo.list);
p6eval rakudo 39cc84: OUTPUT«baz frobble bar gazonk␤»
mberends no newline like hash gave us :( 08:11
frettled hmm. 08:12
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
Matt-W In Perl 5 I was never sure of the default rendering rules
frettled rakudo: my %foo = <bar baz> Z <gazonk frobble>; print ~(%foo.list); print ~%foo;
p6eval rakudo 39cc84: OUTPUT«baz frobble bar gazonkbaz frobble␤bar gazonk␤»
Matt-W and .join is so easy
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
Su-Shee mberends: meaning home brewn pickle/serialize and whateverit'scalled if I dump objects into strings? 08:15
08:15 masak joined
mberends yes 08:15
masak o/
mberends o/ Destroyer 08:16
masak man, I like that title.
moritz_ \o 08:17
masak: pmichaud++ confirmed yesterday night that the issue with :foo[] was a parsing bug
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
masak moritz_: good.
p6eval rakudo 39cc84: OUTPUT«OH HAI␤»
mberends custom stringify 08:19
08:19 zamolxes left
moritz_ rakudo: say Str('x') 08:20
p6eval rakudo 39cc84: OUTPUT«invoke() not implemented in class 'Perl6Str'␤in Main (/tmp/zLH6oPQJfN:2)␤»
08:21 carlin joined
frettled Is it possible to override the stringification without subclassing, BTW? 08:21
moritz_ rakudo: role UC { method Str { 'OH HAI' } }; my $x = 'foo' but UC; say $x
p6eval rakudo 39cc84: OUTPUT«foo␤»
moritz_ rakudo: role UC { method Str { 'OH HAI' } }; my $x = 5 but UC; say $x 08:22
p6eval rakudo 39cc84: OUTPUT«5␤»
moritz_ rakudo: role UC { method Str { 'OH HAI' } }; class A {}; my $x = A.new but UC; say $x
p6eval rakudo 39cc84: OUTPUT«OH HAI␤»
Matt-W rakudo: class Str is also { method Str { 'OH HAI' } }; my Str $foo = 'wibble'; $foo.say; 08:23
p6eval rakudo 39cc84: OUTPUT«wibble␤»
Matt-W bah
Matt-W throws toys
moritz_ well, a Str doesn't have to be coerced to Str to be printed. 08:24
Matt-W True 08:25
Sorry, it's only half past nine
masak :)
Matt-W rakudo: class Int is also { method Str { 'OH HAI' } }; my Int $foo = 5; $foo.say; 08:26
p6eval rakudo 39cc84: ( no output )
Matt-W heh
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:35 kane_ left
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
Matt-W I've been just doing things like @list.join(', ').say; 08:42
moritz_ which is a very sensible thing to do :-) 08:43
Matt-W or you could feed it to Form.pm :)
some of that does actually work
frettled moritz_: Ah, so there's a .fmt, neat!
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 :)
hurrah
japhb moritz_: yay! 08:45
frettled java2perl6? Is that a score? (Java 2 - Perl 6)
Su-Shee moritz_: for a shiny DBI running, I'll make you home made organic chocolate truffles. :)
moritz_ frettled: it's a header translater 08:46
frettled A DBI that automagically creates classes based on SQL queries! ;)
masak frettled: it's the relative amounts of the two ingredients in a new, frightening hybrid language.
moritz_ Su-Shee: I'll take your word for it
frettled: actually it's used to convert the Java ODBC classes to Perl 6
because the parrot dbdi will use ODBC's API for driver backends internally 08:47
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?
moritz_ Su-Shee: right
japhb I thought that was 'JDBC'?
frettled moritz_: aha. What happens to database library specific extensions?
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
moritz_ japhb: could also be, I'm not sure
far simpler? how so?
Matt-W moritz_: I'm sure it will be
if it's not, we'll have to fix it
moritz_ anyay, I just started to dig into the whole stuff
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.
I don't think it's a very good model for doing stuff.
moritz_ frettled: I found the API very intuitive.
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
Matt-W moritz_: that should be eminently possible 08:51
moritz_ but I don't know if the databases support this
Matt-W who cares?
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.
Su-Shee moritz_: isn't that a driver problem than?
Matt-W we can translate them into positional placeholders in the Perl 6 layer
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.
moritz_ Matt-W: which implies SQL parsing... don't know if I like that
08:52 cookys left
moritz_ so DBDI = the new DBD? 08:52
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
Su-Shee japhb: aaaaah. _that_ was illuminating. ok.
japhb Acronyms++
Matt-W moritz_: although I'm just assuming such a syntax is findable
Su-Shee japhb: so a mysql db api chain looks perl 6 - dbi - dbdi - mysql driver?
moritz_ Matt-W: you still have to know if it's used inside quotes or not
japhb Su-Shee: exactly
Matt-W moritz_: you still don't have to comprehend the entire statement to find quotes 08:54
moritz_ Matt-W: ok, good point
Matt-W Maybe it's a tougher problem than I'm envisaging 08:57
But I think it might well be possible
frettled Matt-W: Are you thinking of bound parameters (SELECT foo FROM bar WHERE gazonk = ? AND frobble = ?) ? 09:03
moritz_ right
but instead of just positional, I want named 09:04
frettled mm
so would I!
moritz_ WHERE gazonk = :gaz AND frobble = :frob
$sth.execute(:gaz(42), :frob(23))
odkit.sourceforge.net/?q=node/18 oracle seems to support that 09:05
Matt-W yes, oracle does support it 09:14
it's about oracle's only good feature that I've ever found
Su-Shee the apress sqlite book also mentions it. 09:15
(not the oracle stuff :)
moritz_ DBD::Pg also mentions named placeholders 09:17
so, perfect world an all
frettled moritz_: and perhaps there could be a way to magick it with databases that don't support it. 09:19
09:20 zamolxes joined
moritz_ frettled: maybe. But that's low priority for me 09:20
Su-Shee well depends.. mysql is an important db and extremely common. 09:21
frettled unfortunately, yes. :D
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
Matt-W doesn't challenge mine 09:23
it's the only one I actually ever used properly
so all other databases continually surprise me with their fancy stored procedures and named placeholders
and subqueries
frettled and features like e.g. partitioning?
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.
moritz_ I did not 09:25
a => b != b => a
frettled This is IRC, not science. :D 09:26
masak frettled: that's not science, that's mental hygiene. :) 09:34
Matt-W We use oracle at work 09:43
I try to avoid it
it's insanely complicated
a
whole pocket universe all to itself, with its own set of physical constants
09:50 xomas_ joined 09:56 jan_ left 09:58 jan_ joined
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. gist.github.com/165117 is the patch (very basic, still needs a lot of work) 10:00
10:02 smash left 10:07 araujo left
mberends carlin: is the mode being set to 0 instead of what umask should allow? 10:13
10:13 pmurias left 10:17 payload left
mberends carlin: your mode parameter may need to be converted to an int 10:21
carlin mberends: okay, I'll try that 10:25
10:25 payload joined
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:36
10:39 M_o_C joined
mberends (still, any working code is better than no code at all) 10:39
szabgab hi friends, I am at home and will try to get my act together and start doing some stuff 10:40
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
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:42
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
masak [particle]: ping
mberends carlin: what kind of values did you want to pass for the mode? 10:44
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.
phenny masak: I'll pass that on when [particle] is around.
masak lunch &
mberends carlin: see parrot/t/pmc/os.t:142,170 the mode is eg 0o555 11:05
11:08 donaldh left 11:17 fridim_ joined, payload left
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:19
11:20 donaldh joined
moritz_ rakudo: print 0755 11:21
p6eval rakudo 39cc84: OUTPUT«Leading 0 does not indicate octal in Perl 6␤755»
moritz_ rakudo: print 0755+1 11:22
p6eval rakudo 39cc84: OUTPUT«Leading 0 does not indicate octal in Perl 6␤756»
moritz_ ouch.
mberends yes, S02 defines 0o for octal
moritz_ not ouch
rakudo: print 0o755
p6eval rakudo 39cc84: OUTPUT«493»
M_o_C Is there a special reason why you used "print" instead of "say"? 11:23
rakudo: say 0b11 11:24
p6eval rakudo 39cc84: OUTPUT«3␤»
mberends M_o_C: on IRC it's just laziness (a virtue) but on the console is saves typing "\n"
11:25 adhoc_ joined, Psyche^ joined
moritz_ M_o_C: no 11:25
M_o_C Ok, I only asked because I was not sure wether there were problems with "say"ing numbers. 11:26
s/only asked/was only asking/ 11:28
11:29 szabgab left
frettled Just say so ;) 11:29
mberends M_o_C: say is defined as print followed by \n, so they are almost identical 11:30
11:31 szabgab joined 11:32 pmurias joined
M_o_C mberends: I use 5.010; so I already know, but thanks for helping anyway. 11:32
mberends :) 11:33
carlin in that case I can leave the mode param as it is
frettled I was always a bit concerned about how the semantics of file permissions in Perl worked with Windows ... 11:34
11:35 pmurias left 11:40 adhoc left 11:41 Patterner left, Psyche^ is now known as Patterner 11:43 SmokeMachine left 11:47 Su-Shee left, pmurias joined 11:50 meppl left 11:52 szabgab left
pugs_svn r27943 | azawawi++ | [perl6] ignore temporary files 11:54
r27944 | azawawi++ | [std_hilite] perl6-> Perl 6 typo 11:57
r27945 | mberends++ | fixed a bug in t/S32-io/IO-Socket-INET.t etc where an impatient timeout 12:05
r27945 | mberends++ | caused random failures, mostly on slower 32 bit systems.
frettled mberends: cute.
mberends ...but does it work on anyone else's computer? ;)
frettled mberends: now we only lack a failure where something goes wrong because faster systems are too fast! 12:06
mberends heh
moritz_ passes on amd64/linux 12:12
mberends moritz_++ 12:13
that failure was really annoying me 12:14
moritz_ i'm now running it a few times to see if it passes reliably 12:15
mberends++ # fixing the test
mberends the proof of the pudding is when a variety of platforms survive that one 12:16
masak runs 'prove -v pudding'
moritz_ I started about 6 or so of the tests in parallel, it doesn't seem to like that.
mberends eek! the tempfile name used as a semaphone is constant! 12:17
frettled masak: the dog ate it
mberends: yikes!
mberends moritz_: sorry, it's not parallelizable :( 12:18
masak name tempfile after process ID? 12:19
moritz_ most test files use "test_file_name." ~ pick(1..1000) ~ ".tmp" or so
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.
Okay, it's just a test, but ...
masak ok. I learn something every day. :)
mberends right. BSD randomizes and recycles process ID's. 12:21
masak but for a tempfile that lives a couple seconds...
or did I misunderstand the problem?
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
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.
masak rakudo: Time.gmtime.epoch.say
p6eval rakudo 39cc84: OUTPUT«1249906967␤»
moritz_ rakudo: say +time 12:23
p6eval rakudo 39cc84: OUTPUT«1249906986.17384␤»
moritz_ rakudo: say +time
p6eval rakudo 39cc84: OUTPUT«1249906994.93095␤»
masak ah. :)
mberends something even simpler would do in this test, for example the test server listening port number
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!␤»
mberends \o/
frettled hee-hee. 12:25
masak mberends++
moritz_ www.sqlite.org/testing.html
I wish we had such testing for Perl 6
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_++
p6eval rakudo 39cc84: OUTPUT«234 days left until April!␤»
mberends masak: this Temporal is not very golf-friendly, is it?
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
moritz_ a golf friendly version would be to use a precalculated timestamp for April
p6eval rakudo 39cc84: OUTPUT«Method 'Num' not found for invocant of class 'Perl6Pair'␤»
masak one that accepted iso8601 only.
frettled hrm, where did I mistype?
mberends masak: how much consensus do we need for that spec change? 12:27
masak mberends: very little, I think.
12:27 szabgab joined
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
I think that could work better, both for avoiding bikeshedding and for presenting a coherent suggestion.
frettled Oh, parenthesis-mismatch.
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
mberends world domination is easier when the world doesn't know.
Matt-W it lets me consider things more properly before my kneejerk reaction triggers
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
masak I already have that directory checked out via git-svn.
mberends :)
frettled masak: BTW, I have a patch coming up for proto, if I could just recall where I put the code.
masak frettled: woot.
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:34
masak interesting. 12:35
frettled So the patch isn't really brilliant, just allows for ignoring a previously downloaded archive. 12:36
. o O ( I could probably recreate it in five minutes, but I don't have five minutes right now. )
masak frettled: if you find it, don't hesitate to just push it to the github repo. 12:37
mberends: github.com/masak/temporal-flux-perl6syn -- like, totally sekkrit! 12:38
pugs_svn r27946 | azawawi++ | [std_hilite] fixed cron script
frettled masak: okay, I can do that (once I figure out how :D ) 12:39
Matt-W temporal flux! oh no!
I look forward to seeing what you come up with 12:40
and then criticising it :P
12:40 unitxt joined
frettled Hmm, rakudobot and the rakudo I download don't agree on that Temporal::Datetime usage thingy. 12:40
masak: destroying the destroyer's work?
oops, wrong attribution, should be Matt-W.
mberends Matt-W: we'll like, totally take control of time ;) 12:41
Matt-W frettled: That's what I'm here for... 12:42
It's one of my primary entertainments
frettled That reminds me that I should start my attempts at using Web.pm.
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
that's how progress happens.
frettled hee-hee 12:45
masak: like HTML 5 and CSS support? (just guessing)
masak frettled: that would be awesome.
frettled: Piers suggested that we make a CSS analyzer for Perl 6. 12:46
frettled masak: s/awesome/grand7
s,7,/,
masak: Yup, that would be good. As would be automagic CSS generation.
masak one that checked a number of HTML files and tainted the corresponding CSS to show which parts are unused.
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:47
moritz_ that would be an enourmous project
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.
frettled moritz_: yup, it requires some deep time with web design, but it would be very rewarding to people making web pages/software.
masak: muahahaha :D
masak doesn't need to be an ambitious spec, just to get the ball rolling.
frettled mm 12:49
masak JFDI!
:)
frettled I'll just need to accrue the necessary clue.
12:50 azawawi joined
masak sure. just don't let it block you indefinitely. 12:50
azawawi std: "hello"
p6eval std 27945: OUTPUT«ok 00:04 37m␤»
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)
azawawi: gdb? 12:52
has worked for me in the past when tracking down memory errors.
moritz_ azawawi: print-statements? parrot debugger?
azawawi moritz_: parrot_debugger.exe perl6.pbc your-script.p6 ? 12:53
moritz_ azawawi: no idea
12:54 meppl joined
azawawi moritz_: so far i did not find any Perl library to for the parrot debugger... 12:54
12:56 Thomas88 joined
moritz_ azawawi: it's not all perl, you know :-) 12:56
azawawi moritz_: the idea is to create a Padre parrot debugger for Perl 6 using .annotate_line... 12:57
13:01 szabgab left 13:02 Thomas88 left 13:04 adamski joined
frettled masak: I still haven't managed to find the tuits to add myself to the AUTHORS file :D 13:04
13:04 SmokeMachine joined
masak frettled: I stand in awe of your utter lack of tuits. 13:06
frettled masak: hee-hee 13:07
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 􏿽xABthank you for volunteering􏿽xBB from mst.
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:09
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:10
mberends frettled: making the failure 'soft' is too hard right now :( 13:12
13:14 adhoc_ is now known as adhoc
mberends will try again much later, afk& 13:16
13:20 jferrero left 13:21 azawawi left 13:32 dragon67 joined 13:33 szabgab joined
frettled Regarding the sort order of hashes: 13:37
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
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:38
(perhaps this is something I should bother TimToady about :D) 13:39
Matt-W that wouldn't necessarily be anything to do with that
you could stick stuff in in any order at insert time, and still display a stable order between changes 13:40
it might just be how hashes currently happen to be implemented
moritz_ mberends: parallel testing is not a high priority for me as long as *other* tests can run in parallel 13:41
13:42 ruoso joined 13:44 szabgab left, szabgab joined 13:51 dragon67_ joined
frettled Matt-W: as it is, it seems to me that what the sort order is after initialization is undefined behaviour. 13:51
azawawi masak: ping 13:52
frettled Matt-W: and that's fair enough, if we want sorted stuff, we can just do .sort anyway.
Matt-W frettled: yes, and hashes are then free to internally sort however makes most sense for storage and access efficiency
No significance can be drawn from the ordering a hash produces 13:53
masak azawawi: you pang?
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
frettled Matt-W: except for the tiny mention in S32
Matt-W: perlcabal.org/syn/S32/Containers.html#Hash
Matt-W yes, but that just says the order is stable as long as the hash isn't changed
it doesn't say what the order is
frettled exactly 13:54
ruoso Hello!
frettled o/
masak oh hai
ruoso pmurias, hi
Matt-W frettled: so, is there a point to be made, or are we just agreeing with each other?
frettled Matt-W: yes 13:55
:D
carlin I've made an attempt at implementing mkdir, gist.github.com/165198 anyone mind checking that?
azawawi masak: while programming november, did u play with parrot_debugger ?
Matt-W 'yes' is not a good answer to a question with an 'or' in it
frettled Matt-W: yes.
masak azawawi: no.
carlin probably got it horribly wrong
frettled Matt-W: (sorry for acting like a Vorlon there)
Matt-W: It was a question in case someone actually knew whether there was supposed to be a specification for this behaviour or not.
masak azawawi: I don't even know what parrot_debugger is, to be honest. 13:56
13:56 dragon67 left
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
frettled moritz_: but is there a defined behaviour somewhere?
azawawi masak: www.parrotcode.org/docs/debugger.html
frettled can't find it in the synopses.
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...
masak frettled: I think the answer to that is, and should be, "no".
13:58 adamski left 13:59 colomon left
Matt-W frettled: Perl 5 never had a defined behaviour for order of such things, hashes just don't work that way 13:59
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.
Typically, 􏿽xABhash􏿽xBB might imply that you used a hashing algorithm (well, gee :)) to figure it out.
􏿽xABDefined behaviour􏿽xBB would then be a specification saying that hash indexes are created using a hashing algorithm. 14:01
Aha, there is something under 􏿽xABAutosorted hashes􏿽xBB in S09: 14:02
Matt-W What about 'hashes are unordered'
frettled 􏿽xABThe 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?)).􏿽xBB
moritz_ frettled: some things are defined by not defining them....
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.'
frettled moritz_: yes, well, sort of.
moritz_ frettled: ie by not fixing an order, we leave the implementations free to use a random order
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
masak is reminded of the programming language 'Sorted!'
Matt-W if you make no promises about the ordering, you can do what you like with it
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
frettled moritz_: not 􏿽xABrandom􏿽xBB, but 􏿽xABarbitrary􏿽xBB :) 14:04
masak someone should make a Sorted! implementation for Parrot: p-nand-q.com/humor/programming_lang...orted.html
Matt-W frettled: arbitrary is all you can rely on, random would be something different
frettled moritz_: it also appears that rakudo preserves insertion order.
Matt-W: quite.
moritz_ frettled: it does not.
rakudo: my %h; for 'a'..'z' { %h{$_} = 1 }; say %h.keys 14:05
p6eval rakudo 39cc84: OUTPUT«abcdefghijklmnopqrstuvwxyz␤»
moritz_ woops
frettled :)
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
there are no promises, other than the stability of iteration order when the hash isn't changed
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.
Matt-W: yes, that's the only promise. 14:07
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:07 azawawi left
masak
.oO( the readers of the spec also come in arbitrary order )
14:10
moritz_ rakudo: my %h; for "a".."z" { %h{rand} = $_ }; say %h.values 14:11
p6eval rakudo 39cc84: OUTPUT«dlfcuxpyesqovwzanmtbhgrijk␤»
moritz_ frettled: that's not insertion order.
it seems they are somehow sorted, but not in insertion order 14:12
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:13
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?
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
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
moritz_ frettled: relying on anything more is an error.
frettled moritz_: First off, it was a question, not a _point_. 14:16
moritz_ ok.
frettled: did we answer your question, then?
frettled But then I _have_ followed up by making the point that the spec _should_ say that one shouldn't rely on underlying assumptions.
moritz_: not really, only implicitly admitting that the spec doesn't say so.
moritz_ ok
frettled: I agree it's a useful addition - feel free to add it 14:17
(and please excuse me if I wasn't polite)
frettled E.g., the spec should say something like 􏿽xABthe order of hash keys is implementation dependent and may be arbitrary􏿽xBB
moritz_: no problem at all, sometimes we have to bang our heads together a bit more roughly to make sure we misunderstand eachother correctly :)
moritz_ (I was distracted at the same time, having network problems here with 30% packet loss)
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
KyleHa Gooooood morning #perl6!! 14:19
moritz_ oh hai KyleHa
frettled: have fun :-)
takadonet morning KyleHa
masak morning, KyleHa++ 14:20
14:21 __ash__ joined
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:23
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.
moritz_ and that includes the time I spent going through ChangeLog and writing parts of the announcement 14:25
pmichaud Good morning, #perl6
moritz_ oh hai pmichaud
is it ins2 merge day? :-) 14:26
takadonet morning pmichaud
alester Is "Rakudo Star" the definite name?
masak alester: for now. :)
Matt-W o/ pmichaud
masak oh hai pmichaud
Matt-W alester: there's no such thing as definite until it's released :P
alester Loking for what pmichaud says.
masak it's written in sandstone.
moritz_ and even then we can monkeypatch it :-) 14:27
masak
.oO( Rakudo MonkeyPatch )
takadonet Anyone have good examples of using grammar to parse a file? 14:28
14:28 szabgab left
masak takadonet: github.com/masak/html-template/tree/master 14:29
pmichaud alester: "Rakudo Star" is a working name.
takadonet Masak: thanks
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
masak takadonet: 'trouble', as in reportable bugs? 14:31
14:31 hcchien left, clkao left
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
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...
takadonet masak: Current are work right now so not possible 14:33
masak understood.
14:35 rfordinal left
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
14:35 rfordinal joined
pmichaud a token is a regex that has backtracking turned off by default 14:35
a rule is a token where significant whitespace in the pattern corresponds to "optional" whitespace in the string being matched 14:36
s/significant// 14:38
takadonet thanks pmichaud 14:39
14:39 nihiliad joined
moritz_ we should make an FAQ with an URL that's very easy to remember 14:39
(for the token/rule/regex thing)
14:41 leedo joined 14:42 sparc left
masak moritz_: good idea. 14:46
moritz_: maybe with some example code which uses the differences in a useful situation.
14:47 xomas_ left, clkao joined 14:49 Psyche^ joined
moritz_ I could offer perl6.de/rtr # for "regex/token/rule" 14:50
takadonet that would be great!
pmichaud we can always do rakudo.org/rtr 14:51
moritz_ who owns perl6.org?
that would be ideal
whois says "Daniel Wright"
pmichaud maybe I'll inquire about perl6.org 14:52
moritz_ that would be a very useful domain 14:53
pmichaud agreed
moritz_ or perl6.com for that matter 14:54
(although I prefer .org)
14:54 rfordinal left 14:58 ilango joined
ilango Hi, I would like to join in on the Perl 6 project 14:59
I am a Java developer with java and C++ skills, and very little perl development skills from 2002
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
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.
pmichaud ilango: great! Best place to start would be to write some Perl 6 programs.
15:01 frew__ left
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.
ilango: yes, you can.
moritz_ ilango: rakudo.org/how-to-get-rakudo
ilango thanks for your help
masak ilango: I'm running Rakudo, and I have a Macintosh.
15:02 KyleHa1 joined, frew joined, KyleHa left
sbp it even works on Tiger 15:02
[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
great!
I have Mac OS Leopard 15:04
Thank you moritx, masak and pmichaud
masak ilango: you're welcome, and good luck! let us know how it goes!
15:04 Patterner left, Psyche^ is now known as Patterner
masak ilango: oh, and if you have web hosting plans, I suggest you start looking at how the November-wiki project does CGI. 15:05
15:06 iblechbot left
ilango ok 15:06
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]␤»
pmichaud rakudo: my $x = bar => [ baz => 42, sloth => 43 ]; my $y = :bar([ baz => 42, sloth => 43]); say .kv.perl for $x, $y
p6eval rakudo 39cc84: OUTPUT«["bar", ["baz" => 42, "sloth" => 43]]␤["bar", ["baz" => 42, "sloth" => 43]]␤»
pmichaud right.
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.
masak pmichaud: SVG.pm currently blocks (a little) on that bug.
moritz_ (why is it in S32-array anyway? it should be in S32-list or so)
pmichaud masak: use parens around the list.
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
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
the workaround is to use :foo([3,4]) instead of :foo[3,4] for now. 15:13
masak pmichaud: thanks.
pmichaud (tickets merged and updated) 15:14
__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:16
pmichaud __ash__: no, parrot does not always define in a spec before implementing 15:17
but yes, if something is missing in the spec it's worth an email
__ash__ btw, rt.perl.org/rt3/Public/Bug/Display.html?id=65272 and rt.perl.org/rt3/Public/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:19
15:20 donaldh left 15:21 donaldh joined
masak pmichaud: did you mean like this:? 15:21
rakudo: say (:a(:b, :c)).perl
p6eval rakudo 39cc84: OUTPUT«too many named arguments - 'b' not expected␤in Main (/tmp/BarmebCDoj:2)␤»
15:23 adhoc_ joined
pmichaud masak: I simply mean that :a[...] doesn't work properly at present. 15:23
rakudo: say (:a((:b, :c))).perl
p6eval rakudo 39cc84: OUTPUT«"a" => ["b" => 1, "c" => 1]␤»
masak ah. double parens.
pmichaud currently Rakudo is using postcircumfix for whatever comes after the :name part
so :a(...) parses like a function call 15:24
masak tha's wrong.
pmichaud right
but that was the way STD.pm did it until a month ago
[particle] time--
masak surprising.
I'm glad it doesn't any more. 15:25
pmichaud same here
unfortunately, fixing it is not as simple as s/postcircumfix/circumfix/
because the code for creating compile-time pairs depended on the structure of a postcircumfix ast
15:26 finanalyst left
pmichaud (because the postcircumfix ast looks like a function call, while a circumfix ast would look like a list) 15:26
so I have to switch that code. But switching that code means that the code that checks for named arguments also has to change...
and it just spreads from there 15:27
masak I see. 15:28
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?
pmichaud moritz_: it gets at the very fundamentals of distinguishing lists, argument lists, and named arguments
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
so it's a bit challenging for rakudo to keep up
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
so when the parse changes, the analyzer has to change also 15:32
masak nod.
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 adhoc left
pmichaud (it's not hard, it just requires a re-examination of everywhere that we do argument handling and list construction) 15:35
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
masak my garbage collection seems to be working really well.
pmichaud well, in the last instance it was originally thought to be a .kv bug and not a colonpair bug
masak mm. 15:42
in my defense, I don't seem to discover this bug more often than once a month. :P
pmichaud in your defense, we don't seem to fix this bug more often than once a year. 15:43
masak *lol*
moritz_ :-)
but now we seem to have tests in two different files
so you made KyleHa++ and me work on the tests
masak hm, interesting that you arrived at two different places for the tests... 15:44
I don't feel entirely culpable for that, actually... :) 15:45
pugs_svn r27947 | kyle++ | [t/spec] typo 15:50
r27948 | kyle++ | [t/spec] Test for RT #68370
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:52
*smirk* 15:53
15:53 nperez left 15:54 nperez joined 15:55 takadonet left 16:00 colomon joined, colomon_ joined, colomon left 16:03 rfordinal joined
Guest52299 looking at #perl6 16:03
16:04 pmurias left, xinming left, frettled left, he_ left, lucs left, c1sung_ left, estrabd left, integral left 16:05 Guest52299 left, Guest52299 joined 16:07 carlin left 16:08 frettled joined 16:09 pmurias joined, lucs joined, xinming joined 16:11 he_ joined, c1sung_ joined, integral joined, c1sung_ left 16:16 c1sung joined, nperez left, masak left, jkva left, maja_ left, hanekomu left, lambdabot left, Trey left, antiphase left, Helios left, Infinoid left 16:17 Infinoid joined, nperez joined, masak joined, jkva joined, maja_ joined, hanekomu joined, lambdabot joined, Trey joined, antiphase joined, Helios joined, irc.freenode.net sets mode: +o Infinoid 16:21 M_o_C left 16:26 cdarroch joined 16:28 dragon67_ left, Guest52299 is now known as mike, mike is now known as mzedeler 16:29 mzedeler left, mzedeler joined
mzedeler Hi 16:29
masak mzedeler: hello!
16:29 M_o_C joined
mzedeler Thanks for a nice YAPC::Europe 16:29
masak likewise. 16:30
mzedeler Now I have perl6 installed and IRC running, so I'm set up to start exploring perl 6.
masak \o/ 16:31
16:33 zamolxes left
mzedeler It seems very quiet here in the #perl6 channel. 16:33
colomon_ I think a lot of people may still be traveling from YAPC Lisbon. 16:34
mzedeler Sure. I have a lot of ground to cover, so I'll probably be on and off in the time to come. 16:35
16:36 szabgab joined 16:38 lionWrk is now known as LionMadeOfLions
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
16:38 whoisthatgoksie joined
masak but right now, I'm off to meet up with a Japanese esperantist. see y'all around. \o 16:39
16:39 masak left, whoisthatgoksie_ joined
PerlJam What's the cube root of 39304? 16:39
mzedeler Its smaller than 39304. 16:40
PerlJam I didn't find asking that question particularly rewarding :)
moritz_ rakudo: say 39304 ** (1/3)
p6eval rakudo 39cc84: OUTPUT«34␤»
PerlJam mzedeler: but, yeah, what masak said. Ask some questions and see what happens.
moritz++
colomon_ "There's no such thing as stupid questions, only stupid people with questions." -- South Park ;) 16:41
mzedeler masak: bye for now.
I'm off for food.
16:41 mzedeler left 16:44 goksie joined, szabgab left 16:45 ilango left 16:47 ZuLuuuuuu joined, whoisthatgoksie left 16:48 whoisthatgoksie_ left
pugs_svn r27949 | kyle++ | [t/spec] Test for RT #68358 16:50
16:51 hercynium joined
KyleHa1 That one disturbs my delicate Perl 5 sensibilities. 16:51
I'd be pleased as punch if someone could verify that it's right. 16:52
(Specifically, is it true that "my ($x)" with a space is different from "my($x)" without a space?)
moritz_ KyleHa1: yes
PerlJam yes
moritz_ if STD.pm parses it, it's likely right 16:53
PerlJam KyleHa1: foo() is always different from foo ()
KyleHa1 OK, thanks.
In that case, I'm happy with my test. 16:54
moritz_ hrm, std.pm doesn't seem to like sub()
it should.
16:54 szabgab joined
moritz_ otoh doesn't the case of 'sub' collision with anonymous subroutine declarations? 16:54
TimToady yes, but I'm beginning to think we should make that one consistent as well, and require sub () 16:55
16:56 takadonet joined
TimToady or sub*() works, I think 16:56
16:56 eMaX left
TimToady where "works" is defined as "specced to work" 16:56
std: sub*() {} 16:57
moritz_ I think requiring a space is sane
PerlJam I was just about to agree but then I see some strange syntax ... what's "sub*()" ?
p6eval std 27948: OUTPUT«===SORRY!===␤Malformed block at /tmp/bRRsiExfAq line 1:␤------> sub⏏*() {}␤ expecting any of:␤ block␤ name␤ routine_def␤ terminator␤ trait␤ whitespace␤FAILED 00:02 37m␤»
TimToady hm
std: sub *() {}
p6eval std 27948: OUTPUT«===SORRY!===␤Malformed block at /tmp/V9oGuZEKXt line 1:␤------> sub ⏏*() {}␤ expecting any of:␤ block␤ name␤ routine_def␤ terminator␤ trait␤FAILED 00:02 36m␤»
TimToady std: class * is Int {}
p6eval std 27949: OUTPUT«===SORRY!===␤Unable to parse class definition at /tmp/A8mZQ2dVgq line 1:␤------> class ⏏* is Int {}␤ expecting any of:␤ name␤ trait␤FAILED 00:02 36m␤»
TimToady I guess it's NYI in std 16:58
moritz_ what should it mean?
TimToady supposed to mean "anonymous"
but explicitly, instead of leaving the name out
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 :)
oh, wait 17:01
maybe it was class :: {}
PerlJam no whatevers for classes 17:02
TimToady yes, I was confabulating 17:03
TimToady blames jetlag
std: sub :: () {} 17:04
p6eval std 27949: OUTPUT«ok 00:02 38m␤»
TimToady std: sub::() {}
p6eval std 27949: OUTPUT«===SORRY!===␤Unexpected block in infix position (two terms in a row, or previous statement missing semicolon?) at /tmp/l8ImfTI5kM line 1:␤------> sub::() ⏏{}␤ expecting any of:␤ bracketed infix␤ infix stopper␤ standard stopper␤
..terminator␤Und…
TimToady so that won't work on subs anyway
not without a space anyway
17:08 goksie left
moritz_ std: class :: is rw { } 17:12
p6eval std 27949: OUTPUT«ok 00:02 36m␤»
17:13 szabgab left
PerlJam news.perlfoundation.org/2009/08/200...nging.html could prove quite useful for the Perl 6 world. 17:13
moritz_ aye; I was about to comment on that (and ask if he could make a Perl theme + Perl 5 and 6 subthemes) 17:15
17:20 kcwu left, kcwu joined 17:21 kane_ joined
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
17:28 adhoc joined 17:42 adhoc_ left 17:46 araujo joined 17:49 japhb left 17:51 pmurias_ joined
pmurias_ ruoso: hi 17:52
ruoso hi pmurias_
pmurias_ broke his laptops hard drive at yapc::eu and is now using a ubuntu virtual machine 17:53
ruoso ouch
good thing there is SVN
pmurias_ ruoso: so what do we need to figure out to do module loading? 17:54
ruoso we need TimToady's final call on S11... 17:55
pmurias_ what is the install alias from S11 supposed to do? 17:56
ruoso pmurias_, it's basically a BIND
but it can create new entries (which is only allowed at compile time) 17:57
17:57 pmurias_ is now known as pmurais
pmurais ruoso: and .copy creates a deep copy? 17:58
ruoso pmurais, yes... but it only clone packages
the other entries in the package are not cloned
ruoso wonder if pmurias noticed the typo in pmurais
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
pmurais ruoso: i noticed it once you mentioned it ;)
moritz_ the presence of a stub shouldn't require import_realias instead of import_alias
[particle] everything is open for discussion here, cxreg
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 paste.lisp.org/display/85140
ruoso moritz_, I'm not sure I get what you mean
moritz_ ruoso: S11 mentions .import_realias and .import_alias 18:01
ruoso: and the former seems necessary if the stub is already present
ruoso: right?
ruoso moritz_, no...
actually... yes
hmm...
moritz_ which one? :)
ruoso I initially thought .import_alias was more generic 18:02
moritz_ I'm looking at S11:268
ruoso and .import_realias was more specific
but they are mutually exclusive
18:02 braceta joined
ruoso moritz_, yeah... it seems that a more generic method would be needed 18:03
i.e. .import_alias, .import_newalias, .import_realias
moritz_ .import($symbols, :override)
ruoso or that
moritz_, but the idea seems to be to force you to know what you're doing
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
cxreg: I think you should send those comments to the mailing list, they are drowning here 18:05
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)
moritz_ cxreg: no; it'll just longer if not (manual moderation)
cxreg that's perl6-lang or something?
moritz_ [email@hidden.address]
ruoso pmurais, heh... that's pretty slow ;) 18:07
ah.. 18:08
wait...
it cuts, not increases
:)
18:08 zostay left
ruoso pmurais, we could drop that time if we went from mold AST to Mold directly using XS 18:09
that way we wouldn't require the C-compiling part at all
pmurais having a bytecode format would be good 18:10
ruoso pmurais, having a bytecode format would require a bytecode processor
moritz_ ruoso: don't you have a tab key for nick completion? ;-)
oh wait 18:11
:)
moritz_ owned
ruoso pmurais, and, actually, for the CORE, having it compiled down to yeast C code is better than bytecode
18:11 pmurias left, pmurais is now known as pmurias, pmurias_ joined
ruoso which makes me realize I was talking non-sense 18:12
pmurias ruoso: so do you think working on cutting the compiling overhead makes sense 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
s/increase/improve?
pmurias, not if we're moving towards yeast... at least not now
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:16
ruoso pmurias, the current ClassHOW isn't much far from the final one... 18:18
so supporting the features there is certainly a good thing
KyleHa1 rakudo: say $~MAIN; 18:19
pmurias do we need ::() or is MY::<...> enough?
p6eval rakudo 39cc84: OUTPUT«say requires an argument at line 2, near " $~MAIN;"␤in Main (src/gen_setting.pm:2473)␤»
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
for slangs, yes 18:21
18:21 mikehh__ joined
pmurias ::($repr) 18:21
KyleHa1 moritz: I noticed that. I was thinking of writing some, but I haven't understood them yet.
moritz_ KyleHa1: same here ;-)
pmurias ruoso: line 26
KyleHa1 About all I could say at this point is 'ok defined $~MAIN'
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...
moritz_ afaict it's meant like this:
KyleHa1 I sometimes wonder if writing bad tests will spur better specs.
moritz_ you override the quoting syntax with "" in $~MAIN 18:23
and then you write a regex that uses that modified quoting syntax
inside
PerlJam The more people that attempt to use it, the better TimToady will be able to spec it :)
ruoso pmurias, in that case MY::{$repr} should suffice
moritz_ ah well; I don't want to discourage anybody 18:24
18:24 mikehh__ is now known as mikehh, kane_ left
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
KyleHa1: probably some kind of a grammar or a compiler object or so 18:25
KyleHa1 Oh, all those things will be objects.
moritz_ I'd be disappointed if not :-) 18:26
ruoso pmurias, but if you want a more challenging task ;) 18:27
KyleHa1 rakudo: say $~MAIN.perl; # nyuck nyuck nyuck
p6eval rakudo 39cc84: OUTPUT«say requires an argument at line 2, near " $~MAIN.pe"␤in Main (src/gen_setting.pm:2473)␤»
ruoso pmurias, having contextual variables is also a ClassHOW requirement
and a much more fun task ;)
18:29 ZuLuuuuuu left 18:34 mikehh_ left
pmurias ubuntu told be to install the wrong ask :( 18:39
* ack
alester you want ack-grep, alas.
pmurias shouldn't it show me the choice instead of telling which package i should install? 18:40
18:40 Jedai joined
PerlJam alester: are you familiar with the Business of Software conference? 18:41
alester I am not, no
moritz_ rakudo: runinstead() 18:42
p6eval rakudo 39cc84: OUTPUT«Could not find non-existent sub runinstead␤»
moritz_ oh, did I forget to push my NYI-implementation?
PerlJam alester: www.businessofsoftware.org/ you might find it interesting
pmurias ubuntu renamed ack ack-grep? how dare they 18:43
dalek kudo: bb1c2be | moritz++ | (2 files):
initial NYI.pm implementation

into a lexical sub or a lexical variable holding a block were not successful - there former aren't found (see RT #67868), the latter produce Null PMC access in invoke()
moritz_ debian did, I guess
18:44 kane_ joined
pmurias easily fixed with a symlink ;) 18:44
KyleHa1 NYI.pm has a 'multi want', but I thought 'want' was officially voted off the island. 18:47
moritz_ ouch
and it was me removing it 18:48
where did I have my senses this morning?
any other NYI builtins I could list?
KyleHa1 There are probably lots of operators.
moritz_ the feed operator... but I think they require special parsing 18:49
let's see how STD.pm does it
PerlJam what's "runinstead"? 18:50
18:50 nicomen joined
moritz_ exec() 18:50
PerlJam and the name change because ... ?
moritz_ because exec is not descriptive 18:51
and because system() is now run() 18:52
TimToady and because exec needed dehuffmanization and deunixization 18:53
dalek kudo: 1e00038 | moritz++ | src/setting/NYI.pm:
want() is not NYI, it's gone - KyleHa++
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.
ruoso TimToady, is exec possible to be deunixicized 18:56
?
KyleHa1 runwithscissors
PerlJam KyleHa1++
ruoso was thinking in POSIX::exec, SYSV::exec BSD::exec or whatever
__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? :)
ruoso actually... it's just POSIX
ruoso votes for POSIX::exec
PerlJam ruoso: yeah, putting the POSIXy things under the POSIX namespace makes good sense. 18:58
ruoso and POSIX package will always be loaded under POSIX OSs 18:59
so no need to use POSIX
moritz_ ruoso: NOOO
ruoso (unless you want to import the symbols)
moritz_ no automatic package loading
that's too scary in perl 6
because it change the parser
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...
TimToady I hope POSIX dies a violent death soon
ruoso rakudo: say POSIX::exec 19:01
moritz_ ruoso: getting OS dependent syntax errors doesn't seem natural to me
p6eval rakudo bb1c2b: OUTPUT«Null PMC access in invoke()␤in Main (/tmp/ynfpi8YT4I:2)␤»
KyleHa1 is ( 'filename' ~~ :e ) an error now?
ruoso TimToady, POSIX is a standard... or do you refer to the perl5 POSIX.pm?
TimToady I am referring to the standard :)
ruoso moritz_, but I'm not against requiring "needs POSIX"
TimToady, in that case... I kinda doubt it will die ;) 19:02
moritz_ KyleHa1: yes
PerlJam POSIX will die just like COBOL died.
moritz_ KyleHa1: it calls method .e on Str which doesn'T exist
KyleHa1 That's testable. 8-) 19:03
moritz_ aye ;-)
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
KyleHa1 moritz: I look forward to seeing that. 19:05
__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
moritz_ __ash__: afaict it doesn't have fork (don't know about exec), windows has a different API for launching processes
19:07 mberends left
pmichaud sub infix:«==>» { die "nyi"; } 19:07
moritz_ pmichaud: I want to make sure that it gets the right precdence
pmichaud just add it into the precedence table
moritz_ pmichaud: which i why I also want to add it to grammar-oper.pg
pmichaud same as other ops
moritz_ yes, I'm testing that right now
pmichaud okay, moritz++
moritz_ spectest seems fine so far
pmichaud should be, yes.
the only operators that have trouble are those that we currently have to define in PIR
(because of multimethod issues)
moritz_ doen't parse '@a ==> @b' after I add it the op table 19:09
I added a new precedence level - could that be a problem?
'b=' instead of 'c='
pmurias TimToady: what's wrong with POSIX?
TimToady abysmally ignorant of Unicode, for one 19:10
locales are a travesty
the event model is not easily portable to other event systems
select only does filehandles 19:11
that's for starters
PerlJam somehow, perl needs to hire this guy: www.kranzcom.com/who-is-jonathan/10...-jonathan/
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
well, not everything
but too much
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?
TimToady we hates it
19:13 japhb joined
KyleHa1 POSIX kicked my dog. 19:13
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
so... better keep a POSIX:: namespace
for POSIX:: things
TimToady I'm not arguing against that; I'd still like for the standard to die someday :)
ruoso heh... 19:15
TimToady a prerequisite will be someone coming up with a different standard, as you suggest
19:15 Tene left
PerlJam TimToady: the Portable Perl 6 Environment? :) 19:16
19:16 Tene joined
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
but first I want to play a bit with it ;-)
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.
KyleHa1: comment out in spectest.data is the standard approach
moritz_ KyleHa1: remove it from spectest.data (and add a comment on the top that you regressed on it)
(and why)
pmichaud (it's a regression, but at least we know that it once worked)
KyleHa1 OK, thank you both.
19:20 donaldh left
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
19:20 donaldh joined
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:21
ruoso can we leave that for 6.0.0 + 1 19:22
?
moritz_ for something like list() which tries to turns named into positionals?
KyleHa1 Is there some reason dalek doesn't show that commit?
TimToady well, a use case will likely involve the implementation of something lowlevel like circumfix:<( )> though
moritz_ KyleHa1: it takes up to 5 minutes, or so
TimToady moritz_: yes, something like that
KyleHa1 Oh, I'm impatient. OK. 8-)
19:23 mberends joined
TimToady though we could possibly restrit such to macro-ish parsing 19:23
*restrict
and keep Parcels out of sigs that way
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
TimToady easy to prove with multis, hard with methods
so list() might be significantly easier than ().list 19:25
dalek kudo: 9c291ca | (Kyle Hasselbacher)++ | t/spectest.data:
[spectest.data] filetest.t regressed due to spec change (RT #68160)
TimToady but lunch & shower &
ruoso TimToady, alright... if we allow a Parcel->Capture->Parcel cast to return a different object, it should work 19:26
which shouldn't be a problem, since Parcel is immutable
moritz_ why would you want to convert from Capture to Parcel?
ruoso in list() 19:27
that considering Capture is a fundament of every call
as it is in SMOP
moritz_ well, when you have a Capture it's too late anyway
which i the root of our list() problem
*is
ruoso so you mean list() wouldn't convert named to positional? 19:28
or that it wouldn't preserve the order?
pugs_svn r27950 | kyle++ | [t/spec] change every $str ~~ $pair file test to $str.IO ~~ $pair
r27951 | kyle++ | [t/spec] cut out some old noisy code in comments
r27952 | kyle++ | [t/spec] Add a dies_ok test for the old style filetest
moritz_ @karma kyle 19:29
lambdabot kyle has a karma of 219
moritz_ ok, feed operators parse... 19:32
dalek kudo: af3efaf | moritz++ | src/ (2 files):
parse feed operators, and die with a NYI message

enough of the parser, it seems.
19:36
KyleHa1 As a Perl Monk, I wonder how 'karma' relates to 'XP'.
moritz_ every ++ increments karma 19:37
every -- decreases it
no complicated average, quantiles and what-not
KyleHa1 It's a more straight forward mechanism.
19:38 dduncan joined 19:39 dduncan left 19:40 braceta left
pmurias what does the statement starting at S02:2099 mean? 19:41
i don't understand how is the variable "controled" 19:42
that is what does it mean that the variable is "controled" 19:43
ruoso pmurias, I think it means you can't re-bind it 19:44
19:45 jan_ left
colomon_ rakudo: say; 19:49
p6eval rakudo af3efa: OUTPUT«say requires an argument at line 2, near ";"␤in Main (src/gen_setting.pm:2473)␤»
moritz_ rebuilding rakudo on p6eval's server... 19:50
colomon_ I figured say with no arguments would just send a newline to std out. 19:51
moritz_ S16 says something else
because perl 5 programmers tend to get confused, and assume it will default to $_
colomon_ ah. 19:52
that makes sense, I suppose.
moritz_ rakudo: 3 ==> 5 19:54
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
19:55 braceta joined, tomaw- left 19:56 Tene left, Tene joined 19:57 jan_ joined 19:59 molaf joined
cj is constantly confused 20:00
PerlJam cj confusion is good. It means you may be learning something. 20:02
20:03 [Coke] joined
[Coke] www.nntp.perl.org/group/perl.wxperl...g6631.html (perl6 vs. parrot confusion that might need to be cleaned up.) 20:03
20:08 tomaw_ joined 20:09 zamolxes joined
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:09
diakopter: :) 20:10
20:10 braceta left
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
20:11 braceta joined
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...
pmurias ruoso: i'm thinking of using bohem gc for smop 20:15
ruoso bohem?
moritz_ boehm
pmurias yes
en.wikipedia.org/wiki/Boehm_garbage_collector 20:16
20:16 [Coke] left
ruoso pmurias, how would it interoperate with p5? 20:17
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...
pmurias, since the proxy object is just a temporary measure 20:20
20:25 zamolxes_ joined, zamolxes_ left, mzedeler joined
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 ;)
pmurias, you could also add an extra element on the SV* head
and remove the proxy object entirely
that's half of the work to have the P5-SMOP integration 20:29
ok... probably a bit less than the half
pmurias ruoso: perl5 depends on deterministic destruction so using a tracing gc with it might break some things 20:31
ruoso pmurias, the major purpose of SMOP today is providing full p5 integration in the future 20:32
i.e. making perl 5.12 support Perl 6
__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...
__ash__, not yet... I think...
nor does it "use CGI:from<perl5>"
cxreg was ponie discarded as technically infeasable, or just for lack of a willing owner?
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
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
__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:36
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
ruoso __ash__, thing is doing perl5 in parrot and not supporting XS is quite pointless 20:38
__ash__ XS?
ruoso p5 XS
eXtenSions
__ash__ ah, got ya
ruoso cxreg, www.perlfoundation.org/perl6/index.cgi?smopp5 20:39
cxreg, that's my plan on how to get SMOP and P5 working together
ruoso decommute & 20:41
20:41 ruoso left
cxreg so wait, python has both pynie and pirate? 20:41
pirate looks deceased, though 20:42
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 20:57 szabgab joined
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
maybe we can forget ponie and just write a perl 5 compiler in straight perl 6 21:03
moritz_ coughs loudly
look at toke.c
look again
shudder with fear
cxreg :)
is that file a noun or a verb? 21:04
moritz_ "nightmare" is a noung
cxreg i thought it was instructional. "before reading, toke" 21:05
21:06 donaldh_ joined
moritz_ I don't think that's sufficieent 21:06
PerlJam cxreg: perhaps it's prescriptive.
21:09 pmurias left, pmurias_ left
jjore If the intuit_* methods libintuit or such and could be re-used without rewriting... 21:10
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.
s/wonder/wonder what/
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:14
moritz_ timbunce: please open a ticket 21:15
KyleHa1 rakudo: say (sub (&x) { &x() }).(&rand) 21:17
p6eval rakudo af3efa: OUTPUT«0.764879713141458␤»
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)␤»
moritz_ rakudo: say Code ~~ Callable
p6eval rakudo af3efa: OUTPUT«1␤»
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)␤»
timbunce Is there a rakudobug script for opening tickets (like perlbug for perl5)
moritz_ timbunce: no 21:20
KyleHa1 You can send email to [email@hidden.address]
timbunce moritz_: is that a bug? ;)
moritz_ timbunce: ;-) maybe
colomon_ surely it is NYI? ;) 21:21
moritz_ timbunce: btw it seems that Data::Dumper::Simple is only used for debugging, so I could easily remove it 21:23
21:23 fridim_ left
timbunce moritz_: feel free! thanks 21:24
moritz_ (is there a dbdi IRC channel somewhere?)
timbunce no, not yet. Any preference for freenode vs irc.perl.org? 21:25
moritz_ I'm on both either way
PerlJam prefers freenode but what moritz_ said 21:26
timbunce PerlJam: why? (I'm clueless re irc)
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 molaf left
timbunce moritz_: do'h! just a sec... 21:27
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
moritz_: feel free to send nytprof patches anyway ;)
moritz_ timbunce: nice try ;-)
timbunce moritz_: well you're an admin on java2perl6 now. 21:31
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
timbunce great. gimme an email associated with a google.com account and you're in. 21:33
PerlJam [email@hidden.address]
moritz_ timbunce, PerlJam: ok, #dbdi on freenode it is 21:34
I registered the channel, no further formalities required
timbunce moritz_: excellent, thanks. 21:35
21:35 eternaleye left 21:36 ilbot2 left, ilbot2 joined 21:38 braceta left 21:39 joe____ joined 21:40 joe____ left 21:41 donaldh_ left 21:42 eternaleye joined 21:45 java2perl6_svn joined, java2perl6_svn left
pugs_svn r27953 | kyle++ | [t/spec] Test for RT #68234 21:52
r27954 | kyle++ | [t/spec] Test for RT #68116
21:56 Patterner left 22:02 donaldh_ joined
mzedeler timbunce: how far are you with DBI? 22:02
...for perl6, that is.
timbunce mzedeler: not very, but there is life! Join #dbdi 22:04
Anything wrong with: class j2 { multi method add( j1 $v1) { ... } }; 22:06
22:07 Whiteknight joined
moritz_ timbunce: not if j1 is pre-declared as a type 22:07
TimToady std: };
p6eval std 27954: OUTPUT«===SORRY!===␤Confused at /tmp/xKvSlI3eBO line 1:␤------> }⏏;␤FAILED 00:02 36m␤»
moritz_ std: class j1 { }; class j2 { multi method add( j1 $v1) { } };
TimToady std: class j2 { multi method add( j1 $v1) { ... } };
p6eval std 27954: OUTPUT«ok 00:03 40m␤»
std 27954: OUTPUT«===SORRY!===␤Malformed block at /tmp/7o3YENYtZ9 line 1:␤------> class j2 { multi method add( ⏏j1 $v1) { ... } };␤ expecting any of:␤ parameter␤ signature␤ type_constraint␤ typename␤FAILED 00:03 41m␤»
timbunce moritz_: which is where the recursive-use problem I'm having comes in. ok. 22:08
TimToady Malformed block?!?
moritz_ TimToady: seems like STD.pm needs a test suite that checks error types... ;-) 22:09
22:10 Limbic_Region joined
TimToady I think the ** '|' of multisig is masking the signature error somehow 22:12
22:13 KyleHa1 left 22:14 ruoso joined 22:15 donaldh_ left 22:21 zamolxes left
ruoso TimToady, btw... we're trying to avoid it, but more and more, we're starting to depend on the S11 decision... 22:27
22:28 elmex left 22:30 elmex joined
mzedeler Question: how do I return two arrays in perl 6? In other words, return [@a], [@b] translated to perl 6 parlance? 22:32
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]
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
r27955 | lwall++ | [STD] disallow sub() {}
r27955 | lwall++ | [STD] improve nofun to check for absence of ' - \w
r27955 | lwall++ | [viv] more -5 updates to emit nested grammars correctly
r27955 | lwall++ | [Cursor] remove unused indent function
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()
(in theory, doubt it works in rakudo) 22:37
mzedeler The := in stead of = does the trick?
TimToady yes, binds the returned Capture to a Signature
so same process as when you call foo(@a,@b) and bind to two parameters 22:38
mzedeler Thanks! I'll try it out.
TimToady as I say, rakudo may hiccup on that
mzedeler ...just the opposite way. Sounds like a nice feature.
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)␤»
mzedeler Got the same here.
So I could bypass it using square brackets? (return [@a], [@b])?
ruoso mzedeler, that would prevent the flattening at all 22:40
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:41
mzedeler I get a kind of perl5 behaviour... 22:45
perl6: sub t { my @a = 1, 2; my @b = 3, 4; [@a], [@b]}; my(@x, @y); (@x, @y) = t(); say "x: {@x} y: {@y}
p6eval rakudo af3efa: OUTPUT«say requires an argument at line 2, near " \"x: {@x} "␤in Main (src/gen_setting.pm:2473)␤»
..pugs: OUTPUT«*** ␤ Unexpected end of input␤ expecting block, "\\", variable name or "\""␤ at /tmp/6mD31gbxb3 line 2, column 1␤»
..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
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}"
p6eval ..`__…
rakudo af3efa: OUTPUT«x: 1 2 3 4 y: ␤»
..elf 27955: OUTPUT«x: {@x} y: {@y}␤»
..pugs: OUTPUT«x: 1 2 y: 3 4␤»
mzedeler Sorry. There it was.
I am using rakudo, but it seems that pugs got it right. 22:46
ruoso yeah... rakudo is doing something wrong...
it wasn't supposed to flatten
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?
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)␤»
..pugs: OUTPUT«x: 1 2 y: 3 4␤»
..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 timbunce left, nihiliad left
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␤»
..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␤»
TimToady there, rakudo can do that 22:49
cognominal: probably
cognominal ok 22:50
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
mzedeler Thanks, Tim.
TimToady I'm not a Tim, just a Tim Toady
cono :D
cognominal apparently, some think you’re a Tim Today 22:53
"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?
cognominal oops, soory, wrong channel :( 22:59
alester 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
alester and your response to that is? 23:01
__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:02
mzedeler alester: (Andy Lester?) What needs to be done+ 23:03
?
alester add more whining you've heard, and your response
Perl 6 threads get old quickly. 23:04
TimToady you should rename it "Complaints Raised About Perl 6" for a more appropriate acronym
alester hahahah
__ash__ most of those complaints come from a python programmer, so take that with a grain of salt
alester beautiful
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
alester I'm trying to find TimToady 's statements about Perl 6 early on. 23:07
For now, I handle the "missed the boat" gripe with
Perl 6 is not, and never has been, about capturing market share,
or fitting a given niche, or becoming the pre-eminent tool of choice
for a given problem area.
TimToady it's CRAP logic: any utterance in Perl 5 can be translated into more readable Perl 6, therefore Perl 6 is less readable :)
mzedeler ...or people will use the new, all-powerful language to reinvent their square wheels anyway :-) 23:08
My best bet is that one out of six questions at perlmonks is a square wheel reinvention request.
23:09 SmokeMachine left
TimToady std: class j2 { multi method add( j1 $v1) { ... } }; 23:09
p6eval std 27955: OUTPUT«===SORRY!===␤Invalid typename j1 at /tmp/fyrjbvQ8Z4 line 1:␤------> class j2 { multi method add( j1⏏ $v1) { ... } };␤FAILED 00:03 41m␤»
TimToady that's more like it 23:10
23:10 __ash__ left
alester TimToady: Is my assessment re: market share a fair assessment? 23:10
TimToady Perl 6 isn't about missing boats, but about inventing airplanes. 23:11
alester Nice.
cognominal if market share is measured in LOCs, TimToady works hard to be a loser. :)
alester Oh, I forgot my favorite! It's taken too long.
TimToady yeah, 22 years so far, and counting :) 23:12
23:18 alester left 23:20 donaldh left, ihrd joined, donaldh joined 23:28 payload joined 23:33 dalek left, dalek joined, mzedeler left 23:38 M_o_C left 23:42 cdarroch left 23:43 tann joined
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)␤»
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