»ö« | perl6.org/ | evalbot usage: 'perl6: say 3;' or rakudo:, alpha:, pugs:, std:, or /msg p6eval perl6: ... | irclog: irc.pugscode.org/ | UTF-8 is our friend! Set by moritz_ on 25 June 2010. |
|||
00:00
Patterner left,
Psyche^ is now known as Patterner,
whiteknight left
|
|||
sorear | ingy: OOH YAML-P6? | 00:00 | |
sorear would love to see a p6rules version of YamlReference | 00:01 | ||
ingy | jnthn: see the bottom of github.com/ingydotnet/yaml-pm6/blob...t/dump.tml | 00:02 | |
jnthn: does that look sane? | |||
sorear: I'm just dumping for now | |||
but I can do circular refs and objects | |||
00:02
ashleydev left
|
|||
ingy | I think I will try a p6rules parser though | 00:02 | |
jnthn | ingy: Well, I'm not particularly familiar with YAML so maybe not the best person to ask. ;-) | ||
ingy | ok | 00:03 | |
TimToady: see the bottom of github.com/ingydotnet/yaml-pm6/blob...t/dump.tml | |||
sorear | ingy: just curious, is there anything out there explaining the origins of 'ingydotnet'? | ||
ingy | TimToady: does that look sane? | ||
jnthn | ingy: It looks at least plausible. :-) | 00:04 | |
ingy | jnthn: other langs would probably make $!x, just x | 00:05 | |
anyway, I think it will be useful to me | |||
pugssvn | r31652 | lwall++ | [Temporal] time is now a pseudo-constant like now, rand, etc | 00:06 | |
ingy | now I can try to dump my testml object treee | ||
pugssvn | r31653 | lwall++ | [STD] term:sym<time> | ||
00:07
rgrau_ left
|
|||
ingy | HOLY FUCK | 00:08 | |
IT JUST WORKED! | |||
gist upcoming... | |||
jnthn, TimToady, sorear: check this bad boy out: gist.github.com/473265 | 00:13 | ||
jnthn | "Perl 6. HOLY FUCK IT JUST WORKED!" | ||
:-) | |||
pugssvn | r31654 | lwall++ | [S06] defined callsame/nextsame in terms of callwith/nextwith and callframe | ||
jnthn | ingy: Nice :-) | 00:14 | |
ingy | that was a 3 day yak shaving session to allow me to not go crazy debugging testml dev | 00:16 | |
00:18
dduncan joined
|
|||
jnthn -> sleep, if I can in this heat :S | 00:19 | ||
o/ | |||
TimToady | \o | 00:20 | |
dduncan | TimToady, regarding my addition of Blob literals to S02 yesterday, is the format I chose acceptable to you or do you forsee there being problems with it? AFAIK, it does not conflict with any valid numeric or other string literals. | ||
TimToady | but it doesn't extend with :4<...> notation | 00:23 | |
dduncan | well what about :N'...' ? | 00:24 | |
eg, :b'11001' | |||
TimToady | on the other hand, how is a blob different from a large number? | ||
dduncan | or :16'45F' | ||
the concept is different | 00:25 | ||
TimToady | perhaps Blob(:2<1001010100100101010001011010001010100101010010100100010110100010100000>) is good enough | ||
tylercurtis | std: :2<11001>.Blob | 00:26 | |
dduncan | well that's certainly better than Blob(2=>'11100101010101010') say | ||
p6eval | std 31651: OUTPUT«ok 00:01 110m» | ||
TimToady | hmm, though it would be hard to extract the base unit from the number | ||
00:27
Chillance joined
|
|||
dduncan | my preference is something that doesn't look like a function call | 00:27 | |
TimToady | the current spec is not extensible and looks like a mistake of 0b for :2 | ||
dduncan | I see Blob being at least as fundamental as Str, in different ways | ||
TimToady | fundamental should not be confused with common | 00:28 | |
we do huffmanization based on commonness, not fundametality | 00:29 | ||
dduncan | well, my number one desire, greater than looking like anything specific, is to have *a* canonical terse way of writing a Blob literal | ||
so Blob(:2<...>) would fit that bill | |||
TimToady | well, there are other options, perhaps | ||
dduncan | basically, while things can be changed later, I would like for the spec to have *something* now rather than being silent on the matter | ||
which is the point of my addition yesterday | 00:30 | ||
TimToady | for instance, :2{11000101010} isn't taken at the moment | ||
dduncan | and that something can be anything that doesn't conflict with other syntax, barring that being changed too | ||
I would be quite happy with :2{...}, moreso than Blob(...) | 00:31 | ||
for that matter ... | |||
cognominal | TimToady, I think the spec should be more explicit about mmd descending to pattern match inner signature. See #76486 for an example. | ||
dduncan | is :2[...] taken for anything? | ||
the reason is, I see square brackets being a mneumonic for something ordered, while curly braces are a mnemonic for something unordered, though blocks defy that | 00:32 | ||
actually, nevermind | |||
:100[...] taken | 00:33 | ||
00:33
blubblub joined
|
|||
dduncan | I'll update my additions to S02 to use :N{...} for now, barring a better option presenting shortly | 00:33 | |
but I also like people being able to use [b|o|x], so ... | 00:34 | ||
tylercurtis | Perhaps a quoting construct similar to that for paths? | 00:35 | |
dduncan | how does :0b{...} being an alias for :2{...} sound? | ||
00:35
xinming_ joined,
blubblub left
|
|||
tylercurtis | q:blob(2){11000101010}? | 00:36 | |
dduncan | I recognize user-defined delimiters being useful for Str, but I don't see the use for Blob, since they have a very small column domain like with numerics | 00:37 | |
00:38
xinming left
|
|||
sorear | Is != considered a derived operator? | 00:38 | |
tylercurtis | dduncan: interpolation might be useful for Blobs, | ||
sorear | dduncan: user-defined delimiters are handled at a very low level in STD.pm6, supporting them is easier than not | 00:39 | |
dduncan | so maybe we could do that then | ||
make the Blob literal into a quotelike syntax of a string | 00:40 | ||
sure, interpolation is useful | |||
for some reason I'm reminded of "formats" | 00:41 | ||
TimToady | there is a problem unless we define types like uint3 | ||
00:42
takadonet joined
|
|||
TimToady | unless we make the Blob role take a number instead of a numeric type | 00:42 | |
takadonet | hey everyone | ||
phenny | takadonet: 11 Jul 17:14Z <moritz_> tell takadonet to look at <nopaste.snit.ch/21946>, which is a working example of lazy matching with Rakudo | ||
00:42
ashleydev joined
|
|||
takadonet | wow.... first time someone left me a message.... | 00:42 | |
dduncan | now, I consider a Blob to be a string of bits specifically, with an octet-Blob to be a subtype whose strings are all multiples of 8 bits in length, etc ... | 00:43 | |
this is different from a string of arbitrary integers | |||
which is different from a string of characters | |||
pugssvn | r31655 | lwall++ | [S02] revise blob literals a bit | 00:44 | |
dduncan | TimToady, thank you for giving attention to this | ||
TimToady | I just invent Uint as a role that takes a number of bits | 00:45 | |
not sure if that'll fly, but didn't want to bless 'uint\d+' as a productive notation just yet | |||
I suppose there will be people who want int24 though | 00:46 | ||
or uint24 | |||
sorear | TimToady: Should &say call .Str or .Stringy? | ||
perl6: say Bool::True | |||
p6eval | pugs, rakudo 94d01f: OUTPUT«1» | ||
TimToady | say is supposed to call .Str as a low-level primitive | 00:47 | |
sorear | what, not True? | ||
TimToady | that doesn't thread | ||
dduncan | I agree that a role approach is better than uint\d+ being magical | ||
sorear | why make uint a role and not a class? | 00:53 | |
pugssvn | r31656 | lwall++ | [S12] define more forced actions on enum values | 00:55 | |
TimToady | classes aren't parameterized | 00:56 | |
sorear | TimToady: is t/spec/S02-builtin_data_types/bool.t:58 now wrong? | ||
00:58
kid51 left,
isBEKaml left
|
|||
pugssvn | r31657 | Darren_Duncan++ | add 2-bits/col blob example | 00:59 | |
dduncan | I would have had that 4th example before had I used numeric bits/col specifiers | 01:01 | |
TimToady is now considering whether roles that instantiate native types should be lowercase, like uint[3] | 01:06 | ||
sorear | A role can instantiate a native type? | 01:08 | |
pugssvn | r31658 | lwall++ | [bool.t] align bool tests with new stringification spec | 01:09 | |
TimToady | well, they would be highly specialized roles | ||
with a circularity saw right under the surface :) | |||
but I don't really wish to predefine int[7] | |||
int7 rather | 01:10 | ||
and Int is supposed to be the generic object, which would be confusing to also have as the native creating role | 01:11 | ||
01:11
cls_bsd left
|
|||
TimToady | or maybe it should be de-huffmanized to native_uint[7] or some such | 01:12 | |
dalek | ecza: f9a7172 | sorear++ | (3 files): Add NIL-accessible control structures |
||
ecza: 919c9fe | sorear++ | Niecza/Grammar.pm6: Better error message for malformed NIL ops |
|||
ecza: ab166f7 | sorear++ | (3 files): Fix conditional parsing; implement NIL comparison operators |
|||
ecza: e92f5a9 | sorear++ | (2 files): Handle infix:<< < >> syntax; implement Num*Num -> Bool operators |
|||
ecza: a22df56 | sorear++ | setting: Move functions after types; add Bool.Str |
|||
ecza: fdc147c | sorear++ | Niecza/Actions.pm: Implement most basic case of CHAIN |
|||
takadonet | ... | ||
TimToady | we need bitfields of arbitrary size if we're going to be able to emulate modern C declarations, for instance | 01:13 | |
01:23
cls_bsd joined
|
|||
TimToady | I'm wondering if it's a mistake to leave time returning fractional seconds when POSIX doesn't define it | 01:29 | |
and people should use now instead for that anyway | |||
pugssvn | r31659 | lwall++ | [S02] s/Uint/uint/ for speculative native role | 01:36 | |
r31660 | lwall++ | [S32] revert C<time> to POSIX integer seconds; don't try to do C<now>'s job | |||
01:36
Trashlord left
|
|||
dduncan | were 'time' and 'now' aliases before this split? | 01:37 | |
nevrmind | |||
about the uint role thing, perhaps more than just [3] could be made role ... eg, why not have the [2] and [4] as well at least? | 01:40 | ||
if not all of them | |||
sorear | TimToady: I'd like a nice way to get at gettimeofday(2) functionity, if available | 01:47 | |
the whole tv_secs + tv_usecs / 1000000.0 thing gets annoying after you've typed it five hundred times | |||
01:49
jaldhar joined
|
|||
dduncan | I don't like the whole usecs thing myself | 01:49 | |
time should be either whole seconds or arbitrary fractions | |||
or if you have to pick a fractional quantum, then something closer to what the computer actually works in makes more sense, like a power of 2 | 01:51 | ||
sorear | what the computer actually actually works in is 1/1193182 second quantums | 01:53 | |
do you really want that? | |||
(for PCs) | |||
I'm happy to have a nice round number portable quantum | |||
even if it means some rounding error | 01:54 | ||
dduncan | I'd rather just have an arbitrary Num or Rat | 01:56 | |
let the system give the fractions in whatever resolution it has | |||
01:56
Kodi joined
|
|||
dduncan | I suspect it isn't the same on every computer ... or at least clock-driven CPU/etc speeds differ | 01:56 | |
just truncate it to the resolution you want to use | |||
sorear | the master timebase is only 1,1193182 Hz on PC compatibles | 01:57 | |
dduncan | will it be forever? | ||
sorear | yes, since it's part of the hardware interface | ||
dduncan | but Perl might run on other things in the future | ||
the point is, hard-coding nanoseconds is a bad idea | 01:58 | ||
sorear | hard coding microseconds is not our choice to make | ||
dduncan | CPUs already execute several instructions in a nanosecond, and would get faster, so I'd think the clock resolution is better than nanoseconds | ||
sorear | not nanoseconds | 01:59 | |
microseconds | |||
dduncan | me brb | ||
er /me brb | |||
Kodi | One issue with making 'time' return an integer is that 'now', given that it uses atomic seconds, is (I imagine) difficult to implement, whereas 'time' is in most cases just a system call. So letting 'time' return non-integers should generally give greater access fractional seconds. | ||
01:59
plobsing joined
|
|||
Kodi | *"access *to* fractional seconds". | 01:59 | |
sorear | www.opengroup.org/onlinepubs/009695...ofday.html | 02:00 | |
also, while the CPU clock may be at >4GHz, CPU clocks are extremely unstable and useless for timekeeping | |||
this is actually on purpose | |||
02:01
masonkramer left
|
|||
sorear | the 1.193182 MHz comes from a crystal oscillator and has quite good stability, around 1 ppm | 02:02 | |
02:02
takadonet left
|
|||
tylercurtis | sorear: so, e.g., a computer with a PPC or ARM processor might have a different clock resolution? | 02:06 | |
sorear | tylercurtis: even an intel mac could have a different one | ||
the clock rate I just gave is set for historical reasons | |||
it was decided because that's what kind of crystal IBM could get cheaply in 1983 | 02:07 | ||
NTSC color decoding crystals (12 * 1.193182) are still pretty abundant, so it's not implausible a different computer maker would choose the same frequency | 02:08 | ||
though I suspect I'm arguing past dduncan | |||
my point is that using microsecond interfaces is annoying and I'd like to get Nums back instead | 02:09 | ||
tylercurtis | It sounded as though dduncan was arguing that hardcoding a specific precision is a bad idea. | 02:10 | |
sorear | we have to hardcode a specific precision in the implementation | 02:13 | |
02:13
Kodi left
|
|||
sorear | we don't have to expose it to user code, and I'd rather we didn't | 02:13 | |
traditionally (Sys6 era) the Mac timebase was 60Hz | |||
I suspect they've added a higher res timer since then | |||
tylercurtis | Right. Don't specify a specific precision in the spec. | 02:19 | |
02:21
xinming joined
02:24
xinming_ left
|
|||
lue | hi o/ | 02:25 | |
sorear | stefan@stefans:~/niecza$ ./niecza -e 'say(2 > 3); say(3 > 2);' | 02:26 | |
Bool::False | |||
Bool::True | |||
\o/ | |||
lue | \o/ | ||
02:27
agentzh joined
|
|||
dalek | ecza: ce81a8f | sorear++ | CodeGen.pm: Fix control operators with net stack effects |
02:31 | |
02:35
ashleydev left,
eternaleye joined
|
|||
sorear | std: anon $x; | 02:36 | |
p6eval | std 31660: OUTPUT«ok 00:01 111m» | ||
sorear | rakudo: anon $x; | ||
p6eval | rakudo 94d01f: ( no output ) | ||
sorear | rakudo: anon $x; say $x; | ||
p6eval | rakudo 94d01f: OUTPUT«Any()» | ||
TimToady | er | ||
std: anon $x; say $x | |||
p6eval | std 31660: OUTPUT«===SORRY!===Variable $x is not predeclared at /tmp/C_DnpkKq0P line 1:------> anon $x; say $x⏏<EOL>Check failedFAILED 00:01 109m» | ||
TimToady | I suspect it's just aliased to 'my' | 02:37 | |
(in rakudo) | |||
mildew: anon $x; say $x | 02:38 | ||
p6eval | mildew: OUTPUT«===SORRY!===Variable $x is not predeclared at c96b5a83a04304000173dd458e5f392a line 1:------> anon $x; say $x⏏<EOL>Check failed» | ||
TimToady | mildew++ ;) | ||
02:42
xinming left
02:43
xinming joined
|
|||
lue | what exactly is the purpose of anon? | 02:44 | |
tylercurtis | std: class Rabbit {...}; my $hat = anon Rabbit sub {...}; | 02:45 | |
p6eval | std 31660: OUTPUT«ok 00:01 111m» | ||
tylercurtis | Also, lue: "The anon declarator allows a declaration to provide a name that can be used in error messages, but that doesn't put into any symbol table:" | 02:46 | |
lue | I read S02's explanation, but I don't see how that's useful [ or even used :) ] | 02:47 | |
tylercurtis | rakudo: anon sub marine () { say "If this shows up, it's a bug."; }; marine(); | ||
p6eval | rakudo 94d01f: OUTPUT«If this shows up, it's a bug.» | ||
tylercurtis | rakudo: my $secret = anon sub marine () {...}; $secret(42); | 02:48 | |
p6eval | rakudo 94d01f: ( no output ) | ||
02:48
xinming_ joined,
xinming left
|
|||
tylercurtis | That should theoretically fail/die with something like "Too many arguments to sub marine." | 02:49 | |
dduncan | sorear, tylercurtis, I was arguing that arguing a specific precision (other than to whole seconds) is a bad idea | ||
I prefer Nums | 02:50 | ||
or Rats | |||
02:51
ajs left
|
|||
dduncan getting off ... IRC is often too distracting to productivity | 02:53 | ||
02:53
dduncan left,
xinming joined
|
|||
lue | hm. could where_blockify in Actions.pm (line 3125) be what causes 'where' to work in parameters? | 02:54 | |
02:54
xinming_ left
|
|||
lue | rakudo: sub xy($a where 0..10) { say $a }; xy(5); xy(34); xy(2); | 02:54 | |
p6eval | rakudo 94d01f: OUTPUT«5» | ||
lue | .oO(Not having an error print is confusing) |
02:55 | |
tylercurtis | Locally: | ||
5 | |||
Constraint type check failed for parameter '$a' | |||
lue | > sub xy($a where 0..10) { say $a }; xy(5); xy(34); xy(2); | 02:56 | |
Too many positional parameters passed; got 2 but expected 1 | |||
my tinkering broke it! :) | |||
02:58
Chillance left
|
|||
sorear | std: my $x; say $$x | 02:59 | |
p6eval | std 31660: OUTPUT«ok 00:01 109m» | ||
sorear | Umm | ||
What does that mean and why is it legal | |||
STD.pm6 claims to be doing "hard reference" syntax | |||
I thought explicit refs were dead? | |||
lue | rakudo: my $x; say $$x # I thought I could make it worth more :) | 03:01 | |
p6eval | rakudo 94d01f: OUTPUT«===SORRY!===Confused at line 20, near "say $$x # "» | ||
lue | rakudo: my $x; say $$x; # I thought I could make it worth more :) | ||
p6eval | rakudo 94d01f: OUTPUT«===SORRY!===Confused at line 20, near "say $$x; #"» | ||
tylercurtis | sorear: $$foo is $($foo) | 03:04 | |
sorear | What is $() | ||
tylercurtis | The scalar contextualizer function. Apparently essentially equal to "item". | 03:05 | |
sorear | My understanding is that .item is always called when something is bound to a $scalar | ||
so $$foo should always be $foo | 03:06 | ||
tylercurtis | There's an example in S03 of calling $$capture to get the invocant of a capture for interpolation purposes. | ||
Or at least, that's what it looks like. | 03:07 | ||
lue | rakudo: my $a = 3; say $$a | 03:08 | |
p6eval | rakudo 94d01f: OUTPUT«===SORRY!===Confused at line 20, near "say $$a"» | 03:09 | |
tylercurtis | Describing interpolating a functions return value into a the arguments to push: it says that "push |func();" is equivalent to "my $capture = \(func()); push $$capture: @$capture, %$capture;" | 03:11 | |
Well, actually, it says, it is equivalent to that "or some such". | 03:12 | ||
03:12
xinming left
03:13
takadonet joined,
hercynium joined
03:18
xinming joined
03:22
Teedev_ joined
03:25
PenThrive joined
03:26
Teedev_ left
03:33
PZt left
03:41
aindilis joined
03:56
cono left
04:01
cono joined,
cdarroch left
|
|||
diakopter | mildew: say &say | 04:07 | |
sorear | perl6: sub bar() { say "Hello"; rand }; class Foo { say (has $.x = bar) } | ||
p6eval | mildew: OUTPUT«unknown method "Str" at message line 134 file build/s1p/src/code.c» | ||
pugs: OUTPUT«Hello0.9335998365268111» | |||
..rakudo 94d01f: OUTPUT«» | |||
sorear | obviously pugs is doing something wrong | 04:08 | |
I'm wondering what the correct behavior here is | |||
Hello is not supposed to be printed; stuff assigned to has variables is only run at BUILD time | |||
but that leaves wide open the question of what has returns | |||
04:10
tedv left,
PZt joined
04:26
meppl joined
04:40
ashleydev joined
|
|||
sorear | stefan@stefans:~/niecza$ ./niecza -e 'my $x; $x = 42; say($x)' | 04:53 | |
42 | |||
dalek | ecza: e7d59a1 | sorear++ | (3 files): Allow intermingling Perl6 terms in NIL |
04:56 | |
ecza: 8517d2f | sorear++ | Niecza/Actions.pm: Implement variable reference syntax |
|||
ecza: 2fbc8c5 | sorear++ | (2 files): Implement variable declarations |
|||
ecza: e22978c | sorear++ | (3 files): Implement assignment (rw checking woefully inadequate atm) |
|||
04:58
tylercurtis joined
05:19
PZt left
05:21
pragma_ left
|
|||
sorear | std: sub foo($x) { my $x; } | 05:25 | |
p6eval | std 31660: OUTPUT«Potential difficulties: Useless redeclaration of variable $x (see line 1) at /tmp/ctqhNvD1Ou line 1:------> sub foo($x) { my $x⏏; }ok 00:01 114m» | ||
05:29
pragma_ joined,
pragma_ is now known as Guest88700
05:31
ashleydev left
05:42
PZt joined
05:44
tylercurtis left
|
|||
moritz_ | std: use v6\ ; | 05:48 | |
p6eval | std 31660: OUTPUT«ok 00:01 110m» | ||
05:58
uniejo joined
06:00
ashleydev joined
06:04
cjk101010 joined
|
|||
sorear | std: sub foo() { :($x); } | 06:19 | |
p6eval | std 31660: OUTPUT«ok 00:01 113m» | ||
sorear | std: sub foo() { :($x) := 2; } | ||
p6eval | std 31660: OUTPUT«ok 00:01 112m» | ||
sorear | How does that work? | ||
rakudo: sub foo() { :($x) := 2; } | |||
p6eval | rakudo 94d01f: ( no output ) | ||
sorear | rakudo: sub foo() { :($x) := 2; }; foo(); say("Alive") | 06:20 | |
p6eval | rakudo 94d01f: OUTPUT«Alive» | ||
sorear | What is the 2 being bound to? | ||
moritz_ | std: :(x) | ||
p6eval | std 31660: OUTPUT«===SORRY!===In parameter declaration, typename 'x' must be predeclared (or marked as declarative with :: prefix) at /tmp/nLEp_gaLUN line 1:------> :(x⏏)Parse failedFAILED 00:01 109m» | ||
moritz_ | std: :($x) | ||
p6eval | std 31660: OUTPUT«ok 00:01 109m» | ||
06:22
mberends joined
|
|||
cxreg | rakudo: my $a := 1; $a++ | 06:23 | |
p6eval | rakudo 94d01f: ( no output ) | ||
moritz_ | dies | 06:24 | |
but p6eval is not good with error reporting :( | |||
sorear | moritz_: do you have a clue what's wrong? | 06:26 | |
moritz_ | sorear: I only know that it started when I put in the safe mode code | ||
sorear | p6eval level or rakudo level? | ||
moritz_ | p6eval level | ||
06:28
baest joined
|
|||
sorear | hrm. token parameter is a bit on the long side | 06:28 | |
06:40
ashleydev left
06:41
HarryS joined
06:42
eternaleye left,
masak joined
|
|||
masak | morning, #perl6! | 06:43 | |
up early. what a concept. :) | |||
lue | ohai masak o/ | 06:44 | |
It's almost midnight here :) | |||
sorear | hello masak! | ||
I've added variables, assignment, booleans, and comparison operators to niecza. | 06:45 | ||
masak | sorear: nice! | ||
sorear | right now I'm working on signatures - soon you'll be able to write subs in pure Perl 6 | 06:46 | |
masak | sounds promising. | ||
sorear | rather than sub square { Q:NIL { =[0] } * Q:NIL { =[0] } } | ||
masak | what's NIL? | ||
sorear | niecza intermediate language | 06:47 | |
it's a bizarre hybrid between Perl 6, C#, and Forth | |||
araujo | other language? | ||
sorear | =[0] pushes the 0th positional argument onto the stack | 06:48 | |
masak | heh :) | ||
sorear | the CLR uses stack-based bytecode; I wrote a code generator to abstract a few presentation details | 06:49 | |
$cg->pos(0); etc | |||
when I needed to start writing glue code, it occurred to me that I could just invent a concrete syntax for codegen calls | 06:50 | ||
which makes for a somewhat bizarre language, but it works | |||
masak | yay! TimToady changed so that True stringifies to "Bool::True" \o/ | 06:53 | |
TimToady++ | |||
sorear | already implemented in niecza | ||
:) | |||
masak | heh :) | 06:54 | |
sorear | the change occured while I was asking about how to implement niecza's Bool.Str | 06:55 | |
it's quite possible these are related | |||
06:57
hercynium left,
sdo joined
|
|||
masak | how would this be done in Perl 6? blogs.perl.org/users/alberto_simoes...ution.html | 06:58 | |
sorear | ("$_[0]aa$_[1]" for ($word =~ m:ex/(.*) oo (.*)/))) is the best I can come up with | 07:01 | |
moritz_ | m:g would probably do | 07:04 | |
sorear | skimming S05 again, the correct syntax appears to be "$_[0]aa$_[1]" for ($word ~~ m:ex/(.*) oo (.*)/; @()) | ||
lue | rakudo: my $word = 'noogoo'; say ($word ~~ m/oo/g) | 07:05 | |
p6eval | rakudo 94d01f: OUTPUT«===SORRY!===Unsupported use of /g; in Perl 6 please use :g at line 20, near ")"» | ||
lue | rakudo: my $word = 'noogoo'; say ($word ~~ m:g/oo/) | ||
p6eval | rakudo 94d01f: OUTPUT«===SORRY!===Unable to parse postcircumfix:sym<( )>, couldn't find final ')' at line 20» | ||
sorear | m:ov would do; m:ex != m:ov only when oo is a regex which can match multiple lengths | ||
diakopter | niecza: my $x; $x = 42; say($x) | 07:06 | |
sorear | if the word is "vrooom", :g -> vraaom, :ov/:ex -> vraaom, vroaam | ||
cxreg | does niecza work on mono? | 07:07 | |
lue | I was thinking of getting a list of all places (StrPos' if they weren't NYI) where 'oo' is found, .pick one from the list, and substitute. | ||
sorear | cxreg: yes | ||
cxreg | ah, looks like it does indeed | ||
sorear | lue: .pick doesn't make an exhaustive list | ||
masak | "Sadly the feedback from the Perl 6 decision makers on IRC after presenting my first draft was not very positive, i almost gave up right there." -- blog.kraih.com/a-logo-for-perl -- I wonder how _sri got that impression. | 07:08 | |
I hope it wasn't something I said. :) | |||
of the butterflies on that page, I like the last pair the best. | 07:10 | ||
moritz_ | masak: from our discussions in #perlde I gathered that _sri want soembody to give him directions what to do in order to make the official logo | ||
sorear | I think that /is/ the official logo | ||
moritz_ | it wasn't that our feedback was negative, but that it wasn't what he expected | 07:11 | |
sorear | the TPF onion is the same onion whether it's a .jpg file or a sheet of paper | ||
camelia is the same, but the requirements for being a camelia are slightly looser | |||
07:11
HarryS left
|
|||
_sri | masak: what moritz said | 07:11 | |
sorear | like Perl 6 itself, the logo is given by spec, not product ;) | 07:12 | |
moritz_ | _sri: I just wished you would formulate it as such on your blog. The current formulation seems a bit unfair | ||
masak | _sri: I agree with moritz_. | ||
_sri: as far as I know, no-one here ever discouraged you. | |||
lue | I never got a chance to look at those logos, and I have to say I like them. | 07:13 | |
_sri | masak: the general apathy was very discouraging, so it was mroe what was not said | ||
masak | _sri: I think you expect too much of a bunch of loosely organized volunteers. | 07:14 | |
_sri | i do realize that i had the wrong expectations | ||
masak | to reiterate, there was no discouragement involved, yet your post makes it seem like there was. | ||
sorear | _sri: I don't understand how you see "apathy" here | 07:15 | |
07:15
HarryS joined
|
|||
_sri | sorear: there is no interest in any kind of marketing here, which i have accepted now | 07:16 | |
sorear | marketing a product with perl 6's level of maturity is very bad form | 07:17 | |
we call the practice 'vaporware' here | |||
masak | we do? :) | ||
I thought the concept "vaporware" wasn't applicable on a product developed in the open. | 07:18 | ||
_sri | the real problem i see is that there is nobody responsible for marketing, be it perl 5 or 6 | ||
sorear | the logo is good and will be used | ||
masak | _sri: you'd probably like to talk to Ovid about that. | ||
_sri | tpf marketing is just an urban myth and does not exist | ||
masak | _sri: he has a marketing role in TPF. | 07:19 | |
sorear | ooh, Ovid doesn't exist? | ||
sorear gets popcorn. | |||
_sri | i've just gone rogue now | ||
_sri is a perl marketing guerilla | 07:20 | ||
viva la revolucion! | |||
lue .oO(PREVIOUSLY, on _The Perl Foundation_ ...) | |||
masak | _sri: I like you. :) | ||
_sri hugs masak | |||
masak | just please try not to call us apathetic and discouraging. :) we're really not. | ||
_sri | thats the vibe i got | 07:21 | |
masak | well, try to pick up the right vibe next time. :) | ||
lue packs up all the bad vibes and sends them to Microsoft | |||
_sri | it's not cool to hate on microsoft anymore | 07:22 | |
lue | s/Microsoft/Microsoft®/ | ||
_sri | these days it's apple | ||
cxreg hates both just to be sure | |||
lue notices that the CEO's of both Microsoft® and Apple®™ have the first name of 'Steve' | 07:23 | ||
_sri | that poor ballmer dude has not made a single good decision in like a decade | 07:25 | |
sorear | I don't hate on anybody. | ||
I'm a very happy person nowadays. | 07:26 | ||
masak | same here. | ||
07:26
skids left
|
|||
lue | .oO(All this talk of marketing and such has given me the urge to patent something ridiculous, like patents, or the color white) |
07:27 | |
07:28
skids joined
|
|||
sorear | I think both of those are already patented. | 07:28 | |
I know UPS has been granted a trademark on the color brown. | |||
lue | I know there's a patent for the hyperlink :) | 07:29 | |
diakopter | 07:31 | ||
sorear | |||
masak | |||
the people over at news.ycombinator.com/item?id=1508071 think that the difference between 'while EXPR' and 'repeat while EXPR' is a bit subtle. I agree, but I also expect of any non-crappy programmer to notice such a difference. | 07:33 | ||
especially since the difference is situated right at the left end of the line, where all the important information is supposed to be located. | |||
sorear | it's no more subtle than the difference between $x + $y and $x - $y | 07:35 | |
masak | ooh. I'll write that :) sorear++ | ||
lue | rakudo: my $a; say $a.WHO ~~ $a.WHAT # just wondering | ||
p6eval | rakudo 94d01f: OUTPUT«0» | 07:36 | |
07:36
apribadi joined
07:37
sorear sets mode: +oovv mberends colomon ilogger2 buubot,
apribadi left
|
|||
masak | time to hop on a train, travel to a small township, and be a teacher for a week. o/ | 07:38 | |
07:38
masak left
|
|||
lue | hm, I need to recharge myself. Goodnight o/ | 07:38 | |
07:47
tadzik joined
07:49
drbean_ joined
07:50
rv2733 joined
|
|||
sorear | stefan@stefans:~/niecza$ ./niecza -e 'sub square($x) { $x * $x }; say(square(5))' | 07:51 | |
25 | |||
dalek | ecza: 60c9436 | sorear++ | (2 files): Add signature parsing |
||
ecza: 31c63f2 | sorear++ | (4 files): Implement signature binder for subs |
|||
07:54
plobsing left
08:08
kloeri joined
08:10
arnsholt joined
|
|||
dalek | ecza: eba37ef | sorear++ | setting: Use named variables in setting after Any available |
08:21 | |
08:28
dakkar joined
08:29
cono left
08:30
cono joined
08:33
thebird joined
08:38
arnsholt left
|
|||
moritz_ | I have a patch for Bool, but it works only half-ways: | 08:39 | |
./perl6 -e 'say ~True; say True.Str' | |||
1 | |||
Bool::True | |||
08:39
arnsholt joined
|
|||
moritz_ | which is kinda... surprising :-) | 08:39 | |
mathw | yes | 08:40 | |
but Bool is weird | |||
in the current impl. | |||
moritz_ | aye | 08:41 | |
kinda-like-an-enum-but-not-quite | |||
sorear | phenny: tell TimToady I found a buglet in STD.pm6; after sub infix:<=>($x,$y) { ... }; $x = $x + 1 is parsed as ($x = $x) + 1 | 08:45 | |
phenny | sorear: I'll pass that on when TimToady is around. | ||
sorear | phenny: i.o.w., within the setting standard operator precence is ignored, the sub{} makes STD forget its default precedence rules | ||
phenny: tell TimToady i.o.w., within the setting standard operator precence is ignored, the sub{} makes STD forget its default precedence rules | 08:46 | ||
phenny | sorear: I'll pass that on when TimToady is around. | ||
dalek | ecza: b1b78bb | sorear++ | Niecza/Actions.pm: Implement postfix operators |
||
ecza: d9f32f0 | sorear++ | Niecza/Actions.pm: Implement prefix operators |
|||
ecza: e7d7f2c | sorear++ | Niecza/Actions.pm: Implement (expr) |
|||
ecza: cd88b18 | sorear++ | setting: Implement ++ and -- |
|||
sorear | ok, I just need control operators and binding and I will have caught up to yapsi | 08:49 | |
moritz_ | yapsi: my $x := 1; say $x | ||
p6eval | yapsi: OUTPUT«Couldn't handle instruction `bind '$x', <constant>`» | ||
moritz_ | yapsi: my $x = 1; my $y := $x; say $y | 08:50 | |
p6eval | yapsi: OUTPUT«1» | ||
08:53
Intensity left,
muixirt joined
08:57
mantovani left
09:01
clintongormley joined
|
|||
moritz_ | phenny: tell masak reminder: today is #phasers, if you don't make it, you can pre-post a report :-) | 09:05 | |
phenny | moritz_: I'll pass that on when masak is around. | ||
09:09
jackyboy joined,
cono left
09:15
cono joined
09:27
jackyboy left
09:28
Ross joined,
cono left
09:29
cono joined
09:31
timbunce joined
09:34
mantovani joined
09:36
pmurias joined
09:40
dju left
09:41
tadzik left
|
|||
moritz_ | rakudo: say ?(all("a" => 1, "b" => 2) ~~ Pair) | 09:42 | |
p6eval | rakudo 94d01f: OUTPUT«0» | ||
moritz_ | it always surprises me that type checks don't autothread | ||
09:43
kfo_ joined
|
|||
bbkr | good localtime() | 09:43 | |
09:44
Mowah joined
09:46
kfo left
|
|||
arnsholt | Is there some kind of approval of modules for Rakudo *, or should I just put my module on the list? =) | 09:49 | |
moritz_ | arnsholt: if you think it could be useful for people, add it to the list | 09:50 | |
bbkr | what is the name of the library that iss required to enable icu? | ||
arnsholt | On Debian-likes you need icu and icu-dev (IIRC) | 09:51 | |
Lemme check | |||
libicu-dev | |||
bbkr | ok, thanks. exactly: libicu-dev | 09:52 | |
arnsholt | There. Added Algorithm::Viterbi to the Rakudo * list | ||
moritz_ | btw that's also mentioned in the README | ||
aptitude install build-essential libicu-dev subversion | |||
09:54
tadzik joined
09:57
PenThrive left
|
|||
sorear starts on a C replacement for App::Persistant with a few extra frills for p6eval mildew and niecza | 10:00 | ||
10:02
dju joined
10:04
Mowah left
|
|||
moritz_ | rakudo: multi a([]?) { say "there" }; a() | 10:06 | |
p6eval | rakudo 94d01f: OUTPUT«there» | 10:07 | |
10:07
Guest88700 left,
Guest88700 joined,
Guest88700 is now known as pragma_
10:13
ruoso left,
Mowah joined
|
|||
pmurias | sorear: you want to reimplement the client in C? | 10:14 | |
sorear: or the server part? | 10:15 | ||
sorear | pmurias: with a little bit of redesigning | ||
moritz_ | mildew: say 1 + 2 | ||
p6eval | mildew: OUTPUT«Could not find variable &infix:+ in the lexical scope.» | ||
10:15
dju left
|
|||
sorear | moritz_: would it be useful for me to experiment with setting up niecza on a feather? | 10:25 | |
pmurias | sorear: why not make it compatible with the orginal? | 10:28 | |
sorear: does App::Persistent have any obvious flaws? | 10:29 | ||
sorear | other than the complete lack of security, no | 10:31 | |
but I have a bad feeling about the protocol | 10:32 | ||
pmurias | what's wrong with the protocol? | ||
sorear: setting the file permissions on the socket should provide enough security? | 10:33 | ||
sorear | no | ||
unix-domain sockets ignore all filesystem access bits | 10:34 | ||
pmurias | wrap it in a directory? | ||
sorear | as for the protocol... it's too tightly coupled to the design of the client, imo | ||
pmurias | two different clients exists for App::Persistent | 10:35 | |
that reminds me that i should fix the way the one i wrote finds the socket | 10:36 | ||
sorear: how is your protocol different? | 10:39 | ||
sorear | In the Linux implementation, sockets which are visible in the file sys‐ | ||
tem honor the permissions of the directory they are in. Their owner, | |||
group and their permissions can be changed. Creation of a new socket | |||
will fail if the process does not have write and search (execute) per‐ | |||
mission on the directory the socket is created in. Connecting to the | |||
socket object requires read/write permission. This behavior differs | |||
from many BSD-derived systems which ignore permissions for Unix sock‐ | |||
ets. Portable programs should not rely on this feature for security. | |||
irssi-- failing to autowrap if and only if I expect it to | |||
pmurias | sorear: where's the quote from? | 10:40 | |
sorear | unix(7) | ||
pmurias | did any one verify that? | 10:41 | |
sorear | oh, the most important reason not to like the protocol: it's undocumented | 10:42 | |
pmurias | you could fix that easily | ||
sorear | no | ||
you could | |||
but I don't understand every single quirk of the protocol yet | |||
baest | FreeBSD seem only to require write permission for the socket(file) | ||
sorear | because the protocol definiton is split between a multi-module program | 10:43 | |
pmurias | sorear: you have seen bin/pclient.pl? | ||
sorear | I assume it's a buggy WIP | 10:44 | |
it's far too short to be complete | |||
10:45
Mowah left
|
|||
sorear | also, I was trying to generalize | 10:48 | |
provide a low level discovery + autostart + authentication + communication system | |||
and a forking + stdio thing on top of that | |||
so I could reuse the lower level for other kinds of persistant programs besides short-lived ones | 10:49 | ||
10:49
Mowah joined
10:53
dual left
10:55
skids left
|
|||
pmurias | sorear: re bin/pclient.pl i think the only omission is that it doesn't send and EndOfFile message and the significant bug is that it has a hard-wired socket path | 11:00 | |
11:00
dual joined
|
|||
pmurias | sorear: and how do you plan to achive security in you plan? | 11:00 | |
11:02
Ross left,
Ross joined
|
|||
sorear | create a mode 0600 file with 64 bytes from /dev/urandom | 11:06 | |
server generates it and stores the token | |||
clients must correctly send the token | |||
(this procedure stolen directly from X11) | |||
pmurias | X11 had a few security holes with it's authentication mechanisms | 11:07 | |
sorear | yes | 11:08 | |
so, they got rid of their old auth mechanism and replaced it with the one I just described | 11:09 | ||
the old mechanism was based on a hosts access list | |||
among other things, because localhost was always trusted, local users could exploit it | |||
frettled | sorear: ¿ jani.at.ifi.uio.no/other/X-minimal-security.txt ? | 11:11 | |
sorear | frettled: yes | 11:13 | |
I'm cloning xauth, basically | 11:14 | ||
except it can be much simpler because ssh has been invented | |||
frettled | I should have updated that document years ago, when OpenSSH arrived with its fancy-schmancy -X option, and then later with its -Y option. :) | ||
sorear | so I don't need to support having >1 tokens | ||
frettled | mm | ||
sorear: BTW, irssi's autowrap failed because what you pasted was from a multi-line source. Normally, irssi ought to warn you about pasting that long stuff and ask that you press ctrl+k to continue, or abort. | 11:16 | ||
11:17
Ross left
|
|||
sorear | frettled: it does, but the warnings are wildly inaccurate when autowrap is being used, so I ignore the line counts | 11:18 | |
usually I paste 8 lines and irssi sends 2 lines to the server | |||
frettled | sorear: I haven't managed to confuse irssi yet, but then again, for long pastes, I usually use nopaste-websites. And it's been a while since I used 0.8.12. | 11:24 | |
But back to something more on-topic: | |||
why do you need to store the result from urandom in a file? | 11:25 | ||
moritz_ | #perl6 - the place where even off-topic discussions are interesting :-) | ||
sorear: sorry, was gone for lunch... p6eval doesn't run on feather, so it doesn't matter to me where you experiment | 11:26 | ||
sorear: as long as the result is a set of instructions that I can follow :-) | |||
sorear | frettled: so the client can find it. c.f. .Xauthority | ||
moritz_ | why does it feel you're re-inventing a wheel? :-) | 11:27 | |
11:27
Lorn joined
|
|||
frettled | There's something buzzing in my head that says there should be some sort of cryptography involved here. Hmm. :) | 11:30 | |
11:31
Ross joined
|
|||
dalek | ecza: e821de7 | sorear++ | Niecza/Actions.pm: Implement bare blocks |
11:31 | |
ecza: 7241a06 | sorear++ | (2 files): Implement if-statements |
|||
ecza: 7a830e4 | sorear++ | (2 files): Implement while and until loops |
|||
ecza: 91580e7 | sorear++ | setting: Use a p6 conditional in Bool.Str |
|||
moritz_ | btw Bool.Str and Bool.perl return the same result | 11:33 | |
11:36
Ross left
|
|||
frettled | rakudo: my Bool $a = False; $a.perl.say; $a.Str.say; | 11:39 | |
p6eval | rakudo 94d01f: OUTPUT«Bool::FalseBool()<0x601c200>» | 11:40 | |
frettled | moritz_: Did you mean something else? | ||
dalek | kudo: ae4538a | moritz++ | src/core/Bool.pm: Bool.Str |
||
moritz_ | frettled: now they do. And that's what the spec says | 11:41 | |
frettled | moritz_: aha | ||
frettled does a git pull locally. | |||
moritz_ | I had that patch locally for some hours, but forgot to push | 11:42 | |
frettled++ | |||
frettled | Nono, moritz++, your fix | ||
11:43
Mowah left
|
|||
moritz_ | we can both have karma :-) | 11:43 | |
frettled | without unnecessary memes, too! :D | 11:44 | |
moritz_ | LOL? | ||
jnthn | plz can haz more memes? kthnxbai | 11:45 | |
moritz_ | ./pls install memez | ||
frettled | /o\ | ||
moritz_ | I'm now spectesting a patch which removes the match-bool.pm cheat | 11:46 | |
frettled | Apparently, my old Parrot was so old that I had to remove the entire Parrot tree. | ||
Now where can the bird sit while I download? | |||
moritz_ | that's what it got wings for. | ||
frettled | The risk is that Parrot goes awk. | 11:47 | |
moritz_ | hey, has anybody implemented awk for parrot? | ||
11:48
Mowah joined
|
|||
muixirt writes 'awk' on moritz' todo list | 11:52 | ||
pugssvn | r31661 | moritz++ | [t/spec] fudge bool.t for rakudo, add tests for .Str | ||
moritz_ re-schedules it for after perl 6.2.0 | |||
12:04
dju joined
12:05
Trashlord joined,
envi^home joined
12:08
dju left
12:11
Intensity joined
|
|||
tadzik | rakudo: my @a = <foo bar asd>; @a.kv.kv | 12:13 | |
p6eval | rakudo 94d01f: ( no output ) | 12:14 | |
tadzik | rakudo: my @a = <foo bar asd>; @a.kv.kv.say | ||
p6eval | rakudo 94d01f: ( no output ) | ||
tadzik | hrm | ||
===SORRY!=== Cannot resume dead coroutine. here | |||
why so? | |||
moritz_ | rakudo bug | ||
tadzik | to file? | 12:15 | |
moritz_ | if you execute the same gather/take twice (before the first one is exhausted), you get that error | ||
doesn't hurt to file it | |||
tadzik | there is gather/take here? | 12:16 | |
moritz_ | seems like, yes | ||
arnsholt | Implemented as gather { $i = 0; take $_, $i++ for @arr } I guess | 12:17 | |
12:18
hatsefla1s joined,
hatsefla1s is now known as hatseflats
|
|||
tadzik | « and » operators are hell mysterious to me. Gosh, I thought Perl 5 was complex and complicated | 12:20 | |
12:22
Mowah left
|
|||
arnsholt | tadzik: They're sugar over loops, sort of | 12:22 | |
jnthn | tadzik: They just mean "take this other operator and do it to everything in the list". They're meta-operators really. If you think of operators as functions, then meta-operators are just higher-order functions. | ||
tadzik | like [op]? | ||
moritz_ | except when used as quoting construct | ||
jnthn | Then they ain't being operators. :P | 12:23 | |
moritz_ | tadzik: [op] is also a meta operator, yes | ||
also acting on lists | |||
tadzik | ah, but unlike [op] they take 2 lists as an arg? | 12:24 | |
12:24
skids joined
|
|||
moritz_ | >>+<< takes a list on either side | 12:25 | |
>>+>> takes a list on one side, and a scalar on the other | |||
12:27
Mowah joined
|
|||
tadzik | rakudo: (1, 2, 3, 4).list »+» 1 | 12:27 | |
p6eval | rakudo 94d01f: ( no output ) | ||
tadzik | rakudo: my @a = 1, 2, 3, 4; @a >>+>> 2; @a.perl.say | 12:28 | |
p6eval | rakudo 94d01f: OUTPUT«[1, 2, 3, 4]» | ||
moritz_ | it doesn't modify in-place | ||
tadzik | oh, does not work locally | ||
yeah, I see now | |||
moritz_ | rakudo: my @a = (1, 2, 3, 4) >>+>> 2; @a.perl.say | 12:29 | |
p6eval | rakudo 94d01f: OUTPUT«[3, 4, 5, 6]» | ||
tadzik | I get "Could not find sub &infix:<>>+>>>" in REPL | ||
latest monthly release | |||
I guess I have to switch to git | |||
moritz_ | good choice :-) | ||
tadzik | more fun is fun :) | 12:30 | |
bah, I'll have to get parrot from svn | |||
btw, moritz_, how is try.rakudo.org going? | |||
frettled | Hrm, I can't get the Unicode versions to work locally, weirdness. | 12:31 | |
moritz_ | tadzik: ash_ and cygx have done impressive work; now somebody just needs to glue it together | ||
[Coke] | tadzik: there is a git mirror of parrot. but then you can't use rakudo's gen-parrot. pick your poison. | 12:36 | |
moritz_ | rakudo: say <vermin poison toxin>.pick | 12:37 | |
p6eval | rakudo 94d01f: OUTPUT«poison» | ||
12:37
dju joined
12:38
ruoso joined
12:39
timbunce left,
timbunce joined
12:41
dju_ joined
12:42
dju left
|
|||
pmurias | ruoso: hi | 12:43 | |
ruoso: if the mildew test suit (the p6 tests) takes a long time will we run it on installation? | 12:44 | ||
moritz_ | you can have a default 'test' and an additional 'fulltest' or 'stresstest' target | 12:46 | |
ruoso | pmurias, I agree with moritz_... it's important to have a minimal set of sanity checking tests | 12:48 | |
12:49
SmokeMachine joined
12:52
SmokeMachine left
|
|||
arnsholt | Rakudo recently moved to something like that, no? | 12:52 | |
moritz_ | well, we've had 'make test' for ages | 12:53 | |
but it's new that 'make spectest' doesn't run all the tests known to pass ('make stresstest' does that now) | |||
pmurias | ruoso: in which dist will we keep the tests? | ||
moritz_ | don't you have one dist which depends on all others? | 12:54 | |
pmurias | Mildew-Setting-SMOP | ||
moritz_ | ie the one that can actually run the compiler? | ||
then keep the tests there | |||
12:54
baest left
12:56
[particle] joined,
SmokeMachine joined,
Kodi joined
|
|||
ruoso | pmurias, yeah... keep the tests on the dist that provides what's needed for it... the p6 tests are probably going to Mildew-Setting-SMOP, yes | 12:58 | |
Kodi | Any idea when rt.perl.org/rt3//Public/Bug/Display...l?id=76376 will be merged into master so I can submit my own Temporal patch? | ||
moritz_ | rakudo has a 'make release' that copies the tests into the tarball | 12:59 | |
Kodi: I'll try to remember reviewing/applying it tonigh | 13:00 | ||
Kodi | moritz_: Cool. | ||
13:02
takadonet left
13:05
Kodi left,
agentzh left
|
|||
[Coke] | rakudo: <cheap fast right>.pick(2)>>.say | 13:07 | |
p6eval | rakudo ae4538: OUTPUT«cheapfast» | ||
hejki | rakudo: <wait work home>.pick(1).say | 13:08 | |
p6eval | rakudo ae4538: OUTPUT«wait» | ||
13:10
IllvilJa left
|
|||
PerlJam | it would be interesting if you could supply pick() with a distribution function or a set of weights so that it could pick items in a non-evenly distributed fashion. | 13:11 | |
moritz_ | isn't that specced already? | ||
I have something in the back of my mind, with hashes where the values denote the weight | |||
PerlJam | Dunno. Just thought of it and didn't remember seeing it before. | 13:12 | |
moritz_ | btw RT#76376 looks fine, I just can't apply it from $work | ||
jnthn | I seem to recall .pick on hashes did something like that too | 13:15 | |
moritz_ | rakudo: my @a = 0, 0; for ^10 { @a[{0 => 1, a => 5}.pick]++ }; say @a.perl | 13:16 | |
PerlJam | ah, yes S32-setting-library/Containers.pod:936 | ||
p6eval | rakudo ae4538: ( no output ) | ||
moritz_ | PerlJam: you're my hero :-) | 13:17 | |
PerlJam: guess what the next weekly challenge will be? :-) | 13:18 | ||
PerlJam | heh :-) | ||
moritz_++ | |||
13:18
plainhao joined
|
|||
pugssvn | r31662 | pmurias++ | [mildew] port over signatures | 13:23 | |
r31663 | pmurias++ | [mildew-setting-smop] port over Exception | |||
r31664 | pmurias++ | [mildew-setting-smop] copy over the tests from mildew-old | |||
r31665 | pmurias++ | [mildew-setting-smop] ported over Failure and Multi | |||
r31666 | pmurias++ | [mildew-setting-smop] p5 and p6 tests are distinguished | |||
r31667 | pmurias++ | [mildew-setting-smop] hack so that True and False work correctly | 13:37 | ||
13:41
am0c joined
13:48
FardadJalili joined
|
|||
moritz_ | github.com/moritz/perlgeek.de/blob/...h-pick.txt any feedback before I blog it? | 13:51 | |
frettled has a look-see. | 13:52 | ||
PerlJam | line 28: s/implement/implemented/ | ||
moritz_ fixes | 13:53 | ||
13:53
drbean_ is now known as drbean
|
|||
PerlJam | moritz_: looks good | 13:53 | |
frettled | Yup. | 13:54 | |
moritz_ | perlgeek.de/blog-en/perl-6/contribu...-pick.html lolihazblogged | 13:58 | |
frettled | shock horror | 13:59 | |
moritz_ | :-) | ||
frettled | I guess I forgot to mention that the upgraded local Rakudo performed as expected, regarding Bool.Str and Bool.perl. | ||
14:00
tylerni7 left
|
|||
moritz_ | great | 14:00 | |
but not regarding ~Bool :( | |||
14:01
tylerni7 joined
|
|||
ruoso | does anyone have a working link for the proposed amelia logo? the blog have its image references broken (at least behind proxies) | 14:01 | |
moritz_ | ruoso: files.posterous.com/kraih/UeHAH1Jdb...mJbJ2rM%3D for example... does that link for you? | 14:03 | |
_sri | oh noes, link the good ones | 14:04 | |
that one is an example for a failed attempt :S | 14:05 | ||
moritz_ | _sri: then provide a link to a good one :-) | ||
_sri | kraih.com/perl-clean-sri.png | ||
FardadJalili | moritz_: line 14: s/has method/has a method/ | 14:06 | |
PerlJam wonders if you could make a stylized butterfly out of the letters in Perl | |||
moritz_ | FardadJalili: thanks, fixing... | 14:07 | |
14:07
gbacon joined
|
|||
pmurias | sorear: re App::Persistent security i creates the sockect in a 700 dir | 14:07 | |
* socket | |||
14:08
uniejo left
14:13
plobsing joined,
SmokeMachine left
|
|||
ruoso | the logo is cute... it's actually a dragonfly.... | 14:17 | |
dalek | ok: eb4182a | util++ | Makefile: Changed `perl` into macro to allow command-line override to non-system perl |
14:21 | |
14:21
tylercurtis joined
14:38
SmokeMachine joined
14:41
plobsing left
14:44
FardadJalili left
14:49
SmokeMachine left
|
|||
dalek | ok: ce34472 | util++ | Makefile: Normalize list of chapter files |
14:51 | |
14:53
SmokeMachine joined
14:58
FardadJalili joined
15:00
FardadJalili left
15:06
SmokeMachine left
|
|||
dalek | ok: d24ec3e | util++ | README: Add to README info on TeX for other platforms |
15:10 | |
ok: 9c8a264 | util++ | README: Change Pod::PseudoPod::LaTeX version number in README to match what is actually |
|||
15:10
IllvilJa joined,
Mowah left
15:11
dolmen__ joined
|
|||
dolmen__ | Looks like the community has a good logo designer: blog.kraih.com/a-logo-for-perl | 15:12 | |
frettled | dolmen__: oh, those are really nice! | 15:17 | |
15:22
Mowah joined
15:26
patspam joined
|
|||
jnthn | files.posterous.com/kraih/UeHAH1Jdb...x5cFdtg%3D # nice | 15:27 | |
_sri | i consider that one the worst :) | 15:28 | |
15:29
muixirt left
15:33
macdaddy joined,
macdaddy is now known as Guest72640
|
|||
tylercurtis doesn't understand why some people seem to absolutely hate Camelia. | 15:36 | ||
dolmen__ | Perl 6 is not being designed by a 4 years old child, while Camelia looks like it is... | 15:39 | |
diakopter | well | 15:40 | |
dalek | ok: 85e9e39 | util++ | README: Add more IRC contact info to README |
||
ok: 7c9eae8 | util++ | README: Add Inkscape link to README |
|||
15:44
rgrau` joined
15:46
Mowah left
15:47
justatheory joined
|
|||
diakopter | this one fixes my complaints: posterous.com/getfile/files.postero...ia-sri.png | 15:53 | |
(too much blocky contrast, too much saturation) | 15:54 | ||
15:55
sdo left
|
|||
pugssvn | r31668 | pmurias++ | [mildew] no adhoc_signatures; | 16:02 | |
r31669 | pmurias++ | [mildew] port over the integer multis | |||
pmurias | ruoso: regression from mildew are down from 5 to 4 failing tests (plus the 3 tests for the disabled p5 interop) | 16:03 | |
ruoso: what i'm considering is taking some time to determin why compiling the CORE is taking so long and restoring App::Persistent support | 16:07 | ||
16:08
SmokeMachine joined
16:13
eternaleye joined
16:19
am0c left
|
|||
[Coke] | I am sure there are better ways to stump for a new logo than calling larry a four year old. I'm not sure what they are, but there you go. =-) | 16:24 | |
16:25
hercynium joined
16:31
justatheory left
16:33
eternaleye left
|
|||
tadzik | rakudo: (3/8).nude # what method is this? | 16:34 | |
p6eval | rakudo ae4538: ( no output ) | ||
16:36
dolmen__ left
16:38
ashleydev joined,
TiMBuS left
|
|||
jnthn | tadzik: Returns the numerator and the denominator of the Rat | 16:38 | |
rakudo: (3/8).nude.perl.say | 16:39 | ||
p6eval | rakudo ae4538: OUTPUT«(3, 8)» | ||
tadzik | yep, read the source code | ||
jnthn | Nice name... :-) | ||
tadzik | It reminded me of some cpan module, "See your data in nude", and I wondered if anything else has this :) | ||
16:42
zostay left,
envi^home left
16:43
zostay joined
|
|||
ruoso | pmurias, I'd suggest hunting down the regressions first so we can have a publish-grade package | 16:52 | |
pmichaud | good morning, #perl6 | 16:56 | |
jnthn | morning, pmichaud | ||
16:56
cdarroch joined,
cdarroch left,
cdarroch joined
|
|||
moritz_ | hi pmichaud | 16:56 | |
I hope you're enjoying your vacations | |||
pmichaud | very much so | 16:57 | |
beautiful weather and scenery here | |||
16:59
rv2733 left
|
|||
pugssvn | r31670 | moritz++ | [t/spec] s/skip/todo/ a few tests | 16:59 | |
moritz_ | std: class A { }; A.new(:x<a>, :Parent{:y<b> }) | 17:00 | |
p6eval | std 31669: OUTPUT«ok 00:01 114m» | ||
moritz_ | std: class A { }; A.new(:x<a>, Parent{:y<b> }) | ||
p6eval | std 31669: OUTPUT«===SORRY!===Undeclared name: 'Parent' used at line 1Check failedFAILED 00:01 112m» | ||
moritz_ | std: class A { }; class Parent; A.new(:x<a>, Parent{:y<b> }) | ||
p6eval | std 31669: OUTPUT«===SORRY!===Too late for semicolon form of class definition at /tmp/O0yAiPC3Kb line 1:------> class A { }; class Parent⏏; A.new(:x<a>, Parent{:y<b> }) expecting any of: name traitParse failedFAILED 00:01 107m» | ||
moritz_ | std: class A { }; class Parent { }; A.new(:x<a>, Parent{:y<b> }) | 17:01 | |
p6eval | std 31669: OUTPUT«ok 00:01 112m» | ||
moritz_ | I know what it does, but what kind of construct is this syntactically? | ||
rakudo: say ~Str.^parents(:tree) | 17:02 | ||
p6eval | rakudo ae4538: OUTPUT«Cool() Any() Mu()» | ||
moritz_ | rakudo: say Str.^parents(:tree).perl | ||
p6eval | rakudo ae4538: OUTPUT«([Cool, [Any, [Mu]]], )» | ||
17:03
SmokeMachine left
17:07
SmokeMachine joined
17:11
constant left,
cognominal left
|
|||
bbkr | awesome syntax! easiest metaobject access ever :) | 17:12 | |
17:13
constant joined,
cognominal joined
17:14
constant left
|
|||
bbkr | rakudo: class A is Mu {}; say A.^parents(tree => True).perl | 17:14 | |
17:14
constant_ joined
|
|||
p6eval | rakudo ae4538: OUTPUT«([Mu], )» | 17:14 | |
17:14
dakkar left
17:20
thebird left
17:27
Phar joined
17:30
constant_ is now known as constant
17:32
SmokeMachine left,
Phar left
17:33
Phar joined
17:34
tedv joined,
SmokeMachine joined,
hercynium left
17:36
Phar left
17:37
Phar joined
|
|||
pugssvn | r31671 | pmurias++ | [mildew] [smop] fix bug with wrong handling of unicode literals | 17:37 | |
pmichaud | jnthn: ping | ||
pmurias | ruoso: fixed 1 regression, 3 to go | ||
17:38
takadonet joined
17:39
Ross joined,
mberends_ joined
|
|||
lue | goodtime #perl6 o/ | 17:40 | |
jnthn | pmichaud: pong | 17:41 | |
pmichaud | jnthn: I'm a bit concerned about the fix for TT #1631 | 17:42 | |
jnthn | Adding the pop_eh? | ||
pmichaud | right. | ||
jnthn | I don't think a CATCH should catch stuff thrown within it. | ||
pmichaud | doing the pop_eh removes the handler. | ||
ingy | greetings | ||
jnthn | Right, that's what I intended. | 17:43 | |
ingy | jnthn: I agree | ||
pmichaud | perhaps not, but triggering a CATCH shouldn't disable it for all subsequent exceptions, either. | ||
jnthn | huh? | ||
It doesn't push_eh it next time around in the block? | |||
pmichaud | die "1"; die "2"; CATCH { resume } | ||
jnthn | Oh. :S | ||
17:44
cosimo left
|
|||
jnthn | OTOH, I'd take getting basic exceptions and throws from within the block over resumable exceptions, if it's the choice between them. | 17:44 | |
(until we work out a way to do both) | |||
pmichaud | we have to be able to handle both, though. | ||
maybe just update the ticket to point out that it's not resolved? | |||
jnthn | Can do | 17:45 | |
pmichaud | the lack of a pop_eh was intentional. | ||
jnthn | We have spectests running for the fixed case now, so a fix to re-instnate the resumability will get caught by that if it breaks things again. | ||
pmichaud | we need a way to throw exceptions such that they skip the current handler. | 17:46 | |
(or the current handler otherwise ignores them) | 17:47 | ||
17:48
SmokeMachine left
|
|||
jnthn | ticket updated with this discussion | 17:48 | |
pmichaud | thanks. | ||
jnthn | It seems that CATCH in general needs work though | 17:49 | |
pmichaud | well, exceptions in Parrot still need work | ||
jnthn | Since at the moment we always mark an exception handled. | ||
There is that :-) | |||
ingy | rakudo: class C { has $.h; has $!h }; say C.new.^attributes | 17:52 | |
p6eval | rakudo ae4538: OUTPUT«===SORRY!===Can not re-declare attribute $!h at line 20, near " }; say C."» | ||
ingy | I think I'll make YAML dump object attributes without the $x | 17:53 | |
pmichaud | I never could get Allison (or Whiteknight) to recognize that there are three paths out of an exception handler. | 17:54 | |
And as such, Parrot's exception handling model is broken for Perl 6 purpose. | |||
*purposes. | |||
ingy | pmichaud: did you see gist.github.com/473265 ? | ||
17:54
patspam left
|
|||
pmichaud | although it may be better now with NotFound++'s resume patch. | 17:54 | |
haven't looked recently. | 17:55 | ||
ingy: \o/ | |||
17:55
justatheory joined
|
|||
ingy | how do I prep modules for rakudo *? | 17:56 | |
pmichaud | probably just make them available to proto and/or pls | ||
Tene | pmichaud: you could also have Perl6 exception handlers introspect the exception and determine whether it was thrown from within the EH, and rethrow it if so. | 17:57 | |
17:57
pyrimidine joined
|
|||
pmichaud | Tene: is there an easy way for "determine whether it was thrown from within the EH?", ooc? | 17:57 | |
ingy update proto | |||
Tene | pmichaud: get the continuation and walk its contexts, oslt. | 17:58 | |
17:58
patspam joined
|
|||
Tene | My initial prototype of that worked in what seemed the obvious way at the time. | 17:58 | |
I don't remmebr the details of what that was, though. | |||
afk; meeting | |||
pmichaud | yeah, seems like a method on the Exception object to ask its source would work. | 17:59 | |
18:00
cj joined
|
|||
pmichaud | At any rate, even with the additional text for TT #1631 I'm uncomfortable with where we sit now, because we're (1) changing a documented behavior without a deprecation cycle, and we're introducing a "fix" that we know we'll have to switch back (again without a deprecation cycle). | 18:00 | |
18:00
Ross left
18:01
Ross joined
|
|||
lue | is TT different from the RT ? | 18:01 | |
pmichaud | TT is Parrot's ticket system | ||
trac.parrot.org | |||
lue | ah, ok. | 18:03 | |
mberends_ | cxreg: ping | ||
18:04
hercynium joined
18:06
SmokeMachine joined
|
|||
pmichaud | moving discussion to #parrot; bottom line is that I'm thinking of reverting r48074. It's wrong to have it there on several layers. | 18:06 | |
18:06
SmokeMachine left
|
|||
lue | rakudo: subset Byte where 0..0xFF; my Byte $a; $a = 300; say "$a made it!" | 18:09 | |
p6eval | rakudo ae4538: ( no output ) | ||
lue | rakudo: subset Byte of Int where 0..0xFF; my Byte $a; $a = 300; say "$a made it!" | ||
p6eval | rakudo ae4538: ( no output ) | 18:10 | |
tylercurtis | akudo: subset Byte where 0..0xFF; my Byte $a; $a = 255; say "$a made it!" | ||
rakudo: subset Byte of Int where 0..0xFF; my Byte $a; $a = 255; say "$a made it!" | |||
p6eval | rakudo ae4538: OUTPUT«255 made it!» | ||
18:11
dakkar joined
|
|||
tylercurtis | rakudo: subset Byte where 0..0xFF; my Byte $a; $a = 255; say "$a made it!" | 18:11 | |
p6eval | rakudo ae4538: OUTPUT«255 made it!» | ||
tylercurtis | rakudo: subset Byte where 0..0xFF; my Byte $a; $a = 253.4; say "$a made it!" | ||
p6eval | rakudo ae4538: OUTPUT«253.4 made it!» | ||
18:11
Phar left,
SmokeMachine joined
|
|||
tylercurtis | rakudo: subset Byte of Int where 0..0xFF; my Byte $a; $a = 253.4; say "$a made it!" | 18:11 | |
p6eval | rakudo ae4538: ( no output ) | 18:12 | |
tylercurtis | lue: I'd recommend subsetting Int. | ||
lue | Alright. | 18:13 | |
cxreg | mberends_: hi there | ||
mberends_: i was just working on my t/ stuff this morning, was on vacation last week | 18:14 | ||
18:14
Mowah joined
|
|||
Tene | pmichaud: another option *should* be to subclass ExceptionHandler. | 18:15 | |
tylercurtis | Otherwise, Nums and Rats within the 0..255 range would be considered Bytes, which I don't think you want. | ||
mberends_ | cxreg: :-) cool! If you would like to, it would be nice if you were the one to merge the MiniDBD::Pg stuff. It looks nicer in the logs ) | ||
cxreg | yeah, will do | ||
thanks for the ping | |||
mberends_ | :) | ||
PerlJam | Hmm. | ||
Tene | I don't remember if that worked in my exceptions branch. | 18:16 | |
I should work on that again someday. | |||
moritz_ must resist to solve his own challenge | |||
Tene | I'm still so burned out... :( | ||
PerlJam | tylercurtis' mistype earlier "akudo" is interesting. If I am correct, it means "way of evil" Kind of an odd one character difference from rakudo | ||
moritz_ | a fittin one, if you ask me :-) | 18:17 | |
tylercurtis | PerlJam: I'm sure there are lots of places where a one character difference in Rakudo could be plenty evil. | ||
18:18
SmokeMachine left
|
|||
lue | Rakudadō -> Rakudo -> Akudo # what will be next... | 18:19 | |
sbp | kudos, hopefully | 18:20 | |
moritz_ | sbp++ | ||
jnthn | pmichaud: Being able to re-throw from an exception handler is kinda useful. | 18:22 | |
18:22
cosimo joined
|
|||
jnthn | pmichaud: I'm all for putting a proper fix in. | 18:22 | |
pmichaud: I just don't see how it'd look, and if we're going to have it broken one way or the other, I'd prefer this way. | 18:23 | ||
18:23
alester joined
18:24
kensanata joined,
PZt left
|
|||
pmichaud | jnthn: I'm not sure I like violating Parrot's deprecation policy (twice) for the sake of Rakudo. I think it sets very bad precedent. | 18:25 | |
18:25
Ross left
18:26
SmokeMachine joined
|
|||
jnthn | pmichaud: I considered the patch a bug fix when I put it in. | 18:26 | |
pmichaud: I see now it's not | 18:27 | ||
Go ahead and revert it | |||
I'll stay away from hacking on exceptiony stuff. | |||
pmurias | what would a CONTROL {$_.handled = 1} block do? | 18:28 | |
ruoso: i'm not sure v6/Mildew-Setting-SMOP/t/p6/basic/control_exception.t is correct | 18:29 | ||
moritz_ | rakudo: say <a b c>.kv.kv.perl | 18:32 | |
p6eval | rakudo ae4538: ( no output ) | 18:33 | |
moritz_ | locally gives "Cannot resume dead coroutine." | ||
don't know if that's related to jnthn's patch | |||
jnthn | No | ||
Highly unlikely anyway | 18:34 | ||
Coroutines aren't exception based. | |||
tylercurtis | Someone mentioned a gather/take bug with the same result yesterday or a few days ago. Can't remember exactly what it was. Possibly related? | 18:36 | |
jnthn | Certainly related. | 18:37 | |
gather/take is the only place that Rakudo uses co-routines, afaik. | |||
colomon | and .kv probably uses gather / take | 18:38 | |
jnthn | I believe it does | ||
tylercurtis | rakudo: (1..10).grep({ $_ % 2 == 0 }) Z (1..10).grep({ $_ % 2 != 0 }) | ||
p6eval | rakudo ae4538: ( no output ) | ||
tylercurtis | rakudo: say (1..10).grep({ $_ % 2 == 0 }) Z (1..10).grep({ $_ % 2 != 0 }) | 18:40 | |
colomon | rakudo: (1..10).grep({ $_ % 2 == 0 }).perl.eval Z (1..10).grep({ $_ % 2 != 0 }).perl.eval | ||
p6eval | rakudo ae4538: OUTPUT«1133557799» | ||
rakudo ae4538: ( no output ) | |||
tylercurtis | Nevermind. That's the bug I was thinking of. | ||
ruoso | pmurias, /me looking | 18:41 | |
18:42
Ross joined
|
|||
tylercurtis | rakudo: say gather { gather { take $_ ** 2 for 1..10; }; take for 1..10 }; | 18:43 | |
p6eval | rakudo ae4538: OUTPUT«» | ||
ruoso | pmurias, the only thing that looks possibly wrong to me is the exception class name | ||
rakudo: sub foo { { return "a"; CONTROL { say $_; $_.handled = 1 } }; say "hi" }; foo() | 18:44 | ||
p6eval | rakudo ae4538: OUTPUT«» | ||
18:45
ashleydev left
|
|||
ruoso | rakudo: sub foo { { return "a"; CONTROL { say "hi" $_; $_.handled = 1 } }; say "hi" }; foo() | 18:46 | |
p6eval | rakudo ae4538: OUTPUT«===SORRY!===Unable to parse blockoid, couldn't find final '}' at line 20» | ||
ruoso | oops | ||
tylercurtis | rakudo: .print for gather { take for 1..10 } Z gather { take $_ ** 2 for 1..10; } | ||
p6eval | rakudo ae4538: ( no output ) | ||
ruoso | rakudo: sub foo { { return "a"; CONTROL { say "hi" ~ $_; $_.handled = 1 } }; say "hi" }; foo() | ||
p6eval | rakudo ae4538: OUTPUT«hi» | ||
tylercurtis | rakudo: .print for gather { take $_ for 1..10 } Z gather { take $_ ** 2 for 1..10; } | ||
p6eval | rakudo ae4538: OUTPUT«11243941652563674986498110100» | ||
ruoso | rakudo: sub foo { { return "a"; CONTROL { say "inside" ~ $_; $_.handled = 1 } }; say "outside" }; foo() | 18:47 | |
p6eval | rakudo ae4538: OUTPUT«inside» | ||
ruoso | rakudo: sub foo { { return "a"; CONTROL { say "inside" ~ $_.WHICH; $_.handled = 1 } }; say "outside" }; foo() | ||
tylercurtis | rakudo: .print for (1..10).map({$_}) Z (1..10).map(* ** 2) | ||
p6eval | rakudo ae4538: OUTPUT«inside118357872» | 18:48 | |
rakudo ae4538: OUTPUT«11243941652563674986498110100» | |||
sorear | good * #perl6 | ||
ruoso | rakudo: sub foo { { return "a"; CONTROL { say "inside" ~ $_.WHAT; $_.handled = 1 } }; say "outside" }; foo() | ||
p6eval | rakudo ae4538: OUTPUT«insideException()» | ||
tylercurtis | rakudo: .print for (1..10).grep({$_ % 2}) Z (1..10).grep({$_ ** 2 % 2}) | 18:49 | |
p6eval | rakudo ae4538: OUTPUT«1133557799» | ||
ruoso | I think that's a bug... it should've printed "outside" as well, shouldn't it? | ||
Tene | ruoso: that's right. | ||
ruoso submits rakudobug | 18:50 | ||
pmurias, so the only thing that might be wrong there is the class name... | 18:51 | ||
but I think that name (ControlExceptionReturn) was kinda informally approved by TimToady | |||
pmurias | i'm not that sure .handled will stop the rethrow | ||
colomon | tylercurtis: I think this is a quicker way of demonstrating it: | ||
ruoso | pmurias, TimToady's yesterday commit makes it clear | ||
pmurias | according to the spec there is a implicit die $! at the end of the CONTROL block | 18:52 | |
colomon | rakudo: say (2, 4 ... 10) Z (1, 3 ... 10) | ||
p6eval | rakudo ae4538: OUTPUT«1133557799» | ||
pmurias looks at that | |||
ruoso | r31645 | ||
18:53
supernovus joined
|
|||
pmurias | what's an unsucceful block exit? | 18:56 | |
18:56
cdarroch left
|
|||
mberends_ | #phasers in 4 mins? | 18:56 | |
pmurias | ruoso: so according to r31645 our test is incorrect | 18:57 | |
colomon | mberends++ | ||
pmurias | ruoso: leave(Failure) is an unsuccesful block exit | 18:58 | |
so UNDO is ran | |||
18:58
rlb3 joined
|
|||
pmurias | and UNDO rethrows our exception despite the fact that it was handled | 18:58 | |
jnthn | mberends_: ooh, well remembered! | 18:59 | |
pmurias | is my reasoning correct | 19:01 | |
pugssvn | r31672 | colomon++ | [t/spec] Add a few more tests for hypers and ", *". | 19:02 | |
19:04
cono left
19:05
cono joined
|
|||
pmurias | TimToady: why is a new perl started for parsing a module? | 19:06 | |
sorear | pmurias: because STD isn't reentrant | 19:08 | |
cxreg | "cannot resume dead parrot" | 19:09 | |
pmurias | sorear: what blocks reentrancy? | 19:10 | |
the globals are local'ised? | 19:11 | ||
sorear | about fifty globals are used without being properly localized | ||
[Coke] | pmichaud: Jealous!\ | 19:12 | |
19:14
plainhao left
|
|||
pmurias | sorear: anything besides that, that could be easily solved with about fifty locals | 19:16 | |
pmichaud | [Coke]: :-) | ||
sorear | pmurias: $STD::ALL scares me and I don't have a clue if compiling modules reentrantly would break it | 19:17 | |
19:17
allbery_b joined
|
|||
pmurias | sorear: as long as they have different names it shouldn't | 19:18 | |
calling eval from eval would break it | 19:19 | ||
walk& | 19:20 | ||
19:21
cdarroch joined,
cdarroch left,
cdarroch joined
19:23
supernovus left
19:24
hercynium left
19:25
rlb3 left,
cdarroch left,
allbery_b left,
allbery_b joined
|
|||
pmichaud | rakudo: say (1..*).list.infinite | 19:26 | |
p6eval | rakudo ae4538: OUTPUT«Method 'infinite' not found for invocant of class 'List' in main program body at line 20:/tmp/BVvWQEyac7» | ||
19:28
Mowah left
19:30
Mowah joined
19:32
SmokeMachine left
|
|||
pmichaud | hugme tweet rakudoperl Rakudo now supports simple forms of := and ::= binding (lue++) | 19:34 | |
hugme hugs pmichaud; tweet delivered | |||
dalek | ecza: 91d8b99 | sorear++ | (3 files): Implement postfix method calls |
19:37 | |
ecza: d5a737e | sorear++ | setting: Implement Boolean context; Num is true if nonzero |
|||
ecza: acbdf8b | sorear++ | Op.pm: Control structures put the argument in boolean context |
|||
ecza: 02783f9 | sorear++ | setting: Fix obvious bug in postfoocrement |
19:49 | ||
ecza: 332b344 | sorear++ | setting: Implement ~ and ? prefix ops |
|||
ecza: 8c7971e | sorear++ | (3 files): Implement binding |
|||
frettled | nice! | ||
19:49
cdarroch joined,
cdarroch left,
cdarroch joined
19:53
SmokeMachine joined
19:59
SmokeMachine left
|
|||
sorear | I believe niecza can now do everything yapsi can, code-wise | 20:05 | |
dalek | kudo: f0dbe32 | moritz++ | (3 files): get rid of match-bool cheat |
20:06 | |
kudo: b196d2d | moritz++ | src/core/Mu.pm: A Mu.perl which dumps attributes of custom classes because it doesn't quite work, and because Rakudo doesn't understand initialization of parent attributes anway. |
|||
kudo: 66ca1a7 | moritz++ | docs/ChangeLog: add some ChangeLog entries |
|||
20:06
tadzik left
|
|||
ingy should make C'Dent be Perl 6 based | 20:06 | ||
maybe | |||
pmurias | sorear: who's your next target? ;) | ||
sorear | viv | 20:07 | |
moritz_ | (me hopes for "rakudo" :-) | ||
ingy | hi moritz_ | ||
moritz_ | hi ingy | ||
ingy | moritz_: I fixed ufo,btw | ||
moritz_ | \o/ | ||
sorear | multi sub foo(Array[Int] $x where { (all(@$_) > 0) && (.[0] <= 2 || .[1] ** .[0] + .[2] ** .[0] != .[3] ** .[0]) } { ... } | ||
multi sub foo(Array[Int] $x where { all(@$_) > 0 } { ... } | 20:08 | ||
# longname collision? | |||
ingy | is proto/projects.list YAML on purpose? | ||
I should start writing a simple loader for yaml-pm6 | 20:09 | ||
w/ p6rules | 20:10 | ||
moritz_ | ingy: in the 'pls' branch in proto it's JSON | 20:11 | |
easier to parse, and a module for it is already written | |||
ingy | moritz_: oh. what is the right one to use? pls or proto? | ||
ah | |||
branch | |||
sorry | 20:12 | ||
perigrin | w28 | ||
jnthn | sorear: No | ||
moritz_ | ingy: if you're adventorous, test 'pls' and report any failings to masak++ | 20:13 | |
ingy | moritz_: if?! | ||
;) | 20:14 | ||
moritz_ | I meant... more than usual :-) | ||
pmichaud | afk for a while # beach time | ||
20:22
pyrimidine left
|
|||
dalek | kudo: 97c91c6 | moritz++ | (2 files): remove Safe.pm. It was not working anyway, and screwed up innocent programs |
20:23 | |
ingy | moritz_: what is the purpose of pls? | 20:25 | |
20:25
IllvilJa left
|
|||
moritz_ | ingy: a proper module installer. proto was... well, a prototype, evolving far beyond the original goals. It showed. | 20:26 | |
ingy | but why is pls a branch of proto? | ||
moritz_ | dunno, ask masak :-) | ||
maybe hysterical reasons | 20:27 | ||
ingy | you mean raisins? | ||
moritz_ | right. Hysterical, dried grapes | ||
ingy | moritz_: how do I git the branch | 20:29 | |
I forget | |||
*forgit | |||
moritz_ | git checkout -b pls origin/pls | 20:30 | |
ingy | \o/ | ||
20:30
SmokeMachine joined
20:33
IllvilJa joined
|
|||
sorear | jnthn: what about $x where { 1} and $x where { 1 }? | 20:33 | |
lue | afk | ||
20:33
kensanata left
|
|||
ingy added yaml-pm6 to pls | 20:34 | ||
20:34
eternaleye joined
|
|||
jnthn | sorear: May be an ambiguous dispatch at runtime | 20:35 | |
sorear: We don't know just from the signature. | 20:36 | ||
sorear: What Perl 6 means by "name" is pretty liberal :-) | |||
sorear: Not to mention that multis with the same signature plus .* is a convenient way to write event handlers. :-) | 20:37 | ||
sorear | How about: Int $x and Int $x | ||
jnthn: yes, I invented that trick, then discovered it was banned by rakudo and the spec | |||
jnthn | Uh | ||
I wrote code in Rakudo that uses that trick and it worked. | |||
Rakudo certainly should allow it. | 20:38 | ||
sorear | rakudo: role A { method x(Int $a) { say "A" }; }; role B { method x(Int $a) { say "B" }; }; class C does A does B { }; C.new.x; | ||
jnthn | rakudo: class Foo { multi x() { say 1 }; multi x() { say 2 } }; Foo.new.*x | ||
p6eval | rakudo ae4538: OUTPUT«===SORRY!===Method 'x' collides and a resolution must be provided by the class» | ||
rakudo ae4538: ( no output ) | |||
sorear | rakudo: role A { multi method x(Int $a) { say "A" }; }; role B { multi method x(Int $a) { say "B" }; }; class C does A does B { }; C.new.*x; | ||
p6eval | rakudo ae4538: ( no output ) | ||
jnthn | oh grr | ||
rakudo: class Foo { multi method x() { say 1 }; multi method x() { say 2 } }; Foo.new.*x | 20:39 | ||
p6eval | rakudo ae4538: OUTPUT«12» | ||
jnthn | sorear: checking that locally | ||
> role A { multi method x(Int $a) { "A".say }; }; role B { multi method x(Int $a | 20:40 | ||
) { "B".say }; }; class C does A does B { }; C.new.*x(1); | |||
A | |||
B | |||
(note, say in role bug) | |||
(and it needs a parameter, otherwise it finds no candidates) | 20:41 | ||
sorear | It definitely didn't work when I tried it three months ago. | ||
:) | |||
progress++ | |||
jnthn | Oh, I can believe that. :-) | ||
jnthn afk for a bit | 20:42 | ||
20:43
mberends_ left
20:45
ashleydev joined
|
|||
moritz_ | has anybody tested blizkost recently? | 20:46 | |
20:50
christine left
20:55
supernovus joined,
SmokeMachine left
|
|||
supernovus | How long does it generally take for an e-mailed reply to RT to show up? | 20:57 | |
[particle] | that depends on how much spam perl.org's mail servers are handling | ||
20:57
dju joined
|
|||
[particle] | and whether or not you're whitelisted or moderated | 20:57 | |
supernovus | Ah. Well, I probably should have used the web interface. | 20:58 | |
20:58
dju_ left
|
|||
moritz_ | supernovus: nevermind, I applied the patch myself now | 20:58 | |
20:58
Guest72640 left
|
|||
supernovus | moritz_: Oh... I went and rebased it :-) | 20:58 | |
dalek | kudo: 615dfc9 | (Timothy Totten)++ | (6 files): Temporal/Date modifications and refactoring. Added DateTime::strftime to Makefile.in Changed time-zone to timezone as per spec. Changed DateTime.parse() to DateTime.new() as per spec. Temporal => DateTime, and simplified changes. Signed-Off-By: Moritz Lenz [email@hidden.address] |
20:59 | |
kudo: 6ab7415 | moritz++ | build/Makefile.in: build everything before we start testing a 'make' or 'make install' builds modules. |
|||
moritz_ | supernovus: sorry for having caused additional work | ||
supernovus | How does git handle renames? If Kodi's work has been done on Temporal.pm but now the file is called DateTime.pm will git move his changes over to the new filename? I haven't done that in git yet, I know bzr works that way, so I'm assuming git will too. | 21:00 | |
moritz_ | supernovus: git generally has no problem with merging such changes - only applying patches with such changes cause problems | ||
21:01
timbunce left
|
|||
moritz_ | supernovus++ | 21:01 | |
supernovus | Ah, damn. I hope Kodi is able to merge his changes easily since my changes were applied as a patch. | ||
21:01
cognominal left
|
|||
moritz_ | supernovus: you should add yourself to CREDITS in your next patch | 21:01 | |
that's not a problem | 21:02 | ||
21:02
dju left
|
|||
moritz_ | only if he tries to apply *his* changes as a patch he has a problem | 21:02 | |
so he needs to merge or rebase before submitting it to rt | |||
21:02
cognominal joined,
timbunce joined
|
|||
moritz_ -> sleep | 21:03 | ||
supernovus | Have a good night moritz_ | ||
21:03
rgrau` left
21:06
dju joined
21:08
xabbu42 joined
21:10
christine joined,
whiteknight joined
|
|||
tylercurtis | jnthn: was the notice you and pmichaud were discussing earlier that NQP's/P6object's implementation will change and that the API might a deprecation notice in Parrot's 2.6 release? | 21:12 | |
21:13
gbacon left,
SmokeMachine joined
21:14
patspam left
21:25
clintongormley left
21:27
silug left,
ruoso left
21:28
masak joined
|
|||
masak | ahoy! | 21:28 | |
phenny | masak: 09:05Z <moritz_> tell masak reminder: today is #phasers, if you don't make it, you can pre-post a report :-) | ||
supernovus | Loving the new REPL with lexical variables! | ||
21:28
sftp left
|
|||
jnthn | masak: ahoj! | 21:28 | |
masak | moritz_: thanks for the reminder. unfortunately, the whole day has been too disconnected for me to heed your advice. :/ | 21:29 | |
best I can do is post-post. | |||
jnthn | tylercurtis: Yes, since PCT is in Parrot repo | ||
tylercurtis: fwiw, I don't expect it will that much hit people who are "just" using PCT. | |||
masak | also, I do write progress blog posts for my GSoC work, and I hope people turn to these when they want to know the latest progress. | ||
jnthn | If at all. | ||
masak backlogs #phasers | 21:30 | ||
jnthn: getting pls to work on Windows sounds nice. | |||
21:32
skids left
|
|||
jnthn | masak: pls can haz? | 21:34 | |
Oh wait, I volunteered... | |||
tylercurtis | jnthn: I brought it up at #ps, allison thinks that it could work without a deprecation notice in 2.6. "right, but if they miss the deprecation notice in 2.6, that just means we leave the existing P6object in place, and they develop the new one with a different name" | 21:35 | |
masak | jnthn: we'll make it happen somehow. | ||
tylercurtis | jnthn: Would that work? | ||
jnthn | tylercurtis: The issue would more be that PCT currently uses P6object to provide its underlying object model, and would switch to using The New Thing. | 21:37 | |
tylercurtis: I will do what is reasonable to make that painless. At present, I expect the impact to be relatively low to most users, especially since most people write stuff in nqp-rx. | 21:38 | ||
tylercurtis: It'll mostly hit people who use p6object explicitly in conjunction with their use of PCT. | |||
tylercurtis: So the deprecatin notice I was thinking of was more along those lines - that PCT could be sat atop a new meta-model implementation with a slightly different API (but not entirely different). | 21:41 | ||
tylercurtis: I'll do my best to judge the balance between progress and not causing pain, anyways. :-) | |||
tylercurtis | jnthn: I'll bring that concern up once the discussion about Lorito dies down. :) | ||
21:41
pmurias left
|
|||
masak | ingy: re github.com/masak/ufo/commit/fed8133...565e91f3bf -- I'm not yet convinced $cwd/t should be added to PERL6LIB. do convince me, please. | 21:43 | |
sorear | Hello masak! | 21:45 | |
masak | hi, sorear! | ||
21:46
Ross left,
sftp joined
|
|||
jnthn | tylercurtis: I can drop into #ps at some point if that'd be helpful. :-) | 21:46 | |
tylercurtis | jnthn: now would be the time. We're close to wrapping up. | 21:47 | |
jnthn | tylercurtis: I'm there now if folks have questions :-) | 21:48 | |
21:50
SmokeMachine left
|
|||
sorear | masak: got a few more things working in niecza. I think I'm up to yapsi 2010.07 level now | 21:51 | |
masak | sorear: I've been keeping half an eye on you. I think you are, too. | ||
scary :) | |||
sorear: in my mind, we never reached a resolution in our discussion about 'state' variables. in short, you never explained how your implementation of them would be able to do this: rt.perl.org/rt3/Ticket/Display.html?id=62184 | 21:56 | ||
21:58
dakkar left
22:01
cdarroch left
|
|||
sorear | easy; my implementation of Sub doesn't have a .clone method | 22:09 | |
masak | wow, that *was* easy. I see no flaws with that at all. :P | 22:10 | |
sorear | closure cloning is not the same as Mu.clone | ||
closure cloning requires a frame to clone into | |||
I have .closure-clone(callframe) | |||
masak | is there a difference between a frame and a lexpad? | ||
sorear | a frame has-a lexpad | 22:11 | |
masak | I suspected as much. | ||
sorear | a lexpad just holds the variables | ||
masak | what more does a frame has-a? :) | ||
sorear | a frame has a lexpad, but it also has a raw argument capture, an .outer, a .caller, some runtime foo to support CATCH/CONTROL | 22:12 | |
in rakudoland a true frame is a CallContext PMC | |||
(Callframe is a P6object wrapper) | |||
masak | hm, so the frame has the .outer, not the lexpad? | 22:13 | |
sorear | yes | ||
masak | could the lexpad have it, and it'd still work? | 22:14 | |
sorear | Maybe | 22:15 | |
jnthn | fwiw, Rakudo (well, Parrot) has it as frame has-a lexpad and the outer pointer is between frames, fwiw. | ||
oh, sorear++ just said so :-) | |||
sorear | Perl 6 gives a lot of leeway with how you actually implement this stuff | ||
since you have to use methods to access it | |||
You just have to be able to present the illusion of callframe.my working as specced | 22:16 | ||
i.e. just returning the variables from the pad | |||
I need to talk with TimToady about $CALLER:: and inlining, though | 22:17 | ||
(note that $CALLER::x = callframe.caller.my.<$x>, not callframe.my.<$CALLER::x>) | 22:18 | ||
22:22
timbunce left
22:27
timbunce joined
|
|||
masak | sorear: fwiw, I plan to do subs as soon as I have the new runtime integrated. I want to add enough infrastructure so that fibonacci be possible. | 22:29 | |
sorear | what kind of infrastructure are you talking about? | 22:42 | |
supernovus | rakudo: use DateTime::strftime; say strftime('%A',DateTime.now) | 22:43 | |
p6eval | rakudo 97c91c: OUTPUT«Tuesday» | ||
sorear | > my $a = 0; my $b = 1; my $c = 0; while $c < 1000 { say $a; my $d = $a; $a = $b; $b = $b + $d; $c++ } | 22:44 | |
22:44
gbacon joined
22:46
timbunce left
|
|||
sorear | removing the say and increasing to 100k fibs generated, niecza takes 27s | 22:49 | |
masak | nice. | ||
sorear: re needed infrastructure: first, making 'sub fib' register as a &fib, variable. then, I'd need enough of positional signatures to make 'sub fib($n)' work. then, I'd need return values. | |||
oh, and minor things, like infix:<< < >> and infix:<+>. | 22:50 | ||
sorear | oh, going to do it loopily? | 22:51 | |
or recursive | |||
masak | recursive. | ||
ooh, loopily'd almost work already :) | 22:52 | ||
22:53
skids joined
|
|||
masak | *lol* 'Room "Never let others name your rooms!"' -- conferences.yapceurope.org/ye2010/schedule | 22:53 | |
jnthn | omg the shcedule | 22:54 | |
this is where I find I have a slot first thing in the morning | |||
sorear | sounds like something you would do masak | ||
22:54
wallberg joined
|
|||
jnthn | ooh...the talks start at 10!! | 22:55 | |
Somebody was sensible. | |||
masak | :) | ||
masak has one on Wed and one on Fri | 22:56 | ||
jnthn | masak: whoa, we're scheduled against each other! | ||
That's...curious. | |||
masak | jnthn: this had to happen sooner or later... :P | ||
22:57
wallberg left
|
|||
jnthn | Aww. I'll have to see the Prince of Parsia another time. :-) | 22:57 | |
masak | jnthn: no towel for you! :) | 22:58 | |
jnthn | :'( | ||
22:58
wallberg joined
|
|||
masak | perl6.org triggers as gambling? wtf? blogs.perl.org/users/chisel/2010/07...bling.html | 22:59 | |
TimToady | I think someone can't tell the difference between perl6 and pick6 | 23:01 | |
phenny | TimToady: 08:45Z <sorear> tell TimToady I found a buglet in STD.pm6; after sub infix:<=>($x,$y) { ... }; $x = $x + 1 is parsed as ($x = $x) + 1 | ||
TimToady: 08:46Z <sorear> tell TimToady i.o.w., within the setting standard operator precence is ignored, the sub{} makes STD forget its default precedence rules | |||
jnthn | Damm, I knew we shouldn't have use the slogan "Roll up and take a chance on Perl 6!" | ||
TimToady | someone searched for perl6 and found pmichaud's card picker, I suppose :) | ||
masak | *lol* | 23:02 | |
tylercurtis | masak: looking at the list of attendees for jnthn's talk, conferences.yapceurope.org/ye2010/talk/2729 , I think you're lying about not having found something that can bend time. | 23:04 | |
arnsholt | masak: How usable is your Buf stuff for other people? | ||
takadonet | hey everyone | 23:05 | |
masak | tylercurtis: overlap? oy vey. | ||
arnsholt: please be more specific. | |||
arnsholt | I was thinking of writing a Base64 decoder | ||
sorear | takadonet: hello! | 23:06 | |
takadonet | sorear: how are u sir? | ||
23:06
sorear sets mode: +oo masak tylercurtis
|
|||
arnsholt | Which requires buffers rather than strings, at least in the general case | 23:06 | |
sorear | takadonet: good | ||
masak | arnsholt: that should work. | ||
sorear | it's far too hot | ||
masak | arnsholt: let me know if it doesn't. | ||
or if there's something in general that can be improved. | |||
arnsholt | Excellent. I'll keep you informed | ||
masak | awesome. | 23:07 | |
sorear | std: 1, | 23:16 | |
p6eval | std 31672: OUTPUT«ok 00:01 112m» | ||
23:18
wallberg left
23:19
ive joined,
ive left
|
|||
sorear | std: 1,,,3 | 23:23 | |
p6eval | std 31672: OUTPUT«===SORRY!===Preceding context expects a term, but found infix , instead at /tmp/8f4RL4hy5M line 1:------> 1,⏏,,3Parse failedFAILED 00:01 109m» | ||
masak | zzz & | 23:25 | |
23:25
masak left,
takadonet left
23:29
Mowah left
23:34
silug joined
|
|||
TimToady | sorear: re precedence, we need to move all the <O()> terms up into the protos in CORE eventually, but | 23:34 | |
STD doesn't yet have a way of sending parsing rules onward from CORE.setting | |||
eventually most of those operators in STD reduce to <sym> and drop out of the standard grammar entirely, existing only as declarations in CORE | 23:36 | ||
yes, $CALLER::x is misleading; I almost always write it CALLER::<$x> these days anyway | 23:37 | ||
and as with any dynamic var, you can't really know the type of it in advance | 23:39 | ||
23:39
f00li5h left
23:40
f00li5h joined
|
|||
ingy | greetings | 23:40 | |
23:40
f00li5h left
|
|||
sorear | How do magic initializers parse? state $x = 5 means state $x; START { $x = 5 }; but state $x + 5 means state $x; $x + 5 | 23:40 | |
TimToady | o/ | ||
sorear | same for has initializers | ||
and I have no clue about :=, .=, etc | |||
hello ingy | |||
TimToady | yes, basically certain assignish ops (which the spec does not yet nail down) recognize that their left side is a declarator and rewrite the assignment to happen at a different phase | 23:42 | |
23:42
f00li5h joined,
supernovus left
|
|||
TimToady | I think :=, ::=, and .= certainly want to be in that category, and maybe just all assignops to make it simple | 23:43 | |
23:43
takadonet joined
|
|||
TimToady | one can always write (state $x) += 32 to force it the other way | 23:43 | |
23:44
f00li5h left,
f00li5h joined
|
|||
TimToady | alternately .= is the only assignop that really makes sense there | 23:44 | |
can argue it both ways | 23:45 | ||
(and := and ::=, of course) | |||
I still fall into the old C-ish usage of "assignops" to mean things like += | |||
but I should say meta in there somewhere | 23:46 | ||
sorear | (state $x) is not a declarator? | ||
TimToady | sure it is, but not parenthesized | ||
sorear | ah | ||
TimToady | parens on lvalues have always been a bit mystical in Perl | 23:47 | |
sorear | what about has... slots don't even exist at class body run time, so what does 'has $x' return as a term? | ||
TimToady | $x = vs ($x) =\ | ||
sorear | or is it an error to use has in non-void non-assigny context? | 23:48 | |
TimToady | probably just an error, or erroneous | ||
or Nil, or sump'n | |||
sorear | what's the difference? | ||
TimToady | erroneous is an old Ada spec term meaning "it's wrong, but the compiler is not obligated to tell you" | 23:49 | |
seems detectable though | |||
sorear | ah | ||
as a C woopersnapper I call that "undefined behavior" | 23:50 | ||
TimToady | it's possible that pugs is doing an idea that we had once, where the "class" object remember default values in its slots | ||
erroneous puts a bit more blame on the user :) | |||
23:51
f00li5h left
|
|||
TimToady | but these days it seems better if the undefined type object just blows up on attr access | 23:51 | |
esp since default values are not guaranteed to be meaningful till BUILD time | 23:52 | ||
that is, can depend on info that is not available till then | |||
ingy | rakudo: say "aaa".match(/a/) | ||
TimToady | like, er, self :) | ||
p6eval | rakudo 6ab741: OUTPUT«a» | ||
23:52
f00li5h joined
|
|||
ingy | rakudo: say "aaa".match(/<alpha>/) | 23:52 | |
p6eval | rakudo 6ab741: OUTPUT«a» | ||
ingy | rakudo: say "öaa".match(/<alpha>/) | 23:53 | |
TimToady | so yeah, pugs is basically wrong there, even if it was right once :) | ||
p6eval | rakudo 6ab741: OUTPUT«ö» | ||
ingy | rakudo: say "茶aa".match(/<alpha>/) | ||
sorear | TimToady: so within a class body, self is the type object? | ||
p6eval | rakudo 6ab741: OUTPUT«茶» | ||
TimToady | no, only within methods | ||
rakudo: class A { self } | 23:54 | ||
p6eval | rakudo 6ab741: OUTPUT«===SORRY!===Symbol 'self' not predeclared in <anonymous> (/tmp/XZ3q6HMUzw:20)» | ||
ingy | is there a named subrule for [a-zA-Z] ? | ||
sorear | No | ||
Well, sorta | |||
TimToady | that would be, like, culturally imperialistic | ||
sorear | rakudo: say 'A' ~~ /<alpha>/ | ||
p6eval | rakudo 6ab741: OUTPUT«A» | ||
sorear | rakudo: say '楽' ~~ /<alpha>/ | 23:55 | |
p6eval | rakudo 6ab741: OUTPUT«楽» | ||
ingy | ETOOUNICODEAWARE | ||
TimToady: it's culturally acmeistic :\ | |||
23:56
Psyche^ joined
|
|||
TimToady | so write <[a..z A..Z]> if you want to embrace the cause of englishonlyisticicism | 23:56 | |
ingy | If I want to use the same grammar in over a dozen programming languages, I can't be all highfallutin' | 23:57 | |
TimToady: yeah I already do that | |||
jnthn | Well, you can always re-define <alpha> in your grammar :-) | ||
ingy | jnthn: true. I was actually using the predefined ones hoping for a speed op | 23:58 | |
is that the case? | |||
jnthn | Not sure, off hand. | ||
TimToady | that would be highly implementation specific | ||
jnthn is not a grammar engine guru | |||
ingy | TimToady: I'm talking to the rakudo guy, not the p6 guy :) | 23:59 | |
jnthn | ingy: My suspicion is that <alpha> checks a unicode property | ||
TimToady | *sniff* *sniff* | ||
ingy | jnthn: you are wearing your rakudo hat, right? | ||
jnthn | ingy: huh, it's hot and humid in here and you expect me to where a hat?! | ||
ingy | TimToady: I'll get around to you :) | ||
TimToady | *snuffle* |