Camelia, the Perl 6 bug

IRC log for #perl6, 2013-12-10

Perl 6 | Reference Documentation | Rakudo | Niecza | Specs

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

All times shown according to UTC.

Time Nick Message
00:09 eternaleye preflex: tell lizmat in S17, under 'Supplies', the fact that the Supply class is punned from the role is noted twice in close succession. It scans awkwardly, and I'm not sure the second is necessary.
00:09 preflex Consider it noted.
00:10 timotimo o/
00:11 eternaleye I also want to note that all of that stuff looks REALLY shiny.
00:11 timotimo all the parallelism stuff?
00:17 timotimo there's an nqpmu coming out of nowhere :(
00:20 lue r: class Foo { has $.Bar }; my $a = Foo.new; $a.Bar := 42; say $a.Bar
00:20 camelia rakudo-parrot 0bf3de: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/S253BWHHBgâ�¤Cannot use bind operator with this left-hand sideâ�¤at /tmp/S253BWHHBg:1â�¤------> [32ms $.Bar }; my $a = Foo.new; $a.Bar := 42[33mâ��[31m; say $a.Bar[0mâ�¤    expecting any of:…»
00:20 camelia ..rakudo-jvm 0bf3de: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/EGIlMDykcfâ�¤Cannot use bind operator with this left-hand sideâ�¤at /tmp/EGIlMDykcf:1â�¤------> [32ms $.Bar }; my $a = Foo.new; $a.Bar := 42[33mâ��[31m; say $a.Bar[0mâ�¤    expecting any of:â�¤  â€¦Â»
00:20 lue :(
00:20 timotimo that seems dangerous
00:21 lue (I can guess why it's not working too.)
00:21 lue timotimo: It's kinda critical for DLX though.
00:21 timotimo what's DLX?
00:22 lue Dancing Links used to implement Algorithm X: https://en.wikipedia.org/wiki/Dancing_Links
00:23 timotimo well, try making a .bind_bar method
00:23 timotimo internally you should be able to bind
00:23 timotimo probably just not when it's returned by an is rw sub
00:24 raiph joined #perl6
00:24 lue oh yeah, I keep forgetting that parameters aren't copies by default :)
00:25 lue timotimo: my guess is that binding through a function is what's the problem, not classes.
00:25 lue (i.e. if Foo.Bar accessed the attribute directly it would work)
00:26 timotimo i don't think i follow
00:26 timotimo the default implementation of Foo.Bar you get is just method Bar() is rw { $!Bar }
00:29 lue timotimo: what I mean is that going through a method to access the attribute causes problems. By "directly access" I mean "imagine Foo!Bar was the external version of $!Bar"
00:30 lue r: class Foo { has $.Bar; method bBar($a) { $!Bar := $a } }; my $a = Foo.new; $a.bBar(42); say $a.Bar
00:30 camelia rakudo-parrot 0bf3de, rakudo-jvm 0bf3de: OUTPUT«42␤»
00:30 timotimo yeah, that works
00:30 lue meh, I'm not a fan of := being broken like that. At least I have a solution. timotimo++ :) .
00:31 timotimo hmm, broken? maybe
00:32 lue I mean "broken" in the sense of "= works, why not :=" at least.
00:33 lue Hmm...
00:34 timotimo ah. i got a NQPMu problem because i called it "chain_past" in one place and "chain_post" in another >_<
00:34 timotimo that's the new i and j
00:35 lue I don't suppose I could define a multi sub infix:<:=> that triggers on certain methods of a class, could I? :)
00:36 xinming joined #perl6
00:36 timotimo i think you could
00:36 timotimo it doesn't sound like a good idea, though
00:36 timotimo consider using a hash instead of a class there
00:36 timotimo there you can bind fo' sho'
00:37 lue Array of Hashes :) . Fair enough, considering my classes look like C structs :P
00:37 ponbiki joined #perl6
00:38 lue I considered hashes for a moment but then ignored the idea, because I forgot I could keep the collection of Hash nodes in an array :) . I lose a bit of semantic information, but not much.
00:38 Ben_Goldberg joined #perl6
00:39 Util_ joined #perl6
00:41 noxgirl joined #perl6
00:46 aindilis` joined #perl6
00:46 lue r: my @a; @a.push(Hash.new()); say @a.perl; say +@a;
00:46 camelia rakudo-parrot 0bf3de, rakudo-jvm 0bf3de: OUTPUT«Array.new()␤0␤»
00:46 lue Wha...?
00:47 lue r: my @a; @a[0]<A> = "B"; say @a.perl; say +@a;
00:47 camelia rakudo-parrot 0bf3de, rakudo-jvm 0bf3de: OUTPUT«Array.new({"A" => "B"})␤1␤»
00:47 timotimo nope.
00:47 dayangkun joined #perl6
00:48 lue timotimo: am I crazy...? (There's still no element if I push a new Hash with stuff in the .new())
00:48 xinming joined #perl6
00:48 timotimo i'm confuse
00:48 lue r: my @a; @a.push(Hash); say @a.perl; say +@a;
00:48 camelia rakudo-parrot 0bf3de, rakudo-jvm 0bf3de: OUTPUT«Array.new(Hash)␤1␤»
00:48 lue *sobs*
00:49 timotimo oh
00:49 timotimo push will listify the argument perhaps?
00:49 lue r: my @a; @a.push(Hash.new(A => "B")); say @a.perl; say +@a;
00:49 camelia rakudo-parrot 0bf3de, rakudo-jvm 0bf3de: OUTPUT«Array.new()␤0␤»
00:49 timotimo my internet connection is acting up, sorry
00:49 timotimo try Hash.new(...).item
00:50 lue r: my @a; @a.push(Hash.new(A => "B").item); say @a.perl; say +@a;
00:50 camelia rakudo-parrot 0bf3de, rakudo-jvm 0bf3de: OUTPUT«Array.new({})␤1␤»
00:50 lue timotimo: at least I automagically create a hash when doing @a[0]<key> . Which'll be the workaround I guess.
00:51 lue ( instead of doing @a.push(Hash.new(key => stuff)) )
00:52 lue r: my @a; @a[*-1] = Hash.new(A => "B"); say @a.perl; say +@a;
00:52 camelia rakudo-jvm 0bf3de: OUTPUT«Cannot use negative index -1 on Array␤  in any find_method_fallback at gen/jvm/Metamodel.nqp:2607␤  in any find_method at gen/jvm/Metamodel.nqp:945␤  in block  at /tmp/WU5ZHPYBE4:1␤  in any eval at gen/jvm/stage2/NQPHLL.nqp:1086␤  in any evalfiles…»
00:52 camelia ..rakudo-parrot 0bf3de: OUTPUT«Cannot use negative index -1 on Array␤  in method <anon> at gen/parrot/CORE.setting:12025␤  in any  at gen/parrot/Metamodel.nqp:2691␤  in any find_method_fallback at gen/parrot/Metamodel.nqp:2679␤  in any find_method at gen/parrot/Metamodel.nqp:9…»
00:52 lue r: my @a; @a[0] = Hash.new(A => "B"); say @a.perl; say +@a;
00:52 camelia rakudo-parrot 0bf3de, rakudo-jvm 0bf3de: OUTPUT«Array.new({})␤1␤»
00:54 ingy joined #perl6
00:58 * lue &
01:06 diakopter tadzik: so train
01:06 stevan_ joined #perl6
01:28 cognominal joined #perl6
01:33 timotimo hmm
01:47 xinming joined #perl6
01:48 preflex_ joined #perl6
02:14 eternaleye joined #perl6
02:16 szbalint joined #perl6
02:29 araujo joined #perl6
02:39 aindilis` joined #perl6
02:44 tadzik joined #perl6
02:47 rurban1 joined #perl6
03:20 sunnavy joined #perl6
03:29 kaleem joined #perl6
03:48 Mouq r: Hash.new(A => "B").gist.say
03:48 camelia rakudo-parrot 0bf3de, rakudo-jvm 0bf3de: OUTPUT«().hash␤»
03:49 Mouq r: Hash.new((A => "B")).gist.say
03:49 camelia rakudo-parrot 0bf3de, rakudo-jvm 0bf3de: OUTPUT«("A" => "B").hash␤»
03:49 colomon Mouq: you're sending a named argument to .new in the first.
03:50 Mouq r: my @a; @a.push(Hash.new((A => "B"))); say @a.perl; say +@a;
03:50 camelia rakudo-parrot 0bf3de, rakudo-jvm 0bf3de: OUTPUT«Array.new("A" => "B")␤1␤»
03:50 Mouq I know, I'm debugging what lue wrote a few hours ago :p
03:51 lue what.
03:51 Mouq r: my @a; @a.push(Hash.new(Hash.new((A => "B")))); say @a.perl; say +@a;
03:51 camelia rakudo-parrot 0bf3de, rakudo-jvm 0bf3de: OUTPUT«Array.new("A" => "B")␤1␤»
03:51 colomon Mouq: grooby
03:51 colomon er, groovy
03:52 lue colomon: Are you suggesting Hash.new doesn't accept named arguments as a way of setting hash kv pairs? O.o
03:52 Mouq I think that might still fall into the realm of bug though
03:54 lue r: Hash.new("A", "B").perl.say
03:54 camelia rakudo-parrot 0bf3de, rakudo-jvm 0bf3de: OUTPUT«("A" => "B").hash␤»
03:55 Mouq »my class Hash { … method new(*@args) {« a sig of "(*@args)" ignores named params
03:56 Mouq rn: named-param(A => "B"); sub named-param (*@not, :$A) { say "{@not.gist//0}, {$A.gist//0}" }
03:56 lue Worst part is is that I can't decide if I like throwing away the purpose of named arguments for Hash.new :/
03:56 camelia rakudo-parrot 0bf3de, rakudo-jvm 0bf3de: OUTPUT«, B␤»
03:56 camelia ..niecza v24-108-g17d73e4: OUTPUT«(timeout)[auto-compiling setting]␤»
03:56 lue (for the theoretical Hash.new(<pairs as positional>, :carefully) future that is)
03:57 Ben_Goldberg I think Hash.new ought to warn if you pass in named parameters
03:57 lue Ben_Goldberg: agreed. If named params have to be kept as not-Pairs-for-Hash, it'd be nice if I was told it's not gonna do what I want.
03:58 Mouq r: Hash.new(my%=:A<B>).gist.say
03:58 camelia rakudo-parrot 0bf3de, rakudo-jvm 0bf3de: OUTPUT«("A" => "B").hash␤»
03:58 Ben_Goldberg Actually, in general, perl6 ought to warn if you pass named parameters to a subroutine, which, based on it's prototype, will only throw them away.
03:59 Ben_Goldberg s/prototype/signature/
04:05 Mouq I think it's best if Hash.new throws them away. It's annoying, but it's annoying in a consistent way :p
04:09 Mouq r: #`««What do pirates say when they realize their code is buggy because the pairs they're trying to pass are named arguments?»» say :not-arrrg
04:09 camelia rakudo-parrot 0bf3de, rakudo-jvm 0bf3de: OUTPUT«␤»
04:17 preflex_ joined #perl6
04:21 lue Mouq: but at least for Hash.new, not necessarily all functions, I should be warned of the throw-away. Something tells me Hash.new() over time throws away the majority of useless named args in all of Perl 6 :)
04:21 lue s/majority/plurality/ to be accurater.
04:21 dwarring joined #perl6
04:25 dwarring I've put up my poker hand analyser on rossettacode - http://rosettacode.org/wiki/Poker_hand_analyser
04:25 dwarring slightly evolved from the one I gisted here a couple of days ago
04:26 dwarring also created a new draft task
04:26 timotimo extra credit if you use the unicode symbols for the cards themselves
04:26 dwarring so its the only entry there at the moment
04:26 timotimo i think there's one for each combination of 2 through A and the four suits
04:26 TimToady should allow uppercase
04:27 dwarring there if anyone want to critique/improve etc
04:27 xinming_ joined #perl6
04:28 TimToady s:g/were/where/
04:28 dwarring timotimo: missed that one - hope it's sufficiently different
04:28 timotimo http://en.wikipedia.org/wik​i/Playing_cards_in_Unicode :)
04:29 dwarring TimToady have tweaked
04:29 timotimo 🃌 - my terminal displays it as a two-width questionmark-in-rhombus, but only takes a single space of width for it >_<
04:30 TimToady they are up in the area that Java doesn't really believe in yet :)
04:30 dwarring timotimo: saw that introduced in Unicode 6 . I went a bit more old fashioned
04:30 timotimo don't you need to lc the face in there, too?
04:31 lue timotimo: my terminal (konsole) has a general problem with characters that display wider than initially guessed (something about a bunch of boxes IIRC)
04:31 timotimo :(
04:31 lue (counts for something as harmless as bold fonts; had to disable the bolding part of light colors as a result)
04:32 labster joined #perl6
04:32 timotimo ... i want to try Terminology :)
04:32 lue timotimo++ for typing one of the four Unicode cards that don't correspond to a standard deck of cards :)
04:32 timotimo er, oops
04:33 timotimo which one did i paste? >_<
04:33 xinming joined #perl6
04:33 lue The Knight face card
04:33 lue Knight of Diamonds, precisely
04:33 TimToady dwarring: oh, it helps if us read the log if you put a remark at the bottom when you edit
04:33 timotimo ... that doesn't exist in a standard deck?
04:33 TimToady no
04:33 dwarring righty
04:34 lue A 2 3 4 5 6 7 8 9 10 J Q K are normal. Have yet to find one with C (as it's rendered in my current font, for Chevalier)
04:34 timotimo oh?
04:34 timotimo right, it's usually the King, right?
04:35 lue When I discovered unicode had 🂼🃌🂬🃜 for a whole brand new face value, I've been hoping to come across a 56-card (sans jokers) deck :)
04:35 lue timotimo: the Knight card is usually represented with kNight or Chevalier because of King, from what I've read.
04:35 timotimo right
04:36 lue what doesn't help the search for a 56 card deck is that it conveniently refers to 52 card standard + 4 jokers :/
04:38 lue Sorry, it's actually Cavalier. I think I was saying "hair-er" instead :P
04:39 timotimo :D
04:39 lue nvm, fr.wikipedia says both are right m)
04:40 xinming joined #perl6
04:41 labster joined #perl6
04:42 TimToady English speakers will take a cavalier attitude to pronouncing it either way.
04:43 lue I'm probably going to end up printing out a deck of cards myself someday, because I want those knight cards! :)
04:50 * lue isn't quite sure why he thinks searching for a 56 card deck would fair better if done in French...
04:52 * dwarring have added extra credit for unicode timotimo++
04:59 TimToady but then it's hardly a parsing problem...
04:59 timotimo hehe
04:59 timotimo we need to have a level in the parsing where we match the full unicode names
04:59 TimToady this whole business of wrapping it in a grammar seems rather because-I-can-ish
05:00 timotimo yeah, at that point you might as well comb :match with a simple structured regex
05:00 lue Although putting subs in a grammar feels awfully Grammar.nqp-like :)
05:01 lue timotimo: <:Name<LATIN CAPITAL LETTER A>> should cover it
05:01 timotimo agreed, i didn't really like that part :\
05:01 timotimo lue: okay, now how do we do <:Name<LATIN CAPITAL LETTER $<lettername>=.>>? :)
05:02 lue <:name(/:sLATIN CAPITAL LETTER $<lettername>=./)> perhaps? /me checks S05
05:02 timotimo are you even serious? o_O
05:02 timotimo TimToady: ^^ ??
05:03 lue ah-ha! From S05:
05:03 lue As a particular case of smartmatching, TR18 section 2.6 is satisfied with a pattern as the argument:
05:03 lue <:name(/^LATIN LETTER.*P$/)>
05:03 timotimo my god that is effing amazing
05:03 lue to match both 'P' and 'p' in that case, methinks
05:04 lue timotimo: it's kinda critical if you want to, say, get any one Jamo character.
05:05 lue As the quote I pulled suggests, we have to provide that anyway to be more awesome in Unicode's eyes :) .
05:06 lue ...Oh crud. My "regexes operate on NFG by default" thing for S15 breaks on the <:Name> thing *headdesk*
05:06 timotimo d'oh
05:06 markov joined #perl6
05:07 ssutch joined #perl6
05:09 lue I went the lazy way and just added a "needs fixing" line to my S15 for now :)
05:12 TimToady most such matchers probably want to work only on the base character by default
05:12 TimToady so we need syntax for saying you want to match one of the combiners, or any part
05:13 timotimo so, would that look like :graphname(...) vs :codename(...)?
05:13 TimToady graphemes don't have names
05:13 TimToady unless you concat all the codepoint names
05:13 lue I wonder if <: shouldn't just implicitly turn an NFG substring to NFC internally, after all you have to operate at codepoints at that point.
05:13 timotimo that was my initial, naive thought, yes
05:14 timotimo perhaps with a ; or a , because those don't occur in natural codepoint names
05:14 TimToady and I'm sayin' the default should be to match the first codepoint
05:14 TimToady and ignore the combiners
05:14 TimToady (I suspect)
05:14 lue .oO(LATIN CAPITAL LETTER A - COMBINING DIAERESIS --- IIRC, hyphens can't be surrounded by space in official names)
05:15 TimToady otoh, I can argue 'any' semantics by default as well
05:15 lue TimToady: are you suggesting :i by default? I, being a primarily English speaker, can't comment on the effects of this :) .
05:15 TimToady hypen would be a bad choice
05:15 TimToady huh, what does :i have to do with it
05:15 lue sorry, :m
05:16 TimToady well, maybe that changes the default
05:16 lue maybe instead of hyphen we could use the COMBINING GRAPHEME JOINER? :P
05:16 TimToady combiners are not readily confusable with base chars, so if you mention a combiner, obviously you're probably not trying to match a base char
05:16 timotimo m)
05:17 TimToady where did I put Bill the Cat...
05:17 xinming joined #perl6
05:17 TimToady ⊙⨀
05:17 TimToady ⧁°⧀
05:17 * dwarring revising advent post
05:18 timotimo TimToady: it took me a few seconds, but now: d'aaw, that's pretty cute :)
05:18 timotimo reminds me a tiny bit more of a mouse, actually, the way the nose looks
05:18 * lue wonders if "ignore combiners" would entail internal conversion of strings to NFD
05:18 TimToady well, you have to have all those mapped to NFD somehow
05:19 TimToady but that can be a lookup by character, no need to convert the whole string
05:19 TimToady alternately, you dup all the tables for all NFC chars, but that could get expensive quickly
05:20 TimToady s/NFC/NFG/ even
05:20 * lue wonders how users of an abjad would like to handle Unicode combiners by default
05:20 TimToady users!?!?  Who cares about them!?!?
05:21 timotimo we won't have those for another decade at least!
05:24 lue "ẛ̣" ~~ /(.)/ --- what do I get out of this?
05:25 * TimToady imagines a syntax resembling <?nfd .+ <:name(/DIAERESIS/)> <:name(/CIRCLE/)> .* >
05:25 * lue by the way strongly advises against ever assuming one of the Kompatability forms, for obvious reasons :) .
05:25 * TimToady mostly ignores the K forms
05:25 lue ah yes, regex name matching. Of course :)
05:26 TimToady that is, <?nfd regex> would match the nfd expansion of the current character
05:27 TimToady except that's 0-width with ?, so maybe just <nfd regex>
05:28 TimToady but then you capture it as $<nfd>, so maybe we want punctuation there
05:28 lue .oO( m/<:Name(m/<:Letter>+/)>/ )
05:28 TimToady well, the nfd expansion of sort of a property, so maybe <:nfd regex >
05:28 * lue frantically looks at his keyboard for a new symbol for the X <X nfd>
05:29 lue *the X in
05:29 TimToady sayin' we might be able to overload : for that
05:29 TimToady as long as there's no nfd property to confuse it with
05:30 lue My PropertyAliases.txt lists no NFD property :), nor NFC, NFKD, or NFKC
05:31 lue (there *are* properties that match /NFC/ and such, but not /^NFC$/ and such)
05:31 TimToady std: / <= regex > /  # isn't taken
05:31 camelia std 3b262af: OUTPUT«[31m===[0mSORRY![31m===[0mâ�¤Unrecognized regex assertion at /tmp/isNv3lMoGq line 1:â�¤------> [32m/ <[33mâ��[31m= regex > /  # isn't taken[0mâ�¤    expecting assertionâ�¤Parse failedâ�¤FAILED 00:01 122mâ�¤Â»
05:32 TimToady though that wouldn't look good with a foo= in front
05:32 lue I'm almost tempted to suggest unicode chars to replace the : in <:Letter> and for the * in <*nfd> :D
05:32 lue TimToady: that's why I dismissed the = on my keyboard :)
05:33 lue .oO( /<☃Letter> <☄nfd>/ is of course a choice there :P)
05:33 lue TimToady: perhaps <:Letter> and <;nfd> ?
05:33 lue there's also <_nfd> I believe
05:34 TimToady not sure I want to spell out 'nfd' all the time
05:34 TimToady could get huffmanly old
05:34 lue fwiw, I gave regexes :nf* adverbs in my provisional S15 :)
05:35 TimToady </ regex> for 'divide up the grapheme'  :)
05:36 TimToady or </ regex /> for symmetry :)
05:36 lue :D </stuff> sounds good. Would that do NFG ?? toNFC !! keepNF
05:36 lue $string ~~ / </sarcasm> /
05:37 rurban1 joined #perl6
05:38 lue TimToady: are you suggeting </ for </Letter> or </nfd> or </ :Letter + alpha ...> ?
05:44 TimToady I'm suggesting that </ ... /> converts the current grapheme to NFD and then matches on that
05:45 TimToady so if you took the ... literally there, it would only match a grapheme whose NFD was at least 3 codepoints
05:45 TimToady if you want to name something inside, you embed a <:name...>
05:46 TimToady it's just a normal regex, except against the NFD expansion
05:46 TimToady s </ ^. />  matches (uselessly) the base character
05:46 TimToady *so
05:47 TimToady </ .+ <:name(/COMBINING/)> /> would match any char with a combiner whose name mentioned "COMBINING"
05:48 TimToady presumably we'd allow <m/ /> as well
05:48 TimToady or <m[ ]> etc
05:50 lue oh, so "a" ~~ </ /> as an alternative to "a" ~~ / / then. (Or are you thinking of a  <( )> style regex construct?)
05:51 TimToady this is an assertion inside some other regex
05:51 TimToady like <[a..z]>, only the character it's matching is treated as an exploded grapheme
05:52 lue ah, so $stuff ~~ / <rules> <and> <rules> \s+ </ hello /> / . I like that :)
05:54 lue Although for a second I thought maybe, like <( )>, you could do / <pre-stuff> </ explode the rest /, though I'm perfectly OK with that not happening.
05:54 TimToady I think it has to be properly delimited on both ends
05:54 TimToady unlike <( )>
05:55 lue yeah, I just thought of    / matching stuff />  occurring in code (not sure what the > is doing at that point in Perl 6 though ☺)
05:56 lue r: say "foo" ~~ m( <(foo)> )
05:56 camelia rakudo-parrot 0bf3de: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/FGdYvP1kJRâ�¤Undeclared routine:â�¤    m used at line 1â�¤â�¤Â»
05:56 camelia ..rakudo-jvm 0bf3de: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/hF1i2paTWNâ�¤Undeclared routine:â�¤    m used at line 1â�¤â�¤Â»
05:56 TimToady std: say "foo" ~~ m( <(foo)> )
05:56 camelia std 3b262af: OUTPUT«[31m===[0mSORRY![31m===[0m�Undeclared routine:� 'm' used at line 1�Check failed�FAILED 00:01 124m�»
05:56 lue oh, I guess you can't use () on quoting constructs then?
05:56 TimToady nope, nor #
05:57 TimToady nor : really
05:57 TimToady std: m : foo :
05:57 camelia std 3b262af: OUTPUT«[31m===[0mSORRY![31m===[0mâ�¤Colons may not be used to delimit quoting constructs at /tmp/AfYYwS4xOL line 1:â�¤------> [32mm :[33mâ��[31m foo :[0mâ�¤    expecting colon pair (restricted)â�¤Parse failedâ�¤FAILED 00:00 120mâ�¤Â»
05:57 lue r: say q♯ahem♯
05:57 camelia rakudo-parrot 0bf3de, rakudo-jvm 0bf3de: OUTPUT«ahem␤»
05:57 TimToady nope, we simply disallow :
05:57 TimToady std: say "foo" ~~ m ( <(foo)> )
05:57 camelia std 3b262af: OUTPUT«[31m===[0mSORRY![31m===[0m�Bogus term at /tmp/fneXPZhgCG line 1:�------> [32msay "foo" ~~ m ( <(foo)> [33m�[31m)[0m�Parse failed�FAILED 00:01 125m�»
05:58 lue there's an option for those who insist on doing q# # in P6 :)
05:58 TimToady there are many octothorps in Unicode
06:01 lue TimToady: I'm not convinced a <m/ /> synonym is necessary, unless you want that synonym to mirror the bracket-availability-expansion that m// (or m[], or m⦃⦄) provides.
06:02 lue .oO( / / and m/ / and m⟅ ⟆ --> </ /> and <m/ /> and <m⟅ ⟆> )
06:03 TimToady that's what I was thinking
06:04 TimToady though arguably it should be spelled <d/ />
06:04 TimToady (for "decompose")
06:05 TimToady or <D/ /> just to be dramatic
06:05 lue Hm. Yeah, <d//> would keep people from incorrectly assuming it's a seemingly useless "embedded subrule" thing or something :)
06:05 TimToady since NFD is usually capitalized
06:06 lue <💣/ /> (though my fonts aren't cool enough to have this character yet.)
06:07 TimToady well, decompose should be 💩 or some such
06:08 TimToady std: m⌗ ... ⌗
06:08 camelia std 3b262af: OUTPUT«ok 00:01 122m␤»
06:09 lue .oO(or even <✺/ />, for a Unicode character I can see)
06:10 lue Would :nf adverbs for regexes still sit right with you in light of <d/ /> ? Or would they be better expressed as <g/ />, <d/ />, <c/ />, <kd/ />, and <kc/ /> now? :)
06:10 lue (or rather, <G/ />, <D/ />, etc.)
06:11 TimToady std: m井 ... 井  # probably won't work
06:11 camelia std 3b262af: OUTPUT«[31m===[0mSORRY![31m===[0mâ�¤Undeclared routines:â�¤        'm井' used at line 1â�¤    '井' used at line 1â�¤Check failedâ�¤FAILED 00:01 121mâ�¤Â»
06:11 wbill joined #perl6
06:12 lue .oO( <:Mark> would be better than <:Name(/COMBINING/)> to find combiners I believe? )
06:12 TimToady sure
06:13 TimToady I dunno, the adverbs and <D[]> don't entirely overlap in functionality
06:13 TimToady <D[]> is specifically scoped to a single grapheme
06:13 lue oh hey, I just found our Friendly Unicode Version™ of \o/ --> 🙌   /me needs to find/make a supplementary font
06:14 lue TimToady: oh! that's not how I was considering <D/ /> at all. I'll make the appropriate mental adjustments :) .
06:15 TimToady yes, it's very like <[]> that way, it's just the class of characters whose NFD matches a regex :)
06:16 lue .oO("The <D/ /> construct breaks down a single character in NFD form. This therefore becomes useless when used alongside the :nfd and :nfkd adverbs")
06:16 TimToady much as <G/ /> is useless under :nfg  :)
06:16 * lue takes that as an implicit endorsement of the other <*/ /> forms I listed
06:17 lue er, s/I/he/ # must maintain POV
06:17 TimToady more than one wishes to assume generality is preferred over specificity whenever practical
06:19 lue I wonder if S05|S15 would then benefit from a small warning that order of combiners is set, and aside from learning this ordering, to surround the specific combiner you want to match with <:Mark>* (specific combiner) <:Mark>*
06:20 TimToady well, .* <:Foo> .* is fine for "any" semantics
06:20 TimToady you already know the first . is the base codepoint and the subsequent .* is marks
06:21 TimToady well ^. is the base
06:21 lue by "any" semantics, are you referring to something similar to when I say NF* (as in, "any NF")
06:21 TimToady with the possible exception of weird graphemes like CRLF
06:21 lue (or is .* <:Foo> .* what goes in <D/ /> ?)
06:22 TimToady I mean "any grapheme containing this mark anywhere"
06:22 TimToady yes, inside
06:22 lue ah, alright.
06:23 TimToady <D/ ^ $<base> = . $<marks> = .* $ />
06:23 lue I'm assuming the base character must be explicitly matched in <D/ />, incase you want to capture it or something. — nvm, you just answered that :)
06:23 TimToady and it scans, so you have to use ^ to get base char for sure, unless, of course, what you're scanning for can only be a base
06:24 lue some IPA graphemes might give you trouble if you don't ^ though :D
06:25 moritz good morning
06:26 TimToady o/
06:26 lue morning moritz 🙋
06:27 TimToady they should have a left-handed one of those
06:27 lue TimToady: that's what I was thinking :) . But that's a font choice, because it's not named HAPPY PERSON RAISING *RIGHT* HAND :/
06:28 lue (i.e. Unicode would need two new codepoints to encoding which-handed-ness)
06:28 TimToady they should have differently shaped piles of poo while they're at it...
06:28 TimToady moritz: we're busily creating the syntax for matching NFD-expanded graphemes :)
06:29 TimToady which turns out to simply be a kind of subregex
06:30 lue By the way, I don't trust unicode enough to believe <D/ ^ $<base> = . $<marks> = .* $ /> is eqv. to <D/ ^ $<base> = [<!:Mark> .] [<!:Mark> .]* $<marks> = [<?:Mark> .]* $ />
06:30 * moritz isn't awake enough yet for that
06:31 TimToady lue: other than CRLF, I'm not aware of any graphemes that contain multiple base chars
06:31 lue moritz: That's OK, maybe a couple more grapheme explosions will wake you up. :)
06:31 moritz so I'll let you happily bikshave or yakshed or whatever :-)
06:31 TimToady but maybe the consortium has been busy that way :)
06:32 lue TimToady: like I said "I don't trust Unicode". I imagine the future will be weird.
06:32 [Sno] joined #perl6
06:32 * lue wonders if the beta UCD 7.0 files will reveal any secrets...
06:33 lue Ooooh, would we have to redefine \n in regex?    /:nfg \n/ can match CRLF, but /:nfc \n/ would just match the CR. /me kinda hopes \n is defined as    regex theNameForTheBackslashNTerm { :nfg ... }
06:37 lue r: say "\x[A,D,D,A,A,D,A,D,D]" ~~ /\n/
06:37 camelia rakudo-parrot 0bf3de, rakudo-jvm 0bf3de: OUTPUT«「␤」␤␤»
06:38 TimToady we're already basically nfc, so \n can stay abstract as a matcher
06:39 TimToady in any case, you probably want \xA for LF and \xD for CR
06:40 lue I'm almost tempted to say CRLF shouldn't be given a negative number by NFG. The whole deal's already bad enough, why complicate matters? :)
06:41 TimToady yes, treating CRLF as a grapheme has smell to it
06:41 lue (CRLF as grapheme also brings into question if those NFG tables should carry any special info, e.g. "CRLF is like a Control character")
06:41 lue unlike most graphemes, I don't think most people who pay attention to CRLF think of it as a singular unit ;)
06:43 TimToady well, the question is what $nfg.substr($offset,1) returns if it's aimed at a CRLF
06:43 TimToady maybe that's always grapheme -1 :)
06:43 lue r: say "hello\r\nworld".substr(5, 1).perl
06:43 camelia rakudo-parrot 0bf3de, rakudo-jvm 0bf3de: OUTPUT«"\r"␤»
06:44 TimToady sure, but that's because we're in 'use nfc;'-land right now
06:44 lue of course, I was wondering if substr handled \r\n specially
06:45 * TimToady has wondered whether we ought to start marking all our current programs as 'use nfc;' to avoid pain when we default to nfg
06:45 lue *cough*use NF :C*cough*
06:45 lue ... nah, should probably change all those NF :* to NF* in my gist :)
06:45 * TimToady should read the spec before someone implements it... :)
06:46 lue TimToady: I'm pretty sure the actual spec would say NFC, I just came up with NF :C because I'm not sure why I though two extra chars was worth it.
06:46 * TimToady should go pick up his niece from work first though, since her father just had (successful) brain surgery
06:47 TimToady (that would be my brother-in-law Jon, the one that invented XS. :)
06:47 TimToady so he's unlikely to pick her up tonight...
06:47 lue Sounds like thing you might want to do, TimToady :)
06:47 TimToady later &
06:48 * lue edits his S15 to include <D/ /> and friends
06:49 darutoko joined #perl6
06:55 lue TimToady: I get the suspicion that CRLF is something that most people want to treat as one thing, regardless of the NF* used. (Though doing that sort of cross-NF* "treat as one" might anger people who want to treat them separately if we aren't careful.)
07:00 Mouq joined #perl6
07:06 lue Replaced the NF pragma with slightly-more-huffman NF* pragmas, and added our explosion friends :) [also rm'd the :graphs, :codes adverbs for regexes]. For those who haven't enshrined the link yet: https://gist.github.com/lue/7761244
07:13 kaleem joined #perl6
07:24 SamuraiJack_ joined #perl6
07:31 xinming_ joined #perl6
07:45 xinming joined #perl6
07:57 sqirrel joined #perl6
07:59 grep0r joined #perl6
08:01 xinming_ joined #perl6
08:05 FROGGS joined #perl6
08:12 xinming joined #perl6
08:13 ssutch joined #perl6
08:15 pochi_ joined #perl6
08:18 dalek v5: 6e4de5d | (Tobias Leich)++ | rakudo.patch:
08:18 dalek v5: relocate patch chunks
08:18 dalek v5: review: https://github.com/rakudo-p5/v5/commit/6e4de5d39f
08:26 salv0 joined #perl6
08:29 masak antenoon, #perl6
08:29 FROGGS hi masak
08:29 masak ohaio
08:30 moritz \o masak, FROGGS, *
08:30 FROGGS o/
08:30 FROGGS :o)
08:31 xinming joined #perl6
08:32 masak :o/
08:33 masak lizmat++ # slicing in slot 13
08:33 masak looking forward to that one.
08:36 zakharyas joined #perl6
08:38 rindolf joined #perl6
08:39 Piers_ joined #perl6
08:40 dalek v5: 91debb0 | (Tobias Leich)++ | Makefile:
08:40 dalek v5: use nqp-p/perl6-p until we have a Build.pm
08:40 dalek v5: review: https://github.com/rakudo-p5/v5/commit/91debb08cc
08:40 dalek v5: aa010a6 | (Tobias Leich)++ | lib/Perl5/Terms.pm:
08:40 dalek v5: avoid unspace
08:40 dalek v5: review: https://github.com/rakudo-p5/v5/commit/aa010a65b8
08:44 frettled masak masak masak masak masak masak lue lue masak masak masak masak masak masak masak oooh it's TimToady masak masak masak masak masak … (freely based on "Badger badger …")
08:48 Mouq joined #perl6
08:52 denisboyun joined #perl6
08:55 fhelmberger joined #perl6
09:27 woosley joined #perl6
09:29 FROGGS[mobile] joined #perl6
09:30 dakkar joined #perl6
09:35 lue joined #perl6
09:44 sqirrel joined #perl6
10:03 slavik joined #perl6
10:05 frettled I didn't mean to kill the channel, sorry :)
10:07 cognominal joined #perl6
10:18 * moritz revives again
10:29 denisboyun joined #perl6
10:36 Mouq joined #perl6
10:37 denisboyun joined #perl6
10:43 kivutar joined #perl6
10:45 stevan_ joined #perl6
10:51 Alina-malina joined #perl6
10:54 denisboyun joined #perl6
11:14 * lizmat drops a pin
11:14 preflex lizmat: you have 1 new message. '/msg preflex messages' to read it.
11:18 xenoterracide joined #perl6
11:26 dalek specs: d31e097 | (Elizabeth Mattijsen)++ | S17-concurrency.pod:
11:26 dalek specs: done/quit are named parameters + eternaleye++ suggestions
11:26 dalek specs: review: https://github.com/perl6/specs/commit/d31e097127
11:30 sqirrel_ joined #perl6
11:31 * lizmat starts talking to herself
11:35 nwc10 good, #perl6, #perl6
11:41 balders_dod_ joined #perl6
11:42 rurban joined #perl6
11:46 darutoko joined #perl6
12:06 colomon joined #perl6
12:08 atroxaper joined #perl6
12:14 moritz two rows in a row!
12:15 * FROGGS .oO( ===SORRY!=== )
12:17 dmol joined #perl6
12:21 dmol joined #perl6
12:40 colomon if you get three rows in a row you can make it a song...
12:42 dmol joined #perl6
12:42 tadzik row, row, row your ===SORRY!===
12:43 FROGGS gently down the ===SORRY!===
12:44 tadzik ===SORRY!=== ===SORRY!=== ===SORRY!=== ===SORRY!===
12:44 carlin joined #perl6
12:45 FROGGS life is but a ===PANIC!===
12:47 FROGGS that is the funniest part of a TOS episode ever
12:47 mtk joined #perl6
12:48 carlin rakudo: my constant minute = 60; my constant hour = minute * 60;
12:48 camelia rakudo-parrot 0bf3de, rakudo-jvm 0bf3de: ( no output )
12:48 tadzik FROGGS: there was something like this in TOS?
12:48 carlin rakudo: my constant minute = 60; my constant hour = minute * 60; say hour;
12:48 camelia rakudo-parrot 0bf3de, rakudo-jvm 0bf3de: OUTPUT«3600␤»
12:49 FROGGS tadzik: http://www.chakoteya.net/movies/movie5.html
12:49 FROGGS search for "I haven't sung around" and read :o)
12:50 carlin rakudo: my constant m = 60; my constant h = m * 60;
12:50 camelia rakudo-jvm 0bf3de: OUTPUT«[31m===[0mSORRY![31m===[0m�Unrecognized regex metacharacter ; (must be quoted to match literally)�at /tmp/mkeGg5UY9U:1�------> [32m constant m = 60; my constant h = m * 60[33m�[31m;[0m�Couldn't find terminator *�at /tmp/mkeGg5UY9U:1�--…»
12:50 camelia ..rakudo-parrot 0bf3de: OUTPUT«â�€â�€â�€[â�€â�€â�€3â�€â�€â�€1â�€â�€​â�€mâ�€â�€â�€=â�€â�€â�€=â�€â�€â�€=â�€â�€â�€â​�€â�€â�€[â�€â�€â�€0â�€â�€â�€mâ�€â�€â�€Sâ�€â�​€â�€Oâ�€â�€â�€Râ�€â�€â�€Râ�€â�€â�€Yâ�€â�€â�€​!â�€â�€â�€â�€â�€â�€[â�€â�€â�€3â�€â�€â�€1â�€â​�€â�€mâ�€â�€â�€=â�€â�€â�€=â�€â�€â�€=â�€â€¦Â»
12:50 tadzik FROGGS: heh
12:50 moritz carlin: m is a delimiter for regexes, and can cause funny things to happen if use it as a variable or constant without a sigil
12:51 moritz *if you use it
12:51 tadzik I think I only watched Khan from the TOS-based films
12:51 carlin ahh, that explains it, thanks moritz
12:51 FROGGS tadzik: you should watch all of them
12:52 tadzik I didn't even watch S03 of TOS :P
12:53 FROGGS I'm sure I missed some episodes... but that's okay since I don't like Western
12:54 dmol joined #perl6
13:01 atroxaper joined #perl6
13:02 cooper joined #perl6
13:07 SamuraiJack_ joined #perl6
13:07 dmol joined #perl6
13:15 dmol joined #perl6
13:22 moritz http://blog.smartbear.com/programming/why-​johnny-cant-write-multithreaded-programs/
13:22 mtk joined #perl6
13:23 moritz that's a piece about how often the wrong low-level concurrency and synchronization primitives are advertised
13:23 moritz when application level programmers should actually use queues and channels and so on
13:23 * moritz agrees
13:24 FROGGS ohh yes
13:30 kaare_ joined #perl6
13:40 xenoterracide joined #perl6
13:50 hummeleB1 joined #perl6
13:58 fhelmberger joined #perl6
14:04 jnap joined #perl6
14:07 nebuchad` joined #perl6
14:08 scottp joined #perl6
14:09 jnap joined #perl6
14:09 zakalwe joined #perl6
14:09 zakalwe joined #perl6
14:10 tmetro joined #perl6
14:10 cooper joined #perl6
14:11 PacoAir joined #perl6
14:12 awwaiid joined #perl6
14:15 ponbiki_ joined #perl6
14:18 hummeleBop1 joined #perl6
14:19 ajr joined #perl6
14:23 dalek perl6-roast-data: 59c331b | coke++ | .gitignore:
14:23 dalek perl6-roast-data: ignore new build dir
14:23 dalek perl6-roast-data: review: https://github.com/coke/perl6​-roast-data/commit/59c331b81c
14:23 dalek perl6-roast-data: f34667d | coke++ | doit:
14:23 dalek perl6-roast-data: save rakudo.moar test runs
14:23 dalek perl6-roast-data: review: https://github.com/coke/perl6​-roast-data/commit/f34667dad7
14:23 dalek perl6-roast-data: 8d04356 | coke++ | / (3 files):
14:23 dalek perl6-roast-data: today (automated commit)
14:23 dalek perl6-roast-data: review: https://github.com/coke/perl6​-roast-data/commit/8d04356c8c
14:31 ajr joined #perl6
14:37 [Coke] https://github.com/coke/perl6-roast-data/​blob/master/rakudo.moar_summary.out#L3058 - moar has a little catching up to do. ;)
14:37 [Coke] (I know it wasn't ready, I just thought it would be nice to capture the first day it did work.)
14:38 [Coke] -> dayjob
14:38 * moritz can't even build rakudo-moar yet
14:45 rurban1 joined #perl6
14:47 xenoterracide joined #perl6
14:53 tgt joined #perl6
14:53 bluescreen10 joined #perl6
14:59 atroxaper joined #perl6
15:00 thou joined #perl6
15:01 sahadev joined #perl6
15:04 dmol joined #perl6
15:05 cooper joined #perl6
15:06 btyler joined #perl6
15:13 araujo joined #perl6
15:16 raiph joined #perl6
15:20 vaclavstrachon joined #perl6
16:02 salv0 joined #perl6
16:02 filly joined #perl6
16:03 dmol joined #perl6
16:03 benabik joined #perl6
16:13 ajr joined #perl6
16:19 rurban1 joined #perl6
16:31 stevan_ joined #perl6
16:36 kaleem joined #perl6
16:38 sqirrel_ joined #perl6
16:40 Khisanth joined #perl6
16:43 xinming joined #perl6
16:50 xinming joined #perl6
16:54 gdey joined #perl6
16:55 ssutch joined #perl6
17:02 FROGGS joined #perl6
17:02 preflex_ joined #perl6
17:22 xenoterracide joined #perl6
17:26 * TimToady would like to think that everyone is off doing Important Stuff :)
17:26 * moritz cooks dinner for $family
17:27 fhelmberger_ joined #perl6
17:31 colomon …. errr…. somebody was wrong on the Internet?
17:31 colomon no, cooking lunch for $family
17:32 xenoterracide joined #perl6
17:33 Mouq joined #perl6
17:37 * TimToady can't build perl6-m yet either, due to the GC grinch
17:42 moritz if that's the segfault during building the setting, then I'm in the same position
17:44 TimToady I'm still stuck in compiling m-BOOTSTRAP with Heap corruption detected: pointer 0x2aaaac1b0cf8 to past fromspace
17:44 moritz TimToady: have you valground it?
17:44 TimToady no, been doing Important Stuff :)
17:46 [Sno] joined #perl6
17:49 FROGGS moritz: valgrind does not help
17:49 moritz FROGGS: :(
17:50 benabik It can only trace things to where the GC notices it.
17:50 carlin joined #perl6
17:53 carlin rakudo: DateTime.new(now + 18000.0)
17:53 camelia rakudo-parrot 0bf3de, rakudo-jvm 0bf3de: ( no output )
17:53 carlin rakudo: DateTime.new(time + 18000.0)
17:53 camelia rakudo-jvm 0bf3de: OUTPUT«Default constructor for 'DateTime' only takes named arguments␤  in block  at /tmp/fVeNzDpnQU:1␤  in any eval at gen/jvm/stage2/NQPHLL.nqp:1086␤  in any evalfiles at gen/jvm/stage2/NQPHLL.nqp:1292␤  in any command_eval at gen/jvm/stage2/NQPHLL.nqp:11…»
17:53 camelia ..rakudo-parrot 0bf3de: OUTPUT«Default constructor for 'DateTime' only takes named arguments␤  in method new at gen/parrot/CORE.setting:800␤  in method new at gen/parrot/CORE.setting:795␤  in block  at /tmp/1pmSBvtGf7:1␤  in any  at /tmp/1pmSBvtGf7:1␤  in any  at gen/parrot/…»
17:53 carlin rakudo: DateTime.new(time + 18000)
17:53 camelia rakudo-parrot 0bf3de, rakudo-jvm 0bf3de: ( no output )
17:55 moritz p: say DateTime.new(time + 18000)
17:56 camelia rakudo-parrot 0bf3de: OUTPUT«2013-12-10T22:56:00Z␤»
17:56 moritz p: say DateTime.now.delta(4, hours)
17:56 camelia rakudo-parrot 0bf3de: OUTPUT«2013-12-10T21:56:54Z␤»
18:05 * TimToady still thinks there's something smelly about the design of .delta
18:06 TimToady (4,hours) is just completely bogus
18:06 colomon (4 :hours) ?
18:06 TimToady (hours => 4)?
18:07 moritz hours => 4 has the problem that it's a named argument, and those aren't ordered
18:07 moritz but order matters
18:07 TimToady how can you put hours twice?
18:07 moritz in which case?
18:07 TimToady wouldn't that go in a different .delta?
18:07 * TimToady hasn't read the spec in a while...
18:08 TimToady but it just strikes me that those bogus constants are, well, bugus
18:08 moritz it's more about .delta(1, days, 1, month) being different from .delta(1, months, 1, days)
18:09 moritz r: say Date('2013-02-28').delta(1, days).delta(1, months)
18:09 camelia rakudo-jvm 0bf3de: OUTPUT«No such method 'Date' for invocant of type 'Str'␤  in any  at gen/jvm/BOOTSTRAP.nqp:1658␤  in block  at /tmp/vFbkcwIVjB:1␤  in any eval at gen/jvm/stage2/NQPHLL.nqp:1086␤  in any evalfiles at gen/jvm/stage2/NQPHLL.nqp:1292␤  in any command_eval at…»
18:09 camelia ..rakudo-parrot 0bf3de: OUTPUT«No such method 'Date' for invocant of type 'Str'␤  in any  at gen/parrot/BOOTSTRAP.nqp:1674␤  in any  at gen/parrot/BOOTSTRAP.nqp:1669␤  in block  at /tmp/kj8iXHelz2:1␤  in any  at /tmp/kj8iXHelz2:1␤  in any  at gen/parrot/stage2/NQPHLL.nqp:114…»
18:09 moritz p: say Date.new('2013-02-28').delta(1, days).delta(1, months)
18:09 camelia rakudo-parrot 0bf3de: OUTPUT«2013-04-01␤»
18:09 moritz p: say Date.new('2013-02-28').delta(1, months).delta(1, days)
18:09 camelia rakudo-parrot 0bf3de: OUTPUT«2013-03-29␤»
18:10 TimToady I don't mind the positionals for order, but I do mind using 2 positionals for one idea
18:10 jercos Shouldn't the delta use like, a duration object? >.>
18:10 FROGGS I like colomon++'s idea then
18:11 TimToady well, we're verging back into the whole 'units' discussion here
18:11 TimToady and dimensional analysis
18:13 colomon Date.new('2013-02-28').delta(1 :months).delta(1 :days)
18:14 TimToady that's still trying to avoid the type system
18:14 TimToady Date.new('2013-02-28').delta(Months(1),Days(1))
18:16 colomon +1
18:16 TimToady though most units want to be lowercase
18:16 TimToady .delta(1`months, 1`days)
18:16 TimToady probably with allowed abbreviations somehow
18:17 kaare__ joined #perl6
18:18 colomon ….  um, -1 to that, I think.
18:18 TimToady .delta(1*months, 1*days) would be an improvement over comma
18:18 TimToady but I think it's silly to use up all those words without making them real types
18:18 jeffreykegler joined #perl6
18:19 TimToady it'll just make dimensional analysis impossible down the road, especially when the units comes in as a separate argument
18:21 TimToady colomon: you think you want to force everyone to write 1.5`kilometers instead of 1.5`km?
18:22 colomon it's the whole ` thing I don't like
18:22 TimToady oh, thought you were talking about the abbreviations
18:22 TimToady (ir clag)--
18:22 colomon I don't know why exactly, but I like months(1) vastly better than 1`monbths
18:23 TimToady then there's this whole singular/plural problem
18:23 TimToady which mo(1) avoids :)
18:23 TimToady or km(42)
18:24 moritz there's a U+241F SYMBOL FOR UNIT SEPARATOR
18:24 TimToady huh
18:24 moritz we could use that to start unit postfix operators
18:24 colomon what's it look like?
18:24 benabik Probably a box.  :-D
18:24 moritz dunno, my terminal has no font for it
18:24 FROGGS
18:25 moritz p: say "\x[241F]"
18:25 TimToady um, that's like ␤
18:25 camelia rakudo-parrot 0bf3de: OUTPUT«␟␤»
18:25 raydiak which ^K code is that in vim? :P
18:25 FROGGS it is "us", like the NL
18:25 TimToady it's a symbol for a control code nobody uses anymore
18:25 benabik Little tiny u_s for me.
18:26 TimToady I think that would not work here
18:26 * moritz kinda agrees
18:26 benabik Perhaps could (ab)use the _.  1_000_km
18:26 TimToady <42*km>
18:27 TimToady 42*km is constant folding kinda like 1/7
18:27 FROGGS 1_000.km (km method return the kilometer type)
18:27 FROGGS I guess that does not parse very well
18:28 moritz also, km should really return 1_000 meter type
18:28 TimToady that only works as a type coercion, like .Str, since we don't want to put units into numeric types
18:28 FROGGS well, 1_000.km could return Kilometer.new(1000)
18:28 TimToady so internally 42.km would turn into km(42)
18:29 FROGGS right
18:29 moritz and then we want a meter type
18:29 moritz m(42)
18:29 TimToady yes, well
18:29 moritz and the parser will run amok
18:29 moritz because it expects a regex
18:29 TimToady no it doesn't :)
18:29 FROGGS moritz: the type could/should be called Meter
18:29 FROGGS and the .m is just an abbr
18:30 TimToady but 42*m is a problem
18:30 colomon Unit::Meter ?
18:30 TimToady well, make 'em postfixes, like i
18:31 TimToady 42m
18:31 TimToady $foo\m
18:31 TimToady .delta(1mo, 1d)
18:31 FROGGS p: postfix:sym<m>($n) { $n }; say 42m
18:31 camelia rakudo-parrot 0bf3de: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/0I1vA6KzaMâ�¤Variable '$n' is not declaredâ�¤at /tmp/0I1vA6KzaM:1â�¤------> [32mpostfix:sym<m>($n[33mâ��[31m) { $n }; say 42m[0mâ�¤    expecting any of:â�¤        postfixâ�¤Â»
18:31 TimToady perhaps one is required to declare which units one will use
18:32 benabik p: sub postfix:sym<m>($n) {$n}; say 42m
18:32 camelia rakudo-parrot 0bf3de: OUTPUT«===SORRY!===␤CHECK FAILED:␤Undefined routine '&postfix:<m>' called (line 1)␤»
18:32 TimToady no sym
18:32 benabik p: sub postfix:<m>($n) {$n}; say 42m
18:32 camelia rakudo-parrot 0bf3de: OUTPUT«42␤»
18:32 moritz maybe we are deep in "should be in a module" territory
18:32 TimToady that's one way to declare it
18:33 colomon "should be in a module" +1
18:33 moritz so, the question is whether Date/DateTime also moves to a module, or if we a ccept a hack(ish) for its delta method
18:34 TimToady well, some postfixes are built-in already :)
18:34 * TimToady is guessing the postfixes are the abbreviations for the longer type coercions
18:35 TimToady so 42mo returns Months(42)
18:35 moritz not Moritz(42) :-(
18:35 TimToady use units <Months Days>;
18:36 moritz use Units :Date, :Time;
18:37 * TimToady would like 'use units;' to pull in all the units defined by the Unix units(1) program :)
18:37 moritz only available as a section 7 man page here
18:38 TimToady that's not the units program
18:38 moritz aye
18:39 TimToady not installed by default on many linuxen, apparently
18:39 benabik /usr/bin/units on OS X
18:40 raiph TimToady: there's a comment on the adverb advent: (more)
18:40 raiph TimToady "I don’t understand ... 1 || 2 && 3 :adv # applies to && ... why does :adv apply to the &&?
18:41 raiph TimToady: the commenter has correctly seen an error in the advent, right?
18:41 TimToady yes, should apply to the ||, since it's looser
18:42 raiph thx
18:42 raiph lue: ^^
18:48 TimToady r: 1 | 2 & 3 :adv
18:48 camelia rakudo-jvm 0bf3de: OUTPUT«Unexpected named parameter 'adv' passed␤  in block  at /tmp/3_zUeh_Asu:1␤  in any eval at gen/jvm/stage2/NQPHLL.nqp:1086␤  in any evalfiles at gen/jvm/stage2/NQPHLL.nqp:1292␤  in any command_eval at gen/jvm/stage2/NQPHLL.nqp:1196␤  in any command_…»
18:48 camelia ..rakudo-parrot 0bf3de: OUTPUT«Unexpected named parameter 'adv' passed␤  in sub infix:<|> at gen/parrot/CORE.setting:3232␤  in block  at /tmp/UTxhZdldaz:1␤  in any  at /tmp/UTxhZdldaz:1␤  in any  at gen/parrot/stage2/NQPHLL.nqp:1146␤  in any eval at gen/parrot/stage2/NQPHLL.…»
18:48 Alina-malina joined #perl6
18:48 TimToady note it tried to apply it to infix:<|>
18:49 TimToady however, the jvm error appears to be LTA
18:50 TimToady well, at least it mentions 'any'
18:50 lizmat FROGGS: looking at your blog post
18:51 TimToady but 'any eval' is misleading
18:51 lizmat s/locateable/locatable/
18:51 FROGGS k
18:53 lizmat maybe s/windows/Windows/ ?
18:54 TimToady Windows® even
18:55 FROGGS k
18:55 lizmat maybe add something like "This will require additional thought in the S11 specification" at the end of the paragraph starting with "Another glitch" ?
18:55 V_S_C joined #perl6
18:56 FROGGS done so
18:57 lizmat ok, that's what I have, except a lot of questions that will need to be thought about more and tested and specced
18:57 lizmat but that will be after enjoying ~6 hours of Hobbit entertainment
18:58 FROGGS :o)
18:59 lizmat (as in An Unexpected Journey and The Desolation Of Smaug in one sitting)
18:59 lizmat later&
18:59 FROGGS lizmat: btw, all that I wrote and explained already works in my implementation
18:59 FROGGS have fun!
19:02 TimToady and the gist of a units type should probably read 42km rather than Kilometers.new(42)
19:03 * TimToady is tempted to start talking about Kibometers...
19:04 FROGGS would that work then? :m( 42km )
19:04 TimToady that's just a pair
19:05 TimToady Meters(42km) should work
19:05 FROGGS I am thinking about the :16("1234")
19:05 TimToady that only works cause :16 in an invalid pair
19:05 FROGGS k
19:06 TimToady *is
19:07 TimToady presumably 42km\m should work too
19:07 TimToady or (42km)m
19:07 Rotwang joined #perl6
19:08 * TimToady imagines someone writing 42kmi and wonders what it does
19:09 TimToady do imaginary km make sense?
19:09 FROGGS that is like 42km\s but just in minutes :o)
19:09 FROGGS maybe for ppl who go to the gym to eat snickers
19:09 geekosaur if you've rotated your coordinate system maybe :p
19:09 TimToady that would be a dimensional error
19:09 TimToady you can't convert km to s
19:10 jeffreykegler A few thoughts about Unicode, NFG, etc., which I asked about the other day ...
19:10 FROGGS well, you'd have to know the radius of the earth at that point :o)
19:11 jeffreykegler In adding things like ligatures, NFKC, NFKD, NFG, Unicode has crossed the line from representing text to trying to represent typography.
19:11 jeffreykegler IMHO, this is not a good idea.
19:11 TimToady alas, yes
19:12 TimToady but humans are notoriously unreliable on the subject of consistency :)
19:12 jeffreykegler The result is to turn an excellent system for representing text into a clumsy partial encoding for some unspecified typesetting system
19:13 TimToady one could view ligatures as hints, but not much more
19:13 jeffreykegler I'm not at all convinced hints of this sort belong in Unicode
19:14 TimToady well, can't easily take it out now, I suspect
19:14 TimToady there are lots of other fuzzy boundaries as well
19:14 jeffreykegler True, but I think in my own work I will try to ignore it as much as possible
19:14 TimToady why do the dominoes only go up to sixxies? :)
19:14 V_S_C Fundamental Units are inconvertible into each other. http://en.wikipedia.org/wiki/SI_base_unit
19:15 TimToady V_S_C: yes, that's what I mean when I say 'dimensional analysis'
19:15 jeffreykegler Re fuzziness, inconsistency: I think design in our field consists perhaps of separating sets of inconsistencies into smaller more containable ones.
19:15 TimToady or in some circles, 'dimensionalysis'
19:16 * V_S_C agrees
19:16 jeffreykegler [ As context, I'd asked about Perl 6 & Unicode the other day, thinking to borrow the Perl 6 approach. ]
19:16 TimToady jeffreykegler: "Doctor, will it hurt when I do this?"  "If it does, stop."  :)
19:17 TimToady jeffreykegler: we were still designing it last night
19:17 TimToady currently we have a form to match a grapheme as if it were expanded to NFD :)
19:18 TimToady <D/ :!Mark :Mark* /> or so
19:19 TimToady similar ideas could hold for <KD/ f f l /> and such
19:20 jeffreykegler Perhaps I am being draconian but ...
19:20 TimToady you'd just like to say "Invalide grapheme" for a ligature :)
19:20 jeffreykegler I'd be tempted to say that (for my own work) that "ffl" is "ffl" is "ffl" ...
19:20 gdey joined #perl6
19:21 jeffreykegler and if you want to write an encoding for a typesetter, it is up to you to figure out how to do that consistently.
19:22 jeffreykegler I have in mind in particular the burden the more complex systems impose on every software module that does things with strings.
19:22 TimToady sure, /ffl/ simply won't match /ffl/ by default
19:23 * TimToady is all for sane defaults
19:23 jeffreykegler To be clear, I'm not suggesting what Perl 6 should do ...
19:23 jeffreykegler Just reporting my own conclusions in the matter.
19:24 TimToady I don't think Unicode requires us to treat 3 base chars like ffl as a grapheme in any default way
19:25 TimToady and if they do, I'm quite capable of ignoring the Unicode Consortium
19:25 V_S_C_ joined #perl6
19:25 jeffreykegler I'm thinking in terms of the what happens if I take inside a module (a parser, for example) ...
19:25 jeffreykegler Two string that the environment thinks are in different encodings ...
19:26 jeffreykegler and which that environment expects me to do "the right thing" in comparing, etc.
19:26 jeffreykegler That has turned into quite the problem.
19:26 TimToady well, we view everything through the lens of NFG by default, and will probably refuse to implement a complete crossbar solution
19:27 jeffreykegler "crossbar solution"?
19:27 TimToady you can connect any X with any Y
19:27 TimToady NFG is more of a star topology
19:27 V_S_C_ Imaginary km as in vector space http://en.wikipedia.org/wiki/Vector_space#Th​e_complex_numbers_and_other_field_extensions Maybe some GPS/maps algoritms use it
19:28 jeffreykegler So you'd enforce NFG at the portals, and the innards could assume NFG?
19:28 TimToady and we don't promise round-tripping of encodings
19:28 TimToady that's the default
19:28 TimToady if someone wants to implement a portion of the crossbar, they're welcome to, but it's not default in Perl 6
19:29 tgt joined #perl6
19:29 jeffreykegler I see how the choice is tough
19:29 TimToady if someone wants to implement abstract patterns on top of UTF-8 memory rep, they can, but that's not promised
19:29 TimToady well, we simply don't have enough manpower to attempt the insane thing :)
19:30 TimToady Perl 5 is about as far as you can drive the insanity of pretending strings are fixed width on top of a variable-width encoding like UTF-8
19:31 jeffreykegler Even the more limited approach does seem (unless I'm missing) quite a burden on the module writer
19:31 TimToady well, depends on how much they want to cheat on the NFG approach
19:31 TimToady mostly they just need to mark the filehandles
19:32 jeffreykegler What of modules that don't see filehandles, just strings?
19:32 TimToady if they're in pure P6, they're just NFG strings through and through
19:33 TimToady if you're pasing back and forth to Java-land, you have to deal with their insanities, of course
19:33 jeffreykegler How about the case of a C library which hopes to be used by Perl 6 ...
19:33 TimToady hopefully that can mostly be dealt with at the declarative boundaries, as with filehandes
19:33 jeffreykegler but which cannot take advantage of it's library of Unicode routines.
19:34 TimToady we will certainly have some C macros/routines for dealing with NFG, since Moar needs 'em too
19:34 jeffreykegler But a library hoping to be portable could not take advantage of the Perl 6 NFG routines
19:34 TimToady or, we convert to NFC/NFD to pass to such a module
19:35 TimToady for most strings, NFG *is* NFC
19:35 jeffreykegler So the module could say, "Hey guy, I'm NFC only, sorry"
19:35 TimToady and we can track whether a given string uses NFG extensions inside, to avoid useless conversoin
19:35 TimToady sure, we like declarative semantics these days
19:36 TimToady and we like knowing the exact run-time type of our strings
19:36 TimToady we like knowing when something is NFC or NFD, or when it's just a "Uni" of codepoints that could be a mixture
19:36 jeffreykegler I've already been burned by utf8 and it's decision to allow the full range of 32/64 bit integers to be encoded.
19:36 TimToady we like knowing when a buffer contains UTF-8 already
19:37 jeffreykegler (That's in Perl 5.)
19:37 jeffreykegler IMHO allowing the invalid characters was not a good idea, but I now have the choice of support it forever or break compatibility.
19:37 TimToady well, P5 allows it, but obviously you have to enforce Unicode standards here and there when you do "private use" stuff
19:38 araujo joined #perl6
19:38 jeffreykegler This is helpful, because I tempted (in Marpa) to go straight NFC.
19:38 TimToady any given realm is allowed to be picky about that, but I still feel that it's appropriate to be able to think Bad Thoughts in a programming language
19:38 dalek rakudo-star-daily: 8d07c9b | coke++ | log/ (5 files):
19:38 dalek rakudo-star-daily: today (automated commit)
19:38 dalek rakudo-star-daily: review: https://github.com/coke/rakudo​-star-daily/commit/8d07c9b79d
19:39 TimToady sometimes Newspeak is too restrictive to talk about the universe
19:39 jeffreykegler NFC seems to stick most closely to text representation, and to do the most to avoid trying to make Unicode a poor man's typesetting language
19:40 TimToady yes, which is why NFG is just an augmented NFC
19:40 TimToady what NFC *would* be if the user's ad hoc needs could always be baked in to the standard :)
19:41 TimToady and when there are no ad hoc needs, it really is just NFC
19:41 TimToady which is, at least in English, most of the time
19:41 jeffreykegler Ok, so a strictly NFC and NFG-unaware module would be Perl 6 compatibile ...
19:41 TimToady and indeed in most languages where most of the graphemes have precomposed forms
19:42 jeffreykegler even if some users found it restrictive.
19:42 TimToady it would have to do minimal conversion most of the time
19:42 TimToady and the module could be oblivious to that, yes
19:43 jeffreykegler I think Unicode got led down the typography road by Devanagari and such things, which are hard cases.
19:43 diakopter Peak of the News to you too
19:43 * [Coke] is freed up from $dayjob hell for a while. yay
19:43 * diakopter too
19:44 * TimToady climbs the Peak because it's there
19:45 * TimToady designs Perl 6 because it's not there :)
19:47 gdey joined #perl6
19:47 FROGGS hehe
19:51 [Coke] "Larry Wall claims Perl 6 just isn't there."
19:51 TimToady just barely :)
19:52 alester joined #perl6
19:53 ajr joined #perl6
19:58 lue hello world o/
20:00 timotimo i got my new laptop \o/
20:03 lue timotimo: \o/
20:04 FROGGS \o/
20:05 lue TimToady: for what it's worth, <D/ f f i /> won't match against ffi, that would be <KD/ f f i /> :)
20:09 TimToady didn't I say that?
20:10 lue TimToady: I think I conflated it the KD on the line with <D/ :!Mark :Mark* /> on the line prevous *facepalm*
20:10 TimToady aproximately 51 minutes ago
20:11 moritz .oO( But Mark the Rustic, Haggis-fed, the tremling earth resounds his thread )
20:12 timotimo FullHD on 14" is *amazing*
20:12 Alina-malina joined #perl6
20:12 * TimToady imagines the personality of Mark Twain Anthony Spitz
20:12 timotimo what did i miss so far today?
20:12 TimToady we changed everything, except for the parts we didn't
20:12 timotimo ah, cool
20:12 timotimo for loops are sunk again, right?
20:12 timotimo is that in rakudo already?
20:13 moritz not yet
20:13 moritz extra bonus points for whoever implements that
20:13 timotimo will it give us an awesome performance boost just like that or is there some extra work in the optimizer or something to be done?
20:13 TimToady if it saves storing a bunch of values, only to throw them away, could be big
20:14 timotimo \o/
20:14 moritz it just involves mucking with list iteration
20:14 * moritz whistles innocently
20:14 timotimo i'll continue setting up my laptop for now
20:15 moritz no, not true; I think :sink is already there
20:16 Alina-malina joined #perl6
20:19 FROGGS is that correct that all loops can produce values?
20:19 FROGGS so I could say: my @a = while ... ?
20:20 moritz probably my @a = do while ....
20:20 moritz because while is a statement, not an EXPR
20:20 FROGGS k
20:20 moritz but in principle, yes
20:22 * lue would be very surprised to find a C/C++ module that could handle NFG strings
20:24 Alina-malina joined #perl6
20:24 TimToady diakopter++ has one stashed away somewhere...
20:24 gdey joined #perl6
20:25 moritz and promised me to push it at YAPC::EU :-)
20:27 TimToady but did he say which year? :D
20:29 diakopter hey wut
20:31 moritz sorry if that was ambiguous; the promise was made at YAPC::EU
20:31 moritz diakopter didn't promise to push it during YAPC
20:32 TimToady my question still stands though :)
20:35 diakopter well.
20:35 diakopter I'm not sure I need *that* particular defense
20:35 TimToady :D
20:36 * FROGGS draws signs now saying: We want NFG! We want NFG!
20:40 * [Coke] volunteers to give a perl6 talk at an albany.pm meeting, since someone else is pushing to get a meeting with presentations.
20:40 [Coke] jnthn: would you mind if I used one of your sixpresentations in such a sitch?
20:41 * [Coke] wonders about perl 6 / objective C interop.
20:44 timotimo how do other languages offer that?
20:44 timotimo if at all?
20:44 * FROGGS guesses that this would be interesting for iUsers
20:45 arnsholt I'm not familiar with how Objective C represents things under the hood, but I suspect it'd be at least partially compiler-specific
20:46 [Coke] I wonder if we'd have to emit obj-c as the last step.
20:46 [Coke] but wouldn't it be nice to write an iphone app in perl 6? ;)
20:46 TimToady .oO(How did we let Apple get away with using up an entire letter of the alphabet like that?)
20:46 [Coke] iDunno.
20:46 timotimo ... i was about to make that joke :(
20:46 timotimo er
20:47 timotimo iWasAboutToMakeThatJoke
20:47 [Coke] iToofast!
20:47 moritz i...
20:47 * [Coke] -> less stressful dayjob.
20:49 * TimToady -> less stressful nap.
20:50 timotimo guess what google voice search on android phones answers if you ask "who's on first?"
20:51 hummeleB1 joined #perl6
20:52 Mouq joined #perl6
20:52 * FROGGS already reads the wikipedia article :o)
21:02 diakopter iDakopter
21:04 gdey_ joined #perl6
21:10 Rotwang hi
21:11 FROGGS hi Rotwang
21:14 tadzik hey
21:16 timotimo my new laptop's hostname is schmetterling
21:16 FROGGS timotimo: all caps?
21:16 timotimo nah, hostnames are case-insensitive
21:17 timotimo and don't allow !
21:17 FROGGS :/
21:17 FROGGS timotimo++ # anyway :o)
21:27 masak hehe, I backlogged and noticed that frettled had been badgering me a lot :P
21:27 * masak finally finished his slide prep for tomorrow
21:29 jnap joined #perl6
21:32 timotimo \o/
21:32 stevan_ joined #perl6
21:32 masak so, I got this comment on my post: http://perl6advent.wordpress.com/2013/12/​09/day-09-hashes-and-pairs/#comment-3406
21:32 masak I wrote a reply, which I checked with jnthn and another colleague to make sure it wasn't too mean.
21:33 masak mostly I've feel I've handled this topic already, in http://strangelyconsistent.org/blog/perl-​6-the-frankensteins-monster-of-operators
21:37 masak hm, actually I was thinking of http://strangelyconsistent​.org/blog/idiomatic-perl-6
21:37 lue masak: I like that "an infinity of methods in ten lines of code" :)
21:39 Rotwang so If I'm writing module that uses NativeCall and I want to distribute c source code with it, where should panda put .so file?
21:39 Rotwang @*INC »~» /SomeModule/blib/mysofile.so is a good place to put it?
21:40 arnsholt Your guess is as good as ours, I think
21:41 arnsholt AFAIK noone's written a module like that yet
21:42 Rotwang ok thenk
21:42 Rotwang then*
21:43 masak lue: yeah, it's not every day you create ∞ methods in 10 lines ;)
21:43 masak 'night, #perl6
21:44 FROGGS gnight masak
21:47 colomon masak++
21:54 lue r: loop(my $i = 0; $i < 3; $i++) { say $_ }; loop(my $i = 0; $i < 2; $i++) { say $_ }
21:54 camelia rakudo-parrot 0bf3de: OUTPUT«[31m===[0mSORRY![31m===[0m�Word 'loop' interpreted as 'loop()' function call; please use whitespace around the parens�at /tmp/nMXCyqxr3i:1�------> [32mloop[33m�[31m(my $i = 0; $i < 3; $i++) { say $_ }; lo[0m�Unexpected block in infix po…»
21:54 camelia ..rakudo-jvm 0bf3de: OUTPUT«[31m===[0mSORRY![31m===[0m�Word 'loop' interpreted as 'loop()' function call; please use whitespace around the parens�at /tmp/Gp7GeT7OAk:1�------> [32mloop[33m�[31m(my $i = 0; $i < 3; $i++) { say $_ }; lo[0m�Unexpected block in infix posit…»
21:54 lue r: loop (my $i = 0; $i < 3; $i++) { say $_ }; loop (my $i = 0; $i < 2; $i++) { say $_ }
21:54 camelia rakudo-parrot 0bf3de: OUTPUT«Potential difficulties:â�¤    Redeclaration of symbol $iâ�¤    at /tmp/sQ4PIfJYv7:1â�¤    ------> [32m; $i < 3; $i++) { say $_ }; loop (my $i [33mâ��[31m= 0; $i < 2; $i++) { say $_ }[0mâ�¤Nilâ�¤Nilâ�¤Nilâ�¤Nilâ�¤Nilâ�¤Â»
21:54 camelia ..rakudo-jvm 0bf3de: OUTPUT«Potential difficulties:â�¤    Redeclaration of symbol $iâ�¤    at /tmp/gr1ZwJilLZ:1â�¤    ------> [32m; $i < 3; $i++) { say $_ }; loop (my $i [33mâ��[31m= 0; $i < 2; $i++) { say $_ }[0mâ�¤Nilâ�¤Nilâ�¤Nilâ�¤Nilâ�¤Nilâ�¤Â»
21:55 lue I'm not sure that "Redeclaration of symbol $i" is correct. Unless in-loop declarations go to the surrounding scope instead of the loop's own...?
21:55 FROGGS well, they are not inside a block
21:56 FROGGS std: for my $x { }; for my $x { };
21:56 camelia std 3b262af: OUTPUT«Potential difficulties:â�¤  Useless redeclaration of variable $x (see line 1) at /tmp/QcNAwIUAm0 line 1:â�¤------> [32mfor my $x { }; for my $x[33mâ��[31m { };[0mâ�¤ok 00:01 124mâ�¤Â»
21:56 lue r: loop (my $i = 0; $i < 3; $i++) { say $_ }; say $i;
21:56 camelia rakudo-parrot 0bf3de, rakudo-jvm 0bf3de: OUTPUT«Nil␤Nil␤Nil␤3␤»
21:57 lue r: loop (my $i = 0; $i < 3; $i++) { say $i }; say $i;
21:57 camelia rakudo-parrot 0bf3de, rakudo-jvm 0bf3de: OUTPUT«0␤1␤2␤3␤»
21:58 * lue isn't sure how he feels about that.
21:58 FROGGS the parens do not introduce a new scope... (and they do nothing at all there)
21:58 FROGGS r: loop my $i = 0; $i < 3; $i++ { say $i }; say $i;
21:58 camelia rakudo-parrot 0bf3de: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/UwzhqQvdKOâ�¤Missing blockâ�¤at /tmp/UwzhqQvdKO:1â�¤------> [32mloop [33mâ��[31mmy $i = 0; $i < 3; $i++ { say $i }; say [0mâ�¤    expecting any of:â�¤        statement listâ�¤        scoped bl…»
21:58 camelia ..rakudo-jvm 0bf3de: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/1RLPN7UFwiâ�¤Missing blockâ�¤at /tmp/1RLPN7UFwi:1â�¤------> [32mloop [33mâ��[31mmy $i = 0; $i < 3; $i++ { say $i }; say [0mâ�¤    expecting any of:â�¤        statement listâ�¤        scoped blockâ�¤Â»
21:58 FROGGS ohh
21:59 FROGGS sure, C-style...
22:00 dprelec joined #perl6
22:00 lue I realize doing some inner-scoping stuff with the () part is weird, but C is kinda weird to P6 anyway :)
22:02 * lue is essentially doing a bunch of C-ish stuff, so using "loop" is the best choice.
22:02 ssutch joined #perl6
22:03 PacoAir joined #perl6
22:04 rurban1 joined #perl6
22:07 dprelec1 joined #perl6
22:07 beastd joined #perl6
22:14 dprelec2 joined #perl6
22:20 dprelec joined #perl6
22:26 BenGoldberg joined #perl6
22:30 Entonian joined #perl6
22:32 tgt joined #perl6
22:36 ajr_ Um, FROGGS, are you aware that "NFG" can be interpreted to imply an extreme lack of merit?
22:37 geekosaur it can also be interpreted as a vote of no confidence in Unicode :p
22:40 rurban1 joined #perl6
22:41 diakopter ajr_: which interpretation is that
22:42 ajr_ UK slang.
22:42 Rotwang what does :: do, as in:   ::('Build').isa(Panda::Builder)
22:42 Rotwang ?
22:43 Rotwang is it similar to c++ default namespace?
22:45 SevenWolf joined #perl6
22:47 dalek v5: 113ec82 | (Tobias Leich)++ | lib/Perl5/Config.pm:
22:47 dalek v5: fix typo
22:47 dalek v5: review: https://github.com/rakudo-p5/v5/commit/113ec82c4e
22:47 dalek v5: 630afd1 | (Tobias Leich)++ | lib/Perl5/Actions.nqp:
22:47 dalek v5: fix {}-hash guessing and do the []-method2sub transition
22:47 dalek v5: review: https://github.com/rakudo-p5/v5/commit/630afd15cf
22:47 dalek v5: 2181b48 | (Tobias Leich)++ | lib/Perl5/Grammar.nqp:
22:47 dalek v5: keep up to sigspace changes and pull in jnthn++s ws tweaks
22:47 dalek v5: review: https://github.com/rakudo-p5/v5/commit/2181b48c20
22:47 dalek v5: 558b1ef | (Tobias Leich)++ | lib/Perl5/Terms.pm:
22:47 dalek v5: add infix:P5=>
22:47 dalek v5: review: https://github.com/rakudo-p5/v5/commit/558b1ef4e9
22:47 dalek v5: 36f7bb7 | (Tobias Leich)++ | STATUS.md:
22:48 dalek v5: update status
22:48 dalek v5: review: https://github.com/rakudo-p5/v5/commit/36f7bb7a40
22:48 FROGGS ajr_: NFG is not my invention :o)
22:48 gdey joined #perl6
22:48 raydiak Rotwang: it interpolates a string into a package name
22:50 Rotwang so why is 'Build' in parentheses
22:51 FROGGS that is the syntax for indirect lookup
22:52 FROGGS p: say ::<Int>
22:52 camelia rakudo-parrot 0bf3de: OUTPUT«(Int)␤»
22:53 raydiak r: say (CORE === ::('CORE'))
22:53 camelia rakudo-parrot 0bf3de, rakudo-jvm 0bf3de: OUTPUT«True␤»
22:53 Rotwang I see
22:53 FROGGS p: say ::<ENOTHING>
22:53 camelia rakudo-parrot 0bf3de: OUTPUT«(Any)␤»
22:53 araujo joined #perl6
22:54 Rotwang thanks
22:57 dalek v5: 0ec09ba | (Tobias Leich)++ | t/test_summary:
22:57 dalek v5: use nqp-p/perl6-p for version info too
22:57 dalek v5: review: https://github.com/rakudo-p5/v5/commit/0ec09ba8f2
22:57 FROGGS feels good that v5 is healthy again...
22:57 FROGGS gnight!
22:57 jnap left #perl6
23:17 betterworld joined #perl6
23:24 Mouq joined #perl6
23:39 colomon joined #perl6
23:48 rurban1 joined #perl6
23:53 TimToady NFG is not just UK slang, and it was well known to the person who coined NFG at the time.  :D
23:54 TimToady it was, in fact, a pun from birth, much like STD.
23:57 * TimToady takes great delight, as a linguist, in cleaning up words and acronyms that have become shabby.
23:58 TimToady see also ss///

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

Perl 6 | Reference Documentation | Rakudo | Niecza | Specs