| Time |
S |
Nick |
Message |
| 00:00 |
|
plobsing |
yes but, doesn't it cause access to @x[0] to run off to infinity? |
| 00:01 |
|
diakopter |
std: [:=] [:=] (my @x) |
| 00:01 |
|
sorear |
:= is a special form, not an operator |
| 00:01 |
|
p6eval |
std 30649: OUTPUT«ok 00:01 111m» |
| 00:01 |
|
sorear |
[:=] *shouldn't* parse |
| 00:01 |
|
sorear |
although lots of people disagree with me on this |
| 00:02 |
|
sorear |
maybe I could add := to soreakudo and tempt masak with SPECTESTS |
| 00:02 |
|
lue |
I don't see how it would work. |
| 00:02 |
|
plobsing |
soreakudo? you have a fork? |
| 00:03 |
|
lue |
I can see [+] and [-] of course, but not [:=] |
| 00:07 |
|
lue |
does [=] even work? It seems to me operators like = and := don't work well as a metaop. |
| 00:09 |
|
plobsing |
AFAIC, R= is just plain evil. |
| 00:10 |
|
lue |
russian reversal assignment? that does sound evil. |
| 00:10 |
|
plobsing |
rakudo: my $x = 1; my $y = 2; $x R= $y; say($x); say($y); |
| 00:10 |
|
p6eval |
rakudo 92508d: OUTPUT«11» |
| 00:11 |
|
lue |
(when I said metaop, I meant these guys: [+] [-]) |
| 00:11 |
|
plobsing |
I thought R and Z were metaops too |
| 00:11 |
|
lue |
they are. |
| 00:11 |
|
sorear |
plobsing: not a fork-fork, but there's a huge backlog for patch review |
| 00:16 |
|
|
_jaldhar joined #perl6 |
| 00:16 |
|
plobsing |
sorear: does rakudo have a patch reviewer shortage? |
| 00:21 |
|
sorear |
plobsing: yes, circumstantially |
| 00:21 |
|
sorear |
the stuff I've been doing is almost entirely in the pmichaud bus zone |
| 00:24 |
|
lue |
afk (compiling blender) |
| 00:26 |
|
sorear |
I get the feeling STD_syntax_highlight was ported from Perl 4 |
| 00:43 |
|
|
nsh_ joined #perl6 |
| 00:57 |
|
|
justatheory joined #perl6 |
| 01:02 |
|
|
justatheory joined #perl6 |
| 01:16 |
|
sorear |
String::IRC-- making up custom names for every color |
| 01:17 |
|
sorear |
just follow conio.h, it's the standard |
| 01:17 |
|
sorear |
or curses |
| 01:17 |
|
sorear |
or RGBI bitfields |
| 01:17 |
|
sorear |
but not "olive", "maroon", "navy", "fuschia" |
| 01:28 |
|
sorear |
evalbot control version |
| 01:28 |
|
p6eval |
This is evalbot revision 30533 |
| 01:38 |
|
|
{shade} joined #perl6 |
| 01:41 |
|
pugssvn |
r30650 | lwall++ | [CORE] add protos of operators |
| 01:41 |
|
pugssvn |
r30650 | [STD] add operators to symbol tables as subs |
| 01:41 |
|
pugssvn |
r30650 | [Cursor] canonicalize operator names in symbol table |
| 01:46 |
|
pugssvn |
r30651 | sorear++ | Add a mIRC color code backend to STD_syntax_highlight |
| 01:52 |
|
eternaleye |
(backlogging) cognominal: re signatures, you have to bind, not assign and I'm not sure how that works with a signature stored in a variable. Try `my $a, $b; :( $a, $b ) := ( 1, 2 )` - :() constructs a signature, := binds to it |
| 01:55 |
|
|
JimmyZ joined #perl6 |
| 01:57 |
|
eternaleye |
Hm, drake1 isn't here anymore. I was going to tell him about 'ls | grep ... | while read i' being much more reliable than 'for F in $(...)' |
| 02:00 |
|
eternaleye |
Though find -exec ... \; is better still |
| 02:01 |
|
eternaleye |
rakudo: my Int $a, Str $b; :( $a, $b ) := ( 1, 'Hi!' ); .say for $a, $b; |
| 02:02 |
|
p6eval |
rakudo 92508d: OUTPUT«Confused at line 11, near "my Int $a,"current instr.: 'perl6;HLL;Grammar;panic' pc 501 (ext/nqp-rx/src/stage0/HLL-s0.pir:327)» |
| 02:02 |
|
eternaleye |
rakudo: my $a, $b; :( $a, $b ) := ( 1, 'Hi!' ); .say for $a, $b; |
| 02:02 |
|
p6eval |
rakudo 92508d: OUTPUT«Symbol '$b' not predeclared in <anonymous>current instr.: 'perl6;PCT;HLLCompiler;panic' pc 152 (compilers/pct/src/PCT/HLLCompiler.pir:108)» |
| 02:02 |
|
eternaleye |
rakudo: my ($a, $b); :( $a, $b ) := ( 1, 'Hi!' ); .say for $a, $b; |
| 02:02 |
|
p6eval |
rakudo 92508d: OUTPUT«Any()Any()» |
| 02:02 |
|
cognominal |
eternaleye, thx, I will check out |
| 02:02 |
|
eternaleye |
alpha: my ($a, $b); :( $a, $b ) := ( 1, 'Hi!' ); .say for $a, $b; |
| 02:02 |
|
p6eval |
alpha 30e0ed: OUTPUT«Use of uninitialized valueUse of uninitialized value» |
| 02:02 |
|
eternaleye |
Hmm |
| 02:03 |
|
cognominal |
:) |
| 02:03 |
|
eternaleye |
alpha: my ($a, $b) := ( 1, 'Hi!' ); .say for $a, $b; |
| 02:03 |
|
p6eval |
alpha 30e0ed: OUTPUT«rtype not setin Main (file <unknown>, line <unknown>)» |
| 02:03 |
|
eternaleye |
rakudo: my ($a, $b) := ( 1, 'Hi!' ); .say for $a, $b; |
| 02:03 |
|
p6eval |
rakudo 92508d: OUTPUT«1Hi!» |
| 02:03 |
|
eternaleye |
THERE we go! |
| 02:03 |
|
eternaleye |
('my' operates on a signature) |
| 02:04 |
|
eternaleye |
rakudo: my (Int $a, Str $b) := ( 1, 'Hi!' ); .say for $a, $b; |
| 02:04 |
|
p6eval |
rakudo 92508d: OUTPUT«1Hi!» |
| 02:04 |
|
eternaleye |
rakudo: my (Int $a, Int $b) := ( 1, 'Hi!' ); .say for $a, $b; |
| 02:04 |
|
p6eval |
rakudo 92508d: OUTPUT«Nominal type check failed for parameter '$b'; expected Int but got Str insteadcurrent instr.: '' pc 0 (EVAL_2:1)» |
| 02:04 |
|
eternaleye |
Tada! |
| 02:05 |
|
cognominal |
also I am not sure if $a := @b[1] should bind to the slot or to the container in the slot |
| 02:05 |
|
eternaleye |
rakudo: my (Int $a, Complex $b ( :$re, :$im ) ) := ( 1, 1 + 3i ); .say for $a, $re, $im; |
| 02:05 |
|
p6eval |
rakudo 92508d: OUTPUT«113» |
| 02:05 |
|
eternaleye |
Unpacking is fun |
| 02:06 |
|
cognominal |
if I do @b[1] = 1 should it affect $a or not? |
| 02:06 |
|
cognominal |
I guess this is the most useful thing to do. |
| 02:07 |
|
cognominal |
otherwise the old @b[1] will still be (only) accessible thru $a. |
| 02:08 |
|
cognominal |
idle thinkings... |
| 02:35 |
|
sorear |
the behavior of $a := @b[1] is effectively forced from an implementator's perspective |
| 02:36 |
|
|
constant joined #perl6 |
| 02:36 |
|
|
constant joined #perl6 |
| 02:37 |
|
cognominal |
sorear, what do you mean? |
| 02:37 |
|
sorear |
rakudo: sub BIND($name, $reg is rw) { pir::store_dynamic_lex__vSP($name, $reg); }; my $x; my @y; BIND('$x', @y[1]); @y = <a b c>; say $x; |
| 02:37 |
|
p6eval |
rakudo 92508d: OUTPUT«» |
| 02:38 |
|
sorear |
rakudo: sub BIND($name, $reg is rw) { pir::store_dynamic_lex__vSP($name, pir::find_lex__PS('$reg')); }; my $x; my @y; BIND('$x', @y[1]); @y = <a b c>; say $x; |
| 02:38 |
|
p6eval |
rakudo 92508d: OUTPUT«» |
| 02:38 |
|
sorear |
not quite working. |
| 02:38 |
|
cognominal |
I am dizzy with these pir:: et Q:PIR... |
| 02:39 |
|
sorear |
:= is the essential binding operation |
| 02:39 |
|
sorear |
it is used, notionally, during signature binding |
| 02:40 |
|
sorear |
the rhs is any old value that can be passed to functions |
| 02:40 |
|
cognominal |
this is the only thing implemented so far in rakudo... |
| 02:40 |
|
sorear |
when you function(@foo[1]), the slot is lost |
| 02:40 |
|
sorear |
only the container is passed to function |
| 02:40 |
|
sorear |
so, for the rhs, the old meaningful usage is the container |
| 02:50 |
|
|
justatheory joined #perl6 |
| 02:52 |
|
sorear |
viv gives wrong output on unimplemented cases, interesting |
| 02:58 |
|
pugssvn |
r30652 | lwall++ | [Cursor] don't complain of uninit $*FATAL on supposition |
| 02:58 |
|
TimToady |
s/FATAL/FATALS/ |
| 03:00 |
|
|
JimmyZ joined #perl6 |
| 03:00 |
|
|
masonkramer joined #perl6 |
| 03:05 |
|
sorear |
TimToady: Is there a list of what needs to be done with viv? Are there any good "stepping stone" inputs before I spend the 4:20 to process STD? |
| 03:07 |
|
JimmyZ |
std: eval "class Foo { }" |
| 03:07 |
|
p6eval |
std 30651: OUTPUT«ok 00:01 110m» |
| 03:07 |
|
JimmyZ |
rakudo: eval "class Foo { }" |
| 03:07 |
|
p6eval |
rakudo 92508d: OUTPUT«Null PMC access in get_string()current instr.: '_block14' pc 29 (EVAL_1:0)» |
| 03:07 |
|
sorear |
JimmyZ: std doesn't run code, so it can't see the runtime error in that line |
| 03:07 |
|
sorear |
{ is special in double-quoted strings now |
| 03:08 |
|
sorear |
you need to use 'class Foo { }' |
| 03:08 |
|
JimmyZ |
sorear: It's a bug? |
| 03:08 |
|
sorear |
rakudo: eval 'class Foo { }' |
| 03:08 |
|
p6eval |
rakudo 92508d: ( no output ) |
| 03:08 |
|
sorear |
JimmyZ: There's a bug there, but it has nothing to do with classes or eval |
| 03:09 |
|
sorear |
rakudo: say "class Foo { 2 + 2 }" |
| 03:09 |
|
p6eval |
rakudo 92508d: OUTPUT«class Foo 4» |
| 03:09 |
|
JimmyZ |
oh, I thought it was not a bug |
| 03:09 |
|
sorear |
{ XXX } interpolates Perl code |
| 03:09 |
|
sorear |
{ } should interpolate 'undef', but instead it crashes |
| 03:09 |
|
sorear |
known bug, I'm pretty sure |
| 03:15 |
|
cognominal |
also I see a point about signatures that does not appear in Perl6 (rakudo) grammar. If the methods metha and methb have the same signature (say $sig), I would like to declare them method metha $sig { ... } method methb $sig { } |
| 03:16 |
|
cognominal |
so as not to repeat the common signature. |
| 03:16 |
|
cognominal |
...more idel thoughts :) |
| 03:23 |
|
TimToady |
sorear: no, no list for viv |
| 03:42 |
|
sorear |
Can't call method "Str" on an undefined value at viv line 989 |
| 03:42 |
|
* sorear |
tracks |
| 03:49 |
|
|
tylerni7 joined #perl6 |
| 03:50 |
|
JimmyZ |
phenny: help? |
| 03:50 |
|
phenny |
JimmyZ: Hi, I'm a bot. Say ".commands" to me in private for a list of my commands, or see http://inamidst.com/phenny/ for more general details. My owner is sbp. |
| 03:51 |
|
JimmyZ |
phenny tell moritz_ I sent a patch to RT #75114: Can't augment class Int |
| 03:51 |
|
TimToady |
sorear: def_module_name changed to longname, I think |
| 03:56 |
|
sorear |
yeah |
| 03:56 |
|
sorear |
I figured that much out... slow going but progress |
| 03:56 |
|
sorear |
that said I finally managed to read all the way through STD.pm6; correct highlighting helps a lot |
| 03:57 |
|
sorear |
I wish we had something like that for perl5/cursor :) |
| 04:04 |
|
TimToady |
well, we just have to rewrite it all in Perl 6 :) |
| 04:04 |
|
TimToady |
'course, for that, we need viv -5... |
| 04:05 |
|
sorear |
viv -5 ? |
| 04:05 |
|
diakopter |
emit_p5 |
| 04:05 |
|
* sorear |
is hacking on viv |
| 04:06 |
|
sorear |
I wanted some p6 related stuff to work on; diakopter++ recommended viv |
| 04:06 |
|
diakopter |
finally I did something right ;) |
| 04:07 |
|
diakopter |
TimToady: note that viv can be read either as 6->5 or 5->4 |
| 04:07 |
|
TimToady |
unfortunately I already did the easy bits :) |
| 04:07 |
|
sorear |
it depends on whether TimToady approves of random non-TimToady-mind-readers hacking viv |
| 04:07 |
|
sorear |
TimToady: that's ok. I only find hard things fun. |
| 04:08 |
|
* diakopter |
giggles at 5->4. I kill me. |
| 04:08 |
|
TimToady |
you want to take small chunks out STD.pm5 as produced by gimme5 and reproduce 'em with viv -5 |
| 04:09 |
|
* diakopter |
thinks sorear seems like the reverse-engineering-is-the-best-game-ever sort |
| 04:10 |
|
diakopter |
sorear: does this mean you can produce an html colorized edition of STD.pm6? |
| 04:10 |
|
sorear |
diakopter: once we've figured out how to write a perl 5 deparser in viv, adding the perl 4 deparser will be relatively easy |
| 04:10 |
|
sorear |
then hook it up to STD_P5.pm6 |
| 04:10 |
|
pugssvn |
r30653 | lwall++ | [STD] read user's mind on 'Str $toto' |
| 04:10 |
|
TimToady |
'course, Perl 4 didn't have closures... |
| 04:11 |
|
sorear |
diakopter: I already have an html colorized STD.pm6. However, it contains large amounts of obfuscated javascript and crashes firefox when I load it |
| 04:11 |
|
diakopter |
re: no closures; 'ts ok; I can write the framebuilder & trampoline-builder |
| 04:11 |
|
sorear |
why STD_syntax_highlight generates obfuscated javascript /at all/ is beyond me |
| 04:11 |
|
diakopter |
heh |
| 04:11 |
|
diakopter |
node collapsing/expanding I think |
| 04:12 |
|
TimToady |
I believe on mouseovers it puts the list of outer contexts |
| 04:12 |
|
diakopter |
I think it appears obfuscated b/c it's minified |
| 04:12 |
|
|
[mark] joined #perl6 |
| 04:13 |
|
sorear |
diakopter: the worst part is going to be memory management |
| 04:13 |
|
sorear |
Perl 4 has no garbage collector |
| 04:14 |
|
sorear |
*foo = *bar; # the old *foo glob-object is now a memory leak |
| 04:14 |
|
diakopter |
oh. |
| 04:14 |
|
sorear |
you'd have to write your own garbage collector |
| 04:14 |
|
|
envi^home joined #perl6 |
| 04:14 |
|
sorear |
you'd probably want to use inside-out objects for this |
| 04:15 |
|
TimToady |
well, Perl 5 doesn't exactly have a GC either |
| 04:15 |
|
sorear |
$node_types{$node_num} = 'additive'; |
| 04:15 |
|
|
snarkyboojum joined #perl6 |
| 04:18 |
|
* sorear |
needs to make a more detailed study of Perl 4 some time |
| 04:19 |
|
sorear |
I've been involved with the Perl scene since, uh, 5.005 |
| 04:20 |
|
pugssvn |
r30654 | sorear++ | deflongname is just longname now |
| 04:21 |
|
sorear |
I think I'd like a less verbose form of VAST |
| 04:21 |
|
TimToady |
that would be useful |
| 04:21 |
|
diakopter |
nonvast |
| 04:28 |
|
|
snarkyboojum left #perl6 |
| 04:29 |
|
|
snarkyboojum joined #perl6 |
| 04:33 |
|
diakopter |
+v pugssvn |
| 04:33 |
|
sorear |
diakopter: /mode #perl6 |
| 04:33 |
|
* sorear |
would do it himself, but this goodfornothing ISP keeps dropping my ops |
| 04:33 |
|
diakopter |
I know :P; I was hoping I could trigger TimToady's alias |
| 04:34 |
|
diakopter |
ooo it worked |
| 04:34 |
|
sorear |
+ooo/ |
| 04:35 |
|
diakopter |
maybe your isp detects when you get ops |
| 04:35 |
|
sorear |
I think they just don't care |
| 04:35 |
|
sorear |
it's not like they have competitors |
| 04:35 |
|
sorear |
a far too common story in the US |
| 04:36 |
|
TimToady |
maybe they think you're tweeting :) |
| 04:36 |
|
diakopter |
US, the land of threat-of-force enforced geographic monopolies |
| 04:36 |
|
sorear |
TimToady: I don't *think* they've banned twitter yet. |
| 04:36 |
|
diakopter |
oh wait, that's everywhere. |
| 04:37 |
|
sorear |
they have dropped usenet, though |
| 04:37 |
|
* diakopter |
wonders what 'twit (v.)' once meant |
| 04:38 |
|
diakopter |
oh. |
| 04:38 |
|
sorear |
diakopter: onomatopoeia for birdsong |
| 04:39 |
|
TimToady |
as in twitterpated :) |
| 04:40 |
|
sorear |
hmm |
| 04:41 |
|
sorear |
lots of shared substructure |
| 04:41 |
|
* sorear |
can't read YAML |
| 04:41 |
|
sorear |
what does .: mean? |
| 04:42 |
|
TimToady |
key is actually '.' |
| 04:42 |
|
TimToady |
it's just the ordered nodes |
| 04:42 |
|
TimToady |
wanted a key name that couldn't be confused with the named keys |
| 04:42 |
|
sorear |
ordered nodes? |
| 04:42 |
|
TimToady |
array |
| 04:43 |
|
sorear |
what if there's more than one? |
| 04:43 |
|
TimToady |
there's only one ., but multiple entries are marked with - |
| 04:43 |
|
sorear |
.: &1 !!perl/hash:VAST::statementlist .: |
| 04:43 |
|
|
TiMBuS joined #perl6 |
| 04:43 |
|
sorear |
irssi-- |
| 04:43 |
|
sorear |
what does it mean if there's a .: directly under .: |
| 04:44 |
|
TimToady |
I don't recall ever seeing that |
| 04:44 |
|
TimToady |
oh wait, it's indented more? |
| 04:44 |
|
sorear |
yes |
| 04:44 |
|
TimToady |
it's the first entrie in the oute r. |
| 04:44 |
|
sorear |
why isn't it - ? |
| 04:45 |
|
* sorear |
thinks yaml is overcomplicated, wants a simpler unambiguous notation for object graphs |
| 04:47 |
|
TimToady |
it's not too bad when you get used to it |
| 04:50 |
|
* diakopter |
worried I don't see the ambiguity |
| 04:52 |
|
sorear |
YAML is not unambiguous |
| 04:52 |
|
sorear |
the obvious simpler representations are |
| 04:52 |
|
sorear |
YAML's sin is complexity |
| 04:53 |
|
sorear |
the YAML spec is 200 pages |
| 04:53 |
|
sorear |
YAML has approximately the same expressive power as s-expressions |
| 04:54 |
|
sorear |
I modified viv to use Data::Dumper but Data::Dumper handles not-tree-like data structures badly |
| 04:55 |
|
sorear |
(by badly I mean not human readable) |
| 04:55 |
|
TimToady |
yes, I was trying to switch gimme5 to using DD yesterday but it fails |
| 04:55 |
|
TimToady |
utf8 problems |
| 04:56 |
|
TimToady |
not that yaml isn't without its share of utf8 problems too |
| 04:56 |
|
diakopter |
I don't know how DD would handle the cross-tree references |
| 04:57 |
|
sorear |
TimToady: would changing the default output format of viv to --concise break anything? |
| 04:57 |
|
sorear |
once I implement concise, of course :) |
| 04:57 |
|
TimToady |
I don't know |
| 04:58 |
|
TimToady |
nothing major that I'm aware of |
| 04:58 |
|
* sorear |
makes viv output much more readable by piping it through sed 's/ /: /g' |
| 04:58 |
|
diakopter |
mberends' vill parses the yaml output |
| 05:00 |
|
sorear |
Why do VAST nodes sometimes present in both numbers and names? |
| 05:01 |
|
TimToady |
std: Str $toto |
| 05:01 |
|
p6eval |
std 30654: OUTPUT«===[0mSORRY!===[0mBare type Str cannot declare $toto without a preceding scope declarator such as 'my' at /tmp/KG4sNTYATH line 1:------> Str ⏏$toto expecting any of: bracketed infix infix or meta-infix statement modifier loopParse |
| 05:01 |
|
p6eval |
..failedFAI… |
| 05:02 |
|
diakopter |
std: sub Str foo () { }; |
| 05:02 |
|
TimToady |
so you can reconstruct it in original order, or by semantics |
| 05:02 |
|
p6eval |
std 30654: OUTPUT«===[0mSORRY!===[0mMalformed block at /tmp/2Cy6RwLkN1 line 1:------> sub Str ⏏foo () { }; expecting any of: block routine_def traitParse failedFAILED 00:01 110m» |
| 05:02 |
|
eternaleye |
(re concise form of VAST) maybe call it DEEP? |
| 05:03 |
|
eternaleye |
That way we can say that the perl6 translator is DEEP and VAST |
| 05:03 |
|
diakopter |
or DISTANT (or FAR) |
| 05:05 |
|
eternaleye |
One of the reasons I like Perl(5|6) so much is that there's a culture of humor. C++, Java - their cultures are so _plain_. In Perl, the language designer makes puns and those who write reference books are incorrigible :D |
| 05:05 |
|
JimmyZ |
s |
| 05:05 |
|
diakopter |
std: our sub Str foo () { }; |
| 05:05 |
|
p6eval |
std 30654: OUTPUT«===[0mSORRY!===[0mMalformed block at /tmp/KUwNY1wjPc line 1:------> our sub Str ⏏foo () { }; expecting any of: block routine_def traitParse failedFAILED 00:01 110m» |
| 05:06 |
|
diakopter |
std: my sub Str foo () { }; |
| 05:06 |
|
p6eval |
std 30654: OUTPUT«===[0mSORRY!===[0mMalformed block at /tmp/QAdAIYB8Ca line 1:------> my sub Str ⏏foo () { }; expecting any of: block routine_def traitParse failedFAILED 00:01 110m» |
| 05:06 |
|
eternaleye |
std: our Str sub foo () { }; |
| 05:06 |
|
p6eval |
std 30654: OUTPUT«ok 00:01 111m» |
| 05:06 |
|
diakopter |
sigh |
| 05:06 |
|
diakopter |
in one neural network; out the same. |
| 05:07 |
|
eternaleye |
std: our sub foo (--> Str) { }; |
| 05:07 |
|
p6eval |
std 30654: OUTPUT«ok 00:01 111m» |
| 05:07 |
|
|
isBEKaml joined #perl6 |
| 05:09 |
|
diakopter |
that much I remembered |
| 05:09 |
|
diakopter |
having implemented it |
| 05:11 |
|
TimToady |
well, the error is LTA |
| 05:12 |
|
|
snarkyboojum joined #perl6 |
| 05:16 |
|
|
canolucas joined #perl6 |
| 05:21 |
|
|
canolucas left #perl6 |
| 05:32 |
|
sorear |
TimToady: so, Cursor Matches have the parcel-nature? |
| 05:33 |
|
sorear |
unlike NQP Matches, which have only capture-nature |
| 05:38 |
|
TimToady |
mmm, no, they're more like captures; parcels don't do Hash |
| 05:40 |
|
sorear |
captures don't do putting-keys-in-order |
| 05:50 |
|
TimToady |
they do if they're really Matches and have to be able to return .chunks :) |
| 05:53 |
|
|
snarkyboojum joined #perl6 |
| 05:53 |
|
|
sorear joined #perl6 |
| 05:57 |
|
sorear |
diakopter: I begin to beleive you |
| 06:12 |
|
TimToady |
just so you don't finish believing him :) |
| 06:23 |
|
JimmyZ |
std: my $a = 1; ++++$a = 5; |
| 06:23 |
|
p6eval |
std 30654: OUTPUT«ok 00:01 112m» |
| 06:24 |
|
JimmyZ |
rakudo: my $a = 1; ++++$a = 10; say $a; |
| 06:24 |
|
p6eval |
rakudo 92508d: OUTPUT«10» |
| 06:31 |
|
pugssvn |
r30655 | lwall++ | [STD] properly diagnose typename between routine declarator and sub name |
| 06:40 |
|
JimmyZ |
nqp: my $a :=1; ++$a; |
| 06:40 |
|
p6eval |
nqp: ( no output ) |
| 06:40 |
|
JimmyZ |
nqp: my $a :=1; $a++; |
| 06:40 |
|
p6eval |
nqp: ( no output ) |
| 06:42 |
|
JimmyZ |
Where can I report NQP-rx bug? |
| 06:48 |
|
|
orafu joined #perl6 |
| 06:48 |
|
sorear |
JimmyZ: it's still using the parrot tracket |
| 06:48 |
|
sorear |
JimmyZ: also, a lot of things that look like bugs in nqp aren't |
| 06:49 |
|
sorear |
nqp has a lot of the teco-nature - not really designed to be used by the public, so it's got a *lot* of rough edges, but it's simple and works well |
| 06:50 |
|
TimToady |
std: sub Str foo () { }; |
| 06:50 |
|
|
{shade} joined #perl6 |
| 06:50 |
|
p6eval |
std 30654: OUTPUT«===[0mSORRY!===[0mMalformed block at /tmp/HYebboMO6N line 1:------> sub Str ⏏foo () { }; expecting any of: block routine_def traitParse failedFAILED 00:01 113m» |
| 06:51 |
|
sorear |
JimmyZ: what's the nqp bug here? |
| 06:52 |
|
sorear |
constants aren't. FORTRAN lives on |
| 06:52 |
|
JimmyZ |
nqp: my $a :=1; ++++$a; |
| 06:52 |
|
p6eval |
nqp: OUTPUT«The opcode 'inc' (inc<0>) was not found. Check the type and number of the argumentscurrent instr.: 'parrot;PCT;HLLCompiler;evalpmc' pc 987 (compilers/pct/src/PCT/HLLCompiler.pir:542)» |
| 06:54 |
|
JimmyZ |
nqp: my $a := 1; $a++++; say($a) |
| 06:54 |
|
p6eval |
nqp: OUTPUT«2» |
| 06:54 |
|
JimmyZ |
rakudo: my $a = 1; $a++++; say($a) |
| 06:54 |
|
p6eval |
rakudo 92508d: OUTPUT«Cannot assign to readonly valuecurrent instr.: '&die' pc 17864 (src/builtins/Junction.pir:393)» |
| 06:55 |
|
JimmyZ |
sorear: mutil prefix or postfix ++/-- is wrong both in rakudo and nqp |
| 07:04 |
|
sorear |
mutil? |
| 07:04 |
|
TimToady |
std: sub Str foo () { }; |
| 07:04 |
|
p6eval |
std 30655: OUTPUT«===[0mSORRY!===[0mReturn type Str is not allowed between 'sub' and 'foo'; please put it: after the (missing) scope declarator but before the 'sub', within the signature following the '-->' marker, or as the argument of a 'returns' trait after the signature. at |
| 07:04 |
|
p6eval |
../t… |
| 07:05 |
|
JimmyZ |
rakudo: my $a = 1; ++++$a; say($a); # sorear: something like this |
| 07:05 |
|
p6eval |
rakudo 92508d: OUTPUT«3» |
| 07:06 |
|
JimmyZ |
multi |
| 07:06 |
|
sorear |
I am not so sure; TimToady, is that a lvalue? |
| 07:07 |
|
TimToady |
++$a is an lvalue |
| 07:08 |
|
TimToady |
std: our multi Str foo () { }; |
| 07:08 |
|
p6eval |
std 30655: OUTPUT«===[0mSORRY!===[0mReturn type Str is not allowed between 'multi' and 'foo'; please put it: after the 'our' but before the 'multi', within the signature following the '-->' marker, or as the argument of a 'returns' trait after the signature. at /tmp/GLMKMrzc4s |
| 07:08 |
|
p6eval |
..lin… |
| 07:38 |
|
|
molaf joined #perl6 |
| 07:46 |
|
|
nadim_ joined #perl6 |
| 07:48 |
|
|
meppl joined #perl6 |
| 08:01 |
|
sorear |
Would anyone kill me if I used UTF-8 line drawing characters in the output of --concise? |
| 08:12 |
|
Gothmog_ |
depends on the locale, i assume ;) |
| 08:18 |
|
|
mberends joined #perl6 |
| 08:19 |
|
|
iblechbot joined #perl6 |
| 08:28 |
|
|
Su-Shee joined #perl6 |
| 08:29 |
|
|
kel_ joined #perl6 |
| 08:39 |
|
sorear |
TimToady: $node->{"."} is a statementlist object? WTF? |
| 08:39 |
|
sorear |
I thought you said it was an array |
| 08:39 |
|
sorear |
I'm completely confused |
| 08:41 |
|
|
snarkyboojum_ joined #perl6 |
| 08:43 |
|
|
XaeroOne joined #perl6 |
| 08:43 |
|
sorear |
oh, I think I see |
| 08:43 |
|
sorear |
"." is all children (array if needed) |
| 08:43 |
|
sorear |
"foo" is all foo children (array if needed) |
| 08:45 |
|
moritz_ |
good morning |
| 08:45 |
|
phenny |
moritz_: 03:52Z <JimmyZ> tell moritz_ I sent a patch to RT #75114: Can't augment class Int |
| 08:51 |
|
|
Gothmog_ joined #perl6 |
| 08:54 |
|
isBEKaml |
hello moritz_ |
| 08:55 |
|
moritz_ |
oh hai |
| 08:57 |
|
|
k23z__ joined #perl6 |
| 08:59 |
|
* moritz_ |
updated u4x.perl6.org |
| 09:00 |
|
* JimmyZ |
couldn't open it |
| 09:00 |
|
Su-Shee |
"Forbidden" |
| 09:02 |
|
isBEKaml |
moritz_: no index file? |
| 09:04 |
|
isBEKaml |
moritz_: I noticed a small typo in render.pl just now. :21 s/pt/pts/ |
| 09:04 |
|
isBEKaml |
this won't copy the style.css to output directory |
| 09:05 |
|
* sorear |
is loving 'use warnings FATAL => 'all'; use Carp::Always' |
| 09:06 |
|
moritz_ |
isBEKaml: just noticed that, and fixed locally |
| 09:06 |
|
pugssvn |
r30656 | moritz++ | [u4x] correct path, warn if copy failed |
| 09:07 |
|
Su-Shee |
I've just read the single most mean spirited, angry blog posting ever. luckily, it's not the perl community. ;) |
| 09:08 |
|
JimmyZ |
I cou |
| 09:08 |
|
moritz_ |
http://u4x.perl6.org/control-flow.html |
| 09:08 |
|
Su-Shee |
(we're so well off even with all the tension between 5 & 6... -> http://deepinanime.blogspot.co[…]iginal-copy.html) |
| 09:08 |
|
Su-Shee |
moritz_: works. |
| 09:09 |
|
Su-Shee |
moritz_: displays content. words can be read. code can be seen. |
| 09:12 |
|
isBEKaml |
moritz_: once this is all done, you can add the TPF message or licence notices at the bottom. I have left it off for the end, with a temporary place holder in green at the bottom. :) |
| 09:14 |
|
moritz_ |
isBEKaml: can I put HTML into that message? |
| 09:14 |
|
|
skangas joined #perl6 |
| 09:14 |
|
isBEKaml |
moritz_: I think not. You can add the message in style.css. body:after |
| 09:19 |
|
moritz_ |
isBEKaml++ |
| 09:19 |
|
pugssvn |
r30657 | moritz++ | [u4x] license notice |
| 09:19 |
|
pugssvn |
r30658 | moritz++ | [u4x] rename scripts/ to web/ |
| 09:23 |
|
isBEKaml |
moritz_: This is only the first cut. we still have some way to go. :) |
| 09:23 |
|
sorear |
It turns out that writing a good pretty printer for VAST is Harder Than It Sounds. |
| 09:26 |
|
mberends |
heh |
| 09:28 |
|
moritz_ |
mberends++ # nice blog post about Rakudo performance measuring |
| 09:28 |
|
sorear |
is planet dead? |
| 09:28 |
|
sorear |
it thinks there's been nothing new in 5 days |
| 09:34 |
|
isBEKaml |
moritz_: have you found out a way out of =begin|end tags in p6 pods? |
| 09:35 |
|
sorear |
abbreviated blocks? |
| 09:36 |
|
moritz_ |
isBEKaml: wanted to wait for feedback from masak++ before I remove them |
| 09:36 |
|
moritz_ |
sorear: maybe just no new blog entry - that happens |
| 09:36 |
|
sorear |
moritz_: where is mberends' blog and why isn't it on the planet? |
| 09:38 |
|
moritz_ |
http://blogs.perl.org/users/ma[…]-performance.html |
| 09:38 |
|
isBEKaml |
moritz_: ok. Fixing up a minor typo and removing unnecessary style then. |
| 09:39 |
|
pugssvn |
r30659 | svatsan++ | Fixed minor typo and clean up style |
| 09:39 |
|
moritz_ |
mberends: I think you should divide the tags on your post with a comma |
| 09:40 |
|
moritz_ |
mberends: otherwise movable type thinks it's one tag 'perl6 rakudo' |
| 09:43 |
|
mberends |
will do, thanks moritz_ |
| 09:45 |
|
mberends |
.oO( also got some ideas about how to add some aggregate stats to the bottom the JSON layout ) |
| 09:45 |
|
|
xinming joined #perl6 |
| 09:46 |
|
moritz_ |
sorear: it seems that blogs.perl.org doesn't offer a feed by tag, so it's not easy for planetsix to import all 'perl6' tagged posts |
| 10:15 |
|
|
mikehh joined #perl6 |
| 10:22 |
|
pugssvn |
r30660 | sorear++ | Draft of a concise printer for VAST. The code is awful and it has memory |
| 10:22 |
|
pugssvn |
r30660 | issues on large inputs, but it works and the output *is* about 50% shorter. |
| 10:22 |
|
pugssvn |
r30660 | It could be improved a good amount with feedback on what AST attributes are |
| 10:22 |
|
pugssvn |
r30660 | actually unneccessary. |
| 10:23 |
|
moritz_ |
sorear, isBEKaml: it would be nice if you started commit messages to the pugs repo with a short [foo] marker so that people know what subsystem you're committing to |
| 10:24 |
|
sorear |
ok |
| 10:24 |
|
moritz_ |
in that case [viv] or so |
| 10:24 |
|
isBEKaml |
ok |
| 10:33 |
|
sorear |
after 10 minutes and 900 MB (but very good cache behavior - average CPU was 80%), ./viv -c STD.pm6 finished |
| 10:33 |
|
sorear |
producing 600,000 lines of output |
| 10:34 |
|
* sorear |
sees how to turn it into a streaming algorithm, which will help, but isn't important |
| 10:35 |
|
sorear |
the only reason you'd feed STD.pm6 into viv, other than stress testing, is to convert it into some machine-usable format |
| 10:36 |
|
sorear |
moritz_: who runs the perl6.org webserver? |
| 10:36 |
|
sjohnson |
sorear: i think Su-Shee does |
| 10:41 |
|
|
pmurias joined #perl6 |
| 10:54 |
|
|
JimmyZ joined #perl6 |
| 10:58 |
|
* moritz_ |
|
| 11:01 |
|
moritz_ |
sorear: anything you want to put up on perl6.org? |
| 11:07 |
|
|
kaare joined #perl6 |
| 11:15 |
|
|
yahooooo joined #perl6 |
| 11:17 |
|
|
iblechbot joined #perl6 |
| 11:18 |
|
|
Nathariel joined #perl6 |
| 11:25 |
|
Su-Shee |
sjohnson: no, I don't. |
| 11:34 |
|
|
wknight8111 joined #perl6 |
| 11:35 |
|
|
uniejo joined #perl6 |
| 11:36 |
|
colomon |
what can we do with enums at the moment? |
| 11:37 |
|
* colomon |
is looking at the enum Order and wondering... |
| 11:43 |
|
colomon |
enum Order (Increase => -1, Same => 0, Decrease => 1); say +Order::Increase |
| 11:43 |
|
colomon |
rakudo: enum Order (Increase => -1, Same => 0, Decrease => 1); say +Order::Increase |
| 11:43 |
|
p6eval |
rakudo 92508d: OUTPUT«Can not find sub Order::Increasecurrent instr.: 'perl6;Perl6Exception;throw' pc 15350 (src/builtins/Associative.pir:46)» |
| 11:43 |
|
colomon |
rakudo: enum Order (Increase => -1, Same => 0, Decrease => 1); say +Order::Increase |
| 11:43 |
|
p6eval |
rakudo 92508d: OUTPUT«Can not find sub Order::Increasecurrent instr.: 'perl6;Perl6Exception;throw' pc 15350 (src/builtins/Associative.pir:46)» |
| 11:43 |
|
colomon |
rakudo: enum Order (Increase => -1, Same => 0, Decrease => 1); enum Order (Increase => -1, Same => 0, Decrease => 1); say +Order::Increase |
| 11:43 |
|
p6eval |
rakudo 92508d: OUTPUT«Contextual $*PKGDECL not foundcurrent instr.: 'perl6;Perl6;Grammar;add_my_name' pc 42458 (src/gen/perl6-grammar.pir:131)» |
| 11:44 |
|
* colomon |
is very confused. |
| 11:44 |
|
colomon |
locally, I get an error the first time I try that in the REPL, then it works.... |
| 11:48 |
|
colomon |
and if I put it in Cool-str.pm, I get "Could not find sub !YOU_ARE_HERE" |
| 11:48 |
|
moritz_ |
rakudo: enum A <b c d>; say c; say A::c |
| 11:48 |
|
p6eval |
rakudo 92508d: OUTPUT«1Can not find sub A::ccurrent instr.: 'perl6;Perl6Exception;throw' pc 15350 (src/builtins/Associative.pir:46)» |
| 11:48 |
|
moritz_ |
the fully quallified form is NYI in rakudo |
| 11:49 |
|
colomon |
fully qualified? |
| 11:49 |
|
moritz_ |
A::c vs. just c |
| 11:49 |
|
colomon |
> enum Order (Increase => -1, Same => 0, Decrease => 1); say +Order::Increase |
| 11:49 |
|
colomon |
-1 |
| 11:49 |
|
colomon |
that's local, with stock Rakudo. |
| 11:50 |
|
colomon |
and let me emphasize that I get the YOU_ARE_HERE error just defining Order, I took away all uses of it and it still happens. |
| 11:51 |
|
sjohnson |
Su-Shee: oops :[ |
| 11:51 |
|
colomon |
actually, here's a fresh full REPL run: |
| 11:51 |
|
colomon |
> enum Order (Increase => -1, Same => 0, Decrease => 1); say +Order::Increase |
| 11:51 |
|
colomon |
Can not find sub Order::Increase |
| 11:51 |
|
colomon |
> enum Order (Increase => -1, Same => 0, Decrease => 1); say +Order::Increase |
| 11:51 |
|
colomon |
-1 |
| 11:51 |
|
colomon |
notice the two input lines are exactly the same. |
| 11:51 |
|
colomon |
afk # must make pancakes for wife |
| 11:52 |
|
moritz_ |
you don't even need to define the enum the second time |
| 11:54 |
|
|
k23z__ joined #perl6 |
| 11:55 |
|
|
k23z__ joined #perl6 |
| 12:12 |
|
colomon |
moritz_++ # good call on defining. |
| 12:13 |
|
moritz_ |
I CAN HAZ A PATCH |
| 12:13 |
|
moritz_ |
I'm just not sure if it's a good one |
| 12:18 |
|
lisppaste3 |
moritz_ pasted "Enum patch for colomon++" at http://paste.lisp.org/display/99301 |
| 12:18 |
|
moritz_ |
colomon: please try if this makes any difference for you defining an enum in the setting |
| 12:18 |
|
moritz_ |
you can apply it with git am $filename |
| 12:26 |
|
colomon |
back now |
| 12:33 |
|
moritz_ |
it's kind of a shot in the dark, no idea if it's the right thing to do |
| 12:35 |
|
|
Nathariel left #perl6 |
| 12:42 |
|
colomon |
> enum Order (Increase => -1, Same => 0, Decrease => 1); say +Order::Increase |
| 12:42 |
|
colomon |
-1 |
| 12:42 |
|
colomon |
seems to work from REPL, which I'm guessing you already knew. |
| 12:43 |
|
moritz_ |
yes |
| 12:43 |
|
colomon |
(sorry, got distracted trying to figure out how to record a Newfoundland radio show tonight. Radioshift++) |
| 12:43 |
|
moritz_ |
no problem |
| 12:44 |
|
colomon |
still get the Could not find sub !YOU_ARE_HERE error when I add the enum to the setting. |
| 12:44 |
|
colomon |
maybe it should be "our"? |
| 12:44 |
|
moritz_ |
it's "our" by default |
| 12:44 |
|
colomon |
I'm thinking we should push you patch anyway, if it passes spectest -- it definitely seems to be an improvement. |
| 12:45 |
|
colomon |
"our" does not help. |
| 12:45 |
|
colomon |
any other notions? |
| 12:49 |
|
* moritz_ |
takes a hard look at the enum code |
| 12:49 |
|
colomon |
my $result := (pir::find_sub_not_null__ps('!YOU_ARE_HERE'))($compiled); |
| 12:49 |
|
colomon |
seems likely to be the line generating the error. |
| 12:49 |
|
moritz_ |
where is sub !YOU_ARE_HERE defined? |
| 12:50 |
|
moritz_ |
not... in the setting maybe? |
| 12:50 |
|
colomon |
YOU_ARE_HERE.pm |
| 12:50 |
|
moritz_ |
no wonder it can't be found |
| 12:50 |
|
colomon |
it's at the very end of core, isn't it? |
| 12:50 |
|
moritz_ |
right |
| 12:50 |
|
moritz_ |
and the problem is ... |
| 12:51 |
|
moritz_ |
if I understand correctly, that line executes the enum body in the context of the setting |
| 12:51 |
|
moritz_ |
so |
| 12:51 |
|
moritz_ |
by definition, an enum in the setting isn't going to work |
| 12:52 |
|
moritz_ |
possible solution: do an ordinarly lookup of !YOU_ARE_HERE |
| 12:52 |
|
moritz_ |
if it succeeds, we're in "ordinary" compilation phase |
| 12:53 |
|
moritz_ |
if not, we're in the setting, and need to not use YOU_ARE_HERE |
| 12:53 |
|
colomon |
sounds reasonable, I guess. |
| 12:53 |
|
colomon |
I'm fuzzy on why YOU_ARE_HERE is involved at all in the first place. |
| 12:54 |
|
moritz_ |
iiuc, it's the sub that executes code in the context of the setting |
| 12:55 |
|
colomon |
so the point (here) is to execute $compiled in the context of the setting? |
| 12:56 |
|
colomon |
and if we're in the setting, we want to execute it in the context of.... ? |
| 12:56 |
|
moritz_ |
of the stage0 compiler |
| 12:57 |
|
moritz_ |
ie just run it |
| 12:57 |
|
moritz_ |
and don't have any access to the rest of the setting |
| 12:58 |
|
colomon |
do you have an idea how to code that? |
| 12:59 |
|
moritz_ |
I'm trying, but I'm getting "rtype not set" errors |
| 12:59 |
|
colomon |
can you paste your code? |
| 12:59 |
|
moritz_ |
just a sec... |
| 13:00 |
|
moritz_ |
colomon: http://nopaste.snit.ch/20569 |
| 13:01 |
|
moritz_ |
ah |
| 13:01 |
|
* moritz_ |
stupid |
| 13:01 |
|
moritz_ |
I should actually use a named enum |
| 13:01 |
|
colomon |
? |
| 13:02 |
|
moritz_ |
+my %h = enum (Increase => -1, Same => 0, Decrease => 1); |
| 13:02 |
|
moritz_ |
that's an anonymous enum |
| 13:02 |
|
colomon |
which is a different section of code, yes? |
| 13:02 |
|
moritz_ |
yes |
| 13:02 |
|
moritz_ |
Actions.pm around line 1364, if $<name> { ... } |
| 13:03 |
|
moritz_ |
need to make lunch now, will try to get back hacking after that |
| 13:11 |
|
|
orafu joined #perl6 |
| 13:34 |
|
|
XaeroOne joined #perl6 |
| 13:42 |
|
moritz_ |
rakudo: Q:PIR { get_hll_global('YOU_ARE_HERE') } |
| 13:42 |
|
p6eval |
rakudo 92508d: OUTPUT«The opcode 'get_hll_global' (get_hll_global<0>) was not found. Check the type and number of the argumentscurrent instr.: 'perl6;PCT;HLLCompiler;evalpmc' pc 987 (compilers/pct/src/PCT/HLLCompiler.pir:542)» |
| 13:43 |
|
moritz_ |
rakudo: my $s = Q:PIR { %r = get_hll_global 'YOU_ARE_HERE' }; $s({ say "OH HAI" }) |
| 13:43 |
|
p6eval |
rakudo 92508d: OUTPUT«Null PMC access in can()current instr.: '&infix:<=>' pc 17523 (src/builtins/Junction.pir:205)» |
| 13:43 |
|
moritz_ |
rakudo: my $s = Q:PIR { %r = get_hll_global '!YOU_ARE_HERE' }; $s({ say "OH HAI" }) |
| 13:43 |
|
p6eval |
rakudo 92508d: OUTPUT«Method 'set_outer' not found for invocant of class 'Block'current instr.: '!YOU_ARE_HERE' pc 378031 (src/gen/core.pir:29492)» |
| 13:43 |
|
moritz_ |
rakudo: my $s = Q:PIR { %r = get_hll_global '!YOU_ARE_HERE' }; say "alive"; $s({ say "OH HAI" }) |
| 13:43 |
|
p6eval |
rakudo 92508d: OUTPUT«aliveMethod 'set_outer' not found for invocant of class 'Block'current instr.: '!YOU_ARE_HERE' pc 378031 (src/gen/core.pir:29492)» |
| 13:44 |
|
|
snarkyboojum joined #perl6 |
| 13:44 |
|
colomon |
moritz_: how can __p work as pir? |
| 13:44 |
|
colomon |
rtype is return type, maybe? |
| 13:45 |
|
moritz_ |
I think "rtype not set" means I've tried to bind/assign to somthing that's not an rvalue |
| 13:45 |
|
moritz_ |
erm |
| 13:45 |
|
moritz_ |
not an lvalue |
| 13:45 |
|
moritz_ |
or something |
| 13:45 |
|
moritz_ |
no |
| 13:46 |
|
colomon |
isnull__p takes what and returns what? |
| 13:46 |
|
moritz_ |
oh |
| 13:47 |
|
moritz_ |
shouldbe just isnull() |
| 13:47 |
|
moritz_ |
and find_sub seems to wrong |
| 13:47 |
|
moritz_ |
I'm using get_hll_global now |
| 13:48 |
|
slavik |
I figured out reflection in java ... |
| 13:51 |
|
moritz_ |
colomon: we're in for trouble... |
| 13:52 |
|
moritz_ |
colomon: I've kinda made my patch work... except that prefix:<-> and Pair.value are defined in the setting |
| 13:53 |
|
moritz_ |
colomon: so there's no way to execute the enum outside the context of the setting :( |
| 13:53 |
|
pugssvn |
r30661 | svatsan++ | [u4x] Added more styles towards u4x.perl6.org |
| 13:53 |
|
colomon |
oh, noes. |
| 13:54 |
|
moritz_ |
well |
| 13:54 |
|
moritz_ |
we could work around that |
| 13:54 |
|
moritz_ |
with getattribute |
| 13:55 |
|
colomon |
afk for a few, but keep typing, I'll be back soon... |
| 13:56 |
|
isBEKaml |
hi slavik |
| 14:02 |
|
|
pmurias joined #perl6 |
| 14:02 |
|
|
rv2733 joined #perl6 |
| 14:05 |
|
snarkyboojum |
how do you do a negated character class in Perl 6? |
| 14:06 |
|
colomon |
moritz_: did you mean prefix:<~> and Pair.key? |
| 14:06 |
|
colomon |
or am I not seeing somewhere the code is being used? |
| 14:06 |
|
colomon |
(or is that => -1 that is the problem?- |
| 14:06 |
|
colomon |
) |
| 14:07 |
|
snarkyboojum |
something like <-[blah]> ? |
| 14:08 |
|
colomon |
yes |
| 14:08 |
|
colomon |
(he says after a quick spec search...) |
| 14:09 |
|
snarkyboojum |
colomon: thanks - maybe my eyes are too blurry, but I couldn't find it clearly in the spec :| |
| 14:09 |
|
colomon |
"A leading - indicates a complemented character class" |
| 14:09 |
|
colomon |
example is <-[a..z_]> |
| 14:10 |
|
snarkyboojum |
colomon: doh, and then the tests show the way :) cheers. |
| 14:10 |
|
colomon |
you had it right in the first place, you just didn't know you did.... :) |
| 14:10 |
|
snarkyboojum |
colomon: must be something else I'm doing then :) |
| 14:11 |
|
slavik |
hi isBEKaml |
| 14:12 |
|
slavik |
perl's reflection > java's reflection |
| 14:13 |
|
isBEKaml |
slavik: don't know. never tried perl's reflection, perl6' is more intuitive imo :) |
| 14:13 |
|
slavik |
haven't tried that :P what does it look like? |
| 14:13 |
|
slavik |
in Perl, they are just hashes ;) |
| 14:13 |
|
isBEKaml |
slavik: object.WHAT, .HOW, .WHERE and so on.. :) |
| 14:14 |
|
isBEKaml |
slavik: oh, you're referring to dispatch tables?? I never thought of them as reflection, specifically. |
| 14:14 |
|
slavik |
aren't they part of reflection? as in: load this thing, find out what methods it has, call one of them. |
| 14:15 |
|
isBEKaml |
slavik: that's the .HOW |
| 14:17 |
|
isBEKaml |
slavik: if my reading of the spec is right, (S02?), it says that every class has a way of returning a metaclass instance that gives information about the class. |
| 14:17 |
|
isBEKaml |
rakudo: say Str.HOW.methods(Str); |
| 14:17 |
|
p6eval |
rakudo 92508d: |
| 14:17 |
|
p6eval |
..OUTPUT«IntpredlBoolsuccNumWHICHperlsStrACCEPTSdefroundsqrtasinsplitcoshexpmatchacoshwordssigncotanatan2lcfirstseccislogsamecasesprintfcapitalizesinflipp5choplcsubstacosechacotanabschompindexceilingcotanhunpolarcombtrim-trailingatanordacosevalchoptanhatanhcoseccharsrootsucucfirsttansubstrl… |
| 14:18 |
|
slavik |
ooh, nice |
| 14:19 |
|
isBEKaml |
slavik: Still, p5's got it a lot simpler than java and p6 just made it more intuitive. |
| 14:20 |
|
slavik |
I def agree :) |
| 14:23 |
|
snarkyboojum |
or you can do a shortcut |
| 14:24 |
|
snarkyboojum |
rakudo: say Str.^methods |
| 14:24 |
|
p6eval |
rakudo 92508d: |
| 14:24 |
|
p6eval |
..OUTPUT«StrACCEPTSdefpredIntlBoolsuccNumsWHICHperlrootsucfirstsamecasetanlog10coscapitalizebytesfmtflipp5choplcasinhNumericacotanchrcotanhacotanhcombfloorasechatanacosroundevalchoptanhsplitexpmatchacoshwordscotanatan2lcfirstucseccislogsubstrsprintfsinacosecsubstsinhcosechacosechabschompind… |
| 14:24 |
|
isBEKaml |
snarkyboojum++ |
| 14:24 |
|
isBEKaml |
I didn't know that... |
| 14:25 |
|
snarkyboojum |
read it in one of jnthn++'s blog posts |
| 14:25 |
|
isBEKaml |
link? |
| 14:25 |
|
snarkyboojum |
rakudo: say Str.^methods(:local) |
| 14:25 |
|
p6eval |
rakudo 92508d: OUTPUT«WHICHperlsStrACCEPTSdefpredIntlBoolsuccNum» |
| 14:26 |
|
snarkyboojum |
isBEKaml: will try and find it |
| 14:27 |
|
moritz_ |
http://use.perl.org/~JonathanWorthington/journal/ somewhere there |
| 14:28 |
|
snarkyboojum |
isBEKaml: http://use.perl.org/~JonathanW[…]ton/journal/39455 |
| 14:28 |
|
|
rgrau joined #perl6 |
| 14:28 |
|
isBEKaml |
snarkyboojum: danke! :) |
| 14:29 |
|
moritz_ |
colomon: noway - enums are of type EnumMap, and that's defined in the setting |
| 14:29 |
|
snarkyboojum |
isBEKaml: welcome! |
| 14:29 |
|
colomon |
bother |
| 14:29 |
|
colomon |
seems like a major issue there.... |
| 14:29 |
|
moritz_ |
colomon: so... either rewrite EnumMap in PIR |
| 14:29 |
|
moritz_ |
or we need a two-stage setting |
| 14:30 |
|
moritz_ |
or something entirely more clever |
| 14:30 |
|
moritz_ |
rewriting EnumMap in PIR doesn't look that hard |
| 14:32 |
|
moritz_ |
either way, I'd like to talk to pmichaud|jnthn first |
| 14:33 |
|
dalek |
rakudo: 32150d5 | (Martin Berends)++ | src/Perl6/Module/Loader.pm: |
| 14:33 |
|
dalek |
rakudo: [Perl6/Module/Loader.pm] when a 'use' or 'need' cannot find a module, just say |
| 14:33 |
|
dalek |
rakudo: so and exit with doing an unnecessary stack trace. |
| 14:33 |
|
dalek |
rakudo: review: http://github.com/rakudo/rakud[…]3a9880a69eed10ef9 |
| 14:33 |
|
|
JimmyZ joined #perl6 |
| 14:34 |
|
lisppaste3 |
moritz_ pasted "enums in the setting - I got so far only" at http://paste.lisp.org/display/99307 |
| 14:34 |
|
moritz_ |
colomon: current state as a patch |
| 14:35 |
|
pmichaud |
good morning, #perl6 |
| 14:35 |
|
moritz_ |
good morning pmichaud |
| 14:36 |
|
mberends |
hello pmichaud |
| 14:36 |
|
|
kfo_ joined #perl6 |
| 14:41 |
|
sorear |
hello pmichaud |
| 14:41 |
|
sorear |
moritz_: Properly syntax-highlighted versions of STD.pm6 and the spectests |
| 14:42 |
|
moritz_ |
sorear: so, what do you need? an account on the box? |
| 14:43 |
|
sorear |
moritz_: Not sure. I was thinking I could, maybe, get away with power of suggestion + fixing the syntax highlighter |
| 14:43 |
|
moritz_ |
sorear: I prefer actions to suggestions :-) |
| 14:44 |
|
moritz_ |
I'm running far too much for the Perl 6 infrastructure alone, and would welcome anybody to take up responsibility for some corners |
| 14:46 |
|
sorear |
well, then, sure, an account on the box would be a fine solution. what other responsibilities on the box do you need releived? |
| 14:47 |
|
moritz_ |
install a security update now and then (Debian) |
| 14:47 |
|
moritz_ |
add a virtual host when somebody needs it |
| 14:51 |
|
moritz_ |
sorear: welcome to feather2; most web stuff runs under my user account currently, so feel free to do sudo su - moritz |
| 14:51 |
|
moritz_ |
sorear: I plan to migrate each web presence to a separate UNIX user though |
| 14:52 |
|
moritz_ |
so one for perl6.org, one for proto.perl6.org etc. |
| 14:55 |
|
|
plobsing joined #perl6 |
| 14:56 |
|
sorear |
I don't know why, but there's something very pleasing about having ps -e fit on one screen |
| 14:58 |
|
colomon |
moritz_: sorry to disappear on you there, was watching a video with my boy, and didn't have the second screen hooked up to the laptop. |
| 14:58 |
|
sorear |
woah, only 1.2GB used? |
| 14:58 |
|
sorear |
moritz_: do you have any tips for setting up small system images? |
| 14:58 |
|
colomon |
moritz_: do you think that patch is worthwhile, or a dead end? |
| 14:58 |
|
sorear |
the FreeBSD 7 image I'm using for portability testing is a manual "minimum full development system" and it's >4G |
| 14:58 |
|
moritz_ |
colomon: that depends on the way forward... converting EnumMap to PIR *might* be a viable option |
| 14:59 |
|
moritz_ |
sorear: something like grml? or DamnSmallLinux? |
| 14:59 |
|
moritz_ |
sorear: but I don't really know... I avoid sysadmin tasks if possible :-) |
| 15:00 |
|
|
masonkramer joined #perl6 |
| 15:09 |
|
|
justatheory joined #perl6 |
| 15:13 |
|
sorear |
pmichaud: any updates on topic/lexical-persistence-2? |
| 15:14 |
|
pmichaud |
sorear: still catching up on other backlogged items, sorry |
| 15:14 |
|
sorear |
no problem |
| 15:14 |
|
pmichaud |
I have another task you could potentially work on, since you're a bit familiar with HLL::Compiler now... :-) |
| 15:14 |
|
|
rgrau joined #perl6 |
| 15:15 |
|
pmichaud |
I'd really like to see --target=pbc work. |
| 15:18 |
|
pmichaud |
according to jnthn++, all we really have to do is print the resulting Eval PMC object to a file. |
| 15:18 |
|
pmichaud |
the only "tricky" part is getting 'pbc' into the targets list properly |
| 15:18 |
|
pmichaud |
(and it's not really that tricky) |
| 15:18 |
|
sorear |
I think I could pull that off |
| 15:18 |
|
sorear |
It would involve making stages something more than a simple list |
| 15:18 |
|
sorear |
more of a DAG |
| 15:19 |
|
pmichaud |
well, it's often been my intention that stages should be a dag |
| 15:19 |
|
pmichaud |
just never got around to it |
| 15:19 |
|
sorear |
actually, a tree - a stage can't have >1 predeccessor |
| 15:19 |
|
pmichaud |
oh, I suspect it could |
| 15:20 |
|
pmichaud |
but I'm not necessarily asking for a long solution in this case, I'd be willing to live with a shortcut :-) |
| 15:20 |
|
pmichaud |
we could do it with the existing linear stage by just adding a 'pbc' stage and having it do nothing if target != 'pbc' |
| 15:21 |
|
pmichaud |
there's also a fair bit of leeway for changes here -- the PCT staging mechanism is already deprecated in Parrot so that we can change it as needed |
| 15:21 |
|
pmichaud |
(indeed, I deprecated it precisely because I wanted to do something a bit different) |
| 15:22 |
|
sorear |
I'll have to fix my code that relies on it then |
| 15:22 |
|
pmichaud |
anyway, we could simplify a lot of build scripts if --target=pbc were added somehow |
| 15:22 |
|
pmichaud |
and that's a project I'm not likely to get to anytime soon, myself |
| 15:25 |
|
moritz_ |
pmichaud: how are context sensitive PAST nodes coming? |
| 15:26 |
|
sorear |
pmichaud: Why does PCT::HLLCompiler bail in a test harness? |
| 15:26 |
|
sorear |
Also, it doesn't work. prove -e parrot-nqp works fie. |
| 15:27 |
|
cognominal |
hi, what is environmenet variable specifying where to search PBCs in parrot? |
| 15:27 |
|
sorear |
LD_LIBRARY_PATH |
| 15:27 |
|
sorear |
erm |
| 15:27 |
|
sorear |
probably not |
| 15:28 |
|
cognominal |
will try it |
| 15:28 |
|
pmichaud |
sorear: I don't understand "bail in a test harness" |
| 15:29 |
|
pmichaud |
cognominal: I'm not sure that there is an environment variable for searching PBCs. |
| 15:29 |
|
pmichaud |
there is an option to parrot for it, however. |
| 15:29 |
|
sorear |
pmichaud: PCT/HLLCompilir.pir +806 |
| 15:29 |
|
cognominal |
that's ok |
| 15:29 |
|
pmichaud |
moritz_: I'm just blocking on time -- few things going on around the house. I also have to figure out what to call the nodes. PAST::??? |
| 15:30 |
|
moritz_ |
ContextCond? |
| 15:31 |
|
pmichaud |
sorear: oh, *that* |
| 15:31 |
|
dalek |
nqp-rx: 4e9b9f4 | pmichaud++ | build/gen_setting.pl: |
| 15:31 |
|
dalek |
nqp-rx: Add "#! nqp" marker and generation note to beginning of nqp-setting.nqp . |
| 15:31 |
|
dalek |
nqp-rx: review: http://github.com/perl6/nqp-rx[…]f6f59a842d9365755 |
| 15:31 |
|
dalek |
nqp-rx: e76a952 | pmichaud++ | build/Makefile.in: |
| 15:31 |
|
dalek |
nqp-rx: Rename nqp-setting.pm to nqp-setting.nqp . |
| 15:31 |
|
dalek |
nqp-rx: review: http://github.com/perl6/nqp-rx[…]3bde7b54fdfc46ef9 |
| 15:31 |
|
dalek |
nqp-rx: 3397f77 | pmichaud++ | src/stage0/ (4 files): |
| 15:31 |
|
dalek |
nqp-rx: Update bootstrap. |
| 15:31 |
|
dalek |
nqp-rx: review: http://github.com/perl6/nqp-rx[…]3bf9d9921c77688e8 |
| 15:31 |
|
dalek |
nqp-rx: 44e68e4 | pmichaud++ | (2 files): |
| 15:31 |
|
dalek |
nqp-rx: More cleaning up for nqp-setting.pm -> nqp-setting.nqp . |
| 15:31 |
|
dalek |
nqp-rx: review: http://github.com/perl6/nqp-rx[…]4b7d2d9095f5e5f3c |
| 15:31 |
|
dalek |
nqp-rx: 136d1b6 | pmichaud++ | src/stage0/ (3 files): |
| 15:31 |
|
dalek |
nqp-rx: Update bootstrap. |
| 15:31 |
|
dalek |
nqp-rx: review: http://github.com/perl6/nqp-rx[…]0c5dc4f7afd03a6be |
| 15:31 |
|
pugssvn |
r30662 | svatsan++ | [u4x docs] Clean up [code] style and remove new line trouble in glossary |
| 15:32 |
|
pmichaud |
earlier versions of p5's Test::Harness (i.e., 2.64) have this nasty habit of always passing a command line option to the underlying program to set @INC |
| 15:32 |
|
isBEKaml |
moritz_: I have added necessary styles. Please try that out and let me know if you need more. I'm open to suggestions. :) |
| 15:32 |
|
pmichaud |
and, of course, the hll programs have no clue what to do with that option |
| 15:33 |
|
pmichaud |
(because these other languages don't have an @INC) |
| 15:33 |
|
pmichaud |
so, we put in the workaround to always ignore that option for now. |
| 15:33 |
|
pmichaud |
I can update the note to indicate that it's 2.64 and earlier that gives the problem |
| 15:36 |
|
moritz_ |
isBEKaml: looks nice, thanks |
| 15:37 |
|
pmichaud |
oh, I remember now. |
| 15:38 |
|
pmichaud |
Test::Harness wanted to know the underlying interpreter's idea of @INC, so it would run the interpreter once asking for @INC before it actually ran the test script. |
| 15:38 |
|
pmichaud |
that works if your underlying interpreter is Perl 5, but fails miserably otherwise |
| 15:44 |
|
pmichaud |
moritz_: I plan to add the context-sensitive past nodes today sometime. Have some errands to run over the next 2-3 hours, but the remainder of the day after that is open for hacking (afaik) |
| 15:45 |
|
moritz_ |
pmichaud: great. If tehre's anything I can do to help you, feel free to ask |
| 15:46 |
|
moritz_ |
(except when it's writing English that's free of spelling errors :-) |
| 15:47 |
|
pmichaud |
moritz_: there are days when I could really use some help with that aslo. |
| 15:48 |
|
moritz_ |
:-) |
| 15:50 |
|
|
agentzh joined #perl6 |
| 15:50 |
|
sorear |
3.02: - Made @INC propagation more compatible with 2.64. Was breaking Parrot's test suite. |
| 15:52 |
|
|
snarkyboojum joined #perl6 |
| 15:54 |
|
|
patrickas joined #perl6 |
| 16:00 |
|
|
japhb joined #perl6 |
| 16:01 |
|
sorear |
# Avoid using -l for the benefit of Perl 6 |
| 16:03 |
|
|
xomas_ joined #perl6 |
| 16:06 |
|
sorear |
it seems as though 'modern' versions of Test::Harness don't run the program named in -e to get @INC |
| 16:06 |
|
sorear |
I'm currently trying to quantify 'modern' |
| 16:10 |
|
|
am0c joined #perl6 |
| 16:17 |
|
moritz_ |
rakudo: say 2 !eq 2 |
| 16:17 |
|
p6eval |
rakudo 32150d: OUTPUT«0» |
| 16:17 |
|
pmichaud |
sorear: yes, but there are a few distributions out there that still come bundled with 2.64. |
| 16:17 |
|
pmichaud |
Ubuntu 9.10, for example, comes with 2.64. |
| 16:18 |
|
pmichaud |
So, I suspect it'll be a while before we can avoid the need for the workaround. |
| 16:18 |
|
pmichaud |
afk for a while, errands |
| 16:21 |
|
isBEKaml |
moritz_: I'm bad with imaging. So didn't add images into the web pages. Plus, you could still turn this fledgling stuff into this week's task. Consolidate the converted pages into a single page for navigation. Bonus points using perl. :) |
| 16:21 |
|
isBEKaml |
moritz_: I'm thinking of templating. How hard is it in perl? |
| 16:21 |
|
moritz_ |
isBEKaml: not hard at all |
| 16:22 |
|
moritz_ |
isBEKaml: http://search.cpan.org/~samtre[…]e-2.9/Template.pm that's what I've used for proto.perl6.org |
| 16:23 |
|
isBEKaml |
moritz_: wow, nice. I don't know how, the first thing that came to mind was TT. Was that for the web? |
| 16:23 |
|
moritz_ |
TT is an alternative |
| 16:23 |
|
moritz_ |
but IMHO we don't need a Turing complete templating language for something that simple |
| 16:26 |
|
isBEKaml |
moritz_: hmm, I could learn about HTML::Template and try it out locally. :) |
| 16:33 |
|
moritz_ |
rakudo: say 'aa' leg 'a' |
| 16:33 |
|
p6eval |
rakudo 32150d: OUTPUT«1» |
| 16:33 |
|
moritz_ |
rakudo: say 'a' lt 'aa' |
| 16:33 |
|
p6eval |
rakudo 32150d: OUTPUT«1» |
| 16:43 |
|
slavik |
leg? |
| 16:43 |
|
moritz_ |
less-than, equal, greater |
| 16:43 |
|
slavik |
<=> ??? |
| 16:44 |
|
moritz_ |
yes |
| 16:44 |
|
moritz_ |
but for strings |
| 16:44 |
|
slavik |
why not cmp? |
| 16:44 |
|
moritz_ |
because cmp is now a more generic comparison |
| 16:44 |
|
slavik |
oh, I see |
| 16:44 |
|
sorear |
moritz_: how do you spell the generic boolean relationals? |
| 16:45 |
|
moritz_ |
which relationals? |
| 16:45 |
|
dalek |
book: f9eeb51 | moritz++ | src/operators.pod: |
| 16:45 |
|
dalek |
book: [ops] string comparison |
| 16:45 |
|
dalek |
book: review: http://github.com/perl6/book/c[…]429c7539f26284295 |
| 16:53 |
|
patrickas |
std:'test'.match(/(\W & <-[\.]>)/); |
| 16:53 |
|
moritz_ |
std: 'test'.match(/(\W & <-[\.]>)/); |
| 16:53 |
|
p6eval |
std 30662: OUTPUT«ok 00:01 115m» |
| 16:55 |
|
patrickas |
thanks :-) |
| 16:55 |
|
patrickas |
rakudo: 'test'.match(/(\W & <-[\.]>)/); |
| 16:55 |
|
p6eval |
rakudo 32150d: OUTPUT«Unable to parse postcircumfix:sym<( )>, couldn't find final ')' at line 11current instr.: 'perl6;Regex;Cursor;FAILGOAL' pc 1696 (ext/nqp-rx/src/stage0/Regex-s0.pir:932)» |
| 16:55 |
|
moritz_ |
rakudo: / a & b/ |
| 16:55 |
|
p6eval |
rakudo 32150d: OUTPUT«Confused at line 11, near "/ a & b/"current instr.: 'perl6;HLL;Grammar;panic' pc 501 (ext/nqp-rx/src/stage0/HLL-s0.pir:327)» |
| 16:57 |
|
patrickas |
rakudo: / a \& b/ |
| 16:57 |
|
p6eval |
rakudo 32150d: ( no output ) |
| 16:57 |
|
isBEKaml |
what does the <-[\. ]> mean? not all these characters between [ ] ? |
| 16:57 |
|
moritz_ |
"any character except the dot" |
| 16:57 |
|
isBEKaml |
and the space. |
| 16:58 |
|
isBEKaml |
[^\. ] ? |
| 16:58 |
|
moritz_ |
I don't think whitespace is significant in character classes |
| 16:58 |
|
patrickas |
actually this is taken straight from http://github.com/carlins/http[…]ib/HTTP/Client.pm |
| 16:58 |
|
moritz_ |
neither is the dot, so no reason to escape it |
| 16:58 |
|
isBEKaml |
aren't all characters in square brackets taken literally? we don't need to escape regex spl characters right? |
| 16:59 |
|
moritz_ |
isBEKaml: unless you want to put a ] into a char class... |
| 16:59 |
|
patrickas |
I could not get the module it to work using rakudo so I wated to mae sure if it was a rakudo bug or a HTTP::Client bug |
| 16:59 |
|
moritz_ |
alpha: / a & b / |
| 16:59 |
|
p6eval |
alpha 30e0ed: ( no output ) |
| 16:59 |
|
* moritz_ |
wonders if alpha actually implemented it |
| 17:00 |
|
patrickas |
that was a messed up sentence I typed! |
| 17:00 |
|
moritz_ |
alpha: for <a b 0> { say $_, ?($_ ~~ /a & \w/) } |
| 17:00 |
|
p6eval |
alpha 30e0ed: OUTPUT«a1b000» |
| 17:00 |
|
moritz_ |
seems it did |
| 17:00 |
|
pmichaud |
the characters -, ], and whitespace have to be escaped |
| 17:00 |
|
moritz_ |
and - just for catching Perl 5 errors, right? |
| 17:00 |
|
pmichaud |
correct. |
| 17:00 |
|
isBEKaml |
- ? range operator? |
| 17:00 |
|
isBEKaml |
A-Za-z |
| 17:01 |
|
pmichaud |
the range operator is .. |
| 17:01 |
|
moritz_ |
notaynmore range operator |
| 17:02 |
|
pmichaud |
A..Za..z |
| 17:02 |
|
pmichaud |
of course, you really want to be using <?alpha> :-P |
| 17:03 |
|
isBEKaml |
if that's not the case, i'd go with POSIXy :alpha: |
| 17:03 |
|
pmichaud |
that doesn't exist in p6 |
| 17:03 |
|
pmichaud |
more to the point, the way to write :alpha: is <alpha> :-P |
| 17:04 |
|
pmichaud |
oh, and backslash has to be escaped :-) |
| 17:04 |
|
isBEKaml |
So, p6 isn't POSIX compliant. :P |
| 17:05 |
|
moritz_ |
if you want POSIX, use C :-) |
| 17:05 |
|
isBEKaml |
I don't use C a lot these days. Still many languages are stuck in a PCRE limbo. :) |
| 17:05 |
|
arnsholt |
IIRC <alpha> is anything defined by Unicode as an alpha |
| 17:06 |
|
arnsholt |
Which I'd argue is the correct semantics =) |
| 17:07 |
|
sorear |
isBEKaml: perl 6 regexes are a complete redesign, they have no compatibility whatsoever with POSIX regexes |
| 17:07 |
|
sorear |
though, perl 6 will probably support rx:POSIX// at some point |
| 17:07 |
|
sorear |
by analogy with rx:P5// |
| 17:08 |
|
isBEKaml |
sorear: I got that. I was referring to other languages stuck with PCRE regex implementations while P6 is pushing the envelope without looking to maintain status quo. :) |
| 17:09 |
|
isBEKaml |
Really, you want to be starting afresh... |
| 17:10 |
|
pmichaud |
okay, really afk now |
| 17:10 |
|
isBEKaml |
Does this still work? [^{list of characters to avoid}] ? |
| 17:11 |
|
sorear |
no |
| 17:11 |
|
sorear |
you want <-[aeiou]> |
| 17:13 |
|
isBEKaml |
rakudo: for <1 b 0 -> { say "$_ +" ~ ?($_ ~~ /<alpha>/) } |
| 17:13 |
|
p6eval |
rakudo 32150d: OUTPUT«1 +0b +10 +0- +0» |
| 17:14 |
|
isBEKaml |
hm, not bad.. |
| 17:14 |
|
isBEKaml |
we don't need to mark special character cases for unicode classes, right? |
| 17:16 |
|
isBEKaml |
Doesn't seem to be needed, I guess. Case in point: \s matches even unicode white space character. |
| 17:18 |
|
isBEKaml |
rakudo: for <1 b 0 -> { say "$_ +" ~ ?($_ ~~ /<-[<alpha>]>/) } |
| 17:18 |
|
p6eval |
rakudo 32150d: OUTPUT«1 +1b +10 +1- +1» |
| 17:22 |
|
|
justatheory joined #perl6 |
| 17:26 |
|
sorear |
TimToady: [viv] Why did you choose to make the default emit_p5 behavior for leaf nodes unaltered passthrough instead of carping? |
| 17:26 |
|
|
slavik joined #perl6 |
| 17:32 |
|
pugssvn |
r30663 | sorear++ | [viv] package_def needs to strip adverbs |
| 17:33 |
|
* isBEKaml |
gonna hit the bed. have a good one, #perl6! |
| 17:34 |
|
|
iblechbot joined #perl6 |
| 17:38 |
|
|
_buno_ joined #perl6 |
| 17:39 |
|
|
pmurias joined #perl6 |
| 18:18 |
|
pugssvn |
r30664 | sorear++ | [viv] Handle nested packages, packages with curlies |
| 18:30 |
|
sorear |
TimToady: Why does gimme5 use YAML? |
| 18:31 |
|
sorear |
.u 23cf |
| 18:31 |
|
phenny |
U+23CF EJECT SYMBOL (⏏) |
| 18:34 |
|
|
Jedai joined #perl6 |
| 18:37 |
|
pmurias |
sorear: what should it use instead of YAML? |
| 18:39 |
|
sorear |
pmurias: that's not the question |
| 18:39 |
|
sorear |
why is gimme5 sending data structures *at all* |
| 18:41 |
|
|
[circuitbreaker] joined #perl6 |
| 18:41 |
|
pmurias |
it uses the data structure for LTM |
| 18:41 |
|
sorear |
how? |
| 18:42 |
|
pmurias |
it keeps the AST of the rule so that it can calculate the lexers |
| 18:42 |
|
pmurias |
my knowledge how it does that is outdated and incomplete so i would have to look at the source again to tell you more |
| 18:47 |
|
pmurias |
sorear: the stuff in lex/ is generated at run time |
| 18:52 |
|
sorear |
How does the stash concept work? It seems as though even lexpads are stashes. |
| 18:55 |
|
pmurias |
STD seems to use for looking up variable/function/... names |
| 18:55 |
|
pmurias |
s/use/use them/ |
| 18:56 |
|
pmurias |
and both lex pads and packages store them |
| 19:15 |
|
sorear |
what's xact? |
| 19:26 |
|
moritz_ |
"exact"? |
| 19:30 |
|
dalek |
rakudo: 87e0e1b | moritz++ | src/Perl6/Actions.pm: |
| 19:30 |
|
dalek |
rakudo: enable calling a fully qualified enum key |
| 19:30 |
|
dalek |
rakudo: review: http://github.com/rakudo/rakud[…]a88f8b49a8ff1f629 |
| 20:05 |
|
Su-Shee |
in terms of programming language design - what are "true iterators"? |
| 20:14 |
|
patrickas |
rakudo: say (map { .WHAT } , ("foo"=> "bar" , "bas"=>"qux" )); |
| 20:14 |
|
p6eval |
rakudo 32150d: OUTPUT«Pair()Pair()» |
| 20:14 |
|
patrickas |
rakudo: say (map { .WHAT } , {"foo"=> "bar" , "bas"=>"qux" }); |
| 20:14 |
|
p6eval |
rakudo 32150d: OUTPUT«Hash()» |
| 20:15 |
|
patrickas |
is that by design ? or is it a bug ? |
| 20:15 |
|
|
g00s joined #perl6 |
| 20:17 |
|
patrickas |
rakudo: my %h = ("foo"=> "bar" , "bas"=>"qux" );say (map { .WHAT } , %h); |
| 20:17 |
|
p6eval |
rakudo 32150d: OUTPUT«Hash()» |
| 20:18 |
|
|
Heame joined #perl6 |
| 20:19 |
|
|
Heame left #perl6 |
| 20:31 |
|
sorear |
pmichaud: TimToady: diakopter: If type constraints in Perl6-subsets are just constraints, not coercions, then how does Callable[:(Int, Int --> Int)] avoid Rice? |
| 20:33 |
|
lue |
Saluton! |
| 20:34 |
|
lue |
Just wondering: how's it going on importing libraries from other languages? |
| 20:38 |
|
sorear |
mildew and rakudo support is |
| 20:48 |
|
|
g00s left #perl6 |
| 20:49 |
|
|
molaf joined #perl6 |
| 21:02 |
|
|
quietfanatic joined #perl6 |
| 21:11 |
|
jnthn |
sorear: Rioe? |
| 21:11 |
|
jnthn |
*Rice? |
| 21:16 |
|
patrickas |
i understand "slurp" is now a built in in perl6, is the opposite also built in? |
| 21:18 |
|
jnthn |
patrickas: I don't think so. |
| 21:18 |
|
jnthn |
.oO( is the opposite going to be called "spit"? ) |
| 21:18 |
|
bkeeler |
spew |
| 21:18 |
|
patrickas |
jnthn: thnx, i usually use spew |
| 21:18 |
|
bkeeler |
which I saw was added to nqp as a builtin |
| 21:18 |
|
jnthn |
lol |
| 21:19 |
|
jnthn |
That's...disgusting, but so is spit. |
| 21:20 |
|
mathw |
"Eeeww".spew($filehandle); |
| 21:21 |
|
patrickas |
filehandle or filename ? |
| 21:21 |
|
Su-Shee |
well throwing errors isn't really much more pleasant ;) |
| 21:21 |
|
mathw |
patrickas: well you could do either of course :) |
| 21:21 |
|
mathw |
but you probably shouldn't |
| 21:21 |
|
mathw |
Su-Shee: yes maybe we should replace 'die' with 'puke' |
| 21:21 |
|
|
masak joined #perl6 |
| 21:21 |
|
masak |
loliminmoscow! |
| 21:21 |
|
phenny |
masak: 15 May 10:06Z <moritz_> ask masak if there's any tool that used the =begin glossary marker in docs/u4x/documentation - if not I'd like to remove it, because then it happens to be valid perl 5 POD, and easier for me to process :-) |
| 21:22 |
|
masak |
moritz_: no, no tool. feel free. |
| 21:22 |
|
Su-Shee |
finally a real do what I mean and say what I really think language! |
| 21:22 |
|
patrickas |
mathw: the whole point is not to bother opeining files and working with filehandles for quick one lineers |
| 21:22 |
|
bkeeler |
Heyas comrade masak! |
| 21:22 |
|
masak |
bkeeler: privet. |
| 21:24 |
|
jnthn |
masak!! |
| 21:24 |
|
masak |
jnthn!!1 |
| 21:24 |
|
jnthn |
masak: Did any bushes greet you in Moscow yet? |
| 21:25 |
|
bkeeler |
privet bushes in particular? |
| 21:25 |
|
jnthn |
Those are privet hedges. |
| 21:25 |
|
jnthn |
;-) |
| 21:25 |
|
jnthn |
masak: How is it? |
| 21:25 |
|
bkeeler |
Never throw the letter "Q" into a privet bush |
| 21:25 |
|
masak |
I'm still thinking about those privet bushes... |
| 21:25 |
|
masak |
;) |
| 21:26 |
|
jnthn |
:-) |
| 21:26 |
|
masak |
it's good. the subway was quite OK. the room could fit five of me. |
| 21:26 |
|
jnthn |
Ain't the subway stations majestic? :-) |
| 21:26 |
|
masak |
I mean, it could sleep five of me. comfortably. |
| 21:26 |
|
masak |
(it's big) |
| 21:26 |
|
jnthn |
Wow. |
| 21:26 |
|
jnthn |
That's a nice thing. |
| 21:27 |
|
* jnthn |
also had a quite big one too |
| 21:27 |
|
masak |
as journeys go, the trip here was uneventful. |
| 21:27 |
|
masak |
but they made sure to scrub me hard at the passport control. |
| 21:28 |
|
jnthn |
? |
| 21:28 |
|
masak |
well, |
| 21:28 |
|
masak |
first I was in this line to the actual passport control. |
| 21:28 |
|
jnthn |
Odd, they just look at me boredly, stamp my visa and I'm done. :-/ |
| 21:28 |
|
masak |
that took an hour. quite a bottleneck, that passport control. |
| 21:28 |
|
jnthn |
Ouch. :-( |
| 21:28 |
|
jnthn |
Depends how many other flights are coming in at the same time I guess. |
| 21:28 |
|
masak |
and when I finally got to the counter, it turned out I was missing a form. |
| 21:28 |
|
patrickas |
since the channel is alive again I will re ask my earlier question :-) |
| 21:29 |
|
patrickas |
rakudo: my %h = ("foo"=> "bar" , "bas"=>"qux" );say (map { .WHAT } , %h); |
| 21:29 |
|
jnthn |
masak: Oh? |
| 21:29 |
|
p6eval |
rakudo 87e0e1: OUTPUT«Hash()» |
| 21:29 |
|
jnthn |
masak: Ouch...they didn't give them out on the plane? |
| 21:29 |
|
masak |
jnthn: yah, a "migration form". they didn't give me one. |
| 21:29 |
|
patrickas |
is that expected ? or should there be two Pairs() ? |
| 21:29 |
|
jnthn |
masak: Oh :-( |
| 21:29 |
|
masak |
that would have been a good idea, though. |
| 21:29 |
|
jnthn |
masak: Well, yeah, every time I've flown they have done that. :-| |
| 21:29 |
|
* jnthn |
is a tad mystified that they didn't. :-( |
| 21:30 |
|
pmichaud |
hello, all |
| 21:30 |
|
masak |
so I had to fill it out, and get in line again. |
| 21:30 |
|
bkeeler |
Heyas pmichaud |
| 21:30 |
|
jnthn |
That sucks. |
| 21:30 |
|
masak |
hi, pmichaud |
| 21:30 |
|
jnthn |
hi pmichaud! |
| 21:30 |
|
masak |
and then I got scowled at, in Russian, for not filling in the form properly ;) |
| 21:30 |
|
jnthn |
...grr. |
| 21:30 |
|
masak |
oh well. |
| 21:30 |
|
jnthn |
Russian scowls are quite unique, huh. :-) |
| 21:30 |
|
masak |
I'm here now. \o/ |
| 21:30 |
|
jnthn |
\o/ |
| 21:30 |
|
jnthn |
Did you have any борщ yet? :-) |
| 21:31 |
|
masak |
no, but good idea for tomorrow. |
| 21:31 |
|
* jnthn |
figures that's more likely than водка |
| 21:31 |
|
masak |
da. |
| 21:31 |
|
masak |
today, the cafes had closed when I got to the hotel. |
| 21:31 |
|
jnthn |
:-( |
| 21:31 |
|
jnthn |
You find something to nom on anyways? |
| 21:31 |
|
masak |
so I'm currently eating some funny spongy thing and drinking yoghurt :) |
| 21:32 |
|
jnthn |
:-) |
| 21:32 |
|
* jnthn |
recommends finding some proper борщ tomorrow. With сметана. :-) |
| 21:33 |
|
masak |
mmmm. |
| 21:33 |
|
masak |
I will. |
| 21:33 |
|
jnthn |
Indeed. :-) |
| 21:33 |
|
pmichaud |
patrickas: it's a bug in rakudo at the moment -- hashes don't flatten properly in list context |
| 21:33 |
|
bkeeler |
Try some птичье молоко |
| 21:33 |
|
pmichaud |
at least, I *think* that's the case. |
| 21:34 |
|
masak |
bkeeler: pigeon milk? |
| 21:34 |
|
jnthn |
bkeeler: wtf? |
| 21:34 |
|
jnthn |
:-) |
| 21:34 |
|
* jnthn |
googles... |
| 21:34 |
|
bkeeler |
http://en.wikipedia.org/wiki/Ptasie_mleczko |
| 21:34 |
|
jnthn |
oh |
| 21:34 |
|
patrickas |
pmichaud: thanks. I am finding many rough edges trying my first perl6 program so expect lots of noob questions |
| 21:35 |
|
jnthn |
Yes, that looks rather more appertizing than...pigeon. |
| 21:35 |
|
jnthn |
Literal translation FTF. |
| 21:35 |
|
bkeeler |
hehe |
| 21:36 |
|
quietfanatic |
Hm. Now that 'undef' is gone, how do I smartmatch undefined things? |
| 21:36 |
|
jnthn |
Nice etymology too! |
| 21:36 |
|
jnthn |
Cute. :-) |
| 21:36 |
|
quietfanatic |
$val ~~ Mu matches everything |
| 21:36 |
|
pmichaud |
quietfanatic: $val ~~ .notdef # iirc |
| 21:36 |
|
lue |
olol masak! [compiling blender, not paying attention] |
| 21:36 |
|
quietfanatic |
That's defined things though, not undefined things... |
| 21:37 |
|
pmichaud |
I don't understand the question, then. |
| 21:37 |
|
quietfanatic |
Hm. |
| 21:37 |
|
masak |
today's aphorism: 'Если смотреть трезво на вещи, то невольно хочется выпить.' |
| 21:37 |
|
quietfanatic |
Wait no it isn't |
| 21:37 |
|
quietfanatic |
just a sec |
| 21:37 |
|
masak |
'Looking at things soberly, one cannot help wanting to drink.' |
| 21:37 |
|
masak |
no, .notdef went away. |
| 21:37 |
|
quietfanatic |
rakudo: say (3 ~~ .notdef) |
| 21:37 |
|
p6eval |
rakudo 87e0e1: OUTPUT«1» |
| 21:37 |
|
quietfanatic |
rakudo: say (Int ~~ .notdef) |
| 21:37 |
|
p6eval |
rakudo 87e0e1: OUTPUT«1» |
| 21:38 |
|
quietfanatic |
seems to always return true. |
| 21:38 |
|
masak |
but Rakudo still implements it :) |
| 21:38 |
|
quietfanatic |
rakudo: say (.notdef) |
| 21:38 |
|
p6eval |
rakudo 87e0e1: OUTPUT«1» |
| 21:38 |
|
pmichaud |
what took .notdef's place, if anything? |
| 21:38 |
|
quietfanatic |
Yeah, I don't think $x ~~ .method_call works that way, does it? |
| 21:38 |
|
quietfanatic |
It's call the method on $_ |
| 21:38 |
|
quietfanatic |
*It'd |
| 21:38 |
|
jnthn |
masak: I likes that one. :-) |
| 21:38 |
|
masak |
pmichaud: um. don't recall. |
| 21:38 |
|
pmichaud |
at one point, ~~ .methodcall would invoke the method on the left argument |
| 21:38 |
|
masak |
jnthn: thought you might :) |
| 21:39 |
|
|
Sarten-X joined #perl6 |
| 21:39 |
|
pmichaud |
I don't know if that's still true -- apparently some things have changed recently. |
| 21:39 |
|
masak |
it's still true. |
| 21:39 |
|
quietfanatic |
Basically my question is, I used to have 'if $thing ~~ undef | /regex/' |
| 21:39 |
|
jnthn |
pmichaud: It should do that. |
| 21:39 |
|
masak |
but .notdef is gone from spec. |
| 21:39 |
|
jnthn |
pmichaud: It did in alpha. |
| 21:39 |
|
quietfanatic |
How do I do that now? |
| 21:39 |
|
pmichaud |
Any .foo method truth ?X i.e. ?.foo |
| 21:39 |
|
jnthn |
pmichaud: Didn't get the syntactic cases of smarthmatch added back yet though. |
| 21:40 |
|
lue |
maybe if $thing ~~ Mu |
| 21:40 |
|
pmichaud |
$thing is always Mu, though |
| 21:40 |
|
quietfanatic |
Everything ~~ Mu |
| 21:40 |
|
pmichaud |
that's a type check, not a definedness check |
| 21:40 |
|
lue |
Ah. |
| 21:40 |
|
pmichaud |
maybe $thing !~ .defined |
| 21:40 |
|
jnthn |
!~~ |
| 21:40 |
|
jnthn |
Yeah |
| 21:40 |
|
jnthn |
I think there's another way though |
| 21:40 |
|
quietfanatic |
But then it doesn't junction with my regex. |
| 21:40 |
|
jnthn |
that works out well in given/when cases |
| 21:40 |
|
* jnthn |
tries to remember |
| 21:41 |
|
masak |
oh wait. seems .notdef is very much still in the spec. :/ |
| 21:41 |
|
masak |
S32/Basics. |
| 21:41 |
|
quietfanatic |
Any:U doesn't parse. |
| 21:41 |
|
jnthn |
oh |
| 21:41 |
|
jnthn |
Any !.defined undefined not .defined |
| 21:41 |
|
jnthn |
(from S03) |
| 21:41 |
|
jnthn |
std: "blah" ~~ !.defined |
| 21:41 |
|
p6eval |
std 30664: OUTPUT«ok 00:01 115m» |
| 21:41 |
|
pmichaud |
I'm not sure how to handle !.defined |
| 21:41 |
|
jnthn |
rakudo: "blah" ~~ !.defined |
| 21:41 |
|
p6eval |
rakudo 87e0e1: ( no output ) |
| 21:41 |
|
pmichaud |
we do that... syntactically? |
| 21:41 |
|
jnthn |
...I...have no idea. |
| 21:41 |
|
quietfanatic |
How on earth does that work? |
| 21:42 |
|
jnthn |
oh |
| 21:42 |
|
jnthn |
pmichaud: It is in the syntactic section of S03. |
| 21:42 |
|
jnthn |
The first section contains privileged syntax; if a match can be done |
| 21:42 |
|
jnthn |
via one of those entries, it will be. These special syntaxes are |
| 21:42 |
|
jnthn |
dispatched by their form rather than their type. |
| 21:42 |
|
jnthn |
And it's in that first section. |
| 21:42 |
|
jnthn |
So I guess it's...uglily syntactic. |
| 21:43 |
|
pmichaud |
what about something like $x ~~ .foo * 2 |
| 21:43 |
|
quietfanatic |
But that requires special syntax. I'm guessing I can't do $x ~~ !.defined | /regex/ with that. |
| 21:43 |
|
pmichaud |
is .foo referring to $x or to the outer $_ ? |
| 21:43 |
|
pmichaud |
because the rhs isn't .foo, it's (.foo * 2) |
| 21:43 |
|
jnthn |
pmichaud: I suspect $_ then... :-/ |
| 21:44 |
|
jnthn |
pmichaud: Which is I guess why I find making !.foo work a bit ugly. |
| 21:44 |
|
pmichaud |
I find it all a bit ugly, tbh |
| 21:44 |
|
jnthn |
pmichaud: I can't see anything in S03 that calls out ~~ .foo * 2 being special. |
| 21:44 |
|
pmichaud |
right |
| 21:44 |
|
masak |
so... we have both .notdef and !.defined ...? |
| 21:44 |
|
jnthn |
I wasn't a fan of .notdef, but I'm even less of a fan of this way. |
| 21:44 |
|
pmichaud |
so it's kind of weird that !.foo would be special |
| 21:44 |
|
quietfanatic |
rakudo: class Undefined { method ^ACCEPTS ($thing) {!$thing.defined} }; say 3 ~~ Undefined; say Int ~~ Undefined; |
| 21:44 |
|
p6eval |
rakudo 87e0e1: OUTPUT«00» |
| 21:45 |
|
quietfanatic |
rakudo: class Undefined { method ACCEPTS ($thing) {!$thing.defined} }; say 3 ~~ Undefined.new; say Int ~~ Undefined.new; |
| 21:45 |
|
p6eval |
rakudo 87e0e1: OUTPUT«01» |
| 21:45 |
|
pmichaud |
I mean, ~.foo and +.foo and ?.foo aren't special |
| 21:45 |
|
quietfanatic |
There we go :D |
| 21:45 |
|
jnthn |
pmichaud: Aye. |
| 21:45 |
|
masak |
quietfanatic: ! |
| 21:45 |
|
* pmichaud |
shuts his eyes and hopes the !.defined thing magically goes away |
| 21:46 |
|
masak |
things have disappeared before at the blink of an eye :P |
| 21:46 |
|
quietfanatic |
rakudo: class Undefined { method ACCEPTS ($thing) {!$thing.defined} }; say 3 ~~ Undefined.new | 3 |
| 21:46 |
|
p6eval |
rakudo 87e0e1: OUTPUT«1» |
| 21:46 |
|
pmichaud |
either that, or that we decide that ~~ rebinds $_ for its rhs operand |
| 21:46 |
|
diakopter |
rakudo: say !(.defined) |
| 21:46 |
|
p6eval |
rakudo 87e0e1: OUTPUT«1» |
| 21:46 |
|
pmichaud |
(whatever it may be) |
| 21:46 |
|
quietfanatic |
rakudo: say 3 ~~ :!defined |
| 21:46 |
|
p6eval |
rakudo 87e0e1: OUTPUT«0» |
| 21:46 |
|
quietfanatic |
rakudo: say Int ~~ :!defined |
| 21:46 |
|
p6eval |
rakudo 87e0e1: OUTPUT«1» |
| 21:46 |
|
quietfanatic |
Found it. |
| 21:47 |
|
jnthn |
oh, cute. |
| 21:47 |
|
pmichaud |
i.e., thunkify the rhs operand |
| 21:47 |
|
quietfanatic |
using :pair syntax, which transforms into a method call |
| 21:47 |
|
jnthn |
:-) |
| 21:47 |
|
jnthn |
quietfanatic++ |
| 21:47 |
|
pmichaud |
oh, I like that |
| 21:47 |
|
quietfanatic |
I suppose it was intended for filetests. I.E. file ~~ :e |
| 21:47 |
|
pmichaud |
I like that so much I want to get rid of .defined :-) |
| 21:47 |
|
* masak |
takes a shower |
| 21:47 |
|
pmichaud |
and just use :defined instead |
| 21:47 |
|
jnthn |
OK, with that in mind...let's kill kill kill !.defined |
| 21:47 |
|
jnthn |
;-) |
| 21:47 |
|
quietfanatic |
rakudo: say 3 ~~ :!defined | 3 |
| 21:47 |
|
p6eval |
rakudo 87e0e1: OUTPUT«1» |
| 21:48 |
|
jnthn |
pmichaud: :defined desugars to a call to .defined, fwiw |
| 21:48 |
|
masak |
huh. there's a tub. it's right there, next to the bidet. didn't notice it before. :) |
| 21:48 |
|
jnthn |
masak: Wow. You *do* have a nice room. :-) |
| 21:48 |
|
quietfanatic |
It's equivalent to -> {.defined == 1} |
| 21:48 |
|
diakopter |
masak: LOL |
| 21:49 |
|
quietfanatic |
or -> {.defined == 0} if you have a ! |
| 21:49 |
|
pmichaud |
jnthn: oh. |
| 21:49 |
|
pmichaud |
so that's syntactic also? |
| 21:49 |
|
jnthn |
pmichaud: Gah, I mis-spoke |
| 21:49 |
|
jnthn |
pmichaud: No, it calls Pair.ACCEPTS |
| 21:49 |
|
quietfanatic |
(I may be misusing that -> though) |
| 21:49 |
|
pmichaud |
right |
| 21:49 |
|
jnthn |
pmichaud: Which then in turn calls .defined |
| 21:49 |
|
pmichaud |
right |
| 21:49 |
|
pmichaud |
oh |
| 21:49 |
|
pmichaud |
so it only worked for .defined |
| 21:49 |
|
pmichaud |
or no? |
| 21:49 |
|
jnthn |
pmichaud: No, it works for any method |
| 21:49 |
|
quietfanatic |
It works for anything |
| 21:50 |
|
pmichaud |
right |
| 21:50 |
|
pmichaud |
so we could get rid of the icky .defined syntax and substitute pair syntax? |
| 21:50 |
|
quietfanatic |
rakudo: 5 ~~ :say |
| 21:50 |
|
p6eval |
rakudo 87e0e1: OUTPUT«5» |
| 21:50 |
|
jnthn |
pmichaud: You mean, remove the smart-match syntactic special cases? |
| 21:50 |
|
pmichaud |
not all of them, just that one |
| 21:50 |
|
jnthn |
pmichaud: Or at least the .foo one? |
| 21:50 |
|
jnthn |
Ah, OK |
| 21:50 |
|
jnthn |
I think we could |
| 21:50 |
|
jnthn |
I don't mind that one too much though |
| 21:51 |
|
jnthn |
It's the !.defined that gives me the really uneasy feeling. |
| 21:51 |
|
pmichaud |
because it really bugs me that $X ~~ .foo * 2 doesn't do the same as given $X { when .foo * 2 { true }; false } |
| 21:51 |
|
jnthn |
Oh, ouch. |
| 21:51 |
|
jnthn |
You're right. |
| 21:51 |
|
pmichaud |
I don't like that $_ gets treated specially for only the case of the rhs being a lone method call |
| 21:52 |
|
* jnthn |
starts to be won over to pmichaud++'s POV. |
| 21:52 |
|
quietfanatic |
I agree, this special syntax is quite unnecessary. |
| 21:53 |
|
pmichaud |
or, alternatively, I'd like to somehow make it clear that the lhs is bound to $_ for the whole expression |
| 21:54 |
|
quietfanatic |
I'd prefer infix:<~~> stay more like an operator rather than a statement control. |
| 21:54 |
|
diakopter |
rakudo: 5 .~~ say |
| 21:54 |
|
p6eval |
rakudo 87e0e1: OUTPUT«Confused at line 11, near "5 .~~ say"current instr.: 'perl6;HLL;Grammar;panic' pc 501 (ext/nqp-rx/src/stage0/HLL-s0.pir:327)» |
| 21:54 |
|
pmichaud |
well, ~~ by definition is "special", at least traditionally |
| 21:54 |
|
pmichaud |
that's what the "smart" part of "smart match" is supposed to mean :-) |
| 21:54 |
|
jnthn |
Aye, though it's mostly special in its dispatchyness rather than its thunkiness. |
| 21:55 |
|
jnthn |
.oO( I use i and y totally inconsistently in English now... ) |
| 21:55 |
|
pmichaud |
jnthn: that ys okai, Englysh ys alwais adaptyng |
| 21:56 |
|
pmichaud |
at least I don't notice you putting extra vowels in words like "color" or "flavor" :-) |
| 21:56 |
|
quietfanatic |
flaiyvor |
| 21:56 |
|
jnthn |
You're just coloured by your parcitular flavour of English. :P |
| 21:57 |
|
jnthn |
*particular |
| 21:57 |
|
pmichaud |
(maybe you do that, and I just don't notice anymore after spending lots of time around aussies and nz'ers and brits and the like.) |
| 21:57 |
|
jnthn |
pmichaud: I generally write whatever the spell checker I'm working under wants, and if there is none I just type whatever. :-) |
| 21:57 |
|
jnthn |
color is shorter though. :-) |
| 21:58 |
|
pmichaud |
.oO( "type whatever" --> "colo*r" and "flavo*r" ? ) |
| 21:58 |
|
pmichaud |
or even just col*r and flav*r |
| 21:59 |
|
diakopter |
sorear: the Callable[:(Int, Int --> Int)] syntax is (hopefully) temporary (for annotating strongly-typed closures) until TimToady specs something better. I'm hoping for &:(Int, Int --> Int) |
| 21:59 |
|
quietfanatic |
色 |
| 22:01 |
|
masak |
quietfanatic: SE4 - color? |
| 22:02 |
|
masak |
I'd like to propose ˈcolɵrˈ |
| 22:03 |
|
quietfanatic |
masak: 色 == color, though I don't know what SE4 means |
| 22:03 |
|
quietfanatic |
English-speakers usually just pronounce it colr. |
| 22:03 |
|
spinclad |
4: fourth tone? |
| 22:03 |
|
masak |
quietfanatic: it's the Mandarin pronunciation. I'm coming from the hanzi direction, while I guess you're kanji. ;) |
| 22:04 |
|
jnthn |
I kan zi that being a problem... |
| 22:04 |
|
|
jhuni joined #perl6 |
| 22:04 |
|
quietfanatic |
Indeed, I inputted it as "iro" |
| 22:04 |
|
masak |
I don't know the Cantonese pronunciation, unfortunately. |
| 22:04 |
|
sorear |
diakopter: &:() still has the Rice problems, unless it's doing something deceptively simple like only matching the signature |
| 22:04 |
|
|
orafu joined #perl6 |
| 22:05 |
|
sorear |
diakopter: is my &:(Int --> Int) &foo = * + 1; legal? |
| 22:05 |
|
spinclad |
Rice? |
| 22:05 |
|
spinclad |
my Rice $grain |
| 22:05 |
|
masak |
is it something about it being computationally hard to find equivalent siggies? |
| 22:05 |
|
quietfanatic |
If it's legal in a signature it ought to be legal in a my, which is parsed as a signature. |
| 22:06 |
|
masak |
quietfanatic: but not all things make sense in a my. |
| 22:06 |
|
masak |
quietfanatic: return type, for example. |
| 22:06 |
|
quietfanatic |
Well you can say my Int|Str $x though |
| 22:06 |
|
quietfanatic |
like a junction type. |
| 22:06 |
|
quietfanatic |
std: my Int|Str $x |
| 22:06 |
|
p6eval |
std 30664: OUTPUT«===[0mSORRY!===[0mMalformed my at /tmp/CdrTqWaCbj line 1:------> my Int⏏|Str $x expecting any of: multi_declarator scoped declarator typenameParse failedFAILED 00:01 113m» |
| 22:06 |
|
quietfanatic |
maybe not |
| 22:07 |
|
sorear |
quietfanatic: type checking an arbitrary function against a signature reduces to the halting problem |
| 22:07 |
|
sorear |
spinclad: http://en.wikipedia.org/wiki/Rice%27s_theorem |
| 22:07 |
|
quietfanatic |
...I'm afraid all this is a bit beyond me at this time |
| 22:08 |
|
jnthn |
quietfanatic: No, you can't do that in Perl 6.0.0. |
| 22:08 |
|
jnthn |
quietfanatic: Maybe some day :-) |
| 22:08 |
|
diakopter |
sorear: not yet |
| 22:08 |
|
jnthn |
quietfanatic: There's always subset Foo where Int|Str; |
| 22:08 |
|
quietfanatic |
I guess so. |
| 22:09 |
|
diakopter |
sorear: (it's not yet legal, hence me saying TimToady hasn't specd it yet) |
| 22:10 |
|
diakopter |
masak: why wouldn't a return type make sense in a my? |
| 22:11 |
|
masak |
diakopter: because a my usually initializes variables. it doesn't return things, to my knowledge. |
| 22:11 |
|
diakopter |
er |
| 22:12 |
|
diakopter |
I was referring to a my variable that is initialized to a closure. |
| 22:12 |
|
diakopter |
initialized with a closure. |
| 22:12 |
|
masak |
ah. we're talking past each other, then. |
| 22:12 |
|
diakopter |
and that closure returns a particular type. |
| 22:12 |
|
spinclad |
(/me seems that the return type is the part that makes sense in a my: my Int &foo; as it's the covariant part of the signature) |
| 22:12 |
|
masak |
I meant `my ($a, $b --> Int)` |
| 22:12 |
|
diakopter |
I don't know what that is specd to mean :) |
| 22:13 |
|
masak |
std: my ($a, $b --> Int) |
| 22:13 |
|
p6eval |
std 30664: OUTPUT«ok 00:01 112m» |
| 22:13 |
|
diakopter |
I didn't doubt it parsed; I don't know what it means |
| 22:13 |
|
masak |
we're on the same page there :P |
| 22:14 |
|
diakopter |
k |
| 22:15 |
|
diakopter |
sorear: are you saying it follows from Rice's theorem that no programming language can have strongly typed function variables? |
| 22:18 |
|
masak |
seems it is saying that you can't tell in general whether a function is in a particular class of functions or not. |
| 22:18 |
|
masak |
I can see how that reduces to the Halting Problem, yes. |
| 22:18 |
|
masak |
but I'm not sure I see the full ramifications. |
| 22:19 |
|
sorear |
diakopter: no. I am saying that Perl 6, as it is currently designed, cannot |
| 22:19 |
|
sorear |
but that can change. |
| 22:19 |
|
quietfanatic |
Because it doesn't do static analysis? |
| 22:19 |
|
|
patspam joined #perl6 |
| 22:19 |
|
diakopter |
how would/could it be changed? |
| 22:20 |
|
quietfanatic |
:) It's easy to see if something has the right signature--give it those arguments and check that it returns the right type. |
| 22:21 |
|
masak |
quietfanatic: if it returns. |
| 22:21 |
|
quietfanatic |
aw shoot :) |
| 22:22 |
|
sorear |
sub { return $_ % 2 ?? 'foo' : 2.0 } |
| 22:22 |
|
masak |
sorear: !! |
| 22:22 |
|
sorear |
right, right, of course |
| 22:22 |
|
masak |
but yes. what sorear said. |
| 22:23 |
|
diakopter |
since it's not annotated, it returns an Any, I thought |
| 22:23 |
|
sorear |
diakopter: the simplest way is to make signatures part of the typing of subs. I don't really like that the presence or absense of signatures changes things, but the options are worse |
| 22:24 |
|
diakopter |
sub { return $_ % 2 ?? 'foo' : 2.0 } is the same thing as sub (--> Any) { return $_ % 2 ?? 'foo' : 2.0 } , right? |
| 22:24 |
|
dalek |
book: 41c52f8 | jonathan++ | src/subs-n-sigs.pod: |
| 22:24 |
|
dalek |
book: Various bits of editing to the subs-n-sigs chapter. |
| 22:24 |
|
dalek |
book: review: http://github.com/perl6/book/c[…]7aa3f0f5435119cc8 |
| 22:24 |
|
sorear |
(Cursor still hurts my head) |
| 22:24 |
|
sorear |
diakopter: no, it's the same thing as sub (Any --> Any) {... |
| 22:24 |
|
diakopter |
ok |
| 22:24 |
|
sorear |
the case that really bothers me is * + 1 |
| 22:24 |
|
sorear |
it's a WhateverCode with signature (Any --> Any) |
| 22:25 |
|
diakopter |
ok |
| 22:25 |
|
sorear |
should I be able to assign it to a variable typed as (Int --> Int) |
| 22:25 |
|
sorear |
? |
| 22:25 |
|
|
kensanata joined #perl6 |
| 22:26 |
|
quietfanatic |
Probably not. |
| 22:26 |
|
|
kulp joined #perl6 |
| 22:26 |
|
|
kulp joined #perl6 |
| 22:26 |
|
spinclad |
you should be able to assign it to a (Int --> Any), since then it just will only get fed Ints. |
| 22:26 |
|
quietfanatic |
You'd be able to assign an (Int --> Int) sub to a (Any --> Any) variable though |
| 22:26 |
|
quietfanatic |
or maybe not that either. |
| 22:26 |
|
sorear |
subtyping is easy |
| 22:27 |
|
sorear |
parametricity is harder |
| 22:27 |
|
spinclad |
quietfanatic: no, you can assign a (Any --> Int) to a (Int --> Any) |
| 22:27 |
|
quietfanatic |
Yeah, that's what it'd be. |
| 22:27 |
|
sorear |
covariance vs. contravariance |
| 22:27 |
|
spinclad |
that interpolates two (Int --> Any) noops |
| 22:30 |
|
diakopter |
luckily for me, such contravariance can be fixed up at compile-time by injecting a runtime type-check |
| 22:30 |
|
sorear |
diakopter: no, it can't, because Perl 6 type checks are Any --> Bool |
| 22:31 |
|
sorear |
not Any --> ::T|Failure |
| 22:31 |
|
diakopter |
not a Perl 6 type check |
| 22:31 |
|
diakopter |
an underlying platform type check |
| 22:31 |
|
|
szabgab joined #perl6 |
| 22:32 |
|
diakopter |
(is what I was considering) |
| 22:33 |
|
lue |
.rnd( I tried searching for a simple sed one-liner to replace an error in many blender source files, and I get perl :) ) |
| 22:34 |
|
diakopter |
I don't understand how Perl 6 type checks are Any --> Bool |
| 22:34 |
|
diakopter |
what does that mean |
| 22:35 |
|
diakopter |
(what is passed into the "Any" slot) |
| 22:36 |
|
sorear |
diakopter: the candidate |
| 22:37 |
|
diakopter |
where is the type passed in? |
| 22:37 |
|
sorear |
the type check is specific to the type |
| 22:37 |
|
sorear |
a perl 6 type check can't replace an object or wrap it in any way |
| 22:37 |
|
sorear |
it can only say "yes" or "no" |
| 22:37 |
|
diakopter |
what is a "Perl 6 type check"? is this a runtime object? |
| 22:38 |
|
sorear |
a Perl 6 type check is what happens when you say my TYPE $foo; $foo = VALUE; |
| 22:39 |
|
diakopter |
the "when" there is very confusing; I can't tell whether you mean compile time or runtime |
| 22:39 |
|
sorear |
runtime |
| 22:39 |
|
diakopter |
it can't be done at compile-time? |
| 22:39 |
|
sorear |
of course not; VALUE isn't known then |
| 22:40 |
|
diakopter |
why couldn't one know the type of VALUE? |
| 22:40 |
|
sorear |
because expressions don't have types, values do |
| 22:41 |
|
sorear |
you have to evaluate the expression before you can know its type |
| 22:41 |
|
sorear |
and the type can be different each time you evaluate it |
| 22:41 |
|
sorear |
I should have said $foo = EXPR; |
| 22:41 |
|
diakopter |
no EXPR can be typed? |
| 22:41 |
|
jnthn |
sorear: "a perl 6 type check can't replace an object or wrap it" - not quite true. :-) |
| 22:42 |
|
jnthn |
rakudo: subset Foo where -> $checked is rw { $checked = 42 }; |
| 22:42 |
|
jnthn |
:-) |
| 22:42 |
|
p6eval |
rakudo 87e0e1: ( no output ) |
| 22:42 |
|
sorear |
Wow. |
| 22:43 |
|
diakopter |
I don't see how no EXPR can ever be booed |
| 22:43 |
|
diakopter |
er |
| 22:43 |
|
diakopter |
typed |
| 22:43 |
|
diakopter |
heh |
| 22:43 |
|
sorear |
diakopter: the type of every expression is Mu |
| 22:44 |
|
sorear |
only variables can have more-specific types |
| 22:44 |
|
diakopter |
that is dumb |
| 22:44 |
|
jnthn |
rakudo: subset Foo where -> $checked is rw { $checked = 42 }; my Foo $x = 100; say $x; |
| 22:44 |
|
p6eval |
rakudo 87e0e1: OUTPUT«Cannot assign to readonly valuecurrent instr.: '&die' pc 17864 (src/builtins/Junction.pir:393)» |
| 22:44 |
|
jnthn |
D'oh. :-/ |
| 22:44 |
|
jnthn |
oh, it's probably right. |
| 22:44 |
|
jnthn |
It's trying to assign to the 100 :-) |
| 22:44 |
|
jnthn |
Anyway, don't do that. ;-) |
| 22:45 |
|
jnthn |
rakudo: subset Foo where -> $checked is rw { $checked = 42 }; my $y = 100; my Foo $x = $y; say $x; say $y; |
| 22:45 |
|
p6eval |
rakudo 87e0e1: OUTPUT«Cannot assign to readonly valuecurrent instr.: '&die' pc 17864 (src/builtins/Junction.pir:393)» |
| 22:45 |
|
jnthn |
Hmpfh. |
| 22:51 |
|
dalek |
book: 09a1f28 | jonathan++ | src/multi-dispatch.pod: |
| 22:51 |
|
dalek |
book: Example of multi-dispatch and nested signatures. |
| 22:51 |
|
dalek |
book: review: http://github.com/perl6/book/c[…]28f707b8df857d626 |
| 22:51 |
|
dalek |
book: 5d9cb15 | jonathan++ | src/subs-n-sigs.pod: |
| 22:51 |
|
dalek |
book: A little more editing for subs-n-sigs. |
| 22:51 |
|
dalek |
book: review: http://github.com/perl6/book/c[…]d5427f33bd54a7674 |
| 22:58 |
|
|
Psyche^ joined #perl6 |
| 23:00 |
|
|
Targhan joined #perl6 |
| 23:02 |
|
Targhan |
Hmmm so I'm running "perl Configure.pl --gen-parrot" on windows and one of the very first things it prints out is "The system cannot find the path specified." This seems kind of bad, but I have no idea what's missing. Any ideas? |
| 23:02 |
|
bkeeler |
pmichaud: still around? |
| 23:02 |
|
sorear |
"one of" is rarely ever good enough in programming circles |
| 23:02 |
|
jnthn |
Targhan: May not be a problem - if it then goes on to check out Parrot and build it. |
| 23:02 |
|
sorear |
if only we had the whole error |
| 23:03 |
|
Targhan |
okay fair enough |
| 23:03 |
|
sorear |
use http://paste.lisp.org/new/perl6 |
| 23:03 |
|
sorear |
oh |
| 23:03 |
|
Targhan |
well the actual crash line is: |
| 23:03 |
|
|
snarkyboojum joined #perl6 |
| 23:03 |
|
Targhan |
holy god, programmin in windows is terrible. I can't even copy from the cmd.exe window? |
| 23:04 |
|
Targhan |
one moment... |
| 23:04 |
|
jnthn |
Right click, Mark... |
| 23:04 |
|
bkeeler |
You have to turn on the facility |
| 23:04 |
|
diakopter |
there are two modes, quickedit and nonquickedit |
| 23:04 |
|
diakopter |
select with the left pointer, hit enter to copy |
| 23:04 |
|
sorear |
use http://paste.lisp.org/new/perl6 |
| 23:05 |
|
BinGOs |
I hear there is something called Console2 (http://sourceforge.net/projects/console/) |
| 23:05 |
|
Targhan |
I'm attempting to download powershell now, but I'll check that out too |
| 23:06 |
|
diakopter |
in quickedit mode, right click pastes and left click selects for copy |
| 23:06 |
|
masak |
g'night, people. |
| 23:06 |
|
BinGOs |
I found powershell to be heinously slow. |
| 23:06 |
|
Targhan |
ahh quick edit is the winner |
| 23:07 |
|
bkeeler |
phenny: tell pmichaud if you're in a reviewing mood, there's now a 'regex-interpolation' branch in nqp-rx |
| 23:07 |
|
phenny |
bkeeler: I'll pass that on when pmichaud is around. |
| 23:07 |
|
diakopter |
I daresay "programming in windows is terrible" is not a fair claim |
| 23:08 |
|
sorear |
programming is terrible |
| 23:08 |
|
diakopter |
:) |
| 23:08 |
|
bkeeler |
Sounds perfectly fair to me |
| 23:08 |
|
lisppaste3 |
Targhan pasted "windows build error" at http://paste.lisp.org/display/99321 |
| 23:08 |
|
sorear |
(programming in windows 95 is downright awful) |
| 23:09 |
|
Targhan |
it's windows xp at least |
| 23:09 |
|
Targhan |
anyway, I have MSVC installed and cl.exe is in my path |
| 23:09 |
|
sorear |
Targhan: do you have VC++ installed? |
| 23:09 |
|
Targhan |
as is nmake.exe |
| 23:09 |
|
sorear |
ah |
| 23:09 |
|
Targhan |
svn is also in path, and obviously perl |
| 23:10 |
|
Targhan |
anyway I'm digging through Configure.pl to see what the error means, but if someone has encountered it before, advice is appreciated. |
| 23:10 |
|
jnthn |
Targhan: In your parrot directory, there should be some file showing what the C ompiler actually outputted. |
| 23:11 |
|
sorear |
Targhan: since this is a Parrot failure, you may have better luck asking in #parrot |
| 23:11 |
|
sorear |
that said, the main Parrot Win32 dev is here and not there |
| 23:11 |
|
Targhan |
heh |
| 23:11 |
|
jnthn |
sorear: Oh? |
| 23:11 |
|
diakopter |
Targhan: is this activeperl or strawberryperl? |
| 23:11 |
|
Targhan |
The line between parrot and perl6 is still a bit fuzzy in my mind |
| 23:11 |
|
Targhan |
this is activeperl |
| 23:11 |
|
Targhan |
should I install strawberryperl? |
| 23:12 |
|
jnthn |
I've had more luck building Rakudo with Active Perl. |
| 23:12 |
|
sorear |
jnthn: You |
| 23:12 |
|
Targhan |
A previous google search turned up someone with a similar problem in September of last year, though he was using strawberry |
| 23:12 |
|
diakopter |
Targhan: 64-bit activeperl? |
| 23:12 |
|
jnthn |
sorear: Heh. I'm not all that active on Parrot dev nowadays. :P |
| 23:12 |
|
Targhan |
let me check the build |
| 23:13 |
|
jnthn |
Targhan: Mabye cd parrot and then perl Configure.pl --verbose may help (iirc) |
| 23:13 |
|
jnthn |
Or at least tell you a bit more. |
| 23:13 |
|
Targhan |
perl --version says v5.10.1 build for MSWin32-x86-multi-thread |
| 23:13 |
|
Targhan |
so 32 bit I guess |
| 23:13 |
|
diakopter |
yeah |
| 23:13 |
|
diakopter |
did you use the 64-bit msvc envvars shortcut or the 32-bit one |
| 23:14 |
|
diakopter |
oh, I guess you're on 32-bit xp... |
| 23:14 |
|
Targhan |
erm I don't know how to answer that question |
| 23:14 |
|
Targhan |
it's 32 bit xp |
| 23:14 |
|
diakopter |
how did you add cl to your path |
| 23:14 |
|
Targhan |
right clicked my computer -> properties |
| 23:14 |
|
Targhan |
advanced tab, edit environment variables |
| 23:14 |
|
Targhan |
added vc/bin directory to it |
| 23:15 |
|
diakopter |
(it's recommended to use the C:\Program Files\Microsoft Visual Studio 9.0\VCvcvarsall.bat |
| 23:15 |
|
Targhan |
configure --verbose is complaining about missing libraries though |
| 23:15 |
|
diakopter |
(it's recommended to use the C:\Program Files\Microsoft Visual Studio 9.0\VC\vcvarsall.bat |
| 23:15 |
|
Targhan |
which makes me think some linker paths are not setup |
| 23:15 |
|
Targhan |
let me check out that batch file |
| 23:15 |
|
diakopter |
or 8 or whichever visual studio version you have |
| 23:16 |
|
Targhan |
yeah |
| 23:16 |
|
lisppaste3 |
Targhan annotated #99321 "parrot configure with verbose" at http://paste.lisp.org/display/99321#1 |
| 23:16 |
|
Targhan |
But yeah I think it's an environment variable thing. looking at script now |
| 23:20 |
|
diakopter |
sorear: I don't understand how/why EXPR can never have a type other than Mu. |
| 23:20 |
|
Targhan |
hmmm |
| 23:21 |
|
Targhan |
so when I run vcvarsall from cmd, the parrot configure works |
| 23:21 |
|
Targhan |
Is there a less ghetto way of making that script always run than adding it to autoexec.bat? |
| 23:21 |
|
diakopter |
heh |
| 23:22 |
|
Targhan |
I guess I could take a diff of the environment variables and input them manually |
| 23:22 |
|
diakopter |
make a shortcut to "cmd.exe /k ""%path_to_vcvarsall%""" and run that instead |
| 23:22 |
|
diakopter |
instead of cmd.exe directly I mean |
| 23:24 |
|
Targhan |
looks like the autoexec.bat thing didn't work. Guess that's system startup only |
| 23:24 |
|
diakopter |
yeah |
| 23:25 |
|
diakopter |
actually autoexec.bat is ignored. |
| 23:26 |
|
Targhan |
Hmmm it's building an awful lot more stuff |
| 23:26 |
|
Targhan |
uh.. woo! Thank you, irc channel! |
| 23:27 |
|
Targhan |
just getting something compiled that can operate against unit tests will be great. |
| 23:30 |
|
diakopter |
does anyone else know why/how/whether no EXPR can be of a type other than Mu? |
| 23:31 |
|
sorear |
diakopter: that's the way dynamically typed languages work |
| 23:31 |
|
jnthn |
diakopter: I'm...kinda confused by the whole discussion. |
| 23:31 |
|
diakopter |
I thought Perl 6 was optionally dynamically typed. |
| 23:31 |
|
sorear |
javascript, perl5, etc are exactly the same way |
| 23:31 |
|
diakopter |
I thought Perl 6 enforced types when annotations were present. |
| 23:31 |
|
diakopter |
at compile time. |
| 23:32 |
|
jnthn |
I mean, if you have for example $a + $b and you statically know all the multi-candidates (which we often do) and you statically know the types of $a and $b, then certainly unless the multi candidates are "too interesting" you could at compile time determine what the type of the expression would be. |
| 23:32 |
|
jnthn |
diakopter: No, the enforcement may be at runtime. |
| 23:33 |
|
jnthn |
diakopter: There's no *requirement* to do it at compile time. |
| 23:33 |
|
diakopter |
right, ok |
| 23:33 |
|
jnthn |
diakopter: You can fail at compile time on antyhign that would fail at runtime. |
| 23:33 |
|
jnthn |
But if you can at compile time say "huh, that could never work out!", it's totally fine (and good) to fail at compile time. |
| 23:33 |
|
sorear |
However, if there's even the slightest chance of it working, you need the runtime check |
| 23:35 |
|
jnthn |
sorear: Aye, though there's likely pragma that will let you control what odds you're willing to accept. |
| 23:35 |
|
sorear |
rakudo: try { eval "use Nonexistant" }; say "Failed: $!" |
| 23:35 |
|
p6eval |
rakudo 87e0e1: OUTPUT«Unable to find module 'Nonexistant' in the @*INC directories.No exception handler and no messagecurrent instr.: 'perl6;Perl6Exception;throw' pc 15350 (src/builtins/Associative.pir:46)» |
| 23:41 |
|
sorear |
mberends recently changed rakudo to say; exit(1) instead of throwing an exception on module not found |
| 23:42 |
|
sorear |
I cannot say I am entirely happy with this |
| 23:42 |
|
jnthn |
That feels...dubious. |
| 23:42 |
|
sorear |
32150d5 |
| 23:45 |
|
diakopter |
sorear: Perl 6 is not "dynamically typed" like Perl 5 and JavaScript. |
| 23:47 |
|
jnthn |
sorear: There's some papers on Gradual Typing which, if you didn't see them before, are quite interesting reading; the ideas are quite applicable to the Perl 6 view of typing. |
| 23:53 |
|
diakopter |
sorear: I'm trying to understand why you would give such a pedantic/condescending/smartass reply like "that's the way dynamically typed languages work". Were you trying to give me an overly-simplistic answer just so I'd stop asking the question? |
| 23:55 |
|
sorear |
No |
| 23:55 |
|
sorear |
I was trying to flush the root misunderstanding out |
| 23:56 |
|
diakopter |
okay, so my sensation of pedantry was correct. |
| 23:56 |
|
jnthn |
sorear: Yes, but if your understanding is/was that Perl 6 is entirely dynamically typed like Perl 5 and Javascript, then the misunderstanding is/was yours. |
| 23:57 |
|
|
Chillance joined #perl6 |
| 23:57 |
|
sorear |
jnthn: I never said *his* root misunderstanding |
| 23:57 |
|
jnthn |
:-) |
| 23:57 |
|
sorear |
If I'm wrong, I'd like to find out sooner rather than later. |
| 23:57 |
|
sorear |
Broad statements help that happen. |
| 23:58 |
|
diakopter |
:) hrm. to me, questions work better |
| 23:58 |
|
diakopter |
(esp when (as in this case, I respect your understanding a lot) the hearer respects the speaker) |
| 23:59 |
|
TimToady |
it's generally better to give each other the benefit of the doubt |