|
»ö« Welcome to Perl 6! | perl6.org/ | evalbot usage: 'perl6: say 3;' or rakudo:, niecza:, std:, or /msg p6eval perl6: ... | irclog: irc.pugscode.org/ | UTF-8 is our friend! | Rakudo Star Released! Set by moderator on 4 August 2010. |
|||
|
00:35
melte joined
00:52
Barrabas joined
00:58
alester joined
01:21
DrakeAnubis joined
01:26
Woody2143 joined
01:27
DrakeAnubis left,
LaVolta joined
01:39
jaldhar joined
02:10
rwtwrt joined
|
|||
| alester | ok, what can I do to help? | 02:59 | |
|
03:01
justatheory joined
|
|||
| lue | hm, why are Radians/Degrees/Gradians/Circles given a definition in cheats/constants.pir ? I thought they were part of an Enum already. | 03:04 | |
|
03:05
araujo joined
|
|||
| sorear | alester: help what? | 03:15 | |
|
03:23
alester joined
03:31
orafu joined
03:38
MAK__ joined
|
|||
| MAK__ | Hi | 03:38 | |
| sorear | Hi | ||
| MAK__ | I had a small discussion on #parrot yesterday for a silly problem i faced | ||
| irclog.perlgeek.de/parrot/2010-08-07#i_2674402 | 03:39 | ||
| from there | |||
| I was thinking shouldn't rakudo use 'printerr' to print error messages instead of the 'say' statement | |||
| Tene | MAK__: really, it should use 'warn' for error messages. | 03:46 | |
| MAK__ | ok | 03:47 | |
|
04:06
tadzik joined
04:33
melte joined
04:34
leprevost joined
04:37
NiiHiiL joined
04:43
sea-gull joined
|
|||
| tylercurtis | lue: I don't think enums are quite working properly yet in some manner. | 04:44 | |
|
04:50
molaf joined
|
|||
| TiMBuS | rakudo: say 1 / 10000000000000000000000000 | 04:59 | |
| p6eval | rakudo 6ebba8: OUTPUT«6.28575819193153e-19» | ||
| TiMBuS | rakudo: say 1 / 100000000000000000000000000 | ||
| p6eval | rakudo 6ebba8: OUTPUT«No applicable candidates found to dispatch to for 'infix:<div>'. Available candidates are::(Int $a, Int $b) in 'Rat::new' at line 3835:CORE.setting in 'infix:</>' at line 3923:CORE.setting in main program body at line 22:/tmp/QVp_PicjOf» | 05:00 | |
| TiMBuS | rakudo: say 100000000000000000000000000.WHAT | 05:01 | |
| p6eval | rakudo 6ebba8: OUTPUT«Int()» | ||
| TiMBuS | ¯\\(°_o)/¯ | ||
|
05:04
envi^home joined
|
|||
| TiMBuS | rakudo: say 100000000000000000000000000 | 05:05 | |
| p6eval | rakudo 6ebba8: OUTPUT«-2537764290115403776» | ||
| TiMBuS | there we go | 05:06 | |
|
05:20
LaVolta joined
05:28
molaf joined
05:31
masak joined
|
|||
| masak | good morning! | 05:31 | |
| sjohnson | masak: :thumbsup: | 05:33 | |
| masak | std: :$<a> | 05:41 | |
| p6eval | std 31912: OUTPUT«ok 00:01 111m» | 05:42 | |
| masak | std: rule => 't' | 05:45 | |
| p6eval | std 31912: OUTPUT«ok 00:01 113m» | 05:46 | |
|
05:52
Guest23195 joined
|
|||
| masak | "Though she looks quite pretty positioned there, she's kind of like my cat who used to sit on my keyboard when I was trying to type!" *lol* rt.perl.org/rt3/Ticket/Display.html?id=77050 | 06:00 | |
| rakudo: my @in = 1..4; my @out := @in.map({$_*=10;}); say @in[1]; | 06:03 | ||
| p6eval | rakudo 6ebba8: OUTPUT«2» | ||
| pugssvn | r31922 | masak++ | [S05] fixed copy-pasto | 06:06 | |
|
06:09
gfx joined
|
|||
| masak | rakudo: (my @a)[1..*]; say "alive" | 06:11 | |
| p6eval | rakudo 6ebba8: ( no output ) | ||
| masak | locally, 'Segmentation fault' | ||
| masak submits rakudobug | 06:12 | ||
|
06:27
tylercurtis joined
|
|||
| masak | our Str multi Str::pack( Str::Encoding $encoding, Pair *@items ) | 06:39 | |
| our Str multi Str::pack( Str::Encoding $encoding, Str $template, *@items ) | |||
| these are the only two mentions of Str::Encoding in the spec. | |||
| also, I'm not too happy with the encoding parameter being the first positional in that signature. | |||
| thinking of nuking these two variants and only leaving the ones that return a buf8. | 06:40 | ||
| moritz_ | scratch those signatures | ||
| Pair *@items | |||
| typed, slurpy param? | |||
| how is that going to work? | |||
| masak doesn't know | 06:41 | ||
| masak removes those signatures | |||
| they've been in there since 2006 -- added by ajs++ | |||
| moritz_ | is that Aaron Sherman? | ||
| masak | think so. | 06:42 | |
| hm -- why does it take a list of pairs? why not just a list of things? isn't that what Perl 5's pack does? | 06:43 | ||
| masak perldocs -f 'pack' | |||
| moritz_ has no idea | 06:44 | ||
|
06:44
Axius joined
|
|||
| moritz_ geht nochmal schlafen | 06:44 | ||
| sorry, wrong channel :-) | 06:45 | ||
| masak | schlafe well. :) | ||
| moritz_ | will do :-) | ||
| masak | wow, the 'pack' function is long and wondrous. | 06:48 | |
| cxreg | masak: in perl 6? | 06:54 | |
| masak | in Perl 5 perldoc. | 06:56 | |
| I'm implementing it in Perl 6 today. | |||
| (again) | 06:57 | ||
| TimToady: "I think pack formats should be human readable but compiled to an internal form for efficiency." -- does "human readable" mean "let's do a S05-like revolution on the single-letter names for things"? because I doubt I'd pull that off on my own, and certainly not within the scope of this grant. :) | 06:58 | ||
|
06:59
hanekomu joined
|
|||
| masak | TimToady: I'm just going to go as close to p5 as possible in Rakudo for now, and then we can evolve the .pack format backed up by working code. | 06:59 | |
|
07:03
Casan joined
07:04
mberends joined
|
|||
| mberends | \\o masak | 07:05 | |
| masak | mberends: o/ | ||
| std: sub foo( *@items where { @items »~~ Pair }) {} | 07:18 | ||
| p6eval | std 31912: OUTPUT«[31m===[0mSORRY![31m===[0mMissing « or » at /tmp/8x78Bdr5Hn line 1:------> [32msub foo( *@items where { @items »~~[33m⏏[31m Pair }) {}[0m expecting infix_circumfix_meta_operatorParse failedFAILED 00:01 117m» | ||
| masak | oh wait. | ||
| std: sub foo( *@items where { @items »~~» Pair }) {} | |||
| p6eval | std 31912: OUTPUT«ok 00:01 117m» | ||
| pugssvn | r31923 | masak++ | [S32/Str] cruft-removal for &pack | 07:22 | |
| r31923 | | |||
| r31923 | - Ditch the encoding bit for now. Users can encode to Str the usual way. | |||
| r31923 | - Not sure a typed slurpy parameter is going to fly. Changing to a 'where' | |||
| r31923 | clause. | |||
| r31923 | - Added TOP rule to grammar, anchoring at start and end of format string. | |||
| masak | My plan for the day is to study 'perldoc -f pack', grok as much as possible of it, implement as much as possible of it in working code, and update S32/Str with things I learn from that. | 07:23 | |
| Tene | masak: I hear some other languages have very nice binary format handling. Erlang, maybe? Might be nice to look around at other sources. | 07:24 | |
| masak | Tene: thanks for the tip. | 07:26 | |
| I've heard too that Erlang rocks at binary format handling. | |||
| this seems to be it -- www.erlang.org/doc/man/ei.html | 07:27 | ||
| masak will read | |||
| ei_x_format("{~a,~i,~d}", "numbers", 12, 3.14159) | 07:31 | ||
| I must say it feels like exactly the same idea as &pack | |||
| maybe they just re-invented &pack without realizing it and thought that it was the best thing since sliced bread. | 07:32 | ||
| this one did a better job at explaining Erlang's pack format: www.trapexit.org/How_to_use_ei_to_m...t_programs | 07:37 | ||
| the ease of communication with C seems to be the important part. | |||
|
07:39
[Coke] joined
|
|||
| Casan | I'm experimenting with OO stuff in p6, and have a problem overriding a default constructor. Been reading through s12, but I still can't get it right, I wonder if anyone can see what I'm doing wrong.. there is a pastbin here with the code: pastebin.org/456460 | 07:49 | |
| masak looks | |||
| Casan: ok, here's the thing: you're making a .new method as if it were a BUILD submethod. | 07:50 | ||
| Casan: let's go through it step by step. | |||
| Casan: a constructor, for example one named .new, is a method which returns a new object. | |||
| Casan: that means that the method can't access $!id, because it's not *called* on the new object (because it is the method that creates it, so it doesn't exist when we call it, so self can't be bound to the new object) | 07:51 | ||
| with me so far? | |||
| Casan | I think, let's continue. | ||
| masak | next natural question is: how to actually create a new object of a given class? | ||
| the answer is SomeClass.bless(*, :attr1(...), :attr2(...)) | 07:52 | ||
| in your case self.bless(*, :$id, :$name) | |||
| that's all your .new method need contain. | |||
| make sure that's on the last line, so that it gets returned. | 07:53 | ||
| (the 'self' is actually bound to the type object, Student, so it's the same as writing 'Student.bless(...)') | |||
| Casan: in some languages, we differ between ordinary methods and "static methods"; the latter are called on a class rather than an instance. | 07:54 | ||
| Casan | ohh, so in p6, if you want to override the default constructor, you have to use bless and know additional parts.. I have to admit, I know a little about bless from p5, otherwise I've learned about OO via java and c#, and was hoping that we would abstract away from bless and stuff like that for people not familiar to it. | ||
| masak | Casan: in Perl, we don't really have that distinction. a type object (such as Student) is just an undefined, unmodifiable instance of Student. | 07:55 | |
| Casan: in Perl 6, a constructor is any method which does .bless | |||
| thus, the default .new is a constructor, and the default .clone is a constructor. | 07:57 | ||
| Casan | ok, let me run through your messages for a while, and see if I can apply it into a solution. In my first step I'll just ignore about the real objective of overriding the default constructor, and simply focus on imitating manually what an automatic default constructor would do. | ||
| masak | Casan: it's actually set up so that the default .new should be enough most of the time. | 07:59 | |
| Casan: and usually you override BUILD instead to affect how an object is initialized. | 08:00 | ||
| Casan: overriding the default .new is mostly if you want the .new method to have a particular signature. in your case, you get positional parameters instead of the default named parameters. | |||
| masak has to go, will be back later today | |||
|
08:02
wamba joined
08:08
risou_ joined
08:25
hanekomu_ joined
08:27
snearch joined
08:38
darkop joined
08:40
jfried joined
09:09
risou joined
|
|||
| pugssvn | r31924 | radus++ | [t/spec] Unfudged test for RT 77072 - @a[*] works as expected now. | 09:11 | |
|
09:15
araujo joined
09:18
Axius joined
09:21
wamba joined
09:27
briang joined
09:29
Alias joined
|
|||
| TiMBuS | is bug #77078 valid? doesnt it just segfault because its infinitely creating memory until parrots GC fails | 09:41 | |
| sorear | not valid anymore, no | 09:42 | |
|
09:44
sawyer_ joined
|
|||
| TiMBuS | if the * is meant to mean .elems then it needs to be parsed differently or postcircumfix[] needs to have a extra special case added | 09:44 | |
|
09:46
wamba left
09:53
meppl joined
10:29
wamba joined
10:31
azert0x joined
10:33
Alias_ joined
10:43
Alias__ joined
|
|||
| moritz_ | good morning | 10:52 | |
| TiMBuS: it's supposed to detect infinite ranges | 10:53 | ||
| TiMBuS | i see | 10:54 | |
| moritz_ | also, segfaulting on trying to iterate infinite lists is not OK | 10:55 | |
| TiMBuS | isnt that a parrot issue though? | 10:57 | |
| moritz_ | yes - but we use RT to track all rakudo bugs, including those caused by parrot | 10:59 | |
| www.kiffingish.com/2010/03/perl-on-steroids.html | |||
| TiMBuS | hrm so then, focusing on what I can try to fix: should the infinite slice actually mean @a[1..@a.elems] or should it really mean what it looks like it means? | 11:02 | |
| moritz_ | I know that array assignment detects it | 11:04 | |
| rakudo: my @a = 1..*; say "alive"; say @a[3]; | |||
| p6eval | rakudo 6ebba8: OUTPUT«alive4» | ||
| moritz_ | rakudo: say (1..*).perl | ||
| p6eval | rakudo 6ebba8: OUTPUT«1..Inf» | ||
| moritz_ | so it likely needs special-casing | 11:05 | |
| rakudo: my @a = 1..*; my @b = @a; say "alive"; | |||
| p6eval | rakudo 6ebba8: ( no output ) | ||
| moritz_ | curious :-) | ||
| TiMBuS | yeah i've stumbled into few eager issues like that. i thought the solution was using gather/take blocks but they also eager-fy when using '=' | 11:09 | |
| moritz_ | it needs a lot of tweaking, in a lot of cases | 11:14 | |
| rakudo: say { a => 1, b => 2}.{*}.WHAT | 11:16 | ||
| p6eval | rakudo 6ebba8: OUTPUT«Any()» | ||
| moritz_ | rakudo: say { a => 1, b => 2}.{*}.perl | ||
| p6eval | rakudo 6ebba8: OUTPUT«Any» | ||
|
11:21
desertm4x joined
|
|||
| TiMBuS | p6eval needs updating i guess | 11:22 | |
| moritz_ | somehow I broke all the automatic rebuilds | 11:28 | |
| hugme: add supernovous to proto | 11:31 | ||
| hugme | moritz_: ERROR: Can't add supernovous to proto: 404 Not Found | ||
| moritz_ | hugme: add supernovus to proto | ||
| hugme hugs supernovus. Welcome to proto! | |||
| dalek | kudo: 7d4a624 | moritz++ | build/PARROT_REVISION: bump PARROT_REVISION to get Digest::MD5 fix, cosimo++ |
||
| kudo: 53ee804 | moritz++ | docs/compiler_overview.pod: [docs] update NQP description in compiler_overview.pod |
|||
| cono | moritz_: github.com/cono/p6-LinkedList any ideas, critic? :) | ||
| moritz_ takes a look | 11:35 | ||
| cono: is there a good reason to use the SENTINEL over just a type object? smart-matchability? | 11:37 | ||
|
11:38
jferrero joined
|
|||
| cono | moritz_: It was () (Nil) value before, masak said that Sentinel would be better | 11:43 | |
| moritz_ | curious :-) | 11:46 | |
| anyway, I like the module | |||
| cono | thanks :) | ||
| But I don't like name "iterate" | |||
| any ideas? | |||
| I want another method wich will be return descending list iterator | |||
| moritz_ | .list | ||
| and just return a lazy list | 11:47 | ||
| cono | and in descending order? | ||
| moritz_ | .descending | ||
| rakudo: / <[-]> / | 11:51 | ||
| p6eval | rakudo fca2d3: OUTPUT«===SORRY!===Unsupported use of - as character range;in Perl 6 please use .. at line 22, near "]> /"» | ||
|
11:53
araujo joined
|
|||
| cono | moritz_: done ;) | 11:55 | |
| moritz_: btw, I found a minimal version to reproduce a bug: rt.perl.org/rt3/Public/Bug/Display.html?id=77036 | 11:56 | ||
| moritz_ | cono++ | 11:57 | |
| cono | Tried to find how to fix it. But lost in "flat" and "eager" methods in pir | ||
| moritz_ | :-) | ||
| that's a tough area | |||
| might also be related .Str/.Stringy | |||
|
11:57
tadzik joined
|
|||
| tadzik | morning #perl6 | 11:58 | |
| moritz_ | good afternoon tadzik :-) | ||
| pugssvn | r31925 | moritz++ | [t/spec] test for hash zen slices; RRT #77072 | ||
| tadzik | oh wow, it's afternoon alredy | ||
| tadzik-- | |||
| pugssvn | r31926 | moritz++ | [t/spec] switch parse error message recognition to new wording in rx.t | ||
| moritz_ | (it's 2pm, and I've got up like, one hour ago) | ||
| which is fine, attended a wedding yesterday... stretched well into today :-) | |||
| tadzik | I got up like now, and got to sleep on like 6 AM | 11:59 | |
| how was the wedding? | |||
| cono | moritz_: flat returns a Lazy list? | ||
| tadzik | Yours? ;) | ||
| moritz_ | tadzik: very nice. Not mine | ||
| rakudo: say Date.new('2010-08-27') - Date.today() | 12:00 | ||
| p6eval | rakudo fca2d3: OUTPUT«19» | ||
| moritz_ | tadzik: mine is like, in 19 days :-) | ||
| tadzik | no way! Congratulations! | ||
| moritz_ bows | |||
| tadzik | awesome :) | ||
| moritz_ doesn't know what to think of www.perlmonks.org/?node_id=853646 | 12:01 | ||
| "we introduce this random multiplier, and then do concatenation instead of math, and end up with... something that looks like a year". huh. | 12:02 | ||
| tadzik | I barely get it | ||
| moritz_ | probably because there's barely sense in there | 12:03 | |
| tadzik | It sounds like this people getting celebrity name, adding few letters, removing a few, changing some of them, summing and multiplying randomly finally getting 9/11 or something | 12:04 | |
|
12:04
molaf joined
|
|||
| moritz_ | yes | 12:04 | |
| rakudo: sub abc($x, $y, $_, $z) { say "$x $y $_ $z"; }; abc(1,2,3,4); | 12:06 | ||
| p6eval | rakudo fca2d3: OUTPUT«1 2 3 4» | ||
| moritz_ has a hard time finding a place to put tests for that | |||
| t/spec/S06-signature/ is full of test files for very advanced features | 12:07 | ||
| but has little for simple things like positional and named | |||
| oh, there is a positional.t | |||
|
12:09
MAK__ joined
|
|||
| MAK__ | Hi | 12:11 | |
| moritz_ | hi | ||
| pugssvn | r31927 | moritz++ | [t/spec] test for $_ and $/ as parameter names, RT #77054 | 12:12 | |
| MAK__ | Grammar.pm is written in PGE and Actions.pm in NQP | ||
| moritz_ | no | ||
| MAK__ | where can I read more documentation about them | ||
| moritz_ | both are written in NQP-rx | ||
| MAK__ | ok | ||
| moritz_ | which now supports grammars | ||
| MAK__ | ok | ||
| moritz_ | PGE is being phased out | ||
| (I suppose I should update some old documents... :) | 12:13 | ||
| MAK__ | Well where can I read more about NQP? | ||
| moritz_ | github.com/perl6/nqp-rx/#readme | ||
| there are also slides from a talk about nqp-rx, by its creator: www.pmichaud.com/2010/pres/yapcna-n...start.html | 12:14 | ||
|
12:14
pmurias joined
|
|||
| tadzik | that's nicely explained in pmichaud++ talk | 12:14 | |
| :) | |||
| TiMBuS | maybe that metaperl entry is using metahumor? :/ | ||
| tadzik too slow | |||
| moritz_ | std: my Nil $x; | 12:15 | |
| p6eval | std 31912: OUTPUT«ok 00:01 113m» | ||
| MAK__ | is this talk by pmichaud recorded somewhere? | 12:17 | |
| moritz_ | MAK__: if so, it's probably not yet online | 12:18 | |
| tadzik | yep, but I don't think it's published yet | ||
| moritz_ | it was held last Thursday | ||
|
12:20
whiteknight joined
|
|||
| moritz_ | rakudo: say {a => 1, b=> 2}.{*}.perl | 12:20 | |
| p6eval | rakudo fca2d3: OUTPUT«(1, 2)» | ||
| moritz_ | rakudo: say {a => 1, b=> 2}.{*}.perl | ||
| p6eval | rakudo fca2d3: OUTPUT«(1, 2)» | ||
| moritz_ | rakudo: say {a => 1, b=> 2}.{*}.perl | ||
| p6eval | rakudo fca2d3: OUTPUT«(1, 2)» | ||
|
12:31
Axius joined
|
|||
| moritz_ | std: i | 12:34 | |
| p6eval | std 31912: OUTPUT«ok 00:01 111m» | 12:35 | |
| pugssvn | r31928 | moritz++ | [t/spec] test for RT #76994, bare i is the complex unit | ||
|
12:35
tjyang joined
12:38
tjyang joined
|
|||
| TiMBuS | rakudo: Seq.new(1..*).eager.[2]; | 12:44 | |
| p6eval | rakudo fca2d3: ( no output ) | ||
| TiMBuS | uh | ||
| tadzik | ENOSAY | ||
| TiMBuS | rakudo: say Seq.new(1..*).eager.[2]; | 12:45 | |
| p6eval | rakudo fca2d3: ( no output ) | ||
| TiMBuS | hrm | ||
| rakudo: say (1..*).Seq.eager.[2]; #maybe? | 12:46 | ||
| p6eval | rakudo fca2d3: ( no output ) | ||
| moritz_ | why do you .eager an infinite list? | 12:52 | |
| TiMBuS | it's what array assignment does | 12:54 | |
| tadzik | that's why You don't assign infinite list to an array | 12:56 | |
| TiMBuS | but | ||
| rakudo: my @a = (1..*); @a[3].say | |||
| p6eval | rakudo 53ee80: OUTPUT«4» | ||
| tadzik | star: my @a = (1..*); my @b = @a; say 'alive' | 12:57 | |
| but | |||
| star: my @a = (1..*); my @b := @a; say 'alive' | |||
| p6eval | star 2010.07: ( no output ) | ||
| tadzik | or | ||
| p6eval | star 2010.07: OUTPUT«alive» | ||
| tadzik | star: my @a = (1..*); my $b = @a; say 'alive' | ||
| p6eval | star 2010.07: OUTPUT«alive» | ||
| TiMBuS | well the spec says 'list assignment is eager unless it's infinite' | 12:59 | |
| tadzik | but these are arrays | 13:00 | |
| star: my @a = (1..*); say @a.WHAT | |||
| p6eval | star 2010.07: OUTPUT«Array()» | ||
| TiMBuS | im just using the spec terminology here.. | 13:01 | |
| List Assignment: my @a = @something; | |||
| tadzik | hrm | 13:02 | |
| pugssvn | r31929 | qiuhw++ | [t/spec] typo fix. | ||
| TiMBuS | im also aware that knowing if something is infinite is a little difficult (impossible?) | ||
| isnt it the halting problem. like if you have a loop in a gather | 13:03 | ||
| tadzik | what's wrong with a loop in a gather? | 13:05 | |
| allbery_b | hm, I thought the basic assumption was that involvement of Whatever or a closure was enough to dtrip "possibly infinite" and switch to laziness | 13:06 | |
| so up to the point that it's concrete and finite it's eager, but hit Whatever or a closure and it becomes lazy at that point | 13:07 | ||
| this was dfiscussed a couple weeks back IIRC | |||
| TiMBuS | s07 needs to update that then | 13:08 | |
|
13:11
risou_ joined
13:23
clintongormley joined
13:25
Visitor99 joined
|
|||
| Visitor99 | rakudo: my %h = <a 1 b 2 c 3>; %h.perl; | 13:29 | |
| p6eval | rakudo 53ee80: ( no output ) | ||
| tadzik | ENOSAY | ||
| TiMBuS | i think its broken atm | ||
| oh | |||
| tadzik | rakudo: my %h = <a 1 b 2 c 3>; %h.perl.say | ||
| p6eval | rakudo 53ee80: OUTPUT«{"c" => "3", "a" => "1", "b" => "2"}» | ||
| TiMBuS | my bad | ||
| Visitor99 | ok, thanks tadzik | 13:30 | |
|
13:30
araujo joined
|
|||
| Visitor99 | i thought that perl implied a "say" | 13:30 | |
| tadzik | Visitor99: REPL prints, evalbot does not | ||
|
13:32
araujo joined
|
|||
| Visitor99 | mmm, now everything can use a $ sigil, scalars and hashes too.... | 13:42 | |
| TiMBuS | yes, but they work differently for assignment | 13:43 | |
| tadzik | nothing new | ||
| Visitor99 | rakudo: my %h = <a 1 b 2 c 3>; %h.push(<a> => 10); %h.perl.say; my $s = %h{'a'}; say $s[0]; $s.WHAT.say; $s.push(100); $s.perl.say; | ||
| p6eval | rakudo 53ee80: OUTPUT«{"a" => ["1", 10], "b" => "2", "c" => "3"}1Array()["1", 10, 100]» | ||
| Visitor99 | timbus, how's that? | ||
| TiMBuS | they don't make a copy | 13:44 | |
| rakudo: my @a = (1,2,3,4); my $b = @a; $b[2] = 'foo'; say ~@a; | 13:45 | ||
| p6eval | rakudo 53ee80: OUTPUT«1 2 foo 4» | ||
|
13:46
Axius joined
|
|||
| Visitor99 | ahh, they are just references.. | 13:46 | |
| rakudo: my Hash $h; $h{'a'}=1; $h.perl.say; | 13:47 | ||
| p6eval | rakudo 53ee80: OUTPUT«Type objects are abstract and have no attributes, but you tried to access $!storage in 'at_key' at line 4751:CORE.setting in 'Any::postcircumfix:<{ }>' at line 1704:CORE.setting in main program body at line 1» | ||
| TiMBuS | that one is a known bug | 13:48 | |
|
13:53
LaVolta joined
13:57
slavik joined
|
|||
| tadzik | Visitor99: everything is a reference now | 13:59 | |
| Visitor99 | so, what if you want to make a copy? | 14:00 | |
|
14:01
Axius joined
|
|||
| Visitor99 | rakudo: my @a = (1,2,3); my @b = @a; @b[0] = 10; @a.perl.say; | 14:02 | |
| p6eval | rakudo 53ee80: OUTPUT«[1, 2, 3]» | ||
| Visitor99 | rakudo: my @a = (1,2,3); my $b = @a; $b[0] = 10; @a.perl.say; | ||
| p6eval | rakudo 53ee80: OUTPUT«[10, 2, 3]» | ||
| Visitor99 | ahh, i see | ||
| tadzik | :) | 14:03 | |
|
14:13
tadzik joined
14:14
ambs joined
|
|||
| ambs | hello | 14:14 | |
| [Coke] | phenny: tell masak about www.tcl.tk/man/tcl8.5/TclCmd/binary.htm | 14:15 | |
| phenny | [Coke]: I'll pass that on when masak is around. | ||
| ambs | how can I do this in Perl 6? push @{$foo{bar}}, 5; | ||
| my atempt on push @{%foo{'bar'}}, 5; was not successful :D | |||
| tadzik | cmadsen: $foo<bar>.push(5) | ||
| ambs | hmms... why $? | 14:16 | |
| tadzik | why not? :) | ||
| it's just an object, method do not change due to a sigil | |||
| * methods | |||
|
14:16
copumpkin joined
|
|||
| ambs | hmms.... | 14:16 | |
|
14:17
copumpkin left
|
|||
| ambs | to access a value on the hash, don't you use %foo{'bar'} ? | 14:17 | |
| tadzik | You don't need no dereferencing in Perl 6 | ||
| ambs: You do | |||
| ambs | and why $foo<bar>, then? | ||
| tadzik | or %foo<bar> | ||
| it's the same | |||
| <> autoquotes | |||
| {bar} is not the same as {'bar'} anymore | |||
| ambs | yes, but you wrote $foo<bar> that was my doubt :) | ||
| tadzik | yep | ||
| $foo<bar> == $foo{'bar'} | 14:18 | ||
| it's just faster to type :) | |||
| ambs | no, no, no. My question is about $ vs % :D | ||
| tadzik | which makes everyone like it | ||
| well, that makes no difference really | |||
| star: my %hash = foo => 1, bar => 2; my $other = %hash; %hash.WHAT.say; $other.WHAT.say | |||
| p6eval | star 2010.07: OUTPUT«Hash()Hash()» | ||
| tadzik | see? Both are hashes | ||
| ambs | ok, but if I declared an object with 'has %!foo' then I should use %, right? | 14:19 | |
| tadzik | yep | ||
| ambs | ok :) | ||
| ty | |||
| tadzik | but, if you have %foo, you extract values with %foo<bar>, not $foo<bar> | ||
| sigils do not change in Perl 6 | 14:20 | ||
| ambs: have You read Perl 5 to 6 today? :) | |||
| ambs | no, I've read half of the Perl 6 book | ||
| but without writing some code, that is worth nothing :) | |||
| tadzik | true | ||
| ambs | but the book is needing much work :) or I need a coffee. | 14:23 | |
| moritz_ | probably both :-) | 14:28 | |
|
14:29
unik joined
|
|||
| unik | hi #perl6 ! | 14:29 | |
| I was wandering if anyone remembers the multi+count bug ? | 14:30 | ||
| moritz_ | which one? | 14:31 | |
| unik | rakudo: multi sub dbl { $_ * $_ }; my $a = 0 .. 10; my $b = $a.map: &dbl; say ~$b; | ||
| p6eval | rakudo 53ee80: OUTPUT«Method 'count' not found for invocant of class 'Perl6MultiSub' in 'Any::join' at line 1 in 'List::Str' at line 2547:CORE.setting in main program body at line 6581:CORE.setting» | ||
| unik | rakudo: sub dbl { $_ * $_ }; my $a = 0 .. 10; my $b = $a.map: &dbl; say ~$b; | ||
| p6eval | rakudo 53ee80: OUTPUT«» | ||
| unik | weird | 14:34 | |
| moritz_ | $_ is not set in a sub | 14:35 | |
| unik | it's more than one bug here... | ||
| moritz_ | and you're doing item assignment | ||
| unik | isn't map supposed to get return value of callback? | ||
| oh | 14:36 | ||
| moritz_ | rakudo: sub dbl { $_ * $_ }; say dbl().perl | ||
| p6eval | rakudo 53ee80: OUTPUT«Use of uninitialized value in numeric contextUse of uninitialized value in numeric context0» | ||
| unik | changing them to $^a worked | ||
| rakudo: sub dbl { $^a * $^a }; my $a = 0 .. 10; my $b = $a.map: &dbl; say ~$b; | |||
| p6eval | rakudo 53ee80: OUTPUT«0 1 4 9 16 25 36 49 64 81 100» | ||
|
14:37
masak joined
|
|||
| masak | \\o/ | 14:37 | |
| phenny | masak: 14:15Z <[Coke]> tell masak about www.tcl.tk/man/tcl8.5/TclCmd/binary.htm | ||
| moritz_ | o/ | ||
| masak | \\o | ||
| tadzik | \\o | ||
| masak | hokay, tcl does binary stuff too. | ||
| unik | i thought $_ could be used in that snippet | 14:38 | |
| moritz_ | rakudo: use MONKEY_TYPING; augment class Perl6MultiSub { method count { 1 } }; multi dbl($x) { $x**2}; say ~(1..5).map: &dbl | ||
| p6eval | rakudo 53ee80: OUTPUT«===SORRY!===Can't augment class that doesn't exist» | ||
| masak | ooh! | 14:39 | |
| moritz_ | don't even think about it | 14:41 | |
|
14:42
dual joined
|
|||
| masak | frettled: a solution to the N-queen problem is just a matter of increasing/decreasing the number of nested for loops. (unless you want to get fancy with constraint propagation, something which is probably wise as N goes up) | 14:44 | |
| frettled: and now I got momentarily distracted by en.wikipedia.org/wiki/Eight_queens_puzzle and en.wikipedia.org/wiki/Eight_queens_..._solutions :) | 14:45 | ||
| ambs | does Perl 6 follow the usual module hierarchy like class Module::Class { ? | ||
| tadzik | yep | ||
| If I understood You correctly :) | |||
| ambs | and if so, when declaring a variable this type, I use the full qualitfied name, Module::Class $var; | 14:46 | |
| moritz_ | and like in p5, nested namespaces are not related to inheritance | ||
| ambs | tadzik: heheh, no problem if you don't, just trying to experiment things. | ||
| moritz_: yes, I know :) | |||
| unik | do p5 -style signature-less subs imply "no arguments" in p6? | 14:48 | |
| moritz_ | unik: if they contain no mention of @_ and %_, yes | 14:49 | |
| unik | oh, silly me, I got it now | ||
| ambs | huh.. it worked? O:-) | 14:50 | |
|
14:51
tomaw joined
|
|||
| ambs afks& | 14:52 | ||
| pugssvn | r31930 | moritz++ | [t/spec] improve tests for RT #70007 | 14:55 | |
| r31931 | moritz++ | [t/spec] some rakudo unfudges | |||
| unik | rakudo: multi sub dbl { $^a * $^a }; my $a = 0 .. 10; my $b = $a.map: { dbl($^a); }; say ~$a; say ~$b; # that works | 14:56 | |
| p6eval | rakudo 53ee80: OUTPUT«0 1 2 3 4 5 6 7 8 9 100 1 4 9 16 25 36 49 64 81 100» | ||
| unik | rakudo: multi sub dbl { $^a * $^a }; my $a = 0 .. 10; my $b = $a.map: &dbl; say ~$a; say ~$b; # that doesn't | 14:57 | |
| p6eval | rakudo 53ee80: OUTPUT«0 1 2 3 4 5 6 7 8 9 10Method 'count' not found for invocant of class 'Perl6MultiSub' in 'Any::join' at line 1 in 'List::Str' at line 2547:CORE.setting in main program body at line 6581:CORE.setting» | ||
| jdv79 | any particular reason parrot supports open()ing pipes and rakudo doesn't? | ||
|
14:58
ktne joined
|
|||
| moritz_ | jdv79: it seems nobody was aware that parrot supports it, and got around to porting it to rakudo | 14:58 | |
| jdv79: at least I wasn't | |||
| ktne | are perl6 performance issues related to rakudo specifically or to parrot? | 14:59 | |
| moritz_ | both | ||
|
15:04
hillu joined
|
|||
| moritz_ | rakudo: my $m = Perl6::Grammar.parse('my $x = 0;'); say $m.perl | 15:04 | |
| p6eval | rakudo 53ee80: OUTPUT«Method 'perl' not found for invocant of class 'Regex;Match' in main program body at line 22:/tmp/PcWWbihHoN» | ||
|
15:05
mberends joined
|
|||
| masak | mberends: home already? | 15:07 | |
| mberends | \\o from .nl :) | ||
| moritz_ | o/ | ||
| mberends | masak: yes, about 1.5 hours ago. I had some @chores to do, now it's time for a nice cup of tea. | 15:08 | |
| masak | tadzik: I've started fixing up Text::CSV. test files 01 to 03 pass; there are failures in 04, 05 and 06. | ||
| tadzik | masak: good | 15:09 | |
| masak | mberends: we had a jolly old time on the way to Bologna. after a brief disagreement with Tomtom, we ended up on the Really Scenic Route. :) | ||
| tadzik is thinking about launching something like prototesters, showing which modules actually work | |||
| masak | mberends: I'm now sitting outside my room where they plug in the vacuum cleaners, charging my laptop. | 15:10 | |
| tadzik | that would encourage people to 1) write tests 2) make their modules pass those tests | ||
| masak | tadzik: shall we write it together? in my mind, that project is called "Emmentaler", and runs on top of pls. | ||
| moritz_ | tadzik: I've attended a talk about cpantesters... seems that their infrastructure would be flexible enough to adopt it to our needs | ||
| masak | moritz_: ooh! | ||
| moritz_ | at least their server-side structure | ||
| masak | that's great news. | ||
| tadzik | masak: sure | ||
| hmm | 15:11 | ||
| avar | or, just use cpantesters? | ||
| moritz_ | they have something called "metabase", which is a database that collects facts | ||
| tadzik | oh, curiosity: why are we not on CPAN? | ||
| but rather launching our own solutions | |||
| moritz_ | avar: still involves writing a custom client, probably | ||
| tadzik: it's not so easy to use CPAN - but I'd appreciate any progress in that area | 15:12 | ||
| allbery_b | because CPAN needs to be extended to know what is perl5 and what is perl6, I think | ||
| tadzik | masak: seen my @perl6-users module post? | ||
| masak | no. looking now. | ||
| moritz_ | allbery_b: right; a good first step would be to make PAUSE ignore any p6 modules, and have our own index | ||
| avar | It's easy, just 1. upload tarballs with p6 modules 2. have a META.* in them with no_index 3. Add custom CPAN 2.0 META data to specify prereqs / p6 specific stuff 4. Write a custom indexes (like proto, but use the cpan) 5. monkeypatch tools to work with it. | 15:13 | |
| moritz_: There's already a facility to ignore p6 modules (see 2) | |||
| allbery_b | "easy" | ||
| tadzik | I'm pretty happy with our own proto | ||
| moritz_ | avar: it exists, but it's a bit fragile, if you ask me | ||
| avar | How is it fragile? | 15:14 | |
| masak | tadzik: you're looking for some regularity in the module universe? I can't say I blame you :) | ||
| moritz_ | avar: last I looked it required no_index for each file to be ignored | ||
| tadzik | masak: what do You mean? | ||
| masak | tadzik: that's my reaction from reading your email. | ||
| tadzik | masak: so are you positive or negative? | 15:15 | |
| moritz_ | avar: or is there a broader no_index thing? | ||
| tadzik | I can't say I blame you -- ETOOCRYPTIC | ||
| masak | tadzik: I can tell you how I think it should be done. but I'll be careful to phrase it as my opinions, and not as law. | ||
| avar | moritz_: no, you can no_index on a per-directory basis. But in any case it's easy either way with tools like dzil that write the meta for you. | ||
| szbalint arrived $home :) | |||
| moritz_ | \\o szbalint | ||
| tadzik | masak: well, there is no law now, not any I'm aware of | ||
| avar | see the no_index here: cpansearch.perl.org/src/AVAR/Hailo-.../META.json | ||
| masak | tadzik: there are many ways to do it now because (1) there's inertia in the system and some or using old solutions, and (2) people have different needs | ||
| szbalint | o/ | 15:16 | |
|
15:16
slavik joined
|
|||
| masak | tadzik: I think github.com/masak/proto/blob/master/PIONEER still summarizes my position fairly well. | 15:16 | |
| tadzik: and ufo summarizes my position on Makefile.in and Configure :) | 15:17 | ||
| moritz_ | avar: that's much better than before | ||
| tadzik | masak: I see | ||
| masak | tadzik: I think that makes me an ultra-liberal, except for the Makefile.in/Configure part. | 15:18 | |
| tadzik | so the only thing neutro does not do now is Configure && make | ||
| avar | moritz_: acc. to cpan.uwinnipeg.ca/htdocs/CPAN-Meta/...ersion_1_0 it has been like that since november 2006 | ||
| tadzik | masak: personally, I think this should be avoided | ||
| moritz_ | avar: wow | ||
| tadzik | masak: but this looks like a nice standard specification | 15:19 | |
| ambs | %!translations{$language}.push($translation); --> Method 'push' not found for invocant of class '' -- help? :) | ||
| tadzik | masak: how about instead of Configure.pl/Makefile there will be some Build.pm perl 6 module, with a build() sub? No external app launching, no make dependency | ||
| and then installing lib/ as usual | |||
| masak | tadzik: ok, let's first define terms here. | 15:20 | |
| tadzik: there's the developer, and there's the user. they have slightly different needs. | |||
| the developer wants to be able to run make, run the tests, test install, etc. | |||
| the user just wants to run the module, as simply as possible. | |||
| tadzik: when you say 'there will be some Build.pm', are you talking about for the developer, or for the user? | 15:21 | ||
| tadzik | masak: I was thinking about the developer. Now this approach means that the user will not install the module by himself | ||
| he will just pls . and the developer's work will do the best | |||
| * rest | |||
| masak: as looking at CPAN, some people tend to avoid Extuils::MakeMaker in favor of Module::Build | 15:22 | ||
| masak | tadzik: as a developer, ufo mostly fills my needs. it means I don't have to put a Build.pm or a Configure.pm in my repository. | ||
| ambs | Module::Build has some nice details | ||
| tadzik | which seems like they don't like make, they don't really want not really portable, not-Perl solution | ||
| masak | ergh, dangling modifier :) | ||
| tadzik | yep, ufo makes makefile which can do what's needed | 15:23 | |
| masak | tadzik: there's been talk of a "pure-Perl6" make-replacing solution lately, including at YAPC::EU. | ||
| tadzik | masak: so Your point is that ufo fullfils the developers and the users needs? | 15:24 | |
| masak | tadzik: but people have been trying to replace make for the past 15 years or so, and not succeeded yet. | ||
| tadzik: no, my point is that I wrote it to fulfill *my* needs, and it does :) | |||
| tadzik | I see :) | ||
| masak | tadzik: perhaps others' too | ||
| tadzik | well, but let's look at the module management for a while again | ||
| masak | I see the last 5 emails on the p6u list were about modules... :) | 15:25 | |
| tadzik | now we have no installing by hand, just a manager which does everything what's good for the use | ||
| masak | ok, "module management" is the user installing/upgrading modules and their dependencies, yes? | ||
| tadzik | r | ||
| yep | |||
| I'd even go for removing | |||
| masak | removing is tricky. but sure. | 15:26 | |
| tadzik | What I was always missing in cpan was the lack of ability to: Install module with lots of deps, then remove this module and have the deps automagically removed | ||
| I've been thinking about this, in terms of neutro, and I figured out it'll be damn hard, if not impossible, to manage modules installed by something else | 15:27 | ||
| masak | yes. | ||
| to do what you want, you have to have complete control over module installation. | 15:28 | ||
| tadzik | I remember one of my first PM meetings, when I said "well, there's no easy way to remove modules" mongers said "oh, they're not big" | ||
| yep | |||
| which is, to say it delicately, risky | |||
| risky to assume and risky to force it | 15:29 | ||
| but I still thing this is a nice thing and it'd be nice to have | |||
| avar | that's easy if you just convert the modules to packages installed by your package manager | ||
| TiMBuS | could you not include a way to convert modules+deps into a ^ beaten | 15:30 | |
| tadzik | yep, that's how it usually ends now | ||
| in Linux distros at least | |||
| so there's another question, if comprehensive module management is really worth the effort | 15:31 | ||
| avar | no? | ||
| tadzik | and back to some old things I said: You say, masak, people are unable to replace make for 15 years or so. But make is about building mostly, and I doubt if Perl modules really need a build system | 15:32 | |
| make is easy to use, yes, like ufo shows | |||
| slavik | tadzik, they might if they have to link to native code or compiled to native code. | ||
| but what's the argument? | 15:33 | ||
| tadzik | But I don't think relying on make in the potential Perl module installer is such a good thing | ||
| slavik | masak: have you had any experience with the automatic package builders that would create distro specific packages (rpm/deb) from CPAN? | ||
| tadzik | well, I'm just thinking aloud, provoking you guys to some discussion | ||
| masak | tadzik: it's the little things I like about make. such as, when I do 'make test' and a .pm file is newer than its corresponding .pir file, it rebuilds the .pir file for me first. | ||
| tadzik: I could probably make a Perl 6 tool that did that, and never use make again :) | 15:34 | ||
| tadzik | so that's nice for the developer | ||
| masak | slavik: no, no experience. | ||
| slavik | masak: k | ||
| tadzik | but in terms of installing modules, it's mostly 1) download the fresh tarball 2) build everything from the beginning | ||
| slavik | masak: why would you want to re-implement make? | ||
| masak | tadzik: yes, I suspect such things are nice for the developer. nowadays I have Makefiles which make me not need to set PERL6LIB. (I usually end up doing that anyway, though) | 15:35 | |
| slavik | tadzik: I disagree on those steps :) | ||
| tadzik | slavik: why so? :) | ||
| masak | slavik: it was just an idea. :) I'm not sure I will. but experience seems to show it would help Windows Perl 6 developers, since nmake is so different from GNU make. | ||
| slavik | tadzik: what about modules depending on other modules? do you want to blindly get them and build them, too no matter what? | ||
| tadzik | slavik: no, checking deps occurs before building | 15:36 | |
| I ommited that in those steps, aye | |||
| slavik | tadzik: then why not just use make? | ||
| tadzik: even FreeBSD's ports system uses make | |||
| ambs | star: my %a; %a<foo>.push(3); | 15:37 | |
| tadzik | slavik: for it's not quite portable. That's just another external app needed | ||
| p6eval | star 2010.07: OUTPUT«Method 'push' not found for invocant of class '' in main program body at line 22:/tmp/k8UE5LAD5o» | ||
| moritz_ | blogs.perl.org/users/alberto_simoes...rnoon.html fwiw ambs++ re-formulated his review of my talk after private discussion, for which I'm very grateful | ||
| tadzik | slavik: I have nothing against it, but sitting here on #perl6 shows me that many Perl devs use Windows | ||
| ambs | any hint on how to fix the above code? :) | ||
| slavik | tadzik: consider that most (almost all) retail (brick and mortar) systems come with windows. | 15:38 | |
| ambs: I don't think you can push things onto a hash | |||
| moritz_ | ambs: %a<foo> //= []; before the push line is a common work-around | ||
| tadzik | ambs: %a<foo> is not an array | ||
| moritz_ | ambs: we should have most of the framework in place to implement that kind of autovivification, it just hasn't happened yet | ||
| ambs | moritz_: ok, so will use the work-around for now | 15:39 | |
| masak | ambs: do you mean %a.push( foo => 3 ) ? | ||
| hm, probably not :) | |||
| ambs | masak: no, I wanted %a<foo> to have an array reference (push @{$a{foo}}, 3 #perl5) | 15:40 | |
| slavik | ambs: %a<foo> = []; ? | ||
| moritz_ | rakudo: my %h; %h.push('a' => 3); say %h.perl; %h.push('a' => 5); say %h.perl | ||
| p6eval | rakudo 53ee80: OUTPUT«{"a" => 3}{"a" => [3, 5]}» | ||
| moritz_ | Hash.push is implemented, but not what ambs wants | 15:41 | |
| ambs | right. | ||
|
15:41
Axius joined
|
|||
| masak | ambs: (%a<foo> //= []).push(3) is what I usually end up doing these days. | 15:43 | |
| ambs | masak: yes, that's what moritz_ said. implementing it :) | ||
| and it works :) | |||
| moritz_ | \\o/ | ||
| masak | :) | ||
| ambs | ;) | 15:44 | |
| masak | moritz_ said on the line before. if I have room enough on the same line, I tend to do it with the parens. | ||
| pugssvn | r31932 | moritz++ | [perl6.org] link to mx-declare emacs stuff, avar++ | ||
|
15:44
justatheory joined
15:45
azert0x_ joined,
pmurias joined
|
|||
| ambs | moritz++ # for the emacs stuff as well :) | 15:45 | |
| is there any option to .perl to make it pretty print? 4 lines of dump is not really legible ;) | 15:49 | ||
|
15:49
Axius_ joined
|
|||
| moritz_ | no | 15:49 | |
| I thought maybe a $*PERL_INDENT contextual | 15:50 | ||
| if set, enables pretty-printing, and indents that many spaces | |||
| (conjectural spec pondering, not working atm) | |||
|
15:51
desertm4x joined
|
|||
| ambs | ok. /me crosses the eyes. | 15:51 | |
| pmurias | ruoso: hi | 15:55 | |
| tadzik | masak: so, we end up staying with make? | 15:57 | |
| masak | tadzik: again, you're looking for directions, and I have none to give. | ||
| tadzik: I'm hoping someone picks up a torch and leads the way. :) | |||
| tadzik | masak: oh, I have a point | 15:58 | |
| let's keep the scripts in bin/ like modules in lib/ | |||
| so proto/pls/whatever will know what to instal | |||
| moritz_ | and tests in t/ | ||
| tadzik | yes, but that's alredy common | 15:59 | |
| pmurias | moritz_: that doesn't seem a very elegant solution | ||
| ambs | when there is a spec for how modules should be shipped, let us know :) | ||
| tadzik | ambs: there is, masak++ wrote one | ||
| github.com/masak/proto/blob/master/PIONEER | |||
| moritz_ | pmurias: what would you prefer? | ||
| tadzik | masak: mind me menioning bin/ there? | ||
| masak | yes, but the "should" in that spec is "do whatever you want!" | ||
| tadzik | masak: oh, there's also no mention to lib/ | 16:00 | |
| "do whatever you want, but remember we're not obliged to run it then :P" | |||
| masak | tadzik: I'm afraid I don't really see the big point of bin/ yet. | ||
| pmurias | moritz_: a sane default | ||
| moritz_ | masak: how would proto install ufo? | ||
| masak | tadzik: lib/ should probably be in PIONEER, yes. | ||
|
16:00
mdxi joined
|
|||
| moritz_ | pmurias: "sane" depends on use case | 16:01 | |
| tadzik | masak: I can write it | ||
| masak | moritz_: ufo has its own Makefile, so pls would default to it. | ||
| tadzik | masak: how about ufo? | ||
| oh, moritz was faster | |||
|
16:01
xlh joined
|
|||
| moritz_ | masak: speaking of which... i'd like to add a 'Makefile' target to ufo generated makefiles that rebuilds it | 16:01 | |
| tadzik | masak: so when there's make, we run make install rather than installing lib/? | ||
| masak | moritz_: I'm disinclined to make the Makefile generated by ufo dependent on ufo... | 16:02 | |
| tadzik: that's always seemed sane to me. | |||
| tadzik | a'right | ||
| masak | tadzik: in general, defaulting to the build/install mechanisms we recognize and can handle. | ||
| tadzik | masak: how about the bin/? | 16:03 | |
| moritz_ | masak: ok; thought you might have a reason to reject | ||
|
16:03
mac| joined
|
|||
| masak | tadzik: I'm afraid I don't really see the big point of bin/ yet. | 16:03 | |
| mac| | hiho #p6! | ||
| tadzik | few modules supply scripts | ||
| pmurias | moritz_: plus there seems to be more ways of formating code differently (see the list of options to perltidy) | ||
| tadzik | mac|: o/ | ||
| masak: let me find some to prove my point, hold on | |||
| masak: gotcha! Yapsi! | 16:04 | ||
| moritz_ | pmurias: and then we have to ask ourselves how much of that belongs into the built-in .perl method | ||
| masak | tadzik: ok. Yapsi. no Makefile.in, no Makefile. good. | ||
| ambs | (weird, this is working too easily) | ||
| tadzik | masak: also, I was thinking about writing a runnable, P6 based file_find binary to use in scripts e.g. | 16:05 | |
| bin/ would be nice here | |||
| masak | tadzik: pls takes it, generates the Makefile ufo would have generated, and promptly installs it. there's talk about eliminating the Makefile and just doing it all in Perl 6. | ||
| pmurias | moritz_: the output of the .perl method is implementation specific | ||
| masak | tadzik: sorry, you still haven't explained bin/ in a way that makes me understand what it's for. | ||
| moritz_ | I know | ||
| tadzik | masak: pls takes what, installing binary? | ||
| masak | what? no. | 16:06 | |
| tadzik | masak: it's for modules installing not only modules, but applications | ||
| masak | what does that even mean? | ||
| tadzik | like Yapsi is an application | ||
| masak | no, it's a project. | ||
| with a module. | |||
| the module can be installed. | |||
| just like any module. | |||
| tadzik | Web frameworks tend to supply a scripts bootstraping apps, controllers etc | ||
| moritz_ | masak: some modules come with executable scripts. bin/ would be a directory that makes it easy to mark files as being scripts-to-be-installed-in-$PATH | ||
| masak | oh! | ||
| ok. I buy that. | 16:07 | ||
| tadzik | moritz_++ | ||
| that's my point | |||
| moritz_ | for example on windows you can't look at the executable bit | ||
| masak | reluctantly. | ||
| tadzik++ | |||
| moritz_ | because they don't have such a thing | ||
| masak | I guess I can live with bin/ufo and bin/yapsi | ||
| tadzik | whew. Thanks moritz_, I think I've never explained this eventually ;) | ||
| masak: yes! | |||
| masak | and then they end up in the path when they're installed. | ||
| tadzik | so while we have .perl6/lib, there can be .perl6/bin | ||
| masak | tadzik: just to show my support, I will now change ufo and yapsi to be that way. | ||
| tadzik | and while we are warning about lacking proper PERL6LIB, we can warn about lack of proper PATH | 16:08 | |
| masak: great | |||
| masak: let me menion that in PIONEER | |||
| masak | tadzik: let me know if you discover any other scripts like that, and I'll see if I can't get them moved to bin/ | ||
| tadzik: sure, go ahead. | |||
| tadzik: make sure you make it a suggestion, and not a requirement. | |||
| tadzik: dangle the it-just-works-during-install flag somehow. :) | |||
| tadzik | masak: sure :) | 16:09 | |
| masak | tadzik++ | ||
| moritz_ | our specs will be "if you put scripts into bin/, we install them for you", not "put scripts into bin/" | ||
| masak | we're on the same wavelength now :) | ||
| moritz_ | and we should adapt the shebang line on unixoid systems | ||
| masak | for those bin files? | 16:10 | |
| ambs | yes | ||
| moritz_ | yes | ||
| masak | that would have to be just another recommendation. "consider putting a shebang line..." | ||
| ambs | (check if they have a sheband, and that that shebang is perl6, if so, adapt to the correct perl6 path -- JMHO) | ||
| moritz_ | well, the author doesn't know the path of the perl6 binary in advance | 16:11 | |
| ambs | moritz_: that's why the install system should adapt the path | ||
| tadzik | masak: wklej.org/id/374229/ ok? | ||
| moritz_ | aye | ||
|
16:12
risou joined
|
|||
| masak | tadzik: looks fine. | 16:12 | |
| tadzik | commiting | ||
| masak | tadzik: there we go. both ufo and yapsi pushed to have a bin/ dir. | 16:14 | |
| tadzik | gitpush'd to proto | ||
| yayay | |||
| time to fix neutro now | |||
| masak: so what about prototesters? | 16:15 | ||
|
16:15
macroron joined
|
|||
| moritz_ | moritz.faui2k3.org/gallery/pisa/ # the few Pisa pictures I found worth publishing | 16:15 | |
| tadzik thinks about writing a blogpost summarizing PIONEER | |||
| masak | tadzik: you mean Emmentaler? the pieces are all there, they just have to be assembled. see my emmentaler repo on github for some very early planning. | ||
| tadzik: do it! write a blog post. | 16:16 | ||
| tadzik | oh, great :) | ||
| ambs | more photos: ambs.perl-hackers.net/photos/ye2010/ | ||
| do we have any Test::Something available? | 16:17 | ||
| moritz_ | ambs: Test.pm is shipped with Rakudo | ||
| masak | moritz_: who's the statue woman? | ||
| moritz_ | ambs: and iirc ingy wrote TestML | ||
| tadzik | ambs: there is also Test::Mock in proto | ||
| moritz_ | masak: she's called "OH NOEZ" | 16:18 | |
| dalek | psi: e4ed4ab | masak++ | (2 files): moved yapsi -> bin/yapsi |
||
| tadzik | :D | ||
| masak | moritz_: lol! | ||
| ambs | hmms, proto isn't been substituted by pls? or I got it wrong from pmichaud talk? | ||
| tadzik | ambs: proto is the idea, with plenty of implementations | ||
| masak | moritz_: perfect for some talk some time. | ||
| tadzik | ...I think | ||
| ambs | ok | 16:19 | |
| tadzik | ambs: from which I'm afraid only neutro is working | ||
| masak | tadzik: no, proto was the first installer I wrote. | ||
| ambs | still in my beginning on writing one of my perl5 modules in perl6 - github.com/ambs/Biblio-Thesaurus-6 | ||
| tadzik | masak: but the modules are still on proto.perl6.org, and I think proto is now a synonym for CPAN for us, no? | ||
| masak | tadzik: pls is the second. it's done, but not sufficiently tried out and not sufficiently well packaged to completely replace proto. | ||
| tadzik | Module available in proto | ||
| masak | tadzik: that was never the idea. | ||
| tadzik | oh | ||
| I've misunderstood then | 16:20 | ||
| masak | please use modules.perl6.org :/ | ||
| tadzik | ok, pardon | ||
| masak | some people like making subdomain names out of my internal never-meant-to-be-public project names. | ||
| :) | |||
| tadzik | :) | ||
| like proto.perl6.org? | |||
| masak | cf u4x.perl6.org... | ||
| moritz_ | some people install permanent redirects to the properl domain names | ||
| tadzik | masak: so PIONEER is sort of a standard for making Perl 6 modules? | 16:21 | |
| masak | tadzik: NO! | ||
| tadzik | :( | ||
| I don't get it then | |||
| masak | it's just meant to be a reassuring document for people who can't live without standards. | ||
| tadzik | oh | ||
| ambs | LOL | 16:22 | |
| masak | I. Don't. Make. The. Law. | ||
| moritz_ | it's the "how do write a module that will work fine with proto/pls" document | ||
| tadzik | You're allergic to the work 'standard', a'nt You masak? | ||
| masak | a tiddle bittle. | ||
| tadzik | sounds sane | ||
| ambs | too early for that, but how to add a module to modules.perl6.org? | ||
| masak | ambs: there's a file in the pls branch of the proto repo... | ||
| moritz_ | called poc-projects.list or so | 16:23 | |
| masak | it's called poc-projects.list | ||
| (but that will change, as will its location) | |||
| "poc" stands for "proof-of-concept", which is the stage pls is currently stuck at. | |||
| pending someone's tuits. | |||
| maybe I should make a ROADMAP. | |||
| moritz_ hopes he can get some web-based submission thing up and running | |||
| ambs | ok, I'll ask later (no idea where that branch is, no idea how to specify a branch on git, yet, and too early to put this module in the index) | ||
| tadzik | moritz_: maybe a hugme plugin? | ||
| masak | ambs: github.com/masak/proto/blob/pls/poc...jects.list | 16:24 | |
| moritz_ | tadzik: maybe | ||
|
16:24
PacoLinux joined
|
|||
| moritz_ | tadzik: as an option, not as the sole possiblity | 16:24 | |
| tadzik | moritz_: sure | ||
| ambs | btw, smash made a very simple perl6doc.org. who knows if this shouldn't be linked from somewhere. | ||
| masak | tadzik: re "fixed pull conflicts", may I recommend the excellent command 'git pull --rebase' next time? | 16:25 | |
| ambs: according to me, that's not Perl 6 documentation, that's Rakudo documentation. | |||
| tadzik | masak: oh, I was missing that thing | ||
| [Coke] | regarding the discussions about make not being portable - I am pretty sure it works everywhere rakudo does atm. | ||
| (including windows) | |||
| masak | ambs: I tried telling smash this. not sure he understood what I meant. | ||
| moritz_ | [Coke]: which project? | ||
| ambs | masak: probably. don't talk to him for some time. | 16:26 | |
| masak | [Coke]: then you should have a chat with jnthn, who tried to make pls work on Windows. | ||
| moritz_ | masak: I think it's meant to be a prototype environment, to be filled with "real" Perl 6 docs | ||
| masak | ambs: I met him last week. | ||
| moritz_: oh, I see. | |||
| ambs | masak: yes, I know :P | ||
| masak | right :) | 16:27 | |
| ambs was there too :P | |||
| [Coke] | masak: "I can't write portable makefiles" NEQ "make isn't portable" | 16:28 | |
| masak | [Coke]: you should definitely tell jnthn that. | ||
| I'm not the one on Windows, see? | |||
| [Coke] | I just hate to see effort put into replacing something servicable when there is so much other places for effort to be expended. (not that effort is fungible) I also don't wish to repeat ant. | 16:29 | |
| masak | me neither. | ||
| though both Python and Ruby seem to have made their own make replacements. | |||
| so there seems to be *some* reason to. | |||
| [Coke] | masak: once I have free time again, I can try pls on windows, sure. | 16:30 | |
| ambs | in any case, I think Schwern had much more problems with ExtUtils::Makefile than 'someone' with Module::Build. | ||
| [Coke] | masak: yes, because everyone has NIH syndrome. =-) | ||
| pugssvn | r31933 | pmichaud++ | [t/spec]: Spectest for rakudo fix in 6ebba8 commit. | 16:31 | |
| [Coke] | but I've had this same talk with folks on parrot, and we have dist utils there. So perhaps I should let this go. | ||
| ambs | :) | ||
| masak | [Coke]: does it have to be NIH? can't there be genuine advantages to having a Ruby build tool written in Ruby, for example? | ||
| ambs | [Coke]: btw, do not forget to vote O:-) | ||
| tea time | 16:32 | ||
| [Coke] drops it. | 16:33 | ||
| ambs: I have a whole week left to do that, thanks. | |||
| ambs | :) | 16:35 | |
| ambs gets back to Perl 6 | 16:43 | ||
| constructors are polymorphic? (can I have two new methods with different signatures?) | 16:45 | ||
| masak | sure. | ||
| tadzik | sure | ||
| masak | just declare them 'multi method' | ||
| tadzik slow again | |||
| ambs | ty :) | ||
| masak | with the new not-yet-implemented-in-Rakudo spec about proto and multi methods, you'll even be able to dispatch to the default new method, if it's the narrowest match. | 16:46 | |
| ambs | what does it mean self.bless(* ... )? | 16:47 | |
| I mean, the asterisk | 16:48 | ||
| moritz_ | it means "default representation" | ||
| masak | ...which is p6opaque | 16:49 | |
| moritz_ | for now. | ||
| masak | right. | ||
| ambs | sorry for being annoying. If you want me to shut up, I'll do it. -- what I'm doing wrong here? pastebin.com/RazfVYxi | 16:53 | |
| tadzik | I don't think accessors are present before bless | 16:54 | |
| ambs | $self.term? | 16:55 | |
| masak | they are, but they belong to the type object. | ||
| tadzik | Wouldn't it be self.bless(*, term => $term, def-language => $def-language)? | ||
| masak | and you're not allowed to change the attributes of the type object. | ||
| tadzik: yes indeed. | |||
| tadzik | yay, I remembered | ||
| masak | tadzik++ | ||
| ambs | tadzik, probably, but I was not understanding that type of line on the perl6 document | 16:56 | |
| tadzik | ambs: it's not quite different from Perl 5 here, yep? | ||
| masak | ambs: one calls MyClass.new, right? so $.term = $term would try to change MyClass.term, which is disallowed. | ||
| ambs | tadzik: now, no. But the example uses :$callback and :@depedencies that, while I've read about them, are not yet working on my head. | ||
| masak | ambs: :$callback means :callback($callback) | 16:57 | |
| tadzik | yes | ||
| masak | or callback => $callback | ||
| it's just sugar. | |||
| ambs | yes, that means.. yes, that | ||
| I know, as I've said, I read that :) but not yet really working on my head :) | |||
| masak | give it some time. | 16:58 | |
| ambs nods | |||
| masak | "I also think that compact classes should be able to express their serialization in pack form if asked for it with .packformat or some such." -- TimToady in S32/Str about pack. | 16:59 | |
| I like this idea. | |||
| it's sort of &pack meets OO. | 17:00 | ||
| ambs | still not working properly - pastebin.com/jB9seqw6 | ||
| masak | ambs: huh. | ||
| ambs: trying to reproduce that. | |||
| ambs: works here. | 17:01 | ||
| ambs: there must be something in the code you didn't post causing that. | 17:02 | ||
| ambs | commenting code | ||
| masak | or something other than your code, such as a faulty Rakudo. | ||
| ambs | it should be rakudo star (of course, things could get mad during build) | 17:03 | |
| masak | I'm running bleed. not much I can do about that. | ||
| ambs | :) | ||
| masak | might be something that got fixed. | ||
| ambs | let me try to install bleed | 17:04 | |
| masak | given what you posted, my bet was on the 'multi' keyword. | ||
| but that doesn't seem to be it. | |||
| ambs | removed the multi, works | ||
| well, I can create a constructor not named new, and forget the multi for now. | 17:06 | ||
| tadzik | ambs: erm, You declared 2-argument new, but You're using named parameters | 17:08 | |
| masak | I'm leaning towards "has been fixed since Star", then. | ||
| tadzik: he's using named arguments, which is fine even with positional parameters. | |||
| tadzik | oh, ok | ||
| ambs | (good) | ||
| masak | yes, I was surprised too that that works. :) | 17:09 | |
| pmurias | [Coke]: isn't there a pmake? | ||
| masak | right about when jnthn++ implemented it :) | ||
| ambs | hmms, with rakudo star I think I've used perl Configure.pl --prefix=/opt/rakudo, but probably I am wrong :-\\ | 17:12 | |
| masak | &pack in fascinating, because it lies just at the intersection of binary data and character strings. it has a slightly forbidden feel to it. | 17:18 | |
| take this specifier, for example: | 17:20 | ||
| A A text (ASCII) string, will be space padded. | |||
| what happens if you send it a Unicode string with non-ASCII characters? | |||
| runtime error? | |||
| oh, and | 17:21 | ||
| I An unsigned integer value. | |||
| can you send an Int to that? | |||
| is there an upper limit of the size of Int you can send in? | |||
| there's a limit on S, which is always exactly 16 bits wide. | 17:22 | ||
| f A single‐precision float in the native format. | 17:23 | ||
| ditto d. I have no idea how to get at 'the native format'. maybe I should ask #parrot. | |||
| ambs | does rakudo support already a record separator? ($/...) | 17:24 | |
| masak | std: $RS | 17:25 | |
| p6eval | std 31912: OUTPUT«[31m===[0mSORRY![31m===[0mVariable $RS is not predeclared at /tmp/tYbO4o87nL line 1:------> [32m$RS[33m⏏[31m<EOL>[0mCheck failedFAILED 00:01 112m» | ||
| masak | oh well. | ||
| ambs: from S28: | |||
| $/ $RS $*IN.input_record_separator() | |||
| that is, the former two have been superseded by the latter. | |||
|
17:25
xinming joined
|
|||
| ambs | masak: thanks :) | 17:26 | |
| masak | you'll find other superseded variables in S28, too. | ||
| ambs | after setting it, $file.lines does what I expect? :D | ||
| masak | tias | 17:27 | |
| if not, submit a rakudobug. | |||
| rakudo: say lines | |||
| p6eval | rakudo 53ee80: OUTPUT«Land der Berge, Land am Strome,Land der Äcker, Land der Dome,Land der Hämmer, zukunftsreich!Heimat bist du großer Söhne,Volk, begnadet für das Schöne,vielgerühmtes Österreich,vielgerühmtes Österreich!Heiß umfehdet, wild umstrittenliegst dem Erdteil du inmitten,einem starken | 17:28 | |
| ..Herzen … | |||
| masak | rakudo: say +lines | ||
| p6eval | rakudo 53ee80: OUTPUT«23» | ||
| tadzik | what's that? | ||
| masak | tadzik: Austrian national anthem. | ||
| tadzik | nice | ||
| ambs | :-| | ||
| masak | rakudo: $*IN.input_record_separator = "Land"; say +lines | ||
| ambs | crazy people | ||
| p6eval | rakudo 53ee80: OUTPUT«Method 'input_record_separator' not found for invocant of class 'IO' in main program body at line 22:/tmp/8Tt4WngKVF» | ||
| masak | ambs: seems NYI. | 17:29 | |
| ambs | :-| | ||
| masak | well volunteered! | ||
| was I too early? :) | |||
| ambs | if I knew where to loot at | ||
| look* | 17:30 | ||
| well, need to prepare the bag for vacations. later :) | 17:32 | ||
| tadzik | masak: so, are we playing with Emmentaller? | 17:37 | |
| masak | tadzik: let's set a date and time for it. today I'm still working on GSoC stuff. | ||
| tadzik: do you have a feather account? | 17:38 | ||
| tadzik | masak: I have plenty of time, feel free to choose what suits You best | ||
| masak: nah | |||
| masak | tadzik: ask Juerd++ for one by email. it'll help. | ||
| tadzik | masak: shall I point You and the project as the argumentation? | 17:39 | |
| masak | works for me. | ||
| tadzik | a'right | ||
| …what is feather actually? Some big server for Perl 6-related stuff? | 17:40 | ||
| masak | it's a server for diverse Perl 6 projects, admin'd by Juerd++. | ||
| tadzik | masak: oh, CSV tests look failing for me | 17:41 | |
| masak | all of them? | 17:42 | |
| tadzik | 04..06 | ||
|
17:42
araujo joined
|
|||
| masak | oh, that's what I have too. | 17:42 | |
| tadzik | 8 subtests | ||
| ok then | |||
| masak | I figured now that I've gotten some of them working... someone may beat me to fixing the rest. :) | ||
| it's probably simple bitrot stuff. | |||
| tadzik | masak: oh, You might want to update ufo README. ABC does not use Human Technology anymore | 17:44 | |
| masak | tadzik: noted. will update. | 17:49 | |
| pushed. | 17:55 | ||
| tadzik | masak++ | 17:57 | |
|
17:57
lue joined
|
|||
| lue | hello o/ | 17:57 | |
| tadzik | \\o | 18:00 | |
| masak: duh. Module installer has to figure out by itself whether to use Perl 5 or Perl 6 to run Configure.pl? | 18:01 | ||
| masak | tadzik: are you saying there are still projects out there using a Perl 5 Configure.pl? | 18:07 | |
| tadzik | masak: No idea | ||
| masak | then I'm not sure I understand the question. | 18:09 | |
| tadzik | Then I'm sure they all use Perl 6 | 18:10 | |
| oh, some modules define no install target in Makefile, that has to be checked | |||
| masak | again, the same rule applies. | ||
| if the project defines something, use that. | 18:11 | ||
| tadzik | yep | ||
| masak | otherwise, do something default. | ||
|
18:14
Axius_ joined
18:18
desertm4x joined
|
|||
| lue | what if there is only a Makefile and someone is using Windows ? | 18:19 | |
| (for the module installer) | 18:20 | ||
| masak | lue: good question. I'd run the Makefile. | ||
| and fail to install if it doesn't work. | 18:21 | ||
|
18:21
desertm4x joined
|
|||
| masak | explicitly provided things trump platform-dependent workarounds. or something. | 18:21 | |
|
18:23
x3nU joined
18:25
Packetknife joined,
araujo joined
18:26
Packetknife joined
|
|||
| desertm4x | Is there a way to check whether a string and a certain token within a grammar match? I have written a small grammar and I would like to test some of the tokens separately to find the errors I have made. | 18:32 | |
| masak | desertm4x: say ?("this is my string" ~~ / ^ <MyGrammar::mytoken> $ /) | 18:33 | |
| moritz_ | except it doesn't work in rakudo | 18:34 | |
| what runs now is | |||
| MyGrammar.parse($string, :rule<mytoken>); | |||
| masak | oh. right. moritz_++ | ||
| moritz_ | masak: and <MyGrammar::mytoken> will only work for 'our token mytoken' or so | ||
| masak | makes sense. | 18:36 | |
| desertm4x | Thanks, it works. :-) | ||
|
18:46
Axius__ joined
18:59
hanekomu joined
19:04
itz joined
19:07
hanekomu joined
|
|||
| moritz_ | phenny: tell MAK__ www.presentingperl.org/yn2010/not-quite-perl/ # a wee bit older, but should still apply | 19:20 | |
| phenny | moritz_: I'll pass that on when MAK__ is around. | ||
|
19:49
ethel joined
20:00
Packetknife joined
20:12
smash joined
|
|||
| smash | hello everyone | 20:12 | |
| tadzik | o/ | 20:13 | |
|
20:14
briang left
20:26
masak joined
|
|||
| masak just had mozzarella di bufala | 20:27 | ||
| highly recommended. | |||
|
20:28
molaf joined
|
|||
| tadzik | masak: what's that? And btw, what's Juerd's mail? | 20:35 | |
| masak | tadzik: see juerd.nl/site.plp/ | 20:36 | |
| tadzik: have you tried ordinary mozzarella? the one out of cow milk. | |||
| tadzik | masak: yeah, I know it | 20:37 | |
| masak: these are really #'s? | |||
| masak | aye :) | ||
| tadzik | :D | ||
| catch | |||
| catchy * | |||
| masak | says so when you hover on them. | ||
| tadzik: well, buffalo mozzarella is what cow milk mozzarella aspires to be. | 20:38 | ||
| tadzik | yeah, it just thought there is a trap around ;) | ||
|
20:39
azert0x joined
20:53
snearch joined
20:57
whiteknight joined
21:08
briang joined,
briang left
|
|||
| cono | rakudo: class A { my @!e; } | 21:28 | |
| p6eval | rakudo 53ee80: OUTPUT«Lexical 'self' not found in main program body at line 22:/tmp/86wHIP37CR» | ||
| cono | std: class A { my @!e; } | ||
| p6eval | std 31912: OUTPUT«ok 00:01 113m» | ||
|
21:34
Guest23195 left
|
|||
| frettled | phenny: tell masak The N-queen problem is not a matter of increasing/decreasing the number of nested loops, as you don't know the value of N. N may be -12, 0, 1, 6, 8, 11, and a proper solution has no special-case code for normal values (it is usually deemed acceptable to have a cut-off and say that there are zero solutions for N ≤ 0). | 21:34 | |
| phenny | frettled: I'll pass that on when masak is around. | ||
|
21:34
azert0x joined
21:41
wamba joined
21:46
azert0x joined
|
|||
| sorear | um, -12? | 22:00 | |
|
22:05
pmurias joined
22:09
fod joined
|
|||
| gfldex | rakudo: say //.WHAT; | 22:11 | |
| p6eval | rakudo 53ee80: OUTPUT«===SORRY!===Null regex not allowed at line 22, near ".WHAT;"» | ||
| gfldex | rakudo: say /a/.WHAT; | 22:12 | |
| p6eval | rakudo 53ee80: OUTPUT«Regex()» | ||
|
22:19
pjcj joined
|
|||
| gfldex | std: my $re = "abc"; $re.subst(/*/, '.*', :g); say $re; | 22:21 | |
| p6eval | std 31912: OUTPUT«[31m===[0mSORRY![31m===[0mQuantifier quantifies nothing at /tmp/lQRfwGOSeu line 1:------> [32mmy $re = "abc"; $re.subst(/*[33m⏏[31m/, '.*', :g); say $re;[0mCheck failedFAILED 00:01 118m» | 22:22 | |
| gfldex | std: my $re = "abc"; $re.subst(/'*'/, '.*', :g); say $re; | ||
| p6eval | std 31912: OUTPUT«ok 00:01 118m» | ||
| gfldex | rekudo: my $re = "abc"; $re.subst(/'*'/, '.*', :g); say $re; | ||
| hmm ... | 22:23 | ||
| sorear | rakudo: my $re = "abc"; $re.subst(/'*'/, '.*', :g); say $re; | 22:24 | |
| p6eval | rakudo 53ee80: OUTPUT«abc» | ||
| sorear | there is no literal '*' in $re | ||
| so of course nothing changes | |||
| gfldex | i dont got any output from p6eval, what made me hmm | 22:25 | |
| avuserow | you misspelled rakudo | ||
| gfldex | :D | ||
| well, silence is gold i suppose | 22:26 | ||
| avuserow | rakudo: (1,1, *+* ... *)[^20].perl.say | ||
| p6eval | rakudo 53ee80: OUTPUT«(1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233, 377, 610, 987, 1597, 2584, 4181, 6765)» | ||
| avuserow | rakudo: (1,1, *+* .. *)[^20].perl.say | ||
| p6eval | rakudo 53ee80: OUTPUT«(1, 1, { ... }, "_block114", "_block115", "_block116", "_block117", "_block118", "_block119", "_block120", "_block121", "_block122", "_block123", "_block124", "_block125", "_block126", "_block127", "_block128", "_block129", "_block130")» | 22:27 | |
| avuserow | rakudo: (0,1, *+* ... *)[^20].perl.say | ||
| p6eval | rakudo 53ee80: OUTPUT«(0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233, 377, 610, 987, 1597, 2584, 4181)» | ||
| avuserow | rakudo: (0,1, *+* ... *)[20].perl.say | ||
| p6eval | rakudo 53ee80: OUTPUT«6765» | ||
| avuserow | rakudo: (2,2, *** ... *)[20].perl.say | ||
| p6eval | rakudo 53ee80: OUTPUT«===SORRY!===HyperWhatever (**) not yet implemented at line 22, near "* ... *)[2"» | 22:28 | |
| avuserow | rakudo: (2,2, * * * ... *)[20].perl.say | ||
| p6eval | rakudo 53ee80: OUTPUT«Inf» | ||
| avuserow | rakudo: (2,2, * * * ... *)[10].perl.say | ||
| p6eval | rakudo 53ee80: OUTPUT«6.1897001964269e+26» | ||
| avuserow | rakudo: (2,2, * * * ... *)[3].perl.say | ||
| p6eval | rakudo 53ee80: OUTPUT«8» | ||
| avuserow | rakudo: (2,2, * * * ... *)[^10].perl.say | 22:29 | |
| p6eval | rakudo 53ee80: OUTPUT«(2, 2, 4, 8, 32, 256, 8192, 2097152, 17179869184, 3.6028797018964e+16)» | ||
| avuserow | rakudo: (1, * * 2 ... *)[^10].perl.say | 22:30 | |
| p6eval | rakudo 53ee80: OUTPUT«(1, 2, 4, 8, 16, 32, 64, 128, 256, 512)» | ||
|
22:50
ashleydev joined
22:59
sandra_f joined
|
|||
| gfldex | how do i say [^abc] in a P6 regex? | 23:05 | |
| tadzik | <-[abc]> | 23:06 | |
| timdemkowsky | hey guys | 23:11 | |
| tadzik | o/ | 23:12 | |
|
23:13
thowe joined
|
|||
| sorear | std: / <.++> / # What does this mean? | 23:17 | |
| p6eval | std 31912: OUTPUT«ok 00:01 114m» | ||
|
23:20
Synn joined
23:31
Actium joined
|
|||
| sorear | rakudo: / <.++> / | 23:32 | |
| p6eval | rakudo 53ee80: OUTPUT«===SORRY!===Confused at line 22, near "/ <.++> /"» | ||
| Actium | hey fellas, i'm messing around with rakudo * and think I just found a bug. rakudo.org says to check with you guys, before filing an official bug-report. would ne1 be willing to give me a little help? | 23:34 | |
| avuserow | Actium: sure, what's your bug? | 23:36 | |
| Actium | much appreciated :) | ||
| just three little lines of code. i'll try and explain it real quick. | 23:37 | ||
| i defined an array with static types. when printing the array concatenated to sth else, im getting a really weird error. when i dont use static types or dont concatenate it, it works flawlessly. | 23:38 | ||
| sorear | Arrays with static types don't work yet. | 23:39 | |
| Actium | ahh. okay. | ||
| good to know, thank you very much. | |||
| so i assume it's not necessary to file a bug report for this? | |||
| sorear | no | 23:43 | |
| it's been done already | |||
| (incidentally, this is what item #3 on the "known missing features" list of the R* announce means) | 23:44 | ||
| Actium | oops. that explains why i didnt find it on the bugtracker. | 23:45 | |
| huf | rakudo: say "\\nabc\\n" ~~ m/ <ws>* 'abc' /; say "alive" | 23:47 | |
| p6eval | rakudo 53ee80: ( no output ) | ||
| huf | is this known? what is this? :) | ||
| Actium | i suppose that's what happen's when one's so perl6-horny that he stops reading as soon as he stumbled upon the download link ... :D | ||
| sorear | huf: the * quantifier is greedy, and <ws> can match an infinite number of times. So it does. | 23:48 | |
| Actium | well. thanks again and a good night to the europeans (including me) / good morning to the americans :) | 23:49 | |
| huf | ooh | ||
|
23:59
Psyche^ joined
|
|||