»ö« | perl6.org/ | nopaste: paste.lisp.org/new/perl6 | evalbot usage: 'perl6: say 3;' or rakudo:, alpha:, pugs:, std:, or /msg p6eval perl6: ... | irclog: irc.pugscode.org/ | UTF-8 is our friend! Set by lichtkind on 5 March 2010. |
|||
jnthn | wknight8111: Very odd. It seems that Rakudo's Exception class both inherited from *and* had a Parrot Exception as an attribute. I'm...really not sure why. | 00:00 | |
wknight8111 | awesome | ||
jnthn | wknight8111: The spectests may be about to tell me why now i've stopped inheirting from it. Turns out it gets rid of those warnings though. | ||
erm | |||
not warnings | |||
the prints I put in to say we hit the freeze/thaw path. | |||
It may be that we need it to be subclassing Parrot's Exception class for Parrot to believe its throwable or somethng. | 00:01 | ||
spectesting now. We'll see. | |||
sorear: I'm not the best person to ask, but see S02 for a mention of them. But it's a bit breif. | |||
TimToady: Are slangs detailed elsewhere any more than they are in S02? | 00:02 | ||
Mmm...weißbier. | 00:04 | ||
fridim | Hi. What did happen to show such a decrease in the rakudo project status ? | 00:08 | |
TimToady | progress | ||
00:08
synth joined
|
|||
jnthn | fridim: We merged a branch that resulted in a *lot* of important improvements, but also caused some regressions. | 00:09 | |
fridim | oh ok | ||
00:09
hanekomu_ left
|
|||
TimToady | like lazy lists | 00:09 | |
jnthn | fridim: We're busily hunting them down and dealing with them. | ||
fridim | cool | ||
00:09
ShaneC1 joined
|
|||
sorear | that was nqp-rx, right? | 00:10 | |
TimToady | rakudo: (1..* Z~ 'a'..*).batch(20).say | ||
p6eval | rakudo 53ace9: OUTPUT«1a2b3c4d5e6f7g8h9i10j11k12l13m14n15o16p17q18r19s20t» | ||
jnthn | sorear: We switched to using nqp-rx and the new regex engine as part of the big re-working, yes. | ||
sorear: Also built the grammar up again to be much closer to STD. | |||
sorear joined the project last week and is not up to speed on history | |||
jnthn | sorear: Before, we had no protoregexes and STD and Rakudo's grammar were...really very different...in places. | 00:11 | |
00:11
ShaneC left
|
|||
jnthn | sorear: The other very big change was much less visible, but the metamodel stuff got a complete overhaul too. | 00:11 | |
TimToady | jnthn: most of the docs on slangs are in how STD does sublanguages :) | ||
jnthn | TimToady: :-) | ||
sorear | Oooh metamodel stuff, that's *important* | 00:12 | |
00:12
fglock left
|
|||
sorear | What exactly is a protoregex? | 00:12 | |
colomon | jnthn: I haven't reworked the grammar for Xop and Zop yet, just working on getting the implementation more solid. Testing now, will push soon unless someone beats me to it. :) | ||
TimToady | sorear: in short, a set of regex alternatives that are named rather than being listed by | | ||
jnthn | colomon: I've got one local patch I'm testing now but I can hold of pushing. Or you can ignore testing it. It's a one-liner. | ||
TimToady | sorear: and hence, extensible via derivation across many related languages | 00:13 | |
so you can just match <infix> and it will give you all rules that start infix:sym<op> | 00:14 | ||
and that set of rules doesn't all have to be defined in the same grammar | |||
sorear | mmm | 00:15 | |
TimToady | STD uses this heavily, even internally, to generate quoting languages, regex languages, and such | ||
jnthn | TimToady: class Foo { has $.x is rw }; my $y = Foo.new; $x.y = 42; # works, think we all agree on this | 00:16 | |
TimToady: class Foo { has $.x is rw }; my $y = Foo.new; $x.y(42); # should this also work? | |||
colomon | jnthn: if you don't think it's a big deal, I can certainly push without testing if your one-liner is in the way. :) | ||
sorear | is it possible to do stuff like Devel::Declare in the p6 grammar system? | ||
colomon is making pudding | |||
jnthn | I've not seen anything in the spec that says it should. | ||
sorear | import a module to get new keywords? | ||
jnthn | And want to toss the bogus spectests we'd had todo'd for ages on it... | 00:17 | |
TimToady | sorear: that's certainly possible | ||
here's STD's definition of double quotes: | 00:18 | ||
token quote:sym<" "> { '"' <nibble($¢.cursor_fresh( %*LANG<Q> ).tweak(:qq).unbalanced('"'))> '"' } | |||
it actually derives two new languages just in that one line | |||
tweak(:qq) adds in all the double-quote escapes | |||
unbalance('"') derives a language in which " is a stopper | 00:19 | ||
00:19
cdarroch left
|
|||
lue | O.o | 00:19 | |
TimToady | it would be that easy to add your own quotes in a derived grammar | 00:20 | |
sorear | Is :sym<" "> semantically important, or just a name? | ||
TimToady | minimally, it's just a name, but we reuse the symbol if the rule matches <sym> | ||
and it's also available for constructing an eventual operator function, such as infix:<+>, which is parsed by infix:sym<+> | 00:21 | ||
basically, every time you say something like 'sub postfix:<!>" you're deriving a new sublanguage with a new postfix: rule | 00:22 | ||
snarkyboojum wonders what is the easiest way to get started reading and understanding STD.pm :) | |||
TimToady | I dunno, I still don't entirely understand it myself... :) | 00:23 | |
snarkyboojum | heh :) | ||
colomon | snarkyboojum: if you figure it out, let me know. :) | ||
snarkyboojum | I was thinking it'd be handy to learn Perl 6 first heh | ||
sorear | What does my $*FOO; even mean? | 00:25 | |
TimToady | a dynamically scoped variable | 00:26 | |
kinda like local in Perl 5 | |||
only better | |||
sorear | is it truly global? | ||
what's the difference between my $*GOAL ::= $STOP; and temp $*GOAL ::= $STOP; ? | 00:27 | ||
TimToady | (actually, the p5 translation of STD.pm uses local) | ||
snarkyboojum | an annotated STD.pm a la lion's commentary would rock :) | ||
lue | how's about mine? :) | 00:28 | |
snarkyboojum | lue: you've annotated STD.pm? :) | 00:29 | |
jnthn | alpha: my %h = a => 1, b => 2; say %h.elems | ||
rakudo: my %h = a => 1, b => 2; say %h.elems | |||
TimToady | sorear: in real P6, $*FOO is a lexical, and when you access it, it looks up the dynamic call stack to find the innermost def | ||
p6eval | alpha 30e0ed: ( no output ) | ||
rakudo 53ace9: OUTPUT«Method 'elems' not found for invocant of class ''current instr.: '_block14' pc 29 (EVAL_1:0)» | |||
TimToady | my $*GOAL ::= $STOP is (in theory) setting a readonly lexical that can be seen by callees as $*GOAL | 00:30 | |
you should not see an initializer on temp $*GOAL because the intent is to initialize to the outer value | 00:31 | ||
er, the caller value | |||
lue | snarky: no, but I could :) | ||
TimToady | sorear: the advantage of using lexicals over globals is that they're automatically thread-local if declared inside a thread's lexical scope | 00:32 | |
this will be important for scalable multithreading | 00:33 | ||
the main thing to understand about the OOness of STD is that tokens and rules are really just methods | 00:34 | ||
snarkyboojum | lue: excellent :) | ||
TimToady | they just happen to be methods on some derivative of Cursor, which manages parsing | ||
and the current derivative happens to be the sublanguage you're currently parsing | |||
so it's really easy to write a method that returns a language derived from the current language | 00:36 | ||
jnthn | TimToady: Heh. My first cut of user defined operators is, I'm afraid, very wrong and evil. | ||
(Monkey patches the current grammar, rather than deriving new...) | |||
TimToady: Do you essentially have to rebless the current cursor? | 00:37 | ||
TimToady | that's a possible optimization, of course | ||
but optimizations are cheating, after all | |||
jnthn | Well, I did it because it's easy rather than for speed. | ||
TimToady | typically return a new Cursor, since Cursors are (in theory) immutable | ||
I do rebless in a few places where I know I can cheat :) | |||
colomon | jnthn: pushed | 00:39 | |
TimToady | actually, no I don't | ||
I just poke the current .pos if I know I can get away with it... | |||
jnthn | colomon: Cool | 00:40 | |
TimToady | mainly when we're in a ratcheting situation | ||
gotta go cook nom (delayed St Pat's fare) | |||
& | |||
colomon | corned beef? | ||
dalek | kudo: 53c2dde | (Solomon Foster)++ | src/builtins/Code.pir: Fix .assuming, as per jnthn++. |
00:41 | |
kudo: a5720bb | (Solomon Foster)++ | src/Perl6/Actions.pm: Actually create Xop as a function instead of just using it as syntactic sugar for .crosswith. |
|||
kudo: a0064d2 | (Solomon Foster)++ | src/Perl6/Actions.pm: Port the new proper take on Xop to Zop as well. |
|||
kudo: e252983 | (Solomon Foster)++ | (2 files): Merge branch 'master' of [email@hidden.address] |
|||
kudo: 50392a2 | (Solomon Foster)++ | src/ (3 files): Merge branch 'master' of [email@hidden.address] Seems we don't need our Exception class to inherit from Parrot's Exception (we has-a Parrot Exception anyway...). This avoids us hitting the freeze/thaw default code-path, which occasionally segfaults, so may help improve stability too. |
|||
00:43
REPLeffect left
|
|||
jnthn | colomon: Nice. | 00:46 | |
colomon: Pulled and running with my (small) patches. | 00:49 | ||
pugssvn | r30131 | jnthn++ | [t/spec] Re-fudgings and other tweaks to S12-attributes/instance.t; toss two tests I've long considered bogus anyway. | 00:51 | |
jnthn | colomon: Got two S12 tests I can re-enable. | ||
colomon: Between them it's just short of 150 extra we'll run, and > 100 passing. | |||
whoa! | 00:56 | ||
# S05-mass/stdrules.t | |||
All 183 in there pass! | |||
colomon | \o/ | 00:57 | |
lue | \o/ jnthn++++++ | ||
00:57
wknight8111 left
00:59
quietfanatic joined
|
|||
jnthn | Well, that's close to 300 tests won back today then. :-) | 00:59 | |
snarkyboojum | wowsers - v. impressive | ||
jnthn | Current reclaim stats: | 01:00 | |
(this is number of tests by spec that we've still got commented out) | |||
S02: 18 | |||
S03: 22 | |||
S04: 11 | |||
S05: 31 | |||
S06: 13 | |||
S09: 1 | |||
S10: 1 | |||
S11: 4 | 01:01 | ||
S12: 28 | |||
S13: 1 | |||
S14: 8 | |||
S16: 4 | |||
S28: 1 | |||
S29: 1 | |||
S32: 22 | |||
integration: 12 | |||
01:01
ggoebel joined
|
|||
colomon | did you try reduce.t? | 01:02 | |
jnthn | oh, good point | ||
I tried some S03 reduce-metaop | |||
But fail | |||
colomon | I'll take a look. | 01:03 | |
jnthn | no... | ||
Well, the parsing is done | |||
So in theory the rest is...not so bad. | |||
I'm not sure what the function form of the \ version is either | |||
colomon | jnthn: I propose it should just be a :arg to reduce. | 01:04 | |
jnthn | wfm | ||
:triangle ? :-) | |||
# S32-container/zip.t # maybe this one will be not so hard to make pass later too | 01:05 | ||
01:05
huf_ is now known as huf
|
|||
colomon | hmmm. | 01:05 | |
:steps ? | 01:06 | ||
:stages ? | |||
jnthn | oh | ||
reduce { $^a + $^b }, 0, @array | |||
What on earth is the 0? | |||
colomon | reduce is *@values, so it could be the first in the array. | 01:07 | |
jnthn | oh, I didn't has it that way | 01:08 | |
colomon | that might have been the complication that kept me from doing sub reduce. | ||
:) | |||
jnthn | Well, I only *really* wanted it for [+] for now anyway ;-) | 01:13 | |
colomon | ;) | ||
TimToady | it's supposed to call infix:<+>() if there are no args | ||
which should return 0 | |||
colomon | right. | ||
lue | rakudo: say [+] 1,3,4 | 01:15 | |
p6eval | rakudo 53ace9: OUTPUT«8» | ||
lue | :O It works! | ||
colomon | lue: did you not believe jnthn? :) | ||
lue | no, but I would think p6eval'd be behind :) | ||
(where have I been? :) ) | 01:16 | ||
sorear | What is ::STD::P6? | ||
jnthn | rakudo: my $x = [=>] 1, 2, 3; say $x.WHAT | ||
p6eval | rakudo 53ace9: OUTPUT«Pair()» | ||
jnthn | rakudo: my $x = [=>] 1, 2, 3; say $x.key | ||
p6eval | rakudo 53ace9: OUTPUT«1 2» | ||
TimToady | basically, it should really just be calling infix:<+>(|$parcel) repeatedly and infix:<+>($prev,|$parcel) if previous didn't bind all args | ||
jnthn | ...d'oh. | ||
TimToady | s/repeatedly// | ||
colomon | .reduce is still a bit short of full [op] specs. | ||
sorear needs to get up to speed on | and parcels | 01:17 | ||
jnthn | spec is still a bit short of iterator instead of capture calls | ||
*on | |||
;-) | |||
TimToady | but it's that partial binding thing again, if we want to be most general | ||
01:17
ggoebel left
|
|||
jnthn | TimToady: Yes. I'm still in need of a detailed spec. :-) | 01:17 | |
TimToady: At the moemnt I just don't have something concrete enough to try and implement. | 01:18 | ||
(Or to get a grip of how hard it'll be to do.) | |||
colomon | there's also the left vs right distinction, I'm assuming you don't have that yet? | ||
jnthn | colomon: Yeah | 01:19 | |
colomon: Well, maybe ti's that reduce needs to check the associativity? | |||
colomon | jnthn: is there a sensible way to translate a str to another str in Actions.pm? | ||
jnthn: hey, can reduce do that? | |||
lue | rakudo: [@] my var1, var2; say @var1.WHAT | 01:20 | |
p6eval | rakudo 53ace9: OUTPUT«Confused at line 11, near "[@] my var"current instr.: 'perl6;HLL;Grammar;panic' pc 500 (ext/nqp-rx/src/stage0/HLL-s0.pir:328)» | ||
colomon | I mean, is there a .assoc or something like that? | ||
lue | Aw. Why didn't it work :) | ||
pugssvn | r30132 | jnthn++ | [t/spec] Little more fudge tweaks. | ||
jnthn | colomon: I'd guess we need there to be | ||
Probably set on the proto. | 01:21 | ||
colomon | it's :assoc in the grammar. | 01:22 | |
jnthn | I do kinda wonder if Multi wants to essentially have a "has $.proto handles *" for trait fallback | ||
TimToady | lue: it didn't work because @ isn't an infix | 01:23 | |
jnthn | colomon: (str to another str) Sorry, I didn't understand. | ||
colomon: Specificly? | |||
colomon | I'm looking at prefix_infix code again. | ||
lue | alpha: say [+] 1,2,3 | 01:24 | |
TimToady | you mean infix_prefix? | ||
colomon | sorry infix_prefix_meta_operator in Actions.pm | ||
snarkyboojum | rakudo: my $s = Set.new(1..10); my $u = Set.new(2..8); say $u ⊆ $s | 01:25 | |
colomon | we ought to be able to switch all of those over to the Xop / Zop model. | ||
lue | rakudo: multi sub infix:<jnthn>($a,$b){say "$a and $b";}; say "Oh why hello ",([jnthn] 1,2) | ||
colomon | but to do that, we need to be able to map from the metaop name to the function that implements it. | ||
snarkyboojum | rakudo: my $s = Set.new(1..10); my $u = Set.new(2..8); say $u.subsetorequal($s) | ||
colomon | so X => 'crosswith', Z => 'zipwith', etc. | 01:26 | |
TimToady | maybe p6eval is bogged down with recompile | ||
p6eval | alpha 30e0ed: ( no output ) | ||
lue | erm, p6eval is not responding :/ | ||
p6eval | rakudo 53ace9: ( no output ) | ||
rakudo 53ace9: OUTPUT«Could not find non-existent sub &infix:<jnthn>current instr.: '' pc -1 ((unknown file):-1)» | |||
rakudo 53ace9: OUTPUT«1» | |||
kudo: a31d523 | jonathan++ | t/spectest.data: Turn S12-attributes/instance.t and S12-methods/chaining.t back on. |
|||
kudo: 2d2b2d5 | jonathan++ | src/core/EnumMap.pm: Implement Hash.elems. |
|||
kudo: 3cb83c3 | jonathan++ | t/spectest.data: Turn S05-mass/stdrules.t back on; all 183 pass. |
|||
jnthn | colomon: Could always build a hash. | ||
snarkyboojum | rakudo: my $s = Set.new(1..10); my $u = Set.new(2..8); say $u ⊆ $s | ||
sorear | TimToady: Is there documentation on Cursors? | ||
snarkyboojum | oh well.. wanted to try out the funky set comparison operators e.g. ⊆ | 01:28 | |
p6eval | rakudo 53ace9: ( no output ) | ||
snarkyboojum | rakudo my $s = Set.new(1..10); my $u = Set.new(2..8); say $u.subsetorequal($s) | ||
lue | A great idea for the official P6 module! | 01:29 | |
TimToady | sorear: not much, you'd get more out of reading Cursor.pmc (warning, grotty p5 code) | ||
sorear | mm | ||
snarkyboojum | rakudo: my $s = Set.new(1..10); my $u = Set.new(2..8); say $u.subsetorequal($s) | ||
TimToady | there are some mentions in S05 | ||
lue | ...if symbols like ⊆ aren't defined by default :) | ||
p6eval | rakudo 53ace9: ( no output ) | ||
snarkyboojum | check out src/core/Set.pm :) masak++ | ||
lue | froody | 01:30 | |
snarkyboojum | rakudo: my $s = Set.new(1..6); my $u = Set.new(4..8); say $s.intersection($u).perl | 01:31 | |
rakudo: my $s = Set.new(1..6); my $u = Set.new(4..8); ($s ∩ $u).perl.say | 01:32 | ||
p6eval | rakudo 53ace9: OUTPUT«Set.new(4, 5, 6)» | ||
rakudo 53ace9: OUTPUT«Confused at line 11, near "($s \u2229 $u)."current instr.: 'perl6;HLL;Grammar;panic' pc 500 (ext/nqp-rx/src/stage0/HLL-s0.pir:328)» | |||
colomon | recompiles ... so .... slow... | 01:33 | |
lue | I would love to help in fixing the memory leak, but that's #parrot 's problem :) | 01:34 | |
jnthn | I think this may be a UTF8 problem. :-/ | 01:36 | |
colomon | jnthn: isn't there already utf8 in things like «<=» ? | 01:37 | |
01:38
justatheory left
|
|||
spinclad | .oO(but <= is 7bit... 6bit even) |
01:39 | |
sorear | French quotes are in ISO-8859-1, the 8 bit subset of Unicode | ||
lue | alpha: multi sub infix:<∩>($a,$b){$a+$b;}; say 3 ∩ 4 | ||
p6eval | alpha 30e0ed: OUTPUT«7» | ||
colomon | sorear: ah. | 01:40 | |
sorear | ISO-8859-1 is targetted at Western Europe | ||
it has all the frills you need for French, Spanish, German, (English), etc | |||
but not Greek etc | |||
lue | would that be a R* or Parrot problem then? (hard to tell, seeing as it works fine outside of the compiled source) | 01:41 | |
01:42
hugme left
01:43
justatheory joined
|
|||
sorear | I've heard lots of FUD about Unicode support in Parrot | 01:43 | |
I'd be interested in knowing how much is true | |||
lue | rakudo: say "\u1923 \u0142 \u0221 \u0314 \u0607" # just curious | 01:44 | |
p6eval | rakudo 53ace9: OUTPUT«\u1923 \u0142 \u0221 \u0314 \u0607» | ||
lue | oh! :( | 01:45 | |
colomon | rakudo: say "\u[1923]" | 01:47 | |
p6eval | rakudo 53ace9: ( no output ) | ||
jnthn | OK, sleep is wanted | ||
01:47
envi^home joined
|
|||
colomon | night! | 01:47 | |
lue | sleep is given o/ | ||
jnthn | night o/ | ||
lue | rakudo: say "\x[1923,0142,0221,0314,0607]" # just curious | 01:48 | |
p6eval | rakudo 53ace9: OUTPUT«ᤣłȡ̔؇» | ||
lue | is that a BACKWARDS cube root? | ||
rakudo: say "\x0314" | 01:49 | ||
p6eval | rakudo 53ace9: OUTPUT«̔» | ||
lue | rakudo: say "\x0221" | ||
p6eval | rakudo 53ace9: OUTPUT«ȡ» | ||
lue | rakudo: say "\x0607" | ||
p6eval | rakudo 53ace9: OUTPUT«؇» | ||
lue | rakudo: say "\x[0605,0606,0607,0608,0609]" | 01:50 | |
p6eval | rakudo 53ace9: OUTPUT«؆؇؈؉» | ||
sorear | vim thinks Cursor.pmc is C code, stupid Parrot not picking unique file extensions | 01:51 | |
lue | .u ؇ | ||
phenny | U+0607 (No name found) | ||
sorear mumbles at a screenfull of xFFFD | |||
lue | why can't they be .bolton files for PASM .notlob for PIR? :) | 01:52 | |
sorear: sorry :) | |||
.u FFFD | 01:54 | ||
phenny | U+FFFD REPLACEMENT CHARACTER (�) | ||
02:00
PZt joined
02:04
am0c left
|
|||
dalek | kudo: a6e9e13 | (Solomon Foster)++ | src/Perl6/Actions.pm: Mark that the reduce operator has been generated. |
02:12 | |
lue is currently planning out a proposal to Wikimedia for a "Wikiguide" project. | 02:21 | ||
snarkyboojum | what does something like: %r = box $I0 do? | 02:25 | |
TimToady | boxes up an integer as an object | 02:26 | |
snarkyboojum | box $I0 creates a PMC from an integer right... | 02:27 | |
TimToady: what's the %r do in PIR? | |||
colomon | return value, isn't it? | 02:28 | |
snarkyboojum | ah! | ||
colomon: cheers | |||
TimToady: cheers | |||
colomon | snarkyboojum: mind you, I'm pretty weak with PIR. :) | ||
snarkyboojum | %r must be something to do with Q:PIR though? | 02:30 | |
colomon | I think there's some subtlety there I don't get, because there's also a return in PIR. | 02:31 | |
snarkyboojum: I suspect you're right about that. | |||
snarkyboojum | my goodness the "change this line, build, wait for failure" iteration is long eh? :) | 02:32 | |
02:32
ShaneC1 left
|
|||
colomon | for sure. | 02:32 | |
snarkyboojum | not good for newbies like myself | 02:33 | |
colomon | it's really getting annoying. | ||
snarkyboojum | plenty of time to read documentation while waiting I guess | ||
colomon: did it always take this long, or has it become appreciably longer? | |||
colomon | I'm watching "Republic of Doyle" with my wife and a friend of ours. Good times. :) | ||
It's a new thing, jnthn and I have been complaining about it all day. | 02:34 | ||
snarkyboojum | I see.. let's hope it suddenly disappears through some flash of brilliance :) | 02:35 | |
colomon | I guess I can test jnthn's theory on the source of the problem on my quadcore downstairs without interrupting development here... | 02:37 | |
snarkyboojum | would be cool if stage 0 compiler could use both cores when compiling core.pm -> core.pir | 02:38 | |
or perhaps it does... | |||
I think it does :) | |||
lue | snarky: I detect several Level 3 brilliance flashes near Proxima Centauri. They should be here soon... | ||
snarkyboojum | lue: about 4 light years away? :) | 02:40 | |
lue | It's faster than light. Won't take that long | 02:42 | |
sorear can't wait for stage 0 to be deleaked | |||
lue | It's called blocking the draft, and their aren't enough guys in the neighboring #parrot room to block it :) | 02:45 | |
There are barely enough people here on #perl6 to block this room's draft, let alone another's! | 02:46 | ||
s/draft/drafts/ | |||
Teratogen | .pir? | 02:49 | |
snarkyboojum | Teratogen: Parrot Intermediate Representation - an assembly language for the Parrot VM | 02:51 | |
Teratogen | thanks | ||
I collect file extensions =) | |||
and mime types | |||
snarkyboojum | then add .pasm, pir, pbc as well :) | 02:52 | |
oh and .pmc :) | |||
lue | PIR is slightly higher level than assembler. PASM is parrot's assembler :) | 02:53 | |
snarkyboojum | they're both assembly languages of sorts - PIR is just a higher level assembly language :) | 02:54 | |
spinclad | snarkyboojum: %r becomes a $Pn register which is used as the value of the Q:PIR block. it's not stric | 02:55 | |
Teratogen | ok thanks | ||
snarkyboojum | spinclad: ah ok - cheers, so effectively the return value of the Q:PIR block? | 02:56 | |
lue | there should be the .timtowtdi file (P6 related, of course, but no idea what it should contain) | ||
02:56
jaldhar joined
|
|||
spinclad | *strictly a return as the Q:PIR block is inserted inline. | 02:56 | |
snarkyboojum | okydoke | ||
fridim | (perl6.org is down) | ||
spinclad | a 'return' op within the Q:PIR block would return from the including sub. | 02:57 | |
snarkyboojum | spinclad: cool - I think I even understand that! :) | ||
lue | aw, perl6.org is down :( (I am now thinking of creating a new protocol for the internet: SubEtha-Net Protocol) | 02:59 | |
.oO( senp://search:h2g2;term:"perl6"; ) |
03:00 | ||
sorear | Teratogen: remember to add pmc twice - Perl6 uses it for two quite unrelated files | 03:06 | |
Teratogen | ok | ||
colomon | phenny: tell jnthn You're quite right. Compile time 5m38.086s current code, 3m1.791s with the Set.pm commit reverted. | 03:10 | |
phenny | colomon: I'll pass that on when jnthn is around. | ||
lue | phenny: tell jnthn Read colomon's message. It's critical [ :P ] | 03:12 | |
phenny | lue: I'll pass that on when jnthn is around. | ||
sorear | =[- 0 | 03:13 | |
spinclad | phenny: tell phenny to tell jnthn if we all tell phenny to tell you it must be important, no? | 03:18 | |
phenny | Hey, I'm not as stupid as Monty you know! | ||
spinclad | :) | ||
lue | :O Monty Python is not stupid! | 03:20 | |
phenny: tell phenny it's work is appreciated | |||
phenny | Hey, I'm not as stupid as Monty you know! | ||
spinclad | Monty Haul, maybe? | 03:21 | |
lue | phenny: tell lue this is getting ridiculous | 03:22 | |
phenny | You can tell yourself that. | ||
lue | :D | 03:23 | |
spinclad | phenny: tell me i'm pretty | ||
phenny | Hey, I'm not as stupid as Monty you know! | ||
spinclad | :( | 03:24 | |
lue | phenny: Monty is not stupid! | ||
phenny: tell Link to save the world | |||
phenny | lue: I'll pass that on when Link is around. | ||
spinclad | *sob* phenny thinks i'm ugly! i bet hugme wouldn't say that! | 03:25 | |
lue | that's enough abuse. :) | ||
hugme: hug hugme | |||
it's gone again! :( | |||
spinclad | *sob* and hugme isn't even *around*! | 03:26 | |
spinclad breaks down completely | |||
lue | phenny: tell hugme he is needed badly | ||
phenny | lue: I'll pass that on when hugme is around. | ||
lue | lessee... any other bots we can use? | 03:27 | |
buubot: plugins | |||
buubot | lue: add_paste arg be bels cache_check compose conf conf_dump core define echo eval factoids farns geoip google head help host_lookup imdb its jbe jbels join karma karma_modify more nick_lookup oeis part pastebin plugins quote reload_plugins restart rss rss_title rt save_config sc2 seen shorten show_paste spell tell tfw topic unicode weather | ||
lue | buubot: google buubot | 03:28 | |
buubot | lue: www.perlmonks.org/?node_id=731727 - meow for buubot Dec 20, 2008 ... only meant for a buubot to 'eval: ', due to the wonderful things it stuffs into $_. To be honest, the join bit was a happy accident: ... | ||
lue | hey! buubot has a karma plugin! | 03:29 | |
03:30
justatheory left
|
|||
sorear | buubot: karma TimToady | 03:34 | |
buubot | sorear: TimToady has karma of 169 | ||
lue | buubot: karma jnthn | 03:36 | |
buubot | lue: jnthn has karma of 649 | ||
lue | jnthn++ (for all the great work he does) | 03:37 | |
buubot: karma jnthn | |||
buubot | lue: jnthn has karma of 650 | ||
lue | :O It does keep track! | ||
(still) | |||
buubot: karma lue | |||
buubot | lue: lue has karma of 22 | ||
lue | :) | ||
sorear | buubot: karma sorear | 03:40 | |
buubot | sorear: sorear has karma of 4 | ||
snarkyboojum | buubot: karma pmichaud | ||
buubot | snarkyboojum: pmichaud has karma of 879 | ||
lue | I would experiment more with the karma system, but that seems unethical | 03:41 | |
buubot: karma phenny | |||
buubot | lue: phenny has karma of 14 | ||
lue | buubot: karma buubot | ||
buubot | lue: buubot has karma of 2 | ||
sorear | buubot: karma buu | ||
buubot | sorear: buu has karma of 151 | ||
03:42
petdance joined
|
|||
colomon | phenny: tell jnthn help? I rewrote the Actions for !op and Rop, and now it seems like != is parsing as ! =, which is causing all kinds of trouble. What I don't understand is how this is different than what I had before in terms of grammar... | 03:47 | |
phenny | colomon: I'll pass that on when jnthn is around. | ||
03:49
araujo joined
|
|||
spinclad | colomon: LTM fail? (since nqp doesn't fully LTM yet,) reorder some new alternatives? | 03:49 | |
does it seem to parse as ![=], [!]=, or two tokens? | 03:50 | ||
[!]= doesn't make much sense, as ! isn't infix, but still | 03:51 | ||
03:52
araujo left
03:53
araujo joined
|
|||
TimToady | certainly != should beat a meta ! | 03:54 | |
spinclad | (the [!=] parse should be best match in a proper LTM, like STD i presume: same length as the other compounds but a specific match) | ||
TimToady: you beat me | 03:55 | ||
TimToady | STD doesn't look past the metaop | ||
so ! is the longest token for a metaop | |||
the old rakudo model was generating tokens of the whole thing, so maybe something is hanging on there | 03:56 | ||
spinclad | (so in !> why does it choose the metaop over bare !? that bare ! is prefix, so not seen?) | 03:58 | |
03:58
snarkyboojum left
|
|||
TimToady | there is no bare ! infix | 03:58 | |
spinclad | right, i just worked that out | ||
TimToady | and for something like X vs Xop, it's order based | 03:59 | |
well, it was, though now we require a \S after meta X | |||
so it always checks the meta op first now | 04:00 | ||
regardless of order | 04:01 | ||
(in STD) | |||
spinclad | ok, i had been thinking meta[op] was parsed as a single token for LTM purposes, even if a compound token. i sit corrected. | ||
TimToady | used to be, but that doesn't scale | ||
and doesn't allow recursive meta tokens | 04:02 | ||
since LTM requires DFAable | |||
sorear | why does LTM require DFA? | 04:03 | |
TimToady | theoretical efficiency | ||
spinclad | (well, my model had LTM chasing the recursion, but just as well not, as TimToady knows better than i.) | ||
TimToady | and maps well onto humans ideas of words | 04:04 | |
or morphemes | |||
lue | I normally enjoy theoretical things, but La Deklaroj de Nocioj Asocio (me) hasn't looked over it :) | 04:05 | |
TimToady | we do have the concept of metatokens that exclude spaces though, but they're composed of tokens | 04:06 | |
spinclad | hm. i know of a fair number of languages where 'word' and 'morpheme' seem to be recursive notions | ||
prefix + stem -> stem, stem + suffix -> stem | 04:08 | ||
but those would be compounds of tokens then, if not lexicalized | 04:10 | ||
the productive internal sandhi rules (that derive regular inflection, like 'worked' and 'vaxes', not 'broken' and 'vaxen') would apply to these compounds to produce the surface word forms. | 04:18 | ||
it would be an interesting stretch to do this naturally in a Perl 6 grammar. | 04:20 | ||
04:20
am0c joined
04:21
justatheory joined
04:36
meppel joined
04:37
eternaleye joined
05:00
petdance left
05:23
p6eval left
05:26
p6eval joined
05:27
justatheory left
05:34
justatheory joined
05:41
Exodist left
05:45
justatheory left
05:50
Chillance left
05:52
MAK_ joined
|
|||
lue | hello? (it's been over an hour since the last comment...) | 05:57 | |
MAK_ | Hi | ||
lue | hello o/ | ||
MAK_ | Just joined and finding where to start with Perl6... Jnthn asked to read moritz's perl5 to 6 blog posts | 05:58 | |
How in-depth will be the book which Perl6 hackers are writing currently | 05:59 | ||
05:59
Exodist joined
|
|||
MAK_ | Will it be like taking a feature of P6 and showing how to use it in an example, and then covering all the features? | 06:00 | |
As a suggestion it will be good if they also explained extremness of what is possible with perl 6 | 06:01 | ||
06:02
Exodist left,
Exodist joined
|
|||
MAK_ | The 'extent' of what is possible is Perl5 really keeps perl programmers always motivated to use it | 06:03 | |
lue | I cannot help you there, mainly because it's almost time to sleep :D | 06:09 | |
goodnight o/ | |||
TimToady | it's at perlgeek.de/en/article/5-to-6 | ||
unfortunately perl6.org is down at the moment | |||
but I still have old page up here :) | |||
o/ | |||
MAK_ | TimToady : Thanks :) | 06:12 | |
The usual way of learning a language is to proceed thinking everything's right, manuals are all available | 06:13 | ||
And its all done | |||
In perl6 the cycle of learn-unlearn-learn is so steep | |||
Its real fun :) | |||
06:14
IllvilJa joined
|
|||
MAK_ | After some time, reading the spec and compiler code seem to be the 'current' way of being good at perl 6 | 06:15 | |
TimToady | so far, and just absorbing things by osmosis here | ||
but books are in progress | 06:16 | ||
06:16
aesop joined
|
|||
MAK_ | In a way thats good, that helps to be a better programmer ... its good to know what magic happen inside your language compiler. Especially in case of perl... | 06:16 | |
TimToady | well, the main difference between what you have to go through and what we went through over the years is you hopefully don't have to go down all the same blind alleys we did :) | 06:18 | |
MAK_ | People who write these compilers and interpreters are really great, they are like 'First among equals' among all great programmers | ||
TimToady | yeah, a lot of those folks hang out here :) | 06:19 | |
06:20
agentzh joined
|
|||
meppel | but not awake at some places on the world | 06:21 | |
TimToady | not too many Perl hackers on Tahiti :) | 06:22 | |
MAK_ | TimToady: How was it even possible for you to write Perl5 in say 3 years? | 06:23 | |
TimToady | I was smarter back then. :) | ||
and also stupider... | 06:24 | ||
but mostly by adding only a few minimal things, like OO | |||
in retrospect, perhaps a bit too minimal | |||
MAK_ | I meant it was only you then and you managed it in 3 years, and with all of it ... it has almost taken a decade for 6 | 06:26 | |
TimToady | 6 is much more ambitious, and fixing everything that went wrong in 1..5 | ||
sorear | perl 5 was never supposed to be perfect | ||
TimToady | though it doesn't look like it, p5 actually evolved from p4 | ||
there were intermediate forms that executed some instructions in the p4 engine and some in the p5 engine | 06:27 | ||
sorear | if Perl 6 had never backed out of bad ideas, we'd be done in 2 years | ||
TimToady | I guess the compiler was entirely new | ||
sorear goes and tries to find a copy of the p4 engine | |||
MAK_ | What must one learn/do get into these kind of 'great things' ,,, Is it talent, hard work , or is it just some of us too good for this kind of a job? | 06:30 | |
sorear | great things? | 06:32 | |
MAK_ | Perl 6 is really great | ||
TimToady | mostly it's a willingness to look at all the pain that P5 programmers were having, and willing to take lots and lots of little steps to do something about most of those pains | 06:33 | |
only with better grammar :) | |||
"a long obedience in the same direction" | 06:34 | ||
meppel | people who just work can do such things. and i wont, because im a lazy victim of wealth, but i try | ||
TimToady | a willlingness to search the design space exhaustively so other people don't have to | ||
I spent most of this morning deciding not to change two metaoperators :) | 06:35 | ||
MAK_ | :) | ||
sorear | and the prioritization is very painful | 06:37 | |
jhuni | rosettacode.org/wiki/Category:Perl_6 | ||
^^ that link is also nice for learning perl6 | 06:38 | ||
has perl5 code too | |||
TimToady | rakudo: say ('*' Xx 1..5) X~ "\n" | 06:39 | |
MAK_ | Abstraction is the most helpfull at the same time most destructive to a programmers mind | ||
sorear just got out of listening to cpan:NOTHINGMUCH complaining about how "make sure type inference is actually implementable" was not given sufficient priority and how most of Rakudo/Parrot will have to be thrown out in two years because it's going to prove incompatible and there's no point in contributing now | 06:40 | ||
yech. | |||
p6eval | rakudo a6e9e1: OUTPUT«No applicable candidates found to dispatch to for 'crosswith'. Available candidates are::(&op, Iterable $a-iterable, Iterable $b-iterable)current instr.: 'perl6;Code;assuming_helper' pc 12744 (src/builtins/Str.pir:38)» | ||
TimToady | I see languages that make type inference central, and these same languages tend to useful only to geniuses who can second guess the inferencer. | 06:46 | |
as an optmization to cut down the number of multi candidates, it's fine though | 06:49 | ||
sorear | his argument is that there is no evidence type inference can be made to work "well enough", and nobody did adequate prototyping 8 years ago when throwing out large portions of Parrot was still an option, and no working type inference means no usably fast MMD | 06:54 | |
if you care | 06:55 | ||
TimToady | he's welcome to work on pugs :) | 06:57 | |
spinclad | i'm sure complete type inference at compile time will not be possible, so at least traces of type data must remain at runtime (unlike in ML). i don't see this as a problem. the *more* type inference must be left for runtime, the less benefit and the worse for us, though. | 07:02 | |
TimToady | hotspot optimizers can run pretty darn fast these days | ||
anyway, I'd rather approach it from the end that allows mere mortals to understand the language; we've already got plenty of the other sort of language | 07:05 | ||
sorear | what is compile time? | 07:09 | |
spinclad | i might try to argue that a simply-typed program is more easily understood than one where it's hard to predict the types (and easier on a hotspot analyzer too), even though understanding *that* it's well-typed is still hard. | ||
sorear | I mean, in the context of Perl 6 | ||
static type analysis of a language like C is easy, the syntax just sits there | 07:10 | ||
Perl 6... you've got evals (which the entire module system is based on), and BEGIN (which the entire object system is based on) | |||
spinclad | sorear: i suppose it might be the time when you try to infer a plan to run, before actually running | 07:11 | |
sorear | spinclad: the point of BEGIN is that there is no such thing as "before actually running" | ||
TimToady | I would point out that STD uses nothing like BEGIN yet | 07:12 | |
sorear | your code is being run as soon as the first line is parsed, assuming you start your files with a use | ||
spinclad | i somewhat disagree. the point of BEGIN is that some parts of the text have to run before you can begin really thinking about other parts | 07:13 | |
but for each piece of text, you can still plan first before running | |||
TimToady | BEGIN and eval are safety valves for when you can't do something by standard means. part of the p6 design is to reduce the dependency on BEGIN and eval | ||
sorear | you can talk about compile times for Perl... but they're chopped into bits so small they hardly matter | 07:14 | |
hmm | |||
does use still carry the full weight of BEGIN? | |||
TimToady | no | ||
it does, in theory, run the expressions that calculate its arguments, but STD just fakes that bit currently for static lists | 07:15 | ||
07:16
qiuhw joined
|
|||
TimToady | there are a few test files that STD can't parse currently because it doesn't run anything at compile time | 07:16 | |
but more than 99% of the .t files can be parsed statically | 07:17 | ||
the only place it does anything like that is when you define a new operator, and which point it writes a bit of Moose code to derive the new grammar in P5 terms and evals that in Cursor.pmc | 07:18 | ||
07:19
qiuhw left
|
|||
jhuni | what does the φ character do? | 07:21 | |
sorear | .u φ | ||
phenny | U+03C6 GREEK SMALL LETTER PHI (φ) | ||
TimToady | it doesn't do anything unless you put it somewhere meaningful; Perl 6 certainly does not give it any special meaning | 07:22 | |
where did you see it? | |||
jhuni | rosettacode.org/wiki/Fibonacci_sequence#Perl_6 | ||
sorear | φ has a meaning in Perl5; it's part of an identifier | ||
it is, after all, a lowercase letter | 07:23 | ||
*Perl6 | |||
hmm I don't think I've seen the 'constant' form | |||
anyways, phi is the mathematical symbol for the golden ratio | 07:24 | ||
TimToady | sure, you can use it like any other letter | ||
rakudo: constant LUE = 42; say LUE | |||
maybe p6eval is tired | 07:25 | ||
jhuni | sorear: yeah it looks like it is being used as the golden ratio =/ | ||
the syntax looks baffling though | |||
constant φ1 = 1 / do constant φ = (1 + sqrt 5)/2; | 07:26 | ||
TimToady | I think the do should be unnecessary | 07:27 | |
07:27
p6eval left
|
|||
TimToady | someone is thinking you can only have a declarator as a statement, I guess | 07:27 | |
spinclad | in mathematical tradition it's the 'golden ratio', as in the constant φ just above | ||
TimToady | most of the rosetta p6 is a bit odd | 07:28 | |
07:28
p6eval joined
|
|||
spinclad | (oop, too late. sorear++) | 07:28 | |
TimToady | std: constant φ1 = 1 / do constant φ = (1 + sqrt 5)/2; | ||
server is probably overloaded | 07:29 | ||
p6eval | std 30132: OUTPUT«ok 00:01 108m» | ||
TimToady | std: constant φ1 = 1 / constant φ = (1 + sqrt 5)/2; | ||
p6eval | std 30132: ( no output ) | ||
TimToady | std: constant φ1 = 1 / constant φ = (1 + sqrt 5)/2; | ||
p6eval | std 30132: ( no output ) | 07:30 | |
TimToady | works fine locally | ||
spinclad | it looks like that's defining φ and 1/φ | ||
which are good things to define | |||
(the do is turning a statement into a value?) | 07:31 | ||
TimToady | rakudo: constant π = pi; say π | 07:32 | |
p6eval | rakudo a6e9e1: OUTPUT«Could not find non-existent sub &πcurrent instr.: '_block14' pc 29 (EVAL_1:0)» | 07:33 | |
TimToady | alpha: constant π = pi; say π | ||
p6eval | alpha 30e0ed: ( no output ) | 07:34 | |
TimToady | spinclad: yes | ||
which is useful for things that are statement controls, like 'do given' | 07:35 | ||
words in the category of 'do' are called statement prefixes | |||
also 'try', 'gather', 'sink', etc | 07:36 | ||
you'll be seeing a lot more 'gather for' than 'do for', probably | |||
07:39
MAK_ left
|
|||
TimToady | most of the phasers are also statement prefixes, syntactically | 07:41 | |
std: BEGIN say 42; | 07:42 | ||
server is obviously tired | |||
come to think of it, so am I | |||
zzz & | |||
spinclad | in this case is constant x an expression now, and the do a fossil, or ... something else ? /me disremembers... (/me too) | 07:43 | |
sweet dreams | |||
p6eval | std 30132: ( no output ) | 07:44 | |
TimToady | all declarators are expressions now in the sense of returning whatever was declared at compile time as a value at run time | 07:45 | |
07:45
rhr joined
|
|||
TimToady | only statement_control words are required to occur at the beginning of a sentence, er, statement | 07:46 | |
and the inside of () etc is a statement too | |||
really zzz & | |||
spinclad | so should we really capitalize them? | 07:47 | |
:) | |||
07:50
fridim left
07:51
fridim joined
08:02
rhr left
08:04
rhr joined
08:07
snarkyboojum joined,
simcop2387 joined
08:13
dual left
08:18
meppel left
08:19
molaf joined
08:20
molaf left
|
|||
colomon | phenny: tell jnthn The instance.t test for has $.c = $.a + $.b; (line 451ish) is dying on my system. Can't see how this is related to my latest patch, so I pushed the patch anyway. | 08:38 | |
phenny | colomon: I'll pass that on when jnthn is around. | ||
xinming | What is the function name bound to ++ in perl? | ||
colomon | succ, I think? | 08:39 | |
xinming | colomon: In which synopsis/ | ||
? | |||
colomon | errr, no that's not quite right. | ||
rakudo: my $a = 4; say $a.succ; say $a; | |||
xinming | colomon: IIRC, succ is correct. | ||
pugs: my $a = 4; $a.succ; say $a; | 08:40 | ||
colomon | I don't think .succ changes the object it is called on, it just returns its successor. | ||
> my $a = 4; say $a.succ; say $a; | |||
5 | |||
4 | |||
I think p6eval is having issues at the moment. :( | |||
xinming | > my $a = 4; say $a++; say $a; | 08:41 | |
p6eval | rakudo a6e9e1: ( no output ) | ||
pugs: OUTPUT«*** No such method in class Int: "&succ" at /tmp/8SMxSyESwL line 1, column 12-19» | |||
colomon | I'm not sure there is a function that does the full activity of ++ | ||
dalek | kudo: 1c5de1c | (Solomon Foster)++ | src/core/metaops.pm: Create helper crosswith and zipwith functions that call .list on their arguments, so that single scalar arguments can be promoted to Iterables and work with the normal crosswith / zipwith functions. |
||
colomon | other than maybe &prefix:<++>, if it exists. | ||
back to bed.... | 08:42 | ||
xinming | my $a = 4; $a .= ++; say $a; | ||
colomon: good bed. :-) | |||
08:43
eternaleye left
08:44
eternaleye joined
08:49
iblechbot joined
09:23
rv2733 joined
09:36
vamped joined
|
|||
vamped | hi all - any one alive tonight? | 09:38 | |
09:41
iblechbot left
|
|||
vamped | ok, well, no. I'll ask a question and read later if any back-logger wants to answer it. | 09:41 | |
Why does Bool::False stringify to 1 ? It seems logical to me that is would stringify to "True". I'm confused. | 09:42 | ||
rakudo: my $x = True; say $x; | |||
p6eval | rakudo 1c5de1: OUTPUT«1» | ||
sorear | vamped: I'd like to know about your magic IRC system | 09:43 | |
vamped | lol. yesterday. well ... | ||
sorear | it's like you're continuously tailing the backlog and only connect when you want to speak | ||
some unholy IRC/microblog gateway using Accept-Bytes, RSS, and a connection pool? | 09:44 | ||
vamped | I logged in to try out a command in a private window. While I was there I saw the question from the irc log. | 09:45 | |
Are you spying on me? :-) | 09:46 | ||
sorear | No | ||
You just act weird and I'd like to steal some of your tools | |||
vamped | What is weird? I'm often reading the backlog via web browser. And I use irssi to log in. | 09:48 | |
sorear | I thought you might have some ... *interesting* system | ||
based on what you did yesterday | |||
I was wrong. | |||
vamped | you mean logging in, and answering a question that was asked before I logged in? I'm experimenting with the time-traveling debugger :D | 09:49 | |
09:51
payload joined
10:07
Juerd joined
|
|||
Juerd | feather0 has a problem with LVM: lvs and other lv-commands don't respond anymore. | 10:08 | |
This has several effects, including that no backups have been made for the past week or so. | |||
I want to reboot feather0 to see if that solves anything. Are there any strong objections to doing this immediately? | 10:09 | ||
I might use the opportunity to attempt a Xen upgrade | |||
(Rebooting feather0 means that all other feather* will be shut down) | 10:10 | ||
vamped | suppose now is probably about the least active time | 10:11 | |
10:11
dual joined
10:18
fridim left
10:32
Su-Shee joined
|
|||
Juerd | Okay, here it goes then | 10:37 | |
10:47
dalek left,
dukeleto left,
Juerd left,
pugssvn left
10:58
M_o_C joined
11:10
jhuni left
11:20
TiMBuS joined
11:30
mauror joined
11:34
pmurias joined,
agentzh left
|
|||
colomon | is pugscode on feather, then? my chreck-in just failed... | 11:40 | |
moritz_ | colomon: it is | 11:41 | |
11:41
iblechbot joined
|
|||
colomon | no big deal, I just have to remember to check in the changes later. | 11:41 | |
moritz_ | same here | 11:42 | |
colomon | seems like there have been a lot of exciting developments in rakudo in the last two days! | ||
moritz_ | aye | 11:43 | |
vamped | btw Juerd had to take down feather0 | 11:44 | |
11:48
am0c left
12:02
clintongormley joined
12:07
Juerd joined
|
|||
Juerd | The updates for feather0 are not going too well. | 12:07 | |
It had ancient versions of everything, and even had the Debian SSL vulnerability. | 12:08 | ||
12:18
pmurias left
|
|||
moritz_ | ouch | 12:23 | |
Juerd: anything I could help you with? | 12:24 | ||
otoh I'm not familiar with LVM | 12:26 | ||
12:28
payload1 joined,
payload left
|
|||
Juerd | moritz_: The LVM issue has been resolved | 12:30 | |
moritz_ | great | 12:31 | |
Juerd | Now it's just fighting the differences between the ancient versions of everything, and the modern ones | ||
And trying to remember what the tricks were | |||
12:36
mauror left
|
|||
colomon | does phenny run on feather? | 12:44 | |
moritz_ | seems not | 12:45 | |
Juerd | Anything that's still running, is definitely not running on feather :) | 12:50 | |
I hate grub. | |||
grub1's documentation was incomplete, grub2's documentation is even worse | 12:51 | ||
There's no useful documentation that comes with the package, and the official documentation is a wiki. | |||
It's tutorialish, and I can't find reference documentation for the configuration file. For example, every entry has a "search" line. What does it do? What does it mean? What parameters can it take? I'm back to trial and error. | 12:52 | ||
12:54
vamped left
12:58
wknight8111 joined
13:11
mberends joined
13:16
xomas left
13:23
jnthn joined
|
|||
jnthn | oh hai | 13:23 | |
phenny | jnthn: 03:10Z <colomon> tell jnthn You're quite right. Compile time 5m38.086s current code, 3m1.791s with the Set.pm commit reverted. | ||
jnthn: 03:12Z <lue> tell jnthn Read colomon's message. It's critical [ :P ] | |||
jnthn: 03:47Z <colomon> tell jnthn help? I rewrote the Actions for !op and Rop, and now it seems like != is parsing as ! =, which is causing all kinds of trouble. What I don't understand is how this is different than what I had before in terms of grammar... | |||
jnthn: 08:38Z <colomon> tell jnthn The instance.t test for has $.c = $.a + $.b; (line 451ish) is dying on my system. Can't see how this is related to my latest patch, so I pushed the patch anyway. | |||
mberends | hey jnthn | 13:24 | |
jnthn | Systemet has Slovak beer today \o/ | ||
mberends: How's things? | |||
mberends | nice, back in .nl for a couple of weeks. top priority is now proto | 13:25 | |
jnthn got screen and irssi running on his own server for now, while feather is still having her updates. :-) | |||
mberends: Cool! | |||
jnthn looks forward to progress on proto | |||
mberends: Let me know what Rakudo missingness or bugs you run into. | 13:26 | ||
mberends | jnthn: is your own server located in Lund? | ||
jnthn | colomon: I think I know why $.c = $.a + $.b explodes - will try and fix soon. | ||
mberends: No, it's the one that hosts jnthn.net and so forth, and lives somewhere in Germany. | |||
mberends | jnthn: yes I intend to nag about any Rakudo todo's right here | 13:27 | |
moritz_ | speaking of Rakudo todos: BEGIN not working is rather ugly, because it means you can't manipulate @*INC before loading modules | 13:28 | |
unless you resort to eval | |||
jnthn | moritz_: yeah, it stops us running a bunch of tests. | ||
mberends | moritz_: proto will work around that by using the existing directories predefined in @*INC | ||
jnthn | moritz_: I meant to fix it yesterday...but accidentally did reduction meta-ops instead. | ||
moritz_ | OH NOEZ :-) | 13:29 | |
13:29
moritz_ sets mode: +ooo jnthn mberends Juerd
|
|||
jnthn | These things happen. ;-) | 13:29 | |
moritz_ | mberends: that's easy for proto, because ~/.perl6/lib was explicitly added for proto & co | ||
jnthn | OK, I need to have some nom before anything else. :-) | ||
moritz_ | erm, easy-ish | ||
mberends | moritz_: I understand. it's not ok for the general case. | 13:30 | |
jnthn | Making BEGIN sort of work in a "get us tests back" is easy. Making BEGIN work a little bit more is a little trickier. Making BEGIN really really really work is very hard. :-) | ||
13:31
justatheory joined
|
|||
moritz_ | akshually I'm not too concerned about tests; more about getting my modules running again :-) | 13:31 | |
which mostly just modify @*INC, and do nothing else at compile time | 13:32 | ||
mberends | moritz_: can you get by with `export PERL6LIB=$HOME/lib` or so? | 13:33 | |
moritz_ | mberends: I'll try that | ||
moritz_ tries JSON::Tiny | 13:34 | ||
13:35
masak joined
|
|||
masak | oh hai, #perl6 | 13:35 | |
phenny | masak: 19 Mar 14:58Z <mathw> tell masak I'm disappointed that wasn't named enums | ||
jnthn | lolitsmasak | ||
masak | sorry about the unicode slowdown :/ | ||
jnthn | masak: It's OK, not your fault. | ||
masak | has someone gotten the unicode ops to work in the evalbot? | 13:36 | |
otherwise, we might as well scrap them for now... | |||
moritz_ | rakudo: say 'ö' | ||
rakudo: say 'ö'.chars | |||
p6eval | rakudo 0bb373: OUTPUT«ö» | 13:37 | |
rakudo 0bb373: OUTPUT«1» | |||
Juerd expects a plural named method to return a list :( | |||
moritz_ | why shouldn't Unicode ops work in p6eval? | ||
colomon | masak: Set.pm has devastated the compile speed of Rakudo. (see backlog) | 13:38 | |
colomon is off to get junk out of the house... | |||
masak | rakudo: say 1..3 ∪ 2..5 | ||
colomon: yes, I saw that. hence the 'sorry!' :( | |||
p6eval | rakudo 0bb373: OUTPUT«Confused at line 11, near "say 1..3 \u222a"current instr.: 'perl6;HLL;Grammar;panic' pc 500 (ext/nqp-rx/src/stage0/HLL-s0.pir:328)» | 13:39 | |
masak | moritz_: I don't know, why shouldn't it? | ||
13:39
ruoso joined
|
|||
masak | why doesn't it? | 13:39 | |
13:40
justatheory left
|
|||
moritz_ | because it doesn't like the same locally either? | 13:40 | |
masak doesn't understand that answer | |||
moritz_ | locally the line you tried on p6eval doesn't work either | 13:41 | |
why should it work on p6eval? | |||
let's ask differently: what makes you think that p6eval is to blame, and not rakudo? | |||
masak | I guess I'm not complaining about p6eval, really. | ||
moritz_ | ok | ||
then I parsed you wrongly :-) | |||
masak | I'm wondering why, after I defined that infix operator, it doesn't work? | 13:42 | |
this question is part of a line of questioning that might eventually lead to me removing the unicode operators from Set.pm. | 13:43 | ||
jnthn | Do any of them work? | ||
masak | but I just want to get the facts first. | ||
moritz_ | if I define infix:<∪> in an ordinary perl 6 source file, I have no problems with it. | ||
rakudo: sub infix:<∪>(@a, @b) { @a, @b }; | |||
jnthn | ah, no, they won't | ||
p6eval | rakudo 0bb373: ( no output ) | ||
moritz_ | rakudo: sub infix:<∪>(@a, @b) { @a, @b }; say (1, 2, 3) ∪ (2, 3, 4, 5) | ||
p6eval | rakudo 0bb373: OUTPUT«1232345» | 13:44 | |
jnthn | masak: For now (see operators.pm) operators should be marked as "our" | ||
masak: our multi ... | |||
masak | jnthn: ok. fixing. | ||
13:44
abra joined
|
|||
jnthn | masak: We don't really have the whole lexical thing with settings straightened out yet. | 13:44 | |
moritz_ | rakudo: say chr(:16('FE')) | 13:48 | |
p6eval | rakudo 0bb373: OUTPUT«Confused at line 11, near "say chr(:1"current instr.: 'perl6;HLL;Grammar;panic' pc 500 (ext/nqp-rx/src/stage0/HLL-s0.pir:328)» | ||
13:49
dalek joined,
abra left
13:51
Juerd left,
Juerd joined
|
|||
jnthn | Juerd++ | 14:00 | |
Juerd | :) | ||
masak | \o/ Juerd++ | 14:01 | |
moritz_ | perl6.org seems to be back, not sure yet about pugs svn | 14:03 | |
yes, works but slow | |||
14:05
fridim joined
|
|||
moritz_ | somehow we have a huge load average, but no CPU usage | 14:07 | |
Juerd | Let's see | ||
Must be the backup that's running | 14:08 | ||
moritz_ | that would explain a lot | ||
Wolfman2000 | *yawn* ...how did the bug get named Camelia anyway? | ||
Juerd | Normally the level 0 (full) backup is done much earlier on Saturday. | 14:09 | |
masak | Wolfman2000: the Camel is named 'Amelia'. | ||
TimToady | Wolfman2000: you would have to ask her parents | ||
Wolfman2000 | TimToady: I don't even know who her parents are. | 14:10 | |
The website seems to indicate a sister, but that's it. | |||
14:10
fridim left
|
|||
Juerd | Hm, something's wrong though | 14:11 | |
The backup's going at 2 MB/s | |||
moritz_ | and that's... too fast? or too slow? | 14:12 | |
Juerd | But I don't want to cancel it. It's the first backup in two weeks | ||
Wolfman2000 | too slow I think moritz_ | ||
Juerd | That's too slow | ||
We'll have to deal with the lack of IO bandwidth for now. I want this backup to finish. | |||
14:12
smash_ joined
|
|||
smash_ | hello everyone | 14:13 | |
moritz_ heads to town, and will re-run his 'git svn dcommit' when he's back, if it fails... | |||
Juerd | NB: anything you do on feather's filesystem will only make it worse :P | ||
This might not be a good time to build stuff | 14:14 | ||
14:16
dalek left
|
|||
Juerd | That's no reason to ping timeout though! | 14:16 | |
Wolfman2000 | So how has Perl 6 been evolving lately? | 14:17 | |
I'm a bit out of the loop | |||
TimToady | added a Z metaoperator to go with X | 14:18 | |
since people keep asking for zipwith | |||
Wolfman2000 | Tiems like this I forgot what X did. | ||
TimToady | cross | ||
Wolfman2000 | ...right, cross multiply | ||
matrix math | |||
TimToady | or cross anything else | ||
rakudo: say ('*' Xx 1..5) X~ "\n" | 14:19 | ||
p6eval | rakudo 0bb373: OUTPUT«Cannot resume dead coroutine.current instr.: 'perl6;GatherIterator;get' pc 427377 (src/gen/core.pir:67628)» | ||
TimToady | oops :) | ||
rakudo: say ('*',() Xx 1..5) X~ "\n",() | |||
p6eval | rakudo 0bb373: OUTPUT«Cannot resume dead coroutine.current instr.: 'perl6;GatherIterator;get' pc 427377 (src/gen/core.pir:67628)» | ||
TimToady | alpha: say ('*',() Xx 1..5) X~ "\n",() | 14:20 | |
p6eval | alpha 30e0ed: OUTPUT«***************» | ||
TimToady | (the example from rosettacode) | ||
alpha: say ('*' Xx 1..5) X~ "\n" | |||
p6eval | alpha 30e0ed: OUTPUT«***************» | ||
Wolfman2000 | alpha's the new bot? | 14:21 | |
TimToady | rakudo: say ('a'..* Z~ 1..*).batch(26).perl | ||
p6eval | rakudo 0bb373: OUTPUT«("a1", "b2", "c3", "d4", "e5", "f6", "g7", "h8", "i9", "j10", "k11", "l12", "m13", "n14", "o15", "p16", "q17", "r18", "s19", "t20", "u21", "v22", "w23", "x24", "y25", "z26")» | ||
TimToady | alpha is the old Jan release | ||
we are still recovering from the ng merge, which is new master | 14:22 | ||
but as you see above, supports laziness now | |||
either of the ..* ranges would have blown up old rakudo | |||
Wolfman2000 | without going into infinite hell. I think the batch() sub helps with that. | ||
arnsholt | rakudo: say ('a'..*).batch(27).perl | ||
p6eval | rakudo 0bb373: OUTPUT«Method 'batch' not found for invocant of class 'Range'current instr.: '_block14' pc 29 (EVAL_1:0)» | ||
Wolfman2000 | rakudo: say ('a'..* Z~ 1..*).perl | 14:23 | |
p6eval | rakudo 0bb373: OUTPUT«GatherIterator.new()» | ||
TimToady | that's leakage that we'll probably plug | ||
it will eventually probably just say List | |||
masak for one welcomes our new ng master | 14:24 | ||
TimToady | it's cleaner in several ways | ||
masak | yes, please. List. | ||
Wolfman2000 | been awhile masak | ||
TimToady | and yes, I was one of the people who voted for switching even with the regressions :) | ||
masak | Wolfman2000: yo sup | ||
masak effectively hasn't switched yet | 14:25 | ||
Wolfman2000 | life has been crazy so far...no longer capable of being a high school teacher, I'm falling back into my computer science ways. First...I have to improve my C++ skills to at least be competent enough to program in it. I believe my future in grad school will require it. | ||
TimToady | the dead coroutine seems to be a new failure mode | ||
Wolfman2000 | Does Perl 6 at least compile on...well, lesser machines better now? Could I compile on a VM with 512 MB ram without it hanging up? | 14:27 | |
TimToady | rakudo: say ('a'..* X~ ^9).batch(26).perl | ||
jnthn | TimToady: It's the first time I've seen it. | ||
masak | anybody seen this before? www.amazon.de/o/ASIN/3827329442/ama...um=twitter | 14:28 | |
p6eval | rakudo 0bb373: ( no output ) | ||
TimToady | it seems to be from a change that happened in the last 6 hours | ||
14:28
dalek joined
|
|||
TimToady | Wolfman2000: last I heard, parrotfolk were still chasing down the bug that causes excessive memory consumption in the compiler | 14:28 | |
but I haven't backlogged yet | |||
Wolfman2000 | so I basically have to hope my feather account is still good | 14:29 | |
Juerd | Why would it not be? | ||
jnthn | masak: Nein. | ||
Wolfman2000 | Juerd: inactive for quite some time | ||
jnthn | masak: The cover is surreal. | ||
Juerd | Wolfman2000: feather accounts don't expire | ||
They should, perhaps. | |||
Wolfman2000 | :P | ||
masak | jnthn: have you heard about the author before? | 14:30 | |
14:30
[synth] left,
synth left,
synth joined
|
|||
jnthn | masak: No | 14:30 | |
masak grows curious | 14:31 | ||
TimToady | rakudo: 1..10 X~ 'a' | ||
rakudo: 1..10 X~ 'a' | |||
14:31
[synth] joined
|
|||
p6eval | rakudo 0bb373: ( no output ) | 14:31 | |
masak | moritz_, lichtkind, Su-Shee: have *you* heard about Alvar Freude before? | ||
jnthn | Einstieg in Perl 6 => Starting in Perl 6? | 14:32 | |
Juerd | Einstieg => Entry | 14:33 | |
masak | "Fall into the well of Perl 6 knowledge" :P | ||
Juerd | I've met Alvar at a GPW if I recall correctly. | 14:34 | |
masak | oh, ok. | ||
arnsholt | Nice metaphor masak. Perl 6 is the language you cannot escape ^^ | ||
masak | arnsholt: not unless your escape velocity is large enough from the beginning, I guess. | 14:35 | |
14:36
stuart02 joined
|
|||
masak | got a tip from a twitterer. twitter.com/arafatkamaal/status/10774419044 | 14:37 | |
it's a good one, yes? including the Advent posts with the Rakudo Star distro. | |||
it's not my call, but I kinda like the notion. | 14:38 | ||
jnthn | Interesting diea. | ||
*idea | |||
bbkr | rakudo: grammar X {}; X.new.^methods | ||
14:38
M_o_C left
|
|||
p6eval | rakudo 0bb373: OUTPUT«maximum recursion depth exceededcurrent instr.: 'perl6;ClassHOW;WHAT' pc 4874 (src/metamodel/ClassHOW.pir:640)» | 14:38 | |
bbkr | bug? | ||
masak | yes. | 14:39 | |
but .^methods has been doing a lot of that lately. | |||
bbkr | already known? | ||
masak | not just for grammars. | ||
bbkr | ok, thanks. | ||
arnsholt | masak: I like the idea. Maybe include them as POD as well, with one post per file? | ||
masak | bbkr: poke jnthn until he solves it :P | ||
jnthn | :-P | ||
masak | arnsholt: aye. sounds good. | 14:40 | |
moritz_++ # closing a lot of tickets | 14:41 | ||
rakudo: say 1..3 ∪ 2..5 | |||
p6eval | rakudo 0bb373: OUTPUT«Confused at line 11, near "say 1..3 \u222a"current instr.: 'perl6;HLL;Grammar;panic' pc 500 (ext/nqp-rx/src/stage0/HLL-s0.pir:328)» | ||
masak | so how come after I added 'our' to all the multi infix ops, the above still doesn't work? :/ | ||
jnthn | masak: Locally or on p6eval? | 14:42 | |
TimToady | anywhere | 14:43 | |
masak | jnthn: it works on neither. | ||
jnthn | ah. | ||
masak | rakudo: say Set.new(1,2,3).union([2..5]).perl | ||
that works. | |||
p6eval | rakudo 0bb373: OUTPUT«Set.new(1, 2, 3, 4, 5)» | ||
jnthn | masak: Oh. I think I know why. | 14:44 | |
masak | (again) :) | ||
jnthn | But it's not something in your code this time. | ||
masak | rawr! | ||
jnthn | Something in the user defined ops stuff. | ||
Well, I did finish that patch up at 3am. :-P | |||
bbkr | rakudo: grammar CSV { has Str $.sep }; say CSV.new(sep => ",").sep | ||
p6eval | rakudo 0bb373: OUTPUT«Any()» | 14:45 | |
bbkr | hmm, why "Any()" ? | ||
masak | bbkr: it's the new 'undef' | ||
jnthn | masak: Yes, but shoulda been Str. | ||
masak | o.O | ||
jnthn | erm, shoulda been "," actually | ||
masak: Typed attribute. | |||
masak submits rakudobug | |||
jnthn | rakudo: my $tr $x; say $x | ||
p6eval | rakudo 0bb373: OUTPUT«Confused at line 11, near "my $tr $x;"current instr.: 'perl6;HLL;Grammar;panic' pc 500 (ext/nqp-rx/src/stage0/HLL-s0.pir:328)» | ||
jnthn | rakudo: my Str $x; say $x | 14:46 | |
TimToady | masak: there's a note about reverting Set in the backlog | ||
p6eval | rakudo 0bb373: OUTPUT«Str()» | ||
masak | TimToady: haven't finished backlogging yet. thanks, will check. | ||
jnthn hides to work on BEGIN for a little bit. | |||
masak | rakudo: class A { has Str $.b }; say A.new().b.WHAT | 14:47 | |
p6eval | rakudo 0bb373: OUTPUT«Any()» | ||
14:47
dalek left
14:50
dalek joined
|
|||
masak | colomon: uniq may well use a Hash underneath -- though not optimal, that's still better than using a Hash attr, which coerces all the set members to Str. | 14:52 | |
TimToady: not finding anything about reverting, just notes about the slowdown. | |||
oh! there are the time comparisons, of course, testing with and without Set.pm. | 14:53 | ||
I'm happy about leaving out the unicode ops for Set.pm, either for now or forever. | |||
maybe they belong in a module. | 14:54 | ||
Juerd | use ☃; | ||
masak | *especially* if they don't work and the fault isn't in my code. :P | ||
Juerd: :P | |||
14:55
stuart02 left
|
|||
jnthn | rakudo: my $x = BEGIN { 3 }; say $x; | 15:03 | |
p6eval | rakudo 0bb373: OUTPUT«error:imcc:syntax error, unexpected ')' (')') in file 'EVAL_1' line 73No applicable candidates found to dispatch to for '&infix:<=>'current instr.: '_block14' pc 29 (EVAL_1:0)» | ||
jnthn | Wow! | ||
15:03
drbean left
|
|||
masak perks up | 15:03 | ||
jnthn | :-) | ||
masak: Am hacking on BEGIN at the moment. :-) | 15:04 | ||
15:04
drbean joined
|
|||
jnthn | Was curious what happened if you tried that though. | 15:04 | |
masak | jnthn: yes. that's the *only* reason I'm hesitating. | ||
jnthn | Got an idea that should get us good enough BEGIN. | ||
Or at least, more functional than in alpha. | |||
masak | so, you're saying this'll be fixed today...? | ||
jnthn | Well | ||
masak | :) | ||
TimToady | masak: I possibly misread irclog.perlgeek.de/perl6/2010-03-20#i_2127357 as referring to the repo | ||
jnthn | I'm just compiling the patch I wrote as a first cut at the moment. | ||
But I highly doubt I'll have got it right first time. | 15:05 | ||
masak | TimToady: ok. I'm seriously considering removing the unicode ops anyway, because their only function right now is to slow down the build. :) | ||
15:07
dalek left
|
|||
TimToady | well, and we do have a mild policy toward Latin-1 still | 15:07 | |
so they probably don't belong in the setting | |||
Wolfman2000 | I thought we already moved to UTF-8. :( | 15:08 | |
TimToady | they're fine with 'use Set' | ||
'course the mathematicians will claim that sets are fundamental : | |||
:) | |||
and S02 does mention Set... | 15:09 | ||
and I would certainly like to see the day come when Unicode ops are acceptable to most people | 15:10 | ||
Wolfman2000 | Then why not start now? | ||
masak | I wouldn't complain if the unicode ops were a pragma away. but I'm ready to fight for them not being further away than that :P | ||
masak removes them for now | |||
15:10
wknight8111 left,
mj41 joined
|
|||
TimToady | a pragma that turns on all optional unicode ops in various modules would be kinda cool | 15:11 | |
masak | aye. | ||
jnthn | TimToady: Guess it's something the importer could help with, maybe... | ||
TimToady | just need a different verb: 'abuse Set' | ||
pwn Set | 15:12 | ||
masak | rakudo: [1,2,3] (|) [2,3,4] | 15:13 | |
p6eval | rakudo 0bb373: OUTPUT«Confused at line 11, near "[1,2,3] (|"current instr.: 'perl6;HLL;Grammar;panic' pc 500 (ext/nqp-rx/src/stage0/HLL-s0.pir:328)» | ||
masak | there's still way too much confusion... :( | ||
TimToady | std: [1,2,3] (|) [2,3,4] | ||
p6eval | std 30137: OUTPUT«===SORRY!===Confused at /tmp/1WTuzEJUWE line 1:------> [1,2,3] ⏏(|) [2,3,4] expecting any of: bracketed infix infix or meta-infix statement modifier loopFAILED 00:01 109m» | ||
masak | TimToady: yes, but I defined a few Set operators in src/core/Set.pm... | 15:14 | |
TimToady | well, we are reserving () for Texas set ops | ||
masak | ...which is what I defined them to do. | 15:15 | |
only with a bit of coercion for Arrays and Hashes. | |||
um, Positional and Associative, I mean. | |||
TimToady | what precedence? | ||
masak | good question. default, I guess. | 15:16 | |
TimToady | can argue them anywhere from arithmetic to list infix | ||
if list infix, then 1,2,3 (|) 2,3,4 | |||
masak | aye. | ||
that does kinda make sense. | 15:17 | ||
TimToady | gotta run off for a bit | ||
bbl & | |||
15:17
meppl joined
15:18
MAK_ joined,
dalek joined
|
|||
jnthn | masak: The problem is that the parser tweaks aren't persisted. | 15:20 | |
MAK_ | Joined the discussion a bit late | ||
I think we must go with the pdf | |||
masak | MAK_: no reason we can't do both. | 15:21 | |
jnthn: ok. so eventually someone'll fix that and it'll work? | |||
MAK_ | Hmmm ... yeah in a way pdf is a lil better because of all the decoration, font magic and colorfull stuff that goes along with it | 15:22 | |
masak | MAK_: true. then again, some people like to read POD. | 15:23 | |
MAK_ | Actually had a small chat with TimToady today in the morning | ||
For most new comers like me, the only way to be good perl 6 curently is to start with some brisk reading and then ... | 15:24 | ||
... read the compiler source for more information | |||
masak | I agree to the extent that it's not always easy to find accurate and up-to-date information. | 15:25 | |
jnthn | masak: Eventually | ||
;-) | |||
MAK_ | That isn't too good considering all that bad PR we have currently | ||
masak | but I was a newcomer two years ago, and I didn't have to read compiler source to write a wiki engine. | ||
jnthn | masak: Given that I wasn't convinced I'd be able to figure how to do user defined ops at all quickly, doing something that worked at all in the space of an evening wasn't bad progress. :-) | 15:26 | |
masak | MAK_: there's some point at which 'bad PR' just begins to feel like a fact of life, something which you'll have to live with and work in spite of. | ||
MAK_ | But then, All programmers are not 'masak' :) | ||
masak | jnthn: I understand. kudos. | ||
MAK_: oh, I'm not claiming to be special in any way. :) just very persistent. | 15:27 | ||
MAK_: unlike jnthn's operators :P | |||
MAK_ | masak: Bad PR is ok, unless it becomes an existential threat :) | ||
This weak had a chat with a group of friends and told them all about Perl6 | 15:28 | ||
masak | MAK_: overall, I think the PR coming through Twitter has turned from 'abysmal' to 'bad' in a year or so. give us one more year. :) | ||
MAK_ | After explaining all the features they went to the internet did some searching... and ask the penultimate question of the 'release date' | 15:29 | |
No amount of explaining from my end did the job | |||
masak | Perl 6 was released in 2005. | 15:30 | |
the implementation was called Pugs. | |||
MAK_ | how will you convince them? according to most of them a release means a executable, a manual and some libraries | ||
with a release number :) | 15:31 | ||
masak | Pugs had all of those. | ||
it had numerous releases. | |||
Juerd | For some values of manual... | ||
masak | sure. | ||
15:31
drakej joined
|
|||
masak | the point still stands. | 15:31 | |
jnthn | manual as in your have to work hard at it? | ||
;-) | |||
masak | no, it came with a Manuel, a waiter from Barcelona. | 15:32 | |
jnthn | Oh! That guy. He brought me a donkey with my toast. | ||
MAK_ | people who feel passionately about perl understand this argument, but not all... unfortunately such people are in majority | ||
Coming to the original discussion, about the book | 15:34 | ||
Today morning I came with another idea | |||
One way for the book is to demonstrate a feature with an example and then show all features that way | 15:35 | ||
Another point is it must also be shown the 'extent' of what all is possible | |||
Most choose a language and see how its different from others? Will it give me something new? | 15:37 | ||
What is possible using this which is not possible with my existing one? | |||
Wolfman2000 | MAK_: defining subtypes with strict conditions? | 15:38 | |
I don't recall the syntax, but I believe you can make an Even subtype of Int that forces all numbers to be divisible by 2. | 15:39 | ||
MAK_ | If we explain the usual the if-else, exceptions and normal stuff which the already know! They have no compelling reason to like perl 6 | ||
15:40
am0c joined
|
|||
MAK_ | Wolfman2000: yes something similar, but more giving them a direction in which they explore more along with the current ones | 15:40 | |
Hmmm ... its like those 'Thinking in Java' kind of books | 15:42 | ||
15:44
synth left,
[synth] left,
synth joined,
[synth] joined
|
|||
masak | rakudo: subset Even of Int where { $_ !% 2 }; my Even $a = 4; say $a; $a = 5; say $a | 15:48 | |
p6eval | rakudo 6b14e9: OUTPUT«4Type check failed for assignmentcurrent instr.: '&die' pc 16935 (src/builtins/Junction.pir:399)» | ||
MAK_ | Demonstrating how we are different may also to some extent explain why we are late :-) | 15:49 | |
jnthn | We're late? :-) | ||
masak isn't late | |||
MAK_ | Actually we are not late, but are percieved as late. But then what is the difference between both? | 15:50 | |
jnthn | woo, BEGIN and modifying @*INC seems to work :-) | 15:51 | |
masak | MAK_: the difference is that we can do a lot to change the actual state of affairs, not much to change all manner of perceptions people have. | ||
MAK_ | That is exactly my point and the book can be used to send that message | 15:52 | |
masak | aye. just as the Advent Calendar sent a clear message in December. | 15:53 | |
MAK_ | Showing all the magic what perl 6 can do, can send a good message and hopefully attract good PR | 15:54 | |
Its like Micheal schumacher showing the actual use of Ferari | 15:55 | ||
masak | another thing that would send a good message is actual working Perl 6 applications. | 15:58 | |
MAK_ | I think the basic problem is the spec-implementation matching people do, if only the implementation and its documentation were to be exposed they will more than happy | 16:01 | |
And will also accept the release with any amount of bugs | |||
masak | 'the release'? | ||
the one in 2005? | |||
lue | buubot: karma masak | 16:02 | |
buubot | lue: masak has karma of 373 | ||
MAK_ | 'the release' of 2005 had a word like 'development release' some where in middle of release announcement... and that appears like an oxymoron | 16:03 | |
masak | 'development' is not the opposite of 'release'. | ||
MAK_ | In theory is yes, but 'development' is the same as 'not good for production' and that more less is the opposite of a 'production release' | 16:04 | |
again we may understand but most do not | |||
I explained my friends how python managed to make a modest revision in EIGHT years | 16:06 | ||
masak | MAK_: here's the release announcement for Pugs 6.0.0. it does not contain the word 'development'. www.mail-archive.com/perl6-compiler...00160.html | ||
lue | anyone interested in programming ought to know the meaning of "development release" :) | 16:07 | |
MAK_ | is that perl 6.0 or pugs 6.0? | 16:09 | |
:) I think there's a difference | |||
masak | it's Pugs 6.0.0. it was a release of a Perl 6 implementation. | ||
MAK_ | complete perl 6 implementation? | 16:10 | |
masak | not nearly. | ||
all I'm saying is, in the manner of the "No True Scotsman" fallacy, as soon as I convince people that Perl 6 actually *has* releases, and has had them for five years now, people start talking about completeness instead of releases. | 16:11 | ||
jnthn | Not True Scotsman would confuse the two! | 16:12 | |
They'd be too busy drinking whisky. | |||
MAK_ | so again we can go on speaking, but as you suggested we can forget all that and tell the world here is Perl 6, implementation name Raudo, here's the docs, here's CPAN and perl monks | ||
lue | Rakudo has releases. P6 evolves. (that's how I see it) | 16:13 | |
masak | I'm not suggesting we should forget or try to conceal the way things are. by and large, things are very bad. we're greatly understaffed. | ||
we need more people. | |||
we get that through attracting interested developers. | |||
we do that through being interesting. | |||
Perl 6 is interesting. it's just a matter of telling people in a way that attracts them. | |||
MAK_ | masak can you tell me how many contribute to the perl 5 interpreter and how many to CPAN? If there is difference then why? | 16:14 | |
lue | "Use it, and you'll go to....HEAVEN! (haaa-lelujah! haaa-lelujah!)" | ||
jnthn | Finally! | ||
> say BEGIN { say "omg BEGIN!"; 42 }; INIT { say "oh man, great INIT!" }; | |||
omg BEGIN! | |||
oh man, great INIT! | |||
42 | |||
masak | MAK_: are you referring to the difference in compiler skills needed for the two? | ||
MAK_ | exactly thats my point | 16:15 | |
lue | jnthn++ \o/ | ||
masak | MAK_: if so, I agree whole-heartedly and immediately. | ||
MAK_: also, I hope I haven't said anything to the contrary so far. | |||
16:15
hercynium joined
|
|||
masak | MAK_: we need both kinds, especially the CPAN kind. | 16:15 | |
jnthn | mberends: BEGIN with modifying @*INC also works as well as the above; I've tried BEGIN then a use shortly after it and it looked in the folder suggested. :-) | ||
MAK_ | You feel understaffed but I feel underqualified | ||
16:15
rv2733 left
|
|||
masak | MAK_: aye. and many people would, rightly or no. | 16:16 | |
MAK_: I've felt that way for a long time, and still do at times. :) | |||
jnthn | MAK_: There's lots of ways to help with Perl 6 besides compiler guts. :-) | ||
MAK_ | Before coming #perl6 I thought of like 10 times | ||
lue | masak, MAK_: so do I, and I've contributed! :D | ||
MAK_ | that i may something stupid | 16:17 | |
*say something stupid* | |||
masak | I accidentally something stupid. many times. | ||
jnthn accidentally the whole stupid. | |||
masak | :) | ||
moritz_ | masak: re Alvar Freude, yes, heard of him, talked to him | ||
masak | moritz_: ok, cool. I'm curious about the book. | 16:18 | |
lue | Oh don't worry about. We here at #python accept anybody! | ||
D'oh! | |||
MAK_ | In short, So the book is very important... as important R* itself | ||
moritz_ | masak: which book? sorry, I'm out of context | ||
masak | lue-- # too accepting :) | ||
MAK_ | Please dont release R* without the book | ||
else we will be back to square one | |||
masak | moritz_: www.amazon.de/o/ASIN/3827329442/ama...um=twitter | ||
lue | It was an accident! :) | 16:19 | |
masak | lue: you accidentally #python? :P | ||
lue | I'm sorry for saying something stupid! *sob* [ :) ] | ||
MAK_ | Is that in german? | ||
moritz_ | MAK_: it is | ||
masak | moritz_: because I'd sure like how to develop robust, lasting and efficient code in Perl 6 :P | ||
moritz_ | masak: oh, didn't know about that one | ||
masak | s/like/like to know/ | 16:20 | |
jnthn | masak: Me too...does it have a chapter on writing compilers too? :-) | ||
masak | jnthn: there's a CD... :) | ||
jnthn | oooh! | ||
MAK_ | Please add that one... | ||
CD = compiler development ??? :) | |||
masak | :) | 16:21 | |
lue | CD = Corrupt Demeanor :) | 16:23 | |
masak | MAK_: my usual conclusion from broodings over how to get people to pay more attention (and attention of the right kind) to Perl 6, is that I'd better write more Perl 6 code, to smoke out more Rakudo bugs, encourage spec development in weak areas, and find new ways to express oneself with Perl 6. | 16:25 | |
lue | As soon as I can (and feel like it), I'd love to start coding a P6 NES emulator to prove the laziness of P6 :) | 16:26 | |
For many graphical applications, you don't need extra modules. If you want Qt, just import the C/C++ Qt libraries! \o/ | |||
MAK_ | masak: how did you learn the language without the documentation? | ||
masak | lue: I think you'd soon find that there are too many instructions in your time units. :( | ||
moritz_ | MAK_: most of us read example code, the synopsis, #perl6 discussions etc | 16:27 | |
masak | er, the other way around. | ||
moritz_ | differences to Perl 5 and so on | ||
masak | too many time units in your instructions. | ||
MAK_ | @moritz_: how much time did it take you to do all that? | ||
masak | MAK_: long ago, I started with the Apocalypses. then I read the Synopses. (they were largely incomprehensible). then I started coding. that really helped. | ||
MAK_: you can start coding today. it really helps. | 16:28 | ||
lue | ...my time units? | ||
MAK_ | I guess it has taken you years to get where you are | ||
masak | lue: what I want to say is that I think Rakudo is too slow for that. :( | ||
moritz_ | MAK_: I started with Perl 6 in Feb 2007, if that's your question | ||
masak | lue: mberends++ found that Rakudo was too slow for his Pod emitter. | ||
moritz_ | MAK_: there's no point in time when you can say "now I know Perl 6" | 16:29 | |
masak | MAK_: I got involved in 2005, and really involved in 2008. | ||
lue | exactly why I can't. :( | ||
dalek | kudo: 6c8737c | moritz++ | src/Perl6/Grammar.pm: parse postcircumfixes with the ~ generator, inspired by betterworld++ |
||
masak | MAK_: so, yes, it's taken me years. much of what we're doing with tutorials and the book is to shorten that time for other people. | ||
MAK_ | :) the role of book is so much here | 16:30 | |
masak | MAK_: but documentation/tutorials quickly grow stale, and they're a lot more work than they might first seem to create. | ||
lue | When all of Rakudo is in P6, does it really need to be a part of Parrot? I know that's what it is based on, but I've never liked virtual machines. | ||
MAK_ | You are gifting your 5 years to people | ||
moritz_ | lue: it needs to run on something. That something is parrot right now | 16:31 | |
lue: of course you can write a machine code emitter if you're a masochist | |||
mj41 | rakudo: say "hezky česky"; | ||
p6eval | rakudo e759b5: OUTPUT«hezky česky» | ||
lue | I know. Hopefully though, there's a day when it doesn't have to. I've never had a good time with virtual machines. | ||
ever. | |||
MAK_ | How big would the book be? say in pages? | 16:32 | |
lue | a machine code emitter would compile the P6 to actual machine code for the computer, as opposed to parrot bytecode, right? | ||
jnthn | huh wtf... | ||
eval_lives_ok q[BEGIN {class Level1::Level2::Level3 {};}; class Level1::Level2 {};], 'RT 62898'; | 16:33 | ||
How is that not going to die from a class redeclaration error? | |||
oh, wait | |||
I see it | |||
sorry | |||
16:33
skim joined
|
|||
jnthn can't read today :-) | 16:33 | ||
masak | MAK_: it's a bit too early to know how big the book will be. I doubt it'll exceed 300 pages. :) | ||
mj41 | rakudo: say "hezky česky"; | ||
p6eval | rakudo e759b5: OUTPUT«hezky česky» | ||
mj41 | rakudo: say „hezky česky“; | ||
p6eval | rakudo e759b5: OUTPUT«Confused at line 11, near "say \u201ehezky"current instr.: 'perl6;HLL;Grammar;panic' pc 500 (ext/nqp-rx/src/stage0/HLL-s0.pir:328)» | ||
MAK_ | You can all of Perl 6 and what is possible with in 300? | 16:34 | |
skim | mj41: :D | ||
lue | A good book on P6 would (obviously) be 6 pages long :) | ||
masak | MAK_: I don't know all of Perl 6. neither will the book try to explain all of Perl 6. | ||
Juerd | Or 36, or 216... | ||
masak | :) | ||
MAK_ | 6 pages long table of contents? | 16:35 | |
:) | |||
masak | std: my @array = 1, 2, 3; say @array.min:{ $^a <=> $^b } | 16:38 | |
p6eval | std 30138: OUTPUT«ok 00:01 109m» | 16:39 | |
masak | rakudo: my @array = 1, 2, 3; say @array.min:{ $^a <=> $^b } | ||
p6eval | rakudo e759b5: OUTPUT«Method 'min:{ $^a <=> $^b }' not found for invocant of class 'Array'current instr.: '_block14' pc 29 (EVAL_1:0)» | ||
masak | seems it's parsing the block as part of the method name. | ||
lue | rakudo: loop(my $i=0;$i<=10;$i++){say 6**$i;}; #possible # of pages | ||
p6eval | rakudo e759b5: OUTPUT«Whitespace required after 'loop' at line 11, near "(my $i=0;$"current instr.: 'perl6;HLL;Grammar;panic' pc 500 (ext/nqp-rx/src/stage0/HLL-s0.pir:328)» | ||
lue | rakudo: loop (my $i=0;$i<=10;$i++){say 6**$i;}; #possible # of pages | ||
p6eval | rakudo e759b5: OUTPUT«1636216129677764665627993616796161007769660466176» | ||
jnthn | masak: heh | ||
masak | lue: bareword followed by opening paren is almost always a function call in Perl 6. | ||
lue: the exception (that I know of) being routine declarations. | 16:40 | ||
MAK_ | Good night all | ||
masak | MAK_: 'night | ||
moritz_ | :foo('bar') is also not a sub call :-) | ||
MAK_ | Its getting late in the night... need to go to sleep | ||
moritz_ | good night | ||
masak | jnthn: it's not a new bug. I'm going through the April List. | ||
moritz_: but I don't consider that a bareword. | |||
16:40
MAK_ left
|
|||
moritz_ | colomon: can I bribe you to port the :16($hex_number) notation from alpha to master? | 16:42 | |
colomon | with what? ;) | ||
moritz_ | colomon: that's a good question... want to visit the Bardentreffen in Nürnberg? Open Air music festival - I could offer you accomodation in reasonable close distance | 16:43 | |
masak | rakudo: say for 1..3 | ||
p6eval | rakudo e759b5: OUTPUT«» | 16:44 | |
masak submits rakudobug | |||
moritz_ | 30. July to 1. August | ||
masak | std: say for 1..3 | ||
p6eval | std 30138: OUTPUT«Potential difficulties: Unsupported use of bare 'say'; in Perl 6 please use .say if you meant $_, or use an explicit invocant or argument at /tmp/iXsDyQx6Hc line 1:------> say⏏ for 1..3ok 00:01 106m» | ||
colomon | moritz_: A kind offer, but my long distance traveling is going to be sadly limited for a while until my bank account regenerates post-move. | ||
A virtual cider or single malt would be fine. | 16:45 | ||
Of course, that's assuming I can figure out how to do it. Does it parse yet in master? | |||
moritz_ | colomon: then a virtual $beverage-of-your-choice, with the option of a real one if we ever meet in person | ||
jnthn | masak: I hope you expected that to fail to compile :-) | ||
moritz_ | rakudo: say :16(10) | ||
p6eval | rakudo e759b5: OUTPUT«Confused at line 11, near "say :16(10"current instr.: 'perl6;HLL;Grammar;panic' pc 500 (ext/nqp-rx/src/stage0/HLL-s0.pir:328)» | ||
masak | jnthn: no, why? | ||
moritz_ | alpha: say :16(10) | ||
p6eval | alpha 30e0ed: OUTPUT«16» | 16:46 | |
jnthn | masak: oh, std only says it's a "potential difficulty" :-/ | ||
It used to be an error. | |||
:-/ | |||
masak | it used to, yes. | ||
moritz_ | alpha: my $x = 20; say :16($x) | ||
masak | I suspect moritz_'s lobbying helped :) | ||
p6eval | alpha 30e0ed: OUTPUT«32» | ||
jnthn | BEGIN patch pushed. | ||
Not everything, but more than alpha could handle. | |||
masak | \o/ | 16:47 | |
dalek | kudo: 7ccf148 | jonathan++ | src/ (3 files): Start to get BEGIN more functional again. This should make it at least a bit more functional than alpha's one; it does run during the compile (like alpha) and will get run at the start of pre-compiled modules loading too (but has stuff to prevent dupe runs in parse + load). Notably, it also handles keeping computed values around, so my $x = BEGIN { 42 } also works. |
||
jnthn | rakudo: say @array.min:{ $^a <=> $^b } | ||
p6eval | rakudo e759b5: OUTPUT«Symbol '@array' not predeclared in <anonymous>current instr.: 'perl6;PCT;HLLCompiler;panic' pc 137 (compilers/pct/src/PCT/HLLCompiler.pir:101)» | ||
jnthn | rakudo: my @array = 4,1,3; say @array.min:{ $^a <=> $^b } | 16:48 | |
p6eval | rakudo e759b5: OUTPUT«Method 'min:{ $^a <=> $^b }' not found for invocant of class 'Array'current instr.: '_block14' pc 29 (EVAL_1:0)» | ||
jnthn | rakudo: my @array = 4,1,3; say @array.min: { $^a <=> $^b } | ||
p6eval | rakudo e759b5: OUTPUT«1» | ||
16:48
Garry4758 joined
|
|||
jnthn | ...oh. | 16:48 | |
erm | |||
masak: I...am not sure that's totally wrong. | 16:49 | ||
masak: Though I'm also surprised. | |||
masak: It's parsing different, but we're matching up with STD also on what we parse there. | |||
token methodop { | 16:50 | ||
[ | |||
| <longname> | |||
And longname is | |||
token longname { <name> <colonpair>* | |||
} | |||
masak | ok. | ||
maybe reality changed since that bug. | |||
jnthn | So...is :{ ... } a valid colonpair... | ||
masak | no. | ||
jnthn | Ye | 16:51 | |
s | |||
| <circumfix> | |||
See token colonpair. | |||
masak | S02:3286 | ||
jnthn | :-/ | ||
16:51
Garry4758 left
|
|||
jnthn | I'm looking at STD. :-) :-) | 16:51 | |
masak | then we have a contradiction. | ||
CLANG CLANG CLANG contradiction in the canon! all aboard! | |||
jnthn | Hmm | 16:52 | |
yes, it appears we may. | |||
:{ .say } adverbial block | 16:53 | ||
Wonder if we're meant to go digging into the longname to find that. | |||
lue | TimToady supercedes all! Go with STD. | 16:54 | |
jnthn figures he'll wait on a ruling :-) | |||
lue | TimToady supercedes all! Go with the spec. | ||
jnthn | Rather than guessing a fix. | ||
lue | ...wait | ||
AH! A contradiction from the top! All run for cover! /o\ | |||
colomon | rakudo: say (1..5) X~ 'a' | 16:55 | |
p6eval | rakudo 6c8737: OUTPUT«1a2a3a4a5a» | ||
colomon | moritz_: how does "parse postcircumfixes with the ~ generator" work? does ~ somehow generate a matched pair? | 16:57 | |
masak | rakudo: say (1..5) ~~ 'a' | ||
p6eval | rakudo 6c8737: OUTPUT«0» | 16:58 | |
masak | rakudo: say (1..5) Z~ 'a' | ||
p6eval | rakudo 6c8737: OUTPUT«1a» | ||
moritz_ | colomon: '(' ~ ')' foo is roughly the same as '(' foo ')', but gives a better error message when the ')' is not found | ||
colomon | moritz_: sweet | ||
or rather, sweet!!! | 16:59 | ||
masak | std: $a = my $a | ||
p6eval | std 30139: OUTPUT«===SORRY!===Variable $a is not predeclared at /tmp/lMgqbF2E41 line 1:------> $a⏏ = my $a expecting any of: POST postfix postfix_prefix_meta_operatorFAILED 00:01 107m» | ||
masak | std: my $a = $_ given $a | 17:00 | |
p6eval | std 30139: OUTPUT«ok 00:01 106m» | ||
masak | I'm surprised-ish that that last one succeeds. | ||
colomon | moritz_: do you have a test file for :16(FEED)? | ||
(etc)? | |||
moritz_ | colomon: looking... | ||
colomon | thanks. | 17:01 | |
jnthn | colomon: radix.t covers a load of those, I think | 17:02 | |
# S02-literals/radix.t | |||
moritz_ | aye, S02-literals/radix.t | ||
lue | TimToady: We hath found a contradiction! We need your help! (official plea) | 17:03 | |
masak | rakudo: sub foo($bar:) {}; foo(42) | 17:04 | |
p6eval | rakudo 6c8737: OUTPUT«Lexical 'self' not foundcurrent instr.: 'foo' pc 180 (EVAL_1:77)» | ||
masak | jnthn: ^ | ||
jnthn | masak: Heh. Looks like that invocant_ok thingy needs porting from STD. :-) | 17:05 | |
17:05
smash_ left
|
|||
masak | lue: 'hath' is 3rd person singular, 'we' is a 1st person plural pronoun, and would take 'have' or 'haven' or some such. | 17:06 | |
lue | I hath to disagree. :) | 17:07 | |
masak gives up :) | 17:08 | ||
std: loop (my $a = 1, my $b = 2; $a < 5; $a++, $b++) { say "$a $b" } | |||
p6eval | std 30139: OUTPUT«ok 00:01 107m» | ||
masak | rakudo: loop (my $a = 1, my $b = 2; $a < 5; $a++, $b++) { say "$a $b" } | ||
p6eval | rakudo 6c8737: OUTPUT«Undefined value shifted from empty arraycurrent instr.: 'perl6;Perl6Exception;throw' pc 14490 (src/builtins/Seq.pir:77)» | ||
jnthn | masak: May partly be precedence biting you. | 17:10 | |
We don't parse item assignment properly yet. | |||
masak | good point. | 17:11 | |
jnthn | Still a weird error | ||
But I bet the prec is primarily why it doesn't do what you want. | |||
masak | well, all problems with precedence can be solved with another layer of parentheses... :) | ||
rakudo: loop ((my $a = 1), (my $b = 2); $a < 5; $a++, $b++) { say "$a $b" } | |||
p6eval | rakudo 6c8737: OUTPUT«1 22 33 44 5» | ||
masak | \o/ | ||
jnthn++ | |||
rakudo: say "abc" ~~ m ☃.(.).☄ | 17:14 | ||
p6eval | rakudo 6c8737: OUTPUT«Confused at line 11, near "say \"abc\" "current instr.: 'perl6;HLL;Grammar;panic' pc 500 (ext/nqp-rx/src/stage0/HLL-s0.pir:328)» | ||
masak | \o/ | 17:15 | |
for once, Rakudo and I are confused at the same thing! :) | |||
masak closes the infamous snowman/comet rakudobug :) | |||
pmichaud++ | |||
jnthn | hehe! | 17:17 | |
lue | what are those funky symbols, masak? | ||
jnthn | That was a good one. | ||
lue | .u ☃ | ||
phenny | U+2603 SNOWMAN (☃) | ||
lue | .u ☄ | 17:18 | |
phenny | U+2604 COMET (☄) | ||
jnthn | .oO( unisnowed ) |
||
masak | lue: once upon a time, you could delimit a regex with a snowman and a comet. | ||
lue: (it was a bug. a really strange one.) | |||
arnsholt | Fun ^^ | ||
jnthn | I'm almost sad it's fixed. :-) | ||
masak | jnthn: as soon as it's possible, you'll have your 'use Snowman::Comet;' :) | 17:19 | |
lue | why didn't you leave it then? It would've been a cool easter egg (and 42 knows easter eggs are needed) | ||
masak | lue: it worked for the wrong reasons. | ||
lue: we tried preserving old crap in the compiler for old times' sake. it's called Perl 5. :P | 17:20 | ||
lue | Can it work for the right reasons then? | ||
masak | lue: as I said above. module. | ||
17:20
afields-f49f joined
|
|||
jnthn | colomon: I might be able to sneak in parsing hyperops today | 17:20 | |
colomon | jnthn: dude!!!!! | 17:21 | |
jnthn | colomon: Once they're parsing, I guess that's much of the hard work done. | ||
lue | another one for the official P6 module (someone needs to keep track of these features soon) | ||
jnthn | Sort of | ||
colomon | absolutely. | ||
jnthn | :-) | ||
Do we already have a &hyper that I can assume? | |||
colomon | if you can make them parse, I'm pretty sure I can do the rest. | ||
lue | jnthn: your practice of deep magic is honorable. | ||
masak | lue: more Acme:: than official, I'd say. | ||
colomon | we do not have a &hyper as far as I know. | ||
jnthn | ok | ||
colomon is still looking at radix numbers... | 17:22 | ||
masak | std: say [+] | ||
p6eval | std 30139: OUTPUT«ok 00:01 106m» | ||
lue | pah! The official P6 module is for the stuff we as developers couldn't implement in the interpreter itself for various reasons. | ||
masak | rakudo: say [+] | ||
p6eval | rakudo 7ccf14: OUTPUT«Confused at line 11, near "say [+]"current instr.: 'perl6;HLL;Grammar;panic' pc 500 (ext/nqp-rx/src/stage0/HLL-s0.pir:328)» | ||
masak | lue: er. no. | ||
jnthn | masak: Ah. *that's* what the stuffs at the end of the reduce parsing that I didn't actually understand do. | 17:23 | |
lue | "The official P6 module" is just a codename (just like TARDIS :) ) for the module I'm writing. | 17:24 | |
(it ought to have a different codename, in hindsight...) | 17:25 | ||
arnsholt | How did you -find- the snowman comet bug? | 17:27 | |
Doesn't look like something you'd stumble upon =) | |||
lue | Unicode has dark magic. Don't doubt its ability to show up. :) | ||
.u 5829 | 17:28 | ||
phenny | U+5829 CJK UNIFIED IDEOGRAPH-5829 (堩) | ||
17:28
meppl left
|
|||
lue | .u 1024 | 17:28 | |
phenny | U+1024 MYANMAR LETTER II (ဤ) | ||
lue | .u 384 | ||
phenny | U+3840 CJK UNIFIED IDEOGRAPH-3840 (㡀) | ||
lue | .u 0384 | ||
phenny | U+0384 GREEK TONOS (΄) | ||
17:29
cls_bsd left
|
|||
colomon | huh. looks like my grammar changes have broken ::Positional ? | 17:29 | |
jnthn | :-/ | ||
colomon | the parsing thereof, I mean. | ||
Unable to parse postcircumfix:sym<( )>, couldn't find final ')' at line 695 | |||
$x.notdef || ($x.does(::Positional) && $x == 0) | 17:30 | ||
is the line | |||
jnthn | That'd be some spooky action at a distance... | ||
colomon | well, rad number does look for ':' | ||
jnthn | Ah | ||
Yeah, hmm. :-/ | |||
colomon | ':' $<radix> = [\d+] <.unsp>? | ||
{} # don't recurse in lexer | |||
could that somehow parse :: ? | 17:31 | ||
17:31
afields-f49f left
|
|||
jnthn | I don't think so. | 17:31 | |
colomon: can you nopaste me the whole grammar diff? | 17:32 | ||
colomon | gist.github.com/338783 | 17:33 | |
masak | jnthn: even simpler: | 17:34 | |
rakudo: [+] | 17:35 | ||
p6eval | rakudo 7ccf14: OUTPUT«Confused at line 11, near "[+]"current instr.: 'perl6;HLL;Grammar;panic' pc 500 (ext/nqp-rx/src/stage0/HLL-s0.pir:328)» | ||
jnthn | masak: Right. It wants a term. | 17:37 | |
(after the thingy) | |||
masak | erroneously. | ||
lue | rakudo: say [+] 1 | ||
p6eval | rakudo 7ccf14: OUTPUT«1» | ||
masak | rakudo: say 1 [+] 2, 3, 4 | ||
colomon | rakudo: my @a; say [+] @a | ||
p6eval | rakudo 7ccf14: OUTPUT«Confused at line 11, near "say 1 [+] "current instr.: 'perl6;HLL;Grammar;panic' pc 500 (ext/nqp-rx/src/stage0/HLL-s0.pir:328)» | ||
rakudo 7ccf14: ( no output ) | |||
masak | also, the infix form should work. | ||
std: say 1 [+] 2, 3, 4 | |||
p6eval | std 30140: OUTPUT«ok 00:01 108m» | ||
lue | std: [+] | 17:38 | |
colomon | masak: huh? | ||
p6eval | std 30140: OUTPUT«ok 00:01 105m» | ||
masak | colomon: there's an infix form. | ||
jnthn | huh? | ||
masak | colomon: it's nice when you don't want e.g. 0 as the default for addition. | ||
17:38
am0c left
|
|||
masak | std: my @values; my $default; say $default [+] @values | 17:39 | |
p6eval | std 30140: OUTPUT«ok 00:01 106m» | ||
colomon | so you can say something like 54 [+] @... right. | ||
well that's cool. | |||
masak | I know! | ||
jnthn | I'm not sure that's parsed by prefix_circumfix_meta_operator:reduce though. | ||
masak | why not? | ||
colomon | because it's a prefix | ||
masak | oh. duh. :P | 17:40 | |
colomon | | :dba('bracketed infix') '[' ~ ']' <infix=.infixish(1)> { $<O> = $<infix><O>; $<sym> = $<infix><sym>; } | ||
is a rule in infixish. bet that's it. | 17:41 | ||
masak | rakudo: sub foo { 1;; }; say foo | ||
p6eval | rakudo 7ccf14: OUTPUT«1» | ||
jnthn | colomon: Yes, that looks like it. | ||
masak: hah! I fixed that one. :-P | 17:42 | ||
masak | :) | ||
jnthn: can I close rt.perl.org/rt3/Ticket/Display.html?id=61732 ? | |||
jnthn: seems to me it possibly describes two different bugs. | |||
jnthn | masak: maybe yeah | ||
dunno...if all the cases in that ticket work then I guess yes | 17:43 | ||
But yes, it's covering more than one thing. | |||
masak | rakudo: my @a = "foo", "foot"; if @a[all(0,1)] ~~ /^ foo/ { say "OH MY!" } | ||
p6eval | rakudo 7ccf14: OUTPUT«maximum recursion depth exceededcurrent instr.: 'parrot;P6object;HOW' pc 54 (runtime/parrot/library/P6object.pir:98)» | ||
masak | another new failure mode... | ||
jnthn | colomon: I'm kinda confused by why your grammar addition breaks parsing of ::Foo style things. | 17:44 | |
colomon | jnthn: me too. | ||
bkeeler | Morning folks | ||
colomon | Seems like every other time I play with the grammar, bizarre things happen. | 17:45 | |
bkeeler: morning! | |||
jnthn | morning, bkeeler! | ||
bkeeler | jnthn: I see you pung me | ||
jnthn | bkeeler: pung you I did | ||
masak | rakudo: say ++e | ||
p6eval | rakudo 7ccf14: OUTPUT«Cannot assign to readonly valuecurrent instr.: '&die' pc 16965 (src/builtins/Junction.pir:399)» | ||
masak | \o/ | ||
rakudo: constant $x = 1; $x += 2; say $x | 17:46 | ||
jnthn | bkeeler: Is there another part to getting /$foo/ working than the Regex-Compiler.pir patch? | ||
bkeeler: e.g. is there a Rakudo change too? | |||
p6eval | rakudo 7ccf14: OUTPUT«Symbol '$x' not predeclared in <anonymous>current instr.: 'perl6;PCT;HLLCompiler;panic' pc 137 (compilers/pct/src/PCT/HLLCompiler.pir:101)» | ||
bkeeler | Aye, there's a rakudo change | ||
masak | ah. 'constant' NYI. | ||
jnthn | bkeeler: Is that pushed somewhere? | ||
bkeeler | I think so | ||
There's more to do on that front anyway | 17:47 | ||
Did you merge the Regex change? | |||
masak | rakudo: sub foo() { return class { method Str() { return "OH HAI" }; method Num() { return 42 } } }; say ~foo; say +foo | ||
jnthn | bkeeler: No, I kinda wanted to test the whole lot first, to make sure I was doing the right thing. :-) | ||
p6eval | rakudo 7ccf14: OUTPUT«Invalid namespace key in set_pmc_keyedcurrent instr.: 'perl6;ClassHOW;new' pc 3749 (src/metamodel/ClassHOW.pir:27)» | ||
jnthn | masak: no anon classes yet. | ||
masak | whoa. :/ | ||
bkeeler | Fair enough. The Regex change seems harmless by itself though | 17:48 | |
jnthn | masak: I'm not sure they worked in alpha either... :-P | ||
masak | jnthn: locally, that one gives a Parrot backtrace. | ||
jnthn: no, that's from an RT ticket. :) | |||
bkeeler | It's the sort of change where if it was going to break something, nothing would work | ||
jnthn | bkeeler: Yeah, but it needs integrating into Parrot, and then a Parrot revision bump for Rakudo, so it's an annoying one to do twice. :-) | 17:49 | |
bkeeler | jnthn: true | ||
masak | rakudo: my $r = 1..9; $r.pop; say $r.perl | ||
p6eval | rakudo 7ccf14: OUTPUT«Method 'pop' not found for invocant of class 'Range'current instr.: '_block14' pc 29 (EVAL_1:0)» | ||
jnthn | bkeeler: Also, having looked at it, it did occur to me that a possible simpler patch for it is just... | ||
- .local int litlen | 17:50 | ||
+ .local string litlen if litconst goto litlen_const litlen = '$I10' | |||
- ops.'push_pirop'('length', '$I10', lpost) | |||
masak closes #67142 | |||
jnthn | + ops.'push_pirop'('length', litlen, lpost) | ||
oh, paste fejl | |||
bkeeler: gist.github.com/338795 | |||
17:50
drakej left
|
|||
bkeeler | jnthn: Did you try that? | 17:51 | |
jnthn | Yeah, and it *looked* like it was doing the right thing. | ||
bkeeler: That's why I wanted the other half of the patch. To confirm. | 17:52 | ||
masak++ # closing rakudobugs! | |||
.oO( or is it just to prepare room for more? :-) ) |
17:53 | ||
masak | :P | ||
lue | masak: how big is the server where rakudobugs are stored? | ||
masak | rakudo: { &^c("$^a, $^b") }.("morning", "perl6ers", &say) | ||
p6eval | rakudo 7ccf14: OUTPUT«Not enough positional parameters passed; got 3 but expected 4current instr.: '_block46' pc 315 (EVAL_1:131)» | ||
masak | jnthn: help me with this one :) 4? | ||
lue: I don't know, I've never seen it. | 17:54 | ||
bkeeler | jnthn: OK, I'll see if I can get what I have pushed, one sec | ||
masak | rakudo: { &^c("$^a, $^b") }.("morning", "perl6ers", &say, "crazy bogus argument") | ||
p6eval | rakudo 7ccf14: OUTPUT«Nominal type check failed for parameter '&c'; expected Callable but got Str insteadcurrent instr.: '_block46' pc 322 (EVAL_1:133)» | ||
masak | rakudo: { &^c("$^a, $^b") }.("morning", "perl6ers", &say, &say) | 17:55 | |
p6eval | rakudo 7ccf14: OUTPUT«morning, say» | ||
masak submits rakudobug | |||
colomon | weird one, masak++ | ||
jnthn | masak: erm.... | ||
jnthn stares at the bug, horrified | |||
masak dances the rakudobug mambo | |||
colomon | is that related to the masochism tango? | 17:56 | |
bkeeler | jnthn: It's in my var_in_regex branch. Don't push it to master though, it needs more work yet | ||
jnthn | Or the masakism one? | ||
masak | colomon: yes, but even more to the masakism tango. :) | ||
17:56
nihiliad left
|
|||
bkeeler | lol | 17:56 | |
jnthn | oh wow, a Parrot segfault. :-/ | 17:59 | |
wow...circular GC marking => stack overflow... | 18:00 | ||
lue | SEGFAULT? An errno 11? AAH! | 18:01 | |
jnthn has...no clue whatsoever...what he's done to evoke this one. | 18:02 | ||
But it happens during GC. :-| | |||
lue | what's the code, what's the code? (segfaults make me nervous) | ||
what does GC stand for? | 18:03 | ||
jnthn | Garbage Collection | ||
lue | Ah... *twitch* | ||
jnthn | Yes, indeed. | ||
masak | it's the lowest of the collection types. | ||
even worse than a hash. | |||
jnthn | lol | ||
lue | the twitch was a result of errno 11 | 18:04 | |
*twitch* | |||
masak | I've been going through use.perl.org/~masak/journal/39597 today, closing RT tickets and adding updates where possible. kudos to all the people who have helped close the tickets so far, and added tests to the spectest suite! colomon++ jnthn++ pmichaud++ moritz_++ several-others++ | 18:05 | |
lue | stop giving karma to several-others until he exists! :) | 18:06 | |
buubot: karma several-others | |||
buubot | lue: several-others has karma of | ||
masak | ...the zen slice! :) | ||
jnthn | lo | ||
l | |||
lue is waiting for next week's episode of buubot. He hates cliffhangers. | |||
jnthn | lue: Don't watch the Italian Job... | 18:07 | |
;-) | |||
18:07
pmurias joined
|
|||
japhb | jnthn, well, at least not the original ... | 18:07 | |
jnthn | japhb: I didn't hear much positive about the re-make and never got to watch it myself. | ||
lue | doo doo doo doo doo. (I want to fix something, nothing much else to do :) ) | ||
bkeeler | The remake sucked ass | 18:08 | |
japhb | I actually preferred the remake ... but I hated the whole era of "thieves can never win" that for me ruined the original Ocean's 11 as well. | ||
Those I've asked in the previous generation preferred the original Italian Job as well -- perhaps it's just a matter of when you grew up. | 18:09 | ||
arnsholt gives hacking nqp-rx a second whack | 18:10 | ||
jnthn | colomon: I'm going to go nom shopping, and then maybe look at the hyper parsing. | 18:11 | |
colomon | \o/ | ||
jnthn | colomon: I think I spotted last night the thingy in STD that I missed last time. | ||
colomon | I've turned off the rad number changes and am turning them back on one by one to see which one makes things break. | ||
jnthn also wants to start dusting off his Russian a bit today too | |||
colomon: +1. That really is the best way sometimes. | |||
Laborious as it is. | |||
bkeeler | Who's to say they didn't win in the original? We don't know how the cliffhanger turned out | ||
colomon | and it is adding | <rad_number> to numish FTW | 18:12 | |
or FTL, I suppose. | |||
japhb | bkeeler, Yes, unlike Ocean's 11, the money isn't completely gone. | ||
jnthn | colomon: Oh, that's when it gets fail-y? | ||
colomon | yes | 18:13 | |
jnthn | colomon: OK, does a simplified <rad_number> definition show it up? | ||
japhb | But I think in the case of I.J. the director was trying to give them a slim chance when the censors clearly wanted the thieves to have to choose money or living. | ||
jnthn | That may be the next thing to try | ||
18:13
uniejo joined
|
|||
bkeeler | jnthn: Well, your version of the patch doesn't break anything for me, so I say go with it | 18:14 | |
colomon | jnthn: already am using a fairly simplified version of it. | ||
jnthn | colomon: Ah. :-( | ||
bkeeler: Cool...it seemed like a more minimal change that would deal with the same bug. | |||
bkeeler++ for trakcing that one down! | 18:15 | ||
colomon: OK...I'll try and help after I return from The Nom Shop. | |||
lue | masak: take me to your domain! I want to fix something. | ||
arnsholt | Win! The code compiles ^^ | ||
masak | lue: I'm about to leave, but finding something to do is as simple as going to rt.perl.org/rt3/ and triaging rakudobugs. | 18:16 | |
bkeeler | Well, I have people coming over to brew beer in a bit, but hopefully I'll have time to get the var-in-regex patch finalized tomorrow | 18:17 | |
lue | thank you for taking me to your domain! | ||
masak | anytime. | ||
lue | triaging is the art of masak. It is where you decide what is important, right? | 18:19 | |
masak | lue: yes. in this case, deciding if tickets still describe valid bugs. | ||
lue: especially among the old tickets, there are already-fixed ones still sitting around. | 18:20 | ||
lue: it's an easy job; usually, you just have to re-run the code snippet in there and determine if the error still persists. | |||
18:31
iblechbot left,
M_o_C joined
|
|||
lue | how doth I find P6 bugs? | 18:35 | |
(in the RT that is) | 18:36 | ||
colomon hopes masak++ can answer that one, because RT is a mystery to him... | 18:38 | ||
masak | over time I've learned how to search RT. | ||
not sure I'm able to explain it :) | |||
lue: is something called 'Advanced Search' available to you among the menu items? | 18:39 | ||
lue | yes | ||
masak | good. | ||
lue | I found some, but I can't filter out the resolved ones :) | 18:40 | |
masak | lue: usually, when I'm looking for something particular, I enter a keyword and then refine the search with Advanced Search. | ||
lue: you can search for only new/open ones. that'll filter out the resulved ones. | |||
lue | where do I select that? This search interface is giving me a headache :) | 18:41 | |
masak | aye, it's obviously made by a programmer. | ||
just hang in there. that's my best piece of advice. | 18:42 | ||
lue | gah! How do I filter? Nothing is clear! /o\ | ||
*big inhale* ooooooooh.... found it | |||
masak | :) | 18:43 | |
lue | (geez, that could've been clearer) | ||
masak | the RT Advanced Search is 'functionally complete' in that it actually provides a way to build arbitrarily nested search queries. it's just not made for humans, that's all. | 18:45 | |
lue | rakudo: // | 18:46 | |
p6eval | rakudo 7ccf14: OUTPUT«Null regex not allowed at line 11, near ""current instr.: 'perl6;HLL;Grammar;panic' pc 500 (ext/nqp-rx/src/stage0/HLL-s0.pir:328)» | ||
lue | that one's fixed! | 18:47 | |
masak | lue++ | ||
lue | eh... now to find the close button (please tell me it's not under the 'cake' menu :) ) | ||
masak | you can close a ticket under 'Basics'. | ||
or by replying to it. | 18:48 | ||
by the way, the RT term for resolve/close is 'resolve' :) | |||
lue | I pressed the 'Comment' button. | ||
masak | that's fine too. | ||
I'm not too clear on what the difference is between 'Reply' and 'Comment', actually. | 18:49 | ||
lue | Comment, apparently, doesn't message the requestors | ||
dalek | kudo: 3075a5f | jonathan++ | src/ (3 files): Various missing item and hash contextualization bits. |
||
18:50
rv2733 joined
|
|||
lue | I suppose that only matters for critical bugs. | 18:50 | |
colomon | jnthn: I got the parsing sorted by adding <!before '::'> at the beginning of rad_number. | 18:51 | |
lue | masak: I got this: | ||
* Message recorded | |||
* Ticket 57770: Permission Denied | |||
still open :/ | |||
18:52
envi^home left
|
|||
masak | lue: hm. someone needs to grant you more Powar. | 18:52 | |
I can close this one for you, but I need to leave very soon. | |||
lue | masak: You can't gives me teh powar? | 18:53 | |
jnthn | colomon: nice! | ||
masak | lue: not that I'm aware, no. :/ | ||
lue: I don't know who can. maybe pmichaud. | |||
lue | Ah well, I guess that ends my RT bug triaging for now. :) | ||
colomon | now I just have to figure out how to do something with what is parsed. ;) | ||
jnthn | colomon: I suspect we may be wroking around a lack of true LTM. | ||
:-) | 18:54 | ||
colomon | my perception is that compile time is still obnoxiously long, as well. :\ | ||
jnthn | It still sucks, yes. :( | ||
colomon | I hope that doesn't mean we're over-taxing the parser or something. | ||
masak | lue: great start, though. :) I closed that one for you. | 18:56 | |
18:58
Psyche^ joined
19:01
masak left
19:02
Patterner left,
Psyche^ is now known as Patterner
|
|||
lue | goodbye, masak. o/ | 19:02 | |
TimToady | std: :16(FEED) | 19:04 | |
p6eval | std 30140: OUTPUT«Undeclared name: 'FEED' used at line 1ok 00:01 107m» | ||
colomon | jnthn: I just pasted radcalc from old math.pir into new Num.pir. Is there a reason that wouldn't be findable? it seemed to compile okay, but when I tried calling it I got the classic "could not find non-existent.." message. | 19:05 | |
lue | TimToady! You hath come to resolve this fatal contradiction! | ||
jnthn | colomon: Check it didn't get shoved into the Num namespace unintentionally? | 19:08 | |
colomon | jnthn: how would I do that? | ||
jnthn | colomon: Look in Num.pir to see if there's .namespace directives | ||
colomon | ooo, indeed there is. | 19:09 | |
jnthn | colomon: Or above the .sub line of yours, just add | ||
.namespace [] | |||
colomon | compiling... | ||
TimToady | it's not really a contradiction; you have to have a space before an adverb if it could be confused as the end of an identifier | ||
note that :16(FEED) should fail | 19:10 | ||
:16() is a function that takes a string | |||
jnthn | TimToady: So is Rakudo essentially doing the Right Thing by trying to canonicalize it as part of the name? | ||
Or should it fail some semantic check? | |||
19:10
wknight8111 joined
|
|||
TimToady | yes, unless we change it so that extended names can't be extended with :{}, which is tempting | 19:10 | |
since it would enable .grep:{} and such | 19:11 | ||
bkeeler | What's up with t/spec/S04-statements/for.t? Regression? | ||
mberends | jnthn++: nice work on BEGIN | 19:12 | |
TimToady | names are typically extended with :ver<1.2.3> and such, which really means :ver['1.2.3'], not :ver{'1,2,3'} | ||
mberends | alpha: say :16<FEED> | 19:13 | |
p6eval | alpha 30e0ed: OUTPUT«65261» | ||
mberends | alpha: say :16(FEED) | ||
p6eval | alpha 30e0ed: OUTPUT«Could not find non-existent sub FEEDin Main (file src/gen_setting.pm, line 324)» | 19:14 | |
jnthn | TimToady: I'd be tempted to do that too. | 19:15 | |
lue | afk | 19:16 | |
TimToady | rakudo: say BEGIN 42; | ||
p6eval | rakudo 7ccf14: OUTPUT«42» | ||
TimToady | \o/ | ||
colomon | jnthn: still no luck | ||
added the radcalc declaration at the end of gist.github.com/338783 | 19:17 | ||
TimToady: I fixed your example from last night, at least as much as it can be at the moment: | |||
TimToady | and we already restrict adverbial delims on regex modifiers to only use parens | 19:18 | |
colomon | rakudo: say ('*' Xx 1..5).join("\n"); | ||
p6eval | rakudo 7ccf14: OUTPUT«***************» | ||
colomon | on the other hand | ||
TimToady | still broken on nesting? | ||
colomon | rakudo : say ('*' Xx 1..5) X~ "\n" | ||
it fails because gather / take doesn't work right yet. | 19:19 | ||
rakudo: say ('*' Xx 1..5) X~ "\n" | |||
p6eval | rakudo 7ccf14: OUTPUT«Cannot resume dead coroutine.current instr.: 'perl6;GatherIterator;get' pc 421734 (src/gen/core.pir:65403)» | ||
colomon | rakudo: say ('*' Xx 1..5) Z~ "\n" | ||
p6eval | rakudo 7ccf14: OUTPUT«*» | ||
colomon | rakudo: say ('*' Xx 1..5) Z~ ("\n" xx 5) | ||
p6eval | rakudo 7ccf14: OUTPUT«***************» | ||
jnthn | colomon: +# { make radcalc($<radix> | 19:20 | |
You commented out the #? | |||
colomon: It may want an & on the start of the sub name. | |||
.sub '&radcalc' | |||
colomon | that part is actually commented out in STD | ||
I've just been trying to call radcalc directory from REPL | |||
jnthn | oh | ||
if you want to call it from the repl you certainly need an & on the start. :-) | |||
colomon | compiling... | 19:21 | |
do you think that commented out line can work in Grammar.pm? If so, it seems like it would be mighty handy... | |||
jnthn | colomon: I don't immediately see why not..the only thing it's doing is saving you an action method though | 19:22 | |
And you may need one anyway for the circumfix cases | |||
Well, will.. | |||
colomon | Those cases I do have commented out still. :) | ||
jnthn | OK :-) | 19:23 | |
I don't akshually know what they're for. ;-) | |||
We may want to consider putting it in the actions, just because it's going to be the only "make" that's not in there. OTOH, there may be special reasons for doing this one in the grammar that I'm missing. | 19:24 | ||
colomon | jnthn: :16($a), for instance. | 19:25 | |
> say radcalc(16,"FEED") | 19:26 | ||
65261 | |||
jnthn | :-) | ||
Heh. A p6l thread suggesting we do a release like Rakudo *. ;-) | 19:27 | ||
arnsholt | How clever ^^ | ||
colomon | jnthn: are you talking about "Versioned Dependencies"? | 19:28 | |
jnthn | Yes :-) | 19:30 | |
"Rakudo could...have more end-user focussed releases every 3 months"... :-) | 19:31 | ||
colomon | and here I thought they were just trying to add another layer of maximum madness to Rakudo... | ||
jnthn | Oh, they are. | 19:34 | |
They'll fail too. | |||
:-) | |||
It's too early to try and do "emulation semantics" style stuff. | 19:36 | ||
Maybe if we had a team like 10 times the size of the current one we'd have resources for such things. :-/ | |||
colomon doesn't think he'll ever understand p6l... | 19:37 | ||
mberends gave up trying | 19:38 | ||
jnthn | Yeah, there's...quite a disconnect...between p6l and current Perl 6 implementation reality, I'm afraid. | 19:43 | |
colomon kind of thinks you could s/current Perl 6 implementation// | |||
> say :16<FEED> | 19:44 | ||
radix out of range (2-36) | |||
progress! ;) | |||
19:45
ShaneC joined
|
|||
jnthn | colomon: heh :-) | 19:46 | |
19:49
iblechbot joined
|
|||
colomon | so if I have my $radix := $<radix>.ast; | 19:52 | |
how do i get $radix as an Int? | |||
can I just say +$radix or something like that? | |||
19:55
rv2733 left
19:56
M_o_C left,
M_o_C joined
20:01
JimmyHoff joined
|
|||
jnthn | colomon: Did make radcalc(...) line set the AST? | 20:02 | |
(sorry, was away nomming :-)) | 20:03 | ||
colomon | I've still been skipping the make radcalc line, because I don't understand how it can work. Think it is worth trying? | ||
method rad_number($/) { | 20:04 | ||
my $radix := $<radix>.ast; | |||
my $intpart := $<intpart>.ast; # skip other parts for brevity in paste... | |||
make PAST::Op.new( :name('&radcalc'), :pasttype('call'), | |||
$radix + 0, $intpart, $fracpart, $base, $exp); } | |||
With + 0 added, I got | 20:05 | ||
> say :16<FEED> | |||
Multiple Dispatch: No suitable candidate found for 'add_int', with signature 'PIP->P' | |||
jnthn | colomon: Oh, you probably don't need to .ast that | 20:06 | |
$<radix> = [\d+] | 20:07 | ||
It's jsut a match object | |||
colomon | I was just trying to imitate dec_number. Cargo cult programming... | ||
Does the same go for strings? | |||
jnthn | my $radix := +($<radix>.Str); # perhaps | ||
20:07
molaf joined
|
|||
jnthn | That is, extract the matched string | 20:07 | |
And then numify it | 20:08 | ||
colomon | word | ||
compiling... | |||
20:14
pmurias left
|
|||
colomon | > say :16<FEED> | 20:15 | |
65261 | |||
lue | Anybody out there who can give me the ability to close bugs ("resolve" them) on rt.perl.org/rt3 ? | 20:17 | |
jnthn | colomon: yay! | 20:19 | |
colomon | this feels like it has been ridiculously hard. | ||
I've only handled one of the three possible cases, and just that felt about as hard as getting one of the metaops to work. | 20:20 | ||
jnthn | colomon: I'm not sure how many of them alpha handled, fwiw. | 20:22 | |
colomon: I'm pretty sure it wasn't complete. | |||
colomon | there definitely are skips in the test file | ||
jnthn wonders what the won-back test haul will be | 20:26 | ||
20:27
molaf left
|
|||
colomon | don't quote me on this, but I'm guessing about 150 tests. | 20:27 | |
20:27
Chillance joined
20:28
fda314925 left
|
|||
lue | qq{colomon} :) | 20:28 | |
20:32
M_o_C left
|
|||
jnthn | colomon: woo :-) | 20:36 | |
colomon | it's still failing on the tougher tests for that form, I'm currently trying again (compiling...) | ||
sorear | almost 48 hours and only one bite on the RFC | ||
I guess that means it's perfect | |||
or maybe the list is dead | 20:37 | ||
jnthn | sorear: ;-) | ||
sorear: I dunno, if you suggest something bad enough then someone often pops up to shoot it down. :-) | |||
sorear: Anyway, I'd push now for it to be applied. | 20:38 | ||
afk for ~ half an hour. | 20:39 | ||
colomon | jnthn: I keep on running into things that don't seem to be defined in Grammar.pm? like <integer> and <decint>? | 20:42 | |
lue | .oO(when will TimToady/pmichaud/someone else appear so I can triage rakudobugs at the rt.perl.org?) |
20:43 | |
sorear | jnthn: How would I do this? | 20:51 | |
moritz_ | colomon: those might be defined in nqp-rx | 20:52 | |
colomon | moritz_: ah. | ||
so, I've got :16<FEED> working for you. | |||
more complicated versions, not so much yet. | |||
moritz_ | colomon++ | ||
there's also a runtime version | 20:53 | ||
colomon | (not yet checked in, however) | ||
moritz_ | alpha: my $x = 12; say :16($x) | ||
colomon | yes, :16() | ||
p6eval | alpha 30e0ed: OUTPUT«18» | ||
colomon | I just tried turning on the parsing for it. | ||
moritz_ | is the thing that's called under the hood defined somewhere? | ||
lue | rakudo: say :16<DEADBEEF> | ||
p6eval | rakudo 3075a5: OUTPUT«Confused at line 11, near "say :16<DE"current instr.: 'perl6;HLL;Grammar;panic' pc 500 (ext/nqp-rx/src/stage0/HLL-s0.pir:328)» | ||
colomon | there is radcalc, but that doesn't do the parsing | 20:54 | |
lue | rakudo: say :16(DEADBEEF) | ||
p6eval | rakudo 3075a5: OUTPUT«Confused at line 11, near "say :16(DE"current instr.: 'perl6;HLL;Grammar;panic' pc 500 (ext/nqp-rx/src/stage0/HLL-s0.pir:328)» | ||
moritz_ | alpha: say :16<DEADBEEF> | ||
colomon | (that's also not yet checked in) | ||
p6eval | alpha 30e0ed: OUTPUT«3735928559» | ||
lue | figured :) | ||
colomon | > say :16<DEAD_BEEF> | 20:55 | |
3735928559 | |||
moritz_ | rakudo: say :10<F0> # should not be allowed | ||
p6eval | rakudo 3075a5: OUTPUT«Confused at line 11, near "say :10<F0"current instr.: 'perl6;HLL;Grammar;panic' pc 500 (ext/nqp-rx/src/stage0/HLL-s0.pir:328)» | 20:56 | |
colomon | > say :10<F0> | ||
150 | |||
moritz_ | alpha: say :10<F0> # should not be allowed | ||
p6eval | alpha 30e0ed: OUTPUT«150» | ||
colomon | that's what happens when you port the algorithm from alpha. ;) | ||
moritz_ | should be just one more check | 20:57 | |
lue | alpha: say :8<17> # should be 25 | ||
p6eval | alpha 30e0ed: OUTPUT«15» | ||
lue | nope, I did the math wrong :) | ||
alpha: say :2<42> | 20:58 | ||
p6eval | alpha 30e0ed: OUTPUT«10» | ||
colomon | moritz_: that's what they always say... | ||
moritz_ wonders if there's a way to abort a spectest run and still get a summary of the tests written so far | |||
colomon: I know :-) | 20:59 | ||
lue | alpha: say :2<31> #I predict the result will be... 10 | ||
p6eval | alpha 30e0ed: OUTPUT«7» | ||
colomon | woah, it seems like every time I blink, eight spectest files have been updated... | ||
lue | It must take a while for you to blink :D | 21:00 | |
moritz_ | lue: never play lottery | ||
lue | alpha: say :2<41> #prediction: 9 | 21:01 | |
p6eval | alpha 30e0ed: OUTPUT«9» | ||
lue | alpha: say :2<198> #prediction: 19 | 21:02 | |
p6eval | alpha 30e0ed: OUTPUT«30» | ||
lue | what an interesting algorithm :) | ||
moritz_ | rakudo: say 2 * 2**2 + 9 * 2**1 + 8 * 2**0 | 21:03 | |
p6eval | rakudo 3075a5: OUTPUT«34» | ||
colomon | rakudo: say 1 * 2**2 + 9 * 2**1 + 8 * 2**0 | 21:04 | |
p6eval | rakudo 3075a5: OUTPUT«30» | ||
moritz_ can't type anymore | 21:05 | ||
colomon | moritz_: I think I may leave checking on illegal digits as an exercise for lue. ;) | ||
moritz_ | ok :-) | 21:07 | |
lue | OK, just push your code! | 21:08 | |
colomon | I need to spectest it yet (about to start that). | 21:11 | |
But checking on illegal digits should be a nice little piece of PIR programming, right down your alley. :) | |||
lue | you programmed :[number]<> in PIR? | 21:13 | |
21:14
uniejo left
|
|||
colomon | no, I stole the PIR from alpha. | 21:14 | |
moritz_ gets a failure in t/spec/S04-statements/for.t | 21:15 | ||
is that new? | |||
21:15
Su-Shee left
|
|||
colomon | someone mentioned it earlier this afternoon. | 21:15 | |
mberends just got it too | 21:16 | ||
and I was troubleshooting a for $fh.lines { when / ... / } at the time... | 21:17 | ||
spooky bugs at a distance | 21:18 | ||
jnthn back | |||
lue | .oO(ah, mberends makes me think of snowman/comet) |
||
hi jnthn o/ | |||
jnthn | sorear: Ask somebody on #parrot if they'd be able to commit it, since nobody disagreed with it on list. | 21:19 | |
colomon: Maybe we lag behind STD in those places? | |||
(for.t) Hmm. I see it too. :-/ | 21:20 | ||
mathw | hey | 21:21 | |
colomon | jnthn: in integer and decint? I think moritz_++ is right that they must be coming from NQP | ||
jnthn | oh hai mathw | ||
colomon | at least, they do seem to work, I just don't know how. | ||
jnthn | colomon: Well, HLL::Grammar probably | 21:22 | |
moritz_ | at least in the NQP-rx code there is a token decint defined | ||
jnthn | colomon: Which both NQP grammar and Rakudo grammar inherit from | ||
It has the common bits. | |||
Including EXPR | |||
moritz_ | src/HLL/Grammar.pm lines 48 and following | ||
good news: rakudo doesn't seem to leak much memory any more | 21:24 | ||
there are some tests in range.t where rakudo loops | |||
colomon | Any clue on how to use integer in Actions.pm, then? That's my current issue with the straightforward :16 implementation. | ||
moritz_ | and in the auld days it would run out of memory pretty soon | 21:25 | |
colomon | Trying .Str on the radint match failed... | ||
moritz_ | colomon: write an integer rule in Rakudo | ||
and override the default | |||
colomon | numish has | ||
if $<integer> { make PAST::Val.new( :value($<integer>.ast) ); } | |||
jnthn | colomon: How did it fail? | 21:26 | |
colomon: That should make you an integer PAST::Var node, yes | 21:27 | ||
*PAST::Val | |||
But depends if that's what you need. :-) | |||
colomon | can I then pass that into &radcalc using PAST::Op.new? | ||
moritz_ | and S12-attributes/instance.t sometimes files | ||
if $<integer> # what about passing 0? | 21:28 | ||
colomon | > say :16<dead_beef*16**8> | ||
Method 'ast' not found for invocant of class 'ResizablePMCArray' | |||
> :16<dead_beef*16**8> | |||
Method 'Str' not found for invocant of class 'ResizablePMCArray' | |||
jnthn | colomon: Oh. Is <integer> quantified? | 21:29 | |
colomon | That was my attempt to called .Str on the $<base> which is a radint (which is an integer) | ||
moritz_ | $<integer>[0] ? | ||
jnthn | colomon: What moritz said if it has a quantifier. | ||
Which sounds like it's the case. | |||
colomon | jnthn: I fear I don't... [ '*' <base=.radint> '**' <exp=.radint> ]? | ||
jnthn | colomon: It's quantified | 21:30 | |
I guess | |||
Because it's inside the [ ... ]? | |||
So $<base>[0].Str | |||
mberends | rakudo: given "abc#def" { when / \w+ \# \w+ / { say "two words ok" } } | 21:31 | |
p6eval | rakudo 3075a5: OUTPUT«two words ok» | ||
mberends | rakudo: given "abc#def" { when / \w+ '#' \w+ / { say "two words ok" } } | ||
p6eval | rakudo 3075a5: OUTPUT«two words ok» | ||
mberends | hmm, locally the second one eggsplodes | 21:32 | |
moritz_ | std: /\w+ \# \w+ / | ||
p6eval | std 30142: OUTPUT«===SORRY!===No unspace allowed in regex (for literal please quote with single quotes) at /tmp/EDxz0ojmcv line 1:------> /\w+ \⏏# \w+ /FAILED 00:01 108m» | ||
jnthn | :-/ | ||
mberends: In what way does it omlette? | |||
mberends | jnthn: Unable to parse blockoid, couldn't find final '}' at line 1 | 21:33 | |
21:33
meppl joined
|
|||
jnthn | > given "abc#def" { when / \w+ '#' \w+ / { say "two words ok" } } | 21:35 | |
two words ok | |||
mberends | better rebuild Rakudo locally before whining | 21:36 | |
jnthn | ;-) | ||
m6locks | hmm some optimization has been done because i can build rakudo and listen to itunes and my system is not slowing down to death | 21:37 | |
jnthn | \o/ | ||
m6locks | :) | ||
jnthn | music++ | ||
lue | buubot: karma music | 21:38 | |
buubot | lue: music has karma of 0 | ||
jnthn hadn't contemplated how annoying it would be if Rakudo compilation made his music skip | |||
21:38
iblechbot left
|
|||
colomon just choose a nice selection in the middle of the Peter Horan section in his iTunes... | 21:38 | ||
jnthn | colomon: Attemtping hyper ops parsing... | ||
colomon | \o/ | ||
lue | jnthn WAIT! I got to go get the popcorn! | 21:39 | |
jnthn tries to find that Really Important <!before ..> he noticed in STD... | |||
lue | Give us a live screencast of your computer screen! | ||
colomon | gack, *chose | ||
> say :16<DEAD*16**3> | 21:40 | ||
233492480 | |||
mberends | colomon: oooh! | 21:41 | |
jnthn | wow! | ||
21:41
uniejo joined
|
|||
mathw | \o/ | 21:41 | |
lue | \o/ | 21:42 | |
colomon | I think decimal points probably still don't work, they don't appear to have worked in alpha either? | ||
alpha: say :16<D.D> | |||
p6eval | alpha 30e0ed: OUTPUT«13» | ||
moritz_ | Juerd: when I try to log in on feather3, I get "PTY allocation request failed on channel 0" | ||
lue | Only in pugs, colomon | ||
colomon | btw, pushed. | ||
lue | pugs: say :16<D.D> | ||
p6eval | pugs: OUTPUT«13.8125» | ||
moritz_ | Juerd: the internetz suggests mkdir /dev/pts; mount /dev/pts | ||
colomon | lue: feel free to pull and hack on radcalc. It's in Num.pir. | ||
moritz_ | Juerd: but I can't run that because I can't log in :( | 21:43 | |
lue | got it! | ||
jnthn | moritz_: Aww! | ||
21:44
uniejo left
|
|||
jnthn | colomon: yowser, the infixish action method is rather long! | 21:44 | |
colomon | btw, lue, radcalc is trying to calculate the decimal part and failing. You might take a look at that as well. ;) | ||
dalek | kudo: 52ea36c | (Solomon Foster)++ | src/ (3 files): First stab at supporting :16<DEADBEEF> style numbers. |
21:45 | |
kudo: acc0fce | (Solomon Foster)++ | src/Perl6/Actions.pm: Make base and exp work in rad_number action. |
|||
jnthn | colomon: It looks like the X and Z only differ in the sub they call. | ||
21:45
payload1 left
|
|||
jnthn | colomon: Which turn looks very much like the code for the reduce op. | 21:45 | |
colomon | jnthn: yes. | ||
jnthn | colomon: Any objections if I try and factor it out a bit? | ||
lue | I'm going to compile now, and then start hacking away. | ||
colomon | remember me talking about using a hash in Actions.pm yesterday? | ||
that was why. | |||
jnthn | colomon: Ah, ok | ||
lue | (I'm glad I'm ssh-ing to another computer :D) | 21:46 | |
colomon | actually, I've got code here which turns all the Rop, !op, Xop, and Zop to the same code (modulo function name) in Actions.pm | ||
jnthn | I was thinking of just writing a sub we call like gen_metaop($base_op, '&crosswith', ...) or some such | ||
colomon | but somehow it breaks != | ||
jnthn | colomon: ah, OK | ||
colomon: Anyway, want to get the hyper in a bit more first... | |||
colomon: You think the dwimness would work as adverbs? | 21:47 | ||
colomon | that is to say, I've almost got it refactored into something much nicer... but I'm having a few issues. :) | ||
jnthn | OK :-) | ||
mberends | is it necessary to wait for apt-get to finish updating gcc before starting 'perl Configure.pl --gen-parrot' ? ;) | ||
jnthn | If you already have a factoring of it, then I'll not worry for now. | ||
mberends: Of course not, what could possible go wrong? ;-) | |||
mberends | what indeed | 21:48 | |
21:48
hanekomu_ joined
21:49
_sri joined
|
|||
lue | No. GCC has been known to work with only one C (but it takes longer) :) | 21:52 | |
21:52
_sri left
|
|||
moritz_ | Juerd: never mind, found a way (involving ssh feather3 '/bin/bash -i', sudo -s and other evil techniques :) | 21:53 | |
21:53
_sri joined
|
|||
jnthn | grrr...countries that make me get a visa... <grumble> | 21:54 | |
21:54
pugssvn joined,
pugssvn left
21:55
pugssvn joined
|
|||
pugssvn | r30141 | moritz++ | [t/spec] test for contextual @ and & variables | 21:55 | |
r30142 | moritz++ | [t/spec] some unfudges for rakudo | |||
r30143 | moritz++ | [STD.pm] awesomify error message about \# in regexes | |||
21:55
aesop left
|
|||
moritz_ | sorry that only the last few revisions get reported | 21:55 | |
jnthn | moritz_++ | 21:56 | |
21:56
abra joined
|
|||
lue | colomon: why limit yourself at 36? IPv6 can be encode in base 85. | 21:59 | |
Although, You'd have to consult with mathematicians on what to do above base 36... | |||
21:59
aesop joined
|
|||
mberends | lue: colomon++ is a mathematician, and most probably talks to himself :) | 22:00 | |
22:03
justatheory joined
|
|||
moritz_ | nopaste.snit.ch/20017 | 22:06 | |
it's a regex, and I have no idea why it does not match | |||
lue | rakudo: say Q:PIR{16,"16D","4",1} | 22:07 | |
p6eval | rakudo 3075a5: OUTPUT«error:imcc:syntax error, unexpected INTC ('16') in file 'EVAL_1' line 64» | ||
lue | how do you run PIR code directly from P6 | 22:08 | |
moritz_ | lue: like you did | ||
lue: except that 16,"16D","4",1 is not valid PIR code | |||
lue | I wish to run a specific function (&radcalc) | 22:09 | |
moritz_ | alpha: Q:PIR{ 'radcalc'() } | 22:10 | |
jnthn | lue: you can just call that from Perl 6 :-0 | ||
p6eval | alpha 30e0ed: OUTPUT«too few positional arguments: 0 passed, 1 (or more) expectedin Main (file <unknown>, line <unknown>)» | ||
jnthn | radcalc(...) | ||
moritz_ | alpha: Q:PIR{ 'radcalc'(1) } | ||
p6eval | alpha 30e0ed: OUTPUT«too few positional arguments: 1 passed, 2 (or more) expectedin Main (file <unknown>, line <unknown>)» | ||
moritz_ | alpha: Q:PIR{ 'radcalc'(1, 2) } | ||
p6eval | alpha 30e0ed: OUTPUT«radix out of range (2-36)in Main (file <unknown>, line <unknown>)» | ||
moritz_ | alpha: Q:PIR{ 'radcalc'(2, 2) } | ||
p6eval | alpha 30e0ed: ( no output ) | ||
jnthn | rakudo: radcalc(1,2) | ||
p6eval | rakudo 3075a5: OUTPUT«Could not find non-existent sub &radcalccurrent instr.: '_block14' pc 29 (EVAL_1:0)» | ||
moritz_ | apha: radcalc(2, 3) | ||
jnthn | Maybe evalbot is behind | ||
moritz_ | alpha: radcalc(2, 3) | ||
jnthn | I think colomon++ just comitted that | ||
p6eval | alpha 30e0ed: ( no output ) | ||
moritz_ | alpha: say radcalc(2, 3) | 22:11 | |
p6eval | alpha 30e0ed: OUTPUT«3» | ||
moritz_ | alpha: say radcalc(2, '11') | ||
p6eval | alpha 30e0ed: OUTPUT«3» | ||
moritz_ | jnthn: have you looked at my nopaste? any idea why it fails? | 22:12 | |
lue | colomon: did you copy this straight from alpha? | ||
jnthn | moritz_: I think I forgot/missed that? | ||
moritz_ | jnthn: nopaste.snit.ch/20017 | ||
jnthn | looking | ||
moritz_ | rakudo: say 't' ~~ /<-[\t]>/ | 22:14 | |
p6eval | rakudo 3075a5: OUTPUT«» | ||
moritz_ | it doesn't parse \t in char classes, it seems :( | ||
jnthn | rakudo: say "foo" ~~ /<-["\\\t\n]>+/ | ||
m6locks | hmm t/spec/S04-statements/for.rakudo Failed test: 49 | ||
p6eval | rakudo 3075a5: OUTPUT«foo» | ||
moritz_ | rakudo: say 'foo' ~~ /<-[\t]>/ | ||
rakudo: say 'foo' ~~ /<-[\t]>+/ | |||
p6eval | rakudo 3075a5: OUTPUT«f» | 22:15 | |
rakudo 3075a5: OUTPUT«foo» | |||
moritz_ | rakudo: say 'foto' ~~ /<-[\t]>+/ | ||
p6eval | rakudo 3075a5: OUTPUT«fo» | ||
moritz_ bangs head against wall | |||
jnthn | Er. :-/ | ||
lue is looking at this (radcalc), trying to figure out .HOW it converts things... | 22:16 | ||
sorear | lue: I can do parrot hacking screencasts... | ||
lue | did you read the backlogs? I got a little excited over jnthn's hyperop parsing | 22:17 | |
:) | |||
sorear | yes | 22:18 | |
but I can't do rakudo hacking | 22:19 | ||
not enough RAM | |||
Parrot builds in a minute and 50MiB | |||
lue | heh, same here. I'm ssh-ing for that. | 22:21 | |
that being rakudo | |||
colomon | lue: yes | 22:22 | |
sorry, was nomming | |||
lue | yes, you did copy it from alpha? | ||
colomon | yes, I copied it from alpha | ||
I am a plagiarist! | |||
lue | OK. (I'm guilty of that aswell!) | 22:23 | |
What were those guys thinking? | |||
22:24
meppl left
22:25
nihiliad joined
|
|||
lue | How the heck did they insert something called magnitude? It'd be like me coding imaginary numbers and π into the multi sub infix:<+> function! | 22:25 | |
(as far as I can tell) | |||
colomon | that's the second half of | ||
rakudo: say :16<DEAD*16**2> | 22:26 | ||
p6eval | rakudo acc0fc: OUTPUT«14593280» | ||
colomon | 16**2 is magnitude | ||
lue | aaah | ||
never had to deal with magnitude. Ever. :) | 22:27 | ||
rakudo: say :16<A>; say :16<A*16**2> | |||
p6eval | rakudo acc0fc: OUTPUT«102560» | ||
colomon | I'm not really sure why you'd want it, particular when it should be the same as | ||
rakudo: say :16<DEAD> * 16 ** 2 | |||
p6eval | rakudo acc0fc: OUTPUT«14593280» | ||
colomon | but it's in STD | 22:28 | |
lue | rakudo: say :16<A>; say :16<A*16**2>; say :16<A> * 16 ** 2 | ||
p6eval | rakudo acc0fc: OUTPUT«1025602560» | ||
moritz_ | colomon: maybe it's an artifact back from the days where some compound numbers like 1+2i where parsed as a single term | ||
lue | rakudo: say :16<A+3i> | ||
p6eval | rakudo acc0fc: OUTPUT«Malformed radix number at line 11, near "<A+3i>"current instr.: 'perl6;HLL;Grammar;panic' pc 500 (ext/nqp-rx/src/stage0/HLL-s0.pir:328)» | ||
lue | rakudo: say :16<A*-1**(1/2)> | 22:29 | |
p6eval | rakudo acc0fc: OUTPUT«Malformed radix number at line 11, near "<A*-1**(1/"current instr.: 'perl6;HLL;Grammar;panic' pc 500 (ext/nqp-rx/src/stage0/HLL-s0.pir:328)» | ||
lue | rakudo: say :16<A>*-1**(1/2) | ||
p6eval | rakudo acc0fc: OUTPUT«-10» | ||
lue | rakudo: my $a=3+6i; say :16<$a> | 22:30 | |
colomon | moritz_: since those days were only like a month ago, I don't doubt you are right. :) | ||
p6eval | rakudo acc0fc: OUTPUT«Malformed radix number at line 11, near "<$a>"current instr.: 'perl6;HLL;Grammar;panic' pc 500 (ext/nqp-rx/src/stage0/HLL-s0.pir:328)» | ||
lue | magnitude seems pretty uneccessary. I just go ahead and delete it... | ||
*POOM!* | |||
22:31
hanekomu_ left
|
|||
lue | rakudo: say :16<A*sqrt(-1)> | 22:31 | |
p6eval | rakudo acc0fc: OUTPUT«Malformed radix number at line 11, near "<A*sqrt(-1"current instr.: 'perl6;HLL;Grammar;panic' pc 500 (ext/nqp-rx/src/stage0/HLL-s0.pir:328)» | ||
lue | rakudo: say :16<A>*sqrt(-1) | 22:32 | |
p6eval | rakudo acc0fc: OUTPUT«NaN» | ||
jnthn | Looks like I'm going to Russia next month to talk about Perl 6 and Rakudo. \o/ | ||
22:32
meppl joined
|
|||
lue | hoorah \o/ (i guess...) :) | 22:32 | |
jnthn | Provided I can get a visa... :-/ | ||
colomon | \o/ | ||
jnthn | Well, they've let me in (and out!) twice before. :-) | ||
jnthn needs to dust off his awful Russian | |||
Besides a few flirty comments, I've not actually spoken it for...youch...over a year. | 22:33 | ||
colomon: hyper parsing coming along..."just" struggling on the transparency. | 22:36 | ||
colomon | transparency in dependency, or something else? | ||
jnthn | >>+<< is meant to have the precedence of +, >>*<< os meant to have the precednece of *, etc | ||
It's not quite a copy-paste from STD. :-/ | |||
*is | 22:37 | ||
colomon | right, we need that for Rop and !op too. | ||
22:37
abra left
|
|||
jnthn | Yeah, thus I'll be pleased to fathom it here. | 22:37 | |
ooh, it's beer o'clock1 | |||
mberends | it was cider o'clock long ago on .nl, now nearing sleep o'clock | 22:39 | |
colomon | cider o'clock here in Michigan. | ||
pugssvn | r30144 | colomon++ | [t/spec] Fudge radix.t so it works in Rakudo. | ||
colomon | lue: you can use S02-literals/radix.t to test any changes you make. :) | ||
moritz_ gives :16($foo) a shot | 22:40 | ||
jnthn | mberends: .jnthn is a couple of hours off .nl | ||
colomon | go moritz_++ go! | 22:41 | |
moritz_ | it's the first time I greate A PAST::anything, so keep your fingers crossed... | ||
22:41
skim left
|
|||
jnthn | Ich hab ein bier von unchenn! | 22:41 | |
colomon | radix.t can be turned on now, but I've got to run to fetch future nom. | ||
jnthn | Or...or aus Munchen... | ||
moritz_ | parsing it is easy, just needed to remove a # sign from the gramar | 22:42 | |
did you mean: München? :-) | |||
jnthn | Yes, that one | ||
:-) | |||
moritz_: Which preposition did I want? :-) | |||
<- never actually learned German, just makes it up and usually fails | 22:43 | ||
moritz_ | "aus München" is correct | ||
but you would say "trinke", not "hab" :-) (at least that's what I think you do...) | 22:44 | ||
lue is fully prepared to completely overhaul &radcalc, and take a marker to the spec and cross out "magnitude" (convince me the marker is not needed, and I'll stop.) | 22:45 | ||
jnthn | moritz_: Ah, was going for "I have a ", but yes, "I'm drinking a" is better :-) | 22:46 | |
ooh, it's not a bad beer at all :-) | |||
lue: Does keeping magnitude in tormet you? | 22:47 | ||
lue | if it's unneccessary, then yes. | ||
jnthn | Perl 6 is designed to torment those implementing it. ;-) | ||
(for the sake of those using it... :-)) | 22:48 | ||
lue | the thing is, you can easily apply this so-called 'magnitude' outside of the conversion. | ||
moritz_ | let's just wait for TimToady's decree... if he says it's really superfluous, then I'm all for scraping it | ||
lue | It's unnecessary bunches of coding! | 22:49 | |
rakudo: say :16<16D>*2**16; say :16<16D*2**16> | |||
p6eval | rakudo acc0fc: OUTPUT«2392064023920640» | ||
jnthn | It does look like it could easily enough to away. | ||
It's not that the magnitude is meant to be parsed in base 16 too, is it? | 22:50 | ||
oh, wait | |||
colomon | spec says magnitude can be in other bases. | 22:51 | |
jnthn | ah, ok | ||
colomon | buuuut.... so can external stuff, too. | ||
jnthn | colomon: oh ouch...guess what? | ||
colomon: Actually setting the $<O> seems to work. | |||
colomon | rakudo: say :16<16D>*:16<4> **:3<2> | ||
p6eval | rakudo acc0fc: OUTPUT«5840» | ||
moritz_ | :16<AE*:16<EF>**3> or what? | ||
colomon | no freaking way! | ||
22:51
jhuni joined
|
|||
jnthn | colomon: It explodes...inside the operator precedence parser. O_O | 22:51 | |
...I never valued my sanity anyway. | 22:52 | ||
jnthn goes the explore. | |||
colomon | moritz_: yes, that's how I read the regexes. | ||
nom fetching for real this time... | |||
22:53
Garry4758 joined
|
|||
lue | the spec has yet to convince me it NEEDS to allow it within the conversion :) | 22:53 | |
22:54
xomas joined,
xomas left,
xomas joined
|
|||
moritz_ | colomon: S02 actually has an example for that | 22:54 | |
lue | I'm going to redo &radcalc anyway, the magnitude just needs to be added afterwards :) | ||
moritz_ | :2«1.1*:2<10>**:2<10>» 6 | ||
moritz_ stupid | 22:55 | ||
mis-spelling type names of PAST::Foo things give nasty errors | |||
22:56
Garry4758 left
|
|||
lue | Ought to get some noms aswell. After that, I'm-a gonna start on rewriting &radcalc. | 23:02 | |
moritz_ finds it more appealing to do stuff than to announce doing it all over again | 23:03 | ||
23:06
baest_ joined
23:07
doublec_ joined
23:09
literal_ joined,
MOAR-f00li5h joined,
Lorn_ joined
|
|||
moritz_ | in Perl6::Actions, what does $<capture>.ast return? a PAST::something object? | 23:09 | |
jnthn | moritz_: Usually, yes. | ||
moritz_: What you get from .ast is what capture's action method set using "make" | 23:10 | ||
So you can check by looking at the action method for "capture" | |||
23:11
yahooooo7 joined
|
|||
moritz_ | so if "capture" is well-behaved I can use the result of $<capture>.ast as an argument for a PAST::Op call? | 23:11 | |
seems I can \o/ | |||
jnthn | Yes. | ||
moritz_ can haz a patch for :16($thing) | 23:12 | ||
just needs to spectest | |||
jnthn | \o/ | ||
23:13
hanekomu_ joined,
clintongormley left,
TiMBuS left,
silug left,
allbery_b left,
tylerni7 left,
yahooooo left,
doublec left,
Lorn left,
hanekomu left,
f00li5h left,
literal left,
revdiablo left,
baest left,
mdxi left
|
|||
mberends splits to bed. 'nite all o/ | 23:14 | ||
jnthn | night o/ | ||
23:15
mberends left
|
|||
pugssvn | r30145 | moritz++ | [t/spec] enable a few radix tests for rakudo | 23:15 | |
23:15
alester left
|
|||
dalek | kudo: 1cf0766 | moritz++ | (3 files): handle :16($thing) style numbers |
23:18 | |
pugssvn | r30146 | moritz++ | [t/spec] more unfudges in radix.t | ||
23:20
lichtkind joined
|
|||
lichtkind | ruoso: great | 23:23 | |
23:23
clintongormley joined,
allbery_b joined,
TiMBuS joined
23:25
masonk joined,
masonk left
|
|||
lue | moritz_: it's called getting distracted :) | 23:25 | |
did you just fix using variables in :16 ? | 23:26 | ||
rakudo: my $a="2A"; say :16<$a> | |||
p6eval | rakudo acc0fc: OUTPUT«Malformed radix number at line 11, near "<$a>"current instr.: 'perl6;HLL;Grammar;panic' pc 500 (ext/nqp-rx/src/stage0/HLL-s0.pir:328)» | ||
23:27
justatheory left
|
|||
sorear | jnthn: I think I want to kill return_value_helper. | 23:30 | |
TimToady | internal magnitude is not superfluous if you with the user to be able supply it, as in :16($*IN.get) | 23:31 | |
moritz_: ^^ | 23:32 | ||
23:32
justatheory joined
|
|||
TimToady | it's one of those place we're trying to avoid forcing use of eval() | 23:32 | |
lue | ah. Thanks TimToady! | 23:33 | |
ruoso | TimToady, have you seen the versioned dependencies thread? | ||
lue | TimToady: can you give me the ability to close rakudobugs at rt.perl.org? | ||
TimToady | ruoso: no | ||
lue: no, I don't know how myself | 23:34 | ||
I'm very negative today :) | |||
lue | Ah well. (so who CAN give those permissions to me?) | ||
jnthn | lue: I can't. :-( | 23:35 | |
moritz_ may know | |||
lue | And of course, he (seemingly) left :) | ||
jnthn | Oh. D'oh. | ||
23:38
mberends joined
|
|||
jnthn | mberends: Short sleep! | 23:38 | |
mberends | jnthn: a bug was bugging me ;) | 23:39 | |
rakudo: "foo:" ~~ / (\S+) ':' / and say "matched $0" # steals the : | |||
p6eval | rakudo acc0fc: ( no output ) | ||
mberends | er, locally says "matched foo:" | 23:40 | |
colomon | moritz_++ | ||
sorear | no output! | ||
colomon | but why didn't you reactivate the :16[ ] form, too? I bet your action works for it already... | ||
mberends | rakudo: "foo:" ~~ / <-,:]>+ ':' / and say "matched $0" # steals the : | 23:41 | |
p6eval | rakudo acc0fc: OUTPUT«Confused at line 11, near "\"foo:\" ~~ "current instr.: 'perl6;HLL;Grammar;panic' pc 500 (ext/nqp-rx/src/stage0/HLL-s0.pir:328)» | ||
mberends | rakudo: "foo:" ~~ / <-[:]>+ ':' / and say "matched $0" | ||
p6eval | rakudo acc0fc: OUTPUT«matched Any()» | ||
mberends | rakudo: "foo:" ~~ / <-[:]>+ ':' / and say "matched " ~ $0 | ||
p6eval | rakudo acc0fc: OUTPUT«matched Any()» | ||
23:42
synth left,
[synth] left
23:43
[synth] joined,
synth joined
|
|||
lue | can't see why the fraction keeps getting chopped away... | 23:44 | |
rakudo: say :16<16D.4> | |||
p6eval | rakudo acc0fc: OUTPUT«365» | ||
lue | rakudo: say radcalc(16,'16D','4',1) | ||
p6eval | rakudo acc0fc: OUTPUT«365» | ||
23:45
justatheory left,
justatheory joined
|
|||
lue | rakudo: say :16<.4> | 23:46 | |
p6eval | rakudo acc0fc: OUTPUT«Malformed radix number at line 11, near "<.4>"current instr.: 'perl6;HLL;Grammar;panic' pc 500 (ext/nqp-rx/src/stage0/HLL-s0.pir:328)» | ||
lue | rakudo: say :16<0.4> | ||
p6eval | rakudo acc0fc: OUTPUT«0» | ||
23:49
justatheory left
23:50
M_o_C joined
23:57
justatheory joined
|