»ö« | perl6.org/ | nopaste: paste.lisp.org/new/perl6 | evalbot usage: 'perl6: say 3;' or rakudo: / pugs: / std: , or /msg p6eval perl6: ... | irclog: irc.pugscode.org/ | UTF-8 is our friend!
Set by diakopter on 25 January 2010.
00:00 PacoLinux left 00:05 cognominal joined
lichtkind gud night 00:07
00:08 lichtkind left
m-locks all tests passed, Files=240, Tests=26045, 1258 wallclock secs (1027.91 cusr + 89.79 csys = 1117.70 CPU) 00:09
00:09 jaldhar left
m-locks now it's time to go ot bed ;P 00:09
00:14 ihrd joined, ihrd left 00:16 xomas is now known as xomas_, xomas_ is now known as xomas 00:25 jaldhar joined
pugssvn r29908 | bkeeler++ | New test for proto tokens 00:29
00:33 alester left 00:37 lestrrat is now known as lest_away 00:38 SandroToronto left 00:39 jaldhar left 00:43 yinyin joined 00:47 ash_ left
bkeeler_ takes a nap while the trig tests run... 00:47
colomon bkeeler_: sorry.... 00:49
bkeeler_ Oooh, a beep! I'm awake now
00:55 snarkyboojum joined 00:58 nihiliad joined
colomon doubly sorry then, I should have let you sleep. 00:59
01:00 jaldhar joined
jnthn lol I haz mberends++ here :-) 01:11
01:11 lest_away is now known as lestrrat
supernovus Well, still on January Rakudo, but pre-compiling the Perl 6 to PIR decreases CGI time from 13.6 seconds to 2.5 seconds, and SCGI time from 2.75 seconds to 403ms. 01:13
arlinius rakudo: my $x; say Nil.defined, ().defined, Any.defined, Mu.defined, Cool.defined, $x.defined, [].defined, {}.defined, \().defined 01:16
p6eval rakudo 5e5969: OUTPUT«Could not find non-existent sub &Cool␤current instr.: '_block14' pc 29 (EVAL_1:0)␤»
01:16 mssm left
arlinius rakudo: my $x; say Nil.defined, ().defined, Any.defined, Mu.defined, $x.defined, [].defined, {}.defined, \().defined 01:16
p6eval rakudo 5e5969: OUTPUT«00000111␤»
arlinius bug, I think 01:17
at least, it disagrees with the spec
and the spec test does too
S02 says Nil.defined and ().defined return True 01:18
alpha: my $x; say Nil.defined, ().defined, Any.defined, Mu.defined, $x.defined, [].defined, {}.defined, \().defined 01:20
p6eval alpha 30e0ed: ( no output )
arlinius odd
pugs: my $x; say Nil.defined, ().defined, Any.defined, Mu.defined, $x.defined, [].defined, {}.defined, \().defined
p6eval pugs: OUTPUT«*** ␤ Unexpected "."␤ expecting operator␤ at /tmp/ojgtkJAtks line 1, column 101␤»
arlinius alpha: say Nil.defined
p6eval alpha 30e0ed: OUTPUT«0␤»
arlinius alpha: say ().defined
p6eval alpha 30e0ed: OUTPUT«0␤»
arlinius pugs: say ().defined
p6eval pugs: OUTPUT«1␤»
arlinius pugs: say Nil.defined
p6eval pugs: OUTPUT«*** No such subroutine: "&Nil"␤ at /tmp/PpmgE7SXHt line 1, column 5 - line 2, column 1␤»
colomon jnthn: oh no, has The Gathering started already?
arlinius pus gets it right for ()! 01:21
s/s/gs/ 01:22
dalek ok: 8b0befd | (Jeff Balogh)++ | django_extensions/management/commands/ (4 files):
Django removed ERROR_OUTPUT in [12009]; ERROR does the same thing
01:23
01:23 dalek left
diakopter sigh 01:23
dalek ok: d365759 | fperrad++ | setup.pir:
manifest: add missing lua_private.h
grok: 857f04d | fperrad++ | setup.pir:
grok: add doc_files field
diakopter o_O 01:24
01:24 dalek joined
dalek november: faf8ff7 | tav++ | doc/zero-planfile.txt: 01:24
01:24 dalek left
diakopter sigh 01:24
01:25 dalek joined
arlinius sigh? 01:26
diakopter dalek flapping
arlinius ah
flood heh 01:27
TimToady Infinoid: dalek seems to be misbehaving again 01:30
01:30 TimToady sets mode: +vv buubot dalek, TimToady sets mode: +vv ilogger2 IRSeekBot, TimToady sets mode: +vvv lisppaste3 p6eval phenny
mikehh_ went away for a bit, back again, we'll see 01:31
01:36 lisppaste3 left
lue hello! 01:40
(oh noes not the dalek again :/)
01:43 ash_ joined 01:47 lisppaste3 joined, snarkyboojum left, mikehh_ is now known as mikehh
lue o great. I'm here when noone else is :( 01:48
arlinius nah
we're here when noone else is :P
mikehh just hidin'
pugssvn r29909 | lwall++ | [STD] move unexpected-!! panic from infixstoppers to infix:<!!> 01:49
r29909 | so a user's infix definition isn't ignored if it starts with !!
colomon is intermittently here and very very tired. 01:50
lue this place was hopping ~ 20 minutes ago. Then I come back on :/ 01:51
TimToady "children and art" -- Stephen Sondheim 01:52
lue must get a laptop battery so he can cart it (the laptop) around in the middle of the day
TimToady colomon has both
lue a DECENT laptop battery
colomon well, a child and some pretensions at (musical and perhaps programming) art, anyway. 01:53
TimToady I spent much of the weekend dismantling, rinsing in distilled water, and remantling an old laptop in the vain hope that cat pee wouldn't destroy the motherboard.
colomon long time since I thought of that song.
TimToady unfortunately, it got turned on before I got to it, so things had shorted out on the motherboard 01:54
01:54 airbase left
TimToady fortunately an old laptop... 01:54
colomon doh!
still, a sad fate for a noble machine.
TimToady yes, well, our fault for leaving it somewhere that looked like a catbox to the stupid cat, I suppose...
but I now know how to completely disassemble an old ThinkPad :) 01:55
not to mention reassemble it, with only one screw left over!!!
lue that's not good necessarily... 01:56
I would prefer to use one more screw than it originally came with :)
TimToady well, I always have a screw loose in any case...
colomon so wait: I have "children and art", and you were "putting it together", eh? 01:57
TimToady well, motherboard don't generally like to have self-threading screws run through 'em in random spots... 01:58
lue the motherboard could care less. It's the components soldered TO the motherboard that mind.
01:59 hudnix joined, airbase joined
TimToady colomon: yeah, it's "No Life" 02:00
colomon TimToady: geez, I had to look that one up in my iTunes. 02:02
TimToady I just found that one on the Wikipedia
let's not start Into the Woods though 02:03
colomon That makes me feel better.
TimToady Or we won't get home before dark...
colomon I don't know Into the Woods at all. My Sondheim knowledge is mostly Sunday in the Park and Sweeny Tood.
with small bits of Company thrown in.
TimToady ItW is one of the best 02:04
colomon (the latter is my wife's influence)
02:05 hudnix left
lue Is there something in rakudo that needs working on? (I want to put off the jnthn omnisub until a full-featured stable P6 implementation exists...) 02:05
TimToady maybe you could put Sondheim quotes into every file?
"Good is better than nice." -- Little Red 02:06
02:06 hudnix joined
lue how does that help, besides amusing reading? I may as well put Monty Python quotes in all the PIR files :) 02:07
02:08 hercynium joined
TimToady Amusing reading is the bedrock of a healthy culture. :) 02:09
colomon "But not for long." -- S. Todd
TimToady "Red, red, red, red, red..." --George & Dot 02:10
colomon is mildly disturbed that that is the first Sondheim quote which pops into his mind.
lue so... permission to instill "fun"?
TimToady that usually requires forgiveness instead 02:11
arlinius in other words, do it, quick
TimToady has to be an appropriate line from Assassins, but I haven't seen it... 02:12
lue Chase him, Exegesis Man! I will cut him off with the ApocolypseMobile!
colomon I'm also finding it hard to think of Sondheim lyrics while listening to the Dardanelle's "Uncle Manual Milks the Cow" set. :) 02:13
02:14 meppl left
Tene lue: have the file test operators been added back into master from the alpha branch? 02:15
colomon nope. 02:16
Tene rakudo: say '/etc/passwd' ~~ :f
p6eval rakudo 5e5969: OUTPUT«Method 'f' not found for invocant of class 'Perl6Str'␤current instr.: 'perl6;Enum;ACCEPTS' pc 352177 (src/gen/core.pir:49834)␤»
Tene lue: that should be a fairly simple project.
arlinius alpha: say '/etc/passwd' ~~ :f
p6eval alpha 30e0ed: OUTPUT«1␤»
lue file test...? (I prefer the humourification project better :D )
TimToady seems like one could compare the passing tests from alpha and master to see what used to work
Tene that would be a good project too. 02:17
lue: the equivalent of -e, -f, -d, -x, -r, -w, etc from Perl 5.
TimToady I think you'll find that Python quotes will require much more forgiveness than Sondheim
lue Tene: don't talk to me in foreign languages I haven't studied! :) 02:18
TimToady which foreign languages have you studied?
lue TimToady: *jarring chord* NOBODY expects the spanish inquisiton!
Tene lue: it's inherited from shell scripting, the 'test' command has arguments to determine the properties of filesystem locations. 02:19
TimToady 日本語を話しますか?
Tene -e is "does this path exist", -f is "does this path exist and is it a file", -w is "does this exist and is it writable?", etc.
colomon On the test thing (alpha versus rakudo), I've just been going through Rakudo's t/spectest.data file looking at the tests which are commented out. When I see one that looks "likely" to me, I just try it individually in master and see what happens.
lue Let's see: English, German (forgot most), French (learning), Esperanto (learning), Japanese (want to learn) [more]
Tene in Perl 6, the syntax has been changed to use pairs instead of subs named with a dash at the start. 02:20
02:20 hudnix left
lue [more] BASIC, C++ (a little), Python 3, HTML, JS, CSS, and P6 (learning) 02:20
oh, and some of 6502 assembler :) 02:21
02:21 hudnix joined
Tene lue: blog.endpoint.com/2009/08/file-test...shell.html has a table listing translation of file tests between perl and python, among others. 02:22
lue Tene: will look
02:22 wknight8111 left
Tene given $filename { when :f { say "It's a file!" }; when :d { say "It's a directory!" } } 02:23
colomon It's amazing how many test files "almost" work now, and work with a little fudge or a tiny patch.
Tene when :r & :w { say "Readable and writable!" }
lue wait, you can PATCH perl 6? Huh. (I've been running out of fingers lately...)
TimToady it's already doing the translation from :f to *.f so all that you need really is to define .f etc. on string types, or whatever type we end up with for filenames 02:24
Tene lue: Yeah.
02:24 hudnix left
Tene You could do a lot worse than defining a role and then adding that role to the string class. 02:25
lue ACHTUNG! hudnix has exceeded my patience in terms of # of times /join ing and /leave ing. That is all
TimToady rakudo: augment Str { method f { say "GOT HERE" } }; '/etc/passwd' ~~ :f
p6eval rakudo 5e5969: OUTPUT«In "augment" declaration, typename Str must be predeclared (or marked as declarative with :: prefix) at line 11, near " { method "␤current instr.: 'perl6;HLL;Grammar;panic' pc 500 (ext/nqp-rx/src/stage0/HLL-s0.pir:328)␤»
TimToady o_O 02:26
Tene lue: just ignore JOINs and PARTS in your client.
That's what I do.
arlinius or just ignore them in your head
Tene interferes with excessive backlogging
arlinius hiding it leaves out some important context for some conversations 02:27
colomon rakudo: augment class Str { method f { say "GOT HERE" } }; '/etc/passwd' ~~ :f
p6eval rakudo 5e5969: OUTPUT«Method 'f' not found for invocant of class 'Perl6Str'␤current instr.: 'perl6;Enum;ACCEPTS' pc 352177 (src/gen/core.pir:49834)␤»
lue and it tells you who is probably a roaming bot :)
02:27 daemon left 02:28 hudnix joined
TimToady rakudo: say '/etc/passwd'.WHAT 02:28
p6eval rakudo 5e5969: OUTPUT«Str()␤»
colomon rakudo: say PARROT('/etc/passwd') 02:29
p6eval rakudo 5e5969: OUTPUT«Perl6Str␤»
lue TimToady: allow me to detour your attention for a moment.
colomon evil!
lue rakudo: say '/etc/passwd'.WHO
p6eval rakudo 5e5969: OUTPUT«Str␤»
arlinius rakduo: say '/etc/password.WHY
ugh
lue give me a reason why WHO is counterintuitive (and therefore redundant)
arlinius rakduo: say '/etc/password'.WHY
rakudo: say '/etc/password'.WHY 02:30
p6eval rakudo 5e5969: OUTPUT«Method 'WHY' not found for invocant of class 'Perl6Str'␤current instr.: '_block14' pc 29 (EVAL_1:0)␤»
lue WHO, WHAT, and WHERE are the only ones implemented :)
(and WHO is a counterintuitive reiteration of WHAT)
I'll start working on stuff when I'm back from doing stuff. 02:31
arlinius rakudo: say '/etc/password'.WHERE
p6eval rakudo 5e5969: OUTPUT«47578612508784␤»
arlinius but WHY is the most important 02:32
TimToady rakudo: say '/etc/passwd'.WHICH
p6eval rakudo 5e5969: OUTPUT«/etc/passwd␤»
arlinius rakudo: say '/etc/password'.HOW
p6eval rakudo 5e5969: ( no output )
TimToady rakudo: say 'foo'.HOW('foo') 02:33
p6eval rakudo 5e5969: OUTPUT«too many positional arguments: 2 passed, 1 expected␤current instr.: 'parrot;P6object;HOW' pc 54 (runtime/parrot/library/P6object.pir:98)␤»
TimToady rakudo: say 'foo'.'HOW'('foo')
p6eval rakudo 5e5969: OUTPUT«too many positional arguments: 2 passed, 1 expected␤current instr.: 'parrot;P6object;HOW' pc 54 (runtime/parrot/library/P6object.pir:98)␤»
TimToady rakudo: say 'foo'.HOW.WAHT
p6eval rakudo 5e5969: OUTPUT«Method 'WAHT' not found for invocant of class 'ClassHOW'␤current instr.: '_block14' pc 29 (EVAL_1:0)␤»
TimToady rakudo: say 'foo'.HOW.WHAT
p6eval rakudo 5e5969: OUTPUT«Str()␤»
TimToady o_O
arlinius ah, right 02:34
rakudo: say Nil.WHAT 02:35
p6eval rakudo 5e5969: OUTPUT«Parcel()␤»
arlinius rakudo: say ().WHAT
p6eval rakudo 5e5969: OUTPUT«Parcel()␤»
TimToady rakudo: say 'foo'.WHAT.WHICH
p6eval rakudo 5e5969: OUTPUT«47943198851984␤»
TimToady rakudo: say 'foo'.HOW.WHICH 02:36
p6eval rakudo 5e5969: OUTPUT«47335069823888␤»
arlinius you see the bit about Nil earlier?
rakudo: say Nil.defined
p6eval rakudo 5e5969: OUTPUT«0␤»
TimToady we changed it to defined a few days ago, and rakudo hasn't caught up with pugs :)
arlinius so it should be true?
TimToady yes
arlinius ok
TimToady S02:2035 02:37
arlinius yeah
any chance I could get access to fix the spec test in S02-builtin_data_types/undefined-types.t?
TimToady you don't have a pugs repo commit bit? 02:38
arlinius nope
TimToady if you /msg me your email and preferred svn nick, I can send you a commitbit
02:38 hudnix left
arlinius ok 02:38
TimToady commitbit sent 02:40
arlinius thanks
02:40 hudnix joined
TimToady it's customary to add yourself to AUTHORS as a first test commit 02:40
02:41 Chillance left
arlinius before I'm an actual author, eh :) got it 02:41
TimToady as soon as you modify AUTHORS, you are one. :)
arlinius in a very small way, I suppose :) 02:42
TimToady we have a very low opinion of authority around here...
02:43 cognominal left 02:44 supernovus left 02:56 ShaneC left
arlinius silly mail forwarder must be clogged or something 03:03
03:07 cognominal joined
ash_ so, i noticed === uses .WHICH, but i don't see many (any) tests on it... or maybe i am not looking in the right place... anyone have any pointers? 03:21
03:21 agentzh joined
TimToady WHICH tests? 03:22
WHICH is pretty basic--any value returns itself, and any object returns its WHERE
(any non-value object, more acccurately) 03:23
lue hellos again! 03:26
03:26 snarkyboojum joined
lue rakudo: my $a="hi"; say $a.WHICH 03:26
p6eval rakudo 5e5969: OUTPUT«hi␤»
lue rakudo: my $a="hi"; say $a.HOW
p6eval rakudo 5e5969: ( no output )
lue I think WHO should return the variable name. Especially if you use it on a reference (ex:) 03:28
my $a=3; my $b :=3; say $b.WHO #I want it to return either $a or a
03:29 quietfanatic joined 03:31 dalek left, dalek joined
lue o hai dalek! o/ 03:32
ash_ my thoughts on which were for custom objects with not default ways of comparing
Infinoid TimToady: Thanks for the heads up, we'll see if this fixes it 03:33
ash_ like, take an object that represents a lazy database table. If you compared two objects based off their attributes like === seems to imply, then it seems like normal === might not work correctly if certain attributes have been lazily loaded 03:35
i guess WHICH gives you the that sort of control though 03:36
lue rakudo: say "hello".REASON 03:37
p6eval rakudo 5e5969: OUTPUT«Method 'REASON' not found for invocant of class 'Perl6Str'␤current instr.: '_block14' pc 29 (EVAL_1:0)␤»
TimToady the definition of === does WHICH on both, and then eqv of the resulting values
a class should not be overriding it
it should only override eqv 03:38
ash_ overriding WHICH?
TimToady WHICH always returns a value
either the value itself, or the address of the object
in either case eqv will work on the resulting values
redefining WHICH changes what kind of value type you have 03:39
and eqv will default to !cmp
ash_ so... you should be redefining eqv then? 03:40
for an object?
TimToady === only uses eqv on value types 03:41
non value types it's just comparing address values
so it doesn't matter if a non-value type defines eqv or not
(from ==='s perspective) 03:42
lue is that file test project still up for grabs? (Assuming no sneaky time-travelers came in while I was gone)
lue hates ==='s perspective, and asks it to please raise the blinds
ash_ well, how would i define how two objects get compared? do i need to add a new multi infix:<eqv> ( ) for my object type? 03:43
TimToady if you want cmp and eqv to work on a type, you have to define at least cmp 03:44
cmp/eqv are "snapshot" semantics, compare the current values
since objects can change, unlike values
ash_ so, a method cmp(other) { return Order::Increase or Order::Decrease or Order::Same } ?
TimToady well, there's probably a default for cmp too if there's any kind of serializer 03:45
just serialize the two objects and then compare those serializations
but most types will want to define their own cmp for effficiency 03:46
like, a string should have to serialize itself to compare first chars, etc. 03:47
*shoudn't
03:47 wmiksss joined
ash_ well, going back to my example of a database row type object, what if I only wanted to compare two objects on a single variable, like the row ID, whatever that may be, i'd have to implement an eqv/cmp method then? or a serialize method? or... sorry, i guess i work best from examples, is there an example i should go look at in the spec? 03:49
TimToady composite items should delegate to the cmp of their parts in the pecking order desired 03:50
lue imagines file test to be a potential nightmare O.o (but it shouldn't be _that_ bad... right?)
ash_ but, would i be overriding a multi infix:<eqv> ? or a meta method of some sort? 03:51
TimToady just defines a more specific eqv, multi dispatch should find it 03:52
ash_ would i have to define it multiple times though? for infix:<eqv> (Any $a, MyObj $b), infix:<eqv> (MyObj $a, Any $b); infix:<eqv>(MyObj $a, MyObj $b) 03:53
03:55 wmiksss left
TimToady just do the same type for now; out-of-type comparisions are not yet specced 03:55
ash_ i guess, it seems like i am searching for something like a comparable role, that if you implement it, your object is comparable for a given definition of comparable, and by a similar notion, a role of sortable might be useful too 03:56
lue question: if file tests have been implemented *at all*, where would they be?
ash_ S32-IO i think 03:57
03:57 wmiksss joined
ash_ or S16 which is also on IO 03:57
lue so, that means no-one's programmed it? *sigh* 03:58
snarkyboojum seems like S16-filehandles/filetest.t
lue Even 1 bit of programming would be nice (1 byte would be wonderful :D ) 03:59
ash_ i am sure someones programmed it somewhere, if its implemented in rakudo/pugs/elf/mildew/etc... i cannot say, i haven't tried those features yet
TimToady alpha has it already 04:00
alpha: say '/etc/passwd' ~~ :r
p6eval alpha 30e0ed: OUTPUT«Method ':r' not found for invocant of class 'Str'␤in Main (file src/gen_setting.pm, line 324)␤»
TimToady er, used to have it...
alpha: say '/etc/passwd'.r 04:01
p6eval alpha 30e0ed: OUTPUT«Method 'r' not found for invocant of class 'Str'␤in Main (file src/gen_setting.pm, line 324)␤»
TimToady alpha: say qp{/etc/passwd} ~~ :r
p6eval alpha 30e0ed: OUTPUT«Confused at line 10, near "{/etc/pass"␤in Main (file <unknown>, line <unknown>)␤»
ash_ alpha: say '/etc/passwd' ~~ :e 04:02
p6eval alpha 30e0ed: OUTPUT«1␤»
ash_ some of them seem to work
:e is exists 04:03
snarkyboojum alpha: say '/etc/passwd' ~~ :f
p6eval alpha 30e0ed: OUTPUT«1␤»
snarkyboojum alpha: say '/etc/passwd' ~~ :d
p6eval alpha 30e0ed: OUTPUT«0␤»
lue ah, well, if it's mildew, I might as well start over :)
TimToady alpha is not mildew 04:04
ash_ alpha is the old master of rakudo
TimToady alpha is parrot-based
so probably has the primitives you want somewhere
lue TimToady: see ash_ 's comment above
snarkyboojum rakudo: say '/etc/passwd' ~~ :f 04:05
p6eval rakudo 5e5969: OUTPUT«Method 'f' not found for invocant of class 'Perl6Str'␤current instr.: 'perl6;Enum;ACCEPTS' pc 352177 (src/gen/core.pir:49834)␤»
TimToady lue: which one? none of them are surprising to me... 04:06
lue the one involving mildew. That's what I was referring to :)
TimToady there's nothing inconsistent between what ash_ said and what I said 04:07
lue I'm only concerned about how to test the files w/o file tests. The rest (ought to) be easy.
TimToady: then I am misunderstanding everybody. 04:08
ash_ to test files you generally need to call stat on the file, that should tell you about the file, but thats an operating specific function in most languages 04:09
lue
.oO(maybe someday you can program file test functions by using file tests (part of the self-compiling thing))
04:10
rakudo: say stat('/etc/passwd')
p6eval rakudo 5e5969: OUTPUT«Could not find non-existent sub &stat␤current instr.: '_block14' pc 29 (EVAL_1:0)␤»
lue o great. I has to program stat too? :(
TimToady not if parrot already supplies it 04:11
look at how alpha (old master) does it
lue that's what I looking for. I think PIR is a better first step than P6 for brand-new programming (especially when the space between steps nothing and P6 is 7pc high :D ) 04:12
ash_ github.com/rakudo/rakudo/blob/alpha...r.pir#L106 04:15
is the old implmentation of :e
implementation*
04:15 alester joined
ash_ they use the stat built into parrot to check if a given file string exists 04:15
you'd have to check parrots documentation for stat 04:16
TimToady rakudo: say pir:stat('/etc/passwd',0) 04:17
p6eval rakudo 5e5969: OUTPUT«Could not find non-existent sub &pir:stat('/etc/passwd',0)␤current instr.: '_block14' pc 29 (EVAL_1:0)␤»
ash_ i think its 2 ::
lue did you mean pir:: ?
TimToady rakudo: say pir::stat('/etc/passwd',0)
p6eval rakudo 5e5969: OUTPUT«The opcode 'stat_p_p' (stat<2>) was not found. Check the type and number of the arguments␤current instr.: 'perl6;PCT;HLLCompiler;evalpmc' pc 972 (compilers/pct/src/PCT/HLLCompiler.pir:538)␤»
TimToady 0 isn't a parrot int, I guess 04:18
rakudo: say pir::stat('/etc/passwd')
p6eval rakudo 5e5969: OUTPUT«The opcode 'stat_p' (stat<1>) was not found. Check the type and number of the arguments␤current instr.: 'perl6;PCT;HLLCompiler;evalpmc' pc 972 (compilers/pct/src/PCT/HLLCompiler.pir:538)␤»
TimToady is not a pir expert... 04:19
lue just be glad I didn't decided to program it in pasm :D
ash_ is stat an opcode or a method? it looks like they are using it like an opcode so it might be invoked differently
lue s/decided/decide/
arlinius stat is an opcode
but it's not defined for PMCs
which is apparently all rakudo is willing to pass to it
lue point is, I have found some good code, and I shall 'steal it' thank you >:) 04:20
pugssvn r29910 | plunix++ | AUTHORed a one-liner. 04:21
TimToady arlinius++
arlinius hi
lue rakudo: say (pir::stat('/etc/passwd') 04:23
p6eval rakudo 5e5969: OUTPUT«Confused at line 11, near "say (pir::"␤current instr.: 'perl6;HLL;Grammar;panic' pc 500 (ext/nqp-rx/src/stage0/HLL-s0.pir:328)␤»
lue rakudo: say (pir::stat('/etc/passwd'))
p6eval rakudo 5e5969: OUTPUT«The opcode 'stat_p' (stat<1>) was not found. Check the type and number of the arguments␤current instr.: 'perl6;PCT;HLLCompiler;evalpmc' pc 972 (compilers/pct/src/PCT/HLLCompiler.pir:538)␤»
lue rakudo: say (pir::stat('/etc/passwd'),0) 04:24
p6eval rakudo 5e5969: OUTPUT«The opcode 'stat_p' (stat<1>) was not found. Check the type and number of the arguments␤current instr.: 'perl6;PCT;HLLCompiler;evalpmc' pc 972 (compilers/pct/src/PCT/HLLCompiler.pir:538)␤»
lue rakudo: my $filename="/etc/passwd"; my $in=0; say pir::stat($filename,$in);
p6eval rakudo 5e5969: OUTPUT«The opcode 'stat_p_p' (stat<2>) was not found. Check the type and number of the arguments␤current instr.: 'perl6;PCT;HLLCompiler;evalpmc' pc 972 (compilers/pct/src/PCT/HLLCompiler.pir:538)␤»
lue rakudo: say pir::stat()
p6eval rakudo 5e5969: OUTPUT«The opcode 'stat' (stat<0>) was not found. Check the type and number of the arguments␤current instr.: 'perl6;PCT;HLLCompiler;evalpmc' pc 972 (compilers/pct/src/PCT/HLLCompiler.pir:538)␤»
lue rakudo: say (pir::stat('/etc/passwd'),'0') 04:25
p6eval rakudo 5e5969: OUTPUT«The opcode 'stat_p' (stat<1>) was not found. Check the type and number of the arguments␤current instr.: 'perl6;PCT;HLLCompiler;evalpmc' pc 972 (compilers/pct/src/PCT/HLLCompiler.pir:538)␤»
lue alpha: say '/dev/xyzzy'.:e
p6eval alpha 30e0ed: OUTPUT«Multiple Dispatch: No suitable candidate found for 'concatenate_str', with signature 'PSP->P'␤in Main (file <unknown>, line <unknown>)␤»
lue alpha: say '/dev/xyzzy' ~~ :e
p6eval alpha 30e0ed: OUTPUT«0␤»
pugssvn r29911 | plunix++ | Update test for Nil definedness: Nil is an empty list, but it is defined. 04:27
r29911 | Added test for ().defined.
arlinius woo 04:28
04:29 jaldhar left
ash_ so... comparison semantics generally depend on which side of the equation your on in practice, but in theory a Foo > Bar should have the same result as Bar < Foo 04:30
lue alpha: say pir::stat(0,'/etc/passwd',0) 04:31
p6eval alpha 30e0ed: OUTPUT«invoke() not implemented in class 'Undef'␤in Main (file <unknown>, line <unknown>)␤»
lue I got closer \o/
master: say pir::stat(0,'/etc/passwd',0)
ash_ lue, you might want to use Q:PIR { }
lue how doth I use that?
arlinius rakudo: Q:PIR { $I5 = stat '/etc/passwd', 0 }
ash_ one sec
p6eval rakudo 5e5969: ( no output )
ash_ arlinius++ beat me to it 04:32
inside { } you can put normal parrot code
lue \o/ just what I was hoping for
arlinius not sure how to return values to rakudo from it
ash_ %r = $I5
lue rakudo: Q:PIR { $I0 = stat '/etc/passwd', 0 ; say $I0 } 04:33
p6eval rakudo 5e5969: OUTPUT«error:imcc:syntax error, unexpected ';', expecting '\n' (';')␤ in file 'EVAL_1' line 64␤»
lue rakudo: Q:PIR { $I0 = stat '/etc/passwd', 0 \n say $I0 }
p6eval rakudo 5e5969: OUTPUT«error:imcc:syntax error, unexpected $undefined, expecting '\n' ('\')␤ in file 'EVAL_1' line 64␤»
ash_ you can't really use it in here
TimToady what's a hash doing in an integer?
lue rakudo: Q:PIR { say stat '/etc/passwd',0 } 04:34
p6eval rakudo 5e5969: OUTPUT«undefined identifier 'stat'␤␤current instr.: 'perl6;PCT;HLLCompiler;evalpmc' pc 972 (compilers/pct/src/PCT/HLLCompiler.pir:538)␤»
arlinius can't chain opcodes in pir
lue the sobbing never ends, it goes on and on and on and on
ash_ parrot code needs new lines to seperate op's which you can't write in IRC
arlinius rakudo: Q:PIR { $I5 = stat '/etc/passwd', 0␤say $I5 }
p6eval rakudo 5e5969: OUTPUT«1␤»
arlinius yes you can
snarkyboojum hehe
arlinius kind of
ash_ lol, well, you have a fancy unicode newline enabled input method 04:35
lue or great copy-n-paste ;)
arlinius no, I copy and paste from p6evals output :P
lue rakudo: Q:PIR { $I10 = stat '/etc/passwd',2␤say $I10 } 04:36
p6eval rakudo 5e5969: OUTPUT«0␤»
lue this file is not a directory.
rakudo: Q:PIR { $I10 = stat '/etc',2␤say $I10 }
p6eval rakudo 5e5969: OUTPUT«1␤»
ash_
␤ = alt + 2424 on my computer
lue .u ␤
phenny U+2424 SYMBOL FOR NEWLINE (␤)
ash_ on OS X with hex unicode keyboard mode enabled
lue is THAT what the mac hex keypad option in KDE does!? 04:37
TimToady ctrl+shift-u 2424 on gnome
lue QUICK! to the settings!
arlinius rakudo: say Q:PIR { $I5 = stat '/etc/passwd', 0␤%r = box $I5 }
p6eval rakudo 5e5969: OUTPUT«1␤»
arlinius ah
ash_ i haven't the foggiest on kde
arlinius++ you just implemented :e 04:38
no commit it to rakudo master somewhere :P
04:38 JimmyZ joined
arlinius can't :P 04:38
bkeeler Ewwww, gross, just took a sip of yesterday's beer by mistake
lue bkeeler! \o/
bkeeler Also, evening #perl6!
TimToady serves you right for leaving it sitting 04:39
bkeeler True true
Also (reading scrollback) 6502 assembly was the WORST EVAH!
I suggest you attempt to forget it 04:40
lue hey! I was working on an NES emulator...
arlinius 6502 asm is awesome
04:40 LifeIsPain left
arlinius I should implement Perl 6 in it 04:41
bkeeler No 16 bit registers. Trying to do pointer arithmetic was an exercise in masochism
lue some of you may find this sad that KDE supports more calendars than P6 :)
ash_ is there ever a time when $a > $b is not reversible by simply flipping the whole equation around, eg. $b < $a ?
bkeeler Now the Z80. There was a MAN's chip
arlinius hrm, no but you can use concurrent bytes in memory as 16 bit pointers
bkeeler My point is you shouldn't have to 04:42
ash_ if not... then don't you only ever have to make > ? and just translated < into an equivalent > ?
bkeeler The only possible value in a CPU that can't store an address in a register is leaving it upside down on the floor so your roommate steps on it and gets lots of little holes in his feet 04:43
arlinius ash_: is 0 < 0?
bkeeler *ahem*
not that I would ever have done such a thing
ash_ arlinius: isn't that the same as 0 > 0 ? 04:44
is what i am arguing
arlinius but is 0 > 0 equivalent to !(0 < 0)?
lue bkeeler: the Z80 is featured in several TI graphing calculators and the Gamebody (Advance, i think)
ash_ why i am arguing it, i am not sure, i am just kinda thinking if there is a way to make comparison semantics into some sort of ~~ like operation, kinda just thinking outloud 04:45
arlinius you mean like cmp?
ash_ yeah, like cmp
my issue with cmp is it seems restrictive if you have a custom type that uses some different way of comparing itself to things 04:46
arlinius as opposed to <?
ash_ just thinking about other languages, like in ruby if you implement the Comparable module (its a p6 role effectively) then you have to define <=> which you return -1 0 or 1, thus giving you = > < >= <= and between?(a, b) 04:47
err, that = needs to be == 04:48
the only issue i see with that is it matters what side of the equation your object is on
if its on one side of the equation it functions different than if its on the other
arlinius not if you do it right
ash_ a <=> b translates to a.<=>(b)
04:49 stephenlb left
ash_ but is there some way you can ensure that? ruby doesn't, so you have to be careful how you write your comparisons 04:50
arlinius that's why b should have a well-defined to-string, to-num, etc. method that a can use
ash_ so, should you attempt to cast before you compare? 04:51
lue is trying to find decent documentation on his keyboard options for once 04:52
arlinius not necessarily explicitly
PerlJam What's the latest wisdom on flattening? How do I get (1,2) to flatten? 04:53
arlinius rakudo: say ((1,2),3,5) 04:54
p6eval rakudo 5e5969: OUTPUT«1235␤»
ash_ rakudo: say ((1, 2), 3, 5).perl
p6eval rakudo 5e5969: OUTPUT«((1, 2), 3, 5)␤»
bkeeler rakudo: say map { $_, $_*2 }, 1..5
p6eval rakudo 5e5969: OUTPUT«22222␤»
ash_ rakudo: say @((1, 2), 3, 5) 04:55
p6eval rakudo 5e5969: OUTPUT«1235␤»
bkeeler That's my favorite example of parcel non-flattening
ash_ rakudo: say (@((1, 2), 3)).perl;
p6eval rakudo 5e5969: OUTPUT«List.new()␤»
lue does anyone know where the heck they define the options you can use for setxkbmap?
ash_ o.0 um... weird
arlinius options, lue? 04:56
ash_ pugs: say (@((1, 2), 3)).perl;
p6eval pugs: OUTPUT«[1, 2, 3]␤»
arlinius setxkbmap -help
rakudo: say [1,2,3].perl 04:57
p6eval rakudo 5e5969: OUTPUT«[1, 2, 3]␤»
arlinius rakudo: say [1,2,3].WHAT
p6eval rakudo 5e5969: OUTPUT«Array()␤»
lue setxkbmap -option [args here] I need the args
arlinius read the next lines?
you really just get one line with your setxkbmap -help? 04:58
lue I just want the args you can use and an explanation for them! (why are they soooo hard to find?)
I do get more with -help, but those are the args for setxkbmap. I need the ones for the -option command.
arlinius oh 04:59
ash_ rakudo: my @b = map { say $_[0], $_[1] } , map { $_, $_ * 2 }, 1..5; say @b;
p6eval rakudo 5e5969: OUTPUT«12␤24␤36␤48␤510␤11111␤»
arlinius you tried man?
ash_ bkeeler: i think that map you did was returning the correct things 05:00
arlinius not that it looks very helpful...
ash_ but it printed the parcel as its length, not its values...
bkeeler Sure, but the parcels are supposed to get flattened somewhere in the process of being passed to say
lue believe me, most of my search come up with zarking HTML-ified man pages
arlinius meaning it didn't flatten them
lue if it helped, I would have solved these problems 6 months ago :) 05:01
bkeeler There's parcel-flattening code in List.pir's get() method, but it's not being used
ash_ got ya, i guess i misunderstood what you were pointing out
arlinius oh you use kde, go to keyboard layout in kcontrol and there's some examples
lue kcontrol? hm... n'er heard of it.
arlinius guess you use the wrong kde :\
kde 4? 05:02
lue yes.
arlinius too bad they haven't gotten around to making that usable yet
pugssvn r29912 | bkeeler++ | New grammar test for rules with signatures
lue They don't do a good job explaining the options (why should they — they're xkb's options)
arlinius example: setxkbmap -option altwin:super_win,grp:rwin_switch,grp:ctrl_alt_toggle 05:03
lue options thru kde work, you just need to have a knowledge beforehand of what the options are :)
(trying to figure out what the hex keypad is right now)
arlinius yeah, it doesn't show you the setxkbmap command to run to set the options you chose at the bottom in kde 4? 05:04
lue it does, I just need to know what the options due (hence the need for documentation)
s/due/do/
arlinius time to adventure into the X source? 05:05
bkeeler TimToady: is the <foo: 1, 2> syntax of subrule calls with args supposed to be able to process arbitrary expressions as arguments? The problem I'm having is (I think) that EXPR wants to eat the closing angle...
lue I've banged my head against this table before. I hate it every time
(wow, that's bad. x.org's wiki can't find setxkbmap when I search for it O.o) 05:07
arlinius rakudo: my int $alpha = Nil; 05:08
TimToady bkeeler: if you want a > in the expression, then you want the <foo(1,2)> form instead
p6eval rakudo 5e5969: OUTPUT«Malformed my at line 11, near "int $alpha"␤current instr.: 'perl6;HLL;Grammar;panic' pc 500 (ext/nqp-rx/src/stage0/HLL-s0.pir:328)␤»
arlinius pugs: my int $alpha = Nil;
p6eval pugs: OUTPUT«*** No such subroutine: "&Nil"␤ at /tmp/AQDnyBk2T4 line 1, column 12-20␤»
arlinius alpha: my int $alpha = Nil;
p6eval alpha 30e0ed: OUTPUT«Malformed declaration at line 10, near "int $alpha"␤in Main (file <unknown>, line <unknown>)␤»
05:09 jaldhar joined
bkeeler TimToady: yeah, but it gets confused whether I want an angle in there or not. 05:09
TimToady which "it"? STD doesn't get confused as far as I know
arlinius pugs: say defined(Nil)
p6eval pugs: OUTPUT«*** No such subroutine: "&Nil"␤ at /tmp/S6WSdQC44h line 1, column 13-16␤»
arlinius pugs: say defined(())
p6eval pugs: OUTPUT«1␤»
05:10 ihrd joined
bkeeler The form with parens works fine, but colon form barfs on anything whatsoever once I switch it over to use rakudo's arglist 05:10
05:10 ihrd left
bkeeler This is rakudo with my grammar patch 05:10
arlinius pugs: say defined([])
p6eval pugs: OUTPUT«1␤»
TimToady rakudo probably isn't doing all that STD is doing in terms of tracking the current language
arlinius rakudo: say defined([]) 05:11
p6eval rakudo 5e5969: OUTPUT«1␤»
TimToady the language inside <> has > as a terminator
arlinius rakudo: say defined({})
p6eval rakudo 5e5969: OUTPUT«1␤»
bkeeler I see
I think perhaps I should ask pmichaud about it then 05:12
TimToady I don't think rakudo is really doing derived languages yet
05:12 ash_ left
bkeeler It sort of is, I mean we can call p6 closures with regexes within p6 code and stuff 05:13
It switches languages by saything things like <arglist=.LANG('MAIN', 'arglist'> 05:14
TimToady that's just switching to an existing langauge via the current language braid
but to take the existing expression language and add > as a terminator, I don't think it does htat
*that
arlinius rakudo: my @qa; say defined(@qa); say @qa.defined; 05:15
p6eval rakudo 5e5969: OUTPUT«1␤1␤»
bkeeler Ah, I see what you're getting at
Well, for now the colon form can deal with a simple list of literals
And they can use the paren form if they need anything more complicated
lue bang ow bang ow bang ow (please, can something figure out what the various C<setxkbmap -option> settings are? 05:16
TimToady or maybe it's just buggy
arlinius rakudo: my @x ; undefine @x;
p6eval rakudo 5e5969: ( no output )
lue TimToady: what input method do you recommend, should I use one?
TimToady for Japanese? I use anthy 05:17
bkeeler Set it to use handwriting recognition via mouse gestures
arlinius lue: what is it you're trying to do with setxkbmap -option? 05:18
lue I'm trying to figure out what the various options for C<setxkbmap -option> do. *grab hair* 05:20
arlinius rakudo: my @vax = 2,3,4; undefine @vax; say +@vax;
p6eval rakudo 5e5969: OUTPUT«1␤»
lue bkeeler: I has a mousepad.
arlinius rakudo: my @vax = 2,3,4; say +@vax;
p6eval rakudo 5e5969: OUTPUT«3␤»
arlinius odd
rakudo: my @vax = 2,3,4; undefine @vax; say +@vax; say @vax[0]
p6eval rakudo 5e5969: OUTPUT«1␤Any()␤»
arlinius heh
bkeeler Or perhaps morse code on the middle mouse button 05:21
You always wanted an excuse to learn morse code, admit it
lue bkeeler: I has one mouse button
and emulate the others thru keyboard
arlinius morse code on mouse button then
lue ah well. I'll continue using mac third-level for now :) 05:22
¡™£¢∞§¶•ªº–≠œ∑†¥ŭøπ“‘«æ…¬ĥĝƒ∂ŝåΩ≈ĉ√∫∫≤≥÷ 05:23
arlinius you might want to look into editing a layout file
bkeeler Ah yes, one button mice, I forgot
I love Macs and all, but the mouse is the first thing to go
lue hah! I considered it. Not that desperate yet :)
arlinius yeah, macs: the height of technology
*shrug* a lot easier than finding documentation for setxkbmap options :) 05:24
bkeeler Perhaps I should get one of those ridiculous gaming mice with almost a full keyboard on it
05:25 JimmyZ_ joined 05:27 JimmyZ left, JimmyZ_ is now known as JimmyZ 05:28 JimmyZ left
lue wants to find out who wrote setxkbmap and beat him with his own code for not creating documentation 05:29
lue wants to know where everybody went all of a sudden (sudden silence is interesting to him) 05:37
TimToady everyone is trying to figure out whether they wrote setxkbmap and just forgot about it... 05:38
arlinius ...i don't think i wrote it 05:39
lue whoever here wrote is trying to cushion it for when I impact them with it, to avoid pain. 05:40
arlinius rakudo: Nil.undefine; 05:42
p6eval rakudo 5e5969: OUTPUT«Method 'undefine' not found for invocant of class 'Parcel'␤current instr.: '_block14' pc 29 (EVAL_1:0)␤»
arlinius rakudo: Nil*undefine;
p6eval rakudo 5e5969: OUTPUT«Not enough positional parameters passed; got 0 but expected 1␤current instr.: 'undefine' pc 225637 (src/gen/core.pir:2607)␤»
lue try undef 05:43
arlinius rakudo: Nil*undef;
p6eval rakudo 5e5969: OUTPUT«Unsupported use of undef as a value; in Perl 6 please use something more specific:␤ Mu (the "most undefined" type object),␤ an undefined type object such as Int,␤ Nil as an empty list,␤ *.notdef as a matcher or method,␤ Any:U as a type constraint␤ or
..fail() as a failure return␤ …
arlinius rakudo: Nil*Mu;
p6eval rakudo 5e5969: OUTPUT«No applicable candidates found to dispatch to for 'infix:<*>'␤current instr.: '_block14' pc 29 (EVAL_1:0)␤»
lue rakudo: Nil*Nil 05:45
p6eval rakudo 5e5969: ( no output )
lue rakudo: say Nil*Nil
p6eval rakudo 5e5969: OUTPUT«0␤»
lue rakudo: {use v5; say Nil*undef;};
p6eval rakudo 5e5969: OUTPUT«Unsupported use of undef as a value; in Perl 6 please use something more specific:␤ Mu (the "most undefined" type object),␤ an undefined type object such as Int,␤ Nil as an empty list,␤ *.notdef as a matcher or method,␤ Any:U as a type constraint␤ or
..fail() as a failure return␤ …
lue guess that part of the spec isn't supported yet :)
arlinius rakudo: say +Nil*+Mu; 05:46
p6eval rakudo 5e5969: OUTPUT«Use of type object as value␤current instr.: 'perl6;Perl6Exception;throw' pc 14359 (src/builtins/Seq.pir:52)␤»
arlinius rakudo: say +Nil*+Nil; 05:47
p6eval rakudo 5e5969: OUTPUT«0␤»
arlinius rakudo: my Array $x; 05:50
p6eval rakudo 5e5969: ( no output )
lue rakudo: my Array $x; $x[1]=4; say $x[1]; 05:51
p6eval rakudo 5e5969: OUTPUT«4␤»
lue when sigils don't matter... 05:52
diakopter rakudo: my Hash $x; $x[1] # masakbot
p6eval rakudo 5e5969: OUTPUT«No applicable candidates found to dispatch to for '_block12549'␤current instr.: 'perl6;Perl6Role;!select' pc 9770 (src/gen/RoleToClassApplier.pir:574)␤»
diakopter TimToady: LOL 05:53
lue rakudo: say 5.WHAT
p6eval rakudo 5e5969: OUTPUT«Int()␤» 05:54
lue rakudo: my Int %x; # hee hee
p6eval rakudo 5e5969: ( no output )
bkeeler rakudo: my int $a = 3
p6eval rakudo 5e5969: OUTPUT«Malformed my at line 11, near "int $a = 3"␤current instr.: 'perl6;HLL;Grammar;panic' pc 500 (ext/nqp-rx/src/stage0/HLL-s0.pir:328)␤»
lue rakudo: my Int %x = 3; say %x; # hee hee
p6eval rakudo 5e5969: OUTPUT«Odd number of elements found where hash expected␤current instr.: '&die' pc 16676 (src/builtins/Junction.pir:347)␤»
arlinius rakudo: my Int &foo = 3; say &foo;
p6eval rakudo 5e5969: OUTPUT«3␤»
diakopter rakudo knows about type names only if they're uppercase
lue rakudo: my Int %x = 3,5; say %x; # hee hee
p6eval rakudo 5e5969: OUTPUT«3 5␤␤»
lue rakudo: my Int %x = 3,5; say %x.WHAT; # hee hee
p6eval rakudo 5e5969: OUTPUT«Hash()␤»
bkeeler So it doesn't have the low-level naked ints yet I see 05:55
diakopter masakbot reported that one last week I think
no
perl6: my int $x
arlinius rakudo: my Int %x = 3,5; say %x.perl;
p6eval elf 29912, pugs: ( no output )
..rakudo 5e5969: OUTPUT«Malformed my at line 11, near "int $x"␤current instr.: 'perl6;HLL;Grammar;panic' pc 500 (ext/nqp-rx/src/stage0/HLL-s0.pir:328)␤»
rakudo 5e5969: OUTPUT«{"3" => 5}␤»
diakopter oh; somseone fixed/implemented Hash.ToString() 05:56
or whatever
arlinius rakudo: my Int %x = 3,5; say %x
p6eval rakudo 5e5969: OUTPUT«3 5␤␤»
arlinius rakudo: my Int %x = 3,5,6,9; say %x
p6eval rakudo 5e5969: OUTPUT«3 5␤6 9␤␤»
diakopter o_O
arlinius yep
diakopter rakudo: my Int %x = 3,5,6,9,12,14; say %x 05:57
p6eval rakudo 5e5969: OUTPUT«6 9␤12 14␤3 5␤␤»
diakopter rakudo: my Int %x = 3,5,6,9,12,14,3332,33123423; say %x
p6eval rakudo 5e5969: OUTPUT«6 9␤3332 33123423␤3 5␤12 14␤␤»
diakopter that's some odd spacing
arlinius rakudo: my Int %x = 1..20; say %x
p6eval rakudo 5e5969: OUTPUT«19 20␤1 2␤11 12␤3 4␤13 14␤5 6␤15 16␤7 8␤17 18␤9 10␤␤»
diakopter and by odd, I mean even
snarkyboojum rakudo: my Int %x = 1..3; say %x
p6eval rakudo 5e5969: OUTPUT«Odd number of elements found where hash expected␤current instr.: '&die' pc 16676 (src/builtins/Junction.pir:347)␤»
snarkyboojum :) 05:58
diakopter heh
"Step Right Up, to the StressFuzz Rakudo Game. All are welcome; just don't laugh too maniacally."
lue rakudo: my Any %.x=3; say %.x 05:59
p6eval rakudo 5e5969: OUTPUT«Odd number of elements found where hash expected␤current instr.: '&die' pc 16676 (src/builtins/Junction.pir:347)␤»
arlinius rakudo: my %x = 1,2,3,4; undefine %x;
p6eval rakudo 5e5969: OUTPUT«Odd number of elements found where hash expected␤current instr.: '&die' pc 16676 (src/builtins/Junction.pir:347)␤»
lue rakudo: my Mu $$omething = 3; say $$omething; # so many things wrong here :D
p6eval rakudo 5e5969: OUTPUT«In "my" declaration, typename Mu must be predeclared (or marked as declarative with :: prefix) at line 11, near " $$omethin"␤current instr.: 'perl6;HLL;Grammar;panic' pc 500 (ext/nqp-rx/src/stage0/HLL-s0.pir:328)␤»
diakopter rakudo: my Any %.x=3,%.x; say %.x # masakbot
p6eval rakudo 5e5969: OUTPUT«Lexical 'self' not found␤current instr.: '_block14' pc 29 (EVAL_1:0)␤»
lue rakudo: my $$omething = 3; say $$omething; # so many things wrong here :D
p6eval rakudo 5e5969: OUTPUT«Malformed my at line 11, near "$$omething"␤current instr.: 'perl6;HLL;Grammar;panic' pc 500 (ext/nqp-rx/src/stage0/HLL-s0.pir:328)␤»
lue rakudo: my $en$e$=3; say $en$e$ 06:00
p6eval rakudo 5e5969: OUTPUT«Confused at line 11, near "my $en$e$="␤current instr.: 'perl6;HLL;Grammar;panic' pc 500 (ext/nqp-rx/src/stage0/HLL-s0.pir:328)␤»
arlinius rakudo: my Array $x; say $x.WHAT; undefine $x; say $x.WHAT
p6eval rakudo 5e5969: OUTPUT«Array()␤Type check failed for assignment␤current instr.: '&die' pc 16676 (src/builtins/Junction.pir:347)␤»
lue rakudo: my $.x=3; say $.x
p6eval rakudo 5e5969: OUTPUT«Lexical 'self' not found␤current instr.: '_block14' pc 29 (EVAL_1:0)␤»
diakopter yar 06:01
lue rakudo: my $!x=3; say $!x
p6eval rakudo 5e5969: OUTPUT«Lexical 'self' not found␤current instr.: '_block14' pc 29 (EVAL_1:0)␤»
diakopter eenteresting
lue rakudo: my .x=3; say .x
p6eval rakudo 5e5969: OUTPUT«Malformed my at line 11, near ".x=3; say "␤current instr.: 'perl6;HLL;Grammar;panic' pc 500 (ext/nqp-rx/src/stage0/HLL-s0.pir:328)␤»
lue rakudo: my eval('$hi') = 3; say eval('$hi');
p6eval rakudo 5e5969: OUTPUT«Malformed my at line 11, near "eval('$hi'"␤current instr.: 'perl6;HLL;Grammar;panic' pc 500 (ext/nqp-rx/src/stage0/HLL-s0.pir:328)␤»
lue >:D *maniacal laugh* 06:02
diakopter well
hejki it seems getting working perl6 compiler might just take some months :)
diakopter erm 06:03
arlinius depends what you meant by 'working'
it's already taken years :P
hejki by working i mean something that's finished and does what the language whitepaper supposes it to do :)
diakopter oh, never
hejki woot 06:04
:<
don't be joking
never would mean downfall for the king of languages :>
lue :O freenode doesn't allow 楽土 in my nick!
diakopter no
there will be releases 06:05
it's just too huge of a spec to ever match exactly
lue never is actually not that long. It's the length of Inf (∞) in NaNometers
diakopter or even to write a test suite to cover the whole language
heh
arlinius heh
lue :( I must tell freenode to upgrade their servers to allow Unicode in nicks 06:06
hejki diakopter: well that should make the compiler devs pretty depressed :)
arlinius rakudo: my Array $x; $x = ();
p6eval rakudo 5e5969: OUTPUT«Type check failed for assignment␤current instr.: '&die' pc 16676 (src/builtins/Junction.pir:347)␤»
arlinius rakudo: my Array $x; $x = Nil;
p6eval rakudo 5e5969: OUTPUT«Type check failed for assignment␤current instr.: '&die' pc 16676 (src/builtins/Junction.pir:347)␤»
arlinius rakudo: my Array $x; $x = [];
diakopter hejki: nah; that's been the state for years upon years
p6eval rakudo 5e5969: ( no output )
diakopter hejki: if they weren't depressed by now, they never will be 06:07
(either way is fine)
hejki diakopter: sounds super frustrating :)
diakopter sometimes, to some people, yes
some are more patient than others.
TimToady the patient ones aren't the ones working on it :)
diakopter some have more of a vested interest in the expediency than others
lue everyone: imagine if a full implementation of Perl 6.1 ever came out. 06:08
hejki i'd so wet my patns
pants*
TimToady that much better than 6.0, is it?
06:08 Sarten-X joined
lue
.oO(stock up on Molybdenum, because that's the only way to save ourselves from the awesome power of the death star)
06:09
s/the death star/P6.1/
arlinius TimToady: hopefully not worse?
TimToady this language is fully operational
diakopter or operatoral, at least
TimToady the Fat Lady has already sung several times, but we're still going... 06:10
lue I believe rakudo's perl 6.1 should be named die*(Rakudo) [try to interpret that one]
or maybe [*] die(Rakudo)
TimToady maybe not 06:11
06:11 quester joined
lue Rakudo * implies the rebels have taken a page from the Empire's book 06:13
diakopter the death star spreads death; rakudo star spreads ... rakudo
lue has the sudden urge to (horribly) draw the Rakudo * in the sky 06:15
"The Rakudo * is fully functional" "What about fully OOP sir?" "...Zark" 06:16
diakopter rakudo: say (1...4).iterator.^parents[1].new(3, 4, 5) 06:19
p6eval rakudo 5e5969: OUTPUT«Method 'iterator' not found for invocant of class 'Iterable'␤current instr.: 'perl6;List;get' pc 10869 (src/builtins/Role.pir:262)␤»
lue
.oO(what would be a good name for a P6/R* based parody of Star Wars?)
06:20
diakopter rakudo: say 0.00000000000000000000 06:22
p6eval rakudo 5e5969: OUTPUT«No applicable candidates found to dispatch to for 'infix:<div>'␤current instr.: 'perl6;Rat;new' pc 317321 (src/gen/core.pir:37490)␤»
diakopter rakudo: say 0.0000000000000000000
p6eval rakudo 5e5969: OUTPUT«Nominal type check failed for parameter '$b'; expected Int but got Num instead␤current instr.: 'perl6;Rat;gcd' pc 316741 (src/gen/core.pir:37267)␤»
diakopter erm
masakbot: see the last two
lue rakudo: say 0.000000000000000000000000000000000000000000000000000000000000000000 06:23
p6eval rakudo 5e5969: OUTPUT«Divide by zero␤current instr.: 'infix:<div>' pc 253560 (src/gen/core.pir:12580)␤»
diakopter nice! 3 different bugs 06:24
lue the exact error changes with the number of extra 0's you have!
rakudo: say 0.000000000000000000000000000000000000000001000000000000000000000 # hee hee
p6eval rakudo 5e5969: OUTPUT«Nominal type check failed for parameter '$a'; expected Int but got Num instead␤current instr.: 'perl6;Rat;gcd' pc 316741 (src/gen/core.pir:37267)␤»
diakopter omg
lue first $b, now $a!
diakopter 4 different bugs
lue diakopter: want me to create four? >:)
s/four/more/ 06:25
diakopter well, not in RT
06:25 wmiksss left
diakopter let masak add them if he thinks there aren't dupes 06:25
lue rakudo: say 1.0000000000000000000000000000000000000000000000000000000000000
p6eval rakudo 5e5969: OUTPUT«Nominal type check failed for parameter '$a'; expected Int but got Num instead␤current instr.: 'perl6;Rat;gcd' pc 316741 (src/gen/core.pir:37267)␤»
lue rakudo: say 00000000000000000000000000000000.000000000000000000000000000000
p6eval rakudo 5e5969: OUTPUT«No applicable candidates found to dispatch to for 'infix:<div>'␤current instr.: 'perl6;Rat;new' pc 317321 (src/gen/core.pir:37490)␤»
lue rakudo: say 0e-293 06:26
p6eval rakudo 5e5969: OUTPUT«0␤»
diakopter rakudo: say 0xFFFFFFFFFFFFFFFF # masakbot
p6eval rakudo 5e5969: OUTPUT«-1␤»
lue \o/
rakudo: say 0x16D.4
p6eval rakudo 5e5969: OUTPUT«Confused at line 11, near "say 0x16D."␤current instr.: 'perl6;HLL;Grammar;panic' pc 500 (ext/nqp-rx/src/stage0/HLL-s0.pir:328)␤»
arlinius rakudo: Mu.say
p6eval rakudo 5e5969: OUTPUT«Mu()␤»
arlinius rakudo: defined Mu
p6eval rakudo 5e5969: ( no output )
arlinius rakudo: say Mu.defined
p6eval rakudo 5e5969: OUTPUT«0␤»
arlinius rakudo: say defined Mu
p6eval rakudo 5e5969: OUTPUT«0␤» 06:27
hejki rakudo: say Mu.HOW
p6eval rakudo 5e5969: ( no output ) 06:28
diakopter rakudo: say 0o7777777777777777777777
p6eval rakudo 5e5969: OUTPUT«-1␤»
arlinius rakudo: say Mu.HOW.WHAT
p6eval rakudo 5e5969: OUTPUT«Mu()␤»
lue rakudo: sub moo() {return Mu;}; say moo.WHAT
p6eval rakudo 5e5969: OUTPUT«Mu()␤»
06:29 cotto left, cotto joined
lue rakudo: eval('alpha: say "hi";'); 06:30
p6eval rakudo 5e5969: ( no output )
diakopter heh
doesn't work that way ;)
lue std: say "I print things"
p6eval std 29912: OUTPUT«ok 00:01 107m␤»
lue std: say "I made it through STD's time barrier!"
p6eval std 29912: OUTPUT«ok 00:02 105m␤»
lue std: say that you hate letting things through your ok time barrier 06:31
p6eval std 29912: OUTPUT«Undeclared routines:␤ 'barrier' used at line 1␤ 'hate' used at line 1␤ 'letting' used at line 1␤ 'ok' used at line 1␤ 'that' used at line 1␤ 'things' used at line 1␤ 'through' used at line 1␤ 'you' used at line 1␤ 'your' used at line 1␤ok 00:01 106m␤»
lue :D
std: say "Proof of STD's iron curtain"
p6eval std 29912: OUTPUT«ok 00:01 105m␤»
lue This rakudo stressing has been fun. (If freenode would let me, I'd've changed my nick to 楽土StressTester) 06:34
arlinius rakudo: my @x; say @x.ACCEPTS(); 06:36
p6eval rakudo 5e5969: OUTPUT«Method 'ACCEPTS' not found for invocant of class 'Array'␤current instr.: '_block14' pc 29 (EVAL_1:0)␤»
arlinius rakudo: my @x; say @x.ACCEPTS(());
p6eval rakudo 5e5969: OUTPUT«Method 'ACCEPTS' not found for invocant of class 'Array'␤current instr.: '_block14' pc 29 (EVAL_1:0)␤»
lue rakudo: my @x; say @x.ACCEPTS(((((((((((((((((((()))))))))))))))))))) # maybe if you put in enough ()
p6eval rakudo 5e5969: OUTPUT«Method 'ACCEPTS' not found for invocant of class 'Array'␤current instr.: '_block14' pc 29 (EVAL_1:0)␤»
lue rakudo: my @x; say @x.ACCEPTS 06:37
p6eval rakudo 5e5969: OUTPUT«Method 'ACCEPTS' not found for invocant of class 'Array'␤current instr.: '_block14' pc 29 (EVAL_1:0)␤»
arlinius rakudo: my @x; say @x ~~ Nil 06:38
p6eval rakudo 5e5969: OUTPUT«Method 'ACCEPTS' not found for invocant of class 'Parcel'␤current instr.: 'infix:<~~>' pc 214726 (src/gen/perl6-actions.pir:16060)␤»
arlinius rakudo: my $x; say $x ~~ Nil
p6eval rakudo 5e5969: OUTPUT«Method 'ACCEPTS' not found for invocant of class 'Parcel'␤current instr.: 'infix:<~~>' pc 214726 (src/gen/perl6-actions.pir:16060)␤»
arlinius Parcel hrm
rakudo: my $x; say $x ~~ () 06:39
p6eval rakudo 5e5969: OUTPUT«Method 'ACCEPTS' not found for invocant of class 'Parcel'␤current instr.: 'infix:<~~>' pc 214726 (src/gen/perl6-actions.pir:16060)␤»
arlinius rakudo: my $x; say $x ~~ []
p6eval rakudo 5e5969: OUTPUT«Method 'ACCEPTS' not found for invocant of class 'Array'␤current instr.: 'infix:<~~>' pc 214726 (src/gen/perl6-actions.pir:16060)␤»
arlinius rakudo: my $x; say $x ~~ 3
lue I has a bed. See yall tomorrow for more stressing!
p6eval rakudo 5e5969: OUTPUT«Use of type object as value␤current instr.: 'perl6;Perl6Exception;throw' pc 14359 (src/builtins/Seq.pir:52)␤»
diakopter arlinius: you can also msg p6eval directly while experimenting
arlinius heh :P
06:40 lue left 06:42 rgrau left
diakopter rakudo: say |\/_\|/|\/_\|/|/_\|/|\/_\|/|/_\|/|\/_\|/|/_\|/|\/_\|/|/_\|/|\/_\|/|/_\|/|\/_\|/|/_\|/ 06:44
p6eval rakudo 5e5969: OUTPUT«any(Capture.new(), Capture.new(), { ... }, Capture.new(), { ... }, Capture.new(), { ... }, Capture.new(), { ... }, Capture.new(), { ... }, Capture.new(), { ... })␤»
06:45 cognominal left
hejki rakudo: say _\|/_; 06:46
p6eval rakudo 5e5969: OUTPUT«Confused at line 11, near "say _\\|/_;"␤current instr.: 'perl6;HLL;Grammar;panic' pc 500 (ext/nqp-rx/src/stage0/HLL-s0.pir:328)␤»
06:48 xinming_ is now known as xinming 06:50 cognominal joined 06:54 agentzh left
arlinius rakudo: my &foo = { say 1 }; undefine &foo; 06:55
p6eval rakudo 5e5969: ( no output )
06:56 nihiliad left 06:57 alester left 06:58 szabgabx left, kaare joined 06:59 kaare is now known as Guest27086 07:02 vamped joined
quester diakopter: If Perl5 is accused of looking like line noise, what on Earth will people say about "say |\/_\|/|\/_\|/;"? 07:03
snarkyboojum looks like an upside down bridge to me 07:04
07:05 uniejo joined, xomas left
quester snarkyboojum: Yes. Given the output, you might say it's a row of Venus flytraps. You know, Capture.new(fly), {eat(fly)}, ... 07:05
07:08 masak joined
masak good morning, #perl6! 07:08
07:08 masak left
uniejo Good morning, masak 07:09
snarkyboojum quester: I have no idea what it does other than -> any(Capture.new(), Capture.new()), so :)
07:09 masak joined 07:10 meppl joined
masak diakopter: [backlog] is that rod logic you're doing? :) 07:12
quester rakudo: say / foo / | /bar/; 07:13
p6eval rakudo 5e5969: OUTPUT«any({ ... }, { ... })␤»
quester rakudo: say \/ foo / | \/bar/;
p6eval rakudo 5e5969: OUTPUT«any(Capture.new(), Capture.new())␤»
quester diakopter: Thank you, that was very educational. Weird, but educational. 07:15
masak [WEIRD]
07:16 Su-Shee joined
pugssvn r29913 | plunix++ | Added tests for Nil, (), [], and {} definedness. 07:16
r29913 | Added a few tests for @array-variable definedness.
Su-Shee good morning 07:17
masak Su-Shee: \o 07:18
07:23 gfx joined 07:24 justatheory left 07:32 cosimo left, cosimo joined
masak I think I fell off the Iron Man challenge as of yesterday. ah well, back up on the horse, I guess. 07:34
std: my @a[ %10_000 ] 07:43
p6eval std 29913: OUTPUT«===SORRY!===␤Whitespace is required between alphanumeric tokens at /tmp/3g9Acr4WK7 line 1:␤------> my @a[ %10⏏_000 ]␤FAILED 00:01 107m␤»
07:43 mssm joined
pugssvn r29914 | colomon++ | [t/spec] Fix number of tests for defined.t. 07:52
colomon This test file now has tests saying both Nil is defined and Nil is undefined. 07:55
masak the mystery of emptiness...
pugssvn r29915 | colomon++ | [t/spec] Fudge new tests to defined.t passes again. 07:57
colomon So, that file definitely needs more work. But I am up in the middle of the night, and not to be trusted to actually figure out the tricky bits.
masak from p3rl.org: "The use of *any* camel image with the topic of Perl is a trademark of an American media company. Fortunately, the image in the top right corner is just a photoshopped monkey. :-)" Juerd++ 08:02
colomon justrakudoit.wordpress.com/2010/03/...es-branch/ 08:06
masak lolcolomonblogged! 08:07
colomon not a very big post, but see previous comments about the need for sleep. :)
in fact, I think I will wander that way now....
08:08 eternaleye left
mathw Morning 08:10
masak mathw! 08:11
good morning!
08:12 dual left 08:14 iblechbot joined
mathw Hey masak 08:17
Thanks for the Esperanto lesson at the weekend :)
masak Neniu problemo. :) 08:18
mathw Along with all the musical things I learned, I also learned that I still don't have a handle on how to use the accusative :) 08:21
masak mathw: they way you used it in twitter.com/MaW/status/9816053764 conveys direction. 08:22
generally, using it after a preposition conveys direction.
08:23 jonasbn joined
masak rakudo: say "foo" ~~ /foo/ 08:23
p6eval rakudo 5e5969: OUTPUT«foo␤»
masak rakudo: say "foo" ~~ /foo ** 5/
p6eval rakudo 5e5969: OUTPUT«␤»
masak rakudo: say "foo" ~~ /foo ** {5}/
p6eval rakudo 5e5969: OUTPUT«foo␤»
masak is mildly curious about that one 08:24
moritz_++
08:25 eternaleye joined 08:30 agentzh joined 08:34 [synth] joined 08:35 synth left, [synth] left
mathw masak: and since we went to the bar, and *then* played music, there is no direction involved 08:39
08:40 cosimo left, cosimo joined
masak mathw: well, the way it's written, it gives me the sense that music is flowing into the bar from outside. though the predicate is only implicit in that reading, so it's all a bit vague. 08:40
basically, it says 'music into the bar'. 08:41
quester I have a trivia question about submitting Rakudo patches... I posted a patch to rt.perl.org/rt3/Public/Bug/Display.html?id=73148 about three days ago. Should I have notified someone, or jost continue waiting patiently for feedback, or...?
mathw which is entirely inappropriate, as the music was generated in the bar
quester s/jost/just/
masak quester: the 'patiently' option. 08:42
quester: I have the feeling patches are very much appreciated, but there's not a system of regularly applying them or anything. instead, there's a kind of squaks-loudest system in place. :) 08:43
quester masak: Thanks... roughly how long does it take to get feedback, typically?
masak quester: keep squaking, and it won't be long :)
masak reviews the patch
quester masak: Okay. Thank you very much.
08:48 cosimo left 08:49 cosimo joined, am0c joined
masak phenny: tell pmichaud that I reviewed quester++'s rt.perl.org/rt3/Public/Bug/Display.html?id=73148 and it looks good. before I introduce new files into the build, I just thought I'd clear it with you. also, you might want to have a say in the exact --version message. 08:52
phenny masak: I'll pass that on when pmichaud is around.
quester masak: Thank you again. (And yes, the exact --version message is an exercise in aesthetics.) 08:53
masak quester: "CAUTION: if you enable strict or warnings you might wind up with Perl 5 error messages in the output file, src/gen/compiler.pir." That sounds backwards to me for some reason. perhaps because winding up with error messages in src/gen/compiler.pir sounds like a lesser evil than leaving strict/warnings off. 08:55
08:56 snarkyboojum left
quester masak: It is a bit funky, but if the git commands fail, turning on warnings puts the warnings into the pir source code, when then fails to compile. With warnings off, it fails silently. Since the git commands are likely to fail for people installing Rakudo from tarballs, it seemed like the lesser of two evils. 08:59
masak ok. I think I see the reasoning. I guess that's yet another tradeoff I'm happy to leave to any of the more core developers. :) 09:00
quester There may be a much better way of handling that. Normally I would try to redirect stderr but I'm not sure if there is a good way of doing that in a makefile without breaking the build process on non-*nix platforms, Windows in particular. 09:01
masak good point.
mathw bloody windows 09:03
always making a mess
09:03 mathw sets mode: +o masak
masak mathw: snow blowing in? :) 09:03
masak .oO( why we find young Linux users in basements: because they dislike Windows ) 09:05
quester mathw: You just have to keep beating it until all the blood is gone. Then it's no longer bloody. (Oops, I think I'm channeling Wednesday Addams.) 09:06
pmichaud good morning, #perl6
phenny pmichaud: 08:52Z <masak> tell pmichaud that I reviewed quester++'s rt.perl.org/rt3/Public/Bug/Display.html?id=73148 and it looks good. before I introduce new files into the build, I just thought I'd clear it with you. also, you might want to have a say in the exact --version message.
masak pmichaud: wow, you're up early!
pmichaud really? feels like I'm up late :-) 09:07
masak or that :)
mathw and isn't he nice, he adapts his greeting for our time zone
masak it's mostly just confusing. :)
pmichaud oh, believe me, it's definitely morning here.
for rt #73148, I'd prefer that we not be modifying Compiler.pir 09:09
(reading...)
the .pl script ought to go into build/, along with the other scripts that generate code 09:10
quester pmichaud: So, you would prefer to put the version method into a new something.pir file instead...?
pmichaud yes
src/gen/version.pir would make sense 09:11
(src/gen/ being the place where we put generated files)
it only needs to contain the 'version' method
09:11 dakkar joined
masak perhaps that solves the strict/warnings conundurum, too? 09:12
pmichaud (not familiar with that conundrum :-)
quester Okay, would you be inclined to place the template into src/Perl6, or build, or just put it as a series of print statements into the .pl file? 09:13
pmichaud print in .pl file is fine
I'm looking for an exmaple
quester ... of what the perl6 -v output looks like now?
masak pmichaud: oh, just something from the recent backlog. the .pl script didn't have strict/warnings turned on, because of a tradeoff. 09:14
pmichaud no, example of where we generate code
09:14 snarkyboojum joined
pmichaud anyway, for better our worse, we tend to create code-generating-scripts in build/*.pl 09:15
those output files which are then placed in gen/
and the files can then be easily grabbed using .include
so in this case 09:16
create src/gen/version.pir
then maybe include it via the CHEATS_PIR macro in the makefile 09:17
see build/gen_uprop.pl for an example of how the unicode property rules are generated, follow that model 09:18
quester pmichaud: Okay, let me move the files and test and generate a new patch, probably in about a day or two. Should I just post it to rt.perl.org again? 09:19
pmichaud yes, that'd be great. 09:20
the features the patch adds are terrific
I really like the new version information
quester pmichaud: Thank you very much. I'm all excited, this is my first contribution to an open-source project. 09:21
pmichaud I'm glad to hear that, and hope you can contribute more like this one :)( 09:23
er, :-)
(typo -- hard to type where I'm currently at)
09:24 am0c left
quester pmichaud: Yes, I hope so too. Thanks again. Actually, I do have a beard a little bit like :)( ... how did you know? 09:27
pmichaud sometimes my fingers know more than my brane 09:28
masak rakudo: say '(foo' ~~ / '(' ~ ')' [foo] /
p6eval rakudo 5e5969: OUTPUT«Unable to parse _block48, couldn't find final ')' at line 1␤current instr.: 'perl6;Regex;Cursor;FAILGOAL' pc 1664 (ext/nqp-rx/src/stage0/Regex-s0.pir:907)␤» 09:29
09:29 yinyin left
masak why does everything in regexes indicate falure with a False-valued $/, except for goals, which indicate failure by throwing an exception? 09:29
quester Take care, everyone, and good {localtime}. Off shopping and then sleep & 09:30
pmichaud maybe should return failure instead of throwing exception
masak yes, please.
my real-world situation to back this up is a test file with a grammar parse wrapped in a method call which checks whether the syntax of an expression is correct. I only expect the method call to return a Bool, not to blow up. 09:31
pmichaud I'll have to think a bit about how to pull that off. But feel free to file this as a ticket :)
masak gladly. 09:32
masak submits rakudobug
pmichaud well, I can certainly get it to fail the match. I'm not sure where the message goes, though.
09:33 clintongormley joined 09:35 mberends joined
mberends good morning from Bratislava! Hmm, that beer was good last night :-) 09:37
pmichaud good morning from Houston! I haven't had a beer yet. 09:38
bars are probably closed by now anyway :-(
09:39 am0c joined, agentzh left
sjohnson :( 09:40
masak mberends: are you perchance at jnthn's place? :)
mberends masak: indeed 09:41
masak woot!
and symmetric in some way. my two last hotel buddies under the same roof :) 09:42
sjohnson perlpals 09:43
mberends we'll be even togetherer soon :)
mberends looks forward to a full time week of Perl 6 09:45
masak it'll be awesome. 09:47
mathw sighs
masak hugs mathw
jnthn oh hai
mathw This is what happens when I spend all my money on music holidays :)
oh hai jnthn
masak lolitsjnthn!
pmichaud oh hai jnthn
jnthn wow, pmichaud awake at what time?! 09:48
.oO( how late did I sleep in? )
pmichaud currently 0345
mathw thinks about a tune for Rakudo
pmichaud "Elephant Walk" by H. Mancini ? 09:49
jonasbn mberends: could you extend your talk to 40 minutes as you mention? 09:50
pmichaud jonasbn!
jonasbn mberends: we have the time in the schedule
mberends jonasbn: no problem
jonasbn super duper 09:51
official schedule is online
masak I already found it :)
mathw pmichaud: actually I was considering writing one. I'll let you know if I come up with anything suitable
09:51 quester left
masak www.opensourcedays.org/2010/node/267 09:52
jnthn jonasbn: The sessions look to be for an hour...is that an invitation to fill it? :-) 09:53
09:55 kst` joined
jonasbn jnthn: they say 45 minutes + 10 minutes for questions etc. 09:57
so... yes 09:58
vamped /exit
jnthn fail
jonasbn: OK, cool.
09:58 vamped left
pmichaud hour, coolness 09:58
jonasbn hotel information will come today, just got a mail from the OSD coordinator
pmichaud checks schedule
jnthn hehe
pmichaud it's always dangerous to give me more time :) 09:59
jnthn pmichaud: You're the Grand Finale
pmichaud Perhaps I should change my talk title
jonasbn my only worry with the lengthy schedule is that it takes time from the hackathon, since the audience is somewhat the same
but we have the whole Sunday too 10:00
pmichaud it's okay
if I'm grand finale, and we expect most attendees to be hackathon folks, I'll orient my talk towards hackathon activities
10:00 jaldhar left
pmichaud and it looks like we're done by 15h00, so there's a bit of time after me 10:00
10:01 jaldhar joined
m-locks aye, talking about hacking makes people wanna hack 10:02
pmichaud mberends: are you going to be up for going first? ;-) 10:04
mberends pmichaud: yes. I think my topic is good as an overview for the track.
masak he can give the talk and the go to sleep :)
pmichaud I agree -- just didn't know if you'd be well-enough-rested after traveling overnight :)
mberends :D
jonasbn and then wake up for the bar night 10:05
pmichaud oh, there is that.
I like the "Too Cool for IE" marker at the bottom right of the OSD pages :)
jnthn pmichaud: You should see what happens in IE6. :-)
pmichaud I hope it's very apocalyptic. 10:06
jnthn Yes, it displays the plans for a new programming langauge. 10:08
pmichaud "We'll rid the world of IE6 about the same time that Perl 6 comes out. Shortly after DNF is released." 10:09
jnthn It'll run on a Javascript backend that's incompatible with IE6? 10:11
10:12 kst`` joined 10:13 kst` left
pmichaud something like that. 10:13
arnsholt jonasbn: You around? 10:14
jonasbn yes
arnsholt Ah, excellent 10:15
Do you know of any decent places to stay near the hackathon venue, suitable for a student budget?
10:15 bacek joined
bacek o hai 10:15
seen moritz_ 10:16
jonasbn arnsholt: check www.opensourcedays.org/2010/node/283 10:17
the hostels are cheap I guess
Su-Shee the entire perl schedule is perl6? :) 10:19
pmichaud it's a "Perl 6 Hackathon", so yes :)
Su-Shee denmark will be assimilated. ;)
arnsholt jonasbn: Thanks 10:20
10:22 riffraff joined
bacek pmichaud, aloha. Do you have time for couple of questions? 10:25
10:26 orafu left
pmichaud yes, although I may have to disappear suddenly at any moment. 10:26
bacek ok
jonasbn arnsholt: looking forward to seeing you in Copenhagen
10:26 orafu joined
bacek 1. Can you quick review my fork of nqp-rx for Settings? 10:26
pmichaud not at the moment, I should be able to do so in the next ~12 hrs 10:27
bacek 2. What is best NQP/Perl6 replacement for $absolute ||= $body =~ s/\bgoto\s+ADDRESS\((.*?)\)/{{=$1}}/mg;
pmichaud there's not a built-in for NQP to do that. 10:28
one could do the match, get the match object details, and do the substitutions
but one of the things japhb++ worked on was providing a .subst method for being able to do /g
bacek I know. But implementing it in function form looks awful.
subst($body, /\b/, { eval('{{$0}}') } ); 10:29
something like this
pmichaud you want it to execute a goto?
bacek no
I want replace "goto" with "{{=$1}}" 10:30
ops2c actually want it.
But nqp chokes on parsing {} inside strings. Or I totally misunderstand Perl6 string interpolations...
pmichaud {} inside double-quoted strings is a closure interpolation. 10:31
nqp: say("3 + 2 = {3 + 2}");
p6eval nqp: OUTPUT«3 + 2 = 5␤»
pmichaud so if you want braces in the output, you probably need to backwhack them 10:32
nqp: say("3 + 2 = \{3 + 2\}");
p6eval nqp: OUTPUT«Unable to parse blockoid, couldn't find final '}' at line 1␤current instr.: 'parrot;Regex;Cursor;FAILGOAL' pc 1664 (src/Regex/Cursor-builtins.pir:179)␤»
pmichaud ooops
pmichaud files nqpbug
jnthn Well, it makes a change from masak...
;-)
bacek Unable to parse blockoid, couldn't find final '}' at line 259
mberends (laughter)
pmichaud yeah, looks like an nqp bug 10:33
nqp: say("3 + 2 = \x[7c]3 + 2\}");
p6eval nqp: OUTPUT«3 + 2 = |3 + 2\}␤»
pmichaud nqp: say("3 + 2 = \x[7c]3 + 2\}");
p6eval nqp: OUTPUT«3 + 2 = |3 + 2\}␤»
pmichaud .u {
phenny U+007B LEFT CURLY BRACKET ({)
pmichaud nqp: say("3 + 2 = \x[7b]3 + 2}");
p6eval nqp: OUTPUT«3 + 2 = {3 + 2}␤»
masak wither are nqpbugs filed? just curious. 10:34
pmichaud (LTA workaround)
bacek nqp: subst($body, /\b/, '{{' ~ $0 ~ '}}' );
p6eval nqp: OUTPUT«Confused at line 1, near "subst($bod"␤current instr.: 'parrot;HLL;Grammar;panic' pc 500 (src/cheats/hll-grammar.pir:197)␤»
bacek nqp: my $body; subst($body, /\b/, '{{' ~ $0 ~ '}}' );
p6eval nqp: OUTPUT«Confused at line 1, near "subst($bod"␤current instr.: 'parrot;HLL;Grammar;panic' pc 500 (src/cheats/hll-grammar.pir:197)␤»
pmichaud nqpbugs can go in the issues queue on github or into the parrot trac tracker
I don't think nqp knows $0 10:35
bacek nqp: my $body; subst($body, /\b/, '{{' ~ $/[0] ~ '}}' );
pmichaud although japhb's implementation of subst might be able to do it. and I could perhaps add $0
p6eval nqp: OUTPUT«Symbol '$/' not predeclared in <anonymous>␤current instr.: 'parrot;PCT;HLLCompiler;panic' pc 137 (compilers/pct/src/PCT/HLLCompiler.pir:101)␤»
masak gotcha. thanks.
bacek Should $/ be always predefined?
pmichaud in Perl 6, yes, in NQP, we try not to have implicit vars 10:36
(because they add a lot of overhead to every block)
anyway, I suggest asking japhb++ how to do the subst 10:37
he's done it a few times :)
(I'm likely to disappear shortly)
10:37 [particle] left
bacek I already stole his code for subst :) 10:37
pmichaud ah 10:38
then ask him how to make it work :)
bacek I just cant figure out easy way to present "{{$1}}" in left side :)
pmichaud I'll look at it a bit later when I review the lib stuff
bacek ok
nqp: subst($body, /\b/, '{{' ~ $^match[0] ~ '}}' ); 10:39
p6eval nqp: OUTPUT«Confused at line 1, near "subst($bod"␤current instr.: 'parrot;HLL;Grammar;panic' pc 500 (src/cheats/hll-grammar.pir:197)␤»
bacek sigh...
pmichaud yes, handling the $0 $1 is always a trick, even in full P6 10:40
bacek nqp: sub foo($body) { subst($body, /\b/, '{{' ~ $^match[0] ~ '}}' ); }
p6eval nqp: OUTPUT«Unable to parse blockoid, couldn't find final '}' at line 1␤current instr.: 'parrot;Regex;Cursor;FAILGOAL' pc 1664 (src/Regex/Cursor-builtins.pir:179)␤»
masak trick? how so?
bacek nqp: sub foo($body) { subst($body, /\b/, '[[' ~ $^match[0] ~ ']]' ); }
p6eval nqp: OUTPUT«Unable to parse blockoid, couldn't find final '}' at line 1␤current instr.: 'parrot;Regex;Cursor;FAILGOAL' pc 1664 (src/Regex/Cursor-builtins.pir:179)␤»
pmichaud (because it has to be encapsulated in a closure so you get the correct $/ and not the outer one to the subst)
masak what? no.
.subst isn't specially treated in any way. 10:41
the user has to manually provide the closure.
pmichaud right
that's what I'm saying-- to use $0, you have to put it in a closure
10:41 lestrrat is now known as lest_away
pmichaud (not that .subst does it for you) 10:41
masak good. we're in violent agreement.
pmichaud (I'm a bit distracted atm, so my words are likely not precise) 10:42
masak same here.
I read 'trick' as 'a thing we need need to make sure to put into the implementation'.
pmichaud it's tricky for nqp because not all closures automatically get $/, and pattern matching doesn't automatically set $/ 10:43
masak rakudo: use Opendir
p6eval rakudo 5e5969: OUTPUT«"load_bytecode" couldn't find file 'Opendir.pir'␤current instr.: '!use' pc 365776 (src/gen/core.pir:54663)␤»
masak alpha: use Opendir
p6eval alpha 30e0ed: OUTPUT«Can't find ./Opendir in @*INC␤in Main (file <unknown>, line <unknown>)␤»
masak Rakudo master only supports .pir module loading so far, yes? 10:44
pmichaud and even in rakudo/Perl 6, it's tricky because with .subst(/pattern/, { $0 } ) we have to intercept the $/ that the closure is using and put our own $/ into place
i.e., the $/ acts more like a dynamic variable instead of a lexical one
10:47 kst`` left
masak ooh, cpan6.org/ has a new design. I really like it. too bad that the project, and the person behind it, are essentially disconnected from Perl 6 and the Perl 6 community. 10:48
too bad also that the page implies that Perl 6 isn't usable at the moment.
CPAN6 also has a release date of April 2010. wonder if that's a coincidence. 10:49
10:49 snarkyboojum left
pmichaud depends on someone's definition of usable, as usual. 10:50
mberends afk & # Blava guided tour :-) 10:51
bacek rakudo: my $str = "yada yada yada goto ADDRESS(dest) foo bar baz"; say $s ~~ /<?wb>goto\s+ADDRESS\((.*)\)/; 10:58
p6eval rakudo 5e5969: OUTPUT«Symbol '$s' not predeclared in <anonymous>␤current instr.: 'perl6;PCT;HLLCompiler;panic' pc 137 (compilers/pct/src/PCT/HLLCompiler.pir:101)␤»
10:58 snarkyboojum joined
bacek rakudo: my $str = "yada yada yada goto ADDRESS(dest) foo bar baz"; say $str ~~ /<?wb>goto\s+ADDRESS\((.*)\)/; 10:58
p6eval rakudo 5e5969: OUTPUT«␤»
bacek rakudo: my $str = "yada yada yada goto ADDRESS(dest) foo bar baz"; say $str ~~ /<?wb>goto/;
p6eval rakudo 5e5969: OUTPUT«goto␤»
bacek rakudo: my $str = "yada yada yada goto ADDRESS(dest) foo bar baz"; say $str ~~ /<?wb>goto\s+ADDRESS/;
p6eval rakudo 5e5969: OUTPUT«goto ADDRESS␤»
bacek rakudo: my $str = "yada yada yada goto ADDRESS(dest) foo bar baz"; say $str ~~ /<?wb>goto\s+ADDRESS\(.*\)/; 10:59
p6eval rakudo 5e5969: OUTPUT«goto ADDRESS(dest)␤»
pmichaud << goto \s+ ADDRESS '(' (.*?) ')' /
bacek pmichaud++ # thanks 11:00
pmichaud (backslashes should work also... but the failure of \{ earlier has me a bit skittish. quotes are clearer anyway)
bacek rakudo: my $str = "yada yada yada goto ADDRESS(dest) foo bar baz"; say $str ~~ /goto \s+ ADDRESS '(' (.*) ')'/;
p6eval rakudo 5e5969: OUTPUT«␤»
bacek bad luck...
pmichaud rakudo: my $str = "yada yada yada goto ADDRESS(dest) foo bar baz"; say $str ~~ /goto \s+ ADDRESS '(' (.*) ')'/;
p6eval rakudo 5e5969: OUTPUT«␤»
pmichaud rakudo: my $str = "yada yada yada goto ADDRESS(dest) foo bar baz"; say $str ~~ /goto \s+ ADDRESS '(' (.*?) ')'/;
p6eval rakudo 5e5969: OUTPUT«␤»
pmichaud rakudo: my $str = "yada yada yada goto ADDRESS(dest) foo bar baz"; say $str ~~ /goto \s+ ADDRESS '(' /; 11:01
p6eval rakudo 5e5969: OUTPUT«goto ADDRESS(␤»
bacek rakudo: my $str = "yada yada yada goto ADDRESS(dest) foo bar baz"; say $str ~~ /goto \s+ ADDRESS '(' .* ')'/;
p6eval rakudo 5e5969: OUTPUT«goto ADDRESS(dest)␤»
pmichaud looks like a problem with the subcapture?
maybe:
rakudo: my $str = "yada yada yada goto ADDRESS(dest) foo bar baz"; say $str ~~ /goto \s+ ADDRESS '(' $<addr>=[.*?] ')'/;
p6eval rakudo 5e5969: OUTPUT«goto ADDRESS(dest)␤»
bacek O@ 11:02
pmichaud rakudo: my $str = "yada yada yada goto ADDRESS(dest) foo bar baz"; say $str ~~ /goto \s+ ADDRESS '(' $<addr>=[.*?] ')'/; say $<addr>;
bacek O!
p6eval rakudo 5e5969: OUTPUT«goto ADDRESS(dest)␤dest␤»
pmichaud (named captures are better documenting anyway :)
bacek smells ignorance of bugs :)
pmichaud I'm surprised the parens don't work, though, I thought I had tested those.
rakudo: my $str = 'abc'; say $str ~~ / (...) /; 11:03
p6eval rakudo 5e5969: OUTPUT«abc␤»
11:03 barney joined
pmichaud rakudo: my $str = 'abc'; say $str ~~ / a (.) /; 11:03
p6eval rakudo 5e5969: OUTPUT«ab␤»
bacek iiuc it should work in nqp?
11:03 am0c left
pmichaud rakudo: my $str = 'abc'; say $str ~~ / a (.*?) c/; 11:03
p6eval rakudo 5e5969: OUTPUT«␤»
pmichaud rakudo: my $str = 'abc'; say $str ~~ / a (.*) c/;
p6eval rakudo 5e5969: OUTPUT«␤»
pmichaud looks like a backtracking issue.
...and yes, I think I know this bug. 11:04
it's not backtracking properly into the subpattern.
I better put that as a high-priority fix... that's likely to cause a lot of confusion. 11:05
(I think moritz++ might've reported this bug already, too)
11:05 meppl left 11:11 snarkyboojum left
pmichaud afk, hoping to catch some sleep :-| 11:26
11:34 bacek left, snarkyboojum joined 11:52 jonasbn left 11:55 lest_away is now known as lestrrat 12:02 snarkyboojum left 12:10 payload joined 12:12 snarkyboojum joined 12:22 bacek joined 12:27 ignacio_ joined 12:34 iblechbot left 12:37 ignacio_ left, gfx left 12:49 SmokeMachine joined
takadonet morning all 12:50
colomon mathw: Did I hear you say (a few days ago) that you have a wind synth? Which one?
masak takadonet: \o 12:51
12:51 b_jonas joined
colomon o/ 12:52
12:52 ignacio_ joined 12:56 bluescreen joined 13:01 bacek left
masak are types automatically exported from an included module? 13:03
13:04 stepnem left 13:08 stepnem joined
masak rakudo: sub foo() { try { return 42 }; return 5 }; say foo 13:10
p6eval rakudo 5e5969: OUTPUT«5␤»
masak o.O
ok, so I know about the returns-are-exception idea, but surely... :/
s/ion/ions/
masak submits rakudobug 13:14
b_jonas masak: maybe a bare try like that should only catch some exceptions, not all, like how in ruby a bare catch catches only instances of RuntimeError 13:15
(thoguh the analogy is not really complete because ruby has like ten different kinds of non-local exits, only some of which are exceptions, and you can only catch exceptions with catch Object) 13:16
masak b_jonas: yes. I believe that's why CONTROL was invented, to enable catching of non-bad exceptions.
13:16 dual joined, snarkyboojum left 13:20 ignacio_ left 13:21 daemon joined
b_jonas anyway, I think I had a revelation and started to understand why roles might make sense 13:24
I'm still not sure, but I think I understand
masak b_jonas: here's my take on it, for what it's worth: use.perl.org/~masak/journal/40107 13:25
b_jonas thanks for the link 13:29
masak my pleasure. 13:31
the funny thing about those roles is that I had factored all of them away a few weeks later. doesn't necessarily disprove the points made in the post, though. :)
mathw colomon: I've got an Akai EWI4000s 13:35
b_jonas only eight, not ten 13:39
not counting callcc which is implemented in a different way
and threads and fibers
colomon mathw: I'm jealous. :) 13:40
b_jonas so I guess that makes ten
mathw colomon: Oh really? I wasn't aware that they were a commonly desired instrument :)
IllvilJa masak: that time traveling debugger you mention (tardis), is it a debugger that allows you to study the state of the debugged program not only at current point of execution but also at any earlier point in time during that exec? 13:41
masak IllvilJa: that's what it is, yes.
IllvilJa masak++! 13:42
masak IllvilJa: I felt a pressing need for it when writing an operator precedence parser in Perl 6 last year :)
colomon mathw: well, it's mostly the wind controller idea. I've wanted one for about fifteen years. (Though apparently not enough to ever buy one for myself; these days I'm much more into very simple acoustic stuff.)
IllvilJa Would be wonderful for debugging... we all know how to use it: run the code ONCE until it breaks/crashes/barfs and from there, backtrack until one finds the root cause. 13:43
But does not that require a (potentially) quite large 'log' of all execution and all variable changes, or will it allow you to explicitly specify some variables to keep track of? 13:44
masak IllvilJa: there are all sorts of performance and memory problems involved in creating a time-travelling debugger. I guess that's why they're not extremely common. 13:47
IllvilJa: our goal right now is just to have fun until we hit an actual limit of some kind.
jnthn lol we're back! 13:55
masak \o/ 13:59
IllvilJa masak: is 'hitting a limit of some kind' and 'having fun' really mutually exclusive? ;-) 14:02
14:06 b_jonas left
masak IllvilJa: I wasn't implying we won't have fun after hitting the limit, or during :P 14:07
14:08 betterworld joined 14:10 IllvilJa left, Sarten-X left, pmurias joined 14:11 cognominal left
pugssvn r29916 | pmurias++ | [mildew] simple gtk based profiling 14:11
r29917 | pmurias++ | [mildew] display the elapsed time on blocks 14:12
pmurias masak: re CPAN6 as it seems to be content independent it doesn't seem to be a big problem that the author is not closely involved in Perl6 14:19
masak pmurias: you might be right. on the other hand, I wouldn't mind seeing a CPAN-like solution which specifically took S11 into account. 14:23
CPAN6 seems to be going in the generalizing direction rather than specializing on Perl 6. I can see advantages of doing the latter, too.
14:24 IllvilJa joined, cognominal joined
BinGOs if perl6 was backwards compatible you could have just used CPAN 14:25
pmurias masak: Mark Overmeer is the person behing CPAN6?
masak pmurias: yes.
BinGOs: some people (moritz++, szabgab++) have been using CPAN for Perl 6 modules. there's not really any problem in doing that, it's just that we foresee that Perl 6 might have needs above and beyond CPAN. 14:27
pmurias masak: he takes part in p6l so he's involved to a certain degree
masak pmurias: that's true. he was involved in the Pod discussions. 14:28
what I mean is that not much of the CPAN6 development is visible to the Perl 6 community, on p6l or anywhere else. 14:29
PerlJam If CPAN grows enough to support Perl 6, it'll be able to support anything else. No sense in mentioning the Perl specificity any more at that point. 14:32
BinGOs I think it is doable. 14:34
I don't like the idea of having Perl6:: this and that.
I think if the two toolchains are distinct it could work. 14:35
Perl5 has Makefile.PL and Build.PL
Perl6 has something shiny
masak also, the Perl6:: namespace is traditionally meant for Perl 5 modules emulating Perl 6 behaviour.
14:36 [particle] joined
PerlJam Is GGE in the Perl6:: namespace? 14:36
BinGOs the Perl5 toolchain doesn't find Makefile.PL/Build.PL but a Shiny.PL it knows to ignore that distribution
14:36 barney left
BinGOs and vice versa 14:36
masak PerlJam: not in any sense I can think of, no. 14:37
BinGOs Just my pennyworth. 14:38
14:42 rv2733 joined 14:48 mssm left, pmurias left, Guest27086 left 14:55 snarkyboojum joined, jonasbn joined 14:57 nihiliad joined
jonasbn the hotel information is now available in the Wiki and I have sent a mail to the perl6-workshops listing 15:06
15:06 uniejo left
jonasbn let me know if you need anything else 15:06
arnsholt: ping
15:09 PacoLinux joined
masak jonasbn++ 15:09
15:11 ignacio_ joined 15:18 [particle] left
Tene ... rakudo doesn't support loading modules? why didn't anyone tell me this? It's now added to my task queue. 15:29
Tene afk work.
15:31 iblechbot joined
colomon Tene: ... use Test works, right? 15:33
15:34 [particle] joined, kcwu joined
Tene colomon: yes, but it loads Test.pir 15:35
colomon I see. Carry on. :) 15:36
15:36 ignacio_ left 15:39 justatheory joined 15:40 Psyche^ joined 15:41 astrojp joined, rgrau joined
arnsholt jonasbn: pong? 15:42
jonasbn arnsholt, just for your information, all of the invited ppl are staying at the hotel listed in the wiki 15:43
arnsholt Ah, thanks 15:44
15:44 Patterner left, Psyche^ is now known as Patterner
jonasbn I have only just received confirmation 15:44
arnsholt Hmm. It's actually a bit cheaper than a single room at the hostel nearby 15:45
jonasbn hehehe
well I do not know if there is room, but you can always try, it is often nicer to tag along with other attendees 15:46
arnsholt Indeed
masak I totally dig that map. www.opensourcedays.org/2010/node/283 -- if this isn't living in the digital future, I don't know what is. 15:47
15:50 ignacio_ joined
eternaleye rakudo: class Fruit { method height() { (1..10).pick; }; }; my Fruit @problems .= map: *.new; my $low = 3; say +( @problems.grep( $low >= *.height ) ) ~ " low-hanging fruit picked!"; 15:51
p6eval rakudo 5e5969: OUTPUT«No candidates found to invoke␤current instr.: '!dispatch_.=' pc 440 (src/glue/dispatch.pir:118)␤»
15:52 [particle] left
eternaleye alpha: class Fruit { method height() { (1..10).pick; }; }; my Fruit @problems .= map: *.new; my $low = 3; say +( @problems.grep( $low >= *.height ) ) ~ " low-hanging fruit picked!"; 15:52
p6eval alpha 30e0ed: OUTPUT«Confused at line 10, near ": *.new; m"␤in Main (file <unknown>, line <unknown>)␤»
arnsholt masak: Definitely. Makes it that much easier to decide where to stay, instead of using street adresses, which are pretty much meaningless in an unfamiliar city
eternaleye Is what I'm inputting above sensible? 15:54
Oh wait 15:55
rakudo: class Fruit { method height() { (1..10).pick; }; }; my Fruit @problems[10] .= map: *.new; my $low = 3; say +( @problems.grep( $low >= *.height ) ) ~ " low-hanging fruit picked!";
p6eval rakudo 5e5969: OUTPUT«No candidates found to invoke␤current instr.: '!dispatch_.=' pc 440 (src/glue/dispatch.pir:118)␤»
eternaleye rakudo: class Fruit { method height() { (1..10).pick; }; }; my Fruit @problems = (1..10).map: Fruit.new; my $low = 3; say +( @problems.grep( $low >= *.height ) ) ~ " low-hanging fruit picked!"; 15:56
p6eval rakudo 5e5969: OUTPUT«No candidates found to invoke␤current instr.: '_block14' pc 29 (EVAL_1:0)␤»
Tene height that varies each time you look at it, eh? So if it's too high the first timy ou try, just try again. 15:58
16:00 [particle] joined
masak "No candidates found to invoke" feels like a last-resort error message to me. in many situations, one could probably give more clues than that. 16:03
jnthn That's an odd one. 16:07
I'm not sure where it's coming from.
ah, it is a Rakudo one, but should only show up in...unusual...circumstances. :-/
rakudo: say (*.height).WHAT 16:08
p6eval rakudo 5e5969: OUTPUT«Block()␤»
m-locks rakudo: (1..10).pick;
p6eval rakudo 5e5969: ( no output )
m-locks rakudo: say (1..10).pick;
p6eval rakudo 5e5969: OUTPUT«10␤»
16:08 Trashlord joined 16:11 mberends left 16:14 |newbie| joined
masak |newbie|: welcome :) 16:15
16:15 |newbie| is now known as jaffa4
jaffa4 thanks. 16:15
masak oh, it's you :P
jaffa4 it s fun to be here under a different name
masak sure, if you have nothing better to do... 16:16
16:16 rv2733 left
jaffa4 !seen diacopter 16:17
masak ENOPURL
jaffa4 !seen diakopter
masak jaffa4: diakopter was last seen on 06:44 UTC. 16:18
jaffa4 in the morning? 16:19
where is he?
16:20 vorner joined
masak he seems to inhabitate the Krupier belt, mostly. but he has been known to swing by the moons of Neptune. 16:20
16:20 kleanchap joined
jaffa4 what is his country? 16:21
16:21 [particle] left
masak are you from the FBI? 16:21
jaffa4 do you have something to hide?
masak I don't know; should I?
TimToady What is your Quest? 16:22
What is your favourite Colour?
masak I seek the Holy Parse. blue. 16:23
no wait.
masak is catapulted down a ravine
jaffa4 Are you paranoid?
masak hugs jaffa4 16:24
16:24 mberends joined, alester joined
jaffa4 I want to know his country so I can predict when he is going to visit this channel. 16:24
16:25 masak left
jaffa4 Probably when he is awake. 16:25
16:25 masak joined
masak jaffa4: yes, probably then. 16:25
TimToady diakopter's waking hours are not well correlated with his position, but he happens to be residing in California currently.
jaffa4 that means he can be awake soon 16:26
TimToady why can correlate and corollary spell themselves the same way on the front? 16:27
*can't
my n't key seems to be giving me trouble lately
masak you have an actual n't key? 16:28
that's a neat idea.
jaffa4 you could introduce a shortcut
eg, nt= n't
16:28 jonasbn left
masak wouldn't want that. 16:28
but putting it on an unused key sounds like a nice idea.
jnthn That just isnt as cool.
masak hehe jn'thn :) 16:29
mberends you wouldn't wan't it all the time
jnthn You can stick an apostrophe in me, but I'll still be a valid Perl 6 identifier.
masak sometimes you don't in'tend to type n't.
jnthn: :D 16:30
16:30 meppl joined
jaffa4 do not abbreviate! 16:30
TimToady sez hoo? 16:31
masak is that you, Strunk and White?
jnthn I went in'to town in'terested in in'tercepting an in'telligent in'terior designer.
...yeah, it'd suck sometimes.
:-)
mberends windows n't 16:32
masak an an't colony. 16:34
16:35 ignacio_ left
arnsholt TimToady: IIRC corollary and corellate are spelled differently because of ablaut 16:35
masak also, there are the few occasions when you actually want to write 'cant' or 'wont'.
arnsholt Quite possibly the funkiest part of Indo-European languages =D
jnthn is wont to cant.
16:36 ^kleanchap joined
jaffa4 about should not? 16:36
masak arnsholt: I really like that explanation! is it related to 'correlate' having the stress on the first syllable?
arnsholt masak: A bit out of my depth, but AFAIK ablaut and stress are not strictly correlated 16:37
16:37 [particle] joined
masak arnsholt: ok. just checking. 16:37
arnsholt Although derivations with ablaut might sometimes have different stress as well
Ablaut is just the vowel alternation, like deus (god) -> divinus (godlike) 16:38
masak nod.
jnthn sing/sang/sung, etc?
16:39 kleanchap left
arnsholt jnthn: Indeed. The Germanic strong verbs are remnants of the ablaut system 16:39
masak I'm kinda fond of that. it's quirky but colourful. 16:42
arnsholt Ablaut is quite awesome
16:42 ^kleanchap left
arnsholt Particularly when you get to the languages where it's more or less a productive phenomenon, like Sanskrit 16:42
Almost as Semitic root structure ^^ 16:43
Almost as awesome, even
masak 'productive phenomenon'? 16:45
16:45 abra joined
arnsholt masak: Well, it's hypothesised that in the protolanguage, this was the normal way of deriving new words from other words 16:46
And in Sanskrit, you can still do that to a certain extent
TimToady like certain prefixes/suffixes are productive in English 16:47
antidisestablishmentarianism
masak i.e. able to produce an open set of new words/meanings?
TimToady yes
masak got it.
TimToady yesish, anyway
masak :D
16:47 estrabd left 16:48 ignacio_ joined
TimToady its truthinesslessness is apparent 16:48
arnsholt masak: en.wikipedia.org/wiki/Productivity_(linguistics) for more gory details =)
masak arnsholt: thank you. added to the queue :) 16:49
pmichaud masak, jnthn, moritz, mberends: see /invite
arnsholt Heh. I'm also available for monologuing in Copenhagen =) 16:50
16:52 colomon left 16:53 silug joined
TimToady George might have done it, but I'd'ven't. 16:56
masak that took a while to parse. 16:57
is that a negated conjunctive?
dalek kudo: e3f183e | jonathan++ | src/cheats/use.pir:
Don't crash in use if we don't find a namespace with a matching name.
16:58
kudo: 6867a56 | jonathan++ | src/Perl6/Actions.pm:
Try to do use actually at BEGIN-ish time, and fix up routine traits so they can see a block's signature.
17:01 athenot joined 17:02 uniejo joined 17:06 kcwu left 17:09 kcwu joined 17:13 hercynium left 17:14 rgrau left 17:15 snarkyboojum left
masak wow, I'd'ven't actually gives a couple hundred Google hits! 17:17
"If they weren't real words, I'dn't've mentioned them!" :D
PerlJam Heh, I just got an email from the director of a place called "Plasma Engineering Research Lab (PERL)" :-) 17:18
masak so that's what it stands for!
'Is is now OK to say "I'd'ven't'd that extra piece of pie."?' 17:19
17:22 pyrimidine joined
Tene Re: recent discussions about time: news.yahoo.com/s/space/20100302/sc_...aysonearth 17:22
.title
phenny Tene: Chile Earthquake May Have Shortened Days on Earth - Yahoo! News
Tene ""... should have shortened the length of an Earth day by 1.26 milliseconds..." 17:23
masak now that you mention it, I did feel I haven't gotten a full night's sleep lately...
jnthn masak: Suggest going to bed 1.26 milliseconds earlier on a night to compensate. 17:25
masak jnthn: I'd have to revise my schedule...
Tene masak: are you: 1) woken by the sun instead of by an alarm clock, 2) woken by an alarm clock that measures time by detecting the rotation of the earth, or 3) have an alarm clock that's affected by quakes in the same was as the earth? 17:26
... or I guess it could affect the time you go to bed instead, I guess. 17:27
masak Tene: I really like the thought that you put into that. :) 17:28
Tene masak: I really like the blackberry pie I'm eating for a late breakfast. 17:29
masak .oO( smartphone pie ) 17:30
Tene masak: not the phone, these: en.wikipedia.org/wiki/File:Ripe,_ri...erries.jpg
:P
PerlJam tries to make sense of masak and fails
17:30 ignacio_ left
PerlJam :-) 17:31
masak I'm just in a silly mood, I think. :)
pmichaud hahahahahahaha "blackberry pie" ahahahahahahahahah
L.O.L.
masak :)
PerlJam masak++ "a little nonsense now and then is relished by the wisest men"
pmichaud PerlJam: that's a wonky quote :)
masak well, if Tene relishes pie, I guess I'll have to make do with nonsense. 17:32
diakopter masak: did you see my masakbot hilites the past 24 hours
masak diakopter: no, but now that you've alerted me to them...
diakopter++
diakopter see the irclog...
some bugs and maybe-bugs
masak gotcha.
17:33 pmurias joined
masak diakopter: also, a secret agent disguised as jaffa4 was asking for you earlier. 17:33
diakopter yeah
Tene ew relish pie 17:34
pmurias diakopter: hi
cj diakopter: I'm thinking about gsoc and perl6 and the dlr
diakopter pmurias: hi
cj: gsoc?
pmurias google summer of code 17:35
cj diakopter: summer of code
diakopter cj: know any .NET students?
cj diakopter: what is a .NET student?
diakopter a student who uses .NET?
cj diakopter: sure, there are a few in my department. why?
diakopter oh
cj diakopter: I'm a grad student now, so I think I qualify to apply ;) 17:36
diakopter ah
cj diakopter: you've put more time and energy into evaluating the dlr than I have... is it worth considering? 17:38
diakopter cj: I went back and forth on it for a year, and I'm currently at the "yes" point
tho I'm working on my own micro-dlr
based on runsharp
cj looks up runsharp 17:40
17:40 dakkar left, pyrimidine left 17:41 pyrimidine joined
cj looks pretty flexible 17:43
diakopter I added named locals and named labels/gotos
17:44 meppl left 17:45 ignacio_ joined, colomon joined
cj hmmm... should I propose the project to MS or TPF? MS has offices and would probably have office space for me to work from. But TPF is more involved in "teh community" 17:47
diakopter how would you propose the project to ms? 17:48
cj but the latter might be an argument for MS, since it would be nice to drag them kicking and screaming into participation ;)
diakopter through gsoc?
17:49 ignacio_ left
pmurias Microsoft takes part in gsoc? 17:50
cj diakopter: yeah... "Mentoring Organizations" need to apply to GSoC to list proposed "ideas"
17:50 iblechbot left
diakopter oh; heh 17:50
cj pmurias: I could probably convince them to
diakopter coughs
diakopter IMs jschem 17:51
cj it would probably be CodePlex and not MS directly
diakopter: yeah, jimmy would be a good contact
diakopter: especially since I've worked with him on packing the dlr for debuntu
cj has the distinction of having packaged for Debian the first piece of software with official upstream support from MS 17:52
diakopter and the rue of some portion of ubuntu community :P 17:54
cj diakopter: haters :) 17:55
pmurias cj: what do you intend your project to be? 17:56
cj pmurias: an implementation of perl6 using the dlr 17:57
pyrimidine rakudo: @*INC.push('./foo'); @*INC.join(':').say;
p6eval rakudo 6867a5: OUTPUT«/home/p6eval/.perl6/lib:/home/p6eval//p2/lib/parrot/2.1.0-devel/languages/perl6/lib:lib:.:./foo␤»
pmurias cj: that seems to be loads of work
diakopter cj: the biggest hump is the first one - the parser
cj pmurias: get a few tests to pass, put a repo up on github or something where development can be coordinated
pyrimidine rakudo: BEGIN{ @*INC.push('./foo');}; @*INC.join(':').say; 17:58
p6eval rakudo 6867a5: OUTPUT«Confused at line 11, near "BEGIN{ @*I"␤current instr.: 'perl6;HLL;Grammar;panic' pc 500 (ext/nqp-rx/src/stage0/HLL-s0.pir:328)␤»
cj I guess diakopter already started a github repo
diakopter cj: yes, you can use it
I'm using svn
on googlecode
pyrimidine rakudo: BEGIN{ @*INC.push('./foo'); }; @*INC.join(':').say;
p6eval rakudo 6867a5: OUTPUT«Confused at line 11, near "BEGIN{ @*I"␤current instr.: 'perl6;HLL;Grammar;panic' pc 500 (ext/nqp-rx/src/stage0/HLL-s0.pir:328)␤»
diakopter rakudo: BEGIN { @*INC.push('./foo'); }; @*INC.join(':').say; 17:59
p6eval rakudo 6867a5: OUTPUT«/home/p6eval/.perl6/lib:/home/p6eval//p2/lib/parrot/2.1.0-devel/languages/perl6/lib:lib:.␤»
pyrimidine rakudo: BEGIN{ @*INC.push('./foo');}; @*INC.join(':').say; 18:00
p6eval rakudo 6867a5: OUTPUT«Confused at line 11, near "BEGIN{ @*I"␤current instr.: 'perl6;HLL;Grammar;panic' pc 500 (ext/nqp-rx/src/stage0/HLL-s0.pir:328)␤»
18:00 kcwu left
pyrimidine ahh... 18:00
rakudo: BEGIN { @*INC.push('./foo');}; @*INC.join(':').say;
p6eval rakudo 6867a5: OUTPUT«/home/p6eval/.perl6/lib:/home/p6eval//p2/lib/parrot/2.1.0-devel/languages/perl6/lib:lib:.␤»
pyrimidine BEGIN block isn't working yet, I'm guessing 18:01
18:03 kcwu joined, colomon left
pmurias cj: it could make sense to do it with CodePlex with a DLR knowledgable mentor 18:04
18:04 ignacio_ joined
diakopter cj: since it would take years to get a working grammar engine, I recommend using Larry's standard parser in Perl 6 (transliterated to Perl 5) as the front-end 18:05
and of course not allowing dynamic grammars/slangs
18:07 colomon joined
TimToady despite the fact that Larry's standard parser does allow them? :) 18:07
you just don't want to implement BEGIN... :) 18:08
diakopter yes, but not in user input
oh wait
yes, BEGIN; sry
and eval STRING
and such
pmurias eval string is a different beast
cj: if you want to add a .NET backend to mildew i could help with that 18:11
jaffa4 what is mildew? 18:12
18:13 alester left
pmurias a Perl 6 to js or C+smop compiler 18:13
jaffa4 smop? 18:14
pmurias www.perlfoundation.org/perl6/index.cgi?smop
18:17 stephenlb joined
jaffa4 and where is the project? 18:20
masak svn.pugscode.org/pugs/v6/mildew/ 18:22
svn.pugscode.org/pugs/v6/smop/
colomon > (1, { 1 / ((1 / $_) + 1) } ... *).batch(10).perl.say 18:23
(1, 1/2, 1/3, 1/4, 1/5, 1/6, 1/7, 1/8, 1/9, 1/10)
Just wanted to share. ;)
masak colomon++ 18:24
colomon I really dig the new series syntax. Just hope we can get it all actually implemented.
masak rakudo: my Hash $x; $x[1] # by diakopterbot 18:25
p6eval rakudo 6867a5: OUTPUT«No applicable candidates found to dispatch to for '_block12568'␤current instr.: 'perl6;Perl6Role;!select' pc 9770 (src/gen/RoleToClassApplier.pir:574)␤»
masak submits rakudobug
18:25 ignacio_ left
masak alpha: my Hash $x; $x[1] 18:25
p6eval alpha 30e0ed: ( no output )
masak o.O
pugssvn r29918 | colomon++ | [t/spec] Start of simple test file for arity-1 series.
masak locally, alpha says "Could not build C3 linearization: ambiguous hierarchy". I recognize that error. it's in some other bug ticket. 18:26
but this is a new issue, so new ticket it is.
pyrimidine masak: while digging through RT loking for BEGINS bugs, noticed rt#71096 appears to be fixed 18:27
masak pyrimidine: feel free to close it, then.
pyrimidine s/loking/looking/
ok
masak pyrimidine++ 18:28
pyrimidine rakudo: my $a; BEGIN { $a = 42 };
p6eval rakudo 6867a5: ( no output )
18:28 snarkyboojum joined
pyrimidine note that doesn't mean BEGIN works atm 18:29
rakudo: my $a; BEGIN { $a = 42 }; say $a;
p6eval rakudo 6867a5: OUTPUT«Any()␤»
masak rakudo: rakudo: my Hash $x
p6eval rakudo 6867a5: OUTPUT«Confused at line 11, near "rakudo: my"␤current instr.: 'perl6;HLL;Grammar;panic' pc 500 (ext/nqp-rx/src/stage0/HLL-s0.pir:328)␤» 18:30
masak erm.
rakudo: my Hash $x
p6eval rakudo 6867a5: ( no output )
masak rakudo: my %x; %x[1]
p6eval rakudo 6867a5: OUTPUT«Method 'postcircumfix:<[ ]>' not found for invocant of class ''␤current instr.: '!postcircumfix:<[ ]>' pc 10518 (src/builtins/Role.pir:45)␤»
snarkyboojum is there going to be vid of any of the copenhagen hackathon talks? :) 18:31
the talks look very juicy
pyrimidine masak: getting a 'permission denied' on closing that ticket (#71096). :-( 18:32
colomon snarkyboojum: what's the link for the talk descriptions?
masak snarkyboojum: haven't heard anything about vids. wouldn't rule it out, though. ask jonasbn++
snarkyboojum thinks there should be a crew of dedicated video guys doing vid of Perl 6 talks as a matter of course :)
masak pyrimidine: I'll do it. we should give you an account. 18:33
snarkyboojum masak: cheers
masak std: my Any %.x=3,%.x;
p6eval std 29917: OUTPUT«ok 00:01 109m␤»
masak rakudo: my Any %.x=3,%.x;
snarkyboojum colomon: I'm looking at www.opensourcedays.org/2010/node/267
p6eval rakudo 6867a5: OUTPUT«Lexical 'self' not found␤current instr.: '_block14' pc 29 (EVAL_1:0)␤»
masak submits LTA rakudobug
snarkyboojum under the Perl column on the right :)
colomon snarkyboojum++ # and that does look like a sweet schedule. 18:34
masak colomon: www.opensourcedays.org/2010/node/267
oh. snarkyboojum++ beat me to it :)
snarkyboojum curses being in the southern hemisphere (at least momentarily)
:)
colomon masak++ # even if he is slow. ;)
masak the "Perl" is in fact _only_ Perl 6 :)
colomon I loved that. 18:35
snarkyboojum hehe.. I like that
colomon rakudo: say Block ~~ Code
p6eval rakudo 6867a5: OUTPUT«1␤»
masak rakudo: Block()
p6eval rakudo 6867a5: OUTPUT«Could not find non-existent sub &Block␤current instr.: '_block14' pc 29 (EVAL_1:0)␤»
pyrimidine masak: np, let me know re: account
masak rakudo: Block.()
p6eval rakudo 6867a5: OUTPUT«Null PMC access in invoke()␤current instr.: 'perl6;Code;callwith' pc 12703 (src/builtins/Str.pir:23)␤»
masak submits rakudobug
rakudo: Code.() 18:36
p6eval rakudo 6867a5: OUTPUT«Null PMC access in invoke()␤current instr.: 'perl6;Code;callwith' pc 12703 (src/builtins/Str.pir:23)␤»
masak pyrimidine: I actually don't really know who to ask. I forgot.
pyrimidine: moritz_++ would know.
cj snarkyboojum: hi! ltns ;) 18:37
18:38 ignacio_ joined
masak rakudo: Sub.() 18:39
p6eval rakudo 6867a5: OUTPUT«Null PMC access in invoke()␤current instr.: 'perl6;Code;callwith' pc 12703 (src/builtins/Str.pir:23)␤»
masak rakudo: Method.()
p6eval rakudo 6867a5: OUTPUT«Null PMC access in invoke()␤current instr.: 'perl6;Code;callwith' pc 12703 (src/builtins/Str.pir:23)␤»
masak rakudo: Class.()
p6eval rakudo 6867a5: OUTPUT«Could not find non-existent sub &Class␤current instr.: '_block14' pc 29 (EVAL_1:0)␤»
masak oh, right.
rakudo: Any.()
p6eval rakudo 6867a5: OUTPUT«invoke() not implemented in class 'Any'␤current instr.: '_block14' pc 29 (EVAL_1:0)␤»
masak rakudo: Multi.() 18:40
p6eval rakudo 6867a5: OUTPUT«Null PMC access in invoke()␤current instr.: 'perl6;Code;callwith' pc 12703 (src/builtins/Str.pir:23)␤»
masak rakudo: Routine.()
p6eval rakudo 6867a5: OUTPUT«Null PMC access in invoke()␤current instr.: 'perl6;Code;callwith' pc 12703 (src/builtins/Str.pir:23)␤»
masak rakudo: Callable.()
p6eval rakudo 6867a5: OUTPUT«invoke() not implemented in class 'Perl6Role'␤current instr.: '_block14' pc 29 (EVAL_1:0)␤»
18:40 am0c joined 18:41 snarkyboojum left
masak rakudo: say 0.00000000000000000000 # also by diakopterbot 18:42
p6eval rakudo 6867a5: OUTPUT«No applicable candidates found to dispatch to for 'infix:<div>'␤current instr.: 'perl6;Rat;new' pc 317386 (src/gen/core.pir:37507)␤»
masak rakudo: say 0.0000000000000000000
p6eval rakudo 6867a5: OUTPUT«Nominal type check failed for parameter '$b'; expected Int but got Num instead␤current instr.: 'perl6;Rat;gcd' pc 316806 (src/gen/core.pir:37282)␤»
masak submits rakudobug
this one is very close to getting a [WEIRD] label, but I think it might actually occur in someone's code, so... 18:43
jaffa4 rakudo is the most complete implementtation now 18:45
, is it not?
masak I would say so, yes. but Pugs still has some things Rakudo doesn't, I believe.
but in terms of raw test-passing numbers, sure. 18:46
jaffa4 I could not compile pugs
pugs is dead.
If I know it correctly
masak it's hibernating.
18:46 colomon left
jaffa4 vapourware? 18:47
masak the attention it gets is in the form of updates to the newest GHC compiler, IIUC.
jaffa4: no, vapourware is a product with no releases and a lot of hype.
18:47 ignacio_ left
masak Pugs had a number of releases in its time. 18:47
diakopter jaffa4: pugs is obtained from hackage
pyrimidine Duke Nukem Forever
diakopter not from pugscode
it's still maintained 18:48
pyrimidine diakopter: by audreyt?
masak rakudo: say 0xFFFFFFFFFFFFFFFF # diakopterbot 18:50
p6eval rakudo 6867a5: OUTPUT«-1␤»
jaffa4 ok
masak submits rakudobug
rakudo: say 0o7777777777777777777777 18:51
p6eval rakudo 6867a5: OUTPUT«-1␤»
diakopter pyrimidine: yes
pyrimidine ok, nice to know!
diakopter jaffa4: hackage.haskell.org/package/Pugs last release 2009-12-16
for GHC 6.10 18:52
18:53 jonasbn joined
jonasbn good evening ppl 18:54
diakopter it's broken up into a couple others: hackage.haskell.org/package/pugs-DrIFT hackage.haskell.org/package/pugs-compat hackage.haskell.org/package/MetaObject hackage.haskell.org/package/HsParrot
masak jonasbn: \o
diakopter and hackage.haskell.org/package/HsSyck
masak I'm hungry now. time to care about nom.
18:54 masak left 19:02 aesop left 19:06 kcwu left 19:08 meppl joined 19:09 abra left 19:10 xomas joined, xomas left, xomas joined, riffraff left 19:11 colomon joined 19:13 kcwu joined
pugssvn r29919 | colomon++ | [t/spec] Arity-0 test added. 19:16
19:19 kcwu left 19:22 kcwu joined 19:23 cotto_work joined, Chillance joined 19:24 ignacio_ joined 19:25 uniejo left 19:33 kcwu left 19:34 am0c left 19:35 cotto_work left 19:36 aesop joined, jaldhar left 19:47 cotto_work joined 19:56 Trashlord left 19:58 cotto_work left 20:05 payload left 20:09 bacek joined 20:11 cotto_work joined 20:12 kst joined 20:17 lichtkind joined 20:19 cotto_w0rk joined 20:20 cotto_work left
lichtkind hello p6 people i have a very broad question, what events where important to perl 6 beside the obvious 4 (announcement, birth of pugs, birth of Rakudo and rakudo star) 20:21
Su-Shee monthly release date since xy. 20:22
TimToady um, birth of parrot?
smop?
lichtkind TimToady: when was that? 20:23
Su-Shee: good idea
TimToady you could get that from svn logs, I expect
lichtkind TimToady: that would be great i write it into wiki so nobody has to ask this again
TimToady or search for smop in the irc logs
lichtkind in fact im currently writing the perl 6 timeline 20:24
bkeeler Don't forget the apocalypses, and before that the RFC phase
TimToady and the part where I was sitting there in complete paralysis for six months after the RFCs came out... 20:26
Su-Shee call it a "phase of intense meditation".
bkeeler For giggles you could even dig up Chip's Topaz effort 20:27
20:27 b_jonas joined
TimToady then there was 2003 wherein I had stomach cancer, almost bled to death after the Perl Whirl in Hawaii, avoided becoming uninsurable by a mere two days, had two stomach surgeries after OSCON. 20:29
and was basically out of it for the next year, mentally speaking.
(and was unemployed for four years) 20:30
lichtkind bkeeler: its already mentioned in historic implementations page 20:31
bkeeler Topaz? Yeah, it was kinda neat in its way. He did things with C++ templates that I'd never seen at any rate 20:32
lichtkind TimToady: want we really put that into the timeline ... (larry had personal struggles)
TimToady r15172 | lwall | 2007-02-03 16:06:55 -0800 (Sat, 03 Feb 2007) | 2 lines 20:33
First snapshot of proposed standard Perl 6 grammar in standard Perl 6.
Su-Shee why not? open source developers aren't machines churning out projects on a deadline.
20:33 cotto_w0rk left
TimToady lichtkind: in my culture, vulnerability is considered a strength, not a weakness. 20:34
20:34 cotto_work joined
lichtkind TimToady: in my too :) 20:34
TimToady: i just ask before it goes online
TimToady Perhaps it's a bit selfish of me to want people to know I wasn't slacking off *all* the time... :) 20:35
lichtkind TimToady: that one is great thanks
i mean the STD.pm info 20:36
20:37 bluescreen left
lichtkind bkeeler: do you know when first apocalypses came out? 20:39
TimToady it says there right in the document, 2 April 2001 20:40
Tene Author: ask <ask@d31e2699-5ff4-0310-a27c-f18f2fbe73fe> 20:42
Date: Wed Aug 29 11:36:49 2001 +0000
first readme.
first commit in the parrot repo
bkeeler pmichaud: around perchance? 20:43
lichtkind TimToady: thanks excuse my i was still busy typing
20:43 astrojp left
Tene in my culture slacking off is occasionally a virtue. 20:43
lichtkind Tene: :) 20:44
20:44 rgrau joined 20:45 snarkyboojum joined 20:46 payload joined
pyrimidine Is there anything GSoC-related going on with perl6 this year? 20:46
I think proposals are due next week... 20:47
cj pyrimidine: I'm thinking about it
pyrimidine what organisation?
cj pyrimidine: I just sent mail to TPF, CodePlex.org & MS about potentially doing perl6 on the dlr
pyrimidine okay, that makes sense 20:48
20:49 alester joined
cj insomuch as allison is TPF, Sam is CodePlex.org and Jimmy is MS, anyway 20:49
s/al/Al/
20:50 bluescreen joined 20:55 stephenlb left
lichtkind thanks hackers : www.perlfoundation.org/perl6/index.cgi?timeline 20:55
thats just a start
21:00 Exodist joined 21:02 root___ joined 21:09 elmex left 21:14 cotto_w0rk joined 21:16 cotto_work left
colomon what is the dlr? (he said, backlogging) 21:23
cj colomon: the dynamic language runtime ;)
arnsholt Dynamic Language Runtime (or somesuch)
cj wp.colliertech.org/cj/?p=175
arnsholt The VM used by .Net
cj arnsholt: almost ;) 21:24
the CLR is the VM used by .NET
colomon but it's a funky interface to the CLR? sweet!
cj the DLR is infrastructure on top of that to ease implementation of dynamic languages on the CLR
colomon Having perl 6 running on the CLR would be a huge plus for my $work... 21:25
21:25 stephenlb joined
colomon cj++, arnsholt++ 21:26
bkeeler Agreed, perl6 on the DLR would be teh w00t! 21:27
21:28 bacek left
eternaleye rakudo: sub fisher-yates( @input ) { my $output; while +@input { my $rnd = ( ^+@input ).pick; @input.=rotate( $rnd ); @output.push( @input.shift ); @input.=rotate( -$rnd ); }; return( @output ); }; fisher-yates( ^10 ); #Is this how .pick( * ) is implemented under the hood? 21:28
p6eval rakudo 6867a5: OUTPUT«Symbol '@output' not predeclared in fisher-yates␤current instr.: 'perl6;PCT;HLLCompiler;panic' pc 137 (compilers/pct/src/PCT/HLLCompiler.pir:101)␤»
eternaleye Grr, sigil mistype 21:29
rakudo: sub fisher-yates( @input ) { my @output; while +@input { my $rnd = ( ^+@input ).pick; @input.=rotate( $rnd ); @output.push( @input.shift ); @input.=rotate( -$rnd ); }; return( @output ); }; fisher-yates( ^10 ); #Is this how .pick( * ) is implemented under the hood?
p6eval rakudo 6867a5: OUTPUT«Nominal type check failed for parameter '@input'; expected Positional but got Range instead␤current instr.: 'fisher-yates' pc 191 (EVAL_1:78)␤»
eternaleye alpha: sub fisher-yates( @input ) { my @output; while +@input { my $rnd = ( ^+@input ).pick; @input.=rotate( $rnd ); @output.push( @input.shift ); @input.=rotate( -$rnd ); }; return( @output ); }; fisher-yates( ^10 ); #Is this how .pick( * ) is implemented under the hood?
p6eval alpha 30e0ed: ( no output )
eternaleye alpha: sub fisher-yates( @input ) { my @output; while +@input { my $rnd = ( ^+@input ).pick; @input.=rotate( $rnd ); @output.push( @input.shift ); @input.=rotate( -$rnd ); }; return( @output ); }; say fisher-yates( ^10 ); #Is this how .pick( * ) is implemented under the hood?
p6eval alpha 30e0ed: OUTPUT«1605974328␤»
cj TimToady: looks like Mono's got continuations now: www.mono-project.com/Continuations 21:30
eternaleye alpha: sub fisher-yates( @input ) { my @output; while +@input { my $rnd = ( ^+@input ).pick; @input.=rotate( $rnd ); @output.push( @input.shift ); @input.=rotate( -$rnd ); }; return( @output ); }; say ~fisher-yates( ^10 ); #Is this how .pick( * ) is implemented under the hood?
p6eval alpha 30e0ed: OUTPUT«2 3 4 6 5 7 9 1 8 0␤»
eternaleye Well, without the infinite recursion 21:31
colomon eternaleye: no, I'm pretty sure it's not how pick is implemented under the hood.
lichtkind mberends: haj
eternaleye colomon: Not .pick, .pick( * )
Different algorithms
pmichaud bkeeler: around, for a very short bit
colomon well, to be more precise, I know that's not how it works in alpha, and ....
no, exact same algorithms 21:32
eternaleye Fisher-yates is the generally accepted random-ordering of a set
cj however, if I want to woo MS into mentoring the project, I probably shouldn't use features that aren't available on their platform ;)
bkeeler pmichaud: heyas. I've got that grammar patch pretty much ready to go I think
eternaleye O( N ) as opposed to O( NlogN ) for tagging and sorting
bkeeler pmichaud: Think there's time to get it in before the conference?
pmichaud bkeeler: cool -- send it to me in email, or in an rt ticket? I'll review it (but probably not before tomorrow)
bkeeler: sure, I think it's very likely to go in before the conference 21:33
colomon eternaleye: I ported alpha's pick to master, so I probably count as an authority on the subject. :)
bkeeler pmichaud: will do. That's great
eternaleye Okay, cool
21:33 riffraff joined
colomon I've been meaning to switch pick to using something more like f-y, but haven't gotten around to it. 21:33
not least because I'm not sure we've got enough pick tests to verify that the new version actually works. :( 21:34
eternaleye What algorithm does it use? Iterate and select maintaining an already-picked list, or tag-and-sort?
21:34 cotto_w0rk left
colomon it actually copies the source list and deletes elements off it as it is picked. 21:34
eternaleye ( just came from reading www.robweir.com/blog/2010/02/micros...allot.html )
Ah, .delete($num) aka :delete 21:35
Still fisher yates, just a slightly different implementation
en.wikipedia.org/wiki/Fisher–Yates_shuffle
colomon but swapping must be drastically more effiicient
lichtkind masak for the name GGE :) 21:36
21:36 riffraff left
colomon ours is O(N^2), I fear, unless delete's doing something magical I don't know about. 21:36
lichtkind masak++
eternaleye No idea; it depends on the internals of the picked class. If rotating is more efficient than an inplace delete (ring-buffer style), then my style might be faster. For a linked list, master's way would be faster
colomon good point, I guess I don't actually know how array is implemented internally. I've always assumed it is a flat array rather than a linked list. 21:37
eternaleye For a static array, it would be easier to set deleted ones to a flag value and just skip over those and pretend they aren't there 21:38
21:38 cotto_work joined
colomon eternaleye: oooo, I'm pretty sure that is much harder to get correct. 21:38
afk for a bit.... 21:39
eternaleye colomon: Maybe an ImplementationMu, that should never be seen by the user and implementations consider a 'nothing to see here, move along' sign?
OTOH, PMCNULL might be considered as filling that roll 21:41
*role
21:45 snarkyboojum left, elmex joined 21:51 jonasbn left, pyrimidine left, ignacio_ left 21:52 SmokeMachine left 21:53 Su-Shee left 22:01 bacek joined 22:06 bluescreen left, bacek left 22:08 pjcj left 22:22 riffraff joined 22:28 riffraff left 22:35 nihiliad left
pmurias cj: does p5 have .NET interop? 22:36
cj: that is, is it possible to use .NET libraries from p5?
jaffa4 activestate have such options 22:40
it is commerical
pmurias: activestate
cj pmurias: nope, not unless you count libmono 22:43
22:43 athenot left
pmurias cj: C# has an FFI? 22:44
cj pmurias: I don't think so... it goes the other way, though: 22:45
The term foreign function interface is generally not used to describe multi-lingual runtimes such as the Microsoft Common Language Runtime, where a common "substrate" is provided which enables any CLR-compliant language to use services defined in any other. (However, in this case the CLR does include an FFI, P/Invoke, to call outside the runtime.)
(perl is not a CLR-compliant language :) ) 22:46
using libmono from XS to spin up a VM will get you in the door, though
www.mono-project.com/Embedding_Mono 22:47
22:53 astrojp joined 23:02 rv2733 joined
lichtkind further hints for www.perlfoundation.org/perl6/index.cgi?timeline ? 23:03
pmurias a variable can't be rebound from within a subroutine? 23:15
23:17 jaffa4 left 23:20 xabbu42 joined
colomon justrakudoit.wordpress.com/2010/03/...le-series/ 23:20
23:28 wknight8111 joined 23:29 root___ left 23:31 [particle]1 joined
diakopter rakudo: 5.=() 23:32
p6eval rakudo 6867a5: OUTPUT«src/oo.c:911: failed assertion 'method_name'␤Backtrace - Obtained 14 stack frames (max trace depth is 32).␤/home/p6eval//p1/lib/libparrot.so.2.1.0 [0x2b17fc69fd03]␤/home/p6eval//p1/lib/libparrot.so.2.1.0(Parrot_confess+0x87)
..[0x2b17fc69fe37]␤/home/p6eval//p1/lib/libparrot.so.2.1.0(…
diakopter rakudo: 5.+()
p6eval rakudo 6867a5: OUTPUT«src/oo.c:911: failed assertion 'method_name'␤Backtrace - Obtained 14 stack frames (max trace depth is 32).␤/home/p6eval//p1/lib/libparrot.so.2.1.0 [0x2b2d6a0ecd03]␤/home/p6eval//p1/lib/libparrot.so.2.1.0(Parrot_confess+0x87)
..[0x2b2d6a0ece37]␤/home/p6eval//p1/lib/libparrot.so.2.1.0(…
23:32 [particle] left
diakopter oh, hm 23:32
there was another...
oh yeah
rakudo: .=()
p6eval rakudo 6867a5: OUTPUT«src/hash.c:144: failed assertion 's'␤Backtrace - Obtained 17 stack frames (max trace depth is 32).␤/home/p6eval//p1/lib/libparrot.so.2.1.0 [0x2b1bc452ad03]␤/home/p6eval//p1/lib/libparrot.so.2.1.0(Parrot_confess+0x87) [0x2b1bc452ae37]␤/home/p6eval//p1/lib/libparrot.so.2.1.0
..[0x2b1bc…
23:34 pmurias left 23:37 mberends left
wknight8111 rakudo: 4.+() 23:41
p6eval rakudo 6867a5: OUTPUT«src/oo.c:911: failed assertion 'method_name'␤Backtrace - Obtained 14 stack frames (max trace depth is 32).␤/home/p6eval//p1/lib/libparrot.so.2.1.0 [0x2b1691b3cd03]␤/home/p6eval//p1/lib/libparrot.so.2.1.0(Parrot_confess+0x87)
..[0x2b1691b3ce37]␤/home/p6eval//p1/lib/libparrot.so.2.1.0(…
wknight8111 oi
4.=() 23:42
rakudo: 4.=()
p6eval rakudo 6867a5: OUTPUT«src/oo.c:911: failed assertion 'method_name'␤Backtrace - Obtained 14 stack frames (max trace depth is 32).␤/home/p6eval//p1/lib/libparrot.so.2.1.0 [0x2b4a4a9c3d03]␤/home/p6eval//p1/lib/libparrot.so.2.1.0(Parrot_confess+0x87)
..[0x2b4a4a9c3e37]␤/home/p6eval//p1/lib/libparrot.so.2.1.0(…
23:50 mberends joined 23:52 clintongormley left
diakopter wknight8111: sorry, the other one was .=() 23:53
hash.c
dalek kudo: 9921175 | jonathan++ | (3 files):
Start to tease apart abstract roles (the name for the whole set of possible parameterizations) and concrete roles (a particular variant) in the type system, and tweak infix:<does> to take advantage of it. Probably more to come on this, but it's a start.
23:55
kudo: 32a9461 | jonathan++ | src/core/traits.pm:
Start to put back of and returns traits a bit more. We don't enforce return type constraints yet, however.