Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2010-02-27

Perl 6 | Reference Documentation | Rakudo

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

All times shown according to UTC.

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

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

Perl 6 | Reference Documentation | Rakudo