Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2011-08-16

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:14 jaldhar joined #perl6
00:30 lue I assume there isn't a numerical not like there is for +^, +&, and +|, which would let me NOT every bit of the number provided?
00:36 flussence rakudo: say +~1
00:36 p6eval rakudo 922500: OUTPUT«1␤»
00:36 flussence grr.
00:36 flussence dunno.
00:37 flussence rakudo: say 1 +^ 0xFFFF
00:37 p6eval rakudo 922500: OUTPUT«65534␤»
00:37 flussence that's probably your best bet, since there's no "default" bit width to Ints
00:39 lue I need to do that to 32-bit words. I think $number +^ 0xFFFFFFFF would do the trick.
00:39 colomon oh, right!  no default width means no numerical not
00:39 flussence (unless you define a +! for native type ints...)
00:41 lue Actually prefix:<+^> is supposed to do that. (Which I think is counterintuitive to the meaning of ^ otherwise, and therefore propose prefix:<+!>)
00:44 lue Too bad +!$a is already taken to mean "negate $a and then turn that into a number". Perhaps that would only work on explicitly sized numbers?
00:45 sorear niecza: say +^1
00:45 p6eval niecza v8-51-g785e335: OUTPUT«-2␤»
00:46 sorear colomon: if you define Ints as being twos-complement, then +^$x means -$x-1, no reference to width needed
00:46 colomon sorear: was just reading that in S03.
00:47 lue Would it work right then if I were to do    my uint32 $a = 42; say +^$a;
00:48 colomon niecza: my uint32 $a = 42; say +^$a;
00:48 p6eval niecza v8-51-g785e335: OUTPUT«[31m===[0mSORRY![31m===[0m��Malformed my at /tmp/arrTQwkWFj line 1:�------> [32mmy [33m�[31muint32 $a = 42; say +^$a;[0m��Parse failed��»
00:48 sorear niecza doesn't have uint32 yet
00:48 sorear does rakudo?
00:49 lue nom: my uint32 $a = 42; say $a;
00:49 sorear pugs: my uint32 $a = 42; say $a ; # I bet pugs does though.
00:49 p6eval nom: OUTPUT«===SORRY!===␤Malformed my at line 1, near "uint32 $a "␤»
00:49 p6eval pugs: OUTPUT«42␤»
00:49 sorear pugs: my uint32 $a = 0; $a--; say $x
00:49 p6eval pugs: OUTPUT«*** ␤    Unexpected end of input␤    expecting "::"␤    Variable "$x" requires predeclaration or explicit package name␤    at /tmp/xNACDGV_2Y line 1, column 31␤»
00:49 sorear pugs: my uint32 $a = 0; $a--; say $a
00:49 p6eval pugs: OUTPUT«-1␤»
00:49 colomon ah, pugs
00:49 sorear not very "u"
00:49 sorear pugs: my uint16 $a = 65535; $a++; say $a
00:49 p6eval pugs: OUTPUT«65536␤»
00:50 sorear looks like it's not respecting type sizes at all
00:50 colomon ah, pugs
00:50 colomon ;)
00:50 lue Oh well, hopefully it'll still work right with plain ol' unsized Ints and +^ 0xFFFFFFFF;
00:51 lue .oO(Oh no, I'm ending my (English) sentences in semicolons now;)
00:53 sjn joined #perl6
00:53 spetrea joined #perl6
00:53 nebuchadnezzar joined #perl6
00:53 takadonet joined #perl6
00:53 colomon joined #perl6
00:53 [particle] joined #perl6
00:53 colomon wth?
00:53 yahooooo joined #perl6
00:54 buubot_backup joined #perl6
00:54 colomon Never saw that hang-up message before, dunno why it would happen, either.
00:54 lue .oO( $freenode.net.split; )
00:56 BinGOs joined #perl6
00:59 sorear colomon: what did you see
01:00 colomon sorear: it was a popup outside of the chat window talking about a SIGTERM, if I recall correctly.  Guess it was the first time I've been on the receiving end of that sort of net split?
01:00 sorear maybe
01:25 Sarten-X joined #perl6
01:51 beekor joined #perl6
01:52 cognominal joined #perl6
01:52 cogno joined #perl6
02:06 lue Is there a way to prefix a bunch of strings in an array with something like '0b' ? [:2($var) doesn't work yet]
02:07 lue nvm, found out for myself ("0b" «~» @a if you were wondering)
02:08 sorear .u «
02:08 phenny U+00AB LEFT-POINTING DOUBLE ANGLE QUOTATION MARK («)
02:08 sorear .u �
02:08 phenny U+FFFD REPLACEMENT CHARACTER (�)
02:11 _jaldhar joined #perl6
02:14 colomon sorear: suggestions on where to add math sub versions to Niecza?
02:18 dalek nqp/nfa: ef8359b | pmichaud++ | src/Q (2 files):
02:18 dalek nqp/nfa: Add :rxtype<ws> to differentiate meta whitespace from direct calls to <.ws>.
02:18 dalek nqp/nfa: review: https://github.com/perl6/nqp/commit/ef8359b6e8
02:18 dalek nqp/nfa: 6d9e44e | pmichaud++ | src/NQPQ/Actions.pm:
02:18 dalek nqp/nfa: QRegex::Actions::buildsub no longer sets :blocktype('method') by default.
02:18 dalek nqp/nfa: review: https://github.com/perl6/nqp/commit/6d9e44e169
02:18 dalek nqp/nfa: 88b34ff | pmichaud++ | / (3 files):
02:18 dalek nqp/nfa: Initial version of nfa generation.  Build nqpq by default for now to make testing easier.
02:18 dalek nqp/nfa: review: https://github.com/perl6/nqp/commit/88b34ff82e
02:18 dalek nqp/nfa: d3798ba | pmichaud++ | src/QRegex/NFA.nqp:
02:18 dalek nqp/nfa: Relabel NFA_* constants to EDGE_*.  Add a simple __dump() method to make it easier to visualize the NFA.
02:18 dalek nqp/nfa: review: https://github.com/perl6/nqp/commit/d3798ba48e
02:18 dalek nqp/nfa: 8c346b0 | pmichaud++ | src/PAST/NQP.pir:
02:18 dalek nqp/nfa: Add nqp::sprintf opcode.
02:18 dalek nqp/nfa: review: https://github.com/perl6/nqp/commit/8c346b0a89
02:18 dalek nqp/nfa: 94795ee | pmichaud++ | src/QRegex/ (2 files):
02:18 dalek nqp/nfa: Initial protoregex nfa generation and merging.
02:18 dalek nqp/nfa: review: https://github.com/perl6/nqp/commit/94795ee05e
02:18 dalek nqp/nfa: 742b33a | pmichaud++ | src/QRegex/ (2 files):
02:18 dalek nqp/nfa: Add NFA.run -- code to run the NFA on a given input string.
02:18 dalek nqp/nfa: review: https://github.com/perl6/nqp/commit/742b33a871
02:26 sorear colomon: math sub versions?
02:26 colomon sorear: sub sin, sub abs, etc.
02:27 colomon just occurred to me my ack didn't find them because they're in a .setting file.
02:27 colomon CORE.setting
02:28 colomon niecza: say e
02:28 p6eval niecza v8-51-g785e335: OUTPUT«Rebuild in progress␤»
02:37 colomon sorear: next question: do you have spectest fudging up and running?
02:38 sorear yes
02:39 colomon how?
02:39 [Coke] phenny: tell pmichaud the parrot release will not be coming out at midnight tonight due to parrot not being releasable as is from a mac. Will resolve tomorrow morning, eastern.
02:39 phenny [Coke]: I'll pass that on when pmichaud is around.
02:39 pmichaud [Coke]: no problem.
02:39 phenny pmichaud: 02:39Z <[Coke]> tell pmichaud the parrot release will not be coming out at midnight tonight due to parrot not being releasable as is from a mac. Will resolve tomorrow morning, eastern.
02:39 sorear colomon: t/fudgeandrun t/spec/...
02:40 pmichaud [Coke]: I'm now looking at wednesday for a Rakudo release.
02:40 sorear colomon: you'll need to symlink t/spec to a roast checkout first.
02:40 pmichaud i.e., it's very unlikely to happen today.
02:41 colomon sorear: Can't exec "../roast/fudge"  ?
02:42 colomon sorear: ah, it assumes I have roast and t/spec directories, both the same?
02:42 araujo joined #perl6
02:44 colomon sorear: okay, have fudging working
02:45 colomon sorear: need to head to bed, but have made some progress tonight and hope to have something more running tomorrow.
02:46 sorear colomon: ...oops
02:48 dalek niecza: 3afe236 | sorear++ | t/fudgeandrun:
02:48 dalek niecza: Fix dependence on ../roast === t/spec (colomon)
02:48 dalek niecza: review: https://github.com/sorear/niecza/commit/3afe23652d
02:48 sorear colomon++
02:48 _jaldhar joined #perl6
02:54 lue Something tells me that the module name Digest::SHA::1 is strictly forbidden...
02:54 pmichaud I don't know about 'strictly'  :-)
02:55 lue Well, neither master nor nom let me go on after seeing  C«module Digest::SHA::1:auth<lue>:ver<0>;»
02:55 lue (It would go on if I s/1/One/)
02:59 lue Also, I'd feel a lot more confident about the SHA-1 algorithm I wrote if I could've used C<uint32>'s... [haven't been able to test it yet, will upload code later]
02:59 lue afk
03:04 jaldhar_ joined #perl6
03:09 jaldhar_ joined #perl6
03:14 szr joined #perl6
03:20 broquaint joined #perl6
03:23 Su-Shee joined #perl6
03:29 uniejo_in_riga joined #perl6
03:31 _jaldhar_ joined #perl6
03:39 uniejo__ joined #perl6
03:44 spetrea is Ms. for married women and Mrs. for not-yet-married women ?
03:45 spetrea I want to address a letter and need to know how
03:48 _sri joined #perl6
03:48 sorear traditionally, yes.  in practice, nobody cares, use Ms for everyone
03:48 cotto joined #perl6
03:49 pmichaud spetrea: "Miss" is for unmarried women.  "Mrs." is for married women.  "Ms." is when the distinction isn't wanted or important.
03:49 spetrea hmm ok
03:50 spetrea what if it's a cover letter to some recruiter who happens to be a woman ?
03:50 pmichaud "Ms."
03:50 pmichaud ("Ms." is also used when the marital status isn't known.)
03:51 sorear a lot of people today get offended if you use Miss or Mrs
03:51 pmichaud http://en.wikipedia.org/wiki/Ms.   says "According to The Emily Post Institute, Ms. is the default form of address for women, regardless of marital status, in the US.[3]"
03:51 spetrea do Men have the same thing with Mr. ? is there an alternative to Mr. ?
03:52 spetrea Mr. or Bachelor ?
03:52 spetrea Mr. or Ba.
03:52 spetrea this is so silly
03:53 satyavvd joined #perl6
03:53 pmichaud Generally for men it's "Mr.", yes.  For very young male children one can use "Master", but that's also fallen out of favor.
03:55 spetrea "Master", how silly that sounds
04:00 sili joined #perl6
04:01 _jaldhar_ joined #perl6
04:02 dalek nqp/nfa: 505a3d7 | pmichaud++ | src/QRegex/NFA.nqp:
04:02 dalek nqp/nfa: Add anchor and enumcharlist to QRegex::NFA.
04:02 dalek nqp/nfa: review: https://github.com/perl6/nqp/commit/505a3d7e92
04:02 dalek nqp/nfa: ef5cfd3 | pmichaud++ | src/QRegex/NFA.nqp:
04:02 dalek nqp/nfa: Some small fixes to anchors and eos handling.
04:02 dalek nqp/nfa: review: https://github.com/perl6/nqp/commit/ef5cfd31e3
04:02 dalek nqp/nfa: 4903492 | pmichaud++ | src/QRegex/Cursor.nqp:
04:02 dalek nqp/nfa: Code to invoke protoregexes in (decreasing) order of longest match.
04:02 dalek nqp/nfa: review: https://github.com/perl6/nqp/commit/49034925ec
04:21 birdwindupbird joined #perl6
04:37 tewk_ joined #perl6
04:44 Moukeddar joined #perl6
04:44 lue If I begin a file with module Foo::Bar; and then just declare some subs, what do I need to do to the subs so I can use them in code?
04:44 pmichaud "is export"
04:45 pmichaud my sub xyz() is export { ... }
04:45 pmichaud or, the code can use them via Foo::Bar::xyz(...)
04:46 tewk joined #perl6
04:48 drbean joined #perl6
04:48 lue The Foo::Bar::xyz didn't work. Do I need to use 'my' as well as 'is export' ? ('cos 'is export' is already there, but not 'my'.]
04:49 pmichaud oh.
04:49 pmichaud for Foo::Bar::xyz you have to use "our"
04:50 pmichaud our sub xyz() is export { ... }
04:50 pmichaud otherwise it's just lexically scoped
04:53 lue grr. I can't get to testing my code, let me paste to gist.
04:56 lue https://gist.github.com/1148462
04:56 tadzik bells in Riga ring so many times that I thought I'm late for the YAPC
04:57 lue [I wrote this making sure none of it wouldn't work on current nom (only to find out afterwards I can't even 'use' it in nom :/)]
04:57 tadzik I mean, it's 8 AM, how many times can you ring?
04:57 pmichaud 'use' should be working in nom, now.
04:57 tadzik ...or I hope it is
04:57 pmichaud it's 8am, yes.
04:57 tadzik whew
04:57 pmichaud and yes, there are a lot of bells.
04:57 tadzik not ok 20 - a multi stringifies sensibly, t/spec/S06-multi/syntax.rakudo
04:58 tadzik pmichaud: I have a feeling they're counting the number of days since 01.01.1970 :)
04:58 tadzik Or, as you americans write it, 01.01.1970
04:59 pmichaud lue: I don't see anything quite wrong with what you have written, but have to rush off now so I can't debug it.  Maybe someone else can look into it.
04:59 pmichaud I rarely use the 01.01.1970 form anymore. It's usually 1-Jan-1970 or 1970.01.01
04:59 lue tadzik: Maybe some Americans. I purpose write dates 1 Jan 1970 to avoid any confusion (at least among English circles)
05:00 lue s/purpose/purposely/
05:00 pmichaud afk for a short while
05:01 lue (maybe I should recompile nom, then modify the script a bit and run it as a script.)
05:04 aloha joined #perl6
05:08 _jaldhar_ joined #perl6
05:16 TimToady 2011-08-16 for me
05:17 SYNERGY joined #perl6
05:17 SYNERGY left #perl6
05:19 koban joined #perl6
05:29 tadzik that's consistent
05:33 SHODAN joined #perl6
05:33 sorear I prefer the 19700101 system.  lexicographic order preserving
05:38 uniejo__ joined #perl6
05:42 mberends joined #perl6
05:55 TimToady that's one reason I like 2011-08-16
05:55 moritz good morning
05:55 phenny moritz: 15 Aug 21:24Z <tadzik> tell moritz re the segfault, does it also happen with -g ms2?
05:56 pmichaud moritz: good morning! o/
05:58 chadadavis joined #perl6
05:59 pmichaud I'm thinking of doing nom->master today or tomorrow.  Any objections?
05:59 pmichaud (will look for answers in backscroll throughout the day)
06:00 moritz pmichaud: the nommap punchlist slists grammars, qrexes, other regex stuff as the only "must have" item for the switchover
06:01 jnthn Morning, #perl6
06:01 pmichaud the only missing thing for grammars (afaik) is variable interpolation and protoregexes
06:01 pmichaud and at least a minimal version of protoregexes may be coming today
06:01 * TimToady wonders how many RC entries will break
06:02 TimToady they tend to be more cananry-y than .t files, since they stress multiple features simultaneously
06:02 pmichaud well, we still have the 2011.07 star release.  I suspect we can regression test against RC before we make a distribution release
06:03 pmichaud would it be feasible to put rc entries into roast, or into a repo somewhere?
06:03 TimToady I think some of them are already under integration
06:03 TimToady snapshots of 'em anyway
06:03 pmichaud I wonder if it's worth making a special subdir for them.
06:03 moritz only a few
06:04 TimToady but someone could champion that
06:04 TimToady pmichaud: that would increase their visibility
06:04 TimToady shower &
06:04 pmichaud roast or separate repo?
06:05 moritz fwiw I had a script that scraped rosettacode for all Perl 6 examples
06:05 pmichaud well, they'd probably need to be made Test-aware
06:05 moritz http://moritz.faui2k3.org/tmp/rc-scrape.txt
06:05 moritz right
06:05 pmichaud I bet this would be a good airplane-across-the-atlantic task :)
06:06 pmichaud for Friday
06:06 pmichaud okay, I'm heading off to the venue -- bbiaw
06:07 lue Good news, my sha1 calculator ends up with a 160 bit digest. Bad news, it's wrong.
06:07 lue I really think being able to force 32-bit uints would help immensely. I wonder how hard native types would be to implement in nom...
06:09 dalek modules.perl6.org/gh-pages: 5883c58 | moritz++ | build-project-list.pl:
06:09 dalek modules.perl6.org/gh-pages: add a head() sub, and uncomment the code that relies on it
06:09 dalek modules.perl6.org/gh-pages: review: https://github.com/perl6/modules.perl6.org/commit/5883c589a4
06:14 dalek modules.perl6.org/gh-pages: e6cf29d | moritz++ | build-project-list.pl:
06:14 dalek modules.perl6.org/gh-pages: add getstore
06:14 dalek modules.perl6.org/gh-pages: review: https://github.com/perl6/modules.perl6.org/commit/e6cf29d3a2
06:15 SHODAN joined #perl6
06:26 * TimToady --> mosey-mode
06:31 sorear moosey mode?
06:33 wamba joined #perl6
06:34 dalek modules.perl6.org/gh-pages: 6bf2189 | moritz++ | build-project-list.pl:
06:34 dalek modules.perl6.org/gh-pages: comment on the recent hack, and use the json decoding from Mojo
06:34 dalek modules.perl6.org/gh-pages: review: https://github.com/perl6/modules.perl6.org/commit/6bf218997a
06:37 REPLeffect joined #perl6
06:39 satyavvd joined #perl6
06:40 birdwindupbird joined #perl6
06:41 cotto joined #perl6
06:50 uniejo_in_riga joined #perl6
06:52 chadadavis joined #perl6
06:54 envi joined #perl6
06:57 uniejo_in_riga joined #perl6
07:01 TimToady done moseying now
07:02 cognominal_ joined #perl6
07:03 pmichaud I wonder if I should do a lightning talk to rebut jnthn's talks :)
07:04 TimToady that'd be super :)
07:06 masak joined #perl6
07:06 masak morning, #perl6
07:06 pmichaud masak: o/
07:07 masak "Perl 6 is neo-postmodern" -- Damian Conway
07:09 lue die "I am at a loss for words.";
07:10 masak he's giving a keynote where he shows a bunch of Perl 5 modules that he translated to Perl 6.
07:10 TimToady do not talk about Perl Club!
07:10 masak :P
07:10 masak lue: he just said "without CPAN [Perl 6] is not much use".
07:12 masak "Getting Perl 6 out of beta is not nearly as big of an issue as getting Perl 6 onto CPAN."
07:13 * lue considers what it would take to lure a TARDIS to use to go to Riga...
07:13 lue I should post my failing SHA-1 code, hopefully someone'll be able to find the issue.
07:15 dalek nqp/nfa: 8ea85a9 | pmichaud++ | src/QRegex/NFA.nqp:
07:15 dalek nqp/nfa: Refactor mergesubrule a bit.
07:15 dalek nqp/nfa: review: https://github.com/perl6/nqp/commit/8ea85a939c
07:15 datoukao joined #perl6
07:17 datoukao joined #perl6
07:18 woosley joined #perl6
07:18 masak joined #perl6
07:19 masak lue: you might want to compare it with https://github.com/soh-cah-toa/digest-sha256/
07:19 masak which is SHA-256, but maybe still useful.
07:19 lue I think I looked at that. (lemme check again)
07:20 satyavvd joined #perl6
07:21 lue Ah. The critical difference is that I decided to be an idiot and implement the algorithm in P6 (You know, that whole "portable code" business, as well as the fun of implementing an algorithm)
07:22 pmichaud I think we stole other tiny bits of Python :-)
07:22 masak :)
07:22 masak lue: nothing wrong with writing something in p6 that you don't expect to be performant.
07:24 TimToady pmichaud: but we un-stole the p5 OO system :)
07:24 pmichaud TimToady: that sounds like a good trade.
07:27 mj41 joined #perl6
07:31 yath honestly, I liked the perl5 OO system. was a bit to type, but flexible.
07:31 Mowah joined #perl6
07:31 masak if it's flexibility you desire, you'll LOVE the Perl 6 OO system.
07:32 masak it's just more opinionated at the newbie end.
07:34 masak Knuth actually approves of the goto instruction. more or less.
07:35 masak he wrote a paper called "Structure programming using the GOTO" or something very similar.
07:35 pmichaud I think it was Dijkstra who was fanatical about it.
07:35 masak Structured*
07:35 masak pmichaud: yes. and even he was very moderate and level-headed about it.
07:35 masak it was Wirth who gave the article the inflammatory title.
07:37 masak it's a shame. GOTO is useful; the rule should be something like "do look around for sugar that wraps GOTO. if you don't find any, then don't feel bad about using GOTO."
07:38 pmichaud agreed, totally
07:39 masak what TheDamian showed can be emulated with booleans and if statments, but it's certainly nicer with the goto.
07:39 pmichaud error handling is often han.... right
07:41 masak right, there's that too. it's idiomatic.
07:41 * masak ♥ .methcall
07:42 masak the one with implied $_, that is.
07:43 masak it's one of the best interactions between "let's be like Perl 5" and "let's improve things".
07:43 * masak likes &slather
07:43 masak let's spec it! \o/
07:43 pmichaud I could offer TheDamian a commitbit.  Then we'll know how passionate he really is about it.  :-P
07:44 masak blackmail! :)
07:44 * TimToady doesn't like "slather"
07:44 cognominal_ I don't consider breaking many levels of loop as a goto.
07:44 cognominal_ that's structured to me.
07:44 masak agreed.
07:45 lue https://github.com/lue/Digest--SHA1  and I recommend you read the README first.
07:45 masak cognominal_: there's much nice sugar for that (next/last/redo). I also consider them structured "mild" versions of goto.
07:46 masak I see a problem with TheDamian's DESTROY
07:46 masak GC isn't timely.
07:46 masak just as he said.
07:46 masak so the unlink may not happen until very very late in the program.
07:48 * masak hadn't realized how tied MAIN's --help will be to tadzik++'s Pod stuff
07:48 TimToady just use up all your memory to force it :)
07:48 masak :P
07:48 TimToady masak: me either
07:49 masak TheDamian++
07:50 lue I feel the need to implement native types after this afternoon of programming the SHA-1 algorithm. I also feel I need to clean up the SHA-1 code.
07:50 masak colomon: smile, you're (well, your github account is) on screen! :)
07:51 pmichaud colomon++
07:51 masak from an inheritance perspective, roles are kinda "oh yeah, that's nice".
07:51 masak then you start using them and they're "oh wow I should've done this all the time"
07:54 pmichaud TheDamian just kicked himself out of Perl Club.
07:55 pmichaud (used a source filter)
07:55 masak well, it was fun while it lasted.
07:56 lue what is a source filter?
07:57 masak lue: :)
07:57 masak lue: it's the young generation that will carry on the torch of civilisation.
07:57 lue I assume not knowing is a good thing?
07:57 masak unencumbered by source filters.
07:57 masak lue: think of it as a regex operating on the source code before parsing.
07:58 masak or a set of regexes, rather.
07:59 * lue fails to see the benefit of that
08:00 masak lue: creating new syntax.
08:00 pmichaud TimToady: will that example actually work?  How does <.ws> know to not treat the '###' as whitespace?
08:00 Alias joined #perl6
08:00 masak I was wondering about semicolons interacting with this.
08:00 pmichaud (note to non-yapc::eu attendees -- I'm referring to an example on the overhead)
08:01 masak we're mostly epi-commenting on the TheDamian talk right now.
08:01 TimToady well, probably wouldn't work in the STD-based parsers
08:02 pmichaud yeah, that's what I'm referring to
08:02 TimToady statement_prefix is probably the wrong category
08:02 masak lue: the problems start happening when several applied source filters, not built to interact with each other, interact with each other.
08:03 masak lue: Perl 6 resolves this with grammars and inheritance. the problems don't go away, but we can apply class/role solutions to them.
08:03 pmichaud well, even if it's not statement_prefix... feels like any token starting with '#' is likely to be problematic.
08:03 masak right.
08:03 masak because <.ws> gobbles it.
08:04 TimToady but it does that by looking for pod-ish things, which should be a category
08:04 masak sorear: please please implement macros :)
08:05 TimToady oh, it's just the comment category!
08:05 im2ee joined #perl6
08:05 lue I just found a stack overflow question about source filters, reason 3 for when they're OK: Your name is Damian and you must be allowed to program in latin.
08:06 masak so TheDamian should put a rule in the comment category?
08:06 pmichaud yeah, but I'm not quite sure how to inject the code via the comment: category
08:06 pmichaud anyway, that's an example we could start to work from.
08:06 masak \o/
08:06 masak I think there are simpler examples.
08:06 masak if there's a need for them, I might put together a few.
08:07 pmichaud in many ways I think macro implementation is suffering from a dearth of examples
08:07 masak I think examples emitting an AST are more central than examples emitting a string.
08:07 masak ok, let me put something together.
08:07 masak then maybe blog about it.
08:07 TimToady that's what we mean when we say hygienic macros are better than textual macros
08:07 pmichaud if you can define short-circuit operators, I'll be very happy :)
08:07 masak TimToady: right.
08:09 masak TheDamian invites everyone to join him in porting CPAN modules to Perl 6.
08:09 masak ...aaaand talk is over.
08:09 masak nice one.
08:11 TimToady コーヒー &
08:13 araujo joined #perl6
08:13 araujo joined #perl6
08:15 lue (where would the ported modules go? I don't think CPAN is currently well-designed to handle Perl *and* Perl 6 modules)
08:27 tadzik lue: we could set up our own pause and metacpan for Perl 6
08:28 tadzik that's what mo++ stated few days ago, when I talked to him about it
08:28 lue That's what I said. Have you seen my blog posts mentioning P6SSMPR?
08:28 tadzik SSMPR?
08:30 lue stands for Snippets, Scripts, Modules, and Programs Repository.
08:30 lue see https://rdstar.wordpress.com/2011/08/06/ideas-for-me-to-improve-perl-6/
08:30 tadzik oh, lue. Damian actually compared CPAN to a Death Star :)
08:31 tadzik oh, I read that one. I thought SSMPR would just be a cpan or whatever. I mean, what's the difference?
08:31 lue I equated Rakudo Star to Rakudo Death Star a looong time ago.
08:32 lue I think the only real difference would be 1) It's sections for snippets and scripts and 2) It's Perl6-ness
08:32 chadadavis joined #perl6
08:33 lue Besides, I don't necessarily want to have the name P6SSMPR forever. Just the first thing that came to my mind :)
08:33 tadzik I think CPAN is a good place for scripts, as for snippets, hmm
08:33 tadzik maybe a common-effort book or so?
08:33 tadzik Perl6 Best Ideas?
08:34 lue Yeah. My original thought was a place for all sorts of Perl 6 code. Then I thought of the specific kinds of code one may write, which led to the SSMP part.
08:34 tadzik hmm
08:37 uniejo_in_riga joined #perl6
08:44 cotto joined #perl6
08:52 wamba joined #perl6
08:59 DarthGandalf joined #perl6
09:13 Trashlord joined #perl6
09:16 moritz "I'd tell you a UDP joke, but you might not get it!"
09:16 TimToady :D
09:16 tadzik what?
09:16 moritz tadzik: UDP doesn't make sure that transmissions actually arive
09:17 tadzik what?
09:17 TimToady "Unreliable Data Protocol"
09:17 tadzik :)
09:17 domm joined #perl6
09:17 mberends_ joined #perl6
09:18 tadzik moritz: sorry, I didn't receive your joke ;)
09:24 jferrero joined #perl6
09:26 Tene joined #perl6
09:26 Tene joined #perl6
09:27 * lue is reminded of the evil bit, and wonders how many people set this when they're supposed to.
09:29 felipe joined #perl6
09:31 mux that's one of my favourite April 1st RFC, along with the avian-carrier for IP one :-)
09:35 lue The emoticons one was great too.
09:40 lue Hm. I should really do that sleeping thing. 'night all o/
09:51 masak joined #perl6
09:52 cotto masak, ohai.
09:52 masak o/
09:52 cotto time for noms downstairs
09:52 cotto no line atm
09:53 masak lue: SSMPR. you have to do something about that name.
09:53 pmichaud all of the vowels were stolen.
09:53 masak cotto: aww, but we just sat down to hack!
09:53 * masak considers catching the other thin end of the bell curve
09:54 pmichaud if yesterday is any indicate, the other end carries a risk of little-to-no noms
09:54 pmichaud *indication
09:54 masak uh-oh.
09:54 masak so the rational thing to do might actually be to pack up and head down...
09:54 masak oh well, I can write macro examples later.
09:55 * masak .oO( evil bits carried by avian carriers )
09:58 TiMBuS IPoAC?
09:59 masak just reacting on something from the backlog. ignore /me :)
10:00 TiMBuS carrion then
10:04 masak :P
10:09 cotto joined #perl6
10:09 espadrine` joined #perl6
10:09 espadrine` left #perl6
10:10 cotto masak, where are you hanging out?
10:10 masak cotto: in the hard-to-find speakers practice room starting with a 2.
10:10 cotto sneaky
10:11 masak cotto: there were speakers practicing here, but they ran away.
10:11 masak we're not *that* scary. :/
10:29 colomon sorear: any reason not to use a "standard" .net Complex number class?  like http://www.codeproject.com/KB/dotnet/complex_math.aspx  Seems like it would be a nice help for complex math in Niecza.  (Mind you, I found that class via a google search, and have no experience using it.)
10:34 jnthn Mebbe we should eat before it all runs out?
10:34 masak ooh
10:34 jnthn aah
10:41 jerome joined #perl6
10:45 uniejo_in_riga joined #perl6
10:46 dual joined #perl6
10:58 wamba joined #perl6
11:02 masak joined #perl6
11:09 agentzh joined #perl6
11:11 chadadavis joined #perl6
11:15 bbkr_ joined #perl6
11:29 masak perl6: sub foo($x is rw) { return \$x }; my $a = 42; my $c = foo($a); $c[0] = 5; say $a
11:29 p6eval niecza v8-52-g3afe236: OUTPUT«(timeout)»
11:29 p6eval ..rakudo 922500: OUTPUT«5␤»
11:29 p6eval ..pugs: OUTPUT«*** Can't modify constant item: VInt 42␤    at /tmp/aOnqPZLsN4 line 1, column 64-73␤»
11:30 masak nom: sub foo($x is rw) { return \$x }; my $a = 42; my $c = foo($a); $c[0] = 5; say $a
11:30 p6eval nom: OUTPUT«Cannot assign to a readonly variable or a value␤  in mu <anon> at /tmp/XR8sOsYOcD:1␤  in mu <anon> at /tmp/XR8sOsYOcD:1␤␤»
11:30 masak interesting.
11:30 masak four impls, four responses.
11:30 masak well, pugs and nom agree, more or less.
11:31 jnthn master may be right
11:31 jnthn Don't think the Capture should really decont there.
11:32 jnthn though master's probably right for the wrong reason, of course :)
11:32 masak of course :)
11:32 jnthn I suspect we're missing "is rw" on at_pos nad at_key in Capture
11:32 masak oh, ok.
11:32 jnthn *and....though at_pos *is* above at_key in the source :P
11:33 masak :P
11:43 Kivutarrr joined #perl6
11:49 JimmyZ joined #perl6
11:51 masak phenny: tell pmichaud (and other interested parties): I've written up a few thoughts on macros, macro examples, macro semantics, and macro corner cases. https://gist.github.com/1148915
11:51 phenny masak: I'll pass that on when pmichaud is around.
11:55 uniejo_in_riga joined #perl6
11:58 masak perl6: multi foo($x) { say "OH HAI" }; BEGIN { foo 42 }; multi foo(Int $x) { say "OH $x" }
11:58 p6eval niecza v8-52-g3afe236: OUTPUT«Potential difficulties:â�¤  $x is declared but not used at /tmp/Eh2QjDaAjI line 1:â�¤------> [32mmulti foo([33mâ��[31m$x) { say "OH HAI" }; BEGIN { foo 42 }; [0mâ�¤â�¤OH 42â�¤Â»
11:58 p6eval ..rakudo 922500: OUTPUT«===SORRY!===␤Could not find sub &foo␤»
11:58 p6eval ..pugs: OUTPUT«OH HAI␤»
11:58 masak pugs++
11:59 masak sorear: BEGIN time isn't really BEGIN time in Niecza?
12:00 jnthn nom: multi foo($x) { say "OH HAI" }; BEGIN { foo 42 }; multi foo(Int $x) { say "OH $x" }
12:00 p6eval nom: OUTPUT«OH HAI␤»
12:03 * JimmyZ couldn't understand why is 'OH HAI'
12:04 masak JimmyZ: when do BEGIN blocks execute?
12:04 TimToady masak: no, that's why niecza doesn't get a green in features
12:04 masak ah.
12:05 JimmyZ masak: after compile?
12:05 masak JimmyZ: no, earlier than that.
12:05 masak nom: role A {}; role B {}; class C does A does B {}; multi foo(A) { say "A" }; multi foo(B) { say "B" }; BEGIN { foo(C.new) }; multi foo(C) { say "resolved!" }
12:05 p6eval nom: OUTPUT«===SORRY!===␤Ambiguous dispatch to multi 'foo'. Ambiguous candidates had signatures:␤:(A)␤:(B)␤␤»
12:05 TimToady after compile is CHECK time
12:05 JimmyZ before compile?
12:05 TimToady that's too early :)
12:05 masak it can't run it before it's parsed it :)
12:06 jnthn :)
12:07 jnthn BEGIN is run when we hit it.
12:07 JimmyZ after compile before program is exucte?
12:07 masak "ouch, ouch! OK, OK, I'll run!"
12:07 masak JimmyZ: what jnthn said. when the parser hits it.
12:07 jnthn But you have to beware of what will and won't be in place :)
12:07 TimToady at the moment BEGIN is reduced in the parse
12:07 masak JimmyZ: look at the last example I wrote.
12:07 jnthn nom: class C { BEGIN { say C } }
12:07 p6eval nom: OUTPUT«===SORRY!===␤Method 'gist' not found for invocant of class 'C'␤»
12:07 jnthn At that point we didn't add a parent.
12:08 jnthn (Default one gets added at composition time).
12:08 jnthn :)
12:08 masak JimmyZ: notice that the foo(C) candidate would resolve the dispatch, but it hasn't been parsed yet.
12:08 masak in the BEGIN block.
12:08 masak nom: class C { BEGIN { say C ~~ C } }
12:08 p6eval nom: OUTPUT«===SORRY!===␤Method 'ACCEPTS' not found for invocant of class 'C'␤»
12:08 masak aww
12:09 jnthn Well, if you must it's easy enough to work around.
12:09 masak right.
12:09 jnthn nom: class C is Any { BEGIN { say C } }
12:09 p6eval nom: OUTPUT«C()␤»
12:09 masak \o/
12:09 TimToady why not just add that automatically, then recalculate at compose time
12:09 jnthn nom: class C { method m { say "works" }; BEGIN { C.m } }
12:09 p6eval nom: OUTPUT«works␤»
12:09 masak jnthn: why is the default parent added at composition time?
12:09 jnthn TimToady: Too much hassle
12:09 MayDaniel joined #perl6
12:10 TimToady hassle is what we're paying you for
12:10 jnthn masak: Because we don't know if we have any parents until then.
12:10 TimToady :)
12:10 * masak .oO( hassle nuts )
12:10 JimmyZ ok, looks like BEGIN is a good place to do compiling magic
12:10 jnthn If we must, I probably can solve it.
12:10 masak jnthn: oh, 'cus of 'also is'?
12:10 jnthn Yeah
12:11 jnthn We'd have to track if we added parents explicitly yet and stuff.
12:11 masak JimmyZ: yes. like 'use' :)
12:11 jnthn I can do it if we really want it.
12:11 masak nah, leave it for now.
12:11 jnthn Just not sure I see a use caes :)
12:11 jnthn *case
12:11 masak let's be conservative about that one.
12:11 JimmyZ masak: yes, I know 'use' of perl5
12:11 jnthn Saves me some labour :P
12:11 masak JimmyZ: well, it's done at BEGIN time.
12:11 moritz masak: and conserve the current state of.. what? the compiler?
12:12 masak moritz: well, conserve the simplicity of the code, for one thing.
12:12 JimmyZ masak: yes, I just remember that, because I write perl5 occasionally
12:12 masak moritz: feels odd to go ahead and add a big wad of code for something that no-one has a need for.
12:12 jnthn Yes, the current factoring is simpler.
12:12 jnthn unless @!parents { ...add the default... } in compose or some such.
12:13 masak rakudo: use Test; say Test.WHAT
12:13 p6eval rakudo 922500: OUTPUT«Method 'WHAT' not found for non-object␤  in main program body at line 22:/tmp/qKNxH8Y9Aa␤»
12:13 masak oh, it's a module... :P
12:13 masak rakudo: say Test.WHAT
12:13 p6eval rakudo 922500: OUTPUT«Could not find sub &Test␤  in main program body at line 22:/tmp/nY_hH4SlOh␤»
12:13 masak rakudo: use Test; BEGIN { say Test.WHAT }
12:13 p6eval rakudo 922500: OUTPUT«===SORRY!===␤Method 'WHAT' not found for non-object␤»
12:13 tadzik rakudo: use Test; say Test.HOW.WHAT
12:13 p6eval rakudo 922500: OUTPUT«Method 'HOW' not found for non-object␤  in main program body at line 22:/tmp/mHj5Y08dfV␤»
12:14 masak that proves that 'use' runs no later than BEGIN time.
12:14 JimmyZ nom: multi foo(Int $x) { say "OH HAI" }; BEGIN { foo 42 }; multi foo(Int $x) { say "OH $x" }
12:14 p6eval nom: OUTPUT«OH HAI␤»
12:14 JimmyZ nom: multi foo(Int $x) { say "OH HAI" }; multi foo(Int $x) { say "OH $x" }
12:14 p6eval nom:  ( no output )
12:14 jnthn masak: try nom, it may work ;)
12:14 JimmyZ bug?
12:14 masak nom: use Test; BEGIN { say Test.WHAT }
12:14 masak JimmyZ: don't see one.
12:14 p6eval nom: OUTPUT«Test()␤»
12:14 jnthn JimmyZ: You didn't call it
12:14 masak jnthn: \o/
12:14 jnthn JimmyZ: Don't think the spec obliges us to catch thoes any earlier.
12:15 jnthn Though I agree it'd be sweet of it.
12:15 masak aye.
12:15 masak in this case it's even possible :)
12:15 jnthn Oh, yes, plenty of cases aren't. :)
12:15 masak most of them.
12:15 JimmyZ ah, I can define two same multi function
12:15 jnthn JimmyZ: Yeah, but just try calling it :)
12:15 masak a clever compiler may error out.
12:16 jnthn masak: Only most in terms of what's possible, not so much what's likely :)
12:16 jnthn I mean, sure, there's an infinite number of where clauses. But there's plenty of sigs without any. :)
12:16 masak jnthn: a "random signature" is "almost 100%" likely not to be provably equivalent to itself.
12:17 masak but yes, your point is well taken.
12:17 JimmyZ jnthn: I am curious why it's allowed to define
12:18 masak JimmyZ: because we don't catch that error at compile time yet :)
12:18 masak JimmyZ: if you write a patch, I'll personally apply it.
12:18 jnthn Note that it's non-trivial.
12:18 jnthn An "is default" quickly spoils the fun
12:18 jnthn As does handling multis that override those in nested outer scopes (which we don't handle yet)
12:18 JimmyZ masak: std is also allowed, so I thought it's a feature
12:18 masak jnthn: yeah, would have to do it at CHECK time.
12:19 jnthn JimmyZ: std doesn't do anything close to that much semantic analysis
12:19 jerome joined #perl6
12:19 masak jerome: greetings.
12:19 * JimmyZ thought std is right
12:19 takadonet morning all
12:19 * JimmyZ always think std is right
12:19 masak takadonet! \o/
12:19 masak JimmyZ: yes, it does give that impression, doesn't it? :P
12:20 jnthn Anyway, I figure that we'd probably introduce such detection when working on compile-time multi dispatch.
12:20 JimmyZ masak: yeah, that's why I thought it's a feature
12:20 masak jnthn: yeah.
12:20 masak JimmyZ: when in doubt, ask.
12:20 jnthn Because they're interested in the same kinda thing.
12:20 masak *nod*
12:20 JimmyZ :)
12:21 chadadavis joined #perl6
12:21 colomon masak: so what was that about my github being on the big screen at YAPC::EU in the middle of the night all about?
12:23 Trashlord joined #perl6
12:23 masak colomon: TheDamian gave a talk.
12:23 masak colomon: have host his IO::Prompt module.
12:23 colomon ah
12:23 masak s/have/you/
12:23 masak colomon: hope I didn't wake you up.
12:23 colomon oh, no, no worries.
12:24 colomon I keep well separated from the computer when I'm sleeping.  :)
12:24 masak good plan.
12:24 cotto that's one way to do it
12:24 colomon And there's no audio alert set for my IRC anyway, it's all visual.
12:25 masak same.
12:27 colomon masak: so you didn't wake me, you just intrigued me when I did wake up.
12:27 colomon does TheDamian have any cool new modules for us?
12:29 masak yeah.
12:29 masak he says to email him to get them.
12:29 masak if you do, and host them on github, you're my hero.
12:29 colomon I'm certainly happy to do so.
12:30 masak \o/
12:30 colomon might be a while before I can get around to porting them to nom (unless he has already), though
12:30 masak after writing https://gist.github.com/1148915 , I now find macros much less scary and more understandable than before.
12:30 masak colomon: that's fine.
12:31 ZaphrodZenovka joined #perl6
12:31 masak zamolxes: greetings.
12:31 masak er. mistab.
12:31 masak ZaphrodZenovka: greetings :)
12:35 colomon masak: e-mail sent
12:37 masak colomon: you're half-way to being my hero.
12:39 Holy_Cow joined #perl6
12:40 masak Holy_Cow!
12:40 jferrero joined #perl6
12:40 Holy_Cow left #perl6
12:42 masak will nom get :exists and :defined RSN?
12:42 masak is it LHF? :)
12:42 bluescreen10 joined #perl6
12:43 jnthn dunno, but I guess Pm has to re-do the OPP soon so maybe it can be tackled then
12:43 masak ooh, redo the OPP! \o/
12:43 * masak lurves the OPP
12:47 masak oh! I promised to solve the problem of thunks and short-circuiting operators for pmichaud. hm.
12:47 tokuhirom joined #perl6
12:47 * masak thunks a bit
12:47 masak ah. yes. I see what the problem is.
12:48 masak ...I think.
12:48 jnthn Solution - it's coffee break time! ;)
12:49 masak O RLY?
12:49 jnthn YA RLY
12:49 masak well, then.
12:50 * jnthn could use a break from slide hacking too :)
12:50 masak it's the natural breaking point :P
12:50 jnthn :P
12:50 jnthn break that!
12:50 jnthn I mean, er, stop :P
12:58 abercrombie joined #perl6
13:00 cotto joined #perl6
13:03 uniejo_in_riga joined #perl6
13:04 colomon left #perl6
13:07 colomon joined #perl6
13:07 cogno joined #perl6
13:10 pmichaud good afternoon, #perl6
13:10 phenny pmichaud: 11:51Z <masak> tell pmichaud (and other interested parties): I've written up a few thoughts on macros, macro examples, macro semantics, and macro corner cases. https://gist.github.com/1148915
13:10 Tene joined #perl6
13:10 Tene joined #perl6
13:13 chadadavis joined #perl6
13:16 masak joined #perl6
13:17 masak pmichaud: I now believe hygienic macros can underpin short-circuiting ops.
13:18 masak pmichaud: not entirely clear how it interacts with reduction ops, though.
13:20 orafu joined #perl6
13:26 nine From http://rakudo.org/how-to-get-rakudo-nom/: "which means that subroutines are preserved after they are defined, but variables are not"
13:26 baest joined #perl6
13:26 nine is this actually true still?
13:27 masak what do you mean by 'preserved'?
13:27 tadzik check :)
13:28 PerlJam nine: no.
13:29 [Coke] parrot release probably late afternoon given $DAYJOB.
13:29 PerlJam nine: at least, variables are "preserved" from line to line in the REPL
13:30 nine PerlJam: that's what I see in nom
13:42 nebuchadnezzar joined #perl6
13:43 im2ee joined #perl6
13:45 TimToady nom: sub foo {...}␤[<a b c>].say
13:45 p6eval nom: OUTPUT«===SORRY!===␤Unable to parse infixish, couldn't find final ']' at line 2␤»
13:45 TimToady bug ^^
13:50 pmichaud masak: reduction ops don't have to preserve short-circuiting
13:51 masak pmichaud: macros and short-circuiting: https://gist.github.com/1149126
13:51 masak pmichaud: oh, they don't? then they just have their own defined semantics, I cguess.
13:52 masak *guess
13:54 masak perl6: my $a = True; my $b = False; ($a && $b) = 42; say $a; say $b
13:54 p6eval pugs: OUTPUT«*** Can't modify constant item: VBool False␤    at /tmp/FbTkWMPu6b line 1, column 30-45␤»
13:54 p6eval ..rakudo 922500, niecza v8-52-g3afe236: OUTPUT«Bool::True␤42␤»
13:54 masak nom: my $a = True; my $b = False; ($a && $b) = 42; say $a; say $b
13:54 p6eval nom: OUTPUT«Bool::True␤42␤»
13:54 masak hm. not sure my macro can do that.
13:54 masak maybe it's better to take a capture, then.
13:56 jnthn capture?
13:57 tadzik great, now Damian put a burden on me :)
13:57 masak jnthn: yes, the prefix:<\> thing.
13:57 colomon tadzik++
13:58 tadzik colomon: he said "oh, that's tricky, that doesn't have to appear in the first version [of the Pod parser]. But if it does, I'd be very impressed!"
13:58 tadzik goddamnit :)
13:58 masak tadzik: *or* you could spec it to be sane instead :P
13:58 tadzik I don't think that'd impress Damian :P
13:58 pmichaud masak: I don't think the macro should have a problem with that.
13:59 masak pmichaud: I can parse the words of that, but I don't understand what you wanted to say.
13:59 masak 'should' is too ambiguous.
13:59 pmichaud 13:54 <masak> nom: my $a = True; my $b = False; ($a && $b) = 42; say $a; say $b
14:00 masak well, I used ::=
14:00 pmichaud I think the macro you wrote would adequately preserve that behavior.
14:00 pmichaud looking again
14:00 jnthn If it's a compile time transform, I'd expect so
14:00 masak I already changed it to making a capture.
14:00 pmichaud I think a capture would be wrongish.
14:01 masak I'm not sure ::= would work.
14:01 pmichaud why not := , ooc?
14:01 masak that's probably better.
14:01 * masak changes it to that
14:02 cognominal_ joined #perl6
14:02 cogno joined #perl6
14:02 colomon sorear: I'd consider using System.Numerics.Complex, except I can't seem to find it in my mono...
14:04 masak ok, changed to :=
14:04 masak perl6: my $a = 42; my $b := $a; $b = 5; say $a
14:04 p6eval pugs, rakudo 922500, niecza v8-52-g3afe236: OUTPUT«5␤»
14:05 masak yeah, that should work :)
14:05 masak nom: my $a = 42; my $b := $a; $b = 5; say $a
14:05 p6eval nom: OUTPUT«5␤»
14:06 TimToady nom: my @x; @x = @x.map({"$_ $_"});  # BUG
14:06 p6eval nom: OUTPUT«splice() not implemented in class 'Mu'␤  in method reify at src/gen/CORE.setting:3289␤  in method gimme at src/gen/CORE.setting:3628␤  in method eager at src/gen/CORE.setting:3604␤  in method STORE at src/gen/CORE.setting:4008␤  in mu <anon> at /tmp/A6YnQBq6Ru:1␤  in mu <ano…
14:07 * masak looks on and suppresses his rakudobug submitting reflex
14:07 pmichaud nom: my @x = @x.map($_);
14:07 moritz stop chatting so much while I'M backlogging :-)
14:07 masak pmichaud: you were talking about making nom master, like, soon? :>
14:07 p6eval nom: OUTPUT«Method 'count' not found for invocant of class 'Any'␤  in method reify at src/gen/CORE.setting:3384␤  in method reify at src/gen/CORE.setting:3289␤  in method reify at src/gen/CORE.setting:3289␤  in method gimme at src/gen/CORE.setting:3628␤  in method eager at src/gen/CORE.…
14:08 pmichaud nom: my @x; @x = @x.map($_);
14:08 p6eval nom: OUTPUT«Method 'count' not found for invocant of class 'Any'␤  in method reify at src/gen/CORE.setting:3384␤  in method reify at src/gen/CORE.setting:3289␤  in method reify at src/gen/CORE.setting:3289␤  in method gimme at src/gen/CORE.setting:3628␤  in method eager at src/gen/CORE.…
14:08 jnthn nom: my @x; @x = @x.map({.say;"$_ $_"});  # BUG
14:08 p6eval nom: OUTPUT«splice() not implemented in class 'Mu'␤  in method reify at src/gen/CORE.setting:3289␤  in method gimme at src/gen/CORE.setting:3628␤  in method eager at src/gen/CORE.setting:3604␤  in method STORE at src/gen/CORE.setting:4008␤  in mu <anon> at /tmp/fDBTOZ6n_m:1␤  in mu <ano…
14:08 pmichaud ....count?
14:08 jnthn pmichaud: You missed curlies
14:09 moritz nom: my @x; @x.map({;})
14:09 p6eval nom:  ( no output )
14:09 moritz nom: my @x; @x.map({;}).sink
14:09 p6eval nom: OUTPUT«Method 'sink' not found for invocant of class 'List'␤  in mu <anon> at /tmp/JDUwptb9LO:1␤  in mu <anon> at /tmp/JDUwptb9LO:1␤␤»
14:09 pmichaud nom: my @x; @x = @x.map({;$_});
14:09 p6eval nom: OUTPUT«splice() not implemented in class 'Mu'␤  in method reify at src/gen/CORE.setting:3289␤  in method gimme at src/gen/CORE.setting:3628␤  in method eager at src/gen/CORE.setting:3604␤  in method STORE at src/gen/CORE.setting:4008␤  in mu <anon> at /tmp/ocq_4WANDN:1␤  in mu <ano…
14:09 moritz nom: my @x; @x.map({;}).eager
14:09 p6eval nom:  ( no output )
14:09 TimToady nom: my @x; @x[0][0] = 2;
14:09 p6eval nom: OUTPUT«Cannot assign to a non-container␤  in mu <anon> at /tmp/LWQO1nla9o:1␤  in mu <anon> at /tmp/LWQO1nla9o:1␤␤»
14:09 pmichaud autoviv nyi, I think.
14:09 TimToady so far I'm 0 for 3 on running RC examples on nom :/
14:10 jnthn pmichaud: Maybe somehing in list assignment uses splice, but doesn't ensure the storage is allocated
14:11 chadadavis joined #perl6
14:11 nine Let's say, I modified nqp/src/stage2/gen/NQPHLL.pm. How can I actually recompile rakudo? make doesn't see any reason to do anything...
14:11 pmichaud jnthn: no, it says it's happening in reify
14:11 TimToady is autoviv supposed to work in nom?
14:11 pmichaud nine: don't modify the generated files
14:11 jnthn nine: gen = generated
14:12 nine ah...good to know
14:12 pmichaud TimToady: autoviv of arrays/hashes from Any is nyi, I think.
14:12 nine where does it come from then?
14:12 pmichaud nqp/src/HLL
14:12 TimToady but @x above isn't Any, surely
14:13 pmichaud @x[0] is
14:13 pmichaud nom:  my @x;  say @x[0].WHAT
14:13 p6eval nom: OUTPUT«Any()␤»
14:14 masak rakudo: class C { has $.x }; say min [C.new(:x(42)), C.new(:x(5)), C.new(:x(17))], :by{ .x }
14:14 p6eval rakudo 922500: OUTPUT«C()<0x3d2a710> C()<0x3d24b68> C()<0x3d23d08>␤»
14:14 nine So let's say I modified nqp/src/HLL/Compiler.pm. How can I recompile rakudo now? :)
14:14 masak rakudo: class C { has $.x }; say min (C.new(:x(42)), C.new(:x(5)), C.new(:x(17))), :by{ .x }
14:14 p6eval rakudo 922500: OUTPUT«C()<0x509bce8>␤»
14:14 masak heh :)
14:14 pmichaud nine: you actually would have to recompile and reinstall nqp
14:15 masak rakudo: class C { has $.x; method gist { self.x } }; say min (C.new(:x(42)), C.new(:x(5)), C.new(:x(17))), :by{ .x }
14:15 pmichaud so, cd nqp; make; make install
14:15 p6eval rakudo 922500: OUTPUT«C()<0x3d42210>␤»
14:15 TimToady so basically autoviv doesn't work
14:15 pmichaud then go back and recopmile rakudo
14:15 masak rakudo: class C { has $.x; method Str { self.x } }; say min (C.new(:x(42)), C.new(:x(5)), C.new(:x(17))), :by{ .x }
14:15 p6eval rakudo 922500: OUTPUT«5␤»
14:15 masak \o/
14:15 nine pmichaud: aah....many thanks
14:15 pmichaud TimToady: it should be easy for me to restore
14:17 * masak just did a 'min :by gather loop take' for the first time
14:17 masak very nice for circular linked lists.
14:18 masak ooh, I can use infix:<...> instead of 'gather loop'!
14:18 TimToady 0 for 4 now: Method 'chars' not found for invocant of class 'Match'
14:18 envi joined #perl6
14:18 pmichaud .chars needs to be defined in Cool
14:19 TimToady I don't get the impression we're quite ready to cut over
14:19 pmichaud well, it only affects developers
14:19 pmichaud (the nom->master switch)
14:19 masak should we make a punch-list for found bugs, too?
14:19 moritz nom: say 5.chars
14:19 p6eval nom: OUTPUT«1␤»
14:19 pmichaud it doesn't affect end-users until it appears in a release
14:19 pmichaud still, e we may be a premature.
14:20 masak pmichaud: if it only affects developers, why is it important at all to merge?
14:21 pmichaud so we can more accurately track bugs
14:21 TimToady and most people who come onto #perl6, we tell to track HEAD
14:21 pmichaud we do?
14:21 pmichaud hmmm
14:22 pmichaud it's been a while since I've recommended that newbies track HEAD
14:22 tadzik nesting pod blocks in formatting codes is evil
14:22 bs338 joined #perl6
14:22 bs338 joined #perl6
14:22 flussence nom is pretty usable now that "use" works, but it still doesn't pass any tests in Text-Tabs-Wrap :(
14:23 pmichaud oh.  Capture isn't (yet) Cool.  :-(
14:23 pmichaud Not sure it should be.
14:23 pmichaud rakudo:  say Capture ~~ Cool
14:23 p6eval rakudo 922500: OUTPUT«Bool::True␤»
14:24 moritz to me a Capture is something like a list and and a hash combined, both of which are Cool
14:24 moritz I'd be surprised if it weren't Cool
14:25 tadzik no, seriously. It's evil
14:25 moritz nom: say 1.*sqrt
14:25 p6eval nom: OUTPUT«Parameter '(null)' requires an instance, but a type object was passed␤  in method sqrt at src/gen/CORE.setting:2012␤  in method dispatch:<.*> at src/gen/CORE.setting:641␤  in mu <anon> at /tmp/SLyRXhYHWw:1␤  in mu <anon> at /tmp/SLyRXhYHWw:1␤␤»
14:25 tadzik I'm now I'm biased
14:27 flussence https://gist.github.com/1149209 - I've no idea what that regex error means...
14:28 moritz flussence: it means "you're using a regex feature that is NYI"
14:28 flussence oh
14:29 flussence nom: m:p/123/
14:29 p6eval nom: OUTPUT«Method 'match' not found for invocant of class 'Any'␤  in mu <anon> at /tmp/Euj9Z2NgnD:1␤  in mu <anon> at /tmp/Euj9Z2NgnD:1␤␤»
14:29 flussence erk
14:29 flussence nom: 'abc' ~~ m:p/123/
14:29 p6eval nom:  ( no output )
14:29 flussence not that then... niecza complains about :p there
14:30 cognominal___ joined #perl6
14:30 moritz pmichaud, others: https://gist.github.com/1149217 is a summary of how nom handles my Perl 6 modules
14:31 cogno joined #perl6
14:32 pmichaud I'm fine with switching Capture to Cool for now
14:33 uniejo_in_riga joined #perl6
14:34 masak joined #perl6
14:34 masak just saw this: http://software.intel.com/en-us/blogs/2011/08/09/parallelism-as-a-first-class-citizen-in-c-and-c-the-time-has-come/
14:34 masak looks like it's attacking the same problems we want to attack with Perl 6 and parallelism.
14:35 moritz pmichaud: for :16($string) to work, we need to access radcalc from runtime, or partially re-implement it in the setting
14:36 moritz pmichaud: which one would you prefer? and is there a simple way to make routines in Actions.pm available at run time?
14:41 chadadavis joined #perl6
14:41 JimmyZ joined #perl6
14:42 pmichaud moritz: I thought we had decided that some formats would be evaluated via eval.
14:42 colomon moritz: all the string to number routines are needed for both actions and the setting, no?
14:42 pmichaud or the equivalent of eval.
14:42 pmichaud I don't think we'll be making Actions.pm routines available to the setting.
14:43 pmichaud my current thinking has been that we'll have the string-to-number converter be a method on the compiler object, and then use that.
14:44 pmichaud (yes, Perl6::Compiler)
14:44 jnthn Can get at it with compreg also.
14:45 masak Perl 6 makes code look nicer: https://gist.github.com/1149245
14:46 chadadavis1 joined #perl6
14:46 colomon masak++
14:47 masak that's from the dlx-simple project.
14:47 tadzik I like the fact that it's more readable :)
14:47 chadadavis joined #perl6
14:48 masak objectively, it reduces cruft and duplication.
14:48 chadadavis1 joined #perl6
14:48 colomon doesn't p5 have min too?
14:48 masak it does, in List::Util
14:48 * masak checks it out
14:49 masak the problem is that I'm not operating on a list here, but on a circularly linked list.
14:49 TimToady I hope you're not thinking of the min as outside the ...
14:49 TimToady because it's not
14:49 masak oh noes
14:49 TimToady oh wait
14:49 masak isn't it a listop?
14:49 TimToady nevermind
14:50 masak phew.
14:50 masak HAHAHA DISREGARD THAT
14:50 wamba joined #perl6
14:50 TimToady but I'm not sure the :by will attach right
14:50 chadadavis joined #perl6
14:50 masak it's just a named arg, no?
14:51 TimToady it looks like the first arg to the ...
14:51 mux the "return min :by(*.S), $r.R, *.R ...^ $r;" line looks J code
14:51 masak :>
14:52 masak TimToady: I thought that named args to an op had to come after the op.
14:52 mux I think I meant R
14:52 mux whatever :-)
14:52 TimToady but ... is looser than ,
14:52 masak yeah.
14:52 masak it looks wrong too.
14:52 masak adding parens.
14:53 PerlJam masak: indeed.
14:53 PerlJam sorry, that was a buffer from a while ago.  I have no idea what I was "indeeding" then
14:56 tadzik too many named arguments: 1 passed, 0 used
14:56 tadzik in mu !cursor_init at src/stage2/QRegex.nqp:491
14:56 masak PerlJam: intriguing :)
14:56 tadzik is that some common thing?
14:57 masak PerlJam: anyway, I'm glad you agree :P
14:57 PerlJam heh
14:59 tadzik what patches does ufo need to work on nom now?
14:59 moritz none
15:00 tadzik ===SORRY!===
15:00 tadzik maximum recursion depth exceeded
15:00 tadzik before the first MAIN line
15:00 moritz huh, worked the last time I tried it
15:00 tadzik same here
15:00 moritz might be a MAIN thing
15:00 tadzik it works if you rename MAIN to NOTMAIN and adda NOTMAIN(); at the end
15:01 tadzik Could not find sub &warn in File::Tools
15:02 moritz nom: say ':16<A>'.Numeric
15:02 p6eval nom: OUTPUT«0␤»
15:04 thou joined #perl6
15:05 moritz nom: say 0b11
15:05 p6eval nom: OUTPUT«3␤»
15:05 moritz nom: say 0B11
15:05 p6eval nom: OUTPUT«===SORRY!===␤Confused at line 1, near "say 0B11"␤»
15:05 moritz std: say 0B11
15:05 p6eval std 516268a: OUTPUT«[31m===[0mSORRY![31m===[0mâ�¤Whitespace is required between alphanumeric tokens at /tmp/SLWUKIoc7r line 1:â�¤------> [32msay 0[33mâ��[31mB11[0mâ�¤Two terms in a row at /tmp/SLWUKIoc7r line 1:â�¤------> [32msay 0[33mâ��[31mB11[0mâ�¤    expecting any of:â�¤ POSTâ�¤   bracketed…
15:08 moritz nom: my int $x = 1; pir::inc($x); say($x)
15:08 p6eval nom: OUTPUT«increment() not implemented in class 'Int'␤  in mu <anon> at /tmp/Msrl_YoIUZ:1␤  in mu <anon> at /tmp/Msrl_YoIUZ:1␤␤»
15:09 tadzik my modules summary: https://gist.github.com/1149323
15:12 kaare_ joined #perl6
15:13 mishin joined #perl6
15:14 mishin Hi YAPC
15:14 Trashlord joined #perl6
15:14 Trashlord joined #perl6
15:15 masak mishin: hi!
15:15 JimmyZ hello
15:15 TimToady mishin: welcome
15:16 george_z0rwell joined #perl6
15:17 mishin Hi Masak, my presentation not very successful;))
15:18 tadzik you didn't lose your mind, unlike me yesterday :)
15:23 masak mishin: yes it was.
15:23 moritz what was it about?
15:31 Tene joined #perl6
15:38 JimmyZ tell jnthn http://www.jnthn.net/papers/2008-fpw-teaching-slides.pdf   is   Not Found
15:38 chadadavis joined #perl6
15:38 JimmyZ phenny: :tell jnthn http://www.jnthn.net/papers/2008-fpw-teaching-slides.pdf   is   Not Found
15:38 JimmyZ phenny: tell jnthn http://www.jnthn.net/papers/2008-fpw-teaching-slides.pdf   is   Not Found
15:38 phenny JimmyZ: I'll pass that on when jnthn is around.
15:40 im2ee joined #perl6
15:55 mj41 joined #perl6
15:58 cogno joined #perl6
16:06 meraxes joined #perl6
16:14 cogno_ joined #perl6
16:39 cognominal joined #perl6
16:40 bs338 joined #perl6
16:40 bs338 joined #perl6
16:45 dalek rakudo/nom: 15ef06f | moritz++ | src/ (2 files):
16:45 dalek rakudo/nom: implement numification of strings like :16<BEEF>, and :16("BEEF") style conversions
16:45 dalek rakudo/nom:
16:45 dalek rakudo/nom: This is only a first rough cut, and does not support a lot of features
16:45 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/15ef06f32c
16:55 dalek roast: 8db8866 | moritz++ | S32-str/numeric.t:
16:55 dalek roast: unfudge numeric.t for rakudo
16:55 dalek roast: review: https://github.com/perl6/roast/commit/8db88665c5
17:15 harleypig joined #perl6
17:16 harleypig Is there a metacpan channel on freenode? what I'm finding via google seems to indicate there is, but joining #metapcan here shows me as the only member.
17:23 flussence https://github.com/CPAN-API/cpan-api/wiki - “irc: #metacpan on irc.perl.org”
17:25 jevin joined #perl6
17:26 diakopter TimToady: did you see the std crash I msgd a day or two ago
17:27 mishin joined #perl6
17:27 mishin ,
17:27 mishin hi how beer
17:28 mishin ?
17:36 am0c joined #perl6
17:37 ZaphrodZenovka joined #perl6
17:38 kolyuchiy joined #perl6
17:39 sorear colomon: I think System.Numerics.Complex is 4.0 oly
17:41 sorear colomon: using someone else's Complex class seems like it would involve more glue code than work it saves.  (Note that I did use someone else's BigInteger class)
17:43 cognominal_ joined #perl6
17:46 donri joined #perl6
17:47 kfo_ joined #perl6
17:48 colomon sorear: shall I expand Niecza's Complex class so it can do some math, then?
17:51 colomon afk # late lunch out
17:54 TSa joined #perl6
17:54 M_o_C joined #perl6
17:57 Trashlord joined #perl6
17:57 colomon sorear: PS I mean the C# Complex class, not the p6 one.
17:58 kolyuchiy_ joined #perl6
18:04 cognominal___ joined #perl6
18:06 janosik joined #perl6
18:09 maja joined #perl6
18:09 Trashlord joined #perl6
18:11 wolfman2000 joined #perl6
18:27 ZaphrodZenovka joined #perl6
18:27 slavik left #perl6
18:28 slavik joined #perl6
18:29 Lorn joined #perl6
18:31 harleypig left #perl6
18:32 [Coke] joined #perl6
18:32 [Coke] ~~
18:40 im2ee joined #perl6
18:43 TSa joined #perl6
18:50 alester joined #perl6
19:01 n3rd joined #perl6
19:13 aindilis` joined #perl6
19:14 soh_cah_toa joined #perl6
19:22 chadadavis joined #perl6
19:23 sorear colomon: it seems to me as though the math should be done in bif_mul et al
19:29 fridim_ joined #perl6
19:31 colomon sorear: the problem with that is some of the functions can get very hairy.
19:31 colomon for instance, asin($x) is -1i * log($x * i + sqrt(1 - $x * $x))
19:32 colomon if you write that out in terms of Real math, it gets pretty ugly
19:32 sorear is that formula correct in all cases?
19:33 colomon sorear: as far as I know.
19:35 birdwindupbird joined #perl6
19:37 daniel-s joined #perl6
19:38 sorear well then I guess there is a need for Complex add/mul/div/sqrt routines
19:38 sorear I wish I could remember the good reason I had for making Complex a class rather than a struct (the other reason not to use .net Complex - it was a struct)
19:38 cotto joined #perl6
19:53 [particle] joined #perl6
19:54 Util sorear, colomon: that formula is correct for all real and complex values (where asin is defined).
19:55 colomon Util++
19:59 ponbiki joined #perl6
20:00 noganex_ joined #perl6
20:02 sorear Util++ # that formula gave me quite a few "ONLY VALID FOR REAL NUMBERS WITHIN A (-1, 1) RADIUS OF CONVERGENCE" vibes.  good to know those were wrong.
20:05 Trashlord joined #perl6
20:07 Util sorear: When imaginary_part_of(z)==0 and abs(z) > 1, then undefined.
20:07 Util Good pic here, after "In the GNU C library": http://mathworld.wolfram.com/InverseSine.html
20:08 Util We must all be wary of those vibes. Not every Complex trig formula on the web is correct.
20:11 rdesfo joined #perl6
20:13 bbkr nom: say 9223372036854775807 % 0x100
20:13 p6eval nom: OUTPUT«0␤»
20:15 bbkr looks like bug
20:15 colomon nom: say
20:15 p6eval nom: OUTPUT«␤»
20:15 colomon nom: say 9223372036854775807
20:15 p6eval nom: OUTPUT«-9223372036854775808␤»
20:15 PerlJam heh
20:15 moritz bbkr: big numbers are known to be buggy in rakudo
20:16 bbkr rakudo: say 9223372036854775807
20:16 p6eval rakudo 922500: OUTPUT«9223372036854775807␤»
20:17 M_o_C joined #perl6
20:17 bbkr rakudo: say 9223372036854775807 % 0x100
20:17 p6eval rakudo 922500: OUTPUT«0␤»
20:18 moritz rakudo: say 9223372036854775806 % 0x100
20:18 p6eval rakudo 922500: OUTPUT«0␤»
20:18 moritz rakudo: say 922337203685477580 % 0x100
20:18 bbkr say works correctly in master branch, but modulo is broken. that stops my work on Mongo driver, as 64b integers packing/unpacking is needed :(
20:18 p6eval rakudo 922500: OUTPUT«0␤»
20:19 moritz rakudo: say 92233720368547758 % 0x100
20:19 p6eval rakudo 922500: OUTPUT«176␤»
20:22 bbkr i don't even understand the nature of the bug here to hack workaround
20:23 uniejo_in_riga joined #perl6
20:25 bbkr rakudo: say 9223372036854775807 - 9223372036854775806 # this one shattered my math faith
20:25 p6eval rakudo 922500: OUTPUT«0␤»
20:25 jferrero joined #perl6
20:26 molaf joined #perl6
20:28 sorear bbkr: rakudo doesn't support big integers
20:29 moritz rakudo: say 9223372036854775807.WHAT
20:29 p6eval rakudo 922500: OUTPUT«Int()␤»
20:30 bbkr rakudo: say (9223372036854775807 - 0).WHAT # it gets mangled into Num, loosing last 5 places of precision
20:30 p6eval rakudo 922500: OUTPUT«Num()␤»
20:31 Trashlord joined #perl6
20:31 cogno joined #perl6
20:31 cognominal___ joined #perl6
20:32 masak joined #perl6
20:32 masak greetings, #perl6.
20:32 masak wow. conferences are great.
20:34 sorear hi masak.  sad I'm not there.
20:34 masak there'll be more YAPCs.
20:35 Trashlord joined #perl6
20:35 masak sorear: up-front declaration: I'll mention your Little Animal Farm implementation tomorrow during a lightning talk, provided we get to do the lightning talk :)
20:35 masak (there's competition over the last available slot)
20:36 masak lue: shouldn't that be '0b' »~» @a ?
20:36 sorear *muahaha*
20:37 * sorear needs to figure out 'travel', since there probably won't be a YAPC in walking distance of eir house anytime soon.
20:38 bluescreen100 joined #perl6
20:38 colomon sorear: you could make a bid to host it at your house in 2013...  ;)
20:38 sorear Hah
20:39 sorear T'is a bit small.
20:40 sorear I don't think the fire department would be too happy with 1000s of guests in a <<1000 m^2 residence
20:40 benabik sorear: Don't tell them. ;-)
20:40 masak forgiveness > permission ;)
20:42 cognominal_ joined #perl6
20:42 cogno joined #perl6
20:42 am0c joined #perl6
20:43 Mowah joined #perl6
20:44 * masak updates his macro musings
20:48 Trashlord joined #perl6
20:49 sorear masak: macro musings?
20:52 masak sorear: https://gist.github.com/1148915
20:53 masak sorear: https://gist.github.com/1149126
20:53 masak sorear: implementing macros in nom suddenly seems quite doable.
20:54 felher std: multi sub foo(1) { say "got minus one"; }; multi sub foo($x) { say "got $x"; }
20:54 im2ee joined #perl6
20:54 p6eval std 516268a: OUTPUT«ok 00:01 123m␤»
20:54 felher std: multi sub foo(-11) { say "got minus one"; }; multi sub foo($x) { say "got $x"; }
20:54 p6eval std 516268a: OUTPUT«[31m===[0mSORRY![31m===[0mâ�¤Malformed parameter at /tmp/nu4lq5CAv4 line 1:â�¤------> [32mmulti sub foo([33mâ��[31m-11) { say "got minus one"; }; multi sub[0mâ�¤    expecting any of:â�¤     nameâ�¤   new name to be definedâ�¤ parameterâ�¤      routine_defâ�¤    signatureâ�¤Parse
20:54 p6eval ..failed␤FAILED…
20:55 felher okay, apart from the obvius error that neither 1 nor -11 is minus one, why can't i pattern-match on -1, but on 1?
20:55 masak felher: looks like a bug.
20:55 flussence rakudo: multi sub foo(-11) { say "got minus one"; }; multi sub foo($x) { say "got $x"; }
20:55 p6eval rakudo 922500: OUTPUT«===SORRY!===␤Malformed parameter at line 22, near "-11) { say"␤»
20:55 flussence dunno, should work IMO
20:55 masak I see *why* it's happening.
20:55 masak not sure it should.
20:56 * masak submits bug report
20:56 flussence is "-" a special character inside ()s?
20:56 masak yes.
20:56 felher masak: thnx. :)
20:56 flussence ah
20:56 masak flussence: basically, normal expression evaluation doesn't happen inside :()
20:56 masak flussence: it's like a mini-language with its own rules and operators.
20:56 flussence rakudo: multi sub foo( -11 ) { } # spaces?
20:56 p6eval rakudo 922500: OUTPUT«===SORRY!===␤Malformed parameter at line 22, near "-11 ) { } "␤»
20:56 flussence hm, ok
20:57 masak nope :)
20:57 masak it's just that a good case can be made for negative numbers, I think.
20:57 masak felher++
20:58 Trashlord joined #perl6
20:59 sorear masak: of course implementing macros in nom is doable - nom has BEGIN
21:01 lue hello world! o/
21:01 sorear masak: temp FOO means (TEMP { FOO.TEMP }; FOO), unless FOO is a simple $*variable, in which case it means my FOO = CALLER::<FOO>>
21:02 soh_cah_toa i'm having some problems w/ regexes in the p6 port of IRC::Utils i've started
21:02 soh_cah_toa i need a regex to match a valid channel name which must begin w/ a '#' or '&' and cannot contain a newline, whitespace, null, commas, or colons. here's what i have:
21:02 soh_cah_toa ^ <['#' '&']>**1 <-[<.ws> \07 \0 \012 \015 , \:]>+ $
21:02 soh_cah_toa but that doesn't seem to work. i'm almost positive that it's the <.ws> that's messing it up. am i doing something wrong here?
21:04 lue nom: say "0b" »~» <1 10 11>; say "0b" «~» <1 10 11>;
21:04 p6eval nom: OUTPUT«===SORRY!===␤Confused at line 1, near "say \"0b\" \ufffd"␤»
21:05 soh_cah_toa also, i'm trying this on 2011.07 master
21:05 sorear masak: your implementation of && is almost right, but for the fact that the $lhs-bound binding needs to be much more raw
21:05 lue .oO(why U+FFFD?)
21:06 flussence nom: say ('#perl 6' ~~ /^ <['#' '&']>**1 <-[<.ws> \07 \0 \012 \015 , \:]>+ $/)
21:06 sorear lue: your client isn't correctly configured to send UTF-8 to the channel
21:06 p6eval nom: OUTPUT«#perl 6␤»
21:06 flussence hm
21:06 flussence nom: say ('not-a-#perl 6' ~~ /^ <['#' '&']>**1 <-[<.ws> \07 \0 \012 \015 , \:]>+ $/)
21:06 p6eval nom: OUTPUT«␤»
21:06 sorear masak: my $x := EXPR discards the flatteny bit on EXPR, and also forces EXPR to autovivify
21:07 soh_cah_toa for me, it evaluates to Bool::False regardless of whether it's valid or not
21:08 masak sorear: ah, yes.
21:09 masak sorear: feel free to fork and implement it right.
21:09 flussence not sure about the whitespace, but I can shorten it a bit:
21:09 flussence nom: say ('#perl 6' ~~ /^ <[#&]> <-[<.ws> \07 \0 \012 \015 , \:]>+ $/)
21:09 p6eval nom: OUTPUT«#perl 6␤»
21:10 soh_cah_toa weird, i thought the # and & needed to be quoted b/c they had special meaning
21:10 soh_cah_toa or one of them did, at least
21:10 sorear masak: I don't think it can be implemented right
21:11 sorear soh_cah_toa: not in character classes
21:11 soh_cah_toa ok
21:11 masak sorear: :(
21:11 sorear also I think rakudo still does escapes in character classes wrong
21:11 masak yes.
21:11 soh_cah_toa yes
21:11 y3llow_ joined #perl6
21:12 pothos_ joined #perl6
21:12 soh_cah_toa the \07 and such don't recognize right unless the matched string actually contains that exact escape sequence
21:12 lue joined #perl6
21:12 soh_cah_toa but i know it's the <.ws> rule
21:12 soh_cah_toa also tried with \s
21:13 sorear niecza: say ('not-a-#perl 6' ~~ /^ <['#' '&']>**1 <-[<.ws> \07 \0 \012 \015 , \:]>+ $/)
21:13 p6eval niecza v8-52-g3afe236: OUTPUT«[31m===[0mSORRY![31m===[0m��Please backslash # for literal char or put whitespace in front for comment at /tmp/jpVHcKmnkc line 1:�------> [32msay ('not-a-#perl 6' ~~ /^ <['#[33m�[31m' '&']>**1 <-[<.ws> \07 \0 \012 \015 , \[0m��Parse failed��»…
21:13 sorear niecza: say ('not-a-#perl 6' ~~ /^ <[\# &]>**1 <-[<.ws> \07 \0 \012 \015 , \:]>+ $/)
21:13 sorear oh right
21:13 p6eval niecza v8-52-g3afe236: OUTPUT«Match()␤»
21:13 sorear # does need backslash
21:13 soh_cah_toa ok
21:13 lue nom: say "0b" »~» <1 10 11>; say "0b" «~» <1 10 11>;
21:13 p6eval nom: OUTPUT«0b1␤0b1 0b10 0b11␤»
21:14 lue masak: this is why I used «~» . »~» wouldn't work right.
21:14 sorear masak: we need a new primitive for context-free binding of expressions.
21:14 masak right.
21:14 masak sorear: yes.
21:14 masak lue: yes, I see now.
21:15 flussence /^ <[\# &]> .*? [ <.ws> | <[\07 \0 \012 \015 , \:]> ] $/ # ugly, but might work
21:15 sorear masak: it would be doable using my $lhs-bound = \{{{ $lhs }}};, but the thought of creating useless extra Capture objects makes me twitchy
21:15 masak hm.
21:16 flussence bah, doesn't seem to work locally
21:16 sorear at one point I misunderstood the spec and thought my ¢foo := EXPR would make a contextless binding
21:16 sorear we could defictionalize that syntax
21:16 benabik ¢?
21:17 sorear benabik: yes, cent symbol, the one non-ASCII character that you must have for Perl 6 because it has no ASCII synonym
21:17 benabik sorear: Fortunately, that's Opt-4 on my keyboard…  But what does it mean?
21:18 masak` joined #perl6
21:18 sorear can be short for 'capture' or 'cursor'
21:18 sorear it's masak` and he's tipping his hat!
21:19 flussence ¢ can also mean 1% of a $ :)
21:19 sorear I've also seen it used to mean 1% of a € or Ł
21:19 sorear wait, that last one wasn't right
21:20 masak` rakudo: sub infix:<Y> (@a, @b) { my ($i, $j) = 0, 0; gather repeat while $i || $j { take [$i, $j]; $i = ($i + 1) % @a; $j = ($j + 1) % @b } }; my @a = 1..5; my @b = 1..12; .say for @a Y @b
21:20 p6eval rakudo 922500: OUTPUT«0 0␤1 1␤2 2␤3 3␤4 4␤0 5␤1 6␤2 7␤3 8␤4 9␤0 10␤1 11␤2 0␤3 1␤4 2␤0 3␤1 4␤2 5␤3 6␤4 7␤0 8␤1 9␤2 10␤3 11␤4 0␤0 1␤1 2␤2 3␤3 4␤4 5␤0 6␤1 7␤2 8␤3 9␤4 10␤0 11␤1 0␤2 1␤3 2␤4 3␤0 4␤1 5␤2 6␤3 7␤4 8␤0 9␤1 10␤2 11␤3 0␤4 1␤0 2␤1 3␤2 4␤3 5␤4 6␤0 7␤1 8␤2 9␤3 10␤4 11␤»…
21:20 masak` I finally figured out what a Y metaoperator should do ;)
21:22 masak` 'night, #perl6.
21:24 sorear is there some way to tell Xkb to dump Compose mappings?
21:25 flussence `xmodmap -pk`?
21:25 flussence wait, I don't think that does dead keys...
21:26 flussence oh it does, the output's a little hard to read though
21:26 benabik sorear: Check /usr/X11R6/share/X11/locale/<locale>/Compose ?
21:27 lue flussence: after running that command, now I want a keyboard to press all those keys... O.o
21:27 sorear I have no files in /usr/X11R6 except two fonts
21:27 benabik Ah, well, old advice I guess.
21:27 flussence lue: AltGr & Shift+AltGr get you most of them :)
21:28 sorear lue: go look for pictures of the "Space Cadet" keyboard.  X11 has Alt, Control, Meta, Shift, Super, Hyper because there was a keyboard with that many shifts once
21:28 flussence (well, X calls it "ISO_Level3_Shift" according to `xmodmap -pm`...)
21:28 lue I don't have an AltGr (and I don't think I can turn the alt on the right hand side into one) Old powerbook :/
21:28 lue sorear: I've seen the Space Cadet keyboard. And I want one.
21:29 flussence xev will tell you if that right alt is different from the left
21:30 lue both alts come out as Alt_L (although Fn+Alt sends Alt_R . Now I have to see if I can make that do my bidding...)
21:31 flussence argh, Fn keys
21:31 lue [Actually, if it weren't for the need to emulate mouse buttons 2+3, I'd have an Apple key at my disposal as well]
21:34 sorear whee, found a list
21:36 Vlavv` joined #perl6
21:37 sorear £.  There.
21:39 ZaphrodZenovka joined #perl6
21:40 sorear .u ǖ
21:40 phenny U+01D6 LATIN SMALL LETTER U WITH DIAERESIS AND MACRON (ǖ)
21:40 sorear .u ṻ
21:40 phenny U+1E7B LATIN SMALL LETTER U WITH MACRON AND DIAERESIS (ṻ)
21:41 benabik .u û
21:41 phenny U+00FB LATIN SMALL LETTER U WITH CIRCUMFLEX (û)
21:41 sorear .u ǘ
21:41 phenny U+01D8 LATIN SMALL LETTER U WITH DIAERESIS AND ACUTE (ǘ)
21:45 Psyche^ joined #perl6
22:15 mberends joined #perl6
22:17 mberends moritz++: back in Vught, all trains and bike ran on time. Thanks for a nice holiday :)
22:18 mj41 joined #perl6
22:18 sorear o/ MBERENDS
22:18 mberends o/ SOREAR
22:20 flussence joined #perl6
22:24 [Coke] anyone able to git to github from feather?
22:26 mkramer joined #perl6
22:27 sorear [Coke]: I can git to gist.github from feather but not to the main site
22:28 sorear also, as of right now I can pull from the main site
22:37 sftp joined #perl6
22:55 wamba joined #perl6
23:14 kid51 joined #perl6
23:28 Tene joined #perl6
23:28 Tene joined #perl6
23:29 jnthn oh hai
23:29 phenny jnthn: 15:38Z <JimmyZ> tell jnthn http://www.jnthn.net/papers/2008-fpw-teaching-slides.pdf   is   Not Found
23:31 [Coke] joined #perl6
23:31 sorear hi jnthn
23:32 jnthn o/ sorear
23:33 * jnthn probably should not be awake, but is anyway :)
23:34 hillu joined #perl6
23:37 clkao joined #perl6
23:39 ccc joined #perl6
23:42 lambdabot2 joined #perl6
23:42 molaf_ joined #perl6
23:52 * jnthn gets some sleep ahead of $talk tomorrow
23:52 abercrombie what's the possible date for nom becoming the master branch? Thurs I guess?
23:53 sorear afaik, the Wed release will be nom based
23:54 abercrombie oh, that sounds good
23:57 ccc left #perl6
23:58 TimToady they may delay the nom cutover a bit
23:58 TimToady we found several bugs today, and there's a performance issue to at least diagnose

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

Perl 6 | Reference Documentation | Rakudo