»ö« | 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.
jnthn > say &infix:<+> 00:06
infix:<+>
That fixes that one then. :-) 00:07
lue rakudo: say &infix:<+> 00:09
p6eval rakudo 94a6c4: OUTPUT«Symbol '&infix:<+>' not predeclared in <anonymous>␤current instr.: 'perl6;PCT;HLLCompiler;panic' pc 137 (compilers/pct/src/PCT/HLLCompiler.pir:101)␤»
lue I must tell you the proof is not there :)
00:09 pochi left
lue noms ready, 'bye 00:11
00:12 kborer left 00:17 blarg left 00:18 tarski joined
lichtkind jnthn: still there? 00:25
jnthn lichtkind: yes, just
lichtkind jnthn: www.perlfoundation.org/perl6/index.cgi?parrot 00:26
i rewrote that
its now better eye parsable
better organized infos
dalek kudo/master: 44950e8 | jonathan++ | src/pmc/perl6multisub.pmc:
Set scalar property on multis so they don't flatten out to their candidates.
lichtkind please look if its correct :)
jnthn lichtkind: Looks reasonable. :-) 00:27
lichtkind: Ask the folks in #parrot to review it too
lichtkind true
jnthn hige level language
s/hige/high/
00:27 ignacio_ left
jnthn Anyways, sleep time for me...night 00:28
00:29 fridim_ left
lichtkind jnthn: o/ 00:29
00:33 eternaleye left
Coke jnthn: noooooooooooooooooo 00:33
00:35 IllvilJa joined 00:36 eternaleye joined
lue oi! 00:43
lue is trying to continue his help under The Patron Saint of Camelia 00:48
00:55 eternaleye left
TimToady Camelia doesn't believe in patronization... 01:02
lue The Patron Saint of Tim? 01:03
Linus?
Coke mmm, patron.
lue parton 01:09
pardon
pardot
parrot :D
cognominal rakudo: ++[[]][+[]] == 1 01:10
p6eval rakudo 44950e: OUTPUT«Method 'succ' not found for invocant of class 'Array'␤current instr.: '&prefix:<++>' pc 358391 (src/gen/core.pir:52314)␤»
cognominal Perl6 is clearly not javascript :)
lue youre rain ov tierany is ovr, [] ! 01:11
01:15 lichtkind left
dalek kudo/master: 43e22db | pmichaud++ | src/Perl6/Actions.pm:
Make &-sigiled variables act like scalars also (they don't flatten).
01:18
kudo/master: c7d3993 | pmichaud++ | src/pmc/perl6multisub.pmc:
Merge branch 'master' of [email@hidden.address]
01:25 jaldhar left
lue what's this master merging? Harmless, or another celebration? 01:25
01:37 tarski left 01:38 eternaleye joined 01:48 mssm left, athenot joined
colomon lue: harmless 01:55
It means his local version of Rakudo master was merged with changes from the main version. 01:56
lue ah. 01:57
colomon Might just mean he forgot to use the rebase option when he pulled the changes. :)
Just a git thang.
01:58 wknight8111 left
lue hears the draft of people not here 01:59
colomon hears episode two of Spaced from the living room 02:01
lue sees the noise of silenece 02:02
02:04 Coke left
lue mi estas komencanto de Esperanton. (So I'm going to learn more) 02:04
02:15 cdarroch left 02:27 stephenlb left
IllvilJa Sweden won in Womens Curling in Vancouver! \o/ 02:33
IllvilJa does the wave!
colomon wishes his cable had carried the curling.
TimToady Hey, no spoilers!!!!!
lue HALLELUJAH!!! MICHAEL ROW THE BOAT ASHORE!!! 02:34
3D is no longer tinted blue on this machine (in blender at least) !!!
I have been waiting FOREVER for it work properly!
dalek ok: a1b3c0e | andymccurdy++ | README:
rename to get nice highlighing on github ;)
02:35 dalek joined
dalek kudo/master: 6d75acf | (Alex Suraci)++ | includes/ (2 files):
Fixed QueryBuilder::safecol and silenced warnings in includes/lib/gz.php
02:35
kudo/master: a259a26 | (Alex Suraci)++ | includes/class/Twig/api.php:
Fixed Twit_Template::render() to use ob_get_clean(). [#65 state:resolved]
rakudo/master: c98fe91 | (Alex Suraci)++ | includes/admin.js.php:
02:35 dalek left
lue bye, dalek o/ 02:35
02:36 dalek joined
dalek ok: 89b059a | (Matt Croydon)++ | taggit/models.py:
Changed the related_name on the content_type field for TaggedItem to tagged_items per Alex's suggestion.
02:36
grok: b5fc5d9 | (Alex Gaynor)++ | taggit/ (3 files):
grok: Fixed #7. Corrected tags__in= lookups with inheritance.
02:36 dalek left
colomon errr... why was dalek reporting that stuff? 02:36
why is, I should say?
lue apparently, daleks are not water-resistant
colomon none of it is perl 6 related as far as I can see.
02:36 dalek joined
dalek november: 742b2e8 | VladimirMangos++ | src/ (7 files): 02:37
november: [9454] Fixed some time existed multi-map taxi problem.
02:37 dalek left, dalek joined
lue Apparently, Perl6 comes with taxis 02:38
and twigs.
the floods hath stopped. And out came a drought. It came to pass that a desert was born, which bore: 02:41
The Camel
PerlJam um ... what *is* dalek doing? 02:42
TimToady malfing
PerlJam That november doesn't look like the november I know.
lue called the kaleds! The cybermen! The Master! The Doctor! The President! Davros! (ad infinitum). They can help us! 02:43
colomon looks like it is randomly spewing commits across github.
lue The Doctor obviously messed with those crazy daleks. :) 02:44
lue will always make Dr. Who references/jokes as long as the bot is named dalek
TimToady well, maybe some community with even less real life than ours has shut it down...
lue ...which would be the cybermen (I _knew_ #parrot was iffy-lookin'...) 02:45
.oO(Does anyone know when the next season of Dr. Who (with new Doctor #11, Matt Smith) will come on in the US? The wait is killing me)
02:46
02:46 eternaleye left
lue
.oO(And don't say `Spring 2010'. I know that already.)
02:48
02:53 gfx joined, ShaneC left
dalek november: befa664 | bernhard++ | (3 files): 02:54
november: [lazy-k] give up on unified languages testing for lazy-k, run tests in hll dir
02:54 dalek left 02:55 eternaleye joined
lue more flooding! \o/ 02:55
02:55 dalek joined
dalek p-rx: 4691f6e | (Luke Sneeringer)++ | __init__.py:
Fixed set_product_code to actually work.
02:56
p-rx: f4e1372 | (Luke Sneeringer)++ | __init__.py:
Removed four extraneous references to an instance's product_code that I added when I wasn't being careful.
p-rx: 596b9ba | (Luke Sneeringer)++ | __init__.py:
checking for the presence of a Django setting with hasattr
p-rx: fcf4a6a | (Luke Sneeringer)++ | exceptions.py:
All CheddarGetter exceptions now inherit from one common exception (MouseTrap)
nqp-rx: b6ea583 | (Jason Ford)++ | AUTHORS.markdown:
nqp-rx: Added AUTHORS.markdown
lue almost, but not quite rakudo. :D 02:57
02:57 meppl left
dalek ok: 0b24efb | (George Hotz)++ | (49 files):
more linux fixes, created Commands
02:57
02:57 dalek left
diakopter um 02:57
diakopter investigates 02:58
TimToady if we /kb dalek, does that ban everyone on feather?
02:58 dalek joined, diakopter sets mode: -v dalek
lue what good did that do? It only ever shouts exterminate! (I warned you >:) ) 02:59
03:01 dalek left
diakopter killed until someone finds Infinoid 03:01
lue now davros killed it! \o/ (or maybe /o\)
03:02 Trashlord left 03:03 dhaivat_ joined
dhaivat_ I'm just asking, how far do you guys think parrot and perl 6 are from being production ready? 03:03
lue (I vote we rename pugssvn to cyberman) 03:04
diakopter dhaivat_: opinions vary widely, imho.
TimToady dhaivat_: depends on what you're producing
lue dhaivat_: not that far, IMO. Rakudo * is coming in a couple of months.
If you were developing a guessing game, it's ready.
If you were coding the next space shuttle, it's not ready. 03:05
diakopter hmm, let's narrow that a bit
dhaivat_: if you develop grammar-based fuzz-testers, it's ready [to serve as a test target] for that. 03:07
hmm, maybe it is a github problem (dalek flooding) 03:08
lue it was probably flooded with feelings :)
diakopter let's see 03:09
03:10 dalek joined
diakopter dalek: ? 03:10
03:10 diakopter sets mode: +o dalek
lue you did WHAT!? 03:10
RUNNN!
dalek: ? 03:12
(erm... what happened? Did dalek really just kill everyone?) 03:15
TimToady still has his head down
lue I'd shoot its eye with a paintball gun, but then it'd melt the paint :/ 03:16
diakopter: I ran because you gave it channel op privileges. Why? It only needs to talk. 03:21
diakopter lue: to alarm you :)
03:22 diakopter sets mode: -o dalek, diakopter sets mode: +o lue
lue \o/ omigosh 03:22
I can has cheezburger? (er, chan-op)
diakopter dhaivat_: to be more clear, by my standards, several hundred person-months
where my standards include STD compliance, even by the "eventual deferral" clause in S01 03:23
er, STD/synopses
lue ACHTUNG: Ego Train is passing by 03:37
, the all-mighty dictator, commands you to make conversation!
lue ACHTUNG: Ego Train left
03:39 snarkyboojum left, snarkyboojum joined 03:41 justatheory left, JOHND left, JOHND joined
lue Dalek can has talk? (can't believe I'm asking that...) 03:42
03:42 JOHND left
colomon rakudo: say (1, 5, 3).sort 03:47
p6eval rakudo c7d399: OUTPUT«135␤»
colomon rakudo: say (1, 5, 3).map({$^a * 2}).sort 03:50
p6eval rakudo c7d399: OUTPUT«Method 'sort' not found for invocant of class 'MapIterator'␤current instr.: '_block14' pc 29 (EVAL_1:0)␤»
colomon > say (1, 5, 3).map({$^a * 2}).sort 03:53
2610
dalek p-rx: 5202196 | (Brian Rosner)++ | (2 files):
BACKWARD INCOMPATIBLE: renamed Notice.user to Notice.recipient and changed its context variable to match
03:54
nqp-rx: 57f4da8 | (Brian Rosner)++ | (2 files):
03:54 dalek left 03:55 dalek joined
lue again, dalek was close, but it was not quite rakudo (that was a pun) 03:57
dalek ok: b719e9b | jeresig++ | (2 files):
Make sure that unknown :foo selectors throw an exception.
03:57 dalek left, dhaivat_ left 03:58 dalek joined
lue dalek: ? 03:58
dalek: help
dalek p-rx: 54cc160 | LeNsTR++ | README:
first commit
04:00
p-rx: b6c2287 | LeNsTR++ | README:
upd. README
04:00 dalek was kicked by PerlJam (dalek))
lue Not Quite Rakudo. sorry dalek. But you still get a copy of our home game! 04:01
dalek kudo/master: b6b49a4 | (Mark Paschal)++ | setup.py:
Add trove classifiers
rakudo/master: 83cff7f | (Mark Paschal)++ | setup.py:
rakudo/master: Read long description from readme
lue hoorah! It gave us good info!
04:01 dalek joined
lue wait. It was kicked, talked, THEN joined? Quantum Physics in action (effect before cause) 04:02
dalek ok: 1cc36ec | Kevin++ | (2 files):
added readme
04:04
04:04 dalek left
lue aw, so close 04:04
04:05 dalek joined
lue if dalek isn't fixed soon, I'm kicking him. 04:07
PerlJam someone commit something to one of the repos that dalek should be watching. 04:08
lue I would, but I'm not one to have an account to commit to rakudo (yet)
colomon I just did. 04:09
Actually, I've been committing stuff for the last hour or so. 04:10
lue oi. It appears (for the most part) to be watching everything BUT rakudo/master :/
TimToady maybe someone dropped a NOT somewhere
04:10 Chillance left
lue rakudo: multi sub dalek($a){say "$a exterminated!";}; say dalek("ircbot bug"); 04:11
p6eval rakudo 33083c: OUTPUT«ircbot bug exterminated!␤1␤»
lue :) When it's appropriate, I want to create "the official" module, for stuff that any of us wanted to implement, but was never `legal'. 04:12
such as the jnthn() sub (from a while ago), ≤/≥/≠ operators, etc. etc. etc. 04:14
PerlJam I don't know anything about dalek, but I sent it a SIGHUP hoping it would solve the problem. 04:16
It appears to have stopped the spam, but I don't know if it's crippled dalek in the process. 04:17
lue I, however, SIGHDOWN :)
dalek p-rx: 9bf03df | pmichaud++ | (2 files):
Add \c[nn,nn,nn] form of character specification.
nqp-rx: b72372c | pmichaud++ | (2 files):
nqp-rx: Add \c[UNICODE CHAR NAME] literals.
04:17 dalek left 04:18 dalek joined
PerlJam those were valid :) 04:18
lue how rokeb ti? eriouslyS, t'sI eryv nnoyinga.
dalek ok: 69a026a | masak++ | docs/announce/2009-12:
[docs/announce/2009-12] created announcement
04:19
04:19 dalek left
lue is book valid? Was dalek expanded while I wasn't looking? 04:19
or has nqp been updated for the first time in forever?
04:19 dalek joined
PerlJam huh. Those are *old* commits. 04:19
nqp was updated earlier today btw. :) 04:20
lue so, in addition to reporting the WRONG repos, it also goes BACK IN TIME?
colomon nqp-rx had several legit commits today, I think.
lue (quick masak! Steal dalek's code for the TARDIS (debugger)! Before they kill the offending code!)
PerlJam lue: well, dalek *is* battling a time lord ... 04:21
lue It must be part of the cult of Skaro then (or Scaro, can't remember exact spelling)
(I still vote we rename pugssvn to cyberman) 04:22
at least then both repo-watch bots are near each other (c and d instead of d and s) 04:23
04:26 dalek left, dalek joined
TimToady perhaps dalek's life is flashing before its eyes as it dies... 04:34
lue ..........Skkkkkkaaaaaaaaaaaaarrrrrrrrrroooo............... 04:38
........The cult.......of.........Skaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaa[end]
TimToady: its eye (singular). Look up dalek on wikipedia. A dalek has more technical terms than an IBM Assembler Reference Manual 04:43
Or the healthcare plan :D 04:46
lue hellos are sent into the wind 04:51
avar $ ./perl6 -e 'say 1.+(2)' 04:56
Segmentation fault
on b9b14f9d1c60c5b0dfa57e1fc15c6d6ee3d9cca3
lue rakudo: say 1.+(2) 04:57
TimToady std: say 1.+(2)
p6eval rakudo 2a0794: OUTPUT«src/oo.c:911: failed assertion 'method_name'␤Backtrace - Obtained 14 stack frames (max trace depth is 32).␤/home/p6eval//p2/lib/libparrot.so.2.1.0 [0x2b69abca1d03]␤/home/p6eval//p2/lib/libparrot.so.2.1.0(Parrot_confess+0x87)
..[0x2b69abca1e37]␤/home/p6eval//p2/lib/libparrot.so.2.1.0(…
std 29871: OUTPUT«ok 00:01 107m␤»
TimToady std: say 1. + (2)
p6eval std 29871: OUTPUT«===SORRY!===␤Decimal point must be followed by digit at /tmp/qWDNZZSBRf line 1:␤------> say 1.⏏ + (2)␤FAILED 00:01 105m␤»
TimToady std: say 1.(2) 04:58
p6eval std 29871: OUTPUT«ok 00:01 105m␤»
TimToady rakudo: say 1.(2)
p6eval rakudo 2a0794: OUTPUT«invoke() not implemented in class 'Integer'␤current instr.: '_block14' pc 29 (EVAL_1:0)␤»
TimToady this is why we don't allow 1. anymore 04:59
lue I guess that's a low point of python then :) 05:00
TimToady well, python doesn't have .+ methods 05:01
avar FAIL, parrotbug doesn't work like perlbug and wants me to use some silly trac webpage instead of sending mail 05:03
lue python also doesn't have switch statements (or any equivalent of)
avar sleeps instead
if anyone cares: paste.scsys.co.uk/39911
pmichaud alpha: say Object eqv Object 05:08
p6eval alpha 30e0ed: OUTPUT«No applicable candidates found to dispatch to for 'infix:eqv'␤in Main (file <unknown>, line <unknown>)␤»
pmichaud alpha: say [] eqv []
p6eval alpha 30e0ed: OUTPUT«1␤»
lue the lord of all rakudo hath come. All is well. 05:09
diakopter github broketh 05:14
the history rss is ... tainted 05:15
(sometimes) 05:16
lue and it came to pass that rakudobug infected github. All was lost, and they moved to gitorious, alongside KDE. it came to pass that all was well. Amen 05:17
diakopter twitter.com/foogoof/statuses/9713699988 and twitter.com/diakopter/statuses/9716054269 05:23
(it's not just nqp-rx)
lue what's the tweeting for?
05:25 Trashlord joined
diakopter I was trying to contact @github, but I typed #github instead. corrected.. 05:25
Trashlord forgiven 05:26
lue ...how do you change the name of a bot? (just out of curiosity, no real reason STOP LOOKING AT ME)
diakopter twitter.com/#search?q=%40github 05:27
05:31 arlinius joined
lue can you, uh, answer my previous question? I just want to know... STOP LOOKING AT ME!!! /o\ 05:36
diakopter blogs.hbr.org/anthony/2010/02/want_...eep_a.html 05:37
lue :O You meanie... 05:38
(not like we're discussing P6/R anyway right now) 05:39
diakopter heh 05:41
oh, I wasn't addressing you
what bot are you thinking of
lue pugssvn. I really want to keep with the Dr. Who enemies theme (you may have seen me talk about it once or twice) 05:44
pugssvn -> cyberman (or kaled, or Master, or something or other) 05:45
diakopter well 05:52
it's been pugs_svn for a few years 05:53
before that it was svnbot6
TimToady: wait, re: pushing up daises, did you mean "finished" to mean an implementation, or the design?
lue Yeah, but dalek isn't exactly descriptive. Why should that stop pugssvn? 05:54
arlinius they got that backwards
questions => innovation 05:55
diakopter to a point, yeah 05:57
arlinius don't stop working to question, and don't stop questioning to work
diakopter but if they're misguided or mishandled...
arlinius then it's not the questions, it's the incompetence :P 05:58
diakopter :)
otoh, people *do* learn 05:59
arlinius some people :)
diakopter touche
arlinius my point is, any design or implementation always has room for improvement 06:01
so continue questioning and thinking about ways to improve it, all at the same time as continuing to make progress toward current goals
lue I wish to question the innovation of questioning and possibly improve on such a vital piece of Life. 06:02
diakopter rakudo: say 1.+() 06:06
p6eval rakudo 2a0794: OUTPUT«src/oo.c:911: failed assertion 'method_name'␤Backtrace - Obtained 14 stack frames (max trace depth is 32).␤/home/p6eval//p2/lib/libparrot.so.2.1.0 [0x2ad4e6083d03]␤/home/p6eval//p2/lib/libparrot.so.2.1.0(Parrot_confess+0x87)
..[0x2ad4e6083e37]␤/home/p6eval//p2/lib/libparrot.so.2.1.0(…
diakopter rakudo: say 1.-() 06:07
p6eval rakudo 2a0794: OUTPUT«Confused at line 11, near "say 1.-()"␤current instr.: 'perl6;HLL;Grammar;panic' pc 500 (ext/nqp-rx/src/stage0/HLL-s0.pir:328)␤»
diakopter rakudo: say 1.++()
p6eval rakudo 2a0794: OUTPUT«Could not find non-existent sub &postfix:<.>␤current instr.: '_block14' pc 29 (EVAL_1:0)␤»
diakopter wheh
diakopter spies a wormcan
arlinius rakudo: say ?++? 06:09
p6eval rakudo 2a0794: OUTPUT«Confused at line 11, near "say ?++?"␤current instr.: 'perl6;HLL;Grammar;panic' pc 500 (ext/nqp-rx/src/stage0/HLL-s0.pir:328)␤»
arlinius rakudo: say ?++
p6eval rakudo 2a0794: OUTPUT«Confused at line 11, near "say ?++"␤current instr.: 'perl6;HLL;Grammar;panic' pc 500 (ext/nqp-rx/src/stage0/HLL-s0.pir:328)␤»
diakopter std: my $a; my @$a; # TimToady hilite 06:10
p6eval std 29871: OUTPUT«ok 00:01 105m␤»
lue error: you have attempted to augment a question or confusion in general. Please refrain from doing so, as this increases the idiot population. Thank you.
diakopter chortles
arlinius that would be ?-- 06:11
the last part anyway
lue (point me to where error messages are kept in Rakudo, and I'll reinvent them) :D
arlinius rakudo: my $a; my @$a;
p6eval rakudo c83cf2: OUTPUT«Malformed my at line 11, near "@$a;"␤current instr.: 'perl6;HLL;Grammar;panic' pc 500 (ext/nqp-rx/src/stage0/HLL-s0.pir:328)␤»
arlinius that's supposed to work?
diakopter dunno 06:12
std seems to accept it
lue error: despite your beliefs, scalars do not scale themselves to the size of a ray. Thank you.
arlinius not sure what it'd do 06:14
snarkyboojum lue: look at the panics in src/Perl6/Garmmar.pm :P
lue YES!
lue is off to do... things
diakopter std: my @$a; say $a 06:15
p6eval std 29871: OUTPUT«===SORRY!===␤Variable $a is not predeclared at /tmp/PbiQYyANn7 line 1:␤------> my @$a⏏; say $a␤ expecting any of:␤ shape definition␤ trait␤FAILED 00:01 105m␤»
diakopter std: my @$a; say @a
arlinius hopefully he won't find src/Perl6/Grammar.pm while searching for Garmmar.pm :P
p6eval std 29871: OUTPUT«===SORRY!===␤Variable $a is not predeclared at /tmp/Z0F0HTcZKE line 1:␤------> my @$a⏏; say @a␤ expecting any of:␤ shape definition␤ trait␤FAILED 00:02 105m␤»
snarkyboojum ho ho
diakopter std: my @$a; say @$a 06:16
p6eval std 29871: OUTPUT«===SORRY!===␤Variable $a is not predeclared at /tmp/27IVPrIgpi line 1:␤------> my @$a⏏; say @$a␤ expecting any of:␤ shape definition␤ trait␤FAILED 00:01 105m␤»
diakopter ok, so what *is* declared by my @$a if not one of those 3
arlinius std: my @a; 06:17
p6eval std 29871: OUTPUT«ok 00:01 105m␤»
arlinius std: my %@a;
p6eval std 29871: OUTPUT«===SORRY!===␤Confused at /tmp/Z0UgwLXFvD line 1:␤------> my %⏏@a;␤ expecting any of:␤ POST␤ bracketed infix␤ infix or meta-infix␤ postfix␤ postfix_prefix_meta_operator␤ shape definition␤ statement modifier loop␤
.. trait␤ twigil␤FAILED 00:01 106…
arlinius std: my %$a;
p6eval std 29871: OUTPUT«===SORRY!===␤Variable $a is not predeclared at /tmp/TecpiwTVgb line 1:␤------> my %$a⏏;␤ expecting any of:␤ shape definition␤ trait␤FAILED 00:01 105m␤»
arlinius std: my @$a;
p6eval std 29871: OUTPUT«===SORRY!===␤Variable $a is not predeclared at /tmp/IxYtd1BKB8 line 1:␤------> my @$a⏏;␤ expecting any of:␤ shape definition␤ trait␤FAILED 00:01 105m␤»
arlinius std: my $@a;
p6eval std 29871: OUTPUT«===SORRY!===␤Unsupported use of $@ variable as eval error; in Perl 6 please use $! at /tmp/ZwjPiwBe8O line 1:␤------> my $@⏏a;␤FAILED 00:01 105m␤»
diakopter std: sub my() { }; my(my $b) 06:18
p6eval std 29871: OUTPUT«ok 00:01 107m␤»
diakopter rakudo: sub my() { }; my(my $b)
p6eval rakudo c83cf2: OUTPUT«Invalid typename in parameter declaration at line 11, near " $b)"␤current instr.: 'perl6;HLL;Grammar;panic' pc 500 (ext/nqp-rx/src/stage0/HLL-s0.pir:328)␤»
diakopter rakudo: say(my $b) 06:19
arlinius std: my &a;
p6eval rakudo c83cf2: OUTPUT«Any()␤»
std 29871: OUTPUT«ok 00:01 107m␤»
arlinius std: my &$a;
p6eval std 29871: OUTPUT«===SORRY!===␤Variable $a is not predeclared at /tmp/gmRdwF2NAY line 1:␤------> my &$a⏏;␤ expecting any of:␤ shape definition␤ trait␤FAILED 00:01 107m␤»
diakopter oh, rakudobug
misparse my(my $b)
rakudo: sub mi() { }; mi.(my $b) 06:20
p6eval rakudo c83cf2: OUTPUT«Null PMC access in invoke()␤current instr.: '_block14' pc 29 (EVAL_1:0)␤»
diakopter rakudo: sub mi() { }; mi(my $b)
p6eval rakudo c83cf2: OUTPUT«Too many positional parameters passed; got 1 but expected 0␤current instr.: 'mi' pc 194 (EVAL_1:84)␤»
diakopter rakudo: sub mi() { }; mi() 06:21
p6eval rakudo c83cf2: ( no output )
diakopter yep; misparse
arlinius rakudo: sub mi($z) { }; mi(my $b)
p6eval rakudo c83cf2: ( no output )
arlinius rakudo: my %$@& 06:22
p6eval rakudo c83cf2: OUTPUT«Malformed my at line 11, near "%$@&"␤current instr.: 'perl6;HLL;Grammar;panic' pc 500 (ext/nqp-rx/src/stage0/HLL-s0.pir:328)␤»
lue I'm going to change all the die() messages in Grammer.pm, then post the results on pastebin (I wouldn't want to make it permanent just yet)
arlinius rakudo: my $
p6eval rakudo c83cf2: OUTPUT«Malformed my at line 11, near "$"␤current instr.: 'perl6;HLL;Grammar;panic' pc 500 (ext/nqp-rx/src/stage0/HLL-s0.pir:328)␤»
lue eh, grammar.pm
arlinius rakudo: my$my
p6eval rakudo c83cf2: ( no output )
diakopter oh! 06:23
arlinius rakudo: my$my.say
p6eval rakudo c83cf2: OUTPUT«Confused at line 11, near "my$my.say"␤current instr.: 'perl6;HLL;Grammar;panic' pc 500 (ext/nqp-rx/src/stage0/HLL-s0.pir:328)␤»
diakopter nice find
arlinius whitespace is supposed to be optional there, right? 06:24
diakopter no
std: my$my
p6eval std 29871: OUTPUT«ok 00:01 105m␤»
arlinius ah hrm
you sure?
diakopter oh, um
06:25 athenot left
arlinius rakudo: my&my;my() 06:25
p6eval rakudo c83cf2: ( no output )
diakopter well, ok I guess
arlinius it is in perl5
not sure about 6
oh hrm 06:27
rakudo: my&ym;ym() 06:28
p6eval rakudo c83cf2: OUTPUT«invoke() not implemented in class 'Any'␤current instr.: '_block14' pc 29 (EVAL_1:0)␤»
arlinius hrm so that's a failed sub call
but this...
rakudo: my&my;my() 06:29
p6eval rakudo c83cf2: ( no output )
arlinius my() is a my declaration with no variable
diakopter rakudo: my&ym=Code.new({332},1,1);ym().say
p6eval rakudo c83cf2: OUTPUT«332␤»
arlinius rakudo: my&my=Code.new({332},1,1);my().say
p6eval rakudo c83cf2: OUTPUT«Confused at line 11, near "my().say"␤current instr.: 'perl6;HLL;Grammar;panic' pc 500 (ext/nqp-rx/src/stage0/HLL-s0.pir:328)␤»
arlinius rakudo: my&my=Code.new({332},1,1);&my().say
p6eval rakudo c83cf2: OUTPUT«332␤»
diakopter heh 06:30
arlinius aha
rakudo: my&my;&my()
p6eval rakudo c83cf2: OUTPUT«invoke() not implemented in class 'Any'␤current instr.: '_block14' pc 29 (EVAL_1:0)␤»
arlinius rakudo: my
p6eval rakudo c83cf2: OUTPUT«Malformed my at line 11, near ""␤current instr.: 'perl6;HLL;Grammar;panic' pc 500 (ext/nqp-rx/src/stage0/HLL-s0.pir:328)␤»
diakopter rakudo: my&my=Regex.new({332},1,1);&my().say
p6eval rakudo c83cf2: OUTPUT«332␤»
diakopter rakudo: my&my=Int.new({332},1,1);&my().say 06:31
p6eval rakudo c83cf2: OUTPUT«invoke() not implemented in class 'Integer'␤current instr.: '_block14' pc 29 (EVAL_1:0)␤»
arlinius rakudo: my&my=Int.new({332},1,1);&my.say
p6eval rakudo c83cf2: OUTPUT«0␤»
arlinius rakudo: my&my=Int.new(322);&my.say
p6eval rakudo c83cf2: OUTPUT«0␤»
arlinius rakudo: my&my=Int.new(322);&my.WHAT.say 06:32
p6eval rakudo c83cf2: OUTPUT«Int()␤»
diakopter std: my() # rakudo wrongly accepts this, I think.
p6eval std 29871: OUTPUT«Undeclared routine:␤ 'my' used at line 1␤ok 00:01 105m␤»
diakopter std: say ..WHAT 06:33
p6eval std 29871: OUTPUT«===SORRY!===␤Preceding context expects a term, but found infix .. instead at /tmp/l3R0pMsKut line 1:␤------> say ⏏..WHAT␤ expecting any of:␤ argument list␤ prefix or term␤FAILED 00:01 105m␤»
diakopter rakudo: say ..WHAT # rakudo should parsefail but doesn't
p6eval rakudo c83cf2: OUTPUT«␤Not enough positional parameters passed; got 0 but expected 1␤current instr.: 'WHAT' pc 229270 (src/gen/core.pir:3386)␤»
arlinius heh 06:34
rakudo: my&my;my.WHAT.say
p6eval rakudo c83cf2: OUTPUT«Malformed my at line 11, near ".WHAT.say"␤current instr.: 'perl6;HLL;Grammar;panic' pc 500 (ext/nqp-rx/src/stage0/HLL-s0.pir:328)␤»
diakopter rakudo: ....say 06:35
p6eval rakudo c83cf2: OUTPUT«No exception handler and no message␤current instr.: '&fail' pc 16551 (src/builtins/Junction.pir:364)␤»
diakopter hee
arlinius assigning an int to an & too eh
rakudo:my&my=my()
diakopter yeah; apparently sigils are just hints
arlinius that's legal then? hrm
diakopter hints to the user, I meanz 06:36
arlinius nod
diakopter here's one 06:38
rakudo: say PARROT(_block14) 06:39
p6eval rakudo c83cf2: OUTPUT«Could not find non-existent sub &_block14␤current instr.: '_block14' pc 29 (EVAL_1:0)␤»
diakopter makes sense, right
rakudo: say PARROT(::_block14)
p6eval rakudo c83cf2: OUTPUT«Null PMC access in isa()␤current instr.: '&PARROT' pc 147 (src/Perl6/Compiler.pir:70)␤»
diakopter oh, nm
ic
arlinius hrm
lue is having fun rewriting errors :)
diakopter rakudo: our &say = 5 06:41
p6eval rakudo c83cf2: OUTPUT«Cannot assign to readonly value␤current instr.: '&die' pc 16453 (src/builtins/Junction.pir:317)␤»
diakopter std: {*.{}}() 06:43
p6eval std 29871: OUTPUT«ok 00:01 105m␤»
diakopter rakudo: {*.{}}()
p6eval rakudo c83cf2: OUTPUT«Unable to parse blockoid, couldn't find final '}' at line 11␤current instr.: 'perl6;Regex;Cursor;FAILGOAL' pc 1664 (ext/nqp-rx/src/stage0/Regex-s0.pir:907)␤»
arlinius rakudo: {}() 06:45
p6eval rakudo c83cf2: OUTPUT«invoke() not implemented in class ''␤current instr.: '_block14' pc 29 (EVAL_1:0)␤»
diakopter arlinius: did you see the parrot failed assertion earlier today?
arlinius no, what was it?
diakopter hm
arlinius rakudo: say 1.+() 06:46
p6eval rakudo c83cf2: OUTPUT«src/oo.c:911: failed assertion 'method_name'␤Backtrace - Obtained 14 stack frames (max trace depth is 32).␤/home/p6eval//p2/lib/libparrot.so.2.1.0 [0x2acf8a937d03]␤/home/p6eval//p2/lib/libparrot.so.2.1.0(Parrot_confess+0x87)
arlinius that?
p6eval ..[0x2acf8a937e37]␤/home/p6eval//p2/lib/libparrot.so.2.1.0(…
diakopter rakudo: .+()
p6eval rakudo c83cf2: OUTPUT«src/hash.c:144: failed assertion 's'␤Backtrace - Obtained 17 stack frames (max trace depth is 32).␤/home/p6eval//p2/lib/libparrot.so.2.1.0 [0x2b4b1e07bd03]␤/home/p6eval//p2/lib/libparrot.so.2.1.0(Parrot_confess+0x87) [0x2b4b1e07be37]␤/home/p6eval//p2/lib/libparrot.so.2.1.0
..[0x2b4b1…
diakopter rakudo: 1.+()
p6eval rakudo c83cf2: OUTPUT«src/oo.c:911: failed assertion 'method_name'␤Backtrace - Obtained 14 stack frames (max trace depth is 32).␤/home/p6eval//p2/lib/libparrot.so.2.1.0 [0x2abc3a679d03]␤/home/p6eval//p2/lib/libparrot.so.2.1.0(Parrot_confess+0x87)
..[0x2abc3a679e37]␤/home/p6eval//p2/lib/libparrot.so.2.1.0(…
arlinius yeah i saw that, just a little while ago
diakopter rakudo: "hi".+()
p6eval rakudo c83cf2: OUTPUT«src/oo.c:911: failed assertion 'method_name'␤Backtrace - Obtained 14 stack frames (max trace depth is 32).␤/home/p6eval//p2/lib/libparrot.so.2.1.0 [0x2b7a1ba69d03]␤/home/p6eval//p2/lib/libparrot.so.2.1.0(Parrot_confess+0x87)
..[0x2b7a1ba69e37]␤/home/p6eval//p2/lib/libparrot.so.2.1.0(…
diakopter rakudo: "hi".=()
p6eval rakudo c83cf2: OUTPUT«src/oo.c:911: failed assertion 'method_name'␤Backtrace - Obtained 14 stack frames (max trace depth is 32).␤/home/p6eval//p2/lib/libparrot.so.2.1.0 [0x2ae5cec36d03]␤/home/p6eval//p2/lib/libparrot.so.2.1.0(Parrot_confess+0x87)
..[0x2ae5cec36e37]␤/home/p6eval//p2/lib/libparrot.so.2.1.0(…
arlinius rakudo: '++'.'++' 06:47
diakopter rakudo: {}.=()
p6eval rakudo c83cf2: OUTPUT«Quoted method name requires parenthesized arguments at line 11, near ""␤current instr.: 'perl6;HLL;Grammar;panic' pc 500 (ext/nqp-rx/src/stage0/HLL-s0.pir:328)␤»
rakudo c83cf2: OUTPUT«src/hash.c:144: failed assertion 's'␤Backtrace - Obtained 17 stack frames (max trace depth is 32).␤/home/p6eval//p2/lib/libparrot.so.2.1.0 [0x2ad2a14e8d03]␤/home/p6eval//p2/lib/libparrot.so.2.1.0(Parrot_confess+0x87) [0x2ad2a14e8e37]␤/home/p6eval//p2/lib/libparrot.so.2.1.0
..[0x2ad2a…
arlinius rakudo: '++'.'++'()
p6eval rakudo c83cf2: OUTPUT«Method '++' not found for invocant of class 'Perl6Str'␤current instr.: '_block14' pc 29 (EVAL_1:0)␤»
arlinius rakudo: '++'.++
p6eval rakudo c83cf2: OUTPUT«Could not find non-existent sub &postfix:<.>␤current instr.: '_block14' pc 29 (EVAL_1:0)␤»
lue is done with Grammar.pm error messages. Just some final touches, and then lisppaste!
arlinius rakudo: say 1.+(3) 06:48
p6eval rakudo c83cf2: OUTPUT«src/oo.c:911: failed assertion 'method_name'␤Backtrace - Obtained 14 stack frames (max trace depth is 32).␤/home/p6eval//p2/lib/libparrot.so.2.1.0 [0x2ae7a41c7d03]␤/home/p6eval//p2/lib/libparrot.so.2.1.0(Parrot_confess+0x87)
..[0x2ae7a41c7e37]␤/home/p6eval//p2/lib/libparrot.so.2.1.0(…
diakopter std: 0() 06:49
p6eval std 29871: OUTPUT«ok 00:01 105m␤»
diakopter heh
rakudo: 0() 06:50
p6eval rakudo c83cf2: OUTPUT«invoke() not implemented in class 'Integer'␤current instr.: '_block14' pc 29 (EVAL_1:0)␤»
arlinius nice
diakopter interesting
I mean, it's not a rakudobug... just makes me thoughtful
or something
std: say {4,return 3}() 06:51
p6eval std 29871: OUTPUT«ok 00:01 106m␤»
diakopter rakudo: say {4,return 3}()
arlinius odd that std allows it
p6eval rakudo c83cf2: OUTPUT«Could not find non-existent sub &return␤current instr.: '_block46' pc 308 (EVAL_1:127)␤»
arlinius well i guess not
rakudo: sub foo { return 4,3 }; foo()() 06:52
p6eval rakudo c83cf2: OUTPUT«invoke() not implemented in class 'ResizablePMCArray'␤current instr.: '_block14' pc 29 (EVAL_1:0)␤»
diakopter rakudo: my&barnum&my&bailey&my&circus; 06:53
p6eval rakudo c83cf2: ( no output ) 06:54
lisppaste3 lue pasted "Grammar.pm (new errors)" at paste.lisp.org/display/95695 06:57
diakopter lue: I think they want to standardize on the errors in STD.pm
arlinius rakudo: my &lue=my&barnum&my&bailey&my&circus; &lue() 06:58
p6eval rakudo c83cf2: OUTPUT«invoke() not implemented in class 'Junction'␤current instr.: '_block14' pc 29 (EVAL_1:0)␤»
diakopter oh.
you're kidding
those are cute :)
lue the errors make for some humourous reading. But that's why I didn't commit it.
I decided to upload the whole file, so they would be in context. 06:59
diakopter hm
unless doesn't take "else" but it might could take "otherwise"
07:00 simcop2387 joined
arlinius rakudo: unless (1) { 2.say } else { 3.say } 07:00
p6eval rakudo c83cf2: OUTPUT«unless does not take "else", please rewrite using "if" at line 11, near "else { 3.s"␤current instr.: 'perl6;HLL;Grammar;panic' pc 500 (ext/nqp-rx/src/stage0/HLL-s0.pir:328)␤»
arlinius rakudo: unless (1) { 2.say } otherwise { 3.say }
p6eval rakudo c83cf2: OUTPUT«Confused at line 11, near "unless (1)"␤current instr.: 'perl6;HLL;Grammar;panic' pc 500 (ext/nqp-rx/src/stage0/HLL-s0.pir:328)␤»
arlinius heh
diakopter wait, it's *not* the Rube Goldberg language? 07:01
lue IMO, my errors are -Ofun
diakopter: according to the original error. 07:02
diakopter fak 07:04
afk
lue There were surprisingly little die() and <.panic 's in their. 07:05
arlinius rakudo: my&my; &my.die 07:06
p6eval rakudo c83cf2: OUTPUT«Method 'die' not found for invocant of class ''␤current instr.: '_block14' pc 29 (EVAL_1:0)␤»
lue rakudo: die("DON'T PANIC! The interpreter has been forced to commit harry-carry. \n Look at what you did.") 07:07
p6eval rakudo c83cf2: OUTPUT«DON'T PANIC! The interpreter has been forced to commit harry-carry. ␤ Look at what you did.␤current instr.: '&die' pc 16453 (src/builtins/Junction.pir:317)␤»
lue anyone there? Or are they reading my errors? :) 07:13
snarkyboojum just discovered --target=parse - cool :) 07:15
lue and now, and interjection brought to you by FWAI 07:17
IDD - Intelligence Deficit Disorder
07:17 eternaleye left
lue TARDIS - Time Augmented Reality Debugging In Style :) 07:18
RRAB - RRAB: Recursive Acronyms Bite 07:20
B'sBBC - Bob's British Broadcasting Corporation 07:21
snarkyboojum shouldn't RRAB be 'Recursive RRAB Acronyms Bite'? 07:22
bkeeler You want to commit Harry Cary? I mean, I can see doing that while he was alive, but give the man a break
lue bkeeler, snarkyboojum: catch a whiff of my reinvented errors?
bkeeler Only really paying scant attention, I'm afraid 07:23
lue rakudo: my $action="harry carry"; commit($action); #hee hee 07:24
p6eval rakudo c83cf2: OUTPUT«Could not find non-existent sub &commit␤current instr.: '_block14' pc 29 (EVAL_1:0)␤»
lue I killed it when I told it to kill itself.
rakudo: say "Welcome to the inte"; die("The revision number is c83cf2. Rakudo cannot work under these conditions. Leaving..."); 07:27
p6eval rakudo c83cf2: OUTPUT«Welcome to the inte␤The revision number is c83cf2. Rakudo cannot work under these conditions. Leaving...␤current instr.: '&die' pc 16453 (src/builtins/Junction.pir:317)␤»
lue My bed is getting restless. Goodnight. 07:31
07:32 lue left 07:34 am0c joined 07:41 hicx174 joined 07:42 hicx174 left 07:46 am0c left 07:52 dduncan joined 07:54 dduncan left, eternaleye joined 07:55 dduncan joined, hicx174 joined
dduncan I'm trying to figure out how to do something that I don't see an example of in the Synopsis ... 07:56
how to define a character class like <[ #..~ ]> for example
would that just work, or do I have to escape the # or ~ say? 07:57
generally I want a class consisting of just all the visible ASCII characters except the double-quote
or alternately, what is the format to define chars in terms of their codepoint number within a character class? ... 07:58
arlinius need to escape the #, I think
not sure that works as a range though
dduncan can I say something like <[ \c[32]..\c[127] ]> ? 07:59
that format is for literals in strings, but the brackets inside brackets looked odd
basically, the Perl 6 analogy to this bit of Perl 5: [\x20-\x7E] 08:01
arlinius that might work.
dduncan I suppose <[\x[20]..\x[127]]>
I mean I suppose <[\x[20]..\x[7E]]> 08:02
but I thought the doubling brackets looked odd, so wasn't sure if that was right
and also, since whitespace is insignificant when not quoted, how for example to mention the space character literally? 08:03
not that I need it here
maybe I'll just try <[\x[20]..\x[7E]]> for now
arlinius rakudo: say "1" if "#" ~~ /<[\#..~]>/ 08:04
p6eval rakudo c83cf2: OUTPUT«1␤»
arlinius rakudo: say "1" if "#" ~~ /<[#..~]>/
p6eval rakudo c83cf2: OUTPUT«1␤»
arlinius escaping a space should work, i think 08:06
dduncan anyway, this is the pattern I wanted to end up with, more or less: <["]>[<[\x20..\x7E] - ["]> | '\q']+<["]> 08:07
08:07 Su-Shee joined
dduncan basically a double-quoted ASCII string excluding control characters, and a double-quote escaped as \q 08:07
actually ...
Su-Shee good morning 08:08
dduncan more <["]>[<[\x20..\x7E] - ["\\]> | '\q' | '\b']+<["]> actually
will test ...
rakudo: say ('test' ~~ /<["]>[<[\x20..\x7E] - ["\\]> | '\q' | '\b']+<["]>/) ?? 'got' !! 'not' 08:09
p6eval rakudo c83cf2: OUTPUT«not␤»
dduncan it compiled, so that's a start 08:10
good enough for now ... at the moment I'm just writing documentation with this anyway
which contains a pseudo-grammar 08:11
thank you arlinius
rakudo: say ('"test"' ~~ /<["]>[<[\x20..\x7E] - ["\\]> | '\q' | '\b']+<["]>/) ?? 'got' !! 'not' 08:12
p6eval rakudo c83cf2: OUTPUT«not␤»
dduncan hmm
arlinius try \#..~
dduncan sure, why not 08:13
arlinius rakudo: say ('"test!"' ~~ /<["]>[<[\#..~] - ["\\]> | '\q' | '\b']+<["]>/) ?? 'got' !! 'not'
p6eval rakudo c83cf2: OUTPUT«not␤»
arlinius rakudo: say ('"test#"' ~~ /<["]>[<[\#..~] - ["\\]> | '\q' | '\b']+<["]>/) ?? 'got' !! 'not'
p6eval rakudo c83cf2: OUTPUT«got␤»
08:14 agentzh joined
dduncan rakudo: say ('"test"' ~~ /<["]>[<[a..z]>+<["]>/) ?? 'got' !! 'not' 08:14
p6eval rakudo c83cf2: OUTPUT«Confused at line 11, near "say ('\"tes"␤current instr.: 'perl6;HLL;Grammar;panic' pc 500 (ext/nqp-rx/src/stage0/HLL-s0.pir:328)␤»
dduncan rakudo: say ('"test"' ~~ /<["]><[a..z]>+<["]>/) ?? 'got' !! 'not'
p6eval rakudo c83cf2: OUTPUT«got␤» 08:15
dduncan rakudo: say ('"test' ~~ /<["]><[a..z]>+<["]>/) ?? 'got' !! 'not'
p6eval rakudo c83cf2: OUTPUT«not␤»
arlinius wouldn't '"\b"' and "'\q"' match anyway?
dduncan rakudo: say ('"test"' ~~ /<["]><[A..z]>+<["]>/) ?? 'got' !! 'not'
p6eval rakudo c83cf2: OUTPUT«got␤»
arlinius rakudo: say ('"\q"' ~~ /<["]>[<[\#..~] - ["\\]> | '\q' | '\b']+<["]>/) ?? 'got' !! 'not' 08:16
p6eval rakudo c83cf2: OUTPUT«got␤»
arlinius rakudo: say ('"\q"' ~~ /<["]>[<[\#..~] - ["\\]>]+<["]>/) ?? 'got' !! 'not'
p6eval rakudo c83cf2: OUTPUT«not␤»
dduncan in the context I used, they were supposed to be strings, outside the char class
arlinius maybe not
rakudo: say ('"q"' ~~ /<["]>[<[\#..~] - ["\\]>]+<["]>/) ?? 'got' !! 'not'
p6eval rakudo c83cf2: OUTPUT«got␤»
arlinius oh you specifically exclude \
dduncan in my case, the only occurrences of \ should be one of two escape sequences 08:17
arlinius got it
dduncan rakudo: say ('"test"' ~~ /<["]><[!..~]>+<["]>/) ?? 'got' !! 'not' 08:18
p6eval rakudo c83cf2: OUTPUT«got␤»
dduncan rakudo: say ('"test"' ~~ /<["]><[ ..~]>+<["]>/) ?? 'got' !! 'not'
p6eval rakudo c83cf2: OUTPUT«not␤»
dduncan I didn't expect that to work anyway
rakudo: say ('"test"' ~~ /<["]><[' '..~]>+<["]>/) ?? 'got' !! 'not'
p6eval rakudo c83cf2: OUTPUT«got␤»
dduncan rakudo: say ('"te ~st"' ~~ /<["]><[' '..~]>+<["]>/) ?? 'got' !! 'not' 08:19
p6eval rakudo c83cf2: OUTPUT«not␤»
dduncan rakudo: say ('"test"' ~~ /<["]><' '+[!..~]>+<["]>/) ?? 'got' !! 'not' 08:20
p6eval rakudo c83cf2: OUTPUT«Confused at line 11, near "say ('\"tes"␤current instr.: 'perl6;HLL;Grammar;panic' pc 500 (ext/nqp-rx/src/stage0/HLL-s0.pir:328)␤»
08:20 iblechbot joined
dduncan well whatever, I mainly just need something illustrative for now 08:21
so good enough
arlinius ' ' is not what you think it is, i think
' in a character class matches '
dduncan so how would you match a space then? 08:22
arlinius \
dduncan sounds reasonable ...
arlinius could use a regex modifier too
dduncan rakudo: say ('"te ~st"' ~~ /<["]><[\ ..~]>+<["]>/) ?? 'got' !! 'not'
p6eval rakudo c83cf2: OUTPUT«got␤»
dduncan that appeared to do it 08:23
rakudo: say ('"teΩ ~st"' ~~ /<["]><[\ ..~]>+<["]>/) ?? 'got' !! 'not'
p6eval rakudo c83cf2: OUTPUT«not␤»
dduncan that's right
rakudo: say ('"te ~st"' ~~ /<["]><[\ ..~]-["\\]>+<["]>/) ?? 'got' !! 'not' 08:24
p6eval rakudo c83cf2: OUTPUT«got␤»
dduncan rakudo: say ('"te \\~st"' ~~ /<["]><[\ ..~]-["\\]>+<["]>/) ?? 'got' !! 'not'
p6eval rakudo c83cf2: OUTPUT«not␤»
dduncan rakudo: say ('"te ~\qst"' ~~ /<["]>[<[\ ..~] - ["\\]> | '\q' | '\b']+<["]>/) ?? 'got' !! 'not' 08:25
p6eval rakudo c83cf2: OUTPUT«got␤»
dduncan rakudo: say ('"te ~\\qst"' ~~ /<["]>[<[\ ..~] - ["\\]> | '\q' | '\b']+<["]>/) ?? 'got' !! 'not' 08:26
p6eval rakudo c83cf2: OUTPUT«got␤»
arlinius is out
g'night
dduncan you too
arlinius have fun
08:29 gfx left 08:32 hicx174 left
dduncan rakudo: say ('"te ~st"' ~~ /<["]>[<[\ ..~]-[\\"]> | '\b'|'\a'|'\q'|'\g'|'\h'|'\s']+<["]>/) ?? 'got' !! 'not' 08:36
p6eval rakudo c83cf2: OUTPUT«got␤»
dduncan and that compiles ... Im done
08:38 pmurias joined
pmurias ruoso: any progress on getting -BoptC to work on your machine? 08:44
08:45 hicx174 joined 09:03 hicx174 left, hicx174 joined
pugssvn r29872 | pmurias++ | [mildew] start of type inference 09:27
09:41 supernovus joined
supernovus Well, I think I'm off to bed. For anyone who is interested, I put an initial (not quite functional) version of a SCGI library for Perl 6 up on github. github.com/supernovus/SCGI 09:51
09:54 supernovus left 09:59 untaken joined
untaken hi all. 09:59
very quiet 10:01
dduncan yasso 10:06
untaken looking forward to perl 6 :)
dduncan so am I
untaken Just took a look at some of the new concepts etc... well impressed
dduncan I'm glad 10:07
untaken anyways, I gotta go :) good luck
dduncan anyway, its late so I also gotta go 10:08
10:08 untaken left 10:09 dduncan left 10:19 agentzh left 10:21 kborer joined 10:26 orafu left, orafu joined 10:28 iblechbot left
pmurias are there any benchmarks for Perl 6? 10:44
10:49 hanekomu_ joined
pmurias that i can use to play with adding optimalisations to mildew 10:57
10:58 iblechbot joined 11:04 fridim_ joined 11:25 eternaleye left
pmurias diakopter: hi 11:37
11:38 am0c joined 11:39 eternaleye joined 11:47 meppl joined 11:54 hanekomu_ left 11:57 quester joined
quester Good morning, #perl6 11:59
colomon o/
12:00 fridim_ left, timurkin joined 12:01 hanekomu_ joined 12:11 ruz joined
ruz hi 12:11
12:12 payload joined 12:13 am0c left
ruz --gen-parrot probably should clean not versioned files in svn checkout 12:15
files from old compilations affect new attempts 12:16
quester rakudo: my @x=<mc gb xa>; @x.sort({.flip}).Str.say; 12:17
p6eval rakudo c83cf2: OUTPUT«xa gb mc␤»
quester cheers, that was broken just a few days ago... 12:18
colomon we have been working hard to get things back on-line in Rakudo... 12:25
pmichaud++ did sort a few days ago.
quester colomon: Yes, I remembered he said he was going to try to get to it. I looked at the code involved for a while and got quite a headache from it. pmichaud++! 12:29
jnthn oh hai, folks
colomon jnthn: \o
jnthn Wow, lots more commits after I went for sleep. :_) 12:30
*:-)
colomon same here. ;)
jnthn rakudo: my %h = a => 1, b => 2; say %h.keys.sort
p6eval rakudo c83cf2: OUTPUT«ab␤»
jnthn \o/ 12:31
colomon I needed that to get a test passing. ;)
jnthn I want to try and get some or much of hash.t and hash-ref.t running again today :-) 12:33
12:33 jaldhar joined 12:50 Trashlord left 12:54 uniejo joined
quester rakudo: <mc gb xa>.sort({.flip}).Str.say; 13:17
p6eval rakudo c83cf2: OUTPUT«Too many positional parameters passed; got 2 but expected between 0 and 1␤current instr.: '_block48' pc -1 ((unknown file):-1)␤»
13:18 mikehh joined
quester Oh. It works for Array but still not for Parcel. Hmm. 13:19
13:21 rgrau left
mikehh rakudo - All tests PASS - test, spectest-smolder #32426 - built on parrot r44533 - Ubuntu 9.10 i386 (gcc with --optimize) 13:26
rakudo - had to apply a patch to get g++ to build but with the patch 13:27
rakudo - All tests PASS - test, spectest-smolder #32427 - built on parrot r44533 - Ubuntu 9.10 i386 (g++ with --optimize)
quester Take care, everyone. Errand &
13:29 quester left 13:30 hanekomu_ left 13:33 Achilles333 joined
mikehh patch to get rakudo to build with g++ -> nopaste.snit.ch/19805 13:33
pugssvn r29873 | jnthn++ | [t/spec] Correct and unfudge a test. 13:35
13:36 cognominal left 13:40 masak joined
masak oh hai, #perl6 13:40
jnthn lolitsmasak 13:41
colomon \o 13:42
masak only staying for a short while today.
there's too much real life happening right now. :)
colomon so, planning on reporting just 5 bugs today, eh? 13:43
masak something like that. :)
13:45 timurkin left
jnthn today is: loop { fix_something(); while spectesting() { pack } } 13:47
masak jnthn++ 13:48
jnthn I also found a test that had a typo in it. 13:49
After correcting the typo, it passed and I could unfudge it! :-)
13:50 pjcj joined
jnthn spectesting now, 4 more test files can be uncommented if the spectest is clean. :-) 13:51
masak \o/
13:53 kborer left
colomon woah 13:54
jnthn++
masak rakudo: say 1.++() 13:55
p6eval rakudo c83cf2: OUTPUT«Could not find non-existent sub &postfix:<.>␤current instr.: '_block14' pc 29 (EVAL_1:0)␤»
masak std: say 1.++()
p6eval std 29872: OUTPUT«ok 00:01 107m␤»
jnthn wtf
masak it parses, but as what?
jnthn I hate to imagine.
masak the error message should be some kind of tip-off. I just don't know what kind. 13:56
jnthn It's a "lol you're failing at parsing postfixes" tip-off.
colomon lolSFhasblogged: lastofthecarelessmen.blogspot.com/2...aster.html
masak submits rakudobug 13:57
wow, SF is wiping the floor with me :)
I thought I would have time to update my E03 script today and blog about it... but I don't think I will. not with all the bugs that keep showing up in the backlog.
rakudo: sub my() { }; my(my $b) # another one from diakopter++ 13:58
p6eval rakudo c83cf2: OUTPUT«Invalid typename in parameter declaration at line 11, near " $b) # ano"␤current instr.: 'perl6;HLL;Grammar;panic' pc 500 (ext/nqp-rx/src/stage0/HLL-s0.pir:328)␤»
masak submits rakudobug
std: sub my() { }; my(my $b)
p6eval std 29873: OUTPUT«ok 00:03 109m␤»
masak std: my$my 13:59
p6eval std 29873: OUTPUT«ok 00:01 105m␤»
masak rakudo: my$my
jnthn wtf does it parse that as?
p6eval rakudo c83cf2: ( no output )
jnthn eww!
masak it works.
std: my$my.say 14:00
jnthn Yeah, I think I know why too.
p6eval std 29873: OUTPUT«ok 00:01 105m␤»
masak rakudo: my$my.say
p6eval rakudo c83cf2: OUTPUT«Confused at line 11, near "my$my.say"␤current instr.: 'perl6;HLL;Grammar;panic' pc 500 (ext/nqp-rx/src/stage0/HLL-s0.pir:328)␤»
masak submits rakudobug
sorry about the strangeness of all these bugs lately. they don't spring from real-world usage, but from the refreshingly twisted imagination of diakopter++ :P
jnthn masak: I wonder if we could tag them some way. 14:01
masak: I'd actually rather spend time on bugs that are hitting real-world usage.
14:01 xomas joined
jnthn masak: And the RT queue is going to get kinda annoying. 14:01
masak [WEIRD]
jnthn Yeah
masak I'll do that from now on.
won't go back and do it retroactively, though.
14:02 wknight8111 joined, am0c joined
jnthn It's fine to file them, and we should deal with them at some point, it's just that for R * we can only fix so much, and I'd rather it was spent on things that real world users are more likely to hit. 14:02
jnthn prods dalek
masak jnthn: if you focus on the start of the queue (where the toughest remaining tickets are), you should be fine :) 14:03
jnthn :-P
pmichaud++ did a little ticket wrangling yesterday :-)
masak alternatively, you can just work through use.perl.org/~masak/journal/39597 :)
jnthn ooh, I'd forgotten that list 14:04
masak++
masak happy to be of help :) 14:05
jnthn wonders if we could translate it into a wiki page somewhere, so we can remove them as they're done
masak std: my()
p6eval std 29873: OUTPUT«Undeclared routine:␤ 'my' used at line 1␤ok 00:01 105m␤»
jnthn rakudo: my()
p6eval rakudo c83cf2: ( no output )
jnthn hm
masak submits rakudobug
jnthn: I'll make sure to update the list on my blog as things get fixed.
not that much work. and I like to keep the info up-to-date.
jnthn OK, I think some on it already are.
masak ok. haven't checked lately. maybe I should. 14:06
jnthn lol
masak std: {*.{}}()
p6eval std 29873: OUTPUT«ok 00:01 105m␤»
masak rakudo: {*.{}}()
p6eval rakudo c83cf2: OUTPUT«Unable to parse blockoid, couldn't find final '}' at line 11␤current instr.: 'perl6;Regex;Cursor;FAILGOAL' pc 1664 (ext/nqp-rx/src/stage0/Regex-s0.pir:907)␤»
jnthn I love that the only one marked fixed is like
"dies [during TimToady's keynote] "
:-)
masak submits weird rakudobug 14:07
jnthn Talk about embarrassment pressure. :-)
masak jnthn: I was in the audience. I was thinking "I'm the only one who knows the exact nature of this error. maybe pmichaud does, too."
14:07 Trashlord joined
masak I was only beginning to grok the PGE codebase back then. 14:08
jnthn :-) 14:11
dalek is being rather...quiet... 14:12
14:13 Trashlord left
TimToady dalek went nuts last night, and has likely been discouraged 14:13
jnthn Ah, OK. 14:14
:-/
colomon Oooo, you've been busy this morning! 14:18
masak and now it's time for me to go. o/ 14:19
14:19 masak left
jnthn colomon: Got another test file running too, now. spectesting again :-) 14:19
colomon \o/ 14:20
Ooo, nice eqv for EnumMap. 14:21
jnthn colomon: I've just done eqv for capture
That gets us back eqv.t
:-)
Had to tweak Capture a little though
(well, make it more complete) 14:22
colomon Is the list around gather in invert to get around the GatherIterator bug?
jnthn Kinda. Also the test wanted a List back 14:24
But maybe that test should go away...
14:25 Trashlord joined
jnthn Or maybe it should be tweaked to expect something Iterable back in gneral rather than List. 14:25
jnthn is still trying to get a feel for all of the different thingies we have.
pugssvn r29874 | jnthn++ | [t/spec] Tweak some fudge reasons. 14:31
r29875 | pmurias++ | [mildew] in -Cgtk display molds as mold {...} 14:33
pmurias ruoso: hi
jnthn colomon: eqv.t turned back on :-)
14:34 uniejo left
colomon \o/ 14:35
(delayed reaction due to watching my boy play with my flute rather than watching #perl6. :) 14:36
14:42 quietfanatic left 14:43 redicaps joined
colomon (reading previous comments) It's not clear to me whether or not we really have list as a type any more (as opposed to a concept0. 14:50
afk # grocery shopping 14:51
14:51 mikehh left
pmichaud good morning, #perl6 14:58
jnthn colomon: Aye, having had more coffee, I'm inclined to whip the list(...) out again and fudge or just get rid of the test. 15:03
pmichaud: morning
15:08 cognominal joined 15:12 amindfv joined 15:33 lichtkind joined, Chillance joined 15:35 Chillance left, Chillance joined
dalek p-rx: 581e2ae | pmichaud++ | src/NQP/Actions.pm:
Default to using root_new ['parrot';'Hash'] instead of new ['Hash'].
15:41
p-rx: 4d7d950 | pmichaud++ | src/stage0/ (3 files):
Update bootstrap with < ... > and root_new fixes.
p-rx: fc0d842 | pmichaud++ | src/HLL/Grammar.pm:
Fix hexints->decints typo spotted by Austin++ .
jnthn pmichaud: ping 15:42
15:44 Psyche^ joined 15:48 Patterner left, Psyche^ is now known as Patterner
pmichaud jnthn: pong 15:53
jnthn pmichaud: .item and .Scalar 15:54
pmichaud: Is one now gone?
pmichaud there is no .Scalar
it's fossil
jnthn OK
I'm fixing up junctions and something is trying to call .Scalar...
So, should find and kill the source of the call rather than add a Junction.Scalar.
Thanks.
pmichaud every instance of .Array, .Scalar, .item, .list, etc needs to be re-examined 15:55
15:55 nihiliad joined
pmichaud in the common case, one doesn't need to call them at all. 15:55
because scalar is now a property attached to the container, not to the value. 15:56
jnthn oh, found it
It's in bind.c
If the thing we're binding has a $ sigil, we try to call .Scalar on it
If it has a .Scalar method...
I guess that's dead code (but for junctions, it's a not found method, so we try to auto-thread it...)
jnthn kills 15:57
Hmm
.Array and .Hash are also no longer existing too, no?
pmichaud correct.
jnthn slays more code
pmichaud I worked last night on man-or-boy.t and closures -- got it working, but we end up with a ton of other failures having to do with code signatures 15:59
so, I need to go track that down a bit more
16:00 kensanata joined
jnthn Oh 16:00
Sounds..."fun" :-/
pmichaud++ for taking on closures...again. 16:01
I'm working towards autothreading.t
16:02 mikehh joined 16:03 athenot joined
lichtkind jnthn++ pmichaud++ you really seem to be tireless 16:03
pmichaud oh, we get tired. See December. :-) 16:06
lichtkind pmichaud: which december? 16:07
pmichaud 2009 16:08
jnthn And much of January for me too 16:09
pmichaud towards the latter part of dec and early part of jan, both jnthn++ and I took a bit of a rest break :)
jnthn It was a good rest. :-)
pmichaud: Yay. Ripping out that dead code seems to have had no effects, as you'd hope. :-) 16:10
Other than saving a call to find_method for every parameter we bind...
pmichaud Win. 16:11
lichtkind pmichaud: yes i noticed that but i ment tireless in the long run 16:12
jnthn 1 files changed, 0 insertions(+), 24 deletions(-)
Patch win. :-)
pmichaud lichtkind: yes, we do seem to have some long-term stamina for this. :)
perhaps we're just stubborn. Or not too bright. :-)
lichtkind pmichaud: noone knows :) i just feel that after few days i cant wriute on the wiki with same steam, i would get mad 16:15
16:18 redicaps left, redicaps joined
jnthn oh meh 16:20
not ok 17 - any<a b c> is illegal
rakudo: any<a b c> 16:21
p6eval rakudo 7aabb3: OUTPUT«Method 'postcircumfix:<{ }>' not found for invocant of class 'Junction'␤current instr.: '!postcircumfix:<{ }>' pc 13293 (src/builtins/Code.pir:119)␤»
jnthn Somehow we now auto-thread that, and it succeeds?!
Oh!
pmichaud I wonder if it's parsing as (any)<a b c> 16:22
jnthn Because when we auto-thread it, there's an empty junction...
Yeah, it is.
The test is
eval_dies_ok 'any<a b c>', 'any<a b c> is illegal';
alpha: any<a b c>
p6eval alpha 30e0ed: ( no output )
jnthn huh
How'd alpha ever pass that one.
alpha: any<a b c>; say "alive"
p6eval alpha 30e0ed: OUTPUT«alive␤»
jnthn :-/
pmichaud maybe it died in the eval somehow :) 16:23
jnthn eww.
Why is it meant to die, I wonder...
pmichaud rakudo: say<a b c>
jnthn I mean, it's kinda doing what I'd expect.
p6eval rakudo 7aabb3: OUTPUT«␤Method 'postcircumfix:<{ }>' not found for invocant of class 'Bool'␤current instr.: '!postcircumfix:<{ }>' pc 13293 (src/builtins/Code.pir:119)␤»
jnthn Is that right?
pmichaud I don't know.
jnthn Again, it makes complete sense to me... 16:24
pmichaud I can argue that it's correct
something like
jnthn Yeah
pmichaud $a.xyz{'a', 'b', 'c'}
should invoke $a.xyz and then do postcircumfix:<{ }> on the result.
jnthn Right.
So bogus test maybe?
pmichaud std: xyz<a b c> 16:25
p6eval std 29875: OUTPUT«Undeclared routine:␤ 'xyz' used at line 1␤ok 00:01 107m␤»
pmichaud std: any<a b c>
p6eval std 29875: OUTPUT«ok 00:01 105m␤»
pmichaud I vote for bogus test for now.
jnthn OK
pugssvn r29876 | jnthn++ | [t/spec] Remove bogus test. 16:26
16:27 dual left
jnthn bwaha! 16:28
Missing block at line 404
404: Block not found
pmichaud lol 16:29
16:31 justatheory joined
jnthn oh...no wonder we fail... eq isn't in the setting yet 16:36
pmichaud rakudo: say 'abc' eq 'abc' 16:37
p6eval rakudo 7aabb3: OUTPUT«1␤»
pmichaud ??
or do you mean the p6 version of eq ?
jnthn p6 version 16:38
It's still in pir in cheats.
s/'s/ was/ :-)
pmichaud yes, most of the comparison ops are
jnthn So a test that expected it to auto-thread failed.
pmichaud ahhhh
jnthn I'll get 'em moved over.
pmichaud excellent.
jnthn Maybe that could be a hackathon task, or at least an after-release task.
Review our cheats
16:40 mberends joined
jnthn pmichaud: yay, that fixes it...otoh, now to see how the spectests look... 16:43
mberends: oh hai :-)
TimToady yes, xyz<a b c> is a bogus test 16:46
jnthn phew :-)
mberends jnthn: hai, ai haz stocked up wif nom 4 da travelz :) 16:47
jnthn \o/
om nom nom
diakopter std: ||5||5 16:48
p6eval std 29875: OUTPUT«ok 00:01 106m␤»
pmichaud jnthn/mberends: I really wish I could've been joining you both for the travelz. (But as it turns out, it's incredibly fortunate that I did not try to arrive in europe a day earlier for such.)
diakopter std: ||||||||||||0 16:49
p6eval std 29875: OUTPUT«ok 00:01 106m␤»
jnthn diakopter: It's making a capture of a capture of a capture of...0. :-)
Or something.
:-)
rakudo: ||||||||||||0
p6eval rakudo 7aabb3: OUTPUT«Cannot use prefix:<|> with a Int()␤current instr.: '&die' pc 16475 (src/builtins/Junction.pir:335)␤»
jnthn Ah
Well
Maybe it's not. :-)
pmichaud seriously considers changing some of Rakudo's error messages to say "Sorry, diakopter -- we're just not doing it." :-) 16:50
diakopter ponders immortality
mberends :)
pmichaud basically just look for code where the ratio of non-alphabetics to alphabetics is waaaaay too high :) 16:51
16:51 snarkyboojum left 16:53 lue joined
diakopter std: l1: goto l1:::; 16:53
p6eval std 29875: OUTPUT«ok 00:01 106m␤»
pugssvn r29877 | jnthn++ | [t/spec] If you're going to try passing the Mu proto-object to infix:<eq>, need to stringify it first, as signature of eq is :(Any, Any). 16:54
lue I can has not op? I had it yesterday... :)
16:54 diakopter sets mode: -o lue
lue you took it! :( 16:54
jnthn ;-) 16:55
16:55 diakopter sets mode: +o lue
diakopter just kick spammers and bots channeling other ... channels 16:55
lue \o/ I said that because the list in Konversation said I wasn't an op, so I thought it was gone... 16:56
diakopter but not p6eval griefers
lue (dontpanic) /kick everyone
we has goto? o great 16:58
16:58 mssm joined
diakopter goto labels only, I think, not nonlocal routines or addresses 16:59
std: l1: goto &.say # oh great 17:00
p6eval std 29876: OUTPUT«ok 00:01 109m␤»
lue Lets hope the rush of QuickBASIC guys don't get here oh no too late! 17:01
17:01 mberends left
lue /o\ 17:01
lichtkind lue: is this a version of OMG?
lue do you mean /o\ ? 17:02
diakopter std: our ::_ 17:03
p6eval std 29876: OUTPUT«===SORRY!===␤Illegal redeclaration of symbol '_' (from line 1) at /tmp/tAWK5HKjsv line 1 (EOF):␤------> our ::_⏏<EOL>␤FAILED 00:01 105m␤»
diakopter erm
std: _; my ::_ 17:04
p6eval std 29876: OUTPUT«===SORRY!===␤Illegal redeclaration of symbol '_' (from line 1) at /tmp/N8ZpaPW0oJ line 1 (EOF):␤------> _; my ::_⏏<EOL>␤Illegally post-declared type:␤ '_' used at line 1␤FAILED 00:01 105m␤»
17:05 mberends joined
pmurias lue: perl 5 has goto LABEL to but you don't really see people using it 17:06
lue I don't care! It's so very BASIC! aieee /o\
diakopter what's wrong with BASIC 17:07
17:07 mberends_ joined
diakopter rakudo: our class {}; 17:08
p6eval rakudo 7aabb3: OUTPUT«Invalid namespace key in set_pmc_keyed␤current instr.: 'perl6;ClassHOW;new' pc 3583 (src/metamodel/ClassHOW.pir:27)␤»
17:12 Achilles333 left 17:18 mberends_ left 17:22 Infinoid joined
Infinoid Hi! Sorry to hear you've been having problems with dalek. What are the symptoms, exactly? 17:22
17:23 colomon_ joined, colomon left, colomon_ is now known as colomon
jnthn Infinoid: So far as I can see from the backlog, it started reporting commits from other projects, but marked as those it is tracking. 17:23
pmichaud I think diakopter++ determined the problem was github
jnthn Ah, OK.
pmichaud (checking)
irclog.perlgeek.de/perl6/2010-02-27#i_2043065 17:24
17:25 lue left
Infinoid thanks, I'll look into it. 17:25
if it's something I can parse out, I will 17:31
17:31 hanekomu_ joined, lue joined
Infinoid actually, matching on the commit url may be sufficient 17:32
pugssvn r29878 | jnthn++ | [t/spec] Fudge some of the auto-threading tests that rely on class attributes; those are NYI. 17:36
jnthn With those fudeged and a local patch, we can run autothreading.t again. \o/
lue \o/ 17:38
diakopter
.oO( if I could only map all the control-flow... )
17:40
lue &
Infinoid diakopter: hai. did you hear anything back from github? 17:41
diakopter nope
noticed one other project complaining of the same thing on twitter
TimToady std: say ('"te ~st"' ~~ /<["]>[<[\ ..~]-[\\"]> | '\b'|'\a'|'\q'|'\g'|'\h'|'\s']+<["]>/) ?? 'got' !! 'not' 17:43
p6eval std 29877: OUTPUT«ok 00:01 110m␤»
17:47 mberends left 17:50 jaffa4 joined 17:52 mberends joined 17:56 mikehh left, mikehh joined 17:58 jaffa4 left
lichtkind jnthn: which version of perl blizkozt usesß 18:01
uses
jnthn lichtkind: I built it against 5.10 18:02
lichtkind thanks 18:03
18:08 TiMBuS joined
jnthn \o/ 18:22
> class Foo { method postcircumfix:<( )>($c) { say "ok"; say $c.WHAT } }
> my $a = Foo.new; $a()
ok
Capture()
...now we're smop-compatible. ;-) 18:23
m-locks :O
jnthn
.oO( not that that's particularly efficient for us, but... )
18:23 am0c left
jnthn -> buying pivo 18:24
pugssvn r29879 | colomon++ | [t/spec] Unfudge some tests that work now. 18:43
jnthn rakudo: my @a = (1,2,3).map({ 2 * $_ }); say @a 18:50
p6eval rakudo a3cc4b: OUTPUT«246␤»
18:51 kaare joined 18:52 kaare is now known as Guest22119
colomon rakudo: sub check(@a) { say @a; }; check((1,2,3).map({ 2 * $_ })); 18:57
p6eval rakudo a3cc4b: OUTPUT«Nominal type check failed for parameter '@a'; expected Positional but got MapIterator instead␤current instr.: 'check' pc 231 (EVAL_1:86)␤»
19:05 cognominal left 19:07 Guest22119 left 19:09 Chillance left 19:12 amindfv left
colomon jnthn: are you getting failures in exists.t and sprintf.t, or did I just somehow cause them by doing minor S32-num patches? 19:12
jnthn colomon: I've seen sprintf.t failing a bit. I dunno why, it all passed a few days ago when I added it back. :-/ 19:13
colomon exists.t worked when I ran it standalone just now. :( 19:14
"Unable to coerce value for '$str' from Str to Integer; no coercion method defined" is what sprintf.t is giving me.
jnthn Yeah, same
Didn't see an exists.t issue
I'm very confused where that sprintf issue came from 19:15
Will have a dig later.
colomon okay, I'll check my stuff in then.
jnthn Cool
pugssvn r29880 | colomon++ | [t/spec] Unfudge more tests. 19:16
jnthn huh
ok ?(Mu & Mu.notdef), 'Mu & Mu.notdef works';
19:16 rgrau joined
jnthn How should that return true? 19:16
alpha: say ?(Mu & Mu.notdef)
p6eval alpha 30e0ed: OUTPUT«0␤» 19:17
jnthn ...
wtf.
How'd we pass that before
Oh, wonder if it got s/something/Mu/...
oh, think Mu-up fail. 19:18
alpha: say undef ~~ undef; say undef & undef ~~ undef
p6eval alpha 30e0ed: OUTPUT«1␤all(1)␤»
19:18 xomas left
jnthn rakudo: say Mu ~~ Mu; say Mu & Mu ~~ Mu 19:18
p6eval rakudo b7e866: OUTPUT«1␤1␤»
jnthn std: Junction 19:20
p6eval std 29879: OUTPUT«ok 00:01 107m␤» 19:21
jnthn std: junction
p6eval std 29879: OUTPUT«ok 00:01 105m␤»
jnthn :-/
ruz no `perl6 -I ...`? 19:22
mberends ruz: not yet, actually working on part of that right now 19:23
19:24 dual joined
ruz hm, wonder how to run a test in the uri repo then. 19:24
mberends check out Rakudo/alpha and use either @*INC or PERL6LIB 19:25
jnthn colomon: Gah...with my latest patch get a segv in bool.t :-( 19:26
colomon jnthn: nooooooo! 19:27
ruz mberends: hm, should I precompile *.pm?
PERL6LIB=./lib perl6 t/01.t
"load_bytecode" couldn't find file 'URI.pir'
jnthn colomon: And then I run it under the debugger
colomon: And guess what? The segfault vanishes!
:'(
colomon: Guess it's heisenbug...
mberends ruz: yes
colomon :\ 19:28
jnthn colomon: In better news, S03-junctions/misc.t runs again
colomon I thought we'd chased all the heisenbugs out.
passing 24766 tests on my machine now. 19:29
mberends nice
jnthn This should add another 60 or so passing.
ruz bangs into wall 19:30
Infinoid so far the github feeds are behaving. but I've got a polling script that will watch it for changes, and if I see anything drastic, I'll at least know what to filter out 19:31
in the meantime, do you guys want me to disable github feeds in dalek? (it looks like some of the mistakes resulted in a lot of spam)
colomon Infinoid: I'd say no... we can always kick it again if it starts flooding us with spam. 19:33
mberends it seems fine to leave the feeds on now, thank Infinoid++
colomon and most of the interesting notifications are from github.
and yes, Infinoid++
Infinoid Works for me. I think #parrot has more of the googlecode and gitorious stuff :)
TimToady how can .Array and .Hash go away? we have coercions to any type, and those are real types... 19:35
jnthn TimToady: There wasn't quite enough context on channel. :-) 19:36
TimToady: Before, when we had a signature like :(@foo, %bar), we'd do .Array and .Hash respectively on those during binding.
TimToady: Since ng, we don't need to do that, so were removing the fossils. 19:37
TimToady nod
jnthn TimToady: But yes, I agree they're coercions methods. :-)
colomon Though there is this bug... 19:38
rakudo: sub check(@a) { say @a; }; check((1,2,3).map({ 2 * $_ }));
p6eval rakudo b7e866: OUTPUT«Nominal type check failed for parameter '@a'; expected Positional but got MapIterator instead␤current instr.: 'check' pc 231 (EVAL_1:86)␤»
jnthn I understand why we FAIL IT.
I'm not sure what the right fix it.
lue Error: You have attempted a questionable action. Please try again. :) 19:39
jnthn yay, dinner ready 19:41
bbiab
19:42 kensanata left 19:49 am0c joined
jnthn back 20:08
lue hello! 20:09
I want to continue working on Rakudo, but don't know what to do. :( 20:15
pugssvn r29881 | jnthn++ | [t/spec] Change a TODO to a skip for Rakudo. 20:16
r29882 | jnthn++ | [t/spec] Correct a 5-o and unfudge 4 tests that Rakudo can now pass. 20:17
mberends lue: what kind of programs do you write?
pugssvn r29883 | jnthn++ | [t/spec] A little re-fudging that I forgot to commit earlier.
lue just hobby stuff. Most complex was my (not finished) NES emulator written completely in Python. 20:20
then switched to Perl for better features :)
mberends lue: you should probably study the test suite. As Rakudo gains functionality, there are often additional tests that either pass, or can be made to pass with a little bit more Rakudo tweaking. 20:21
lue That's what I've been doing, I just find what needs testing a little more challenging. 20:22
mberends lue: something like an NES emulator are not possible right now. but a game written in Perl 6 would be nice. In text mode, given our limited I/O currently. 20:23
lue I know full well an NES emulator is out of the question (bar ASCII graphics), but I made the switch for pointers (er, references) and switch statements. 20:24
Tene SDL from Rakudo wouldn't be too hard. 20:25
lue I originally went with P5, but the syntax was nonstandard (-> instead of . for method calling), so I decided to go for P6
Tene If it doesn't work now, it should be pretty simple to get working.
mberends lue: and if you have the stomach for it, Rakudo could do with a few more programmers in PIR, which could give you graphics and sound.
lue hell, I've dealt with 6502 (the NES variant of) assembly for a few weeks. PIR is a lot more understandable by comparison :) 20:27
pmichaud I'm not sure what the correct fix is either. I'm thinking that perhaps Iterator does Positional.
jnthn pmichaud: And then implements it by coerce to Seq and delegate? Or? 20:28
arlinius lue: heh, PIR is a high level language by comparison 20:29
pmichaud "does Positional" simply implies the capability to handle .[ ] iirc. And Iterator already does that.
jnthn pmichaud: The other alternative is that you're not meant to return an iterator directly
pmichaud: oh, it does?
I hadn't realized that :-)
In that case, does Positional is easy to add. ;-)
pmichaud jnthn: whatever we return has to have an Iterator 20:30
and needs to act like an Iterator
jnthn Have a isn't be a. :-)
But anyway, Iterator ~~ Positional sounds workable.
pmichaud if whatever we return acts like an iterator, I suspect that means it is one. :-)
in particular, .map has to return something that (1) evaluates lazily and (2) doesn't try to remember all of the iterated values 20:31
that sounds to me like an Iterator :-)
jnthn True.
OK, the Iterator ~~ Positional approach sounds good to me.
BTW, parsing question...
Why does this work:
token postfix_prefix_meta_operator:sym< » > { [ '»' | '>>' ] <!before '('>
}
And this not:
token postfix_prefix_meta_operator:sym< » > { [ <sym> | '>>' ] <!before '('>
}
buglet? 20:32
pmichaud maybe. might also be an issues with spaces around the »
does :sym<»> work?
jnthn ah
will try
lue
.oO(I could also write the official P6 module. Full of things we talked about wanting, but wasn't allowed due to not being part of the spec)
20:33
pmichaud I _think_ that :sym< ... > was smart enough to trim spaces in nqp-rx... but can't say for sure
lue
.oO(Or PIR coding)
jnthn OK, compiling.
Was just looking at getting parallel-dispatch.t to run again and it barfed on the parse. :-) 20:34
pmichaud: Removing the spaces helped. 20:37
pmichaud: The test runs fairly wellish...sadly we fail mostly due to things like: 20:38
# got: (7, 8, 9, 10, 11, 12)
# expected: MapIterator.new()
jnthn wonders what Iterator.perl should look like...
20:38 mberends left
pmichaud I think "expected" is wrong there 20:39
20:39 mberends joined
jnthn Me too 20:39
ah 20:40
is_deeply @o».?not_here, @o.map({ Mu })
20:41 Chillance joined
jnthn I'm sure that's even right 20:42
.? hands back a failure.
pmichaud I also wonder to what degree the *Iter types should appear in the tests. Much of that is supposed to be hidden-ish.
jnthn oh, I think TimToady said it should just be undefined though
Sicne you'd use .?
pmichaud I thought.... right
I think it hands back Nil. There's an RT ticket about it. 20:43
jnthn Makes sense.
lue mberends: would sound be considered OK to include in the implementation? (it should be...)
Tene lue: parrot includes SDL, which should be easy to use from Rakudo. 20:44
mberends lue: preferably as a library, but built into your main program at the moment because libraries are NYI. Sound will not be part of the Rakudo core.
jnthn pmichaud: In this case it's not so much that it appears in the tests as is_deeply .perl's it and it doesn't .perl like a Array/Seq/Parcel
pmichaud jnthn: RT #72790
jnthn ooh, thanks
jnthn had just gone looking for that :-)
pmichaud yes, is_deeply likely needs some improvement. 20:45
jnthn OK, so it's is_deeply that needs fixing primarily?
Not Iterator.perl?
pmichaud that would be my guess
jnthn OK
oh heh 20:46
sub _is_deeply(Mu $got, Mu $expected) { $got eqv $expected;
}
pmichaud okay, it's eqv that needs improving, then :-)
but we knew that :-)
20:46 synth left
pmichaud when I updated eqv (yesterday?) I only put in the base case. Alpha had a lot more detailed eqvs 20:47
20:47 synth joined
jnthn Yes, I brought msot of them back this morning. 20:47
pmichaud okay.
jnthn We now pass eqv.t
oh oh oh!
If we make Iterator ~~ Positonal, then the Positional case of eqv catches it. 20:48
And then it may well Just Work.
pmichaud correct
that's what I was expecting :)
jnthn Wow, it's like someone designed this language.
;-)
Iterator, not Iterable, right? 20:49
pmichaud I'd do Iterator for now
just becomes something does Iterable doesn't mean it's Positional. Hash, for example.
jnthn oh, yes
Very good point. 20:50
TimToady Maybe we should rename Iterable to CanHazIterator
20:50 synth left
jnthn moves Positional before Iterator in the bootstrap and prays things don't break 20:51
pmichaud ....when we have hypers re-enabled, can infix:<eqv>(@a, @b) use »eqv« instead of the loop?
20:51 synth joined
jnthn Probably. 20:51
pmichaud @a.WHAT === @b.WHAT && @a »eqv« @b
jnthn Check elems are the same first.
20:51 synth left
jnthn .elems 20:51
that is
pmichaud .elems can be expensive, though
jnthn ah, ok 20:52
20:52 synth joined
pmichaud do we really want to reify the entire contents of @a and @b if they differ in the first element? ;-) 20:52
jnthn Put like that, no, not really
20:52 synth left
TimToady »eqv« makes a list of bools 20:52
jnthn I guess the pre-lazy think was "do we really want to compare all the elements if we know the two things aren't the same length" :-)
pmichaud all( @a »eqv« @b ) then 20:53
jnthn You may still get the whole list produced before the junction is constructed though.
colomon won't >>eqv<< also call elems first?
pmichaud jnthn: yes, although we're supposed to come up with ways to short-circuit that
jnthn It's just not thunky enough.
pmichaud: oh noes, we have to think?!
:-)
pmichaud colomon: no, >>eqv<< shouldn't call .elems 20:54
20:54 simcop2387 left
colomon pmichaud: are you sure? 20:54
jnthn pmichaud: Guess we can spot it at compile time and pass either an adverb to the hyper or set a contextual.
colomon and even if it doesn't, isn't it the least efficient thing to do?
20:54 synth joined
pmichaud most listops and hyperops should not be calling .elems 20:54
colomon pmichaud: the hyperops have to fail / expand if .elems is not equal for both sides. 20:55
20:55 synth left
pmichaud colomon: you can fail/expand without having to check .elems, though 20:55
colomon unless you think it should calculate all the values and then fail at the end because the arrays are not equal in length?
pmichaud colomon: if one iterator runs out of elems before the other, then we know what to do 20:56
but using .elems on list-oriented operations is generally an implementation smell
jnthn pmichaud: How does Iterator get it's postcircumfix:<[ ]>?
pmichaud I think it delegates to Seq 20:57
jnthn oh wait, is it defined in the setting?
pmichaud yes
jnthn oh ouch
class Foo does SomeRole { ... }; augment Foo { method that-was-in-the-role() { ... } } # KABOOM
pmichaud oh, does it need to be in PIR for now, then? 20:58
I mean, I know that Seq does the same thing :-)
as does Array :-)
jnthn That's the Easy Way 20:59
colomon pmichaud: I'm not at all convinced that list operations and hyper operations have much in common, but must cook now.
jnthn In the long run, you need supercede probably.
*supersede
20:59 Trashlord left
pmichaud ...supercede? 20:59
*s ?
jnthn Can anyone spell that word? :-)
On the method. 21:00
pmichaud surely not -- at least, I _hope_ we don't supersede
TimToady we don't want anyone spelling that word
jnthn no no
on the method, not on the class
pmichaud right, I _hope_we don't supersede on the class
*method
jnthn Well, I dunno what else you're going to do.
The class got composed.
pmichaud the method is supposed to replace one candidate from the role
jnthn Too late though
The class got composed.
Augmenting it later doesn't "undo" that. 21:01
TimToady in general, anything that hyperable probably wants to be represented internally as more-or-less balanced trees, according to Guy Steele
21:01 hercynium left
TimToady if you're gonna get anything out of hypering... 21:01
pmichaud (balanced trees) yes, which also argues against .elems :)
TimToady well, positional works too
jnthn So at composition time, there was no method, so the role one got composed in.
TimToady but only with .elems
jnthn The augment is coming to the class after that.
pmichaud the intent is that this particular multi candidate gets combined with the other multi candidates from the role. Is that not possible? 21:02
(not via "augment" is an okay answer for me) 21:03
jnthn Oh, it's a multi.
Erm
oh ouch
Then we run into The Other Can Of Worms that is why I gave up doing hash slices the other day.
pmichaud postcircumfix:<[ ]> really wants to be a multi
jnthn Yeah.
That's fine if we put it in PIR
pmichaud okay, move it to pir from now 21:04
as I said, I'm okay if we can't use augment there
jnthn The bigger problem we have though
Is for associative
Because we end up with Parrot multi-subs
(written in PIR)
And then try and compose those into a role with a Perl 6 multi sub
pmichaud we have that for positional now, don't we? 21:05
jnthn And then it panics.
Yeah, but (until now) we've not tried to compose Parrot multi-subs into something with a Perl 6 multi-sub of the same name.
pmichaud afaict, it's been working okayish
rakudo: say (5..10).iterator.[4,2] # just curious 21:06
p6eval rakudo 279265: OUTPUT«7␤»
pmichaud okay, not okayish
lue -Ofun directive #1: Every error message begins with DON'T PANIC! (think of what you do every time you see an error in your big project, and it makes sense.)
jnthn Right, but may be fixedish in a moment. I hope. :-) 21:07
21:07 simcop2387 joined
pmichaud looks like I'll need to run some errands around here 21:09
jnthn OK
21:14 k23z__ joined
k23z__ hi 21:14
I was banned in #perl so I decided I'll make my own Perl channel
where I'll be an op
and I'll decide who gets banned and who doesn't
Tene hi 21:15
k23z__ hi Tene
21:15 synth joined
jnthn rakudo: say (1,2,3).map({ 2 * $_}) ~~ Positional 21:15
p6eval rakudo 279265: OUTPUT«0␤»
pmichaud afk, have to run some errands :-\ 21:16
lue rakudo: say not(True) 21:18
p6eval rakudo 279265: OUTPUT«0␤»
lue rakudo: say (True and not(True))
p6eval rakudo 279265: OUTPUT«0␤»
lue rakudo: say (True and not(True))~~True
p6eval rakudo 279265: OUTPUT«1␤»
lue that's still fun :)
rakudo: say 1/0 21:19
p6eval rakudo 279265: OUTPUT«Inf␤» 21:20
lue yes! my beliefs hath been validated! \o/
rakuo: say 1/Inf
rakudo: say 1/Inf
p6eval rakudo 279265: OUTPUT«0␤»
lue rakudo: say 0*Inf
p6eval rakudo 279265: OUTPUT«NaN␤»
jnthn While === requires the LHS and RHS have identical types, does eqv also require this? 21:26
jnthn can't ifnd the answer in S03...
lue rakudo: 3 === "x"
p6eval rakudo 279265: ( no output )
lue std: 3 === "x"
p6eval std 29883: OUTPUT«ok 00:01 108m␤»
lue (i'm testing this all wrong, aren't I?) 21:27
21:31 iblechbot left 21:33 jferrero joined
colomon I just realized pmichaud and I were talking slightly at cross purposes back there. 21:33
k23z__ if anyone here is interested in Perl and hardcore Mathematics, join #perl-outside
I'm planning on making a better channel than #perl was
or is
jnthn colomon: It happens. 21:34
:-)
lue I went to #perl once. It didn't feel right, for some reason.
colomon For sure you'd probably want to do something like make a Seq (or a tree, if you're Guy Steele) before launching into the hyper op.
jnthn I can sorta see both sides...
colomon But calling .elems is a waste, it's a by-product of creating the structure to hyper on. 21:35
k23z__ lue: yeah that's why you should come to #perl-outside
jnthn colomon: Decided to fudge todo 6 of the tests in parallel-dispatch.t since the rest all pass and it's jsut the is_deeply issue, or the test needs tweaking.
colomon still, it's really important to recognize that hyper-ops aren't lazy. 21:36
jnthn oops, that was for pmichaud
colomon jnthn++ # I was wondering what conversation I had forgotten...
lue
.oO(I has an IBM computer manual from the '80s. Back then, manuals were so detailed, I could use that book to build the exact same computer on my own)
21:37
jnthn colomon: They ain't lazy, no. But checking .elems potentially makes sense in a non-lazy world as you can fail early.
lue
.oO(maybe before then, even)
jnthn OTOH, you probably expect not to fail, so... :-)
colomon The right way to do eqv(@a, @b) is probably something like { for @a Z @b -> $a, $b { return false unless $a eqv $b; } }
errr, return True at the end. :)
pugssvn r29884 | jnthn++ | [t/spec] Some fudging of tests we sorta in theory can pass, but need to work out if is_deeply of infix:<eqv> or the test expected result needs changing. :-) 21:38
jnthn colomon: We used to but infix:<Z> ain't re-implemented yet. 21:39
colomon unless you know both sides are non-lazy Seqs, in which case .elems is a good first step. :)
jnthn rakudo: (1,2,3) Z <a b c>
p6eval rakudo 279265: OUTPUT«Could not find non-existent sub &infix:<Z>␤current instr.: '_block14' pc 29 (EVAL_1:0)␤»
colomon jnthn: neither is >>eqv<< ;)
jnthn ;-)
colomon is trying to remember why he hasn't got around to implementing infix:<Z> yet.... 21:40
jnthn oops, that last spectest commit had a stowaway.
> say (5..10).iterator.[4,2]
lue will try to help with PIR coding...
jnthn 97
pmichaud: In making (5..10).iterator.[4,2] work, I realized that .Seq was destructive to the iterator. :-/ 21:41
colomon oh, ya sure, you betcha.
jnthn pmichaud: I added a self.clone() to what we pass to !STORE rather than just self.
21:41 [synth] joined
jnthn I dunno if that's a Very Bad Thing though. :-/ 21:41
But I don't see how we're going to make it work otherwise... 21:42
colomon you're cloning the iterator?
jnthn *nod*
Does that sound epicly wrong?
colomon that does indeed seem like a Very Bad Thing.
jnthn The trouble is that in .[4,2]
We end up in the integer index case of postcircumfix:<[ ]> twice
And since it just does .Seq...
We try to .Seq twice.
colomon oooo, ouch. 21:43
jnthn Apart from the second time it explodes.
21:43 synth left
jnthn Yeah 21:43
colomon I'm quite sure that's wrong.
jnthn The only other thing that comes to mind is that .Seq staches away the Seq that it made the first time
21:43 [[synth]] joined
jnthn And just hands back that the next time around. 21:44
colomon or at least, could you say .[4, 4] ?
jnthn No, it'll blow up in the same way. :-/
colomon no, I mean now.
or in theory, I guess.
I mean in theory.
jnthn gah, I think that clone causes all kinds of chaos. 21:45
jnthn takes it out again.
mberends why did alpha compile "interp = getinterp
config = interp[.IGLOBALS_CONFIG_HASH]" fine, but master says "imcc:syntax error, unexpected DOT ('.')"
lichtkind mberends: hej welcome back
jnthn mberends: You're missing a .include
colomon I just remember the canonical example of what might be bad -- what if the iterator is a pipe?
jnthn To include the file for the constants.
colomon: Right...yeah, cloning it is Very Bad. 21:46
mberends jnthn: thanx
k23z__ mberends: you using p6 ?
21:46 [synth] left
mberends k23z__: trying to add @*INC back into p6 21:47
jnthn :-)
colomon rakudo: my @a = 1..10; say @a.iterator.get 21:48
p6eval rakudo 279265: OUTPUT«1␤»
colomon oooo.... 21:49
jnthn ergh, I've got too many different local patches...
lue maybe you should upload them, and then everyone is on an equal ground of aggravation :) 21:50
colomon alpha: say (1..4) Z (10..13)
p6eval alpha 30e0ed: OUTPUT«110211312413␤»
colomon alpha: say ((1..4) Z (10..13)).perl 21:51
p6eval alpha 30e0ed: OUTPUT«[1, 10, 2, 11, 3, 12, 4, 13]␤»
colomon doh!
alpha: say ((1..4) Z (10..15)).perl
p6eval alpha 30e0ed: OUTPUT«[1, 10, 2, 11, 3, 12, 4, 13]␤»
jnthn git stashes a bunch of 'em... 21:53
lichtkind hej i still find spam 21:55
lue diakopter: ping 21:56
22:01 TiMBuS left
jnthn rakudo: say Nil.defined 22:02
p6eval rakudo 279265: OUTPUT«1␤»
jnthn ...
Fail?
Tene rakudo: say Nil.Fail? 22:03
p6eval rakudo 279265: OUTPUT«Confused at line 11, near "say Nil.Fa"␤current instr.: 'perl6;HLL;Grammar;panic' pc 500 (ext/nqp-rx/src/stage0/HLL-s0.pir:328)␤»
lue rakudo: say Nil
p6eval rakudo 279265: OUTPUT«␤»
lue rakudo: say Nil~~undef
p6eval rakudo 279265: 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␤ …
jnthn The C<Nil> value is
officially undefined as an item
Tehre we go then.
lue rakudo: say Nil~~.notdef 22:04
p6eval rakudo 279265: OUTPUT«1␤»
lue rakudo: say (Nil and !Nil) 22:05
p6eval rakudo 279265: OUTPUT«␤»
lue rakudo: say (Nil and !Nil)~~Nil
p6eval rakudo 279265: OUTPUT«Method 'ACCEPTS' not found for invocant of class 'Parcel'␤current instr.: 'infix:<~~>' pc 214513 (src/gen/perl6-actions.pir:16047)␤»
lue tricky math with nothing and not nothing :)
mberends jnthn: should the !STORE method of an Array flatten? 22:10
jnthn mberends: Think so
mberends: According to the flatteningness of the thingies you pass in, anyways.
mberends it doesn't seem to here (again). paste coming up.. 22:11
jnthn: is that why an rpa is sometimes spliced into a Parcel? 22:13
pmurias k23z__: better then #perl on freenode.org or better than #perl on irc.perl.org
k23z__: didn't you get banned from #perl on freenode.org? 22:14
jnthn mberends: It kinda depends what you're storing.
mberends: Anyway, point me as the paste. :-) 22:15
k23z__ pmurias: I certainly did 22:16
pmurias: that's why I will make something better
pmurias: where I don't get banned and all the good people stay in
lue I can't tell if I still have op status :/ 22:19
22:24 eternaleye left
lisppaste3 mberends pasted "@*INC patch to glue/run.pir for jnthn++" at paste.lisp.org/display/95722 22:24
mberends jnthn: it doesn't work fully yet. and &circumfix:<[ ]> baffles me ;) 22:27
jnthn mberends: hmm 22:28
mberends: Instead of
$P2 = new ['Array']
$P2.'!STORE'($P0)
Try
mberends oki
jnthn $P2 = '&circumfix:<[ ]>'($P0 :flat)
mberends ooh, :flat ! 22:29
jnthn Yeah
mberends :)
jnthn I *think* that may do it.
22:30 eternaleye joined
jnthn Whew, tracked down the source of my fail 22:30
jnthn pushes a bunch of patches.
22:30 payload left
pmurias lue: don't all the ops have a @ in front of the nicks, what's so important in being an op? 22:31
Tene pmurias: ops are responsible for responding to spamming, abusive members, etc. 22:33
jnthn We only need four more patches before the github commits page is full of stuff from today!
Wow.
:-)
arlinius pmurias: you just said it, they get a @ by their nicknames 22:35
and yeah /whois yourself lue, no @ means no op 22:36
pmurias wants a % by his nickname
arlinius I want a & 22:37
mberends would settle for a twigil like * 22:38
lue I get a couple of @, but only next to addresses
diakopter gave me op status, but I think it dies when I /leave (which I do to avoid unneccessary connections) 22:40
(so the solution would be either don't /leave anymore, or have some of thing go `Oh hello there! I see you are an op, here you go' whenever you /join) 22:42
arlinius yeah, it's nonpersistent
lue it ought to be. :) Not that I need to /leave, I just don't like leaving the connection open overnight. 22:43
(what's this version request thingy? eep!) 22:44
jnthn colomon: Patch just pushed should deal with the type check fail you were getting earlier. 22:47
arlinius just curious
most clients respond to that with the name and version of their irc client 22:48
yours responded "Konversation 1.2.3 (C) 2002-2010 by the Konversation team"
jnthn rakudo: sub foo(@x) { say "ok" }; foo((1,2,3).map({ 2 * $_ })) 22:49
p6eval rakudo 279265: OUTPUT«Nominal type check failed for parameter '@x'; expected Positional but got MapIterator instead␤current instr.: 'foo' pc 231 (EVAL_1:86)␤»
jnthn With patch just pushed:
> sub foo(@x) { say "ok" }; foo((1,2,3).map({ 2 * $_ }))
ok
:-)
arlinius neat
jnthn wonders if that fixes any tests :-)
lue ACHTUNG!: Progress has been detected. Please leave immediately. The server will now shut down.
arlinius if not, we need more tests 22:50
mberends jnthn: you sold me a pup! Method '&circumfix:<[ ]>' not found for invocant of class 'Array'
jnthn method?!
mberends: please paste code
(the surprise 'cus it's a sub call... :-S) 22:51
mberends well, I just pasted your suggestion line, verbatim 22:52
er, no, I didn't :-/
jnthn :-)
mberends needs to keep beer and computer farther apart 22:53
lue
.oO(Does anyone know if there are P6/PIR emacs modes, and if so, where to get them?)
mberends jnthn: '$P2 =' ne '$P2.' 22:54
22:54 pmurias left
jnthn :-) 22:54
mberends: Which beer?
arlinius lue, there's a PIR/PASM emacs mode... I think I found it somewhere on the parrot site, or maybe in the dist, let me check 22:55
jnthn mberends: Maybe the code only improves with Czechoslovak beer. ;-)
mberends Lasko Pivo, from Ljubljana
jnthn Ooh...Slavic. Shouldn't be bad. :-)
mberends it's definitely not bad
jnthn I remember beer in Slovenia being fine.
Sadly the weather was less fine, and I got stranded somewhere for several days by floods. 22:56
mberends Czech beer is great. Still have some Staropramen somewhere :)
arlinius lue: look at editor/pir-mode.el in the parrot tarball or repository
not sure about a perl6 mode, I'd like one myself if someone has one 22:57
lue and someday, there's hopefully a P6 mode :)
jnthn mberends: Ooh, I know somewhere that has that on tap here. And good nom too. :-)
mberends jnthn: Monday evening deal maybe
jnthn Monday or Tuesday. :-) 22:58
(It's a little further from here than some other decent places...depends what time you get here. Would suck to arrive just at "we stopped serving food" time.) 22:59
wow...S02-names_and_variables/perl.t makes my computer emit beeps when run at the command line! 23:00
lue someone put in some 0x0A ... sneaky little...
mberends jnthn: it flattened (the array, not the beer) but became one interpolated string :-/
lue .u 0x0A
phenny U+000A (No name found)
Tene lue: do you actually close your client, or just /leave? being joined to a channel doesn't create an additional connection, it just all goes through the one connection to the server.
lue I /leave, then quit Konversation 23:01
Tene Ah.
23:01 Tene sets mode: -o Tene, ChanServ sets mode: +o Tene
mberends doesn't yet trust dem newfangled postcircumwhatevers 23:01
lue u+000A creates the ASCII BEL character. 23:02
jnthn I hope it was only a circumfix :-)
mberends: Paste code, maybe I mis-guided you and I'll spot it on seeing it as a whole.
lue rakudo: say chr(0x34)
p6eval rakudo 279265: OUTPUT«4␤»
mberends jnthn: yeah, I made the rest up ;)
lue rakudo: say chr(0x0A) #turn down ye speakers, :D
p6eval rakudo 279265: OUTPUT«␤␤»
jnthn :-P
lue: Thankfully only on the command line, not on IRC.
But nice try! 23:03
lue I turned off ASCII BEL interpretation in Konversation, so I'm safe.
mberends I thought BEL was 0x07
pmichaud 22:28 <jnthn> $P2 = '&circumfix:<[ ]>'($P0 :flat)
doesn't need the :flat
lue and the volume for System Bell on my computer is all the way down, so I still wouldn't hear it :)
jnthn mberends: What Pm said. :-)
pmichaud (circumfix:<[ ]> flattens by default :-) 23:04
jnthn pmichaud: Now Positional ~~ Iterable.
pmichaud: er, erm, other way!
pmichaud jnthn: and everything seems to be working out ?
jnthn Well the tests passed
However
mberends re-tries without :flat, thanks pmichaud
jnthn eqv (as we have it now) checks the .WHAT is the same
So it didn't actually help with the is_deeply problem at all.
lue huh, I could swear 0x0A was BEL...
lue checks unicode as opposed to ASCII 23:05
jnthn www.asciitable.com/ says 007
mberends ascii is a subset of unicode
arlinius 7 yeah
jnthn pmichaud: The other problem is that .Seq exhausts the iterator.
arlinius rakudo: say chr(0x07)
p6eval rakudo 279265: OUTPUT«␤»
pmichaud 21:41 <jnthn> The trouble is that in .[4,2]
21:42 <jnthn> We end up in the integer index case of postcircumfix:<[ ]> twice
jnthn pmichaud: So $iterator.[2,4] tires to do .Seq ...right.
That's still broken now 23:06
Because the cloning the iterator felt...wrong.
pmichaud Iterable.postcircumfix:<[ ]> needs to accept anything and forward it to Seq
cloning the iterator is definitely wrong.
jnthn Ah.
That'd fix it.
pmichaud so, I'm guessing: .sub 'postcircumfix:<[ ]>' :multi(_,_)
jnthn
.oO( why'd I not think of that )
pmichaud: Well
Yeah, something like that :-) 23:07
pmichaud in p6, it'd be multi method postcircumfix:<[ ]>(*@args) { self.Seq.[@args] }
jnthn tries it.
pmichaud (we'll have to clean it up when we do slices)
jnthn why have it as multi, though?
If it's going to catch all cases? 23:08
pmichaud true, it doesn't need to be multi
although it's possible some subclass of Iterator would want to optimize
23:08 Su-Shee left
jnthn OK, trying it. 23:09
colomon jnthn: I've got a primitive version of infix:<Z> working here.
jnthn \o
erm
\o/
:-)
lue bah. I wonder where I got BEL=0x0A from...
colomon only handles zipping two Iterables, but it is lazy.
jnthn > say (5..10).iterator.[2,4] 23:13
79
pmichaud note that Junction.Str is supposed to autothread. :-|
jnthn spectests
pmichaud: See comment.
pmichaud: When ~ starts calling Stringy (which iirc doesn't autothread) we rename that method. 23:14
pmichaud yeah, all of that needs to be tightened up a bit.
jnthn Until then we should or we get infinite recursion. Which sucks.
Or something like that anyway.
23:15 [[synth]] left
pmichaud 0 23:16
.sub 'defined' :method :vtable('defined') $I0 = elements self .tailcall '&prefix:<?>'($I0) 23:17
.end
... may be problematic
jnthn wwpmd?
pmichaud (in several ways)
jnthn :-)
pmichaud in general we probably shouldn't put :vtable on class methods directly 23:18
jnthn pmichaud: I was trying to provide the "in item context it's undefined"
Yeah, I was surprised I had to do that
And then realized that we do // with pasttype definedor or some such.
Rather than calling .defined
lisppaste3 mberends annotated #95722 "result of removing :flat" at paste.lisp.org/display/95722#1
pmichaud well, yes, we have to handle them both, but they shouldn't be a single method
:vtable('defined') expects us to return an int, but &prefix:<?> returns a Bool 23:19
and tailcalls with mismatched types often leads to Bad Things in Parrot
jnthn Ah, yes.
Good point
Is there a reason we don't have a forwarder in Mu for defined vtable?
pmichaud We do; I'm guessing the defined vtable in RPA is overriding 23:20
jnthn Ah, OK
pmichaud (at least, I'm pretty sure we do)
yes, we do. :-)
jnthn Yes, we do
oh, beat me again :-P
OK, so we should split it into two methods?
pmichaud Yes, I think so. 23:21
jnthn Are there extra problems?
pmichaud those are the two I can think of.
jnthn Ah, OK.
pmichaud oh, wait -- yes, there's another problem.
jnthn I ran into it because .? started handing back Nil to fix The Bug.
pmichaud one can't do a simple elements to see if the Parcel is empty
jnthn But then Nil.defined was true. 23:22
pmichaud rakudo: Say Nil().defined
p6eval rakudo 477857: OUTPUT«Could not find non-existent sub &Say␤current instr.: '_block14' pc 29 (EVAL_1:0)␤»
pmichaud rakudo: ay Nil().defined
p6eval rakudo 477857: OUTPUT«Could not find non-existent sub &ay␤current instr.: '_block14' pc 29 (EVAL_1:0)␤»
pmichaud argggggh
jnthn Epci Fail!
pmichaud rakudo: say Nil().defined
p6eval rakudo 477857: OUTPUT«0␤»
pmichaud probably has updated.
jnthn That's what I was after.
I checked S02 like an hour ago.
pmichaud anyway, one can't simply check the Parcel to see if the RPA is empty, because the Parcel could be something like (Nil,Nil,Nil) 23:23
I'm guessing that would also be Nil
jnthn Hm 23:24
bkeeler Afternoon perlites!
jnthn rakudo: (Nil,Nil,Nil).Seq.elems.say
p6eval rakudo 477857: OUTPUT«0␤»
jnthn Ah.
lue Oh hoh!
pmichaud since that's the same as ((),(),())
23:25 masak joined
pmichaud ...which makes me wonder if it's truly undefined :-) 23:25
masak oh hai, #perl6
jnthn omgitsmasak
23:25 synth joined
mberends \o masak 23:25
masak ...back from the living. :)
jnthn ...this is the dead?
pmichaud I guess it's explicitly listed as being undefined.
jnthn pmichaud: OK
lue masak! \o/ \o/ \o/ \o/ \o/
masak jnthn: no, but it is some kind of simulation, I'm afraid. :)
23:26 synth left
mberends masak: you must be quite fortunate, to have a life 23:26
lichtkind touched 12 articles 1 new thats not bad
masak mberends: it's tough to combine it with my Perl 6 interest, though :)
lichtkind masak: hej
lue while you were gone, I received op status (then lost it by /leave ing), screamed in joy that OpenGL works on my machine, and decided to learn PIR
masak lichtkind: moin
pmichaud jnthn: anyway, I'm not quite sure how to reconcile that with something like (Nil) // ....
jnthn pmichaud: Me either. 23:27
masak jnthn: once, I had a vivid dream I was a magnificent butterfly, much like Camelia. when I woke up, I was uncertain whether I was really an ordinary person dreaming that he was helping with Perl 6, or a Perl 6 activist who dreamt he was an ordinary person...
arlinius rakudo: say (Nil).defined
pmichaud anyway, leave the elements check for now, I guess, and we'll figure it out later.
p6eval rakudo 477857: OUTPUT«0␤»
arlinius rakudo: say (Nil,Nil).defined
p6eval rakudo 477857: OUTPUT«1␤»
lichtkind masak: i read that somewhere before 23:28
jnthn pmichaud: For now I'll just split the method and vtable method.
pmichaud jnthn: +1
23:28 synth joined
masak (with apologies to 莊子) 23:28
23:28 synth left
jnthn pmichaud: .[2,4] changes spectested nicely. Pushed. 23:28
lue masak: for the TARDIS, I think it would have to become a 'semi-parser' to 'time-travel' as a debugger :) 23:29
23:29 synth joined
pmichaud jnthn: +1, excellent 23:29
masak lue: I'm working on the parser. but you're thinking too small. it would have to be a pluggable runtime, too.
lue: it needs to actually execute the statements in order to fall into the right if branches, and similar things.
pmichaud afk for a short while 23:30
jnthn masak: Those confusing dreams!
:-)
colomon ?
masak jnthn: that's what confusianism is all about, no? :P
jnthn
.oO( confusionism )
lue jnthn: it's a time-travelling debugger! Time-Augmented Realistic Debugging In Style (I tend to change what R stands for)
masak I kinda hoped snarkyboojum'd be here. I have some half-baked ideas to discuss with him. 23:31
mberends hey lue, will stop naming it please and start writing it ;-)
masak lue: what mberends said. :) 23:32
lue :O Point is, its codename is TARDIS
masak lue: yeah, but it's only a working name.
jnthn mberends: oops, I forgot about your paste...
23:33 mikehh left
lue similar to how the Nintendo Gamecube was codenamed Dolphin 23:33
mberends jnthn: basically pmichaud++ was right, it flattens with or without :flat
23:33 mikehh joined
jnthn I'm curious where/how it's turning into a string. 23:33
23:34 xomas joined, xomas left, xomas joined, zorgnax joined
lue well, where is TARDIS' code, hm? 23:34
mberends jnthn: it doesn't look like a single string, but a single reference to an array of strings 23:35
23:35 mssm left
jnthn mberends: I just have to wonder if it's because it's an RPA rather than a parcel. :-/ 23:35
masak if anyone else is interested in time-travelling debuggers, I'm willing to have some privmsg brainstorming.
colomon jnthn: how did you resolve the [4,2] issue? 23:36
jnthn masak: The concept terrifies me as an implementer
colomon: See diff but basically catch the 4,2 and then .Seq and pass the whole lot along
masak: Which means I'm kinda interestedish. :-)
masak jnthn: I would probably be terrified too, if I were smarter :P
pmichaud++ # idea of a diakopter-detecting device in the Rakudo parser 23:37
jnthn You may terrorize me in privmsg, but I may in retaliation tell you what new Swedish word I was taught today.
colomon jnthn: I actually looked at that code and then asked the question. :) 23:38
jnthn colomon: Ah :-D
colomon but it kind of makes sense now.
mberends jnthn: yes, because the Parcel treatment worked better than 'circumfix:<[ ]>' in the @*ARGS case 20 lines earlier
23:38 mikehh left 23:39 mikehh joined, quietfanatic joined
mberends jnthn: kinda strange because 'circumfix:<[ ]>' includes a Parcel in it implementation 23:40
jnthn Oddness...
mberends haz a idear to try the @*ARGS way for @*INC 23:41
23:41 synth left
jnthn mberends: It may just work :-) 23:42
k23z__ is mst +op on this channel ?
is apeiron +op on this channel ?
mberends sometimes, why?
lue is slowly getting annoyed with synth's constant coming and going... 23:43
lue ... without a single message
k23z__ because I will get banned if I am here when they will be ops here 23:44
it's like it's their life-duty to ban me 23:45
completely ridiculous
lue if I'm granted op status again, then 1) I'll try not to /leave again, and 2) I'd unban you 23:46
k23z__ the ops probably have their tight-knit group
mberends k23z__: they are not vigilantes. If you're considerate to everyone here, you'll remain welcome here.
huf i've yet to see an unwarranted ban/kick on any perl.* channel 23:47
23:48 mssm joined
k23z__ yes hopefuly 23:48
23:51 mikehh left, mikehh joined
ruz rakudo++ # much better error messages and help for perl5 addicted 23:53
lue (did someone put in my error messages?)
mberends jnthn: it Just Worked :-) 23:54
jnthn mberends++
mberends still don't trust dem newfangled circumwhatevers 23:55
jnthn :-) 23:57
lue How doth I add a new emacs major mode to, eh, (gnu) emacs? 23:59
23:59 mikehh left