»ö« Welcome to Perl 6! | perl6.org/ | evalbot usage: 'perl6: say 3;' or rakudo:, niecza:, std:, or /msg camelia perl6: ... | irclog: irc.perl6.org | UTF-8 is our friend! Set by sorear on 25 June 2013. |
|||
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/ | ||
eternaleye | I also want to note that all of that stuff looks REALLY shiny. | 00:11 | |
timotimo | all the parallelism stuff? | 00:12 | |
00:17
eternaleye left
|
|||
timotimo | there's an nqpmu coming out of nowhere :( | 00:17 | |
lue | r: class Foo { has $.Bar }; my $a = Foo.new; $a.Bar := 42; say $a.Bar | 00:20 | |
camelia | rakudo-parrot 0bf3de: OUTPUT«===SORRY!=== Error while compiling /tmp/S253BWHHBgCannot use bind operator with this left-hand sideat /tmp/S253BWHHBg:1------> s $.Bar }; my $a = Foo.new; $a.Bar := 42⏏; say $a.Bar expecting any of:…» | ||
..rakudo-jvm 0bf3de: OUTPUT«===SORRY!=== Error while compiling /tmp/EGIlMDykcfCannot use bind operator with this left-hand sideat /tmp/EGIlMDykcf:1------> s $.Bar }; my $a = Foo.new; $a.Bar := 42⏏; say $a.Bar expecting any of: …» | |||
lue | :( | ||
timotimo | that seems dangerous | ||
lue | (I can guess why it's not working too.) | 00:21 | |
timotimo: It's kinda critical for DLX though. | |||
timotimo | what's DLX? | ||
lue | Dancing Links used to implement Algorithm X: en.wikipedia.org/wiki/Dancing_Links | 00:22 | |
timotimo | well, try making a .bind_bar method | 00:23 | |
internally you should be able to bind | |||
probably just not when it's returned by an is rw sub | |||
00:24
raiph joined
|
|||
lue | oh yeah, I keep forgetting that parameters aren't copies by default :) | 00:24 | |
timotimo: my guess is that binding through a function is what's the problem, not classes. | 00:25 | ||
(i.e. if Foo.Bar accessed the attribute directly it would work) | |||
timotimo | i don't think i follow | 00:26 | |
the default implementation of Foo.Bar you get is just method Bar() is rw { $!Bar } | |||
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:29 | |
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» | ||
timotimo | yeah, that works | ||
lue | meh, I'm not a fan of := being broken like that. At least I have a solution. timotimo++ :) . | ||
timotimo | hmm, broken? maybe | 00:31 | |
lue | I mean "broken" in the sense of "= works, why not :=" at least. | 00:32 | |
00:32
beastd left
|
|||
lue | Hmm... | 00:33 | |
timotimo | ah. i got a NQPMu problem because i called it "chain_past" in one place and "chain_post" in another >_< | 00:34 | |
that's the new i and j | |||
lue | I don't suppose I could define a multi sub infix:<:=> that triggers on certain methods of a class, could I? :) | 00:35 | |
00:36
xinming joined
|
|||
timotimo | i think you could | 00:36 | |
it doesn't sound like a good idea, though | |||
consider using a hash instead of a class there | |||
there you can bind fo' sho' | |||
lue | Array of Hashes :) . Fair enough, considering my classes look like C structs :P | 00:37 | |
00:37
ponbiki joined
|
|||
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 | |
00:38
Ben_Goldberg joined,
BenGoldberg left
00:39
Util_ joined
00:42
noxgirl joined
00:45
Util left
00:46
autumn left,
ingy left,
aindilis` joined
|
|||
lue | r: my @a; @a.push(Hash.new()); say @a.perl; say +@a; | 00:46 | |
00:46
aindilis left
|
|||
camelia | rakudo-parrot 0bf3de, rakudo-jvm 0bf3de: OUTPUT«Array.new()0» | 00:46 | |
lue | Wha...? | ||
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» | ||
timotimo | nope. | ||
00:47
xinming left,
dayangkun joined
|
|||
lue | timotimo: am I crazy...? (There's still no element if I push a new Hash with stuff in the .new()) | 00:48 | |
00:48
xinming joined
|
|||
timotimo | i'm confuse | 00:48 | |
lue | r: my @a; @a.push(Hash); say @a.perl; say +@a; | ||
camelia | rakudo-parrot 0bf3de, rakudo-jvm 0bf3de: OUTPUT«Array.new(Hash)1» | ||
lue | *sobs* | 00:49 | |
timotimo | oh | ||
push will listify the argument perhaps? | |||
lue | r: my @a; @a.push(Hash.new(A => "B")); say @a.perl; say +@a; | ||
camelia | rakudo-parrot 0bf3de, rakudo-jvm 0bf3de: OUTPUT«Array.new()0» | ||
timotimo | my internet connection is acting up, sorry | ||
try Hash.new(...).item | |||
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» | ||
lue | timotimo: at least I automagically create a hash when doing @a[0]<key> . Which'll be the workaround I guess. | ||
( instead of doing @a.push(Hash.new(key => stuff)) ) | 00:51 | ||
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…» | ||
..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…» | |||
lue | r: my @a; @a[0] = Hash.new(A => "B"); say @a.perl; say +@a; | ||
camelia | rakudo-parrot 0bf3de, rakudo-jvm 0bf3de: OUTPUT«Array.new({})1» | ||
00:54
dayangkun left,
ingy joined
00:57
tadzik left
|
|||
lue & | 00:58 | ||
diakopter | tadzik: so train | 01:06 | |
01:06
stevan_ joined
01:08
stevan_ left
01:23
cognominal left
01:28
cognominal joined
|
|||
timotimo | hmm | 01:33 | |
01:34
xinming left
01:47
xinming joined
01:48
preflex_ joined,
ChanServ sets mode: +v preflex_
01:49
preflex left,
preflex_ is now known as preflex
02:00
thou left
02:14
araujo left,
eternaleye joined
02:16
szbalint_ left,
szbalint joined
02:29
araujo joined
02:37
aindilis` left
02:39
aindilis` joined
02:44
tadzik joined
02:47
rurban1 joined
03:03
FROGGS[mobile] left
03:05
jnap left
03:20
sunnavy joined
03:29
kaleem joined
03:43
kaleem left
|
|||
Mouq | r: Hash.new(A => "B").gist.say | 03:48 | |
camelia | rakudo-parrot 0bf3de, rakudo-jvm 0bf3de: OUTPUT«().hash» | ||
Mouq | r: Hash.new((A => "B")).gist.say | 03:49 | |
camelia | rakudo-parrot 0bf3de, rakudo-jvm 0bf3de: OUTPUT«("A" => "B").hash» | ||
colomon | Mouq: you're sending a named argument to .new in the first. | ||
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» | ||
Mouq | I know, I'm debugging what lue wrote a few hours ago :p | ||
lue | what. | 03:51 | |
Mouq | r: my @a; @a.push(Hash.new(Hash.new((A => "B")))); say @a.perl; say +@a; | ||
camelia | rakudo-parrot 0bf3de, rakudo-jvm 0bf3de: OUTPUT«Array.new("A" => "B")1» | ||
colomon | Mouq: grooby | ||
er, groovy | |||
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 | ||
lue | r: Hash.new("A", "B").perl.say | 03:54 | |
camelia | rakudo-parrot 0bf3de, rakudo-jvm 0bf3de: OUTPUT«("A" => "B").hash» | ||
Mouq | »my class Hash { … method new(*@args) {« a sig of "(*@args)" ignores named params | 03:55 | |
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 :/ | ||
camelia | rakudo-parrot 0bf3de, rakudo-jvm 0bf3de: OUTPUT«, B» | ||
..niecza v24-108-g17d73e4: OUTPUT«(timeout)[auto-compiling setting]» | |||
lue | (for the theoretical Hash.new(<pairs as positional>, :carefully) future that is) | ||
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. | ||
Mouq | r: Hash.new(my%=:A<B>).gist.say | 03:58 | |
camelia | rakudo-parrot 0bf3de, rakudo-jvm 0bf3de: OUTPUT«("A" => "B").hash» | ||
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. | ||
s/prototype/signature/ | 03:59 | ||
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:05 | |
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:13
ssutch left
04:17
preflex_ joined
04:18
ChanServ sets mode: +v preflex_
04:20
preflex left,
preflex_ is now known as preflex
|
|||
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 | |
s/majority/plurality/ to be accurater. | |||
04:21
dwarring joined
|
|||
dwarring | I've put up my poker hand analyser on rossettacode - rosettacode.org/wiki/Poker_hand_analyser | 04:25 | |
slightly evolved from the one I gisted here a couple of days ago | |||
also created a new draft task | 04:26 | ||
timotimo | extra credit if you use the unicode symbols for the cards themselves | ||
dwarring | so its the only entry there at the moment | ||
timotimo | i think there's one for each combination of 2 through A and the four suits | ||
TimToady | should allow uppercase | ||
dwarring | there if anyone want to critique/improve etc | 04:27 | |
04:27
xinming_ joined
|
|||
TimToady | s:g/were/where/ | 04:28 | |
04:28
xinming left
|
|||
dwarring | timotimo: missed that one - hope it's sufficiently different | 04:28 | |
timotimo | en.wikipedia.org/wiki/Playing_cards_in_Unicode :) | ||
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 >_< | ||
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 | ||
timotimo | don't you need to lc the face in there, too? | ||
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 | :( | ||
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,
xinming_ left
|
|||
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 :) | ||
timotimo | er, oops | ||
which one did i paste? >_< | 04:33 | ||
04:33
xinming joined
|
|||
lue | The Knight face card | 04:33 | |
Knight of Diamonds, precisely | |||
TimToady | dwarring: oh, it helps if us read the log if you put a remark at the bottom when you edit | ||
timotimo | ... that doesn't exist in a standard deck? | ||
TimToady | no | ||
04:33
labster left
|
|||
dwarring | righty | 04:33 | |
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? | ||
right, it's usually the King, right? | |||
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 | |
timotimo: the Knight card is usually represented with kNight or Chevalier because of King, from what I've read. | |||
timotimo | right | ||
lue | what doesn't help the search for a 56 card deck is that it conveniently refers to 52 card standard + 4 jokers :/ | 04:36 | |
Sorry, it's actually Cavalier. I think I was saying "hair-er" instead :P | 04:38 | ||
timotimo | :D | 04:39 | |
lue | nvm, fr.wikipedia says both are right m) | ||
04:39
xinming left
04:40
xinming joined
04:41
labster joined
|
|||
TimToady | English speakers will take a cavalier attitude to pronouncing it either way. | 04:42 | |
lue | I'm probably going to end up printing out a deck of cards myself someday, because I want those knight cards! :) | 04:43 | |
lue isn't quite sure why he thinks searching for a 56 card deck would fair better if done in French... | 04:50 | ||
dwarring have added extra credit for unicode timotimo++ | 04:52 | ||
04:53
colomon left
|
|||
TimToady | but then it's hardly a parsing problem... | 04:59 | |
timotimo | hehe | ||
we need to have a level in the parsing where we match the full unicode names | |||
TimToady | this whole business of wrapping it in a grammar seems rather because-I-can-ish | ||
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:00
xinming left
|
|||
lue | timotimo: <:Name<LATIN CAPITAL LETTER A>> should cover it | 05:01 | |
timotimo | agreed, i didn't really like that part :\ | ||
lue: okay, now how do we do <:Name<LATIN CAPITAL LETTER $<lettername>=.>>? :) | |||
lue | <:name(/:sLATIN CAPITAL LETTER $<lettername>=./)> perhaps? /me checks S05 | 05:02 | |
timotimo | are you even serious? o_O | ||
05:02
markov left
|
|||
timotimo | TimToady: ^^ ?? | 05:02 | |
lue | ah-ha! From S05: | 05:03 | |
As a particular case of smartmatching, TR18 section 2.6 is satisfied with a pattern as the argument: | |||
<:name(/^LATIN LETTER.*P$/)> | |||
timotimo | my god that is effing amazing | ||
lue | to match both 'P' and 'p' in that case, methinks | ||
timotimo: it's kinda critical if you want to, say, get any one Jamo character. | 05:04 | ||
As the quote I pulled suggests, we have to provide that anyway to be more awesome in Unicode's eyes :) . | 05:05 | ||
...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
05:07
ssutch joined
|
|||
lue | I went the lazy way and just added a "needs fixing" line to my S15 for now :) | 05:09 | |
TimToady | most such matchers probably want to work only on the base character by default | 05:12 | |
so we need syntax for saying you want to match one of the combiners, or any part | |||
timotimo | so, would that look like :graphname(...) vs :codename(...)? | 05:13 | |
TimToady | graphemes don't have names | ||
unless you concat all the codepoint names | |||
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. | ||
timotimo | that was my initial, naive thought, yes | ||
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 | ||
and ignore the combiners | |||
(I suspect) | |||
lue | .oO(LATIN CAPITAL LETTER A - COMBINING DIAERESIS --- IIRC, hyphens can't be surrounded by space in official names) |
||
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 :) . | ||
TimToady | hypen would be a bad choice | ||
huh, what does :i have to do with it | |||
lue | sorry, :m | ||
TimToady | well, maybe that changes the default | 05:16 | |
lue | maybe instead of hyphen we could use the COMBINING GRAPHEME JOINER? :P | ||
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 | ||
timotimo | m) | ||
TimToady | where did I put Bill the Cat... | 05:17 | |
05:17
xinming joined
|
|||
TimToady | ⊙⨀ | 05:17 | |
⧁°⧀ | |||
dwarring revising advent post | |||
timotimo | TimToady: it took me a few seconds, but now: d'aaw, that's pretty cute :) | 05:18 | |
reminds me a tiny bit more of a mouse, actually, the way the nose looks | |||
lue wonders if "ignore combiners" would entail internal conversion of strings to NFD | |||
TimToady | well, you have to have all those mapped to NFD somehow | ||
but that can be a lookup by character, no need to convert the whole string | 05:19 | ||
alternately, you dup all the tables for all NFC chars, but that could get expensive quickly | |||
s/NFC/NFG/ even | 05:20 | ||
lue wonders how users of an abjad would like to handle Unicode combiners by default | |||
TimToady | users!?!? Who cares about them!?!? | ||
timotimo | we won't have those for another decade at least! | 05:21 | |
05:22
[Sno] left
|
|||
lue | "xC5xBFxCCxA3xCCx87" ~~ /(.)/ --- what do I get out of this? | 05:24 | |
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 :) . | |||
TimToady mostly ignores the K forms | |||
lue | ah yes, regex name matching. Of course :) | ||
TimToady | that is, <?nfd regex> would match the nfd expansion of the current character | 05:26 | |
except that's 0-width with ?, so maybe just <nfd regex> | 05:27 | ||
but then you capture it as $<nfd>, so maybe we want punctuation there | 05:28 | ||
lue | .oO( m/<:Name(m/<:Letter>+/)>/ ) |
||
TimToady | well, the nfd expansion of sort of a property, so maybe <:nfd regex > | ||
lue frantically looks at his keyboard for a new symbol for the X <X nfd> | |||
*the X in | 05:29 | ||
TimToady | sayin' we might be able to overload : for that | ||
as long as there's no nfd property to confuse it with | |||
lue | My PropertyAliases.txt lists no NFD property :), nor NFC, NFKD, or NFKC | 05:30 | |
(there *are* properties that match /NFC/ and such, but not /^NFC$/ and such) | 05:31 | ||
TimToady | std: / <= regex > / # isn't taken | ||
camelia | std 3b262af: OUTPUT«===SORRY!===Unrecognized regex assertion at /tmp/isNv3lMoGq line 1:------> / <⏏= regex > / # isn't taken expecting assertionParse failedFAILED 00:01 122m» | ||
TimToady | though that wouldn't look good with a foo= in front | 05:32 | |
05:32
rurban1 left
|
|||
lue | I'm almost tempted to suggest unicode chars to replace the : in <:Letter> and for the * in <*nfd> :D | 05:32 | |
TimToady: that's why I dismissed the = on my keyboard :) | |||
.oO( /<☃Letter> <☄nfd>/ is of course a choice there :P) |
05:33 | ||
TimToady: perhaps <:Letter> and <;nfd> ? | |||
there's also <_nfd> I believe | |||
TimToady | not sure I want to spell out 'nfd' all the time | 05:34 | |
could get huffmanly old | |||
lue | fwiw, I gave regexes :nf* adverbs in my provisional S15 :) | ||
TimToady | </ regex> for 'divide up the grapheme' :) | 05:35 | |
or </ regex /> for symmetry :) | 05:36 | ||
lue | :D </stuff> sounds good. Would that do NFG ?? toNFC !! keepNF | ||
$string ~~ / </sarcasm> / | |||
05:37
Ben_Goldberg left,
rurban1 joined
|
|||
lue | TimToady: are you suggeting </ for </Letter> or </nfd> or </ :Letter + alpha ...> ? | 05:38 | |
TimToady | I'm suggesting that </ ... /> converts the current grapheme to NFD and then matches on that | 05:44 | |
so if you took the ... literally there, it would only match a grapheme whose NFD was at least 3 codepoints | 05:45 | ||
if you want to name something inside, you embed a <:name...> | |||
it's just a normal regex, except against the NFD expansion | 05:46 | ||
s </ ^. /> matches (uselessly) the base character | |||
*so | |||
</ .+ <:name(/COMBINING/)> /> would match any char with a combiner whose name mentioned "COMBINING" | 05:47 | ||
presumably we'd allow <m/ /> as well | 05:48 | ||
or <m[ ]> etc | |||
lue | oh, so "a" ~~ </ /> as an alternative to "a" ~~ / / then. (Or are you thinking of a <( )> style regex construct?) | 05:50 | |
TimToady | this is an assertion inside some other regex | 05:51 | |
like <[a..z]>, only the character it's matching is treated as an exploded grapheme | |||
lue | ah, so $stuff ~~ / <rules> <and> <rules> \s+ </ hello /> / . I like that :) | 05:52 | |
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 | ||
unlike <( )> | |||
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:55 | |
r: say "foo" ~~ m( <(foo)> ) | 05:56 | ||
camelia | rakudo-parrot 0bf3de: OUTPUT«===SORRY!=== Error while compiling /tmp/FGdYvP1kJRUndeclared routine: m used at line 1» | ||
..rakudo-jvm 0bf3de: OUTPUT«===SORRY!=== Error while compiling /tmp/hF1i2paTWNUndeclared routine: m used at line 1» | |||
TimToady | std: say "foo" ~~ m( <(foo)> ) | ||
camelia | std 3b262af: OUTPUT«===SORRY!===Undeclared routine: 'm' used at line 1Check failedFAILED 00:01 124m» | ||
lue | oh, I guess you can't use () on quoting constructs then? | ||
TimToady | nope, nor # | ||
nor : really | 05:57 | ||
std: m : foo : | |||
camelia | std 3b262af: OUTPUT«===SORRY!===Colons may not be used to delimit quoting constructs at /tmp/AfYYwS4xOL line 1:------> m :⏏ foo : expecting colon pair (restricted)Parse failedFAILED 00:00 120m» | ||
lue | r: say q♯ahem♯ | ||
camelia | rakudo-parrot 0bf3de, rakudo-jvm 0bf3de: OUTPUT«ahem» | ||
TimToady | nope, we simply disallow : | ||
std: say "foo" ~~ m ( <(foo)> ) | |||
camelia | std 3b262af: OUTPUT«===SORRY!===Bogus term at /tmp/fneXPZhgCG line 1:------> say "foo" ~~ m ( <(foo)> ⏏)Parse failedFAILED 00:01 125m» | ||
lue | there's an option for those who insist on doing q# # in P6 :) | 05:58 | |
TimToady | there are many octothorps in Unicode | ||
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:01 | |
.oO( / / and m/ / and m⟅ ⟆ --> </ /> and <m/ /> and <m⟅ ⟆> ) |
06:02 | ||
TimToady | that's what I was thinking | 06:03 | |
though arguably it should be spelled <d/ /> | 06:04 | ||
(for "decompose") | |||
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 :) | ||
TimToady | since NFD is usually capitalized | ||
lue | <💣/ /> (though my fonts aren't cool enough to have this character yet.) | 06:06 | |
TimToady | well, decompose should be 💩 or some such | 06:07 | |
std: m⌗ ... ⌗ | 06:08 | ||
camelia | std 3b262af: OUTPUT«ok 00:01 122m» | ||
lue | .oO(or even <✺/ />, for a Unicode character I can see) |
06:09 | |
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 | ||
(or rather, <G/ />, <D/ />, etc.) | |||
TimToady | std: m井 ... 井 # probably won't work | 06:11 | |
camelia | std 3b262af: OUTPUT«===SORRY!===Undeclared routines: 'm井' used at line 1 '井' used at line 1Check failedFAILED 00:01 121m» | ||
06:11
wbill joined
06:12
Mouq left
|
|||
lue | .oO( <:Mark> would be better than <:Name(/COMBINING/)> to find combiners I believe? ) |
06:12 | |
TimToady | sure | ||
I dunno, the adverbs and <D[]> don't entirely overlap in functionality | 06:13 | ||
06:13
rurban1 left
|
|||
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 | ||
TimToady: oh! that's not how I was considering <D/ /> at all. I'll make the appropriate mental adjustments :) . | 06:14 | ||
TimToady | yes, it's very like <[]> that way, it's just the class of characters whose NFD matches a regex :) | 06:15 | |
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 :) | ||
lue takes that as an implicit endorsement of the other <*/ /> forms I listed | |||
er, s/I/he/ # must maintain POV | 06:17 | ||
TimToady | more than one wishes to assume generality is preferred over specificity whenever practical | ||
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:19 | |
TimToady | well, .* <:Foo> .* is fine for "any" semantics | 06:20 | |
you already know the first . is the base codepoint and the subsequent .* is marks | |||
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") | ||
TimToady | with the possible exception of weird graphemes like CRLF | ||
lue | (or is .* <:Foo> .* what goes in <D/ /> ?) | ||
TimToady | I mean "any grapheme containing this mark anywhere" | 06:22 | |
yes, inside | |||
lue | ah, alright. | ||
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 :) | ||
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 | ||
lue | some IPA graphemes might give you trouble if you don't ^ though :D | 06:24 | |
moritz | good morning | 06:25 | |
TimToady | o/ | 06:26 | |
lue | morning moritz 🙋 | ||
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 :/ | ||
(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... | ||
moritz: we're busily creating the syntax for matching NFD-expanded graphemes :) | |||
06:29
salv0 left
|
|||
TimToady | which turns out to simply be a kind of subregex | 06:29 | |
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 | |||
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. :) | ||
moritz | so I'll let you happily bikshave or yakshed or whatever :-) | ||
TimToady | but maybe the consortium has been busy that way :) | ||
lue | TimToady: like I said "I don't trust Unicode". I imagine the future will be weird. | 06:32 | |
06:32
[Sno] joined
|
|||
lue wonders if the beta UCD 7.0 files will reveal any secrets... | 06:32 | ||
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:33 | ||
r: say "\x[A,D,D,A,A,D,A,D,D]" ~~ /\n/ | 06:37 | ||
camelia | rakudo-parrot 0bf3de, rakudo-jvm 0bf3de: OUTPUT«「」» | ||
TimToady | we're already basically nfc, so \n can stay abstract as a matcher | 06:38 | |
in any case, you probably want \xA for LF and \xD for CR | 06:39 | ||
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:40 | |
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") | ||
unlike most graphemes, I don't think most people who pay attention to CRLF think of it as a singular unit ;) | |||
TimToady | well, the question is what $nfg.substr($offset,1) returns if it's aimed at a CRLF | 06:43 | |
maybe that's always grapheme -1 :) | |||
lue | r: say "hello\r\nworld".substr(5, 1).perl | ||
camelia | rakudo-parrot 0bf3de, rakudo-jvm 0bf3de: OUTPUT«"\r"» | ||
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 | ||
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* | ||
... nah, should probably change all those NF :* to NF* in my gist :) | |||
TimToady should read the spec before someone implements it... :) | |||
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 | |||
(that would be my brother-in-law Jon, the one that invented XS. :) | 06:47 | ||
so he's unlikely to pick her up tonight... | |||
lue | Sounds like thing you might want to do, TimToady :) | ||
TimToady | later & | 06:48 | |
lue edits his S15 to include <D/ /> and friends | |||
06:49
darutoko joined
|
|||
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.) | 06:55 | |
07:00
Mouq joined
07:05
Mouq left
|
|||
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: gist.github.com/lue/7761244 | 07:06 | |
07:10
dwarring left
07:13
kaleem joined
07:24
SamuraiJack_ joined
07:31
xinming_ joined
07:32
xinming left
07:44
xenoterracide left
07:45
xinming joined
07:48
xinming_ left
07:55
grep0r left
07:57
sqirrel joined
07:58
ssutch left
07:59
grep0r joined
08:01
xinming_ joined
08:04
xinming left
08:05
FROGGS joined
08:12
xinming joined,
xinming_ left
08:13
ssutch joined
08:15
pochi_ joined
08:16
pochi left
|
|||
dalek | : 6e4de5d | (Tobias Leich)++ | rakudo.patch: relocate patch chunks |
08:18 | |
08:26
salv0 joined
|
|||
masak | antenoon, #perl6 | 08:29 | |
08:29
xinming left
|
|||
FROGGS | hi masak | 08:29 | |
masak | ohaio | ||
moritz | \o masak, FROGGS, * | 08:30 | |
FROGGS | o/ | ||
:o) | |||
08:31
xinming joined
|
|||
masak | :o/ | 08:32 | |
lizmat++ # slicing in slot 13 | 08:33 | ||
looking forward to that one. | |||
08:36
zakharyas joined
08:38
rindolf joined
08:39
Piers_ joined
|
|||
dalek | : 91debb0 | (Tobias Leich)++ | Makefile: use nqp-p/perl6-p until we have a Build.pm |
08:40 | |
: aa010a6 | (Tobias Leich)++ | lib/Perl5/Terms.pm: avoid unspace |
|||
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:44 | |
08:48
Mouq joined
08:52
denisboyun joined
08:53
Mouq left
08:55
fhelmberger joined
09:23
lue left
09:27
woosley joined
09:29
FROGGS[mobile] joined
09:30
dakkar joined
09:31
sqirrel left
09:35
lue joined
09:44
sqirrel joined
09:53
SevenWolf left
10:03
slavik joined
|
|||
frettled | I didn't mean to kill the channel, sorry :) | 10:05 | |
10:06
ssutch left,
cognominal left
10:07
cognominal joined
|
|||
moritz revives again | 10:18 | ||
10:27
denisboyun left
10:29
denisboyun joined
10:36
Mouq joined
10:37
denisboyun left,
denisboyun joined
10:41
Mouq left
10:43
kivutar joined
10:44
Alina-malina left
10:45
stevan_ joined
10:51
denisboyun left,
Alina-malina joined
10:54
denisboyun joined
11:11
dmol left
11:14
SamuraiJack_ left
|
|||
lizmat drops a pin | 11:14 | ||
preflex | lizmat: you have 1 new message. '/msg preflex messages' to read it. | ||
11:18
xenoterracide joined
11:19
raiph left
|
|||
dalek | ecs: d31e097 | (Elizabeth Mattijsen)++ | S17-concurrency.pod: done/quit are named parameters + eternaleye++ suggestions |
11:26 | |
11:30
sqirrel_ joined
|
|||
lizmat starts talking to herself | 11:31 | ||
nwc10 | good, #perl6, #perl6 | 11:35 | |
11:41
balders_dod_ joined
11:42
balders_dod left,
rurban left,
rurban joined
11:45
darutoko left
11:46
darutoko joined,
sqirrel left
11:49
mtk left
11:58
xenoterracide left
12:06
colomon joined
12:08
atroxaper joined
|
|||
moritz | two rows in a row! | 12:14 | |
FROGGS .oO( ===SORRY!=== ) | 12:15 | ||
12:17
dmol joined
12:19
dmol left
12:21
dmol joined
|
|||
colomon | if you get three rows in a row you can make it a song... | 12:40 | |
12:40
dmol left
12:42
atroxaper left,
dmol joined
|
|||
tadzik | row, row, row your ===SORRY!=== | 12:42 | |
FROGGS | gently down the ===SORRY!=== | 12:43 | |
tadzik | ===SORRY!=== ===SORRY!=== ===SORRY!=== ===SORRY!=== | 12:44 | |
12:44
carlin joined
|
|||
FROGGS | life is but a ===PANIC!=== | 12:45 | |
that is the funniest part of a TOS episode ever | 12:47 | ||
12:47
mtk joined
|
|||
carlin | rakudo: my constant minute = 60; my constant hour = minute * 60; | 12:48 | |
camelia | ( no output ) | ||
tadzik | FROGGS: there was something like this in TOS? | ||
carlin | rakudo: my constant minute = 60; my constant hour = minute * 60; say hour; | ||
camelia | rakudo-parrot 0bf3de, rakudo-jvm 0bf3de: OUTPUT«3600» | ||
FROGGS | tadzik: www.chakoteya.net/movies/movie5.html | 12:49 | |
search for "I haven't sung around" and read :o) | |||
carlin | rakudo: my constant m = 60; my constant h = m * 60; | 12:50 | |
camelia | rakudo-jvm 0bf3de: OUTPUT«===SORRY!===Unrecognized regex metacharacter ; (must be quoted to match literally)at /tmp/mkeGg5UY9U:1------> constant m = 60; my constant h = m * 60⏏;Couldn't find terminator *at /tmp/mkeGg5UY9U:1--…» | ||
..rakudo-parrot 0bf3de: OUTPUT«␀␀␀[␀␀␀3␀␀␀1␀␀␀m␀␀␀=␀␀␀=␀␀␀=␀␀␀␀␀␀[␀␀␀0␀␀␀m␀␀␀S␀␀␀O␀␀␀R␀␀␀R␀␀␀Y␀␀␀!␀␀␀␀␀␀[␀␀␀3␀␀␀1␀␀␀m␀␀␀=␀␀␀=␀␀␀=␀…» | |||
tadzik | FROGGS: heh | ||
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 | |
*if you use it | |||
tadzik | I think I only watched Khan from the TOS-based films | ||
carlin | ahh, that explains it, thanks moritz | ||
FROGGS | tadzik: you should watch all of them | ||
tadzik | I didn't even watch S03 of TOS :P | 12:52 | |
12:53
dmol left
|
|||
FROGGS | I'm sure I missed some episodes... but that's okay since I don't like Western | 12:53 | |
12:54
dmol joined
12:57
cooper left
13:01
atroxaper joined
13:02
cooper joined
13:05
mtk left,
dmol left
13:06
sqirrel_ left
13:07
SamuraiJack_ joined,
dmol joined
13:14
dmol left
13:15
dmol joined
13:16
dmol left
|
|||
moritz | blog.smartbear.com/programming/why-...-programs/ | 13:22 | |
13:22
mtk joined
|
|||
moritz | that's a piece about how often the wrong low-level concurrency and synchronization primitives are advertised | 13:23 | |
when application level programmers should actually use queues and channels and so on | |||
moritz agrees | |||
FROGGS | ohh yes | 13:24 | |
13:28
kaleem left
13:30
kaare_ joined
13:40
xenoterracide joined
13:47
slavik left
13:50
hummeleB1 joined
13:57
fhelmberger left
13:58
fhelmberger joined
14:04
jnap joined
14:07
nebuchad` joined,
cooper left,
zakalwe left,
jnap left,
nebuchadnezzar left
14:08
nebuchad` is now known as nebuchadnezzar,
scottp joined
14:09
jnap joined,
zakalwe joined,
zakalwe left,
zakalwe joined,
tmetro left
14:10
ponbiki left,
tmetro joined,
cooper joined
14:11
hummeleB1 left,
PacoAir joined
14:12
awwaiid left,
awwaiid joined
14:15
ponbiki_ joined
14:18
hummeleBop1 joined
14:19
ajr joined,
ajr is now known as ajr_
|
|||
dalek | rl6-roast-data: 59c331b | coke++ | .gitignore: ignore new build dir |
14:23 | |
rl6-roast-data: f34667d | coke++ | doit: save rakudo.moar test runs |
|||
rl6-roast-data: 8d04356 | coke++ | / (3 files): today (automated commit) |
|||
14:25
ajr_ left
14:31
ajr joined,
ajr is now known as Guest63040,
Guest63040 is now known as ajr_
14:33
atroxaper left
|
|||
[Coke] | github.com/coke/perl6-roast-data/b....out#L3058 - moar has a little catching up to do. ;) | 14:37 | |
(I know it wasn't ready, I just thought it would be nice to capture the first day it did work.) | |||
-> dayjob | 14:38 | ||
moritz can't even build rakudo-moar yet | |||
14:42
xenoterracide left
14:45
rurban1 joined
14:47
xenoterracide joined
14:50
Khisanth left
14:53
tgt joined,
bluescreen10 joined
14:59
cooper left,
atroxaper joined
15:00
thou joined
15:01
sahadev joined
15:04
dmol joined
15:05
cooper joined
15:06
btyler joined
15:09
dmol left
15:10
atroxaper left
15:12
araujo left
15:13
araujo joined
15:16
raiph joined
15:20
vaclavstrachon joined
15:51
dakkar left
15:58
rurban1 left
15:59
salv0 left
16:02
salv0 joined,
filly joined
16:03
dmol joined,
benabik joined
16:12
ajr_ left
16:13
ajr joined,
ajr is now known as Guest54862
16:14
Guest54862 is now known as ajr_
16:19
rurban1 joined
16:27
[Sno] left
16:28
vaclavstrachon left
16:30
stevan_ left
16:31
stevan_ joined
16:34
Util_ is now known as Util
16:35
xinming left
16:36
kaleem joined
16:38
sqirrel_ joined
16:40
Khisanth joined
16:43
zakharyas left,
xinming joined
16:49
stevan_ left,
FROGGS left,
xinming left
16:50
xinming joined
16:54
gdey joined
16:55
ssutch joined
17:02
FROGGS joined,
preflex_ joined,
ChanServ sets mode: +v preflex_
17:03
preflex left,
preflex_ is now known as preflex
17:04
kaleem left
17:14
xenoterracide left
17:16
kivutar left
17:20
carlin left
17:22
xenoterracide joined
17:26
xinming left
|
|||
TimToady would like to think that everyone is off doing Important Stuff :) | 17:26 | ||
moritz cooks dinner for $family | |||
17:27
fhelmberger_ joined
17:29
sqirrel_ left
17:30
fhelmberger left
|
|||
colomon | …. errr…. somebody was wrong on the Internet? | 17:31 | |
no, cooking lunch for $family | |||
17:31
fhelmberger_ left,
xenoterracide left
17:32
xenoterracide joined
17:33
Mouq joined
|
|||
TimToady can't build perl6-m yet either, due to the GC grinch | 17:37 | ||
17:39
bluescreen10 left
|
|||
moritz | if that's the segfault during building the setting, then I'm in the same position | 17:42 | |
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? | ||
TimToady | no, been doing Important Stuff :) | 17:45 | |
17:46
[Sno] joined
|
|||
FROGGS | moritz: valgrind does not help | 17:49 | |
moritz | FROGGS: :( | ||
benabik | It can only trace things to where the GC notices it. | 17:50 | |
17:50
carlin joined
|
|||
carlin | rakudo: DateTime.new(now + 18000.0) | 17:53 | |
camelia | ( no output ) | ||
carlin | rakudo: DateTime.new(time + 18000.0) | ||
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…» | ||
..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/…» | |||
carlin | rakudo: DateTime.new(time + 18000) | ||
camelia | ( no output ) | ||
moritz | p: say DateTime.new(time + 18000) | 17:55 | |
camelia | rakudo-parrot 0bf3de: OUTPUT«2013-12-10T22:56:00Z» | 17:56 | |
moritz | p: say DateTime.now.delta(4, hours) | ||
camelia | rakudo-parrot 0bf3de: OUTPUT«2013-12-10T21:56:54Z» | ||
TimToady still thinks there's something smelly about the design of .delta | 18:05 | ||
(4,hours) is just completely bogus | 18:06 | ||
colomon | (4 :hours) ? | ||
TimToady | (hours => 4)? | ||
moritz | hours => 4 has the problem that it's a named argument, and those aren't ordered | 18:07 | |
but order matters | |||
TimToady | how can you put hours twice? | ||
moritz | in which case? | ||
TimToady | wouldn't that go in a different .delta? | ||
TimToady hasn't read the spec in a while... | |||
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) | ||
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…» | ||
..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…» | |||
moritz | p: say Date.new('2013-02-28').delta(1, days).delta(1, months) | ||
camelia | rakudo-parrot 0bf3de: OUTPUT«2013-04-01» | ||
moritz | p: say Date.new('2013-02-28').delta(1, months).delta(1, days) | ||
camelia | rakudo-parrot 0bf3de: OUTPUT«2013-03-29» | ||
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? >.> | ||
FROGGS | I like colomon++'s idea then | ||
TimToady | well, we're verging back into the whole 'units' discussion here | 18:11 | |
and dimensional analysis | |||
colomon | Date.new('2013-02-28').delta(1 :months).delta(1 :days) | 18:13 | |
TimToady | that's still trying to avoid the type system | 18:14 | |
Date.new('2013-02-28').delta(Months(1),Days(1)) | |||
colomon | +1 | 18:16 | |
TimToady | though most units want to be lowercase | ||
.delta(1`months, 1`days) | |||
probably with allowed abbreviations somehow | |||
18:17
kaare__ joined
|
|||
colomon | …. um, -1 to that, I think. | 18:18 | |
TimToady | .delta(1*months, 1*days) would be an improvement over comma | ||
18:18
kaare_ left
|
|||
TimToady | but I think it's silly to use up all those words without making them real types | 18:18 | |
18:18
jeffreykegler joined
|
|||
TimToady | it'll just make dimensional analysis impossible down the road, especially when the units comes in as a separate argument | 18:19 | |
colomon: you think you want to force everyone to write 1.5`kilometers instead of 1.5`km? | 18:21 | ||
colomon | it's the whole ` thing I don't like | 18:22 | |
TimToady | oh, thought you were talking about the abbreviations | ||
(ir clag)-- | |||
colomon | I don't know why exactly, but I like months(1) vastly better than 1`monbths | ||
TimToady | then there's this whole singular/plural problem | 18:23 | |
which mo(1) avoids :) | |||
or km(42) | |||
moritz | there's a U+241F SYMBOL FOR UNIT SEPARATOR | 18:24 | |
TimToady | huh | ||
moritz | we could use that to start unit postfix operators | ||
colomon | what's it look like? | ||
benabik | Probably a box. :-D | ||
moritz | dunno, my terminal has no font for it | ||
FROGGS | ␟ | ||
moritz | p: say "\x[241F]" | 18:25 | |
TimToady | um, that's like  | ||
camelia | rakudo-parrot 0bf3de: OUTPUT«␟» | ||
18:25
ajr_ left
|
|||
raydiak | which ^K code is that in vim? :P | 18:25 | |
FROGGS | it is "us", like the NL | ||
TimToady | it's a symbol for a control code nobody uses anymore | ||
benabik | Little tiny u_s for me. | ||
TimToady | I think that would not work here | 18:26 | |
moritz kinda agrees | |||
benabik | Perhaps could (ab)use the _. 1_000_km | ||
TimToady | <42*km> | ||
42*km is constant folding kinda like 1/7 | 18:27 | ||
FROGGS | 1_000.km (km method return the kilometer type) | ||
I guess that does not parse very well | |||
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 | ||
FROGGS | well, 1_000.km could return Kilometer.new(1000) | ||
TimToady | so internally 42.km would turn into km(42) | ||
FROGGS | right | 18:29 | |
moritz | and then we want a meter type | ||
m(42) | |||
TimToady | yes, well | ||
moritz | and the parser will run amok | ||
because it expects a regex | |||
TimToady | no it doesn't :) | ||
FROGGS | moritz: the type could/should be called Meter | ||
and the .m is just an abbr | |||
TimToady | but 42*m is a problem | 18:30 | |
colomon | Unit::Meter ? | ||
TimToady | well, make 'em postfixes, like i | ||
42m | 18:31 | ||
$foo\m | |||
.delta(1mo, 1d) | |||
FROGGS | p: postfix:sym<m>($n) { $n }; say 42m | ||
camelia | rakudo-parrot 0bf3de: OUTPUT«===SORRY!=== Error while compiling /tmp/0I1vA6KzaMVariable '$n' is not declaredat /tmp/0I1vA6KzaM:1------> postfix:sym<m>($n⏏) { $n }; say 42m expecting any of: postfix» | ||
TimToady | perhaps one is required to declare which units one will use | ||
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)» | ||
TimToady | no sym | ||
benabik | p: sub postfix:<m>($n) {$n}; say 42m | ||
camelia | rakudo-parrot 0bf3de: OUTPUT«42» | ||
moritz | maybe we are deep in "should be in a module" territory | ||
TimToady | that's one way to declare it | ||
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 | ||
TimToady | well, some postfixes are built-in already :) | 18:34 | |
TimToady is guessing the postfixes are the abbreviations for the longer type coercions | |||
so 42mo returns Months(42) | 18:35 | ||
moritz | not Moritz(42) :-( | ||
TimToady | use units <Months Days>; | ||
moritz | use Units :Date, :Time; | 18:36 | |
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 | ||
TimToady | that's not the units program | 18:38 | |
moritz | aye | ||
TimToady | not installed by default on many linuxen, apparently | 18:39 | |
benabik | /usr/bin/units on OS X | ||
raiph | TimToady: there's a comment on the adverb advent: (more) | 18:40 | |
TimToady "I don’t understand ... 1 || 2 && 3 :adv # applies to && ... why does :adv apply to the &&? | |||
TimToady: the commenter has correctly seen an error in the advent, right? | 18:41 | ||
TimToady | yes, should apply to the ||, since it's looser | ||
raiph | thx | 18:42 | |
lue: ^^ | |||
18:45
Alina-malina left
|
|||
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_…» | ||
..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
|
|||
TimToady | note it tried to apply it to infix:<|> | 18:48 | |
however, the jvm error appears to be LTA | 18:49 | ||
well, at least it mentions 'any' | 18:50 | ||
lizmat | FROGGS: looking at your blog post | ||
TimToady | but 'any eval' is misleading | 18:51 | |
lizmat | s/locateable/locatable/ | ||
FROGGS | k | ||
lizmat | maybe s/windows/Windows/ ? | 18:53 | |
TimToady | Windows® even | 18:54 | |
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
|
|||
FROGGS | done so | 18:56 | |
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 | |
but that will be after enjoying ~6 hours of Hobbit entertainment | 18:58 | ||
FROGGS | :o) | ||
lizmat | (as in An Unexpected Journey and The Desolation Of Smaug in one sitting) | 18:59 | |
later& | |||
FROGGS | lizmat: btw, all that I wrote and explained already works in my implementation | ||
have fun! | |||
19:00
darutoko left
|
|||
TimToady | and the gist of a units type should probably read 42km rather than Kilometers.new(42) | 19:02 | |
TimToady is tempted to start talking about Kibometers... | 19:03 | ||
FROGGS | would that work then? :m( 42km ) | 19:04 | |
TimToady | that's just a pair | ||
Meters(42km) should work | 19:05 | ||
FROGGS | I am thinking about the :16("1234") | ||
TimToady | that only works cause :16 in an invalid pair | ||
FROGGS | k | ||
TimToady | *is | 19:06 | |
presumably 42km\m should work too | 19:07 | ||
or (42km)m | |||
19:07
Rotwang joined
|
|||
TimToady imagines someone writing 42kmi and wonders what it does | 19:08 | ||
do imaginary km make sense? | 19:09 | ||
FROGGS | that is like 42km\s but just in minutes :o) | ||
maybe for ppl who go to the gym to eat snickers | |||
geekosaur | if you've rotated your coordinate system maybe :p | ||
TimToady | that would be a dimensional error | ||
you can't convert km to s | |||
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) | ||
jeffreykegler | In adding things like ligatures, NFKC, NFKD, NFG, Unicode has crossed the line from representing text to trying to represent typography. | 19:11 | |
IMHO, this is not a good idea. | |||
TimToady | alas, yes | ||
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 | ||
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 | ||
TimToady | well, can't easily take it out now, I suspect | 19:14 | |
there are lots of other fuzzy boundaries as well | |||
jeffreykegler | True, but I think in my own work I will try to ignore it as much as possible | ||
TimToady | why do the dominoes only go up to sixxies? :) | ||
V_S_C | Fundamental Units are inconvertible into each other. en.wikipedia.org/wiki/SI_base_unit | ||
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. | ||
TimToady | or in some circles, 'dimensionalysis' | ||
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. ] | ||
TimToady | jeffreykegler: "Doctor, will it hurt when I do this?" "If it does, stop." :) | ||
jeffreykegler: we were still designing it last night | 19:17 | ||
currently we have a form to match a grapheme as if it were expanded to NFD :) | |||
<D/ :!Mark :Mark* /> or so | 19:18 | ||
similar ideas could hold for <KD/ f f l /> and such | 19:19 | ||
jeffreykegler | Perhaps I am being draconian but ... | 19:20 | |
19:20
gdey left
|
|||
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
|
|||
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:21 | |
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 | ||
TimToady is all for sane defaults | 19:23 | ||
jeffreykegler | To be clear, I'm not suggesting what Perl 6 should do ... | ||
Just reporting my own conclusions in the matter. | |||
TimToady | I don't think Unicode requires us to treat 3 base chars like ffl as a grapheme in any default way | 19:24 | |
and if they do, I'm quite capable of ignoring the Unicode Consortium | 19:25 | ||
19:25
V_S_C_ joined
|
|||
jeffreykegler | I'm thinking in terms of the what happens if I take inside a module (a parser, for example) ... | 19:25 | |
Two string that the environment thinks are in different encodings ... | |||
and which that environment expects me to do "the right thing" in comparing, etc. | 19:26 | ||
19:26
sahadev left
|
|||
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 | ||
jeffreykegler | "crossbar solution"? | 19:27 | |
TimToady | you can connect any X with any Y | ||
19:27
V_S_C left
|
|||
TimToady | NFG is more of a star topology | 19:27 | |
V_S_C_ | Imaginary km as in vector space en.wikipedia.org/wiki/Vector_space#...extensions Maybe some GPS/maps algoritms use it | ||
19:27
tgt left
|
|||
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 | ||
that's the default | |||
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
|
|||
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 | ||
well, we simply don't have enough manpower to attempt the insane thing :) | |||
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:30 | ||
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 | ||
mostly they just need to mark the filehandles | |||
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:32
V_S_C_ left
|
|||
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 ... | ||
TimToady | hopefully that can mostly be dealt with at the declarative boundaries, as with filehandes | ||
jeffreykegler | but which cannot take advantage of it's library of Unicode routines. | ||
TimToady | we will certainly have some C macros/routines for dealing with NFG, since Moar needs 'em too | 19:34 | |
19:34
xenoterracide left
|
|||
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 | ||
for most strings, NFG *is* NFC | 19:35 | ||
jeffreykegler | So the module could say, "Hey guy, I'm NFC only, sorry" | ||
TimToady | and we can track whether a given string uses NFG extensions inside, to avoid useless conversoin | ||
sure, we like declarative semantics these days | |||
and we like knowing the exact run-time type of our strings | 19:36 | ||
we like knowing when something is NFC or NFD, or when it's just a "Uni" of codepoints that could be a mixture | |||
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. | ||
TimToady | we like knowing when a buffer contains UTF-8 already | ||
jeffreykegler | (That's in Perl 5.) | 19:37 | |
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
araujo left
|
|||
TimToady | well, P5 allows it, but obviously you have to enforce Unicode standards here and there when you do "private use" stuff | 19:37 | |
19:38
araujo joined
|
|||
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 | ||
dalek | kudo-star-daily: 8d07c9b | coke++ | log/ (5 files): today (automated commit) |
||
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 | ||
TimToady | yes, which is why NFG is just an augmented NFC | 19:40 | |
what NFC *would* be if the user's ad hoc needs could always be baked in to the standard :) | |||
and when there are no ad hoc needs, it really is just NFC | 19:41 | ||
which is, at least in English, most of the time | |||
jeffreykegler | Ok, so a strictly NFC and NFG-unaware module would be Perl 6 compatibile ... | ||
TimToady | and indeed in most languages where most of the graphemes have precomposed forms | ||
jeffreykegler | even if some users found it restrictive. | 19:42 | |
TimToady | it would have to do minimal conversion most of the time | ||
and the module could be oblivious to that, yes | |||
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 | ||
[Coke] is freed up from $dayjob hell for a while. yay | |||
diakopter too | |||
TimToady climbs the Peak because it's there | 19:44 | ||
TimToady designs Perl 6 because it's not there :) | 19:45 | ||
19:46
gdey left
19:47
gdey joined
|
|||
FROGGS | hehe | 19:47 | |
[Coke] | "Larry Wall claims Perl 6 just isn't there." | 19:51 | |
TimToady | just barely :) | ||
19:52
alester joined
19:53
ajr joined,
ajr is now known as Guest58800,
Guest58800 is now known as ajr_,
gdey left
|
|||
lue | hello world o/ | 19:58 | |
timotimo | i got my new laptop \o/ | 20:00 | |
lue | timotimo: \o/ | 20:03 | |
FROGGS | \o/ | 20:04 | |
lue | TimToady: for what it's worth, <D/ f f i /> won't match against ffi, that would be <KD/ f f i /> :) | 20:05 | |
20:07
Alina-malina left
|
|||
TimToady | didn't I say that? | 20:09 | |
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 | ||
moritz | .oO( But Mark the Rustic, Haggis-fed, the tremling earth resounds his thread ) |
20:11 | |
timotimo | FullHD on 14" is *amazing* | 20:12 | |
20:12
Alina-malina joined
|
|||
TimToady imagines the personality of Mark Twain Anthony Spitz | 20:12 | ||
timotimo | what did i miss so far today? | ||
TimToady | we changed everything, except for the parts we didn't | ||
timotimo | ah, cool | ||
for loops are sunk again, right? | |||
is that in rakudo already? | |||
moritz | not yet | 20:13 | |
extra bonus points for whoever implements that | |||
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? | ||
TimToady | if it saves storing a bunch of values, only to throw them away, could be big | ||
timotimo | \o/ | 20:14 | |
moritz | it just involves mucking with list iteration | ||
moritz whistles innocently | |||
timotimo | i'll continue setting up my laptop for now | ||
moritz | no, not true; I think :sink is already there | 20:15 | |
20:15
Alina-malina left
20:16
Alina-malina joined
|
|||
FROGGS | is that correct that all loops can produce values? | 20:19 | |
so I could say: my @a = while ... ? | |||
moritz | probably my @a = do while .... | 20:20 | |
because while is a statement, not an EXPR | |||
FROGGS | k | ||
moritz | but in principle, yes | ||
lue would be very surprised to find a C/C++ module that could handle NFG strings | 20:22 | ||
20:23
Alina-malina left
20:24
SamuraiJack_ left,
Alina-malina joined,
rindolf left
|
|||
TimToady | diakopter++ has one stashed away somewhere... | 20:24 | |
20:24
gdey joined
|
|||
moritz | and promised me to push it at YAPC::EU :-) | 20:25 | |
TimToady | but did he say which year? :D | 20:27 | |
diakopter | hey wut | 20:29 | |
20:29
Mouq left
|
|||
moritz | sorry if that was ambiguous; the promise was made at YAPC::EU | 20:31 | |
diakopter didn't promise to push it during YAPC | |||
TimToady | my question still stands though :) | 20:32 | |
20:32
benabik left
|
|||
diakopter | well. | 20:35 | |
I'm not sure I need *that* particular defense | |||
TimToady | :D | ||
FROGGS draws signs now saying: We want NFG! We want NFG! | 20:36 | ||
[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 | ||
jnthn: would you mind if I used one of your sixpresentations in such a sitch? | |||
[Coke] wonders about perl 6 / objective C interop. | 20:41 | ||
timotimo | how do other languages offer that? | 20:44 | |
if at all? | |||
FROGGS guesses that this would be interesting for iUsers | |||
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:45 | |
[Coke] | I wonder if we'd have to emit obj-c as the last step. | 20:46 | |
but wouldn't it be nice to write an iphone app in perl 6? ;) | |||
TimToady | .oO(How did we let Apple get away with using up an entire letter of the alphabet like that?) |
||
[Coke] | iDunno. | ||
timotimo | ... i was about to make that joke :( | ||
er | |||
iWasAboutToMakeThatJoke | 20:47 | ||
[Coke] | iToofast! | ||
moritz | i... | ||
[Coke] -> less stressful dayjob. | |||
TimToady -> less stressful nap. | 20:49 | ||
20:50
hummeleBop1 left
|
|||
timotimo | guess what google voice search on android phones answers if you ask "who's on first?" | 20:50 | |
20:51
hummeleB1 joined
20:52
Mouq joined
|
|||
FROGGS already reads the wikipedia article :o) | 20:52 | ||
21:00
hummeleB1 left
21:01
ssutch left
|
|||
diakopter | iDakopter | 21:02 | |
21:04
jnap left,
rurban1 left,
gdey_ joined
21:05
carlin left
21:06
gdey left
|
|||
Rotwang | hi | 21:10 | |
FROGGS | hi Rotwang | 21:11 | |
tadzik | hey | 21:14 | |
timotimo | my new laptop's hostname is schmetterling | 21:16 | |
FROGGS | timotimo: all caps? | ||
timotimo | nah, hostnames are case-insensitive | ||
and don't allow ! | 21:17 | ||
FROGGS | :/ | ||
timotimo++ # anyway :o) | |||
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:28
Mouq left
21:29
jnap joined
|
|||
timotimo | \o/ | 21:32 | |
21:32
stevan_ joined
|
|||
masak | so, I got this comment on my post: perl6advent.wordpress.com/2013/12/0...mment-3406 | 21:32 | |
I wrote a reply, which I checked with jnthn and another colleague to make sure it wasn't too mean. | |||
mostly I've feel I've handled this topic already, in strangelyconsistent.org/blog/perl-6...-operators | 21:33 | ||
hm, actually I was thinking of strangelyconsistent.org/blog/idiomatic-perl-6 | 21:37 | ||
lue | masak: I like that "an infinity of methods in ten lines of code" :) | ||
21:38
kaare__ left
|
|||
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 | |
@*INC »~» /SomeModule/blib/mysofile.so is a good place to put it? | 21:40 | ||
arnsholt | Your guess is as good as ours, I think | ||
AFAIK noone's written a module like that yet | 21:41 | ||
21:41
jeffreykegler left
|
|||
Rotwang | ok thenk | 21:42 | |
then* | |||
masak | lue: yeah, it's not every day you create ∞ methods in 10 lines ;) | 21:43 | |
'night, #perl6 | |||
FROGGS | gnight masak | 21:44 | |
colomon | masak++ | 21:47 | |
21:52
PacoAir left
|
|||
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«===SORRY!===Word 'loop' interpreted as 'loop()' function call; please use whitespace around the parensat /tmp/nMXCyqxr3i:1------> loop⏏(my $i = 0; $i < 3; $i++) { say $_ }; loUnexpected block in infix po…» | ||
..rakudo-jvm 0bf3de: OUTPUT«===SORRY!===Word 'loop' interpreted as 'loop()' function call; please use whitespace around the parensat /tmp/Gp7GeT7OAk:1------> loop⏏(my $i = 0; $i < 3; $i++) { say $_ }; loUnexpected block in infix posit…» | |||
lue | r: loop (my $i = 0; $i < 3; $i++) { say $_ }; loop (my $i = 0; $i < 2; $i++) { say $_ } | ||
camelia | rakudo-parrot 0bf3de: OUTPUT«Potential difficulties: Redeclaration of symbol $i at /tmp/sQ4PIfJYv7:1 ------> ; $i < 3; $i++) { say $_ }; loop (my $i ⏏= 0; $i < 2; $i++) { say $_ }NilNilNilNilNil» | ||
..rakudo-jvm 0bf3de: OUTPUT«Potential difficulties: Redeclaration of symbol $i at /tmp/gr1ZwJilLZ:1 ------> ; $i < 3; $i++) { say $_ }; loop (my $i ⏏= 0; $i < 2; $i++) { say $_ }NilNilNilNilNil» | |||
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 | ||
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:------> for my $x { }; for my $x⏏ { };ok 00:01 124m» | ||
lue | r: loop (my $i = 0; $i < 3; $i++) { say $_ }; say $i; | ||
camelia | rakudo-parrot 0bf3de, rakudo-jvm 0bf3de: OUTPUT«NilNilNil3» | ||
lue | r: loop (my $i = 0; $i < 3; $i++) { say $i }; say $i; | 21:57 | |
camelia | rakudo-parrot 0bf3de, rakudo-jvm 0bf3de: OUTPUT«0123» | ||
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) | ||
r: loop my $i = 0; $i < 3; $i++ { say $i }; say $i; | |||
camelia | rakudo-parrot 0bf3de: OUTPUT«===SORRY!=== Error while compiling /tmp/UwzhqQvdKOMissing blockat /tmp/UwzhqQvdKO:1------> loop ⏏my $i = 0; $i < 3; $i++ { say $i }; say  expecting any of: statement list scoped bl…» | ||
..rakudo-jvm 0bf3de: OUTPUT«===SORRY!=== Error while compiling /tmp/1RLPN7UFwiMissing blockat /tmp/1RLPN7UFwi:1------> loop ⏏my $i = 0; $i < 3; $i++ { say $i }; say  expecting any of: statement list scoped block» | |||
FROGGS | ohh | ||
sure, C-style... | 21:59 | ||
22:00
dprelec joined
|
|||
lue | I realize doing some inner-scoping stuff with the () part is weird, but C is kinda weird to P6 anyway :) | 22:00 | |
lue is essentially doing a bunch of C-ish stuff, so using "loop" is the best choice. | 22:02 | ||
22:02
ssutch joined
22:03
PacoAir joined
22:04
rurban1 joined
22:05
PacoAir left
22:07
dprelec1 joined,
beastd joined
22:10
dprelec left
22:11
alester left,
rurban1 left
22:14
dprelec2 joined
22:15
dprelec2 left
22:17
dprelec1 left,
dmol left
22:20
dprelec joined
22:26
BenGoldberg joined
22:29
tgt left
22:30
Entonian joined
22:31
Entonian left
22:32
tgt joined
|
|||
ajr_ | Um, FROGGS, are you aware that "NFG" can be interpreted to imply an extreme lack of merit? | 22:36 | |
geekosaur | it can also be interpreted as a vote of no confidence in Unicode :p | 22:37 | |
22:40
rurban1 joined
|
|||
diakopter | ajr_: which interpretation is that | 22:42 | |
ajr_ | UK slang. | ||
Rotwang | what does :: do, as in: ::('Build').isa(Panda::Builder) | ||
? | |||
is it similar to c++ default namespace? | 22:43 | ||
22:43
btyler left
22:45
SevenWolf joined
22:47
rurban1 left
|
|||
dalek | : 113ec82 | (Tobias Leich)++ | lib/Perl5/Config.pm: fix typo |
22:47 | |
: 630afd1 | (Tobias Leich)++ | lib/Perl5/Actions.nqp: fix {}-hash guessing and do the []-method2sub transition |
|||
: 2181b48 | (Tobias Leich)++ | lib/Perl5/Grammar.nqp: keep up to sigspace changes and pull in jnthn++s ws tweaks |
|||
: 558b1ef | (Tobias Leich)++ | lib/Perl5/Terms.pm: add infix:P5=> |
|||
: 36f7bb7 | (Tobias Leich)++ | STATUS.md: update status |
|||
FROGGS | ajr_: NFG is not my invention :o) | ||
22:48
gdey_ left,
gdey joined
|
|||
raydiak | Rotwang: it interpolates a string into a package name | 22:48 | |
Rotwang | so why is 'Build' in parentheses | 22:50 | |
FROGGS | that is the syntax for indirect lookup | 22:51 | |
22:52
ajr_ left
|
|||
FROGGS | p: say ::<Int> | 22:52 | |
camelia | rakudo-parrot 0bf3de: OUTPUT«(Int)» | ||
22:53
tgt left
|
|||
raydiak | r: say (CORE === ::('CORE')) | 22:53 | |
22:53
araujo left
|
|||
camelia | rakudo-parrot 0bf3de, rakudo-jvm 0bf3de: OUTPUT«True» | 22:53 | |
Rotwang | I see | ||
FROGGS | p: say ::<ENOTHING> | ||
camelia | rakudo-parrot 0bf3de: OUTPUT«(Any)» | ||
22:53
araujo joined
|
|||
Rotwang | thanks | 22:54 | |
22:54
gdey left
|
|||
dalek | : 0ec09ba | (Tobias Leich)++ | t/test_summary: use nqp-p/perl6-p for version info too |
22:57 | |
FROGGS | feels good that v5 is healthy again... | ||
gnight! | |||
22:57
FROGGS left,
jnap left
23:16
betterworld left
23:17
betterworld joined
23:24
Mouq joined
23:32
SevenWolf left
23:34
dprelec left
23:37
colomon left
23:38
BenGoldberg left,
Rotwang left
23:39
colomon joined
23:40
denisboyun left
23:48
rurban1 joined
23:53
raiph left
|
|||
TimToady | NFG is not just UK slang, and it was well known to the person who coined NFG at the time. :D | 23:53 | |
it was, in fact, a pun from birth, much like STD. | 23:54 | ||
TimToady takes great delight, as a linguist, in cleaning up words and acronyms that have become shabby. | 23:57 | ||
see also ss/// | 23:58 |