»ö« Welcome to Perl 6! | perl6.org/ | evalbot usage: 'perl6: say 3;' or rakudo:, niecza:, std:, or /msg p6eval perl6: ... | irclog: irc.perl6.org/ | UTF-8 is our friend! Set by sorear on 4 February 2011. |
|||
00:15
rgc left
00:28
wolfman2000 joined
00:34
tyatpi left
|
|||
lichtkind | yeah all entries have anchors | 00:38 | |
01:01
benabik left
01:05
benabik joined
01:07
envi_ left
01:12
alvis```` joined
01:13
alvis``` left
01:30
xinming left
01:36
colomon joined
01:41
cooper joined
01:42
lestrrat left
01:43
lestrrat joined
01:44
xinming joined
01:47
bacek left
01:49
bacek joined
|
|||
timotimo | is there some sql or ORM for perl6 yet? | 01:59 | |
perl6-sqlite! cute | |||
Could not find SQLite3:from<parrot> in any of: lib <- so, how do i install sqlite3 "into" parrot? | 02:00 | ||
masak: can you tell me how? it's your library. maybe because it's been untouched for 3 years, it's just not up to date? | 02:02 | ||
tadzik | I don't think there's any ORM available | ||
timotimo: you may want to use MiniDBI | |||
ISTR it's working | |||
timotimo | oh, actually Tene owns the repo. you awake? | 02:03 | |
02:03
fgomez joined
|
|||
Tene | I'm awake. | 02:04 | |
What do I own? | |||
02:04
whiteknight left
|
|||
timotimo | Tene: the repository for perl6-sqlite | 02:04 | |
Tene | timotimo: sqlite used to be included in the parrot repo, but isn't any more | 02:05 | |
dunno where it went | |||
timotimo | ok | 02:06 | |
no worries then, i don't really need it, just looking around what there is to see | |||
you might want to add a README to your repo stating that, though | |||
sorear | timotimo: :from<parrot> does not exist in current versions of Rakudo | ||
Tene | that too, but I didn't want to get into that. | 02:08 | |
timotimo | i'll go to bed then, see what amazing things happen tomorrow | ||
Tene | timotimo: I'll give you commit privs; you can do it. | ||
timotimo | gack. all right | ||
Tene | github id? | ||
timo? | 02:09 | ||
yeah, that's you | |||
02:09
lumi_ left
02:18
aloha left,
lumi_ joined
|
|||
Tene | r: [*] 0, 0 ... * | 02:23 | |
p6eval | rakudo 8ead1e: OUTPUT«(timeout)» | ||
Tene | aww | 02:24 | |
;) | 02:25 | ||
02:29
aloha joined
|
|||
lichtkind | tadzik: > $*OSNAME is gone? | 02:36 | |
02:37
thou left
|
|||
lichtkind | itlooks liek but i found an artefakt | 02:39 | |
tene? | |||
tadzik | lichtkind: no idea | ||
02:40
thou joined
|
|||
lichtkind | in the syn $*Kernerl is reference as os name | 02:40 | |
tadzik | lichtkind: there's $*OS | ||
lichtkind | kernel | ||
no | |||
tadzik | r: say $*OS | ||
p6eval | rakudo 8ead1e: OUTPUT«linux» | ||
lichtkind | but according to spec it should be at least $*OSNAME | 02:41 | |
i now it was once $*OS | |||
r: say $*KERNEL | |||
p6eval | rakudo 8ead1e: OUTPUT«Dynamic variable $*KERNEL not found in method gist at src/gen/CORE.setting:8199 in sub say at src/gen/CORE.setting:6244 in block <anon> at /tmp/ZgjMipDT7m:1» | ||
lichtkind | r: say $*OSNAME | 02:42 | |
p6eval | rakudo 8ead1e: OUTPUT«Dynamic variable $*OSNAME not found in method gist at src/gen/CORE.setting:8199 in sub say at src/gen/CORE.setting:6244 in block <anon> at /tmp/XfEpk1wWxd:1» | ||
02:42
DarthGandalf joined
|
|||
lichtkind | phenny: say moritz "s28 say its $*KERNEL even there is an $*OSNAME artefact but rakudo still does $*OS" | 02:43 | |
hm | |||
phenny: hallo | |||
dalek | 02:44 | ||
sorear | phenny: tell moritz 19:43 < lichtkind> phenny: say moritz "s28 say its $*KERNEL even there is an $*OSNAME artefact but rakudo still does $*OS" | ||
phenny | sorear: I'll pass that on when moritz is around. | ||
lichtkind | thanks sorear | ||
02:47
agentzh joined
|
|||
lichtkind | phenny: tell moritz what is the right var vor the os name, i suspect *KERNEL and *DISTRO are recent | 02:48 | |
phenny | lichtkind: I'll pass that on when moritz is around. | ||
02:49
agentzh left
|
|||
lichtkind | good night | 02:50 | |
02:50
lichtkind left
02:57
orafu left,
orafu joined
03:03
chitragupt joined,
chitragupt left
03:37
sftp left
04:15
kaare_ joined
04:21
benabik left
04:32
envi_ joined
04:48
NamelessTee joined
04:51
BruceZu left
04:53
BruceZu joined
|
|||
moritz | o/ | 05:06 | |
phenny | moritz: 02:44Z <sorear> tell moritz 19:43 < lichtkind> phenny: say moritz "s28 say its $*KERNEL even there is an $*OSNAME artefact but rakudo still does $*OS" | ||
moritz: 02:48Z <lichtkind> tell moritz what is the right var vor the os name, i suspect *KERNEL and *DISTRO are recent | |||
geekosaur | ...do those have sane meanings on nonlinux? nonunix? | 05:07 | |
moritz | I have no idea | 05:08 | |
sorear | geekosaur: No | 05:09 | |
It's S28, it's not supposed to be sane. | |||
05:19
kaleem joined
05:39
envi_ left
05:44
birdwindupbird joined
05:46
wolfman2000 left
05:52
wtw joined,
wtw left,
wtw joined
06:06
alvis```` left
06:11
tarch joined
06:21
tokuhiro_ joined
06:51
skids joined
06:56
fhelmberger joined
|
|||
timotimo | is there a way to put an operator declaration that takes the class i'm in as first argument into the class body? | 06:58 | |
class Dog { method infix:<+>($o) { say "woof $o"; } }; my $d = Dog.new(); say $d + 4; | |||
p6: class Dog { method infix:<+>($o) { say "woof $o"; } }; my $d = Dog.new(); say $d + 4; | |||
p6eval | rakudo 8ead1e: OUTPUT«Cannot call 'Numeric'; none of these signatures match::(Mu:U \$v, Mu %_!) in method Numeric at src/gen/CORE.setting:644 in sub infix:<+> at src/gen/CORE.setting:2292 in block <anon> at /tmp/aIEkZ4MrLZ:1» | 06:59 | |
..niecza v16-17-g648c49b: OUTPUT«Unhandled exception: Cannot use value like Dog as a number at <unknown> line 0 (ExitRunloop @ 0)  at /home/p6eval/niecza/lib/CORE.setting line 261 (Any.Numeric @ 5)  at <unknown> line 0 (ExitRunloop @ 0)  at /tmp/n3Dj4jzo0K line 1 (mainline @ 4)  … | |||
..pugs: OUTPUT«*** Cannot cast from VObject (MkObject {objType = (mkType "Dog"), objAttrs = <Hash:0x7f65e3159219>, objOpaque = Nothing, objId = MkObjectId {unObjectId = 3}}) to Double (VNum) at /tmp/Wc8Vl6jrMP line 1, column 79-85» | |||
moritz | timotimo: I believe we've discussed that yesterday. There are mechanisms, but NYI | 07:12 | |
timotimo | neat, thanks | 07:13 | |
moritz | r: import (package A { sub f() is export { say 'in f' } }); f | 07:15 | |
p6eval | rakudo 8ead1e: OUTPUT«===SORRY!===CHECK FAILED:Undefined routine '&import' called (line 1)Undefined routine '&f' called (line 1)» | ||
timotimo | can i quote a couple of lines and remove either (the first line (must be empty) and common leading whitespace from all lines) or (common leading whitespace from the second and all following lines)? | 07:19 | |
07:20
colomon left
|
|||
moritz | I guess that's roughly what .indent(*) is supposed to do | 07:21 | |
but it hasn't been ported to nom yet :( | |||
timotimo | :( | ||
07:24
PZt left
07:27
NamelessTee left
|
|||
timotimo | so rakudo doesn't implement heredoc quoting yet? | 07:31 | |
moritz | nope | ||
timotimo | ok. how do i write multiline strings? | ||
moritz | my $x = 'foo | ||
bar'; | |||
or you can use my $x = q[foo | 07:32 | ||
bar | |||
baz]; | |||
timotimo | okay. little bit trickier: multiple multiline strings in a list? i seem to only get Confused for all my attempts | ||
moritz | r: say 1 | 07:33 | |
timotimo | oh, it was just a missing semicolon. now i get: Method 'STORE' not found for invocant of class 'Any' | ||
p6eval | rakudo 8ead1e: OUTPUT«1» | ||
moritz | r: my @a = q[ab], q[cd]; say @a.perl | ||
p6eval | rakudo 8ead1e: OUTPUT«Array.new("a\nb", "c\nd")» | ||
moritz | timotimo: are you using an our-scoped variable? | 07:34 | |
timotimo | you used say 1 to copypaste the nl character? :) | ||
yes, i am | |||
moritz | yes | ||
don't do that, there's a known bug :( | |||
r: our @a = 1, 2; | |||
p6eval | rakudo 8ead1e: OUTPUT«Method 'STORE' not found for invocant of class 'Any' in block <anon> at /tmp/3dVh4swma6:1» | ||
timotimo | ok | ||
moritz | it fails to initialize @a and %h | ||
timotimo | can i export it to other modules somehow? maybe with a simple sub that only returns that? | ||
moritz | yes | 07:35 | |
timotimo | ok | ||
well, it's rather like raw data anyways, it'd go through some thorough working first | |||
07:35
fglock joined
|
|||
timotimo | (i could do that at compile time! hooray for perl6!) | 07:35 | |
moritz | if you want to allow assignment to it from other packages, you need to write something like my @a; sub myvar() is rw is export { @a } | ||
timotimo | you know, this is my second attempt to do this exact thing. the first one was in c++. it was maddening - i'm quite not good at c++ any more | ||
moritz | timotimo: what are you writing? | 07:37 | |
timotimo | i want to experiment with dungeon crawling a bit - the idea is to make the player feel disoriented by making curved paths appear straight and extremely silly things like "portals" essentially | 07:39 | |
so for instance you'd go east from a room and end up entering the same room from the south side - now everything would be rotated | |||
the code itself should allow for a direct connection of one of the walls to another - but the random dungeon generator should never do that | 07:40 | ||
moritz | just make sure it doesn't confuse you while debugging :-) | ||
timotimo | other things include two parallel paths from one room to another with one being longer than the other | ||
that will be quite a bit harder :) | |||
moritz | well, if you store the stuff in a graph, you get no geometry by default | ||
timotimo | is there any library that's useful for event handling and positional output in terminals? | ||
it's going to be graph-based all right | 07:41 | ||
that was already in the "original design", but the execution was lacking :) | |||
[==] (minmax $str.lines».chars).bounds | 07:45 | ||
is this very perl6y for "are all lines equally long"? | |||
p6: [==] (minmax "aaabbbccc".lines».chars).bounds | 07:46 | ||
p6eval | rakudo 8ead1e, niecza v16-17-g648c49b: ( no output ) | ||
..pugs: OUTPUT«*** No such subroutine: "&minmax" at /tmp/WMsgC3CUfj line 1, column 7 - line 3, column 18» | |||
timotimo | oh but of course. | ||
p6: say [==] (minmax "aaabbbccc".lines».chars).bounds | |||
p6eval | pugs: OUTPUT«*** No such subroutine: "&minmax" at /tmp/ONpOhPcwWt line 1, column 11 - line 3, column 18» | ||
..rakudo 8ead1e, niecza v16-17-g648c49b: OUTPUT«True» | |||
moritz | r: say [==] "aaa\nbbb\nccc".lines>>.chars | ||
p6eval | rakudo 8ead1e: OUTPUT«True» | ||
moritz | r: say [==] "aaa\nbbb\nccdc".lines>>.chars | 07:47 | |
p6eval | rakudo 8ead1e: OUTPUT«False» | ||
timotimo | even better | ||
moritz | aye :-) | ||
timotimo | so, a PRE block in a function would be called before every call to the function and if the last statement in it doesn't return something that smartmatches with True, an exception is thrown? | ||
moritz | yes (but it's about boolification, not smarmatching) | 07:48 | |
timotimo | OK | ||
07:48
echo9 joined
|
|||
timotimo | boolification is what i get when i prepend something with a &, or was that a "?"? | 07:48 | |
echo9 | hi all | ||
moritz | timotimo: ? | 07:49 | |
echo9: hello | |||
timotimo | r: say ? "yes" | ||
p6eval | rakudo 8ead1e: OUTPUT«True» | ||
echo9 | here just for some headsup | ||
:) | |||
timotimo | thanks | ||
moritz | \o/ | ||
timotimo | mhhh, tasty headsoup | ||
can i easily set a message for the exception when the PRE block fails? | |||
echo9 | :P umm.. I want to know like whats really perl6 is for? | ||
am a newbie to perl world* | 07:50 | ||
moritz | timotimo: no. If you want that, you just write die "yourmessage" unless $expression; | ||
timotimo | mhm. | ||
moritz | echo9: Perl 6 is a general-purpose programming language | ||
echo9 | am an advanced c++/.net programmer just want to learn something new so that it can really add up to my resume :D | ||
moritz | echo9: so it's really used for "everything" | ||
timotimo | can preconditions and postconditions be turned off globally somehow? | ||
moritz | echo9: though is compilers aren't as mature as C++ and C# compilers yet, it's still much a work in progress | 07:51 | |
echo9 | general pupose? does that mean full code navigation control? loop structs etc.? | ||
moritz | timotimo: no. But we might want such an option eventually | ||
timotimo | good to know | ||
echo9 | I have one of my friends whos working on perl5 | 07:52 | |
moritz | echo9: yes. It has eerything you exepct from a programming language, and more | ||
echo9 | and he suggested me to go for it :D | ||
moritz | echo9: we have all sorts of control flow, object orientation, functional features, regexes and grammars for parsing, exceptions and so on | ||
echo9 | Thanks moritz :) and what about platform dependency? (perl5 is fine with that I guess? ) | ||
moritz | echo9: well, that depends more on the compilers than on the language... | 07:53 | |
echo9 | threads? parallel programming? | ||
moritz | echo9: we currently have two compilers that work on windows, linux and macos | ||
echo9 | linux would be my choice (always :D) | ||
timotimo | perl6 has an implementation that runs on microsoft .net and mono, that one's called "niecza". the other one, "rakudo", uses the parrot virtual machine. it works on linux at least, i have no idea about windows, but probably there, too | ||
moritz | echo9: those are in planning; not much implemented yet in terms of threads and concurrency | 07:54 | |
echo9 | rakudo hmm.. yeah read some articles on that (still confused o_O ) | ||
moritz | echo9: well, C++ also has several different compilers | ||
echo9 | yep | ||
well time for me to go (at my work place now ;) ) | 07:56 | ||
moritz | have fun, and come back :-) | ||
echo9 | thanks moritz and timotimo :) | ||
timotimo | you're welcome! | ||
echo9 | sure :D | ||
c yall | 07:57 | ||
07:57
echo9 left
|
|||
timotimo | how come this works: my @lines = $str.lines.grep *.trim; but this doesn't: my @lines = $str.lines.grep { .trim }; | 08:08 | |
it would say "couldn't parse blockoid. couldn't find }" | |||
08:08
pjcj left
|
|||
moritz | needs to be grep: { .trim } | 08:09 | |
or grep({.trim}) | |||
geekosaur | so LTA message | ||
moritz | if you put neither : nor ( after a method call, Perl assumes that you don't pass an argument to it | ||
so you get two terms in a row | |||
timotimo | that's what the : is there? i see. | ||
moritz | std: .grep { .foo } | ||
p6eval | std 5740094: OUTPUT«===SORRY!===Unexpected block in infix position (method call needs colon or parens to take arguments) at /tmp/nalD1H0Ihq line 1:------> .grep ⏏{ .foo } expecting infix or meta-infixParse failedFAILED 00:01 109m»… | ||
timotimo | how come Sorry messages often give so little information about the context? | 08:12 | |
no file or line number? | |||
moritz | r: .grep { 1 } | ||
p6eval | rakudo 8ead1e: OUTPUT«===SORRY!===Confusedat /tmp/l91QmN6BNZ:1» | ||
moritz | timotimo: example? | ||
timotimo: in general the answer is "because we haven't fixed it yet" | 08:13 | ||
timotimo | ===SORRY!=== Not enough positional parameters passed; got 1 but expected 2 ... if i knew where it happens exactly, i could tell you ;) | ||
moritz | that's likely an internal error somewhere | ||
running with --ll-exception might give more information | |||
timotimo | r: r: say "oh my\noh my my".lines.grep *.trim; | 08:14 | |
p6eval | rakudo 8ead1e: OUTPUT«===SORRY!===Confusedat /tmp/qJQk_8fsaa:1» | ||
timotimo | nope. | ||
r: say "oh my\noh my my".lines.grep *.trim; | |||
p6eval | rakudo 8ead1e: OUTPUT«Not enough positional parameters passed; got 1 but expected 2 in method grep at src/gen/CORE.setting:1045 in block <anon> at /tmp/lFvquhLpEu:1» | ||
timotimo | but i suppose that's because there has to be a : or { .. }? | ||
moritz | it parses as (.lines.grep()) * ($_.trim) | 08:15 | |
so you get a runtime error about .grep not getting a matcher | |||
timotimo | right | ||
that makes sense | |||
what could cause Method 'gimme' not found for invocant of class 'Str'? | 08:16 | ||
moritz | r: gather loop { take 1 } | 08:17 | |
p6eval | rakudo 8ead1e: ( no output ) | ||
moritz | r: eager gather loop { take 1 } | ||
p6eval | rakudo 8ead1e: OUTPUT«(timeout)» | ||
moritz | r: my @a = gather loop { take 1; last } | ||
p6eval | rakudo 8ead1e: OUTPUT«Method 'eager' not found for invocant of class 'Integer' in sub coro at src/gen/CORE.setting:4805 in method reify at src/gen/CORE.setting:4786 in method reify at src/gen/CORE.setting:4557 in method reify at src/gen/CORE.setting:4557 in method gimme at src… | ||
moritz | timotimo: likely another rakudobug :( | ||
timotimo: you seem to discover quite a number of rakudo limitations and bugs today :/ | |||
timotimo | oh my, sorry about that ;) | 08:19 | |
it's obviously the case that most rakudo users try to tread softly whereas i'm doing the elephant in the porcelain store | |||
... thing ... | |||
so anyway. i was trying to map over the lines and cut off the first N characters for each line. the code looks something like this now: @lines.map({ $_[$init_spaces..*] }).join("\n"); | 08:20 | ||
moritz | timotimo: just make sure to reduce the newly found bugs to something small, and submit them | ||
timotimo | r: my $init_spaces = 3; say " foo\n bar\n baz".lines.map({ $_[$init_spaces..*] }).join("\n"); | 08:21 | |
p6eval | rakudo 8ead1e: OUTPUT«Method 'gimme' not found for invocant of class 'Str' in method postcircumfix:<[ ]> at src/gen/CORE.setting:1147 in block <anon> at /tmp/xoO2TzGDMW:1» | ||
moritz | uhm | ||
timotimo | is that completely wrong? | ||
moritz | you try to .[]-index strings | ||
that's wrong | |||
timotimo | oh, that's not how i would slice strings? | ||
moritz | use .substr($startpos) instead | ||
timotimo | hm, ok | ||
moritz | r: my $init_spaces = 3; say " foo\n bar\n baz".lines.map(*.substr($init_spaces).join("\n") | 08:22 | |
p6eval | rakudo 8ead1e: OUTPUT«===SORRY!===Unable to parse postcircumfix:sym<( )>, couldn't find final ')' at line 2» | ||
moritz | r: my $init_spaces = 3; say " foo\n bar\n baz".lines.map(*.substr($init_spaces)).join("\n") | ||
p6eval | rakudo 8ead1e: OUTPUT«foobar baz» | ||
moritz | r: say "foo"[0] | 08:23 | |
p6eval | rakudo 8ead1e: OUTPUT«foo» | ||
moritz | r: say "foo"[1] | ||
p6eval | rakudo 8ead1e: OUTPUT«.[1] out of range for type "foo" in method gist at src/gen/CORE.setting:8199 in sub say at src/gen/CORE.setting:6244 in block <anon> at /tmp/aU4e0RIjup:1» | ||
moritz | r: say "foo"[1..4] | ||
p6eval | rakudo 8ead1e: OUTPUT«.[1] out of range for type "foo" in method gist at src/gen/CORE.setting:8199 in method gist at src/gen/CORE.setting:4201 in sub say at src/gen/CORE.setting:6244 in block <anon> at /tmp/7I2GjCOvTG:1» | ||
timotimo | r: say "foo"[1..*] | ||
p6eval | rakudo 8ead1e: OUTPUT«Method 'gimme' not found for invocant of class 'Str' in method postcircumfix:<[ ]> at src/gen/CORE.setting:1147 in block <anon> at /tmp/1ZiRf7yMZW:1» | ||
timotimo | there it is | ||
moritz | timotimo++ | ||
moritz submits rakudobug | |||
timotimo | r: my $init_spaces = 3; my @l = " foo\n bar\n baz".lines; @l .= map({ $_[$init_spaces..*] }).join("\n"); | 08:26 | |
p6eval | rakudo 8ead1e: OUTPUT«===SORRY!===Confusedat /tmp/a2CKJ8COjI:1» | ||
timotimo | um, excuse me | ||
r: my $init_spaces = 3; my @l = " foo\n bar\n baz".lines; @l .= map(*.substr($init_spaces)).join("\n"); | 08:27 | ||
p6eval | rakudo 8ead1e: OUTPUT«===SORRY!===Confusedat /tmp/2_Qzeg0YYv:1» | ||
timotimo | that's different from what i had locally, wait. | ||
never mind. | |||
08:27
domidumont left
08:44
pjcj joined
08:45
tarch left,
tarch_ joined
|
|||
timotimo | what's the best way to break out of two for loops from the innermost position? | 08:48 | |
i did a (gather for { for { } })[0] now, but that seems ugly | |||
Teratogen | last LABEL | 08:52 | |
??? | |||
oh wait that's perl 5 =/ | |||
08:52
PZt joined
|
|||
timotimo | i believe perl6 has that label thing, too. i don't know how to apply a label to a for, though | 08:52 | |
08:54
brrt joined
|
|||
timotimo | now i'm pretty confused. say $startx.WHAT; say $starty.WHAT; my $startpos = XYZ.new(:x<$startx>, :y<$starty>); gives Int()\nInt()\nType check failed in assignment to '$!x'; expected 'Int' but got 'Str' | 08:54 | |
?! | |||
Teratogen | I don't do Perl 6 yet | 08:55 | |
timotimo | oh, the < > make it a string? | ||
Teratogen is a Perl 6 beginner | |||
timotimo | yup, that was it | ||
08:55
dakkar joined
|
|||
timotimo | i'm a perl6 beginner, too. can you tell? :) | 08:55 | |
moritz | timotimo: rakudo doesn't implement labels either :/ | 08:59 | |
timotimo | OK | ||
moritz | the usual workaround is to use subroutines and return | ||
timotimo | right. | ||
turns out i need all the values anyway, in a hash from x/y coordinate to value. is take ($col, $line) => $value; a good way to get this? flattening seems to do weird things to me | 09:00 | ||
(0, 0) turns into "0 0" instead, for instance | 09:01 | ||
moritz | hash keys are strings by default | 09:05 | |
timotimo | well, that's sensible | 09:06 | |
which was the function one should override to make classes work well in that regard? | |||
what would produce "XYZ<8816625325255736383>" at the moment. | |||
moritz | my %h{Any}; | ||
but that will surprise your for non-value-types | 09:07 | ||
timotimo | i can see how | ||
moritz | it's probably better to go to two levels, %h{$col} //= {}; %h{$col}{$line} = $value; | ||
timotimo | my XYZ class is supposed to be an immutable class. i should be able to make that work well, right? | 09:08 | |
moritz | yes | 09:09 | |
timotimo | what's the secret trick? :) | ||
moritz | provide a method WHICH which only depends on the attributes, not on the memory address | ||
timotimo | ah, WHICH, that one i was looking for | ||
moritz | grep for 'method WHICH' in src/core/ | ||
timotimo | not sure what those mean ... would mine look something like "multi method WHICH(XYZ:U:) { "some string" } ? | 09:13 | |
moritz | multi method WHICH(XYZ:D:) { nqp::box_s("some string that depends on the attributes", ObjAt) } | 09:14 | |
there's a multi for the type object already | |||
timotimo | interesting. why would i need to do nqp things in my perl6 code? | ||
09:15
araujo left
|
|||
moritz | because we don't yet have primitives for boxing something into a type that's not the default | 09:15 | |
maybe in future you can write ObjAt('the string here') | |||
in fact I should implement that | |||
timotimo | mhm | ||
in the output i still get ("XYZ<-4306223074760605769>" => " ", "XYZ<-4306223074756436050>" => " ", ...).hash, though. some other method i need to implement? | 09:16 | ||
and what's that XYZ:D: thing in the signature? | |||
moritz | it means 'an object of type XYZ, and it must be defined (:D), and it is the invocant (:)" | ||
09:19
thou left
09:29
Timbus left
|
|||
timotimo | i'll try to get some sleep now | 09:29 | |
09:34
Timbus joined
|
|||
moritz | nqp: my @a := [1, 2, 3, 4]; nqp::say(@a) | 09:36 | |
p6eval | nqp: OUTPUT«4» | ||
moritz | nqp: say(5.sqrt) | 09:43 | |
p6eval | nqp: OUTPUT«Method 'sqrt' not found for invocant of class 'Integer'current instr.: '_block1000' pc 36 ((file unknown):38) (/tmp/t9BOXNpAj1:1)» | ||
09:49
domidumont joined
09:58
constantined left
|
|||
cognominal_ | TimToady, reading www.foo.be/docs/tpj/issues/vol1_1/t...-0002.html What is Perl 6, Jazz fusion? | 10:15 | |
or still some kind or cartoon music? :) | 10:16 | ||
geekosaur | dance. with multiple remixes being the norm... | 10:34 | |
10:36
zipf joined
10:50
pernatiy left
10:54
NamelessTee joined
10:59
araujo joined,
araujo left,
araujo joined
11:01
MayDaniel joined
11:03
benabik joined
11:19
wolverian left
11:22
orafu left
11:24
orafu joined
11:25
wolverian joined,
wolverian left
11:26
wolverian joined
11:32
benabik left
11:35
brrt left
11:37
fsergot joined
|
|||
fsergot | Hello #perl6 o/ | 11:38 | |
11:39
mucker joined
|
|||
moritz | \o fsergot | 11:39 | |
11:42
kaare_ left
11:43
zipf left
11:49
NamelessTee left
11:59
benabik joined
12:04
MayDaniel left
|
|||
fsergot | sleepy day.. :( | 12:05 | |
sjn | vewy, vewy sweepy day :) | ||
arnsholt | sjn: But that's ok. Holiday very soon now =D | 12:06 | |
12:06
brrt joined
|
|||
sjn | arnsholt: btw, have you seen this? gist.github.com/1711730 | 12:08 | |
arnsholt | Yes! I intend to attend | 12:11 | |
moritz | isn't cosimo near there too? | 12:13 | |
arnsholt | Yeah, he's at Opera in Oslo | ||
moritz | cosimo: are you coming too? :-) | ||
arnsholt | I talked to him once or twice in the canteen when I interned with them | ||
sjn | arnsholt: don't foreget to sign up :) | 12:17 | |
and do tell if you can host someone? (are you one the oslo.pm mailing list?) | |||
forget* | |||
arnsholt: also, if your employer wants to sponsor, then that would be awesome ;) | 12:18 | ||
(hint, hint) | |||
:D | |||
(not that we *need* it, it would just be nice to be able to pay dinner for everyone or something like that) | 12:19 | ||
arnsholt | There. Signed up | 12:25 | |
No room for guests at my place, unfortunately | |||
12:26
sftp joined
12:27
mucker left
|
|||
sjn | arnsholt: ook | 12:29 | |
12:30
PacoAir joined
12:46
pernatiy joined
12:50
fgomez left
12:53
birdwind1pbird joined
|
|||
arnsholt | Whee. The Stanford graphical model course talks about the Ising model | 12:55 | |
I'm sure moritz approves =) | 12:56 | ||
moritz | arnsholt: Ising in how many dimensions? :-) | 13:00 | |
2D is challenging, but solvable | 13:01 | ||
sjn is a big fan of 0D | 13:02 | ||
a.k.a. "Boolean" | 13:03 | ||
sjn imagines -1D would be a "Maybe" type | 13:05 | ||
sjn shuts up now and goes back to $work | |||
arnsholt | moritz: Only 2D, and not full-on solution. Just used as an example, thankfully | 13:06 | |
moritz | arnsholt: makes sense | 13:08 | |
visualizing an iterative solution, or something? | |||
13:08
bbkr1 left
|
|||
arnsholt | Not even that, at least not yet | 13:08 | |
13:09
bbkr1 joined,
PZt left
|
|||
arnsholt | Just for talking about undirected graphical models and features and such over them | 13:09 | |
It might turn up again once the course starts talking about inference and such though | |||
13:15
envi_ joined
|
|||
cosimo | moritz: i hope so | 13:19 | |
moritz | cosimo: that's great. I hope so too :-) | 13:20 | |
13:22
kaleem left
|
|||
[Coke] | # 04/02/2012 - rakudo++ ; niecza (97.53%); pugs (39.44%) | 13:23 | |
"niecza", 20345, 1, 748, 1531, 22625, 23783 | |||
"pugs" , 8229, 0, 3021, 1346, 12596, 23592 | |||
"rakudo", 20860, 283, 632, 1895, 23496, 24026 | |||
looks like rakudo started failing some tests yesterday. | |||
283, up from 45. | 13:24 | ||
moritz | :( | ||
passes all tests here | |||
[Coke]: are you sure your t/spec/ isn't hung up or so? | |||
13:25
skids left
|
|||
moritz | S32-exceptions/misc.rakudo passed 166 unplanned test(s) | 13:25 | |
that's weird | 13:26 | ||
hm, this file doesn't have test plan | 13:27 | ||
so if it dies, that might be what it reports | |||
dalek | ast: 5e0af50 | moritz++ | S32-exceptions/misc.t: [throws_like] avoid undef warnings for matchers |
13:31 | |
13:32
kaleem joined
13:35
colomon joined
|
|||
tadzik | fsergot: sleepy? Speak for yourself, I had a sleepless night :) | 13:38 | |
and well, that does make a day a bit sleepy, yes | 13:39 | ||
[Coke] | moritz: perlcabal.org/~coke // *.out | 13:42 | |
13:42
mucker joined
|
|||
[Coke] | S26 is failing a lot here. | 13:42 | |
moritz | [Coke]: which is why I have been wondering if your t/spec/ is out of date | 13:43 | |
[Coke]: I've change $=POD to $=pod in both rakudo and t/spec/ | 13:44 | ||
[Coke]: and it seems to have picked up only the changes from rakudo | |||
dalek | ast: dc6ffd8 | coke++ | test_summary: rakudo, at least, runs S26 tests. |
||
[Coke] | the test scripts give each copy of p6 its own t/spec | 13:45 | |
... and yes, it's from Mar 7. wtf. | 13:46 | ||
gist.github.com/1476841#file_spec_r | 13:47 | ||
that's the "run rakudo" spec test. I am clearly /attempting/ to update t/spec | 13:48 | ||
moritz | I guess 'git rb' is an alias for 'git pull --rebase'? | ||
[Coke]: please cd to rakudo/t/spec and see if 'git status' reports anything interesting | 13:49 | ||
[Coke] | unsaved changes. and yes. | ||
must have used it to poke at something in t/spec and forgot to wipe the slate. | |||
[Coke] suspects colomon will start to cry after today's run. ; | 13:50 | ||
;) | |||
colomon | noooooo! | ||
[Coke] | the other 2 repos had no such blockers in t/spec | ||
colomon | what's wrong? | ||
[Coke] | I'll just add a note to the history that rakudo's been fighting under a disadvantage. | 13:51 | |
moritz | colomon: just rakudo passing more tests than [Coke]++'s runs have shown | ||
[Coke] | colomon: rakudo's t/spec has been stale since march 7th or so. | ||
tadzik | eek | ||
13:52
tokuhiro_ left
|
|||
colomon was just celebrating getting a clean spectest run from Niecza for the first time in ages. | 13:52 | ||
[Coke] will just let the next daily run go. we'll have fresh numbers in 3 hours or so. | 13:55 | ||
13:58
JimmyZ_ joined
|
|||
colomon | ... and now niecza has a failing test again. :\ | 14:01 | |
14:04
leprevost joined
|
|||
jnthn | o/ | 14:13 | |
jnthn about for a short while before he goes for $flight | 14:14 | ||
colomon | \o | ||
tadzik | \o | 14:15 | |
fsergot | tadzik: not good :P | ||
dalek | ast: e1f01c0 | (Solomon Foster)++ | S12-enums/misc.t: Fudge new test for Niecza. |
||
14:16
lichtkind joined
|
|||
tadzik | fsergot: I'm used to it :) And I have two exams behind me, so the day's good anyway :) | 14:17 | |
lichtkind | hai tadzik | ||
tadzik | if GLS hurried up, the day'd be Very Good :) | ||
hello lichtkind | |||
14:18
tarch_ left,
tarch__ joined
|
|||
lichtkind | you cant resolve my $*Kernel question? | 14:19 | |
tadzik | I don't think so, I'm completely green in this subject :/ | ||
lichtkind | maybe best i look when tim is around | 14:20 | |
14:22
wtw left
14:26
lichtkind left
14:29
tarch__ left
14:38
lichtkind joined
|
|||
lichtkind | shiii have to change my os | 14:39 | |
tadzik: any suggestions for me? | |||
fsergot | tadzik: How were your exams? :) | 14:42 | |
jnthn -> airport, home in ~22 hours | 14:46 | ||
timotimo | good * #perl6 | 14:51 | |
lichtkind | hai timotimo | 14:58 | |
jnthn: o/ | |||
15:01
skids joined
|
|||
lichtkind | moritz: i maybe found the problem | 15:01 | |
its in installing URI | |||
in that testsuite i get the error in escape.t | 15:02 | ||
timotimo | my WHICH is apparently still wrong | 15:05 | |
p6: class XYZ { has Int $.x; has Int $.y; has Int $.z = 0; multi method WHICH(XYZ:D:) { nqp::box_s("XYZ($.x $.y $.z)", ObjAt) } } my %h; %h{XYZ.new(0, 0)} = "hello"; %h{XYZ.new(0, 0)} = "world"; say %h{XYZ.new(0, 0)}; | |||
p6eval | pugs: OUTPUT«***  Unexpected "XYZ" expecting word character, "|", ":", "*", parameter name or ")" at /tmp/F9AzY0mlyc line 1, column 75» | 15:06 | |
..niecza v16-17-g648c49b: OUTPUT«===SORRY!===Strange text after block (missing comma, semicolon, comment marker?) at /tmp/NqvupUp_9Y line 1:------> qp::box_s("XYZ($.x $.y $.z)", ObjAt) } }⏏ my %h; %h{XYZ.new(0, 0)} = "hello"; %h{Parse failed»… | |||
..rakudo 8ead1e: OUTPUT«===SORRY!===Confusedat /tmp/re4F_s4Vs2:1» | |||
timotimo | whoops. | ||
p6: class XYZ { has Int $.x; has Int $.y; has Int $.z = 0; multi method WHICH(XYZ:D:) { nqp::box_s("XYZ($.x $.y $.z)", ObjAt) } }; my %h; %h{XYZ.new(:x(0), :y(0))} = "hello"; %h{XYZ.new(:x(0), :y(0))} = "world"; say %h{XYZ.new(:x(0), :y(0))}; | |||
p6eval | pugs: OUTPUT«***  Unexpected "XYZ" expecting word character, "|", ":", "*", parameter name or ")" at /tmp/OlpVAolByl line 1, column 75» | ||
..rakudo 8ead1e: OUTPUT«Any()» | |||
..niecza v16-17-g648c49b: OUTPUT«world» | |||
timotimo | that's not what i meant to do actually | ||
p6: class XYZ { has Int $.x; has Int $.y; has Int $.z = 0; multi method WHICH(XYZ:D:) { nqp::box_s("XYZ($.x $.y $.z)", ObjAt) } }; my %h; %h{XYZ.new(:x(0), :y(0))} = "hello"; %h{XYZ.new(:x(0), :y(0))} = "world"; say %h.perl; | |||
p6eval | rakudo 8ead1e: OUTPUT«("XYZ<-3377021848842683120>" => "hello", "XYZ<-3377021848846920162>" => "world").hash» | ||
..niecza v16-17-g648c49b: OUTPUT«{"XYZ()<instance>" => "world"}.hash» | |||
..pugs: OUTPUT«***  Unexpected "XYZ" expecting word character, "|", ":", "*", parameter name or ")" at /tmp/fkHx7Gwk1U line 1, column 75» | |||
timotimo | niecza surely seems to get it right | 15:07 | |
niecza: class XYZ { has Int $.x; has Int $.y; has Int $.z = 0; multi method WHICH(XYZ:D:) { nqp::box_s("XYZ($.x $.y $.z)", ObjAt) } }; my %h; %h{XYZ.new(:x(0), :y(0))} = "hello"; %h{XYZ.new(:x(0), :y(0))} = "world"; %h{XYZ.new(:x(99), :y(99)} = "bork bork bork"; say %h.perl; | |||
p6eval | niecza v16-17-g648c49b: OUTPUT«===SORRY!===Unable to parse argument list at /tmp/sfNfs_rNqW line 1:------> ew(:x(0), :y(0))} = "world"; %h{XYZ.new(⏏:x(99), :y(99)} = "bork bork bork"; say Couldn't find final ')'; gave up at /tmp/sfNfs_rNqW line 1… | ||
timotimo | niecza: class XYZ { has Int $.x; has Int $.y; has Int $.z = 0; multi method WHICH(XYZ:D:) { nqp::box_s("XYZ($.x $.y $.z)", ObjAt) } }; my %h; %h{XYZ.new(:x(0), :y(0))} = "hello"; %h{XYZ.new(:x(0), :y(0))} = "world"; %h{XYZ.new(:x(99), :y(99))} = "bork bork bork"; say %h.perl; | ||
p6eval | niecza v16-17-g648c49b: OUTPUT«{"XYZ()<instance>" => "bork bork bork"}.hash» | 15:08 | |
15:08
lichtkind left
|
|||
timotimo | nope, not right. | 15:08 | |
15:09
REPLeffect left
|
|||
timotimo | p6: class XYZ { has Int $.x; has Int $.y; has Int $.z = 0; multi method WHICH(XYZ:D:) { nqp::box_s("XYZ($.x $.y $.z)", ObjAt) } }; my %h{Any}; %h{XYZ.new(:x(0), :y(0))} = "hello"; %h{XYZ.new(:x(0), :y(0))} = "world"; %h{XYZ.new(:x(99), :y(99))} = "bork bork bork"; say %h.perl; | 15:09 | |
p6eval | rakudo 8ead1e: OUTPUT«(XYZ.new(x => 0, y => 0, z => 0) => "world", XYZ.new(x => 99, y => 99, z => 0) => "bork bork bork").hash» | ||
..pugs: OUTPUT«***  Unexpected "XYZ" expecting word character, "|", ":", "*", parameter name or ")" at /tmp/14v3UP5mKm line 1, column 75» | |||
..niecza v16-17-g648c49b: OUTPUT«===SORRY!===Postconstraints, and shapes on variable declarators NYI at /tmp/FTvjqVALp7 line 1:------> YZ($.x $.y $.z)", ObjAt) } }; my %h{Any}⏏; %h{XYZ.new(:x(0), :y(0))} = "hello"; %Unhandled exception: Check fail… | |||
timotimo | oh, so that's required. neat. | ||
15:09
REPLeffect joined
|
|||
timotimo | i totally didn't realize that yesterday/this morning | 15:11 | |
15:17
ggoebel left
15:21
havenn joined,
MayDaniel joined,
kaleem left
|
|||
moritz | .oO( it's "moritz explains stuff" day on p6l again ) |
15:25 | |
15:30
birdwind1pbird left
15:32
MayDaniel left
|
|||
moritz | [Coke]: maybe you should add set -e to the top of your spectest script | 15:32 | |
[Coke]: that way it aborts when any of the commands fail. Will make it easier to detect such things in future | 15:33 | ||
15:33
ggoebel joined
|
|||
benabik | `set -e` is your friend. I add it to the top of nearly all of my scripts. | 15:33 | |
moritz | it's like the 'use strict;' of shell scripting | 15:34 | |
I use it way too little | |||
oh, and it's way too hard to find the functionality of 'set -e' in the docs | 15:35 | ||
'man bash-builtins' => a huge page | |||
searching for 'set' is a nearly hopeless endeavor, way too many hits | 15:36 | ||
15:36
Guest69907 left
|
|||
moritz | scrolling takes ages | 15:36 | |
15:36
xenu joined
|
|||
benabik | Biggest problem I have with set -e is that subshells don't cause a failure. So I have to ( foo; bar ) || exit $? | 15:36 | |
15:37
pernatiy left
15:38
NamelessTee joined
|
|||
moritz | github.com/bkase/git-paradox # nice | 15:40 | |
15:40
pernatiy joined
15:42
alester joined
15:45
fglock left
15:47
thou joined,
Psyche^ joined
15:51
Patterner left,
Psyche^ is now known as Patterner
15:52
JimmyZ_ left
|
|||
timotimo | what's the best way to loop until a list ("queue") is emptied while adding new elements from within the loop body? | 15:56 | |
moritz | while @queue { ... } | 15:57 | |
and use shift and push inside the body | 15:58 | ||
timotimo | ok | ||
15:59
tokuhiro_ joined
|
|||
timotimo | whoops, .perl takes a while for a hash that has another hash in it that has that first hash in it | 16:02 | |
moritz | quite a while. | 16:03 | |
like, forever. | |||
16:03
birdwind1pbird joined,
tokuhiro_ left
16:04
p6eval left
|
|||
timotimo | yeah | 16:04 | |
hm, wouldn't it fill up the ram before forever? | 16:05 | ||
moritz | depends on whether you run a Turing machine or a DFA :-) | ||
16:05
brrt left
|
|||
timotimo | :D | 16:09 | |
pmichaud | r: say "foo"[0] | 16:22 | |
rakudo: say 'hello' | |||
ENOP6EVAL | 16:23 | ||
timotimo | noooooooo | ||
pmichaud | Are strings supposed to recognize .[] ? I don't think they are/should, but perhaps I'm misremembering. | ||
sorear | good * #perl6 | 16:24 | |
pmichaud: Any recognizes .[] | |||
a string pretends to be a one-item list | |||
pmichaud | yes, but only to return self for .[0] and out-of-range for other stuff | ||
okay, the example in rt #112216 seemed to imply that .[] could be used to index parts of a string | |||
16:26
birdwind1pbird left
|
|||
pmichaud | anyway, I see the rakudobug... will fix. | 16:27 | |
16:28
GlitchMr joined
|
|||
timotimo | i wonder how hard a raycaster is to make ... | 16:32 | |
pmichaud | fixed locally, spectesting | ||
timotimo | a question. if i want to bind a library that's written in C (and has an optional c++ api, too), would i do that with NativeCall? | 16:36 | |
would that be portable across niecza and rakudo? what about being future-proof? | |||
arnsholt | NativeCall/zavolaj is Rakudo-only, AFAIK | 16:37 | |
colomon | not at all portable to Niecza yet | ||
timotimo | is it the only thing there is? is there maybe a more comfortable solution? | ||
arnsholt | I suppose that's something that'll be addressed at some point, but right now it's not | ||
timotimo | (i'll be trying to bind libtcod) | ||
pmichaud | I'm thinking of looking more at native call stuff at the p6 hackathon this month | 16:38 | |
tadzik | fsergot: moderately well, they are just midterms so nothing critical (yet) :) | 16:39 | |
timotimo | there is a C# version of libtcod. would that "just work" on niecza through some kind of magic? that's what .net was made for, right? | ||
masak | good evening, #perl6. | ||
cognominal_ | pmichaud, when do you expect bugs like rt.perl.org/rt3/Public/Bug/Display...?id=111288 to be fixed? | 16:40 | |
pmichaud | cognominal_: whenever I (or someone) finds the energy/motivation to fix it :) | 16:41 | |
I might be able to take a look at it soon (next day or two) | |||
[Coke] | pmichaud++ | 16:42 | |
cognominal_ | and the competency too, that's why that falls on your lap :) | ||
I sound grumpy, but really, pmichaud++ | 16:43 | ||
dalek | kudo/nom: 1bbf9eb | pmichaud++ | src/core/Any.pm: Fix slicing of non-lists with infinite ranges (RT #112216, timotimo++). |
16:44 | |
timotimo | \o/ | 16:45 | |
thanks, pmichaud++ | |||
pmichaud | > say "foo"[1..*] | ||
> | |||
> say "foo"[0..*] | |||
foo | |||
> | |||
16:47
dakkar left
16:48
PZt joined
|
|||
masak | Tene: taking infinite time to calculate C<[*] 0, 0 ... *> feels kinda right to me. sure, we could introduce special-casing for 0 factors, but then the programmer will never feel the thrill of multiplying an infinite sequence into 0 ;) | 16:52 | |
(besides, such special-casing would couple infix:<*> and the reduction metaoperator in ways which are not necessarily beneficial.) | 16:53 | ||
benabik | masak: We'd need a generic way to cancel reduction. | 16:54 | |
Or, probably better, a generic way to specialize reduction. | 16:56 | ||
16:57
pernatiy left
|
|||
masak | I can see the need for a generic way to exit a loop prematurely. I do not see the use case to exit a reduction prematurely. what's the use case, benabik? | 16:57 | |
benabik | masak: [*] 0, 1, 2 ... * can exit the moment it sees the 0 | 16:59 | |
masak | that's the same use case as Tene's. | 17:00 | |
pmichaud | iirc, the generic way to specialize reduction is to define prefix:<[*]> | ||
masak | I am not convinced. when would the user go, "oh, thank god my infinite list of factors short-circuited on the 0 I knew was in there!"? | 17:01 | |
benabik | masak: There are several similar things. [&&] False, True, True; | ||
[Coke] | just stopping when you see a 0 isn't enough, though - you'd need to know you don't see any Failures/NaNs down th eline. | ||
benabik | When the user doesn't know there's a 0? | ||
masak | benabik: so it's either 0 or infinite loop? | ||
also, what [Coke] said. | 17:02 | ||
p6: say 0 * NaN | |||
17:02
birdwindupbird left
|
|||
[Coke] | ENOEVALBOT | 17:03 | |
masak | :( | ||
benabik | Blah weak typing. :-/ | ||
Does reduction pay any attention to short-circuiting? | |||
timotimo | how would i smartmatch in a given block against a string, like i would if i used eqv? | ||
pmichaud | short-circuiting [*] and [&&] feels like YAGNI | ||
timotimo | wrap it in / so it becomes a regex? | ||
masak | benabik: I agree about [&&]. it needs special-casing. but note that && *is* short-circuiting. * isn't. | ||
benabik: in the sense that if the rhs of infix:<*> is 0, the lhs is still evaluated. | 17:04 | ||
17:04
mucker left
|
|||
masak | er. other way around. | 17:04 | |
damn tricky left/right distinction :P | 17:05 | ||
benabik | Several languages do short circuit on values like 0 * _. But now that I think about it, they have stronger type systems, so you know you're dealing with ints and don't have to worry about NaN, failure, etc. | ||
pmichaud | note that [&&] doesn't short-circuit evaluation of its arguments | ||
e.g., [&&] a(), b(), c(), d() | 17:06 | ||
timotimo | so one would have to have a lazy list first? | ||
cognominal_ | pmichaud, I have updated nqpq : gist.github.com/2293712 | 17:07 | |
masak | pmichaud: why not, ooc? | ||
pmichaud | masak: S03:4611 | ||
Similarly, list-associative operators that have the thunk-izing characteristics of | 17:08 | ||
macros (such as short-circuit operators) lose those macro-like characteristics. | |||
You can say | |||
[||] a(), b(), c(), d() | |||
to return the first true result, but the evaluation of the list is controlled | |||
by the semantics of the list, not the semantics of C<||>. | |||
cognominal_ | pmichaud, with this update, World stuff works but ./nqpq -e 'grammar A { token TOP { a } }; A.parse("a")' gives invoke() not implemented in class 'Capture' | ||
pmichaud | cognominal_: I don't know if anyone's been maintaining nqpq since I worked on it last summer, so I'm not too surprised if it fails. | 17:09 | |
TimToady | otoh, //= is useless as a cache idiom if it doesn't thunk the right side | 17:10 | |
cognominal_ | pmichaud, at least, being written in nqp, it will be easier to maintain once it will work | ||
pmichaud | cognominal_: well, yes, that's kind of the point of nqpq. But I suspect it's easier for me to start a new nqpq from the existing nqp than it is to try to apply lots of patches to the existing one. | 17:11 | |
TimToady | and if we thunkize the right side of //=, it's not a big stretch to other meta-ops | ||
perl6: my $a = 1; $a //= die "oops" | 17:12 | ||
cognominal_ | pmichaud, I am not so sure. regexen seems to work (not tested much) but as I said, I have problems with grammars. | ||
pmichaud | ENOP6EVAL | ||
TimToady | oops | ||
bbkr | std: [()]{} | ||
17:13
Chillance joined
|
|||
pmichaud | cognominal_: well, it has as much to do with my comfort level of fixes as it does with "what seems to work" | 17:13 | |
cognominal_ | :) | ||
pmichaud | I'd be much more comfortable starting with the existing nqp code (known to work and in the current toolchain) than to try to patch up code that hasn't been touched much in eight months. | ||
17:13
lateau joined
|
|||
masak | tadzik: feature request in Rakudo: =data | 17:14 | |
kthx | |||
tadzik | masak: do you have any particular usecase in mind? | 17:15 | |
17:15
lateau left
|
|||
pmichaud | afk here -- bank run and lunch | 17:15 | |
17:17
ggoebel left
17:18
ggoebel joined
17:24
lichtkind joined
|
|||
masak | tadzik: so, here's what happened. I started out doing a Perl 5 script with a __DATA__ section at the end. but before finishing it I really felt I needed the >>+=<< operator, so I switched to Perl 6. | 17:24 | |
but neither Rakudo nor Niecza does =data, so I had to workaround that part. | 17:25 | ||
lichtkind | hai masak | 17:26 | |
[Coke] | I think data is nifty, but I rarely want it for things that I intend to use more than once. | 17:27 | |
masak | lichtkind: konichiwa | ||
[Coke] | just as a one more =data point. | ||
masak | [Coke]: right, this was just a one-off script. | 17:28 | |
lichtkind | [Coke]: to my current kephre writing style =data would be essential | ||
#= even more so | |||
masak | [Coke]: actually, it started of as a \s-separated data file, and then I thought "hey, I can write the script in the same file without even leaving vim!" :) | ||
lichtkind | masak: do you know if $*KERNEL is official | ||
masak | lichtkind: S28 buyer beware grain of salt here be dragoons :) | 17:29 | |
[Coke] | we just need to make perl scripts like .xlsx files; the .pl is really a .zip, and all the data and code is inside. :) | 17:30 | |
rakudo is back down to the 30 failures from months ago. | |||
17:30
havenn left
|
|||
[Coke] | # 04/03/2012 - rakudo++ ; niecza (95.46%); pugs (38.61%) | 17:30 | |
"niecza", 20345, 1, 749, 1531, 22626, 24040 | |||
"pugs" , 8229, 0, 3021, 1346, 12596, 23849 | |||
"rakudo", 21311, 30, 636, 1897, 23874, 24050 | |||
masak | [Coke]++ | 17:31 | |
17:34
fhelmberger left
|
|||
dalek | ast: 97359c6 | coke++ | test_summary: pugs runs some S01 tests |
17:34 | |
tadzik | masak: sounds sensemaking. I'll try to tackle this once I catch up with sleeping | 17:38 | |
colomon | does std parse =data? | 17:40 | |
TimToady | no | ||
colomon | that will make matters more difficult, I reckon. :) | ||
17:41
fglock joined
|
|||
TimToady | std requires begin/end or for | 17:42 | |
[Coke] | doesn't pod variables give you this already?\ | 17:44 | |
(or something very much like it?) | 17:45 | ||
18:00
brrt joined
|
|||
moritz | r: say 0..0 ~~ 0..0 | 18:04 | |
ENOP6EVAL | |||
18:05
p6eval joined,
ChanServ sets mode: +v p6eval
|
|||
moritz | r: say 0..0 ~~ 0..0 | 18:06 | |
p6eval | rakudo 57a681: OUTPUT«True» | ||
moritz | r: say 0..0 ~~ 0..1 | ||
p6eval | rakudo 57a681: OUTPUT«False» | ||
18:09
pernatiy joined
|
|||
colomon | n: say 0..0 ~~ 0..1 | 18:09 | |
p6eval | niecza v15-6-gefda208: OUTPUT«False» | ||
masak | p6: say 3..4 ~~ 1..5 | 18:12 | |
p6eval | rakudo 57a681, niecza v15-6-gefda208: OUTPUT«False» | ||
..pugs: OUTPUT«» | |||
18:12
havenn joined
|
|||
masak ponders the pros and cons of spec'ing Range ~~ Range as doing a "compatibility"/subset check | 18:16 | ||
18:17
spider-mario joined
|
|||
masak | spider-mario! \o/ | 18:18 | |
moritz | masak: all(range1) ~~ range2 already does the subset check | 18:19 | |
though probably not very efficiently | |||
spider-mario | good evening :) | ||
masak | and it contains a discretization step, which feels inelegant. | ||
spider-mario | or whatever part of the day you are in | ||
masak is in a train :) | 18:20 | ||
spider-mario | :D | ||
from where to where, if I may ask? | |||
masak | from slightly before sunset to late night. | 18:21 | |
spider-mario | :D (bis) | ||
dalek | kudo/nom: 4373f09 | moritz++ | src/core/ (2 files): throw typed X::OutOfRange exception from Any.at_pos |
||
tadzik | good just-evening spider-mario :) | ||
masak | I prefer going in this direction. but my seat is facing the other way. | ||
spider-mario | 20:22 here | 18:22 | |
(8:22 PM) | |||
masak | ooh, that's my time as well ;) | ||
masak looks around to see if he can spot spider-mario :) | |||
spider-mario | I’m currently in Rouen (France) | 18:23 | |
that’s where I study | |||
masak | merveilleux. | ||
spider-mario | certes. :) | 18:24 | |
sorear | o/ masak, spider-mario | ||
brrt | r: our @foo = Rat(2.sqrt).nude | ||
p6eval | rakudo 57a681: OUTPUT«Method 'STORE' not found for invocant of class 'Any' in block <anon> at /tmp/FKxpycXkP6:1» | ||
brrt | perl6: our @foo = Rat(2.sqrt).nude | 18:25 | |
p6eval | pugs: OUTPUT«*** No such method in class Rat: "&nude" at /tmp/H6uXnaUwyI line 1, column 12 - line 2, column 1» | ||
..niecza v15-6-gefda208: OUTPUT«Unhandled exception: Unable to resolve method postcircumfix:<( )> in class Rat at /tmp/lJFTWjzdWZ line 1 (mainline @ 3)  at /home/p6eval/niecza/lib/CORE.setting line 3842 (ANON @ 3)  at /home/p6eval/niecza/lib/CORE.setting line 3843 (module-CORE @ 65)… | |||
..rakudo 57a681: OUTPUT«Method 'STORE' not found for invocant of class 'Any' in block <anon> at /tmp/e2ko1VfZ77:1» | |||
masak | sorear! \o/ | ||
spider-mario | \o | ||
brrt | our $foo = Rat(2.sqrt).nu | ||
perl6: our $foo = Rat(2.sqrt).nu | 18:26 | ||
p6eval | niecza v15-6-gefda208: OUTPUT«Unhandled exception: Unable to resolve method postcircumfix:<( )> in class Rat at /tmp/aYz5FrMQjo line 1 (mainline @ 3)  at /home/p6eval/niecza/lib/CORE.setting line 3842 (ANON @ 3)  at /home/p6eval/niecza/lib/CORE.setting line 3843 (module-CORE @ 65)… | ||
..rakudo 57a681: OUTPUT«Method 'nu' not found for invocant of class 'Rat' in block <anon> at /tmp/vM9LGy4fvb:1» | |||
..pugs: OUTPUT«*** No such method in class Rat: "&nu" at /tmp/hvMdWSi_E5 line 1, column 7 - line 2, column 1» | |||
brrt | fair enough.. does anyone know why rakudo acts the way it does? | ||
[Coke] | p: say 3.Int | ||
p6eval | pugs: OUTPUT«3» | ||
[Coke] | p: "\o/".say | ||
p6eval | pugs: OUTPUT«\o/» | ||
brrt | why can't i assign anything to an array? | 18:27 | |
timotimo | how do i given-when for strings? smartmatch seems to want to cast the string to Num | ||
r: given "foo" { when "foo" { say "foo!" }; default { say "bar"; } ; } | 18:28 | ||
p6eval | rakudo 57a681: OUTPUT«foo!» | ||
timotimo | well, that's embarassing | ||
my confusion seems to come from a lack of line numbers in error messages ... again :\ | |||
brrt | r: say <2/6>.perl | 18:29 | |
p6eval | rakudo 57a681: OUTPUT«"2/6"» | ||
brrt | p: say <2/6>.perl | ||
p6eval | pugs: OUTPUT«"2/6"» | ||
18:30
jferrero left
|
|||
brrt | p6eval: say "foobar".graphs | 18:32 | |
moritz | brrt: try it with 'my', not 'our' | ||
brrt: rakudo has a regression with 'our' arrays and hashes, but we use them so seldomly it took some time to notice | |||
timotimo | ah, i've tried to use the outer topicalizer, forgetting that it gets overwritten by given ... | 18:33 | |
brrt | moritz: that works :-) | ||
thanks | 18:34 | ||
dalek | albot: 51491c5 | moritz++ | sync.pl: synchronization script |
18:35 | |
albot: 3d5677e | moritz++ | sync.pl: fix thinko |
18:39 | ||
albot: 97ff805 | moritz++ | sync.pl: chdir before syncing |
18:40 | ||
GlitchMr | perl6: print 10..1 | 18:41 | |
p6eval | pugs, rakudo 4373f0, niecza v15-6-gefda208: ( no output ) | ||
GlitchMr | Am I not understanding something? | ||
benabik | Ranges can't be backwards. | 18:43 | |
p6: print 10...1 | |||
p6eval | rakudo 4373f0, niecza v15-6-gefda208: OUTPUT«10987654321» | ||
..pugs: OUTPUT«***  Unexpected "1" expecting operator, ":", "," or term postfix at /tmp/lBOSIi3Jrd line 1, column 12» | |||
18:44
vlixes joined
|
|||
lichtkind | TimToady: can i have official approve that $*OS and $*OSNAME are dead? | 18:44 | |
GlitchMr | This is confusing... | ||
tadzik | lichtkind's back! | ||
lichtkind: about OS, what are you running now? | |||
GlitchMr | But I guess it makes sense with arbitary ranges... | 18:45 | |
masak | someone needs to reach into the Unicode consortium and physically stop them. www.unicode.org/charts/PDF/U1F300.pdf | ||
tadzik | yeah, that is far beyond any border of sanity and sense | ||
masak | "ear of maize"? "bento box"? "woman with bunny ears"!? | ||
18:46
jferrero joined
|
|||
moritz | published on April 1st? | 18:46 | |
lichtkind | tadzik: ubuntu but im about to change to fedora or mint | ||
masak | moritz: I wish. | ||
[Coke] hopes PerlJam and pmichaud are nowhere near those tornados. | |||
tadzik | lichtkind: I have no experience with Fedora, but I find Mint more friendly than Ubuntu, and I Mint is the one I usually direct to newbies. What drives you off Ubuntu though? | 18:47 | |
FRONT-FACING BABY CHICK | 18:48 | ||
does any Unicode guy/gal really believe that anyone, ever, is going to use characters of this sort? | |||
sorear | 3 earth globes! | ||
masak | somewhere, in a Unicode meeting, someone must have been discussing whether to include both "baby chick" and "front-facing baby chick". /o\ | ||
lichtkind | tadzik: i like unitiy in next 2 generations it will be awesawesome but i simple dont like it when an os crashes when i have running flash +another vid player | ||
tadzik | "Great, we have sooooo many code points, let's fill them with BS" | ||
sorear | tadzik: I think that most of these are interop with the in-house code pages of Japanese cell carriers | 18:49 | |
tadzik | "Surely we won't need them later" | ||
GlitchMr | INPUT SYMBOL FOR LATIN LETTERS... | ||
Shouldn't this be part of GUI if anything and not separate character? | |||
masak | one would think. | ||
"we need a symbol for the input of different types of symbols that we already have" | 18:50 | ||
GlitchMr | INPUT SYMBOL FOR MISC SYMBOLS? | ||
tadzik | sorear: so, like brother symbols, a japanese character and its meaning as a drawing, or such? | ||
GlitchMr | I wonder what next? Unicode characters which have to written in certain color... | 18:51 | |
Oh wait... | |||
PerlJam looks outside ... | |||
GlitchMr | 1F499 BLUE HEART... | ||
Seriously what? | |||
PerlJam | there's some wind, but not tornado :) | ||
s/not/no/ | |||
vlixes | 1F4B8 MONEY WITH WINGS | ||
tadzik | FROG FACE is awesome | 18:52 | |
moritz | I don't see a publishing date in that PDF | ||
GlitchMr | vlixes, seriously, what they were drinking while doing this? | ||
sorear | tadzik: I think it's more like the cell carriers go "we have a few thousand empty slots in our codepage" | ||
masak | GlitchMr: UniCola. | 18:53 | |
tadzik | masak: :D | ||
. o O ( There's a character for that! ) | |||
sorear | there's a large gap between 256 and 65536, and including additional kanji runs into extremely diminishing returns past 5000 or so | ||
(the set of characters that all educated people are expected to use only numbers 2000) | 18:54 | ||
tadzik | NAIL POLISH | 18:55 | |
it would sound wrong in different context | |||
GlitchMr | January 31, 2012 | 18:56 | |
... | |||
vlixes | GlitchMr, they need to get fun in some way I guess | ||
GlitchMr | Heh... | ||
18:57
birdwindupbird joined
|
|||
GlitchMr | Soon, 32-bit will be not enough... | 18:57 | |
masak | you Japanese lovers are so cute, referring to hanzi as "kanji"... :P | ||
Teratogen is waiting for 128 bit processors to come into vogue | |||
128 bit epoch! | |||
WHOOP! | |||
moritz wants a cluebat that works over the Internet | 18:58 | ||
tadzik | moritz: I presume there's a codepoint for that | 18:59 | |
18:59
GlitchMr left
|
|||
masak | FRONT-FACING CLUEBAT | 18:59 | |
moritz | tadzik++ | ||
brrt | is there a way to use matched character is the trans method, | 19:00 | |
benabik | masak: head-facing cluebat | ||
brrt | say to uppercase only certain letters | ||
masak | brrt: sounds like you want .subst, not .trans | ||
brrt | ok :-) | 19:01 | |
masak | r: $_ = "The answer is 2 + 2"; s[\d+ \s* '+' \s* \d+] = eval $/; .say | 19:03 | |
p6eval | rakudo 4373f0: OUTPUT«Nominal type check failed for parameter '$code'; expected Str but got Match instead in sub eval at src/gen/CORE.setting:443 in block <anon> at /tmp/1pU1SleqHo:1» | ||
masak | r: $_ = "The answer is 2 + 2"; s[\d+ \s* '+' \s* \d+] = eval ~$/; .say | 19:04 | |
p6eval | rakudo 4373f0: OUTPUT«The answer is 4» | ||
masak | whoa. | ||
I... whoa. | |||
tadzik | :) | ||
masak | rakudo++ | ||
moritz | r: "foo"[2] | 19:05 | |
p6eval | rakudo 4373f0: ( no output ) | ||
moritz | r: use fatal; "foo"[2] | ||
p6eval | rakudo 4373f0: OUTPUT«Index out of range. Is: 2, should be in 0..0 in block <anon> at src/gen/CORE.setting:8217 in method at_pos at src/gen/CORE.setting:1169 in method postcircumfix:<[ ]> at src/gen/CORE.setting:1138 in block <anon> at /tmp/V3yAICnwR_:1» | ||
moritz | r: use fatal; "foo"[2..*] | ||
p6eval | rakudo 4373f0: ( no output ) | ||
tadzik | r: use fatal; say "foo"[2..*] | 19:06 | |
p6eval | rakudo 4373f0: OUTPUT«» | ||
masak | r: $_ = "The answer is either 2 + 2 or 40 + 2"; s:g[\d+ \s* '+' \s* \d+] = eval ~$/; .say | 19:08 | |
p6eval | rakudo 4373f0: OUTPUT«The answer is either 4 or 42» | ||
masak | \o/ | ||
I don't understand anymore why I used to dislike the s[]= form so. it's awesome. | 19:10 | ||
sorear | masak: I don't understand how anyone could not like it either. | 19:11 | |
n: $_ = 'This... it is a STRING!'; s:g[\w+] .= flip; .say | 19:12 | ||
p6eval | niecza v15-6-gefda208: OUTPUT«===SORRY!===Malformed assignment operator at /tmp/GMd1lirM18 line 1:------> = 'This... it is a STRING!'; s:g[\w+] .=⏏ flip; .sayParse failed» | ||
sorear | n: $_ = 'This... it is a STRING!'; s:g[\w+] .=flip; .say | ||
p6eval | niecza v15-6-gefda208: OUTPUT«===SORRY!===Malformed assignment operator at /tmp/1NKm6wn_vy line 1:------> = 'This... it is a STRING!'; s:g[\w+] .=⏏flip; .sayParse failed» | ||
sorear | r: $_ = 'This... it is a STRING!'; s:g[\w+] .= flip; .say | ||
p6eval | rakudo 4373f0: OUTPUT«===SORRY!===Missing assignment operatorat /tmp/5V25lEHn16:1» | ||
sorear | n: $_ = 'This... it is a STRING!'; s:g[\w+] ~= '!'; .say | 19:13 | |
p6eval | niecza v15-6-gefda208: OUTPUT«This!... it! is! a! STRING!!» | ||
masak | clearly the .= form should work, though. | ||
sorear | aye | 19:14 | |
masak | std: 'This... it is a STRING!'; s:g[\w+] .= flip; .say | ||
p6eval | std 1ad3292: OUTPUT«ok 00:00 42m» | ||
masak | STD.pm6 agrees. | 19:15 | |
masak submits rakudobug | |||
moritz | all the meta ops don't work | ||
masak submits nieczabug | |||
moritz | masak: I think we already have a ticket for that | ||
at least we have failing tests for += | 19:16 | ||
masak | ok, unsubmitting the rakudobug. | ||
fsergot | s:g[\w+] .= flip; how does it work? | 19:17 | |
lichtkind | moritz: any thoughts why module URI fails? | ||
fsergot | like $_ ~~ ? | ||
moritz | fsergot: it doesn't. That's the problem. | ||
lichtkind: no. You? | |||
fsergot | moritz: so, how should it work ? :) | 19:18 | |
masak | fsergot: yes, it should substitute on $_ | ||
fsergot: the matched part is flipped, thanks to .=flip | |||
fsergot | Great, thanks. masak++ moritz++ | ||
masak | fsergot: and it matches as many times as it can, thanks to :g | ||
well, as many non-overlapping times as it can ;) | 19:19 | ||
r: $_ = "babababababab"; s:g[bab] = "BAB"; .say | |||
p6eval | rakudo 4373f0: OUTPUT«BABaBABaBABab» | ||
masak | :D | ||
moritz | r: $_ = "babababababab"; s:ov[bab] = "BAB"; .say | 19:20 | |
p6eval | rakudo 4373f0: OUTPUT«===SORRY!===Adverb ov not allowed on substitutionat /tmp/SzM3kAbzkC:1» | ||
fsergot | Awesome, now it's clear! :) | 19:21 | |
19:21
lichtkind left
|
|||
TimToady | new RC entry: rosettacode.org/wiki/Runge-Kutta_method#Perl_6 | 19:21 | |
fsergot | r: $_ = "babababababab"; s:g[bab] ~= "BAB"; .say | ||
p6eval | rakudo 4373f0: OUTPUT«===SORRY!===Missing assignment operatorat /tmp/sDzWeGykQC:1» | ||
fsergot | Right.. | 19:22 | |
:) | |||
moritz hopes it does use Math::RungeKutta; | |||
nope :( | 19:23 | ||
masak | :/ | ||
TimToady | no, it's a demo of how to *implement* it | ||
but feel free to add the other as an alternate solution :) | 19:24 | ||
fsergot | There can be two versions. :) | 19:25 | |
TimToady | perl6: use Math::RungeKutta; | ||
p6eval | niecza v15-6-gefda208: OUTPUT«Unhandled exception: Unable to locate module Math::RungeKutta in @path at /home/p6eval/niecza/boot/lib/CORE.setting line 1362 (die @ 3)  at /home/p6eval/niecza/src/NieczaPathSearch.pm6 line 23 (NieczaPathSearch.load_module @ 13)  at /home/p6eval/niecz… | ||
..rakudo 4373f0: OUTPUT«===SORRY!===Could not find Math::RungeKutta in any of: lib, /home/p6eval/.perl6/lib, /home/p6eval/nom-inst1/lib/parrot/4.2.0-devel/languages/perl6/lib, .» | |||
..pugs: OUTPUT«pugs: *** Unsafe function 'use' called under safe mode at /tmp/s3iUmwK0o9 line 1, column 1» | |||
19:25
literal left
19:26
avar left
|
|||
fsergot | Have to go. Good night #perl6 o/ | 19:26 | |
19:26
fsergot left
|
|||
masak | 'branoc, fsergone already :) | 19:27 | |
moritz | star: use Math::RungeKutta; | ||
19:27
p6eval left
|
|||
masak | p6eval-- | 19:27 | |
moritz | feel free to install star on feather1, user p6eval | ||
19:28
p6eval joined,
ChanServ sets mode: +v p6eval
|
|||
masak | I'm soon getting off this train... :) | 19:28 | |
TimToady | also, feel free to make rakudo grok the RC code :) | 19:29 | |
p6eval | star 2012.01: OUTPUT«Can't chdir to '/home/p6eval/rakudo-star-2012.01/': No such file or directory at lib/EvalbotExecuter.pm line 179 EvalbotExecuter::_auto_execute('HASH(0x8a33c08)', 'use Math::RungeKutta;', 'GLOB(0x8addc60)', '/tmp/3ocA6fqOK3', 'star') called at lib/EvalbotExecuter.p… | ||
19:29
avar joined,
avar left,
avar joined,
literal joined,
groky joined
|
|||
PerlJam | TimToady: cute use of unicode | 19:30 | |
(and by "cute" I mean something more akin to "appropriate" :) | |||
19:31
lichtkind joined
|
|||
TimToady | though there's a deficiency in niecza that prevents use of numeric subscripts there | 19:31 | |
lichtkind | shit crashed 4th tie today | ||
TimToady | and the modifier letter prime didn't work either | ||
lichtkind: there is no $*OS any more, since that's an overly ambiguous concept | |||
lichtkind | and i suppose $*OSNAE too | 19:32 | |
TimToady | and in any case, one should get the .name for some object | ||
*from | |||
so $*DISTRO.name or $*KERNEL.name or $*VM.name | |||
lichtkind | thats ny understanding just rakudo did otherwise | 19:33 | |
thanks you | |||
TimToady | perl6: my $y₁ = 42; say $y₁ | 19:34 | |
p6eval | niecza v15-6-gefda208: OUTPUT«===SORRY!===Confused at /tmp/qNNs12psD8 line 1:------> my $y⏏₁ = 42; say $y₁Parse failed» | ||
..rakudo 4373f0: OUTPUT«===SORRY!===Confusedat /tmp/QO0eEXeWNI:1» | |||
..pugs: OUTPUT«42» | |||
TimToady | perl6: my $yʹ = 42; say $yʹ | ||
p6eval | pugs, rakudo 4373f0: OUTPUT«42» | 19:35 | |
..niecza v15-6-gefda208: OUTPUT«===SORRY!===Confused at /tmp/lh8EHeQRjK line 1:------> my $y⏏ʹ = 42; say $yʹParse failed» | |||
moritz | eval: use utf8; 'ʹ' =~ /\w/ | ||
buubot_backup | moritz: 1 | ||
moritz | n: say so 'ʹ' ~~ /\w/ | 19:36 | |
p6eval | niecza v15-6-gefda208: OUTPUT«False» | ||
TimToady | perl6: say so '₁' ~~ /\w/ | 19:37 | |
p6eval | rakudo 4373f0, niecza v15-6-gefda208: OUTPUT«False» | ||
..pugs: OUTPUT«*** No such subroutine: "&so" at /tmp/CpRjh8cABh line 1, column 5 - line 2, column 1» | |||
TimToady | perl6: say so '¹' ~~ /\w/ | ||
p6eval | rakudo 4373f0, niecza v15-6-gefda208: OUTPUT«False» | 19:38 | |
..pugs: OUTPUT«*** No such subroutine: "&so" at /tmp/LjHj9ESo85 line 1, column 5 - line 2, column 1» | |||
TimToady | pugs: say '¹' ~~ /\w/ | 19:39 | |
p6eval | pugs: OUTPUT«Error eval perl5: "if (!$INC{'Pugs/Runtime/Match/HsBridge.pm'}) { unshift @INC, '/home/p6eval/.cabal/share/Pugs-6.2.13.20120203/blib6/pugs/perl5/lib'; eval q[require 'Pugs/Runtime/Match/HsBridge.pm'] or die $@;}'Pugs::Runtime::Match::HsBridge'"*** Can't locate P… | ||
TimToady | eval: use utf8; '¹' =~ /\w/ | ||
buubot_backup | TimToady: No output. | ||
TimToady | eval: use utf8; print "yes" if '¹' =~ /\w/ | ||
buubot_backup | TimToady: No output. | ||
TimToady | hmm | 19:40 | |
lichtkind | what is |w? | ||
masak | word boundary. | 19:41 | |
PerlJam | word character | ||
moritz | 'or w' | 19:42 | |
lichtkind | ok i fixed S28 | 19:43 | |
TimToady | S05:1873 | ||
lichtkind | hope i can push it | ||
masak gets off the train | 19:45 | ||
PerlJam | lichtkind: to clarify (hopefully), <|w> will match a word boundary, and \w will match a word character. (I was guessing a typo on your part and answering the latter) | 19:46 | |
lichtkind | thank you | ||
are more chars like |.. there ? | |||
PerlJam | lichtkind: See S05 :) | 19:47 | |
moritz | p6: say so 'w' ~~ /<:w>/ | 19:49 | |
TimToady | ENOp6ALIAS? | 19:50 | |
p6eval | pugs, rakudo 4373f0, niecza v15-6-gefda208: OUTPUT«(timeout)» | ||
TimToady | ETOOSLOW... | ||
moritz | p6: say so 'w' ~~ /<:w>/ | 19:51 | |
lichtkind | PerlJam: thanks 3 new items | ||
spider-mario | why is it taking ages? | ||
lichtkind | we get to the 1000 | 19:52 | |
p6eval | rakudo 4373f0, niecza v15-6-gefda208: OUTPUT«(timeout)» | ||
..pugs: OUTPUT«*** No such subroutine: "&so" at /tmp/bUMqsZJWGG line 1, column 5 - line 2, column 1» | |||
spider-mario | pugs doesn’t have so? | ||
tadzik | it would seem so | ||
PerlJam | pugs was old when so was created | ||
tadzik | H A H A H A | ||
lichtkind | are there also <gc> ? | 19:56 | |
grapheme boundary subrule? | |||
19:58
colomon left
|
|||
lichtkind | anybody here with git clues? | 19:59 | |
[Coke] | spider-mario: please open a ticket for missing "so" at github.com/perl6/Pugs.hs | ||
19:59
aindilis left
|
|||
lichtkind | has anyone clue why git uses a usernam for me i cant find in any config? | 20:06 | |
moritz | maybe it's in a config you can't find | 20:07 | |
~/.gitconfig | |||
lichtkind | i would not ask if its that eas y:) | 20:08 | |
moritz | well, how could I know what's easy for you? | ||
lichtkind | true | 20:09 | |
but maybe there is a global in the etc/config or so | 20:10 | ||
im getting mag here | |||
i cant clone | |||
Tene | git config --global --list | ||
if that doesn't list it, check your environment. | |||
If that does list it, it's in a global config | |||
might also be in your per-repo config, maybe. | 20:11 | ||
moritz | but it if was that easy, lichtkind wouldn't need to ask. | ||
doy | it will pull your real name from /etc/passwd if nothing is set, i believe | ||
which you probably set when you installed your system | |||
Tene | yes | 20:12 | |
doy | and email defaults to ${USER}@`hostname` or so | ||
moritz | ok, i know now why stuff was timing out earlier | 20:13 | |
I accidentally tried to build rakudo star on feather3 (instead of feather1) | 20:14 | ||
lichtkind | thank you tnee but that brought no new insights | ||
i studied the error msg and chose the https version | |||
moritz | and it went deep into swap space | ||
lichtkind | works now | ||
thanks all for support | |||
at least im not allone in that | 20:15 | ||
brrt | is there a zip library for perl6? | 20:17 | |
better yet, is there something like exec()? | |||
masak | yes to the latter question. | 20:18 | |
shell(), IIRC. | |||
a zip library would be cool, but frankly I don't think we have the perf yet :/ | |||
still, a slow zip library would be slightly cool, too :P | |||
brrt | undoubtly; for my purposes shell() will do :-) | 20:20 | |
TimToady | .u 🍻 | 20:21 | |
phenny | U+1F37B (No name found) | ||
lichtkind | aaah im so used to type hg so my poor brain has to think each time i type git | 20:22 | |
[Coke] | hey! I'm doing the rakudo release this month. | ||
dalek | ecs: 7658104 | (Herbert Breunung)++ | S28-special-names.pod: replaced $*OSNAME which is long gone |
||
masak | lichtkind: alias hg=git | ||
:P | |||
[Coke] | I wonder if I need to think about that until 2 days before the release. ;) | ||
lichtkind | my first commit | 20:23 | |
to the spec at least | |||
i have to put in my name :) | |||
20:23
vlixes left
|
|||
lichtkind | masak: but you know i need hg for my projects which are using it | 20:25 | |
20:28
colomon joined
|
|||
moritz | wow, King's Gambit solved. | 20:30 | |
masak hgs lichtkind ;) | |||
moritz | chessbase.com/newsdetail.asp?newsid=8047 | ||
masak | moritz: that's... impressive. | 20:31 | |
20:31
localhost left
20:32
y3llow_ joined,
bruges_ joined
|
|||
masak | rolling my suitcase from the train station and home to my apartment, I realized that I want to effect the following change on the spec: | 20:32 | |
20:32
localhost joined
|
|||
moritz | it's not solved by exhaustive search, the search aborts if a rating is found that is a clear win for either party | 20:33 | |
20:33
fgomez joined
|
|||
masak | I want there to be a user-definable way to create lvalue constructs, like s[] and substr and vec. | 20:33 | |
also, whatever happened to vec in Perl 6? is it even in the spec? | |||
benabik | Proxy? | ||
masak | yeah, Proxy will maybe figure in such a solution. | ||
TimToady | vec is supposed to be replaced by Bool @vec and such | 20:34 | |
moritz | (and I have wager running until 2050 if chess is solved. I said no. It's the first time I kinda fear to lose that wager) | ||
masak | I want something that will make things lvalues when needed, but that will not hurt performance for ordinary rvalue calculations. | ||
20:34
bruges left,
y3llow left
|
|||
moritz | masak: that sounds like a worthy goal | 20:35 | |
masak | TimToady: how do I create a Bool @vec? what do you mean by "and such"? vec works at any power-of-2 precision. | ||
20:35
y3llow_ left
|
|||
masak | TimToady: the nice thing about vec is precisely its lvalue capabilities. | 20:35 | |
TimToady | Uint4 @vec | ||
er, uint | |||
20:36
y3llow joined
|
|||
masak | I'd much rather use uint1 than Bool, by the way :P | 20:36 | |
and again, it's the two-way-binding that's the key. | |||
TimToady | anyway, the plan is to have compact arrays of tiny integers | ||
20:37
brrt left,
y3llow left
|
|||
TimToady | and they put in U+1F37B just to mollify you, but especially jnthn | 20:37 | |
[Coke] | .u 1F37B | 20:38 | |
phenny | [Coke]: Sorry, no results for '1F37B'. | ||
20:38
y3llow joined
|
|||
TimToady | CLINKING BEER MUGS | 20:38 | |
masak | :) | 20:39 | |
Teratogen | did you know you can use greek letters for variable names in javascript? | ||
pretty neat! | |||
masak | Teratogen: that's highly original! :) | ||
moritz | it works in most modern languages | ||
including p5, p6, java and a few others | 20:40 | ||
Teratogen | well I think there should be a perl keyboard just like there was an apl keyboard | 20:41 | |
what do you think of THOSE apples? | |||
geekosaur | haskell (thereby pissing people off because they want λ to be an operator character...) | ||
masak | proposal: Cool.vec($size where { $size.fmt("%b") ~~ /^10+$/ }) creates an array of $size-sized uints. but it's also proxied such that assignment to the elements reflect back on the original container. | ||
there should also be a sub form. | |||
Teratogen: I think APL keyboards are cute, but that that time is past. I think you think so too. | 20:42 | ||
Teratogen | there was a "space cadet" keyboard that had five meta buttons I think | 20:43 | |
shift, ctrl, alt, esc, meta, meta-meta | |||
20:44
tokuhiro_ joined
|
|||
Teratogen | err, correction, seven | 20:44 | |
lichtkind | masak: lets say i put my name into the syn after the third change :) | 20:45 | |
20:45
fglock left
|
|||
dalek | albot: 356641f | moritz++ | / (2 files): adapt to current realities |
20:45 | |
20:46
havenn left
|
|||
moritz | evalbot control restart | 20:46 | |
20:46
p6eval left,
p6eval joined,
ChanServ sets mode: +v p6eval
|
|||
moritz | nqp: say('alive') | 20:47 | |
pyrimidine | :( | ||
moritz | I don't know why, but the first execution after a restart always seems to take ages | ||
p6eval | nqp: OUTPUT«alive» | ||
20:47
birdwindupbird left
|
|||
moritz | star: use Math::RungeKutta; | 20:48 | |
p6eval | star 2012.02: ( no output ) | ||
moritz | \o/ | ||
std: 1 | |||
p6eval | std 1ad3292: OUTPUT«ok 00:00 40m» | ||
pyrimidine | moritz++ | ||
moritz | enough p6eval hacking for me. Tomorrow: new HPMoR chapter. | 20:49 | |
masak | \o/ | ||
pyrimidine: did you hear about the guy who wants to work on bioperl6? | |||
pyrimidine | have a couple, actually | ||
pyrimidine backlogs to find that... | 20:50 | ||
ah, yes | 20:52 | ||
masak: leont was correct, we responded to the interested student and mentioned that focusing on a subset would be best, considering bioperl is ~2000 modules | 20:53 | ||
20:54
kaare_ joined
|
|||
pyrimidine | not to mention a good chunk of those need significant refactoring ;) | 20:55 | |
masak | pyrimidine++ | ||
lichtkind | TimToady: is the a <gb> and <cb> subrule? | 20:57 | |
20:59
skids left
|
|||
masak | I can't seem to get Proxy.STORE to work in Rakudo. it's all defined in BOOTSTRAP.pm, but maybe it isn't wired up in other places? | 20:59 | |
anyway, I got FETCH to work for vec() | 21:00 | ||
r: use MONKEY_TYPING; augment class Cool { method vec($size where { .fmt("%b") ~~ /^10*$/ }) { my $v = self; return map -> $p { Proxy.new(FETCH => { ($v +> $p) % 2 }) }, ^self.fmt("%b").chars } }; my @vec = 42.vec(1); say @vec.fmt | |||
p6eval | rakudo 4373f0: OUTPUT«0 1 0 1 0 1» | ||
masak | up until that point, Proxy was a breeze to use. I really like creating up two-way bindings like this. | 21:01 | |
21:02
havenn joined
|
|||
masak | 'night, #perl6 | 21:04 | |
dalek | ecs: 6ef69b9 | (Herbert Breunung)++ | S28-special-names.pod: pod vars are now lowercase as seen in 3e1a9a5a576b90e9eeabdb7083d16431513513f2 |
21:05 | |
lichtkind | good night masak | ||
still not get the rational behind lowercase POD things | 21:06 | ||
pmichaud | 18:46 * [Coke] hopes PerlJam and pmichaud are nowhere near those tornados. | ||
[Coke] | I know, texas is huge. ;) | ||
pmichaud | actually, one of them was fairly close (< 10 miles) | ||
and one of the key "tracked" storm cells went right over our neighborhood, but no damage. | 21:07 | ||
huf | how wide is a tornado? a couple hundred meters, right? | ||
pmichaud | ("tracked" storm cells == covered real-time on local news along with warnings to "seek cover" :) | ||
21:07
chra left,
betterworld left
|
|||
pmichaud | anyway, all is well here so far. still some heavy storms aiming at us for the next hour or so | 21:08 | |
TimToady | huf: can be up to a mile wide | ||
huf | TimToady: the funnel? or the really really dangerous area where funnels can form at any time? | 21:09 | |
TimToady | en.wikipedia.org/wiki/Tornado_recor...mage_width | ||
huf | ... which is kinda how i imagine tornados... | ||
pmichaud | the really really dangerous area can be a mile wide | ||
huf | whoa... | ||
TimToady | at some point they turn into a funnel of funnels | ||
pmichaud | around here they don't tend to be that wide, though -- ours tend to be F-2 category, which is about 150m | 21:10 | |
huf | hmm, that just wipes a block or two, not an entire town... | ||
well, or three or four | |||
TimToady | the one that was 2.5 miles wide was probably multiple funnels all going 'round together | 21:11 | |
huf | glad we only get a small one and that only every century or so :) | ||
pmichaud | there's some good-quality video of these tornadoes; especially the one that went through a semitrailer park | ||
21:11
havenn left
|
|||
TimToady | the large ones tend to kick up so much debris that you can't actually see whether they're single or multiple from the outside without radar | 21:12 | |
spider-mario | star: macro test {quasi {say "Hello!"}}; test | ||
p6eval | star 2012.02: OUTPUT«===SORRY!===Macros are not yet implemented at line 1, near " test {qua"» | ||
spider-mario | rakudo: macro test {quasi {say "Hello!"}}; test | ||
p6eval | rakudo 4373f0: OUTPUT«Hello!» | ||
spider-mario | pugs: macro test {quasi {say "Hello!"}}; test | ||
p6eval | pugs: OUTPUT«Hello!» | ||
spider-mario | niecza: macro test {quasi {say "Hello!"}}; test | 21:13 | |
p6eval | niecza v15-6-gefda208: OUTPUT«===SORRY!===Action method quasiquibble not yet implemented at /tmp/RpuUXwsO29 line 1:------> macro test {quasi {say "Hello!"}⏏}; testAction method quote:quasi not yet implemented at /tmp/RpuUXwsO29 line 1:------> … | ||
pmichaud | www.nbcdfw.com/video/#!/weather/sto.../145994125 | ||
TimToady | lichtkind: no, those are not valid names | ||
(anymore) | 21:14 | ||
[Coke] | the semitrailer park footage made national news, watched a bit of it up here. | ||
21:15
fgomez left
|
|||
huf | looks like the end fight from some fantasy movie... | 21:15 | |
pmichaud | anyway, our weather-warning-radio has been sending off alarms much of the afternoon :) | 21:16 | |
lichtkind | TimToady: thanks and you know rational behind $=pod in favour of $=POD | 21:17 | |
21:22
vlkv joined
|
|||
TimToady | not particularly | 21:24 | |
21:25
fgomez joined
21:31
mattp_ left
|
|||
lichtkind | TimToady: so you dont like it too? | 21:31 | |
timotimo | is there a simplified input routine? like ask, but the other way around? | 21:36 | |
Tene | rakudo: say (quasi { say "Hello" }).perl | 21:38 | |
p6eval | rakudo 4373f0: OUTPUT«AST.new()» | ||
Tene | rakudo: say (quasi { say "Hello" }).^methods | ||
p6eval | rakudo 4373f0: OUTPUT«BUILD incarnate is_quasi_ast» | ||
spider-mario | I’ve not found how to use incarnate and what it does, btw. | 21:39 | |
21:44
erkan left
21:45
spider-mario left,
erkan joined,
spider-mario joined
21:49
spider-mario left
21:50
Araq joined
21:52
thou_ joined
|
|||
timotimo | is there a "deepcopy" function or something? | 21:55 | |
21:56
thou left
|
|||
lichtkind | timotimo: you mean of hoh? | 22:01 | |
timotimo | "hash of hashes"? | 22:02 | |
lichtkind | y | ||
timotimo | well, i have a class with a list and a hash and that hash contains instances of a class that contains a hash that creates "interconnections" among themselves | 22:04 | |
names would make it more clear: | |||
22:04
flussence left
|
|||
timotimo | i have a class Room, that has a hash of Tiles, each tile has a hash of neighbouring tiles | 22:04 | |
22:04
NamelessTee left
|
|||
sorear | timotimo: No. | 22:05 | |
timotimo | that's no problem then | 22:06 | |
22:06
kaare_ left
|
|||
timotimo | well, my thingie is pretty slow :| | 22:06 | |
22:07
flussence joined,
leprevost left
|
|||
sorear | moritz: feather1 hosts p6eval now? | 22:08 | |
22:10
netstar joined
|
|||
colomon | errr.... should github.com/perl6/specs/commit/6ef6...beb7142eb8 really be $=dATA , or is it $=data ? | 22:14 | |
22:14
mattp_ joined
22:24
betterworld joined
|
|||
lichtkind | r: say '\\' | 22:28 | |
p6eval | rakudo 4373f0: OUTPUT«\» | ||
lichtkind | shii | ||
22:31
fgomez left
22:33
alester left,
lichtkind left
22:35
mattp_ left,
mattp_ joined
22:40
mattp_ left,
fgomez joined,
mattp_ joined
22:41
netstar is now known as netstar_
22:42
lestrrat left
22:43
lestrrat joined
22:47
PacoAir left
22:58
Chillance left
23:02
vlkv left,
benabik left
23:07
lichtkind joined
|
|||
lichtkind | any sugegstions why "say '\\'" doesnt work on my rakudo | 23:08 | |
good night | 23:22 | ||
23:22
lichtkind left
23:28
fgomez left
23:36
fgomez joined
23:39
thou_ left
23:56
fgomez left
23:57
whiteknight joined
|