»ö« Welcome to Perl 6! | perl6.org/ | evalbot usage: 'perl6: say 3;' or rakudo:, niecza:, std:, or /msg p6eval perl6: ... | irclog: irc.perl6.org/ | UTF-8 is our friend! Set by sorear on 4 February 2011. |
|||
masak | for anonymous parameters it should say "for parameter at position 1" or something like that. | 00:00 | |
though that will still be potentially confusing for methods. | |||
00:02
thou joined
|
|||
sorear | masak: Wouldn't position 1 mean $y in :($x,$y) ? :) | 00:02 | |
00:03
Trashlord left
|
|||
masak | that's another potential source of confusion :) | 00:04 | |
dalek | ecza: 4a19674 | sorear++ | lib/ (3 files): Implement binder support for "where" and sub-signatures |
00:15 | |
sorear goes looking for tests to enable | |||
00:18
molaf left,
alvis joined
|
|||
sorear | colomon: there's your post_constraint fix | 00:22 | |
00:30
molaf joined
00:31
thou__ joined
|
|||
sorear | std: sub foo(where Int $x) { } | 00:33 | |
p6eval | std dc62e1d: OUTPUT«Potential difficulties: $x is declared but not used at /tmp/NiUu0sLBAF line 1:------> sub foo(where Int ⏏$x) { }ok 00:01 124m» | ||
sorear | I did not know you could do that! | ||
00:34
thou left
|
|||
sorear | however! | 00:40 | |
std: sub foo($ where *>2 where *<5) { } | |||
p6eval | std dc62e1d: OUTPUT«===SORRY!===Whitespace required before < operator at /tmp/NEgeyrEj8J line 1:------> sub foo($ where *>2 where *<⏏5) { } expecting escapeParse failedFAILED 00:01 123m» | ||
ruoso | sorear: since quasi is nyi, is there any simple way of getting the optree for a perl6 code snippet? | ||
sorear | std: sub foo($ where * > 2 where * < 5) { } | ||
p6eval | std dc62e1d: OUTPUT«ok 00:01 123m» | ||
sorear | std: sub foo(where * > 2 where * < 5 $foo) { } | ||
p6eval | std dc62e1d: OUTPUT«===SORRY!===Multiple prefix constraints not yet supported at /tmp/LYMpTmfa3g line 1:------> sub foo(where * > 2 where * < 5 ⏏$foo) { }Potential difficulties: $foo is declared but not used at /tmp/LYMpTmfa3g line 1:------> [… | ||
masak | o.O | 00:41 | |
sorear | ruoso: no | ||
masak | 'night, #perl6 | ||
sorear | masak: I am thinking STD is being excessively liberal here. | 00:42 | |
also, things like | |||
std: my ::T $x; #What does this even mean? | 00:43 | ||
p6eval | std dc62e1d: OUTPUT«ok 00:01 120m» | ||
sorear | phenny: tell TimToady I am curious about the validation rules for type_constraint. Are the examples given just before this message supposed to be legal in a real implementation? | 00:44 | |
phenny | sorear: I'll pass that on when TimToady is around. | ||
sorear | rakudo: say v6 | 00:45 | |
p6eval | rakudo 327fc9: OUTPUT«===SORRY!===CHECK FAILED:Undefined routine '&v6' called (line 1)» | ||
sorear | niecz: say v6 | ||
niecza: say v6 | |||
p6eval | niecza v13-154-g29d510e: OUTPUT«===SORRY!===Action method value:version not yet implemented at /tmp/4OhPseQxgS line 1 (EOF):------> say v6⏏<EOL>Unhandled exception: Check failed at /home/p6eval/niecza/boot/lib/CORE.setting line 919 (die @ 2) … | ||
sorear | what? | ||
00:46
thou__ left
|
|||
sorear | ah, S02:4475 | 00:48 | |
jnthn | sleep & | 01:00 | |
colomon | sorear++ | 01:07 | |
01:10
spetrea joined
01:11
bkolera left
|
|||
colomon | niecza: multi sub very_odd(Int $odd where { $odd % 2 }) { Bool::True; }; very_odd(1) | 01:21 | |
p6eval | niecza v13-155-g4a19674: OUTPUT«Unhandled exception: System.NullReferenceException: Object reference not set to an instance of an object at Builtins.mod (Niecza.Variable a1, Niecza.Variable a2) [0x00000] in <filename unknown>:0  at Anon.1.Run.MAIN.C2ANON (Niecza.Frame ) [0x00000] in… | ||
kshannon | What it the reason for using: (@a,) | ||
It's not supposed to recontainerize the elements is it? | |||
It's just making sure that if @a is an array, then make a new list. | 01:22 | ||
Why wouldn't you just use @a.list ? | 01:23 | ||
colomon | niecza: multi sub very_odd($odd where { $odd % 2 }) { Bool::True; }; very_odd(1) | ||
p6eval | niecza v13-155-g4a19674: OUTPUT«Unhandled exception: System.NullReferenceException: Object reference not set to an instance of an object at Builtins.mod (Niecza.Variable a1, Niecza.Variable a2) [0x00000] in <filename unknown>:0  at Anon.1.Run.MAIN.C2ANON (Niecza.Frame ) [0x00000] in… | ||
[Coke] | still getting those 815 failures. must be something in my new niecza checkout that is just for getting stats. | 01:26 | |
colomon | [Coke]: rat.t is crashing hard at test 7 or so | 01:29 | |
it's got ~800 tests in it | |||
[Coke] | I'm seeing failures like got <7/4>, expected 7/4 in, e.g. # got: <7/4> | 01:30 | |
# expected: 7/4 | |||
er, in: | 01:31 | ||
integration/advent2009-day14 | |||
niecza: say 1.75.perl | 01:32 | ||
p6eval | niecza v13-155-g4a19674: OUTPUT«<7/4>» | ||
colomon | right, those too | 01:33 | |
I think that's the source of all current problems that I know of | |||
[Coke] | is that a new spec change that the tests haven't caught up with yet? | ||
colomon | yes | 01:34 | |
[Coke] | k | ||
colomon | but also that niecza hasn't fully caught up with yet | ||
[Coke] | niecza: say <7/4> | ||
p6eval | niecza v13-155-g4a19674: OUTPUT«7/4» | ||
[Coke] | niecza: say <7/4>.perl | ||
p6eval | niecza v13-155-g4a19674: OUTPUT«"7/4"» | ||
colomon | that's a string | ||
[Coke] | O_o | ||
need to reboot. back in a bit. | 01:35 | ||
colomon | it should be a Rat now | ||
'k | |||
perl6: say 3e5.perl | 01:48 | ||
p6eval | niecza v13-155-g4a19674: OUTPUT«300000» | ||
..rakudo 327fc9: OUTPUT«300000e0» | |||
..pugs b927740: OUTPUT«300000/1» | |||
01:50
kmwallio joined
|
|||
colomon | niecza: say (\42).perl | 02:07 | |
p6eval | niecza v13-155-g4a19674: OUTPUT«\(42)» | ||
colomon | niecza: say (\NaN).perl | ||
p6eval | niecza v13-155-g4a19674: OUTPUT«\(NaN)» | ||
dalek | ast: 5e9f461 | (Solomon Foster)++ | S02-names-vars/perl.t: Fudge for niecza. |
02:12 | |
skids | perl6: grammar g { regex m { foo } } ; say "foo" ~~ /<g::m>/; | ||
p6eval | rakudo 327fc9: OUTPUT«Method 'g' not found for invocant of class 'Cursor' in regex <anon> at /tmp/5RqMUfLpBE:1 in method ACCEPTS at src/gen/CORE.setting:7218 in block <anon> at /tmp/5RqMUfLpBE:1 in <anon> at /tmp/5RqMUfLpBE:1» | ||
..niecza v13-155-g4a19674: OUTPUT«Unhandled exception: Cannot dispatch to a method on g because it is not inherited or done by Cursor at /home/p6eval/niecza/lib/CORE.setting line 191 (Mu.dispatch:<::> @ 3)  at /tmp/bcI5Sq_qSp line 1 (ANON @ 4)  at /home/p6eval/niecza/lib/CORE.settin… | |||
..pugs b927740: OUTPUT«Error eval perl5: "if (!$INC{'Pugs/Runtime/Match/HsBridge.pm'}) { unshift @INC, '/home/p6eval/.cabal/share/Pugs-6.2.13.20111008/blib6/pugs/perl5/lib'; eval q[require 'Pugs/Runtime/Match/HsBridge.pm'] or die $@;}'Pugs::Runtime::Match::HsBridge'"*** '<HAND… | |||
02:20
packetknife left
02:21
packetknife joined
|
|||
colomon | skids: are you trying to figure out how to use a grammar? | 02:23 | |
skids | well, not from the TOP. | 02:27 | |
[Coke] | colomon: until those get straigtened out, here's the damage: | ||
colomon | [Coke]: I'm working on sorting things right now. :) | ||
[Coke] | gist.github.com/1476841 | 02:28 | |
dalek | ast: ecf238e | (Solomon Foster)++ | S32-num/rat.t: Fudge for niecza. |
||
[Coke] | down to 88.9% | ||
ok, I can still do another run today if needs be. ;) | |||
colomon | I'll have you up to 93% in a few minutes, I think. :) | ||
skids | really just named regexps, though namespacing would be good too. | 02:29 | |
colomon | skids: give me a minute | 02:30 | |
02:30
Guest34262 left
|
|||
dalek | ast: 5cdb9d9 | (Solomon Foster)++ | S32-num/complex.t: Refudge for niecza. |
02:31 | |
colomon | perl6: grammar g { regex m { foo } } ; say g.parse("foo", :rule<m>); | 02:32 | |
p6eval | pugs b927740: OUTPUT«*** No such method in class g: "&parse" at /tmp/ELR2nU0I_h line 1, column 37-61» | ||
..rakudo 327fc9: OUTPUT«=> <foo>» | |||
..niecza v13-155-g4a19674: OUTPUT«#<match from(0) to(3) text(foo) pos([].list) named({}.hash)>» | |||
colomon | skids: there you go | ||
awkward, but it works | |||
02:34
packetknife left
|
|||
skids | At least it's awkward-but-to-spec. Thanks. | 02:36 | |
02:36
tokuhirom joined
|
|||
dalek | ast: 65d1d83 | (Solomon Foster)++ | S03-sequence/basic.t: Update tests to match the new standard for Rat.perl. |
02:47 | |
colomon | niecza: say 1/60000 + 1/60001 | 02:50 | |
p6eval | niecza v13-155-g4a19674: OUTPUT«3.3333055560185109E-05» | ||
colomon | niecza: say (1/60000 + 1/60001).perl | 02:51 | |
p6eval | niecza v13-155-g4a19674: OUTPUT«<120001/3600060000>» | ||
02:55
wolfman2000 joined,
kmwallio left
|
|||
dalek | ast: 2a1ed07 | (Solomon Foster)++ | integration/advent2009-day14.t: Rework tests for new Rat.perl standard, fix broken test. |
02:57 | |
Tene | masak: axisofeval.blogspot.com/2012/01/typ...ivity.html | 02:58 | |
02:59
sudokode left
|
|||
colomon | perl6: say <5 7 8>[] | 03:06 | |
p6eval | niecza v13-155-g4a19674: OUTPUT«Unhandled exception: No value for parameter \$index in postcircumfix:<[ ]> at /home/p6eval/niecza/lib/CORE.setting line 0 (postcircumfix:<[ ]> @ 1)  at /tmp/bgs5vRoeUD line 1 (mainline @ 2)  at /home/p6eval/niecza/lib/CORE.setting line 2833 (ANON @ … | ||
..rakudo 327fc9: OUTPUT«5 7 8» | |||
..pugs b927740: OUTPUT«578» | |||
dalek | ast: 314dffc | (Solomon Foster)++ | S02-types/parcel.t: Fudge for niecza. |
03:08 | |
ast: 3548dd2 | (Solomon Foster)++ | S02-types/num.t: Modernize tests a bit. Add new test. Unfudge for niecza. |
03:13 | ||
colomon | [Coke]: almost there | 03:14 | |
03:19
kst` joined
|
|||
dalek | ecza: 63667d5 | (Solomon Foster)++ | lib/CORE.setting: Smarter Num.perl. |
03:19 | |
ecza: c649af4 | (Solomon Foster)++ | t/spectest.data: Turn on S02-names-vars/perl.t. |
|||
ecza: ff7dc00 | (Solomon Foster)++ | lib/CORE.setting: Fix last Num.perl patch. |
|||
colomon | [Coke]: go | 03:20 | |
03:21
kst left
03:38
Psyche^ joined
03:41
Patterner left,
Psyche^ is now known as Patterner
03:51
orafu left
03:52
orafu joined
|
|||
sorear | colomon: niecza has never deliberately supported zen slices | 04:00 | |
colomon | sorear: huh. no idea why that showed up as a new failure, then. | ||
sorear | colomon: do you think Int $odd where { $odd % 2 } should really be allowed? | 04:02 | |
colomon | oh, I guess the test might have been added recently | ||
sorear | my intuition says that types should be checked *before* the value is bound to $odd | ||
colomon | sorear: what you do think is wrong with Int $odd where { $odd % 2 } ? | ||
Is the Int the issue? | |||
sorear | colomon: if there's a value in $odd, it should be odd | 04:03 | |
even values should never show up in $odd, imo | |||
therefore, it doesn't make sense to bind $odd without first type-checking | |||
colomon | Oh, you're suggesting it should be $odd where * % 2 or something like that? | 04:04 | |
sorear | yes | ||
colomon | something that doesn't directly reference $odd, I mean | ||
sorear | exactly | ||
colomon | I'm sympathetic to your position, but historically rakudo definitely handled that case. It's all over roast. | 04:06 | |
maybe we should take it up with TimToady and jnthn ? | 04:07 | ||
sorear | should be brought up, yes | 04:10 | |
dalek | ecza: 4672447 | sorear++ | lib/Kernel.cs: Bind values before type checking as a DWIM fudge |
04:11 | |
sorear | but it won't hurt to be compatible in the short term | ||
colomon | sorear++ | 04:13 | |
The more I think about it, the more I think $odd % 2 shouldn't work, for what it's worth. | 04:14 | ||
bedtime. | |||
o/ | |||
04:21
Chillance joined
04:22
tokuhirom left
04:23
carlin left
05:03
lutok left
|
|||
sorear | pugs: class A { submethod DESTROY { say "hi" } }; A.new | 05:08 | |
p6eval | pugs b927740: OUTPUT«hi» | ||
sorear | pugs: class A { submethod BUILD { say "hi" }; submethod DESTROY { say "bye" } }; A.new for ^10 | ||
p6eval | pugs b927740: OUTPUT«hihihihihihihihihihibye» | ||
sorear | pugs: class A { submethod BUILD { say "hi" }; submethod DESTROY { say "bye" } }; | 05:09 | |
p6eval | pugs b927740: ( no output ) | ||
sorear | pugs: class A { submethod DESTROY { say "bye" } }; my $i = 0; (A.new; 0) until $i++ == 1000 | ||
p6eval | pugs b927740: OUTPUT«***  Unexpected ";" expecting term postfix, operator or ")" at /tmp/KGBXsgNvvr line 1, column 63» | ||
sorear | pugs: class A { submethod DESTROY { say "bye" } }; my $i = 0; (A.new, 0) until $i++ == 1000 | ||
p6eval | pugs b927740: OUTPUT«byebyebyebyebyebyebyebyebyebyebyebyebyebyebyebyebyebyebyebyebyebyebyebyebyebyebyebyebyebyebyebyebyebyebyebyebyebyebyebyebyebyebyebyebyebyebyebyebyebyebyebyebyebyebyebyebyebyebyebyebyebyebyebyebyebyeby… | ||
05:20
Trashlord joined
|
|||
moritz | \o | 05:28 | |
sorear | o/ moritz | 05:32 | |
sorear is not sure how DESTROY should interact with compartmentalization and serialization | |||
moritz | "nicely" :-) | 05:34 | |
sorear | moritz: :P | 05:50 | |
05:56
Radvendii joined
|
|||
Radvendii | yo guys, is there a way to do one-liners with the current rakudo? | 05:56 | |
sorear | -e | ||
Radvendii | like perl -e'' | ||
perl6 -e raises an error | |||
kshannon | perl6 -e | ||
Radvendii | Option -e requires a value and cannot be grouped | ||
sorear | ... you need code after the -e? | ||
kshannon | what error? | ||
Radvendii | with input: perl6 -e'say "hello"' | 05:57 | |
kshannon | perl6 -e 'say "hi"' | ||
space after -e | |||
Radvendii | ah | ||
that's new | |||
okay | |||
thanks | |||
sorear | niecza doesn't need the space :p | ||
kshannon | :P | 05:58 | |
sorear | (I am probably the only one here who thinks a bug-compatible simulation of GNU getopt is a good idea) | ||
(the Rakudo team thinks it's OK to make something that's close to getopt but with minor usability improvements) | 05:59 | ||
Radvendii | getopt? | ||
sorear | (my position is that any deviation from the standard is a major POLS problem) | ||
Radvendii | im not understanding all these terms | 06:00 | |
what standard? POLS? | |||
sorear | Radvendii: getopt is the standard C subroutine for parsing command-line options | ||
GNU getopt is a version of getopt that supports long arguments, like --foo | |||
Radvendii | ah. and the standard says the argument immediately follows the option | 06:01 | |
sorear | POLS is the "Principle of least suprise", sometimes also the "Principle of least astonishment" - programs should act the way a typical person expects them to | ||
Radvendii | mhmm | ||
sorear | The standard for getopt says that the argument is *allowed* to immediately follow the option | ||
Radvendii | at least it should give me a reasonable error when i do it wrong. like "please put a space in there" :P | ||
sorear | since most C programs use getopt, most C programs allow no-space | 06:02 | |
Radvendii | it does that when you use variables like $$ | ||
sorear | on UNIX I mean ... DOS has different expectations | ||
Radvendii | it says "variable is depricated" | ||
it's not *such* a problem to be different (like the new regex) but there doesn't really seem to be a reason for this one | 06:03 | ||
sorear | the fact that Rakudo requires a space astonishes people | ||
kshannon | "cannot be grouped" means "please put a space in there" :P | ||
Radvendii | kshannon: not exactly intuitive | ||
kshannon | Yeah, the terminology is very getopt'ish | ||
Radvendii | if the syntax resembled calling a perl6 function, i could understand that | 06:04 | |
sorear | "grouping" is a feature name in getopt; it means that you can write -x -y -z as -xyz | ||
Radvendii | like perl6 :e(say "hi") | ||
sorear: ah | |||
moritz | Radvendii: but the standard UNIX shells have a special meaning for parenthesis | ||
sorear | perl6 sees '-esay "hello"' and interprets it as -e -s -a -y -' ' -'"' -h ... | ||
which is not allowed, because -e cannot be grouped | 06:05 | ||
Radvendii | or if they somehow removed the need to escape all single quotes... :P | ||
sorear | Radvendii: use q[] | ||
Radvendii | sorear: oh. i see | ||
sorear | perl6 -e 'say q[$foo]' | ||
I really wish *sh supported nested quotes like Perl and Tcl do | |||
Radvendii | sorear: so it totally ignores the ' in -e'say...? | 06:06 | |
yeah... or unicode delimiters | |||
so i could use some obscure character i would never use in code | |||
sorear | Radvendii: the best way to think about it is that ' tells the shell to ignore spaces | ||
Radvendii | that's weird... | ||
dalek | ast: 71b482c | moritz++ | S04-declarations/constant.t: RT #66636, my constant = Enum::val |
06:07 | |
ast: 375b371 | moritz++ | S03-operators/flip-flop.t: fudge fff tests out for rakudo, but the ff tests still do not pass |
|||
sorear | a space separates words, unless an odd number of ' have been seen | ||
Radvendii | i feel like the shell is really outdated... | ||
for one thing it has really hard to use one-line loops | |||
sorear | how old are you? | ||
Radvendii | haha. 15 | 06:08 | |
sorear | the Bourne shell was released in '77 | ||
it might be older than your parents. | |||
Radvendii | so why is it still used? is there any alternative? | ||
kshannon | Hmmm, well nqp is the bit giving the "cannot be grouped" message; the thing is it doesn't support grouping at all so the error message is really bad... | ||
Radvendii | i mean... i end up just using perl(6) -e for most things | 06:09 | |
sorear | Radvendii: there are so many alternatives that none of them became very popular | ||
kind of like the situation with third parties in the US :) | |||
Radvendii | one could just run the interpreted perl6 i suppose | 06:10 | |
oh. none of them caught on? | |||
that seems kind of silly | |||
sorear | I think zsh is the most popular of the unpopular shells | ||
kshannon | Well, some of them have pretty big followings - zsh and ksh are probably the two major ones. | 06:11 | |
Radvendii | and what do one-line loops look like (just as an example) | ||
kshannon | I never use them. | 06:12 | |
Or more accurately I never use the short form loops. | |||
moritz | while true; do date; sleep 1; done | 06:13 | |
kshannon | I do write LOOOOOOOOONG lines of shell, but there's lots of statements serparated by semicolons... | ||
zsh has: | 06:14 | ||
for name ( word ... ) cmd | |||
geekosaur | stolen from csh | ||
Radvendii | what's word? | 06:15 | |
kshannon | and: while list { list } | ||
geekosaur | although I think it's saner about parsing it than csh is | ||
kshannon | for a ( * ) mv $a $a.bak | ||
geekosaur | Radvendii, just whatever the shell is using for word syntax at the moment (i.e. it depends on $IFS), and you can use globs etc. | ||
kshannon | for a ( hello world ) echo $a | 06:16 | |
geekosaur only uses the single line ones at the command line; for scripts he uses multiline and indentation (although he does cuddle "then"s with "if"s) | |||
Radvendii | does that work well for one-liners? | 06:17 | |
(complex ones, i mean) | |||
geekosaur | (also I don;t use csh-style one-liners, mostly because I never got into the habit; complex commands pretty much always done in sh) | 06:18 | |
dalek | ast: 3500e66 | moritz++ | S12-class/lexical.t: RT #69316, constructing objects of inner class in constructor of outer class |
||
geekosaur | does which work well? I can generally keep track fo complex commands, but, well, 30 years of experience you tend to get used to such things | ||
Radvendii | so it's convention to start saving to a file once you want to do something like nesting loops? | 06:19 | |
moritz | it's convention to use perl when you want nested loops :-) | ||
Radvendii | haha | 06:20 | |
geekosaur | it's often a good idea. also, building complex commands iteratively (prepending "echo" to effectful commands). see also the "fc" command for taking your current iteration into an editor | ||
kshannon | Shell one-liners usually look pretty gross, i.e. before I realized there was tools/autounfudge.pl in rakudo I wrote: | ||
while read t rest;do t="t/spec/${${${t#t/spec/}%.t}%.rakudo}"; mv "$t.t" "$t.orig"; grep -ne '^[[:space:]]*#[?]rakudo \d\d* skip' -e '^[[:space:]]*#[?]rakudo skip' <"$t.orig" | while read num rest;do num="${num%%:*}";(echo "$t $num"; sed -e "${num}s/ skip/ todo/" <"$t.orig" >"$t.t"; schroot- make "$t.t"; read -q "yn?$t.t $num ?") <&3 >&4 2>&1 && echo $t $num;done; rm -f "$t.rakudo" ; mv "$t.orig" "$t.t";done 3<&0 4>&1 <t/spectest.data.skip >t/spectest.data.ok | |||
moritz | geekosaur: I didn't know about fc. Thanks. | ||
geekosaur | that's the sort of thing I might initially build in command line but it will end up in a file with proper indentation at some point. that one would probably be sooner rather than later :) | 06:21 | |
Radvendii | uh-huh... | 06:22 | |
the time's i | |||
i've run into problems are not so much building complex scripts but even just looping infininitely (or over contents of a folder) and doing stuff (like running a perl script) on each one. | 06:23 | ||
(or over and over for the infinit loops | |||
and somehow while 1 {perl} seems simpler than while [1] do; perl; done; | |||
kshannon | ^^ while true | 06:24 | |
geekosaur | while :; do perl; done | ||
Radvendii | or for qx[ls] {perl} vs i dont even know what | ||
kshannon | I never remember : for while | ||
geekosaur | (of course if you're not familiar with bourne shell tricks that makes people a bit crosseyed0 | ||
Radvendii | mhmm | ||
i guess what im asking is "is there a way to import the shell comands (ls, pwd) to perl6? | 06:25 | ||
i suppose it's a minor annoyance to put qx[] around it all... | |||
except that if i qx[cd] then it doesn't change it for the future | 06:26 | ||
as in, i open perl6 interpreter, then i type qx[cd] then qx[pwd] and it doesnt change it... | 06:28 | ||
sorear | of course not | ||
06:28
estrabd left
|
|||
Radvendii | right. is there a way to make it essentially replace the shell? | 06:28 | |
sorear | how much do you know about processes? | ||
Radvendii | nothing... that i know of | 06:29 | |
sorear | you don't want to replace your shell with perl6 | ||
Radvendii | i dont? | ||
sorear | you'd lose job control that way, for a start | ||
Radvendii | i mean just practically speaking | ||
sorear | and quotes would get annoying | 06:30 | |
Radvendii | why would quotes get annoying? | ||
sorear | but job control is the big one | ||
ls '-l' | |||
versus ls -l | |||
Radvendii | i type "perl6\n qx[ls -l]" and it works fine | 06:31 | |
sorear | ...that's with qx | 06:32 | |
this is one of those things that everybody comes up with but nobody can ever make work | |||
Radvendii | why not? [genuine question] | 06:33 | |
sorear | scripting languages and shells fill different niches and can only substitute for each other poorly | ||
Radvendii | what do shells do more conveniently? | 06:34 | |
moritz | pipes | 06:35 | |
job control | |||
Radvendii | 1) why shouldn't skripting languages impliment pipes? [not rhetorical] | 06:38 | |
2) what *is* job control? | |||
sorear | job control is control-Z, fg, bg, and & | ||
geekosaur | building up programs from external commands, in general. if you arranged to be able to do everything with p6 functions, p6 might work as a shell... until you needed to do something not built in | 06:39 | |
geekosaur notes that a syntax more like ls :l might work for a p6shell, but transmuting that syntax when referring to external commands with divergent notions of how option parsing works would prove "interesting" | 06:40 | ||
Radvendii | sorear: if you ran, say qx[top] it would pass it to the shell, so ctr-c would still work. (im not sure what ctr-z does) | ||
skids | shells are called shells because they primarily serve as ways to run other programs. | 06:41 | |
sorear | perl6: class A { method foo(|$c) { say $c } }; class B { method foo() { callwith(self,1,2,3) } }; B.foo | ||
p6eval | pugs b927740: OUTPUT«*** No such subroutine: "&callwith" at /tmp/hi9aLhiQCF line 1, column 66-87» | ||
..niecza v13-159-g4672447: OUTPUT«Unhandled exception: No next function to call! at /home/p6eval/niecza/lib/CORE.setting line 1111 (callwith @ 3)  at /tmp/Fm0AsoEazq line 1 (B.foo @ 3)  at /tmp/Fm0AsoEazq line 1 (mainline @ 4)  at /home/p6eval/niecza/lib/CORE.setting line 2841 (AN… | |||
..rakudo 327fc9: ( no output ) | |||
sorear | Radvendii: if you don't know what ^Z does, I don't think you should be trying to replace the shell | 06:42 | |
Radvendii | the same thing as ctr-c | ||
fine | |||
sorear | (I feel so dirty saying this :|) | ||
Radvendii | i just learned using ctr-c | ||
geekosaur | maybe. ^Z is largely but not completely obsoleted by windowing systems | ||
moritz | Radvendii: it's nto the same | ||
Radvendii | then what? | ||
geekosaur | shells let you run things in the background (&) as wel as in the foreground | 06:43 | |
06:43
kaare__ joined
|
|||
Radvendii | oh, i use tabs. that works just as well geekosaur is right. | 06:43 | |
geekosaur | job control lets you suspend the foreground task (ctrl-z), then resume some other stopped task in the foregrouns (fg) or background (bg) | ||
Radvendii | and I'm not saying perl6 straight out of the package works for this. If it did, i would be using it :P | 06:44 | |
moritz | nom: $_ .= (); | ||
p6eval | nom 327fc9: OUTPUT«===SORRY!===Method 'isa' not found for invocant of class 'Undef'» | ||
geekosaur | used to be that was a common way to pop into a shell quickly, for example | ||
^Z, do whatever (e.g. check for exact name of a file), fg | |||
skids | Windowing systems provide only focus control, if you do want the program to pause, there's usually not a WM hook for that. | ||
Radvendii | oh. clever. | ||
moritz still uses that a lot, often in connection with ssh and when I forgot to start screen first :-) | 06:45 | ||
geekosaur | right, that's the most common usage these days | ||
06:45
agentzh joined
|
|||
Radvendii | obviously it doesnt work as-is | 06:46 | |
but some hybrid ought to... | |||
geekosaur | (X11 does not provide ways to control the program that is operating a window. Even XKillClient() works not by sending a signal, but by telling the server to drop its end of the client's connection in the hope that the client will get a read error on its end and exit | 06:47 | |
(EWMH defined _NET_WM_PID but there are still many programs that don't set it, like anything that wraps Tk for graphics) | 06:48 | ||
Radvendii | i dont understand how you guys are making such a clear distinction between "shell" languages and "scripting" languages | 06:49 | |
how/why | |||
skids | .oO(kids these days with their souped up machines. When I was their age I had to pause compiles to speed up my editor.) |
||
sorear | skids: ...I do that today | 06:50 | |
skids | Well, OK compiling/testing perl6 may have brought that back :-) | ||
sorear | skids: even g++ can bring this machine to a crawl | ||
geekosaur | funny, we're discussing the old turbo switch in another channel :p | 06:51 | |
skids | Radvendii: the crux of the matter is that dynamic languages are moving towards running on VMs which sometimes do not have the ability to spawn child processes. This would make implementing a true shell problematic. | 06:52 | |
Radvendii | skids: I don't even see how that's relevant... | ||
skids: isn't that just java? | |||
(previous comment was delayed) | 06:53 | ||
geekosaur | one of the key distinctions between shells and scripting languages is that, while shells are very good at connecting and manipulatingprograms and processes, they are typically lousy at data organization | ||
bash only just got associative arrays. zsh has had them for a while but the syntax... leaves something tobe desired | |||
skids | .oO(though that hasn't stopped them from being a primary language for OS scripts even when they aren't working with processes.) |
06:54 | |
Radvendii | i just dont see why that has to be the case... | ||
geekosaur | mostly, the shell workflow is that you don't deal with data inside the shell, you make the programs deal with the data | 06:55 | |
which is why pipelines are trivial to put together; the data goes *there*, not in the script. (ideally) | 06:56 | ||
skids | It doesn't have to be, it would be technically possible to choose a VM that can exec programs. However, if you are maintaining alternative syntax for command options, that would be labor intensive, other than base suites like busybox. | 06:57 | |
Radvendii | busybox? | ||
06:58
isBEKaml joined
|
|||
geekosaur | really, the intended workflow is the real distinguisher between shells and scripting languages. although shells were often abused as scripting languages before perl and python became widespread, because they were guaranteed to be available | 06:58 | |
skids | busybox is an integrated shell+common utilities used in embedded systems and ramdisks. Basically a sh interpreter plus most of the programs that are completely essential all in one binary. | ||
geekosaur | "unix swiss army knife" | 06:59 | |
sorear misses the days when a reasonable imitation of a complete Linux system would fit on a single high-density floppy | 07:00 | ||
geekosaur | minix! | ||
dalek | ast: b0bcb38 | moritz++ | S03-operators/binding-scalars.t: RT #77594, binding to a literal should not work |
07:01 | |
Radvendii | I'm not understanding how your answers apply to the problem at hand. Let's say I just make an addition to perl that takes any unknown bareword and makes a search of the directories in @PATH and qx[] it with whatever arguments you give it reformatted into a form that bash can understand... | ||
geekosaur is pretty sure someone's already done a (or several) p5shells using sub AUTOLOAD | 07:02 | ||
sorear | .oO( OTOH, within the same mm³age as a high-density floppy you can fit a complete Debian mirror in flash format ) |
||
Radvendii | so then how is that not the same as a shell? | ||
and interrupts (like ctr-z) im sure you could figure out | 07:03 | ||
sorear | Radvendii: no support for pipes, $?, less-useful quoting, job control | ||
Radvendii | on now-adays computers? i would be *very* surprised if you couldnt | ||
why would it be hard to impliment pipes? | |||
geekosaur | Radvendii, mostly what it comes down to is that a general purpose language steals a lot more syntax | 07:04 | |
Radvendii | geekosaur: why is that a problem? [legit question] | ||
geekosaur | maybe *you* like having to quote everything; most of us would rather not | 07:05 | |
Radvendii | like what? give an example please? (sorry, im not understanding) | ||
geekosaur | also to take your pipes question as an example, either you're going to have a very odd overloading of the | operator or you are going to end up with something cumbersome | 07:06 | |
07:06
bacek left
|
|||
geekosaur | oh dear. if it's not obvious, perhaps you are not ready to work on shells | 07:06 | |
skids | If your really interested in doing such a thing, download a sh source and go through all the files and think what they would take to implement. | ||
geekosaur | I suggest something simple like ash or a descendent thereof | 07:07 | |
Radvendii | i would *use* the shell! just write a perl layer on top. | ||
sorear | aka 'almquist shell' | ||
Radvendii | it's not like starting from scratch... | 07:08 | |
sorear | actually, it is | ||
90% of the shell is syntax and semantics | 07:09 | ||
skids | and geeksaur's point is, if you are not just writing a sh in perl5/6, and want to put new syntax in, you have to figure out how to integrate the sh syntax and that of Perl5/6. Grammatically, that;s going to be difficult because sh is a relatively awful grammar made worse by the "grammar" of the programs you are running. | ||
geekosaur | Radvendii, maybe the easiest answer is: go do it. You will learn what we mean fairly quickly, I suspect, justr from trying to use it | ||
07:09
isBEKaml left
|
|||
Radvendii | alright | 07:10 | |
in the mean time it's 2:00. i need to go to sleep | |||
good night! | |||
07:10
isBEKaml joined
|
|||
Radvendii | thanks for the patience. | 07:10 | |
geekosaur | (btw, I did write most of a shell at one point. It's something I've since avoided.) | 07:11 | |
Radvendii | haha | ||
alright. | |||
g'night | |||
07:11
Radvendii left
|
|||
skids | I think the biggest testament to the awfulness of sh is that, last time I looked, there was no parrot sh, despite the PCC making it a fad to start implementations for everything under the sun. | 07:12 | |
isBEKaml | skids: there was psh,IIRC (but that was in p5, did parrot announce another one? ) :O | 07:13 | |
geekosaur | some of that is that people tend to expect the originl bourne shell's quoting rules, which were (and still are)... difficult | ||
that was one thing I never tried to emulate fully, because the corner cases are very sharp and it turns out to be a complex fractal (i.e. LOTS of corners) | 07:14 | ||
skids | isBEKaml: not that I saw. But then, it is pretty hard to keep track of everything in parrot-land, given the general chaos. | 07:15 | |
isBEKaml | skids: chaos in parrot land? I'm amused - all I can see is _dark_ silence (pardon the pun). | 07:16 | |
parrot folks seem to working out of a dark room (no news, blogs or anything of interest in general circles). | 07:17 | ||
skids | whitenight++ tries to blog. | ||
07:18
bacek joined
|
|||
geekosaur | (note that emulating sh's quoting rules is not something that a p5/p6/python/whatever shellish thing should probably attempt; it's mostly useful for actual shell scripts, which it is nice to have work in anything that resembles a bourne shell) | 07:20 | |
isBEKaml | skids: I'll try to follow his blog (but his last post was on 4Nov, not very frequent I'd say) | ||
o/ geekosaur | |||
sorear | skids: PCT. "PCC" is the Portable C Compiler (it generates code for BOTH vax AND pdp11!!!) and that left me spinning for a few loops | 07:21 | |
skids | Oh right I was thinking "compiler collection" for some reason. | ||
isBEKaml | sorear: o/ | 07:22 | |
sorear | o/ isBEKaml | ||
skids | and, while I'm fixing thinkos/typos, whiteknight++ | ||
geekosaur a little slow tonight, also notwork is being notworky (and how'd it get to be 0230? no wonder I'm slow. staying on local time probably doomed at this point...) | 07:23 | ||
pcc worked on more than pdp11/vax, but intel (unless you only supported "small model") did cause it some headaches | 07:24 | ||
sorear | move back to the "K" area and it will be 2330 :D | ||
sorear has seen a version of pcc for the 80386 32-bit "tiny" model | 07:25 | ||
skids realizes the time. And the seriously low quality of the anime he's watching. Should really pack it in for the night. | |||
sorear | geekosaur: "small" or "tiny"? | ||
geekosaur | both (PDP11 called "small" "split I and D") | 07:26 | |
sorear | ah | ||
skids | So where are we on running Perl6 on 8-bit architectures :-) | ||
sorear | A lot of modern compilers aren't really well set up for split I/D | ||
didn't realize PDP had that 'feature' | |||
isBEKaml | speaking of small - there was also TCC - "Tiny C Compiler" but that was only for x86 archs | 07:28 | |
sorear | "Tiny C Compiler" is a very modern thing | 07:30 | |
are you perhaps thinking of "Turbo C" or "Small C"? | |||
both of which are mid-80s tech | |||
isBEKaml | BTW, what happened to Rakudo compile times these days? I tried to build rakudo y'day and it just was eating memory until I had to kill it. :/ | ||
sorear: I just said "was" - I'm not referring to modern or oldish stuff. :) | 07:31 | ||
07:33
bacek left
|
|||
isBEKaml | sorear: what's niecza compile times like? I might just try niecza (if rakudo doesn't look like compile times are getting low down soon) | 07:34 | |
sorear | isBEKaml: 10 minutes for the first time | 07:35 | |
isBEKaml | sorear: fair warning - my pc's pretty old (think like > 10 years) | ||
sorear | my pc is only from 2003 | ||
isBEKaml | sorear: the first time? do you have separate bootstraps or something? | 07:36 | |
sorear | isBEKaml: I mean that it uses "make" | ||
isBEKaml | sorear: ah, okay.. I have to set up the runtimes first (mono et al) | ||
sorear | isBEKaml: I recommend getting at least 2.8 | 07:37 | |
if you're on Debian that means building from source | |||
isBEKaml | sorear: I'm on slackware - building from source. | ||
sorear | it'll take about an hour (on my 9yo system), but the benefit is huge | ||
isBEKaml | sorear: Okay, I'll have to check if there are any additional steps specific to my distribution (I was just thinking of taking the stock 2.6 package off distribution sites) | 07:38 | |
sorear | isBEKaml: niecza's self-compilation really needs about 256 MB of memory | 07:39 | |
peak allocation is about 400 | 07:40 | ||
isBEKaml | sorear: that's good enough for me - got about 512 megs here | ||
07:40
Trashlord left
|
|||
kshannon | Yeah, rakudo needs about 2G atm... | 07:41 | |
07:42
Trashlord joined
|
|||
skids | isBEKaml: The blog with Nov 4th is his old blog, follow the link there, or maybe just planet.parrotcode.org for newer | 07:42 | |
sorear | niecza: my $x = role { }; | 07:43 | |
p6eval | niecza v13-159-g4672447: OUTPUT«Potential difficulties: $x is declared but not used at /tmp/jjtSQd8NtX line 1:------> my ⏏$x = role { };» | ||
sorear | niecza: my $x = role [$x] { }; | ||
isBEKaml | kshannon: been following your patches to rakudo with interest. good work! :) | ||
p6eval | niecza v13-159-g4672447: OUTPUT«Potential difficulties: $x is declared but not used at /tmp/_dTJFGZFUE line 1:------> my $x = role [⏏$x] { };» | ||
tadzik | g'morning | ||
isBEKaml | tadzik! o/ | 07:44 | |
is that really morning? looks about 11am.. :D | |||
tadzik | hi isBEKaml \o | ||
it's 8:44 | |||
that's the mornest morning I've since I didn't sleep through the night on wed ;) | 07:45 | ||
07:45
baest_ joined
|
|||
isBEKaml | tadzik: "mornest morning" ;) | 07:45 | |
07:45
cosimo left,
cosimo joined
|
|||
isBEKaml | skids: yeah, I'll add that (I generally dislike planet aggregations since it tends to grab all things together) | 07:46 | |
sorear: mono lists libgdiplus as a dependency. Okay if I install an older one and go for the latest mono source? | 07:47 | ||
sorear: older one -> older libgdiplus | |||
07:47
baest left
|
|||
sorear | isBEKaml: probably not, but it's worth trying since niecza doesn't actually use libgdiplus | 07:48 | |
o/ tadzik | 07:49 | ||
07:49
bacek joined
07:53
araujo left
|
|||
isBEKaml | sorear: okay. BTW, Niecza's README suggests getting 2.6 mono - correct that one? | 07:56 | |
sorear | isBEKaml: 2.6 is the minimum requirement | ||
2.8 is just twice as fast | |||
I don't know if it works on 2.4; if it doesn't, I don't care | 07:57 | ||
but I'll actively keep it working on 2.6.7 for some time yet | |||
07:59
araujo joined,
araujo left,
araujo joined
|
|||
isBEKaml | sorear: Oh, I see | 07:59 | |
08:04
Kharec joined
|
|||
Kharec | hi | 08:04 | |
phenny | Kharec: 07 Jan 22:32Z <masak> tell Kharec may I humbly recommend strangelyconsistent.org/blog/june-1...and-output for learning Perl 6? all of the posts can be found at strangelyconsistent.org/blog/list-of-posts | ||
Kharec | My rakudo compilation was finished, my installation too, any errors, but not any perl6, rakudo, nqp or p6 on the laptop. Strange! | 08:05 | |
sorear | Kharec: by default, Rakudo installs into the directory "parrot_install" | 08:06 | |
kshannon | What is the fudge 'emit' supposed to be used for (why use 'emit' rather than 'skip')? | ||
sorear | i.e. parrot_install/bin/perl6 | 08:07 | |
kshannon: hard weird cases | |||
Kharec | sorear: oops... I haven't specify it... | ||
sorear | kshannon: you shouldn't ever use it, but sometimes you have to | ||
Kharec | --" | ||
kshannon | Because it doesn't play well with others. colomon-- added an emit to S02-names-vars/perl.t for niecza which screwed up rakudo's emit :( | 08:08 | |
isBEKaml | Kharec: IIRC, there's still "--gen-parrot" option. If you have given that, it will fetch and build parrot and later install rakudo into the parrot_install folder after building it. | ||
dalek | ast: b976f54 | sorear++ | S14-roles/ (2 files): [S14-roles] Niecza unfudges |
08:09 | |
kshannon | Ahh, I bet it's because it's in the middle of a list... | ||
sorear | #?skip only works with calls to testing functions | 08:11 | |
Kharec | isBEKaml: I used it! perl Configure.pl --gen-nqp --gen-parrot | 08:14 | |
make | |||
and after, make install. | |||
sorear | Kharec: you will find your perl6 in parrot_install/bin/perl6 | ||
Kharec | ok thanks | ||
sorear | if you wanted perl6 available from the shell, you needed to have used --gen-parrot-prefix=/usr/local | 08:15 | |
and wait for the whole thing to rebuild because it's not relocatable | |||
Kharec | instead of --gen-parot | ||
sorear | in addition to | ||
Kharec | nope, I will use it from the repertory and link it to /usr/local/bin/ | 08:16 | |
tadzik | Kharec: you can just add /path/to/parrot_install/bin to your $PATH | ||
I'm doing it that way | |||
Kharec | tadzik: sure! | 08:17 | |
but if I link it, i can write #!/usr/bin/perl6 for portable scripts | 08:19 | ||
tadzik | if you write #!/usr/bin/perl6 the scripts won't be portable at all | 08:21 | |
#!/usr/bin/env perl6 is probably a better choice | |||
Kharec | tadzik: Oh. You're right. | ||
tadzik | in which it also doesn't matter where your perl6 lives | ||
Kharec | right, right. | 08:22 | |
08:31
sayu joined
08:32
tokuhirom joined
|
|||
dalek | ecza: 99d652d | sorear++ | / (3 files): Implement sub mixins and mixin of class names (fixes #100) |
08:37 | |
ast: 5c378f6 | sorear++ | S14-roles/mixin.t: [S14-roles/mixin] Unfudge for sorear/niecza#100 |
|||
08:55
baest_ is now known as baest
|
|||
sorear -> sleep | 08:58 | ||
tentative next project: constant folding | |||
isBEKaml | sorear: g'night. sleep well | ||
09:08
yath left
09:16
sayu left
09:18
kaare__ left
09:20
sayu joined
09:21
araujo left
09:24
sayu left,
sayu joined
09:34
donri joined
09:35
Mowah joined
|
|||
moritz | fwiw the default install location is now just install/bin | 09:36 | |
not parrot_install anymore | |||
09:44
Kharec left
|
|||
isBEKaml | moritz: o/ | 09:44 | |
09:46
mkramer joined,
mkramer left
|
|||
moritz | \o isBEKaml | 09:49 | |
tadzik | hello moritz | 09:50 | |
moritz | tadzik o/ | 09:51 | |
isBEKaml | moritz: personally, I find rakudo's 2gig requirement for builds to be insane.. but then, #perl6 is the place of insanity. | ||
isBEKaml ducks | |||
moritz: Oh, how's Ronja? :) | 09:53 | ||
moritz | isBEKaml: I'm well aware. I've tried to split the setting in two to ease the memory burden, but it's a rather complex undertaking :/ | ||
isBEKaml: Ronja is doing well; she's turning 1 year next Saturday :-) | 09:54 | ||
09:54
mkramer joined
|
|||
tadzik | nice :) | 09:54 | |
my sister's daughter turned 2 yesterday | |||
moritz | or rather, adding a second, staged setting was easy; migrating stuff from core1 to core2 is what's hard | ||
tadzik | "two" is the only number she can say, too ;) | ||
isBEKaml | moritz: aww, that's nice. :) | ||
09:55
mkramer left
|
|||
isBEKaml | tadzik: well, that's a lot better than having your niece pull at your nose everytime you call her out! ;) | 09:56 | |
moritz | and ronja is starting to pull herself up to both feet | 09:57 | |
tadzik | no, she just brings me books for her to read, one after another :) | ||
moritz | tadzik: and does she listen while you read? | 09:58 | |
isBEKaml | moritz: good question! :D | ||
moritz | I know a ~2.5-year old who brings books for reading in very quick succession, but runs off after the second page | 09:59 | |
tadzik | moritz: yeah, she can point when the animals are and stuff :) | 10:01 | |
moritz | nom: my Int @a; say @a.WHAT | ||
isBEKaml | kids and their fun... :) | ||
p6eval | nom 327fc9: OUTPUT«Array+{TypedArray}()» | ||
tadzik | I have to ask questions carefully, since for "how many..." she always answers "two" | ||
moritz | tadzik: well, that's good | ||
:-) | |||
tadzik | Mathilda goes for another book when I finish the previous one | ||
isBEKaml | tadzik: In my case, I just have to ask "When does you mom come back from work?" "Two 'o clock!". Or rather, "When does..." "Two 'o clock!" :) | 10:02 | |
10:02
sayu left
|
|||
tadzik | :P | 10:02 | |
there was a phase when my nephew always asked "yes" for every question | |||
isBEKaml | It's always "Two 'o clock!" | ||
tadzik | no, sorry, that was "me" | ||
"who's loudest in the car?" "me!" | 10:03 | ||
"who didn't eat his dinner?" "me!" | |||
isBEKaml | :D | ||
tadzik | but then, his dad asks "who's washing the dishes today?" | ||
"...daddy!" | |||
isBEKaml | that's awesome! knows where his nickels are! :) | 10:04 | |
dalek | ast: 77b4e58 | moritz++ | S (2 files): RT #77748, type object gistification of typed array |
||
tadzik | yeah, he's clever one, being 8 now | 10:05 | |
isBEKaml | moritz: speaking about builds, any chance you could post a "mini" blog post about that stuff? There's a chance somebody can chime in after reading it. | ||
moritz | isBEKaml: I'll try | 10:06 | |
tadzik | what are our plans on Star? | ||
10:06
sayu joined
|
|||
moritz | tadzik: jnthn++ had some things he wanted to fix in rakudo and zavolaj (I think he mentioned them yesterday, or the day before) and then release | 10:07 | |
tadzik | okay | ||
isBEKaml | moritz: thanks! | ||
dalek | kudo/staged-settings: 62de8d2 | moritz++ | / (3 files): first experiment with two-staged setting the new setting between CORE and the user program is called CORE2. How uninspired |
10:08 | |
kudo/staged-settings: cee2658 | moritz++ | tools/build/Makefile.in: fix up the dependency of SAFE; install CORE2 |
|||
isBEKaml | moritz++ #experiment initiated! | 10:13 | |
moritz | the task is "just" to move stuff from CORE to CORE2 | 10:15 | |
... and still having it compile | |||
isBEKaml | o.O(items in storage, lab systems ready to go!) | 10:17 | |
dalek | ast: d140c59 | moritz++ | S02-names-vars/names.t: RT #77750, :: as a term |
10:37 | |
kudo/staged-settings: 89a1a8c | moritz++ | / (3 files): move Pod to core2; fix more dependencies |
10:41 | ||
10:49
Mowah left
10:51
Mowah joined
|
|||
dalek | ast: facbde9 | kshannon++ | / (17 files): Make fudge 'emit' gobble up other fudge lines first If two implementations were both using 'emit' in the same place, only the last one worked. There were also a few places which depended on multiple successive emit lines, which have been updated. A future project would be rewriting fudge from scratch so it's not quite so spaghetti like... |
10:52 | |
10:53
sayu left,
sayu joined
|
|||
masak | morning, #p6 | 11:06 | |
moritz | \o masak | ||
tadzik | o/ | ||
isBEKaml | o/ | ||
dalek | ast: 7922e91 | kshannon++ | / (17 files): Revert my last commit. Not the right solution. |
11:16 | |
11:32
replore joined
|
|||
masak | rewriting fudge from scratch sounds like an excellent hackathon task for a group of 2..3 people using TDD :) | 11:32 | |
isBEKaml | ah, TDD done by TDD! | 11:36 | |
Or, s/done// | |||
masak | :) | 11:40 | |
kshannon | Well, I've added a little more spaghetti instead... Just rechecking I haven't broken anything else. | 11:42 | |
I'v seen a couple of times recently where fudge would fall off the end of the file and be trying to read from STDIN :( | 11:43 | ||
11:43
sayu left
|
|||
masak | huh. | 11:43 | |
11:45
spine joined
11:56
donri left
|
|||
dalek | kudo/staged-settings: 7aed098 | moritz++ | / (3 files): move Main.pm to core2 |
11:57 | |
kudo/staged-settings: ac44e3c | moritz++ | tools/build/Makefile.in: move Grammar to core2 |
|||
kudo/staged-settings: b8af1ec | moritz++ | src/core/control.pm: remove dependency between control.pm and terms.pm |
|||
12:00
donri joined
|
|||
moritz | somehow I can't seem to move Instant, Duration and Temporal to core2 | 12:03 | |
which IMHO should work, and that's nearly 700 lines of code | |||
isBEKaml | holysmokes, niecza only takes a third of the time to run a program than it was with Rakudo! :) | ||
but it maxes out the cpu though (blame it on mono) | 12:04 | ||
jnthn | moritz: "can't"? How does it fail? | ||
moritz | jnthn: "rtype not set" whe compiling CORE | 12:05 | |
isBEKaml | hola, jnthn! :) | ||
jnthn | eek | ||
o/ isBEKaml | |||
moritz | I did several different attempts, another one failed with a message that an object of type Sub was missing an SC context | 12:06 | |
isBEKaml | masak: got a question - how does niecza play with yapsi? (I know, been a long time :| ) | 12:07 | |
masak | isBEKaml: I remember sorear working on supporting Yapsi. he had to tweak a number of things in the Yapsi source, but he did get it working. | ||
sorear will know more. | 12:08 | ||
isBEKaml | phenny: tell sorear I got niecza installed on my machine. masak++ was telling me that you worked on making Yapsi play well on Niecza. Can you let me know the details? I can take it further, perhaps. | 12:09 | |
phenny | isBEKaml: I'll pass that on when sorear is around. | ||
moritz | jnthn: ah, that problem also appears when I move only the Date and DateTime multis into core2, and leave the rest as-is | 12:10 | |
12:11
mkramer joined
12:12
jferrero left
|
|||
isBEKaml | jnthn: is 6model abandoned or does it reside within nom these days? :) | 12:12 | |
moritz | it's in nqp | 12:13 | |
src/6model/ | |||
and it's not all abandoned, rakudo and nqp use it heavily | |||
isBEKaml | moritz: I saw that last night when I tried building rakudo. Killed it, built nqp and later pointed rakudo to use the pre-built nqp. Still ate loads of memory. :( | 12:14 | |
12:14
tokuhirom left
|
|||
isBEKaml | moritz: My question was more about the 6model that resides in jnthn/6model as backends for CLR and JVM. :) | 12:14 | |
moritz | ah, that one lags behind | 12:15 | |
isBEKaml | ah | ||
dalek | ast: 33cafa9 | kshannon++ | fudge: Completely skip any 'emit' fudges for other implementations |
||
ast: 1d6c88b | kshannon++ | / (2 files): Fudge rakudo for new Rat.perl standard |
|||
isBEKaml | jnthn: ping | ||
phenny: ask jnthn if there's any chance of bringing the 6model repo in his repository uptodate with the latest 6model in nqp. Anything that I can do to help. (don't know much about architecture, but will try to pick things up) | 12:17 | ||
phenny | isBEKaml: I'll pass that on when jnthn is around. | ||
isBEKaml | Will be back later tonight. Have a good day, folks! o/ | 12:19 | |
12:19
isBEKaml left
|
|||
moritz | \o ingy | 12:19 | |
erm, meant isBEKaml, but he was already gone | |||
and i<tab> got ingy :-) | |||
masak | ...mis-tabbing claims another victim... :) | 12:20 | |
moritz | nom: say Any.new ~~ Any.new | 12:24 | |
p6eval | nom 327fc9: OUTPUT«Bool::False» | ||
moritz | nom: class A { }; say A.new ~~ A.new | ||
p6eval | nom 327fc9: OUTPUT«Bool::False» | ||
moritz | nom: class A {}; say A.new ~~ A.new | 12:25 | |
p6eval | nom 327fc9: OUTPUT«Bool::False» | ||
12:26
whiteknight joined
12:27
whiteknight is now known as Guest10731
|
|||
moritz | masak: I'm confused by RT #107740 | 12:35 | |
nom: class A {}; say A.new ~~ A.new | |||
p6eval | nom 327fc9: OUTPUT«Bool::False» | ||
moritz | that's what fails in the ticket | ||
jnthn | mebbe we were missing Any.ACCEPTS | 12:36 | |
phenny | jnthn: 12:17Z <isBEKaml> ask jnthn if there's any chance of bringing the 6model repo in his repository uptodate with the latest 6model in nqp. Anything that I can do to help. (don't know much about architecture, but will try to pick things up) | ||
moritz | urks, that ticket is using a rakudo from 2011-11-04 | ||
masak | moritz: closing ticket. | ||
moritz | masak: did you have that in your inbox for long? | ||
masak | moritz: yes, that's exactly what happened. I found it drafts. | ||
should I close it, or mark it testsneeded? | 12:38 | ||
moritz | masak: close it. Tests in S03-smartmatch/any-any.t | ||
jnthn | phenny: tell isBEKaml I'm mostly focusing on doing some stuff in NQP at the moment to make portability to e.g. CLR and JVM easier. One is switching to QRegex, which I'm on with. Another will be finishing and moving to QAST. At that point we should have very little PIR code left to depend on, and getting NQP bootstrapped on another VM will be a realistic prospect. Now any effort will block on the NQP tasks I'm doing. Help with that is most welcome though! :) | 12:39 | |
phenny | jnthn: I'll pass that on when isBEKaml is around. | ||
jnthn | moritz: (DateTime multis) weird. | 12:40 | |
moritz: I'll try and re-create it later today. | 12:41 | ||
moritz | jnthn: I can push it into a branch if you want, to make recreation easier | 12:42 | |
jnthn | moritz: That also works :) | ||
jnthn looks deeper into the NFA issue he found yesterday | 12:43 | ||
12:44
overrosy left
|
|||
masak | p6cc registration is now closed. 35 people signed up! | 12:53 | |
judging from last year, 9 or 10 or so will submit solutions :P | 12:54 | ||
colomon | \o/ | 12:58 | |
12:59
Mowah left
13:01
Mowah joined,
mkramer left
13:04
mkramer joined,
mkramer left
|
|||
kshannon | masak: As long as I don't get bogged down in trying to fix bugs I find when writing my solutions :) | 13:04 | |
colomon | kshannon: but that's the whole point of the contest! ;) | 13:08 | |
dalek | ecza: 4bbc204 | (Solomon Foster)++ | t/spectest.data: Turn on integration/advent2009-day08.t. |
13:10 | |
jnthn | kshannon: Your find_method patch probably needs to be reverted, I'm afraid. | ||
kshannon: find_method should not throw an exception on method not found, but instead return a null or undefined value. The throwing find_method is the thing to fix. | 13:11 | ||
Suppressing all exceptions in some custom find_method is also problematic. | |||
Plus the exception handler on a hot path has caused something of a slowdown. | 13:12 | ||
kshannon | Yeah, I've noticed that nqp and rakudo have a lot invested in throwing exceptions in find_method... | 13:13 | |
jnthn | If they're throwing to indicate method not found, then those throws are wrong. | ||
(Yes, they're probably also my fault. :)) | 13:14 | ||
kshannon | *grin* | ||
jnthn | kshannon: What was the original bug that you were fixing, if you can remember? | 13:15 | |
kshannon | --target=past couldn't dump. | ||
I've got some patches to parrot I'm working on to make the dumping more robust, but that's a band aid over the real problem. | 13:16 | ||
jnthn | Where is the dumping code for that today? | 13:17 | |
kshannon | There's bits of the innards in 6model which throw on method not found, and Failure throws on just about all method lookups... | ||
jnthn | In the Parrot repo? | ||
Failure should throw on method lookups, I think. | |||
The innards sound like they need fixing though | 13:18 | ||
kshannon | github.com/parrot/parrot/pull/239 is my pull request, but I'm still working on cleaning it up further and adding some tests to exercise it. | ||
13:24
sudokode joined
|
|||
dalek | kudo/staged-setting-fail: 390b435 | moritz++ | / (3 files): move Date ops to core2 fails during compilation of CORE with "rtype not set" |
13:24 | |
moritz | jnthn: pushed branch staged-setting-fail for you | ||
13:26
araujo joined,
araujo left,
araujo joined
13:31
REPLeffect left
13:32
MarkBerlin joined
|
|||
MarkBerlin | hello | 13:32 | |
masak | hi! | 13:33 | |
MarkBerlin | is there a deb-package of perl6 (parrot)? | 13:35 | |
masak | I seem to recall there is. | 13:36 | |
kshannon | packages.debian.org/search?keywords=parrot and packages.debian.org/sid/rakudo | ||
MarkBerlin | google says not many | ||
masak | might be a bit dated at this point, because development still proceeds pretty fast. | ||
kshannon++ | 13:37 | ||
MarkBerlin | thanks mr. kshannon =) | ||
masak | MarkBerlin: the reason you won't find it under "perl6" is that there are several Perl 6 implementations. | ||
MarkBerlin | which one is the best? | 13:38 | |
13:38
REPLeffect joined
|
|||
kshannon | That's like asking which is better: vi or emacs. | 13:39 | |
MarkBerlin | hehe | ||
masak | MarkBerlin: we have two competing for "best" right now. | ||
Rakudo and Niecza. | |||
to a first approximation, Rakudo is the more featureful, but Niecza is faster. | |||
see also perl6.org/compilers/features | 13:40 | ||
MarkBerlin | thanks for your advise | 13:42 | |
i think, i will download the source and then compile | |||
masak | that's a good idea. | 13:43 | |
let us know if you encounter any problems along the way. | |||
MarkBerlin | includes the source of rakudo also the VM parrot? | 13:44 | |
maybe no? | |||
masak | it downloads it during 'perl Configure.pl --gen-parrot' | 13:45 | |
downloads and builds it. | |||
MarkBerlin | cool | 13:46 | |
moritz | question to all the git geeks: git branch -a also lists branches under remotes/origin/foo that have been deleted from github. How do I get rid of those? | 13:48 | |
13:53
thou_ left
13:54
mucker joined
|
|||
lumi___ | moritz: I'm not a git pro, but does git fetch --prune sound like what you want? | 13:55 | |
masak | maybe 'git branch -d remotes/origin/foo' ? | 14:04 | |
but you've probably already tried that... :) | |||
lumi___ | moritz: git remote prune ? | 14:05 | |
masak | try the #git channel? ;) | 14:06 | |
moritz | lumi___: thanks, git fetch --prune seems to do what I want | 14:10 | |
kshannon | lumi___++ has it right: git remote prune origin | ||
dalek | ast: 3beca23 | (Solomon Foster)++ | S06-multi/type-based.t: Fudge for niecza. |
14:19 | |
colomon | phenny: tell sorear Look at the fudging in S06-multi/type-based.t -- there are several common cases of multi dispatch that niecza doesn't handle yet. | ||
phenny | colomon: I'll pass that on when sorear is around. | ||
dalek | ecza: 2549654 | (Solomon Foster)++ | t/spectest.data: Turn on S06-multi/type-based.t. |
14:20 | |
14:20
zhu_yj joined
14:21
zhu_yj left
|
|||
colomon | phenny: tell sorear Also it seems that multi foo { ... } (with no signature) breaks multi handling for foo. | 14:28 | |
phenny | colomon: I'll pass that on when sorear is around. | ||
dalek | p/qbootstrap: a3bb381 | jnthn++ | src/QHLL/Grammar.pm: Get a few more tests by fixing quotemod checking. |
14:31 | |
p/qbootstrap: a60d71e | jnthn++ | src/6model/knowhow_bootstrapper.c: KnowHOW's find_method should not throw to indicate method not found (kshannon++). |
|||
p/qbootstrap: a5de18f | jnthn++ | src/pmc/sixmodelobject.pmc: Remove find_method exception handler, which is the wrong fix. Also, explicitly implement can. |
|||
p/qbootstrap: af9aa47 | jnthn++ | src/ (2 files): Ensure tracing does not mess up NFA state lookup. |
|||
14:32
tokuhirom joined
|
|||
dalek | ast: 0d9e55e | (Solomon Foster)++ | S06-multi/syntax.t: Add a couple of trivial but obvious tests. Fudge for niecza. |
14:35 | |
ecza: 026a721 | (Solomon Foster)++ | t/spectest.data: Turn on S06-multi/syntax.t. |
|||
moritz | wow, qbootstrap passes some tests again | 14:38 | |
jnthn | moritz: Yes :) | ||
nqp: if 1 != 2 { say('ok 4'); } | 14:39 | ||
p6eval | nqp: OUTPUT«ok 4» | ||
jnthn | ok, fixing that can be the next challenge... | ||
moritz | might be LTM | 14:41 | |
./nqp -e '1 == 2' | |||
jnthn | --rxtrace suggests it doesn't parse an infix. | ||
moritz | Assignment ("=") not supported in NQP, use ":=" instead at line 1 | ||
jnthn | aha | ||
Yeah, something is very busted there | 14:42 | ||
BTW, --rxtrace gives tree-ish output these days :) | 14:45 | ||
Not nearly as nice as Grammar::Tracer though. Yet. :) | |||
hmm, yeah, somehow it never crosses the fate edge for == | 14:48 | ||
.u = | 14:52 | ||
phenny | U+003D EQUALS SIGN (=) | ||
masak | what's the name of that program which adds a history/REPL to any unix tool? | 14:54 | |
moritz | rlwrap | 14:55 | |
jnthn | rlwrap? | ||
nom: say chr(120) ~ chr(58) ~ chr(115) ~ chr(121) ~ chr(109) ~ chr(171) ~ chr(61) ~ chr(61) | 14:56 | ||
p6eval | nom 327fc9: OUTPUT«x:sym«==» | ||
jnthn | epic fail | ||
moritz | is that what it's looking for? | 14:57 | |
jnthn | yeah, the NFA that gets generated for == is hosed | ||
This probably explains a bunch of the failures | |||
oh | |||
masak | moritz++ jnthn++: thanks | ||
jnthn | It's anything that uses « I guess | ||
oh, it may not even be the NFA's fault | 14:58 | ||
nah, I think it's <sym> handling. | |||
arnsholt | masak: I <3 rlwrap. Makes life so much simpler for many things | 15:01 | |
masak | I've used rlwrap for exactly three minutes, and I <3 it too. | ||
arnsholt | I use it for my Lisp development. Neither SBCL nor Allegro have readline in their CLI REPLs. Really annoying | 15:02 | |
dalek | p/qbootstrap: 6d3fb4f | jnthn++ | src/QRegex/P6Regex/Actions.nqp: Handle French quote case of :sym (probably need something more general in the long run). |
15:06 | |
jnthn | Well. That drastically cut down the number of test failures. | 15:07 | |
nqp: say(q<foo>) | 15:10 | ||
p6eval | nqp: OUTPUT«foo» | ||
jnthn | nqp: say(q <foo>) | ||
p6eval | nqp: OUTPUT«foo» | ||
jnthn | In qbootstrap, it's parsing that as a name q followed by a postcircumfix. | 15:14 | |
15:15
shinobicl___ joined
15:26
mj41 joined
15:42
mucker left
|
|||
colomon | niecza: say 1e10.FatRat.WHAT | 15:47 | |
p6eval | niecza v13-160-g99d652d: OUTPUT«Rat()» | ||
15:51
unixms joined
|
|||
Woodi | hi ppls :) | 15:54 | |
colomon | o/ | ||
[Coke] | colomon: I se you were hard at work. kicking off another run. | 15:55 | |
colomon | hold a moment. | ||
[Coke] | heee! | 15:56 | |
dalek | p/qbootstrap: 3d22db6 | jnthn++ | src/NQPQ/Grammar.pm: Couple of small tweaks that help trim various branches earlier, saving time and making the trace less noisy. |
||
p/qbootstrap: b24283c | jnthn++ | src/QHLL/Grammar.pm: Get LANG working-er. |
|||
ast: 3edaa5f | (Solomon Foster)++ | S32-num/fatrat.t: First stab at a general FatRat test. Mostly derived from rat.t. |
|||
[Coke] | ok. | ||
dalek | ecza: 177806b | (Solomon Foster)++ | t/spectest.data: Turn on S32-num/fatrat.t. |
||
colomon | There you go. :) | ||
Woodi | is there a Coffe and Chocolate and Pizza Fund for Perl6 Developers ? :) | ||
colomon | Woodi: alas, not that I know of. | 15:57 | |
colomon would prefer Cider and Pizza. ;) | |||
Woodi | TPF do not have one ? :) | ||
colomon | they have a big fund for grants | 15:58 | |
Woodi | thats to big :) | ||
I was speeking seriously :) | |||
colomon | but I don't think, for instance that TPF ever paid for lunch or dinner when TimToady and I got together with the Parrot gang at YAPC::NA last year. | ||
Mind you, the good company at those gatherings was more than worth the price of the meal! | 15:59 | ||
Woodi | hmm, thats idea - contact YAPC organizers to shedule free pizza session around noon :) | 16:00 | |
ok, anyone considered something like "persistence as a first class construct" ? labs.oracle.com/projects/qvm/ | 16:01 | ||
16:03
zby_home left
16:04
am0c joined
16:06
REPLeffect left
16:09
PacoAir joined
|
|||
moritz | I guess you can play with persistent REPRs in 6model | 16:09 | |
jnthn | Probably. | 16:10 | |
No reason in theory why you couldn't have a REPR that has e.g. disk based object storage. | |||
Woodi | 6model is in C ? | 16:11 | |
moritz | Woodi: yes | 16:12 | |
jnthn: the problem is probably more to make the values from disc storage available to the program again somehow | |||
jnthn | yeah, that's the harder bit to wire up | 16:13 | |
Woodi | just asked to be sure :) how is with use it with many threads ? | ||
jnthn | moritz: Think we're up to two thirds of NQP test suite passing on qbootstrap now | ||
spine | nom: say (-9)%(-9) | 16:15 | |
p6eval | nom 327fc9: OUTPUT«-9» | ||
spine | niecza: say (-9)%(-9) | ||
p6eval | niecza v13-160-g99d652d: OUTPUT«0» | ||
Woodi | why moving data from disk back to app can be harder ? | 16:20 | |
moritz | Woodi: it's not that importing it back is harder, but it also needs to be made available to the program in some form | ||
it's nice if an object is loaded, but it's only useful if some variable points to it | 16:21 | ||
16:22
zby_home_ joined
|
|||
Woodi | I thinked varible/object first needs data from storage and asks about it using REPR or proxy... | 16:24 | |
masak | oh, we haven't fixed the "module sucks in Rakudo" bug yet? :/ | 16:28 | |
do we have failing spectests for it? | |||
we should at least work around it somehow... | 16:29 | ||
jnthn | Which bug? | ||
masak | nom: say (-9)%(-9) | ||
p6eval | nom 327fc9: OUTPUT«-9» | ||
masak gets the RT ticket | |||
jnthn | What's that got to do with modules? | ||
masak | modulo* | 16:30 | |
rt.perl.org/rt3/Ticket/Display.html?id=107492 | |||
moritz | b: say (-9) % (-9) | ||
p6eval | b 1b7dd1: OUTPUT«0» | ||
jnthn | oh. | 16:31 | |
jnthn shoulda seen that was a typo... | |||
masak | jnthn: also, irclog.perlgeek.de/perl6/2012-01-03#i_4924416 | 16:32 | |
well, it's tricky when the typo means something, too :) | |||
jnthn | ah, it's a libtommath quirk. OK. | 16:36 | |
masak | what should we do about it? | 16:38 | |
work around it in the wrapper code; fix libtomath; ditch libtomath? :) | 16:39 | ||
jnthn | er, no way are we doing the last of those :) | ||
masak | just trying to be comprehensive :) | ||
jnthn | The first two are good options. Hard to know which is best. | ||
masak | aye. | ||
I'd like to talk to someone who wrote libtomath and ask them if they know about this, and whether there's any reason for results to come out all wrong. | 16:40 | ||
16:41
PacoAir left
|
|||
jnthn | masak: Please do. :) | 16:41 | |
16:43
Trashlord left
|
|||
masak | ah, #libtom here on freenode. nice. | 16:48 | |
masak goes there | |||
16:51
isBEKaml joined
|
|||
masak | there; I asked them. it's quite a small channel, and no-one seems active there right at this moment. we'll see if they pick it up. otherwise I'll try later when it becomes active. | 16:51 | |
isBEKaml! \o/ | |||
isBEKaml | OHHAIYO! :) | ||
phenny | isBEKaml: 12:39Z <jnthn> tell isBEKaml I'm mostly focusing on doing some stuff in NQP at the moment to make portability to e.g. CLR and JVM easier. One is switching to QRegex, which I'm on with. Another will be finishing and moving to QAST. At that point we should have very little PIR code left to depend on, and getting NQP bootstrapped on another VM will be a realistic prospect. Now any effort will block on the NQP tasks I'm doing. Help with that is mos | ||
isBEKaml | jnthn: you missed something there? or bad phenny again? :) | 16:52 | |
jnthn | phenny ;) | ||
t welcome! | |||
Maybe IRC line length limit rather than phenny's fault, though. | 16:53 | ||
isBEKaml | jnthn: wow.. anything more specific? (with usual caveats and no guarantees ;) | ||
jnthn | isBEKaml: Well, at the moment the blocker is the tests that fail in the qbootstrap branch of nqp | 16:54 | |
There may be some LHF in some of them. It can be hard to tell "deep problem needing a couple of horus" from "solvable in 5 minutes" at times, though. | 16:55 | ||
isBEKaml | jnthn: and fixing those tests or falsifying them? :P | ||
jnthn | The tests are almost certainly valid. | ||
So, fixing whatever's breaking 'em. | 16:56 | ||
masak wouldn't go near a problem requiring more than one Horus | |||
:P | |||
isBEKaml | masak: Horus? | 16:57 | |
jnthn | Most of them seem to come down to 2 issues, though. One being infinite recursion while building an NFA for the regex parser. The other being that somehow it's losing parent and role. | ||
16:57
agentzh left
|
|||
jnthn | Hmm, if Swedish had a case system that could be a declension of Hora :P | 16:57 | |
masak | isBEKaml: just making fun of jnthn's spelling... :) | ||
isBEKaml | lol | ||
masak | jnthn: oh, I was thinking Egyptian god, but to each his own... :) | ||
jnthn | I, er...dang. P | 16:58 | |
:P | |||
isBEKaml | jnthn: any way I can run specific tests? make test qregex? | 17:01 | |
jnthn | nqp t/nqp/the-test.t # to run one | ||
prove --exec=nqp t/nqp # do this in the qbootstrap branch to run them all | 17:02 | ||
isBEKaml | jnthn: other than TODOs, tests seem to pass..... | 17:04 | |
oh qbootstrap. | |||
jnthn | yes :) | 17:05 | |
nom: grammar a { token x { a }; token TOP { <x> [b||c] } }; say a.parse('ab') | |||
p6eval | nom 327fc9: OUTPUT«=> <ab> x => <a>» | ||
jnthn | nom: grammar a { token x { a }; token TOP { [<x>]? [b||c] } }; say a.parse('ab') | 17:06 | |
p6eval | nom 327fc9: OUTPUT«=> <ab> x => <a>» | ||
jnthn | nom: grammar a { token x { a }; token y { z } token TOP { [<x>]? [b <y> ||c] } }; say a.parse('abz') | ||
p6eval | nom 327fc9: OUTPUT«===SORRY!===Unable to parse blockoid, couldn't find final '}' at line 2» | 17:07 | |
jnthn | nom: grammar a { token x { a }; token y { z }; token TOP { [<x>]? [b <y> ||c] } }; say a.parse('abz') | ||
p6eval | nom 327fc9: OUTPUT«=> <abz> x => <a> y => <z>» | ||
jnthn | nom: grammar a { token x { a }; token y { z }; rule TOP { [<x>]? [b <y> || c] } }; say a.parse('abz') | ||
p6eval | nom 327fc9: OUTPUT«#<failed match>» | ||
jnthn | nom: grammar a { token x { a }; token y { z }; rule TOP { [<x>]? [b <y> || c] } }; say a.parse('a b z') | ||
p6eval | nom 327fc9: OUTPUT«=> <a b z> x => <a> y => <z>» | ||
isBEKaml | question for gitxperts: how do I pull changes from a specific remote branch after "git checkout -t <remotebranch> "? | 17:08 | |
jnthn | nom: grammar a { token x { a }; token y { z }; rule TOP { [<x>]? [c || b <y>] } }; say a.parse('a b z') | ||
p6eval | nom 327fc9: OUTPUT«=> <a b z> y => <z>» | ||
masak | isBEKaml: 'git pull origin <branch>'? | 17:09 | |
jnthn | ah, there it is :( | ||
masak | jnthn: o.O | ||
jnthn | nom: grammar a { token x { a }; token y { z }; rule TOP { <x> [c || b <y>] } }; say a.parse('a b z') | ||
p6eval | nom 327fc9: OUTPUT«=> <a b z> x => <a> y => <z>» | ||
jnthn | nom: grammar a { token x { a }; token y { z }; rule TOP { [<x>]? [c || b <y>] } }; say a.parse('a b z') | 17:10 | |
p6eval | nom 327fc9: OUTPUT«=> <a b z> y => <z>» | ||
jnthn | masak: You spot the issue? | ||
Seems it needs an alternation that fails and a previously quantified match. | 17:11 | ||
isBEKaml | masak: uhh, last commit on that branch was on jan 5? Or have I tracked the wrong one? or simply checked out to a local branch after giving the correct remote repo branchname? | ||
git-- | |||
jnthn | masak: Feel free to RT that | ||
masak submits rakudobug | 17:12 | ||
moritz | isBEKaml: if you had that branch previously checked out, you also need 'git pull' after that | ||
or git fetch; git merge origin/qbootstrap # which is the same, really | 17:13 | ||
masak | jnthn: I think I spot it. the order of rhs and lhs around '||' affects captures. | ||
jnthn | yeah but only if the previous capture was quantified. | ||
masak | ah, right. | 17:14 | |
insidious. | |||
isBEKaml | moritz: ah, I did it while on master and it showed the relevant filesets. So went thinking I didn't need to do it on branch. :( | ||
17:15
snearch joined
|
|||
isBEKaml | moritz: so I fetched it again. thanks! | 17:15 | |
17:16
PacoAir joined
|
|||
jnthn | masak: yeah, no fun to find | 17:16 | |
isBEKaml | moritz: (backlogging) I...claimed..ingy? :O | ||
moritz | isBEKaml: you were gone, I hit i<tab> and hit ingy. I was not clever enough to actually read what I wrote before pressing enter :-) | 17:17 | |
masak | jnthn: it's now #107746. | 17:18 | |
isBEKaml | moritz: great! now we are all going to name our nicks after few targets.. predators vs prey! :P | ||
moritz | both are pre<tab> :-) | 17:19 | |
but the m<tab>s are much worse, really :-) | |||
nom: say 9 % -9 | |||
p6eval | nom 327fc9: OUTPUT«0» | ||
17:19
isBEKaml is now known as m1l3st0n3
|
|||
moritz | nom: say 3 % -9 | 17:19 | |
p6eval | nom 327fc9: OUTPUT«-6» | ||
17:19
MarkBerlin left
|
|||
m1l3st0n3 | now ehh... | 17:19 | |
moritz | m1l3st0n3: :-) | 17:20 | |
nom: say (-10) % -9 | |||
p6eval | nom 327fc9: OUTPUT«-1» | ||
moritz | is (-9) % (-9) the only case that's broken? | ||
m1l3st0n3 | moritz: I gain first preference in lexical order! :D | ||
17:20
m1l3st0n3 is now known as isBEKaml
|
|||
moritz | lexicographic, maybe | 17:21 | |
or are you in the most-inner scope? :-) | |||
erm, inner-most | |||
isBEKaml | *, moritz. :) | ||
jnthn | nom: grammar a { token x { a }; token y { z }; rule TOP { [<x>]? [c || b <y>] } }; say a.parse('a b z') | 17:22 | |
p6eval | nom 327fc9: OUTPUT«=> <a b z> y => <z>» | ||
jnthn | nom: grammar a { token x { a }; token y { z }; rule TOP { [<x>]* [c || b <y>] } }; say a.parse('a b z') | ||
p6eval | nom 327fc9: OUTPUT«=> <a b z> y => <z>» | ||
jnthn | nom: grammar a { token x { a }; token y { z }; rule TOP { [<x>]+ [c || b <y>] } }; say a.parse('a b z') | ||
p6eval | nom 327fc9: OUTPUT«=> <a b z> y => <z>» | ||
moritz | nom: say 9 % -9 | 17:24 | |
p6eval | nom 327fc9: OUTPUT«0» | ||
masak | moritz: that's currently correct because two bugs cancel each other out! | 17:25 | |
moritz | masak: which two? | ||
ah, parsing bug | 17:26 | ||
nom: say 9 % (-9) | |||
p6eval | nom 327fc9: OUTPUT«-9» | ||
moritz | "huh" | ||
what it parse the other one as? | |||
isBEKaml | nom: (9 % (-9)).say | ||
p6eval | nom 327fc9: OUTPUT«-9» | ||
moritz | nom: say 9 % (-9) | ||
p6eval | nom 327fc9: OUTPUT«-9» | ||
moritz | nom: say (-9) % (-9) | 17:27 | |
p6eval | nom 327fc9: OUTPUT«-9» | ||
masak | moritz: if you find that out, let me know. | ||
isBEKaml | nom: say (-9) % 9 | ||
p6eval | nom 327fc9: OUTPUT«0» | ||
isBEKaml | huh | ||
masak | that's correct. | 17:28 | |
isBEKaml | oh, right.. | ||
17:28
tokuhirom left
|
|||
isBEKaml | nom: say 9 % ((-) 9) | 17:28 | |
p6eval | nom 327fc9: OUTPUT«===SORRY!===Preceding context expects a term, but found infix - instead at line 1, near ") 9)"» | ||
17:29
tokuhirom joined
|
|||
isBEKaml | nom: say (9 % (-1 * 9)) | 17:29 | |
p6eval | nom 327fc9: OUTPUT«-9» | ||
17:29
thou joined
|
|||
x3nU | nom: (print "Hello World") | 17:29 | |
p6eval | nom 327fc9: OUTPUT«Hello World» | ||
x3nU | yeah, perl6 is lisp-compatible | ||
:D | |||
isBEKaml | nom: say 9 % (-1) | ||
p6eval | nom 327fc9: OUTPUT«-1» | ||
isBEKaml | perl6: say 9 % (-1) | 17:31 | |
p6eval | rakudo 327fc9: OUTPUT«-1» | ||
..pugs b927740, niecza v13-160-g99d652d: OUTPUT«0» | |||
moritz | nom: say 80 % (-9) | ||
p6eval | nom 327fc9: OUTPUT«-1» | ||
isBEKaml | is "-1" special cased in rakudo? | 17:32 | |
17:33
tokuhirom left
|
|||
moritz | no | 17:33 | |
it's the same bug as with -9 | 17:34 | ||
isBEKaml | nom: say (10 % -10) | ||
p6eval | nom 327fc9: OUTPUT«0» | ||
isBEKaml | nom: say (10 % (-10)) | 17:35 | |
p6eval | nom 327fc9: OUTPUT«-10» | ||
masak | argh, I keep wanting Perl 5 to have arity-1 &sort blocks! :) | 17:36 | |
17:38
Yary joined
|
|||
Yary | Hi all... there are some tests in the perl6 "make spectest" that hang- | 17:40 | |
moritz | aye, me too | ||
Yary | in t/spec/S03-operators/range.rakudo "is ~('Y'..'z'), 'Y Z'" | ||
moritz | Yary: which version of rakudo are you testing? and which test files hang? | ||
Yary | perl6: ~(('Y'..'z')[0..3]) | ||
p6eval | pugs b927740, rakudo 327fc9, niecza v13-160-g99d652d: ( no output ) | ||
Yary | hmm | 17:41 | |
jnthn | nom: say ~(('Y'..'z')[0..3]) | ||
p6eval | nom 327fc9: OUTPUT«Y Z AA AB» | ||
sorear | good * #perl6 | ||
phenny | sorear: 12:09Z <isBEKaml> tell sorear I got niecza installed on my machine. masak++ was telling me that you worked on making Yapsi play well on Niecza. Can you let me know the details? I can take it further, perhaps. | ||
sorear: 14:19Z <colomon> tell sorear Look at the fudging in S06-multi/type-based.t -- there are several common cases of multi dispatch that niecza doesn't handle yet. | |||
sorear: 14:28Z <colomon> tell sorear Also it seems that multi foo { ... } (with no signature) breaks multi handling for foo. | |||
moritz | nom: say ~('Y' .. 'z') | ||
Yary | The one I'm using is This is perl6 version 2011.12-37-gb86c667 built on parrot 3.11.0 revision RELEASE_3_11_0 | ||
p6eval | nom 327fc9: OUTPUT«(timeout)» | ||
Yary | moritz: Oh I met you just hung num | ||
nom | |||
I remember there being discussion on perl6-lang about ranges and case boundries, how it can be hard to do right | 17:42 | ||
when you get away from ascii | |||
iin any case, not good to have spectest hang partway through | |||
moritz | agreed | 17:43 | |
isBEKaml | that test sucks | 17:45 | |
Yary | niecza: say ~(('Y'..'z')[0..3]) | 17:46 | |
p6eval | niecza v13-160-g99d652d: OUTPUT«Y Z AA AB» | ||
isBEKaml | moritz: I don't know what the idea was behind that test. From the looks of it, it just tests for Y Z in the range Y..z ? :/ | ||
sorear: o/ | 17:47 | ||
sorear | o/ isBEKaml | ||
isBEKaml | moritz: in any case, I see that it's meant to be skipped by both rakudo and niecza. Or have I missed something? | 17:48 | |
dalek | ecza: dab47b7 | sorear++ | lib/CORE.setting: Ensure that Num.FatRat always returns a FatRat, colomon++ |
||
Yary | It looks to be testing the elements a range generates. If it's meant to be skipped by Rakudo, the skipping wasn't working on my build | 17:49 | |
which is a plain-vanilla nom build, I think | |||
from githib | |||
colomon | sorear: I meant to take a further look at that. In theory, we can exactly convert a Num to a FatRat, can't we? | ||
sorear | colomon: Yes | 17:50 | |
that example will work in most cases | |||
isBEKaml | nqp: say(q <foo 7>) | ||
p6eval | nqp: OUTPUT«foo 7» | ||
sorear | hmm, I wonder if this will work -- | ||
niecza: say 0e0.FatRat.perl | 17:51 | ||
p6eval | niecza v13-160-g99d652d: OUTPUT«FatRat.new(1, 8988465674311579538646525953945123668089884894711532863671504057886633790275048156635423866120376801056005693993569667882939488440720831124642371531973706218888394671243274263815110980062304705972654147604250288441907534117123144073695655527… | ||
17:51
sayu joined
|
|||
isBEKaml | hmm, that fails here.. | 17:51 | |
sorear | as I expected :| | ||
masak | o.O | ||
sorear | GetAsRational needs to be smarter about handling irregular numbers (NaN, Inf, 0, denormals) | ||
TimToady | by spec ('Y'..'z')[0..3] should return Y Z [ \ | ||
phenny | TimToady: 00:44Z <sorear> tell TimToady I am curious about the validation rules for type_constraint. Are the examples given just before this message supposed to be legal in a real implementation? | ||
moritz | Yary: weird, I get no hang here | 17:52 | |
Yary | nom: say ~(('Y'..'_')[0..3]) | ||
p6eval | nom 327fc9: OUTPUT«Y Z AA AB» | ||
Yary | the hang isn | ||
TimToady | S03:3526 transmutes the .. to a ... | ||
Yary | 't with the [0..3] | ||
it's when you remove the index | |||
TimToady | and ... treats single char endpoints specially | ||
sorear | not that NaN.FatRat makes much sense (perhaps it should throw?) | ||
Yary | "say ~('Y'..'z')", "say ~('Y'..'_')" hangs | 17:53 | |
moritz | Yary: I mean I ran the test here, and got no hang | ||
Yary | oh, "make spectest" skips over those for you? | ||
moritz | Yary: because of #?rakudo 4 skip directive | ||
Yary: yes | |||
sorear | isBEKaml: There is a 'niecza' branch in the yapsi repository which worked out of the box back when it was current | ||
moritz | Yary: what's the last commit in your t/spec/ repo? | 17:54 | |
sorear | niecza: say $*PROGRAM_NAME | ||
p6eval | niecza v13-160-g99d652d: OUTPUT«/tmp/s4AgZun1HK» | ||
Yary | moritz: so I need to "git pull?" ... let's see | ||
moritz | Yary: you shouldn't have to; 'make spectest' in rakudo calls 'git pull' in t/spec/ | 17:55 | |
Yary | moritz: "git status" doesn't tell me- I'm no git guru... what is git command to tell me where I am | ||
moritz: I thought I saw it do a "git pull" | |||
moritz: the spectest was from two days ago, let's see if anything has changed... | 17:56 | ||
sorear | git rev-parse HEAD | ||
git status | |||
moritz | or just paste the first line from 'git log' | ||
Yary | ok in the "rakudo" dir- $ git rev-parse HEAD says 975b6bb4603a6ecdc1c29e96388aec77896333d8 | ||
isBEKaml | sorear: Okay, I'll check | ||
Yary | same in ~/rakudo/t | 17:57 | |
sorear | isBEKaml: seems it mostly still works - one failing test | ||
Yary | I'll make spectest again now | ||
sorear | but in the intervening half-year I implemented undef warnings, and it's... quite spammy with them | ||
moritz | Yary: the output in t/spec/ is more interesting | ||
isBEKaml | sorear: spammy? :) You mean it spews a lot messages? | 17:58 | |
Yary | same in there | ||
17:58
PacoAir left
|
|||
moritz | Yary: is there no .git dir inside your t/spec/ directory? | 17:59 | |
Yary | moritz: no | ||
moritz | Yary: that's very odd | ||
Yary | moritz: so I presume that means I have some kind of old spectest dir that isn't tracked by git? | 18:00 | |
moritz | Yary: exactly | ||
isBEKaml | Yary: you sure you checked that with "ls -a" t/spec? Or did you directly download the tests? | ||
moritz | rm -rf t/spec/; make spectest # fetches a new t/spec/ for you via git | ||
18:00
shinobicl___ left
|
|||
Yary | moritz: I hate wasting people's time like that! | 18:00 | |
isBEKaml: I checked with "ls .git" while in the spec dir | 18:01 | ||
isBEKaml | Yary: no worries. Let us know what you find running what moritz said.. | ||
Yary | moritz: "rm -rf t/spec/ && make spectest" is more pedantically correct :-) | 18:02 | |
this is going to be a while, I'll report back when there's something reportable | 18:03 | ||
Going to refresh/rebuild rakudo too while I'm at this | |||
isBEKaml | jnthn: nqp -e 'say(q <7 okay>)' | 18:04 | |
jnthn: spews gibberish. :| | |||
pretty sure I just built a freshly pulled branch. | |||
nqp: say(q <okay bar>) | 18:05 | ||
p6eval | nqp: OUTPUT«okay bar» | ||
jnthn | isBEKaml: Right, that's one of the failing tests that needs fixing. | ||
isBEKaml: It's mis-parsing it as a term q followed by a postcircumfix, rather than a quoting construct | |||
isBEKaml | jnthn: the nqp on p6eval is an older one that was working? | ||
jnthn | I ain't sure why yet | ||
isBEKaml: The nqp on p6eval is the current nqp master branch | 18:06 | ||
isBEKaml: The qbootstrap branch is the one where the switch to qregex as the engine for parsing NQP is being made. | |||
isBEKaml | jnthn: I see... misparsing, .. sounds right! :) | 18:07 | |
sorear | isBEKaml: yes | 18:08 | |
jnthn: good sign for my 6model-fu that I came to the same conclusion re. find_method and exceptions | 18:09 | ||
jnthn | isBEKaml: Yeah, a mis-parse. It wsan't immediately obvious to me why. | ||
sorear: Yeah, I've cleared that up now | 18:10 | ||
isBEKaml | sorear: well, my plan was mostly to keep yapsi updated (atleast to some extent more than what it's on, if not updated to the latest on whatever implementation it's on) | ||
moritz | nom: say 81 % -9 | ||
isBEKaml | jnthn: so you have zeroed in on the offending code now? :) | ||
p6eval | nom 327fc9: OUTPUT«0» | ||
moritz | nom: say 81 % (-9) | 18:11 | |
p6eval | nom 327fc9: OUTPUT«-9» | ||
sorear | isBEKaml: try 'git diff master..niecza' | ||
TimToady | sorear: regarding type constraints, in any real language there are always things that make syntactic sense but do no make semantic sense; you really don't want a language that solves everything with syntax... | ||
sorear | isBEKaml: almost all of those changes are still necessary; some of them are also needed for nom? | ||
isBEKaml | sorear: I think I didn't make myself clear: I wasn't aiming at specific implementation level targets. All I said was, if it's on niecza - yapsi can also be in step with niecza. same with other compiler implementations. | 18:12 | |
sorear | TimToady: there is, at least, a well-defined interpretation of what sub (where * > 0 Real $x) means | 18:13 | |
isBEKaml | (big undertaking, I know) | ||
sorear | TimToady: I just think it's too ugly to be legal :p | ||
TimToady | a language that prevents ugly can't be beautiful | ||
an example from English that can only be solved with lexical lookup: "the three sheep" vs "the three dog" | 18:14 | ||
(barring elaborate setup for what a "three dog" is :) | 18:15 | ||
18:15
unixms left
|
|||
TimToady | and any productive mechanism in a language can be abused to the point of ugliness | 18:16 | |
English allows nouns to be used as adjectives, but... | 18:17 | ||
18:19
unixms joined
|
|||
TimToady | Please sign and return the spring quarter law school summer schedule coordination committee meeting agenda addenda sheet enclosure soon. Be brief. | 18:19 | |
jnthn | Time for a break & | 18:20 | |
sorear | colomon: your complaint about MMD is just Bug #101 | 18:24 | |
isBEKaml | jnthn: Do you recognise this? //gist.github.com/1579217 | ||
colomon | sorear: is it? It gets different error messages... | 18:25 | |
18:26
PacoAir joined
|
|||
geekosaur | .oO { three dog night } | 18:28 | |
sorear | shrug, to me #101 generically means "MMD isn't finished" | ||
[Coke] | # 01/08/2012 - niecza at 95.45% | 18:29 | |
sorear isn't quite sure what the point of a bunch of "X isn't finished" tickets is | |||
but there aren't too many of them | |||
[Coke]: Wow! | |||
TimToady | sorear: it is impossible to test constraints on a value without putting it somewhere first; this is why Ada first distinguished what it called the base type of a variable (what we'd call the storage type) from it's constrained type | ||
constraints are one of those areas where you either have to solve the halting problem in your type system, or allow the program to think "evil thoughts" | 18:30 | ||
Int $x where * %% 2 is one of those evil thoughts that must be allowed | |||
sorear | TimToady: I was just thinking that the constraint would be evaluated with the value in quarantine | ||
TimToady | the parameter declaration can be viewed as a kind of quaranteen, and the evil values should not leak out past the 'where' | 18:31 | |
but it's problematic to say there must be a mechanism to enforce such a quaranteen | |||
[Coke] | sorear++, colomon++, I haven't added any functionality lately. ;) | ||
TimToady | some things just have to be erroneous, another lesson from Ada | 18:32 | |
18:32
sayu left
|
|||
[Coke] | and it's not a rakudo regression, either, rakudo is also passing more tests. | 18:32 | |
isBEKaml | [Coke]: I don't understand what the percentages are about... Test coverage or tests passing? | ||
colomon | sorear: actually, there was example from the spectests I saw after we talked about it... | ||
sorear: sub foo($a, $b where { $a < $b }) | |||
isBEKaml | [Coke]: In any case, both are good. :) | ||
[Coke] | passing spec tests. | 18:33 | |
gist.github.com/1476841 shows the ongoing saga. | |||
18:34
jan_ joined
|
|||
TimToady | for certainly kinds of constraints, one can optimize things into the type system, but in general that's a path to madness, and unimplementability | 18:35 | |
geekosaur wonders if the right answer to that kind of thing is $^a | |||
TimToady | the designers of Ada worried a lot about implementability, and it was only just bare implementation in that day | ||
*barely | |||
I will say that one of the reasons for evaluating the parameter bindings left-to-right is to guarantee that any where clauses to the left of the comma have given their okay before the parameter gets used later | 18:37 | ||
but you could certainly do evil things with side effects in a constraint | |||
colomon | mwah hah hah HAH! | 18:38 | |
TimToady | at some point community standards have to be enforced by the community... | ||
isBEKaml | jnthn: the rxtrace output for the above weird error: gist.github.com/1579267 | 18:40 | |
18:43
birdwindupbird joined
|
|||
ingy | o/ moritz :) | 18:46 | |
moritz | \o ingy :-) | ||
18:46
thou left
|
|||
ingy | . o ( does Perl 6 have a working PSGI web framework? ) | 18:48 | |
18:54
am0c left
18:55
icwiener joined,
unixms left
18:59
cooper left
19:00
kaare_ joined,
pochi joined
19:03
cooper joined
19:19
jferrero joined
|
|||
ingy | *crickets* | 19:21 | |
isBEKaml | what does pir::find_method__PPs do? | ||
19:25
Trashlord joined
19:27
simcop2387 left
19:30
simcop2387 joined,
Mowah left
|
|||
cognominal | that's a convention to call pir opcode from NQP | 19:30 | |
find_method is the opcode | |||
PPs is its siignature | |||
the signature convention is document in the beginning of parrot/compilers/pct/src/PAST/Compiler.pir | 19:32 | ||
19:32
Mowah joined
|
|||
cognominal | *documented | 19:32 | |
Yary | following up on my earlier problems with "make spectest"- it is working (not hanging) now that I have updated the spectest | 19:33 | |
ingy: Have you tried github.com/mberends/http-server-simple ? | 19:34 | ||
ingy: "A Perl 6 implementation of the Perl 5 HTTP::Server::Simple::PSGI". I don't know if it works | 19:35 | ||
isBEKaml | cognominal: thanks! I was searching for the docs for a while and gave up. Should have looked there. :) | 19:39 | |
19:39
kaare_ left
|
|||
cognominal | it took me a while to figure out. | 19:40 | |
19:44
kaare_ joined
19:45
alvis left
19:46
Yary left
|
|||
dalek | p: b0eb530 | moritz++ | 3rdparty/libtommath/bn_mp_mod.c: fix bigint mod with negative numbers |
19:48 | |
tadzik | ingy: yeah, it does :) | 19:49 | |
ingy: Bailador is my Dancer clone, it used to use HTTP::Server::Simple, now it uses HTTP::Easy | 19:50 | ||
19:50
kaare_ left
|
|||
x3nU | tadzik: is it possible to deploy application written using Bailador as CGI or FCGI application? | 19:52 | |
or only using built-in server? | |||
19:56
LlamaRider joined
|
|||
LlamaRider | hi all o/ | 19:57 | |
19:58
mtk left
|
|||
masak | hi LlamaRider! | 19:58 | |
how goeth the p6cc coding? | |||
LlamaRider | had a break for some days, other stuffs. But now I'm back to it and one thing got me intrigued (hence I'm here :)) | 19:59 | |
masak | do tell. | ||
LlamaRider | I couldn't find info on switching number systems, hex/oct/binary in Perl6 and what does mean for the types | 20:00 | |
those mean** | |||
moritz | nom: say 1234.base(16) | ||
p6eval | nom 327fc9: OUTPUT«4D2» | ||
moritz | nom: say :16(4F2) | ||
p6eval | nom 327fc9: OUTPUT«===SORRY!===Malformed radix number at line 1, near "(4F2)"» | ||
moritz | nom: say :16('4F2') | ||
p6eval | nom 327fc9: OUTPUT«1266» | ||
LlamaRider | seriously now... | ||
moritz | nom: say :16('4D2') | 20:01 | |
p6eval | nom 327fc9: OUTPUT«1234» | ||
moritz | it helps if one can type | ||
isBEKaml | nom: say :16(0x4D2) | ||
p6eval | nom 327fc9: OUTPUT«4660» | ||
moritz | nom: say 0x4D2 | ||
p6eval | nom 327fc9: OUTPUT«1234» | ||
moritz | LlamaRider: anyway, that's how one switches between number systems | ||
isBEKaml | nom: say 013 | ||
p6eval | nom 327fc9: OUTPUT«13» | ||
moritz | std: 013 | ||
p6eval | std dc62e1d: OUTPUT«Potential difficulties: Leading 0 does not indicate octal in Perl 6; please use 0o13 if you mean that at /tmp/uRyaGs8h4T line 1:------> 013⏏<EOL>ok 00:01 118m» | ||
isBEKaml | nom: say :8(013) # 0 prefixed isn't octal? | ||
p6eval | nom 327fc9: OUTPUT«11» | 20:02 | |
moritz | isBEKaml: nope, it isn't | ||
LlamaRider | neat. | ||
moritz | isBEKaml: 0o prefix is | ||
isBEKaml | nom: say 0o13; | ||
p6eval | nom 327fc9: OUTPUT«11» | ||
LlamaRider | And the typing is oblivious of the base since they have nothing to do with each other? | ||
moritz | LlamaRider: correct | 20:03 | |
masak | isBEKaml: why would a '0' prefix mean octal? that makes no sense at all :P | ||
isBEKaml | masak: POLA! :) | ||
masak | sorry, is that an acronym? | ||
I'm not familiar with it. | |||
moritz | LlamaRider: internally all numbers are stored as binary; bases only come into play when you convert between numbers and strings | ||
isBEKaml | buubot_backup: eval(print 013); | ||
moritz | Principle Of Least... Astronomy? Astonishment? Atonement? | 20:04 | |
isBEKaml | Astonishment. | ||
moritz | buubot_backup: eval: 013 | ||
masak | Least Astigmatism. | ||
isBEKaml | perl -le 'print 013' | ||
11 | |||
moritz | isBEKaml: it's only "least astonishment" if you're used to one of those languages that do non-obvious stuff | ||
masak | isBEKaml: we reserve the right to break with tradition when tradition makes no sense. | ||
LlamaRider | moritz: thanks, good to know. Now I have what I came for *scribbles away* | ||
moritz | I mean, why should a 0 mean base 8, and not... base 0? or 16? or 12? | ||
nom: say 'FF'.unbase(16) | 20:05 | ||
p6eval | nom 327fc9: OUTPUT«Method 'unbase' not found for invocant of class 'Str' in block <anon> at /tmp/DXp2iF4KXO:1 in <anon> at /tmp/DXp2iF4KXO:1» | ||
moritz | hm | ||
masak | moritz: because base 8 is very natural on a machine where the word size is 12 bits, duh :) | ||
moritz | nom: say unbase('FF', 16) | ||
p6eval | nom 327fc9: OUTPUT«Nominal type check failed for parameter '$base'; expected Int but got Str instead in sub unbase at src/gen/CORE.setting:3839 in block <anon> at /tmp/EpWPelMY0m:1 in <anon> at /tmp/EpWPelMY0m:1» | ||
moritz | nom: say unbase(16, 'FF') | ||
p6eval | nom 327fc9: OUTPUT«255» | ||
moritz | not sure if that's spec | ||
probably not | |||
but that's what :16(...) uses under the hood, iirc | |||
masak | oh, ok. | ||
they do seem similar. | 20:06 | ||
I can't decide whether 'unbase' is suggestive of its function, or just confusing :) | |||
colomon has never heard of unbase | |||
isBEKaml | moritz: by all means, break all you want. But I argue that error messages should be indicative of those! :) | ||
moritz | isBEKaml: did you see STD's warning? | ||
std: say 07 | |||
p6eval | std dc62e1d: OUTPUT«Potential difficulties: Leading 0 does not indicate octal in Perl 6; please use 0o7 if you mean that at /tmp/N4WpuQ1Ns0 line 1:------> say 07⏏<EOL>ok 00:01 119m» | 20:07 | |
isBEKaml | moritz: rakudo's? | ||
moritz | no, STD's | ||
colomon | niecza: say 07 | ||
p6eval | niecza v13-165-gdab47b7: OUTPUT«Potential difficulties: Leading 0 does not indicate octal in Perl 6; please use 0o7 if you mean that at /tmp/8823he7iOF line 1 (EOF):------> say 07⏏<EOL>7» | ||
LlamaRider | unbase seems completely confusing to me out of context ^^ | ||
isBEKaml | colomon: that's prolly because niecza uses STD's parser under the hood. | ||
20:07
kaare_ joined
|
|||
isBEKaml | moritz: I saw STD's. Rakudo's looseness doesn't make sense. :P | 20:08 | |
nom: say 013 | |||
p6eval | nom 327fc9: OUTPUT«13» | ||
moritz | isBEKaml: rakudo just doesn't throw parse-time warnings yet, that's all | ||
LlamaRider | Doesn't something like 'FF'.Int(:base(16)) make more sense? | ||
isBEKaml | moritz: oh, ok | 20:09 | |
masak | LlamaRider: I think such a mechanism has been suggested at some point. | 20:10 | |
LlamaRider: my only argument against it is that :base is a property of the conversion, not of the resulting Int. not sure how heavily such an objection weighs. | |||
dalek | ast: b04f684 | moritz++ | S03-operators/arith.t: RT #107492, mod with negative divisor |
||
moritz | nom: my $n = 16; say :$n('FF') | 20:11 | |
p6eval | nom 327fc9: OUTPUT«Method 'postcircumfix:<( )>' not found for invocant of class 'Pair' in <anon> at src/gen/Metamodel.pm:3368 in block <anon> at /tmp/f5OKtjLQU1:1 in <anon> at /tmp/f5OKtjLQU1:1» | ||
20:11
gfldex left
|
|||
masak | moritz: that will never work. | 20:11 | |
it cannot. | |||
moritz | nom: my $n = 16; say eval ":$n('FF')" | ||
p6eval | nom 327fc9: OUTPUT«Method 'postcircumfix:<( )>' not found for invocant of class 'Int' in <anon> at src/gen/Metamodel.pm:3368 in block <anon> at /tmp/toHWkVdWio:1 in <anon> at /tmp/toHWkVdWio:1» | ||
moritz | nom: my $n = 16; say eval ":{$n}('FF')" | ||
p6eval | nom 327fc9: OUTPUT«255» | ||
LlamaRider | eval ftw ^^ | 20:12 | |
masak | /o\ | ||
20:12
kaare__ joined
|
|||
isBEKaml | moritz: okay, now add another constraint into p6eval sandbox. Ban all evals! :P | 20:12 | |
20:12
gfldex joined
|
|||
moritz | why? | 20:13 | |
20:13
kaare_ left
|
|||
isBEKaml | /o\ | 20:13 | |
20:13
unixms joined
|
|||
moritz | eval is great fun! | 20:13 | |
tadzik | x3nU: FCGI should work | 20:14 | |
LlamaRider | masak: I think giving the base as a parameter to an Int method is much more revieling than "unbase". Maybe it needs a better name :inbase or :frombase or ... | ||
20:14
unixms left
|
|||
LlamaRider | revealing* (damn) | 20:15 | |
masak | I like it how &eval is one of the concepts in CS that's so potent that we shy away from it and re-invent it in weaker forms that are safer to use :) | ||
'goto' is another. | |||
sorear | isBEKaml: fwiw, diakopter talked a while ago about ending all the sandbox restrictions and just relying on regular backups | ||
isBEKaml | nom: 'FF'.Int(:base(16)); #convert this string to an Int knowing full well that it's in hex format. Feels like LTR. | ||
p6eval | nom 327fc9: ( no output ) | ||
masak | class inheritance is another. (roles are a safer form) | ||
LlamaRider | isBEKaml: what is LTR? | 20:16 | |
isBEKaml | sorear: does that include qx? | ||
sorear | sadly, diakopter seems to have left us | ||
isBEKaml: yes | |||
isBEKaml | LlamaRider: LTR . "natural" #bad communication | ||
sorear | so I can't get this confirmed | ||
isBEKaml | sorear: wow | ||
masak | in some sense, programming language history seems to be constantly finding safer/more predictable ways of doing unsafe but interesting things. | 20:17 | |
20:17
kaare__ left
|
|||
isBEKaml | LlamaRider: I meant that it reads well from left-to-right | 20:18 | |
LlamaRider | got it :) | 20:19 | |
isBEKaml | masak: somewhat tangential - LISP would not have come into existence had some idle grad student not implemented 'eval' out of djikstra's theoretical foundations! :D | 20:20 | |
(read that story - don't recall the source) | |||
masak | isBEKaml: McCarthy. | 20:21 | |
but yes. | |||
sorear | lisp is the classic example of software that was not 'released' so much as 'escaped' | ||
dalek | ast: 2b38b6a | moritz++ | integration/advent2009-day10.t: fudge integration/advent2009-day10.t for rakudo |
20:22 | |
20:22
kaare__ joined
|
|||
dalek | kudo/nom: 13f3e6d | moritz++ | tools/build/NQP_REVISION: bump to an NQP revision that fixes negative bigint modulo |
20:23 | |
kudo/nom: 8c5258a | moritz++ | t/spectest.data: run advent2009-day10.t |
|||
20:23
MayDaniel joined
|
|||
colomon | negative modulo fixed? \o/ | 20:23 | |
moritz | evalbot rebuild nom | ||
p6eval | OK (started asynchronously) | ||
TimToady | note that nom is not behaving according to spec wrt S02:3365 | 20:24 | |
sorear | hmm - it would be relatively simple to have p6eval tell dalek when the compile is done | ||
TimToady | :8(42) is supposed to fail | ||
masak | moritz++ | 20:25 | |
TimToady: hm, I wonder if we have an RT ticket for that... | |||
masak looks | |||
colomon | as opposed to :8<42> ? | 20:26 | |
TimToady | yes, that's fine | ||
moritz | TimToady: :8(Numeric) in general? | ||
20:26
cognominal left,
y3llow left
|
|||
masak | seems we don't. | 20:26 | |
TimToady | :8(none(Str)) :) | ||
20:26
pothos left,
cognominal joined
|
|||
masak | nom: say :8(42) | 20:26 | |
p6eval | nom 327fc9: OUTPUT«34» | ||
masak submits rakudobug | |||
colomon | niecza: say :8(42) | 20:27 | |
p6eval | niecza v13-165-gdab47b7: OUTPUT«===SORRY!===Runtime base conversions NYI at /tmp/bajj_wsuu9 line 1 (EOF):------> say :8(42)⏏<EOL>Unhandled exception: Check failed at /home/p6eval/niecza/boot/lib/CORE.setting line 919 (die @ 2)  at /home/p6e… | ||
moritz | not hard to do | ||
colomon | nom: say :8("42") | ||
p6eval | nom 327fc9: OUTPUT«34» | ||
moritz | nom: say '42'.base(8) | 20:28 | |
sorear | ln: creating hard link `/chroot/home/p6eval/dalek-queue' => `/home/drain/dalek-poller/queue': Operation not permitted | ||
p6eval | nom 327fc9: OUTPUT«Method 'base' not found for invocant of class 'Str' in block <anon> at /tmp/Qhn9vdGz1h:1 in <anon> at /tmp/Qhn9vdGz1h:1» | ||
sorear | what's up with this? | ||
I used sudo | |||
20:28
pothos joined,
y3llow joined
|
|||
moritz | sorear: is /home/ mounted separately? | 20:28 | |
TimToady | note also that :8<42> is a special form, so is not subject to val() semantics | ||
20:28
arlinius left
|
|||
moritz | and subject to Str.Numeric semantics? | 20:29 | |
TimToady | though even if it were, <42> counts 42 as a Str in addition to an Int | ||
20:29
MayDaniel left,
arlinius joined
20:30
y3llow left,
mj41 left
|
|||
colomon | TimToady: right near there in the spec, there's an example (FatRat.new(1,1) * 2 ** -128) | 20:30 | |
20:30
y3llow joined,
kaare_ joined
20:31
proller joined
|
|||
colomon | TimToady: that doesn't actually "work", does it? | 20:31 | |
masak | TimToady: will both 'my Str $a = <42>;' and 'my Int $a = <42>;' work, or just one of them? | ||
20:31
pothos left
|
|||
moritz | colomon: I'd expect 2 ** -128 to return a Num | 20:31 | |
sorear | moritz: I found the problem - chattr +a blocks updates to the link count, so I had to clear it temporarily | ||
colomon | moritz: that's why I say "work" | ||
20:31
kaare__ left,
pothos joined
|
|||
colomon was thinking about these issues this morning while working on fatrat.t. | 20:32 | ||
sorear | colomon: ** has higher precedence, so 2 ** -128 will be evaluated first, returning Num | ||
Num takes precedence over FatRat, so the whole expression has type Num | |||
20:32
y3llow left
20:33
y3llow joined
|
|||
colomon | sorear: the spec uses it as an example of FatRat construction, I think. That's why I'm bringing it up | 20:33 | |
TimToady | will have to think about that | ||
meanwhile, 1/(2**128) should work | |||
colomon | 1/(2**128) should be a Num | ||
20:34
mj41 joined
|
|||
TimToady | well, might as well just put 2**128 in the constructor | 20:34 | |
20:34
pothos left
|
|||
moritz | FatRat.new(1, 2**128) works | 20:34 | |
colomon | TimToady: yes, that will work fine | ||
20:34
pothos joined
|
|||
colomon | it's an interesting issue, because... | 20:34 | |
TimToady | feel free to fix the spec | ||
moritz fixes the spec | |||
colomon | TimToady++ moritz++ | ||
TimToady | perl6: say (say 2**128).WHAT | 20:35 | |
p6eval | pugs b927740: OUTPUT«340282366920938463463374607431768211456Bool» | ||
..rakudo 327fc9, niecza v13-165-gdab47b7: OUTPUT«340282366920938463463374607431768211456Bool()» | |||
TimToady | perl6: say (2**128).WHAT | ||
p6eval | pugs b927740: OUTPUT«Rat» | ||
..rakudo 327fc9, niecza v13-165-gdab47b7: OUTPUT«Int()» | |||
TimToady | perl6: say (2**-128).WHAT | ||
p6eval | pugs b927740: OUTPUT«***  Unexpected "128" at /tmp/w2Be2TBe9R line 1, column 10» | ||
..rakudo 327fc9, niecza v13-165-gdab47b7: OUTPUT«Num()» | |||
colomon | niecza: say FatRat.new(1,1) * 2 ** -1024 | ||
p6eval | niecza v13-165-gdab47b7: OUTPUT«5.5626846462680035E-309» | ||
colomon | niecza: say FatRat.new(1,1) * 2 ** -2048 | ||
p6eval | niecza v13-165-gdab47b7: OUTPUT«0e0» | ||
moritz | I guess FatRat.new(2, 0) ** -128 should work too, no? | 20:36 | |
colomon | niecza: say FatRat.new(2, 0) ** -128 | ||
p6eval | niecza v13-165-gdab47b7: OUTPUT«NaN» | ||
colomon | ooo, there's a bug | ||
sorear | 2, 1 might work better | ||
colomon | right | ||
niecza: say FatRat.new(2, 1) ** -128 | |||
p6eval | niecza v13-165-gdab47b7: OUTPUT«2.9387358770557188E-39» | ||
colomon | niecza: say FatRat.new(2, 1) ** -2048 | ||
moritz | niecza: say FatRat.new(1, 2) ** 128 | ||
p6eval | niecza v13-165-gdab47b7: OUTPUT«0» | ||
niecza v13-165-gdab47b7: OUTPUT«2.9387358770557188E-39» | |||
moritz | niecza: say (FatRat.new(1, 2) ** 128).WHAT | 20:37 | |
p6eval | niecza v13-165-gdab47b7: OUTPUT«FatRat()» | ||
colomon | niecza: say (FatRat.new(2, 1) ** -2048).nude | ||
p6eval | niecza v13-165-gdab47b7: OUTPUT«1 3231700607131100730071487668866995196044410266971548403213034542752465513886789089319720141152291346368871796092189801949411955915049092109508815238644828312063087736730099609175019775038965210679605763838406756827679221864261975616183809433847617047058… | ||
colomon | there we are | ||
isBEKaml | nom: say FatRat.^methods(:local).perl | ||
p6eval | nom 327fc9: OUTPUT«===SORRY!===CHECK FAILED:Undefined routine '&FatRat' called (line 1)» | 20:38 | |
moritz | isBEKaml: in nom, every Rat is fat right now | ||
dalek | ecs: 2bffe34 | moritz++ | S02-bits.pod: [S02] fix example for FatRat construction in the old example, 2 ** -128 returns a Num. colomon++ |
||
isBEKaml | nom: say Rat.^methods(:local).perl | ||
p6eval | nom 327fc9: OUTPUT«(Method.new(), Method.new(), Method.new(), Method.new(), Method.new(), Method.new(), Method.new(), Method.new(), Method.new(), Method.new(), Method.new(), Method.new(), Method.new())» | ||
colomon | :\ | ||
isBEKaml | ... | ||
moritz | nom: say Rat.^methods(:local) | 20:39 | |
p6eval | nom 327fc9: OUTPUT«new nude Num Int Bridge Rat succ pred WHICH Str perl numerator denominator» | ||
20:39
Chillance left
|
|||
TimToady wishes someone would implement ^methods as specced so it has a sane defulat | 20:39 | ||
default, even | |||
isBEKaml | .perl bites again | ||
TimToady | though a sane defulat would also be helpful | ||
sorear | evalbot control restart | ||
20:40
p6eval joined,
ChanServ sets mode: +v p6eval
|
|||
sorear | evalbot rebuild niecza | 20:40 | |
moritz | nom: say 9 % (-9) | ||
masak | it would be helupufl. | ||
p6eval | OK (started asynchronously) | ||
nom 327fc9: OUTPUT«-9» | |||
masak | :( | ||
moritz | nom rebuild hasn't finished (yet?) | 20:41 | |
isBEKaml | I would be grautuful | ||
masak | :U | ||
sorear | evalbot rebuild niecza | ||
p6eval | OK (started asynchronously) | ||
moritz | ah, out-of-memory while trying to compile the setting | ||
dalek | Rebuild of niecza complete. 0 | ||
moritz | What is the 0 at the end? | ||
sorear | $? | ||
TimToady | \0/ | 20:42 | |
isBEKaml | I think $? | ||
moritz | sorear: maybe change that to "exit code 0" or so | ||
TimToady | maybe only say the exit if nonzero | ||
moritz | even better | ||
20:42
proller left
|
|||
moritz | evalbot rebuild nom | 20:42 | |
p6eval | OK (started asynchronously) | ||
sorear isn't quite sure how to write that | 20:43 | ||
moritz | if ($status != 0) { $msg ~= " exit code $status" } | 20:44 | |
isBEKaml | or, $msg ~= " exit code $status" if $status | ||
sorear | that might work if it were perl :p | ||
LlamaRider | or, $status && $msg ~= "exit code $status" | ||
isBEKaml | wait, is that shell? :/ | 20:45 | |
I saw ~= and thought it's perl | |||
moritz | if $? then echo "exit code $?"; else echo ""; fi | ||
moritz not good at shell | |||
TimToady | you could replace the whole message | 20:46 | |
sorear | huh, the dalek poller is using 500mb virtual | 20:48 | |
dalek | Rebuild of nom complete. 0 | ||
sorear | nom: say $*PERL<version> | 20:49 | |
p6eval | nom 327fc9: OUTPUT«Method 'at_key' not found for invocant of class 'Failure' in method postcircumfix:<{ }> at src/gen/CORE.setting:1165 in block <anon> at /tmp/ClBfsuqKSZ:1 in <anon> at /tmp/ClBfsuqKSZ:1» | ||
20:50
imarcusthis left
|
|||
sorear | looks like exit codes aren't working in the first place, and I'm not interested enough to find out why | 20:50 | |
sorear removes the print | |||
evalbot control restart | |||
20:50
p6eval left,
p6eval joined,
ChanServ sets mode: +v p6eval
|
|||
LlamaRider | Why am I seing trigonometric operations in Str.^methods ? oO | 20:51 | |
seeing* | |||
TimToady | because the default is not yet sane | ||
you're probably seeing things from Cool | |||
dalek | albot: bb5fc1e | (Perl 6 Evalbot)++ | / (2 files): Announce end of rebuilds (I am sorear++ ) |
20:52 | |
TimToady | heh | ||
sorear | It seems that no-one ever "git pull"ed on the actual server after merging kshannon's Perl6 build changes | ||
20:52
imarcusthis joined
|
|||
sorear | this has been... rectified. | 20:54 | |
masak | sorear++ # taking care of... problems | ||
jnthn wonders whether to add an all_methods or something similar that the MOP can use | |||
What TimToady++ considers sane for the user's needs is mostly insane for the way the MOP code uses .^methods internally :) | 20:55 | ||
sorear | jnthn: .^methods(:all), ne? | ||
jnthn | sorear: Yeah but :( | 20:56 | |
sorear | But what? No named arguments in NQP? | ||
jnthn | I can do it, it just feels odd that every internal usage the MOP ever makes of .^methods is going to have to pass it. | ||
20:57
tim joined
21:02
tim left
|
|||
jnthn | Adverbs showing up all over the place are usually considered a code smell. | 21:02 | |
TimToady | probably a good argument for a separate method | ||
and methods(:all) just calls allmethods | |||
or some such | |||
sorear | What sorts of things does the MOP use .^methods for? | ||
jnthn | *nod* | ||
sorear | btw, I just killed and restarted the poller, -0.5 GB swap used | ||
TimToady | or make .^can without args return all the methods :) | ||
jnthn | sorear: Off hand, the role composer... | ||
TimToady: heh :) | |||
Anyway, I'll try and get the change to .^methods in before the next Rakudo release. | |||
sorear | jnthn: I don't see why the role composer should need to enumerate the full list of inherited methods | ||
TimToady | it keeps confusing new arrivals :) | ||
21:05
ilogger2 joined,
ChanServ sets mode: +v ilogger2
|
|||
jnthn | k | 21:05 | |
TimToady | but STD uses the notion of a fake position that advances when something with width matches, so we can tell | ||
dunno if niecza still uses that notion | 21:06 | ||
jnthn | Seems Pm's NFA builder doesn't handle that. Discovered so today, when it did infinite recursion... | ||
TimToady | actually, that was the old lexer in STD, dunno about the new lexer sorear++ added | ||
looks like it still has $CursorBase::fakepos++; | 21:09 | ||
moritz | S05 says that recursion terminates the declarative prefix | ||
21:10
raiph joined
|
|||
sorear | jnthn: Recursion terminated the delarative prefix in Niecza too | 21:11 | |
jnthn: the relevant trick is at lib/Cursor.cs:1620; <foo> is treates as {} if 'foo' is in the method-name stack already | 21:12 | ||
jnthn | Grr, new regex engine needs ICU much more than the one that came before it, it seems | 21:15 | |
21:18
proller joined
|
|||
masak | why? | 21:19 | |
dalek | p/qbootstrap: cfca054 | jnthn++ | src/QRegex/Cursor.nqp: Ensure that we invalidate matches as needed. |
||
p/qbootstrap: 0ffa51b | jnthn++ | src/QRegex/NFA.nqp: Try and have the NFA builder not explode upon recursion. |
|||
jnthn | masak: In the case I'm seeing here, I ain't exactly sure... | 21:20 | |
masak: In general because it uses 32-bit fixed-width or some such. | 21:22 | ||
Which is fast to index into, of course. | |||
dalek | kudo/nom: 4e5d8aa | jnthn++ | src/core/Routine.pm: Improve Routine.perl. |
21:25 | |
sorear | jnthn: any chance of getting icu bundled with nqp like libtommath is? | 21:28 | |
*ducks* | |||
jnthn | Yay. Seems that QRegex can compile its own parser. | 21:31 | |
sorear | \o/ | ||
jnthn | Of course, now this is at the annoying point where there's a bunch of little details to try and sort out... :) | ||
jnthn will be happy to eliminate the second to last "big load of PIR" dependency Rakudo has | 21:32 | ||
masak | \o/ | 21:34 | |
jnthn | General question: should I tentatively start to add spectests and spec for the declarative aspects of the MOP stuff? | ||
masak | sure, why not? | ||
jnthn | At the moment S12 only documents the introspective parts. | ||
sorear | jnthn: Yes. | ||
jnthn | OK | ||
S12 or another synopsis? | |||
sorear | jnthn: I promise to whine if you accidentally put in something that leaks too much of the Rakudo metamodel specifics :) | ||
S12 is fine for now. I think eventually we should start a | 21:35 | ||
MOP synopsis | |||
jnthn | sorear: That's fine. It's a good chance for me to review what I've done in Rakudo too. I'm sure I'll yell WTF at myself a couple of times on the way :) | ||
TimToady | +1 | ||
sorear | c.f. TimToady's comment about decoupling the synopses from Camel 1.0 | ||
dalek | p/qbootstrap: cb91e0b | jnthn++ | / (3 files): Add a circularity-breaking thingummy so that we can load QRegex by default again; say('a fool' ~~ /foo/) now works again in NQP and QRegex compiled using QRegex. |
21:41 | |
21:41
LlamaRider joined
|
|||
jnthn | moritz: If you have chance, would be interested to see an NQP test output from latest qbootstrap. | 21:41 | |
(from somebody with ICU) | |||
Will have to get my ICU setup working here... | 21:42 | ||
Or make us need it a bit less | |||
tadzik | argh, pararell build still fails | ||
jnthn | tadzik: Where, ooc? | ||
tadzik | make: *** No rule to make target `qregex', needed by `qregex-test'. Stop. | 21:43 | |
I'll paste the whole thing | |||
dalek | ecza: cdf48b2 | sorear++ | lib/CodeGen.cs: Use a hash of delegates instead of a giant (near 1k lines) if chain in DowncallReceiver; tiny speedup |
21:44 | |
tadzik | gist.github.com/1579807 around #144 | ||
jnthn | Is that really a parallel build fail? | ||
Or fails with serial too? | 21:45 | ||
tadzik | pararell | ||
I'm building with -j1 fine | |||
jnthn | ok | ||
tadzik | jnthn: gist.github.com/1579823 test summary | 21:47 | |
that's with icu | |||
masak | perl6: my %h = foo => 42; say %h.elems | 21:48 | |
p6eval | pugs b927740, rakudo 8c5258, niecza v13-165-gdab47b7: OUTPUT«1» | ||
jnthn | tadzik: thanks | 21:49 | |
oh, I really should submit for German Perl Workshop... | |||
Before moritz++ has to come and hunt me down again about it :) | 21:50 | ||
tadzik | yay, $understandable-talks++ | ||
jnthn | Ich kann mein talk in Deutsch given! | 21:51 | |
...not really. :) | |||
21:51
LlamaRider_ joined
|
|||
tadzik | Ich kann verstehe eine Deutsche talke, aber nicht so gut | 21:51 | |
masak | ich auch. | ||
jnthn | Ich kann...mit bier. :) | 21:52 | |
masak | und cheesecake!? o.O | 21:53 | |
jnthn | :P | ||
masak | ah, in-jokes. | ||
21:54
LlamaRider left
22:02
ksi joined
|
|||
sorear | hmm, I can almost read that | 22:04 | |
felher | talking about conferences.yapceurope.org/gpw2012/index.html ? | 22:05 | |
tadzik | aye | 22:06 | |
felher | Hm, interesting | ||
masak | good night, #perl6 | 22:07 | |
jnthn | Well, submitted. | ||
:) | |||
jnthn wonders how easily he can get to this one by train | |||
felher | o/ masak | 22:08 | |
tadzik | jnthn: I'm thinking about the same thing :) | 22:10 | |
haha, I can get to Erlangen in mere 11 hours | 22:11 | ||
well, 11 train hours, that'll be like 20 human hours | 22:12 | ||
22:12
LlamaRider_ left,
LlamaRider joined
|
|||
jnthn | tadzik: ouch, long connection somewhere? | 22:13 | |
tadzik | jnthn: it's going through Berlin | ||
6 + 5 hours | |||
felher | jnthn: whats the topic of your submitted talk? | ||
jnthn | felher: Meta-programming | 22:14 | |
felher | jnthn: nice :) | ||
sorear | (Could it have been anything else?) | 22:15 | |
sorear needs to get to a YAPCish thing someday | |||
jnthn | Guess YAPC::NA is your nearest. | ||
All the ones I've been to, wherever they were, have been fun. | 22:16 | ||
tadzik | GPW seems to be of size of about half a YAPC | 22:17 | |
3 days too, only 2 tracks, not 4 | |||
jnthn | 3 days? That's quite long for a workshop too. | 22:18 | |
Often they're 1 or 2 days. | |||
Makes for more evenings to consume German beer on, though. \o/ | |||
22:20
packetknife joined
22:34
LlamaRider left
|
|||
jnthn | Hm. Seems I'm too tired to fix $other_issues in qbootstrap, though at least I've figured out what's going on with a few more of the tests... | 22:44 | |
Time to go relax & | |||
23:25
proller left
23:53
pmichaud left
23:55
tokuhirom joined
23:59
Util joined,
masak joined
|