»ö« Welcome to Perl 6! | perl6.org/ | evalbot usage: 'perl6: say 3;' or rakudo:, niecza:, std:, or /msg camelia perl6: ... | irclog: irc.perl6.org | UTF-8 is our friend! Set by sorear on 25 June 2013. |
|||
00:03
exixt_ is now known as exixt
|
|||
ugexe | m: say "';'" ~~ / \; /; | 00:04 | |
camelia | rakudo-moar 48edaa: OUTPUT«「;」» | ||
ugexe | ';' that isn't surrounded by ' or " | 00:05 | |
m: say 'ok1' if ' ; ' ~~ /<-['"]> ';' <-['"]>/; say 'ok2' if ' ";" ' ~~ /<-['"]> ';' <-['"]>/; say 'ok3' if " ';' " ~~ /<-['"]> ';' <-['"]>/; | 00:06 | ||
camelia | rakudo-moar 48edaa: OUTPUT«ok1» | ||
00:09
jack_rabbit joined
|
|||
Mouq | m: say "';'" ~~ /(\') \; <~~0>/ # :P | 00:10 | |
camelia | rakudo-moar 48edaa: OUTPUT«===SORRY!=== Error while compiling /tmp/tkmD6VJ5DGSorry, ~~ regex assertion with a capture is not yet implementedat /tmp/tkmD6VJ5DG:1------> say "';'" ~~ /(\') \; <~~0⏏>/ # :P» | ||
00:11
PZt joined
00:15
exixt is now known as exixt_
00:17
denis_boyun_ left
00:21
[Tux] left
00:33
adu joined
00:35
flussence left
00:37
BenGoldberg joined,
flussence joined
00:41
chenryn left
00:42
exixt_ is now known as exixt
|
|||
Mouq | m: say "';'" ~~ /(\') \; <{$0}>/ | 00:42 | |
camelia | rakudo-moar 48edaa: OUTPUT«This type cannot unbox to a native string in sub MAKE_REGEX at src/gen/m-CORE.setting:14162 in block at src/gen/m-CORE.setting:14088 in method INTERPOLATE at src/gen/m-CORE.setting:14078 in method ACCEPTS at src/gen/m-CORE.setting:14210…» | ||
Mouq | m: say "';'" ~~ /(\') \; <{~$0}>/ | ||
camelia | rakudo-moar 48edaa: OUTPUT«===SORRY!=== Error while compiling EVAL_0Unable to parse expression in single quotes; couldn't find final "'" at EVAL_0:1------> anon regex { ^'}⏏<EOL> expecting any of: scoped declarator …» | ||
Mouq | Uh | ||
fail | |||
ohh | 00:43 | ||
m: say "';'" ~~ /(\') \; <{"\\$0"}>/ | |||
camelia | rakudo-moar 48edaa: OUTPUT«「';'」 0 => 「'」» | ||
Mouq | m: say all(q[';'], q[";"], none q[";'], q[';"]) ~~ /(<['"]>) \; <{"\\$0"}>/ | 00:44 | |
camelia | rakudo-moar 48edaa: OUTPUT«===SORRY!===Start of substr out of range. Is: 5, should be in 0..3» | ||
Mouq | m: say (q[';'], q[";"], q[";'], q[';"]) >>~~>> /(<['"]>) \; <{"\\$0"}>/ | 00:45 | |
camelia | rakudo-moar 48edaa: OUTPUT«True True False False» | ||
00:47
firefish5000 left
00:52
exixt is now known as exixt_
00:59
exixt_ is now known as exixt
01:03
anaeem1 joined
|
|||
dalek | ecs: 9f20af7 | raiph++ | S17-concurrency.pod: Fix typos and whitespace |
01:04 | |
01:07
anaeem1 left,
jack_rabbit left
|
|||
jdv79 | is there a way to pretty print like Data::Dumper or JSON::Tiny in p5 land? | 01:14 | |
I can't read a page of text for structure | |||
01:16
yeahnoob joined
|
|||
Mouq | perhaps github.com/FROGGS/p6-JSON-Pretty/ ? | 01:17 | |
jdv79 | JSON can't represent all types though, right? | ||
I thought Data::Pretty would but it seems to not | |||
01:19
majuscule left
01:27
PZt left
01:40
[Tux] joined
|
|||
raiph | Are the X and Z metaops theoretically parallelizable? Was my comment on HN accurate? news.ycombinator.com/item?id=8581868 | 01:42 | |
01:44
zakharyas joined
|
|||
Mouq | raiph: I believe X and Z are allowed to be lazy, so idk. »*» 2 would be a safer bet, which I believe is explicitly parellizable, though that's NYI | 01:46 | |
raiph | m: say hyper 1..5 X* 2 | 01:51 | |
camelia | rakudo-moar 48edaa: OUTPUT«Cannot call 'hyper'; none of these signatures match::(Any \op, Any \a, Any \b, Any :dwim-left($dwim-left), Any :dwim-right($dwim-right)):(Any \op, Any \obj):(Any \op, Associative \a, Associative \b, Any :dwim-left($dwim-left), Any :dwim-right($dwi…» | ||
01:54
rurban left
|
|||
dj_goku | cognominal: looks like it is back up now. testers.perl6.org | 02:03 | |
02:06
rmgk left
|
|||
ugexe | nqp: my @a:= nqp::list; my @b := nqp::list; nqp::splice(@a, @b, 0, 0); say(@a); | 02:07 | |
camelia | nqp-jvm: OUTPUT«(signal ABRT)» | ||
..nqp-parrot: OUTPUT«0» | |||
..nqp-moarvm: OUTPUT«cannot stringify this at gen/moar/stage2/NQPCORE.setting:682 (/home/camelia/rakudo-inst-1/languages/nqp/lib/NQPCORE.setting.moarvm:print:13) from gen/moar/stage2/NQPCORE.setting:688 (/home/camelia/rakudo-inst-1/languages/nqp/lib/NQPCORE.setting.moarvm:sa…» | |||
02:07
rmgk joined
|
|||
ugexe | not sure if the difference between parrot and moar is expected | 02:07 | |
colomon | raiph: Mouq is write, X & Z return lazy lists, so they're not great candidates for parallelization. | 02:08 | |
*right | |||
colomon sighs. too much bookkeeping crap today. brain done but work isn't. | |||
Mouq | hugme: hug colomon | 02:10 | |
hugme hugs colomon | |||
02:20
firefish5000 joined
02:23
perltricks joined
02:24
chenryn joined
|
|||
cognominal | hugme: hug all of us | 02:25 | |
hugme hugs all | |||
02:25
yeahnoob left
|
|||
cognominal | dj_goku, it is off and on | 02:26 | |
adu hugs cognominal | |||
cognominal hugs back | 02:27 | ||
dj_goku | cognominal: yeah I noticed the same. | 02:35 | |
02:38
yeahnoob joined
02:43
firefish5000 left
02:46
jack_rabbit joined
|
|||
TimToady | m: say "';'" ~~ /(\') \; $0 | 02:52 | |
camelia | rakudo-moar 48edaa: OUTPUT«===SORRY!===Regex not terminated.at /tmp/hBx_1lAeYU:1------> say "';'" ~~ /(\') \; $0⏏<EOL>Unable to parse regex; couldn't find final '/'at /tmp/hBx_1lAeYU:1------> say "';'" ~~ /(\') \; $0…» | ||
TimToady | m: say "';'" ~~ /(\') \; $0/ | ||
camelia | rakudo-moar 48edaa: OUTPUT«「';'」 0 => 「'」» | ||
TimToady | Mouq: ^^ yer makin' it too hard | 02:53 | |
02:56
ClarusCogitatio left
02:57
ClarusCogitatio joined
03:01
jack_rabbit left
03:02
ClarusCogitatio left
|
|||
raiph | TimToady: Aiui one is supposed to be able to shift gears between lazy and eager using keywords eager, lazy, etc.; and the GLR is partly about making that implementable; and so at some point hyper @a X* @b should be eager and, if the compiler so chooses, parallelizable. Am I right about the long term intent? | 03:04 | |
03:10
yeahnoob left
03:12
vendethiel left
03:16
vendethiel joined
|
|||
TimToady | yes, but X does default to lazy, which is anti eager/hyper/race | 03:16 | |
03:18
ClarusCogitatio joined
03:19
ClarusCogitatio left
03:20
ClarusCogitatio joined
03:23
jack_rabbit joined
03:26
ClarusCogitatio left
|
|||
raiph | TimToady: Thanks. (To recap my current understanding: `@a Xop @b` is by default lazy but `hyper @a Xop @b` might one day parallelize.) | 03:27 | |
03:27
yeahnoob joined
|
|||
perltricks | m: pi.fmt("%.10f") | 03:30 | |
camelia | ( no output ) | ||
perltricks | m: say pi.fmt("%.10f") | ||
camelia | rakudo-moar 48edaa: OUTPUT«3.1415926536» | ||
03:32
ClarusCogitatio joined
03:38
ClarusCogitatio left
03:39
ClarusCogitatio joined
|
|||
BenGoldberg | m: say Promise.new.result; | 03:45 | |
camelia | rakudo-moar 48edaa: OUTPUT«(timeout)» | 03:46 | |
BenGoldberg | Will perl have any sort of deadlock detection? | ||
Err, perl6 ;) | |||
03:47
dj_goku left,
ClarusCogitatio left
|
|||
perltricks | is there a short way to UC the first word of each line in a file? This: | 03:48 | |
perl6 -ne 'say s/(\w+)/{$0.uc}/' example.txt | |||
clobbers the first word | |||
03:49
dj_goku joined
|
|||
Mouq | perltricks: try s/(\w+){}/... | 03:51 | |
03:52
vendethiel- joined
|
|||
perltricks | Mouq: hah! that works, thanks. But why? | 03:52 | |
03:52
ClarusCogitatio joined
|
|||
Mouq | or just `say .tc` | 03:53 | |
03:53
vendethiel left
|
|||
Mouq | perltricks: There's an issue with $/ being created in s/// and .subst calls. It's been an outstanding bug for a while | 03:53 | |
perltricks | Mouq: ok, thanks | 03:54 | |
Mouq | perltricks: Did .tc work? | 03:55 | |
Mouq backtracks. TimToady++ :) | 03:56 | ||
perltricks | Mouq: no I think it titlecased the first word? | ||
03:57
ClarusCogitatio left,
jack_rabbit left
|
|||
colomon | m: lines.map({.tc}).say | 03:59 | |
camelia | rakudo-moar 48edaa: OUTPUT«Céad slán ag sléibhte maorga Chontae Dhún na nGall Agus dhá chéad slán ag an Eireagal ard ina stua os cionn caor is coll; Nuair a ghluais mise thart le Loch Dhún Lúich’ go ciúin sa ghleann ina luí I mo dhiaidh bhí gleanntáin ghlas’ Ghaoth …» | ||
colomon | m: "no I think it titlecased the first word?".tc.say | 04:00 | |
camelia | rakudo-moar 48edaa: OUTPUT«No I think it titlecased the first word?» | ||
Mouq | m: "no I think it titlecased the first word?".wordcase.say | ||
camelia | rakudo-moar 48edaa: OUTPUT«No I Think It Titlecased The First Word?» | ||
perltricks | Mouq: nice! | 04:02 | |
04:03
ClarusCogitatio joined
04:04
rmgk_ joined,
rmgk left,
rmgk_ is now known as rmgk
04:10
ClarusCogitatio left
|
|||
perltricks | Almost finished! github.com/sillymoose/Perl6-One-Liners | 04:14 | |
just a few perl 6 calcs to translate | |||
(from P5) | |||
04:15
ClarusCogitatio joined,
anaeem1_ joined,
anaeem1_ left
04:16
telex left,
anaeem1_ joined
04:18
telex joined
|
|||
Mouq | perltricks++ | 04:18 | |
04:19
dayangkun joined
|
|||
Mouq | perltricks: "Print lines that contain all vowels" another version: perl6 -ne'.say if .comb (>=) <a e i o u>' or perl6 -ne'.say if .comb ⊇ <a e i o u>' | 04:20 | |
04:25
ClarusCogitatio left
04:28
zakharyas left
04:29
ClarusCogitatio joined
|
|||
perltricks | mouq: thx, much better! | 04:29 | |
Mouq: thx, much better! | |||
04:31
perltricks left
04:32
kaleem joined
04:39
ClarusCogitatio left
|
|||
raiph | m: say "a" ~~ /<vowel>/ | 04:39 | |
camelia | rakudo-moar 48edaa: OUTPUT«No such method 'vowel' for invocant of type 'Cursor' in method ACCEPTS at src/gen/m-CORE.setting:14210 in block <unit> at /tmp/NWcrIDxi99:1» | ||
raiph | m: say "a" ~~ /<ident>/ | 04:40 | |
camelia | rakudo-moar 48edaa: OUTPUT«「a」 ident => 「a」» | ||
04:48
ClarusCogitatio joined
04:53
kaare_ joined
04:54
ClarusCogitatio left
04:56
ClarusCogitatio joined
04:59
chenryn left
|
|||
raydiak | Mouq++: thanks for trying out Math::Symbolic and reporting that bug | 05:01 | |
yoleaux | 17 Nov 2014 20:56Z <Mouq> raydiak: github.com/raydiak/Math-Symbolic/issues/1 | ||
17 Nov 2014 20:58Z <Mouq> raydiak: (Found because of gist.github.com/Mouq/f36a4ccf9547947eec8e btw :) | |||
05:02
ClarusCogitatio left
05:03
ClarusCogitatio joined
|
|||
raydiak | oh neat, and you're trying to use it...big changes coming :) | 05:04 | |
Mouq | raydiak++ :) | 05:07 | |
raydiak | been working on the poly branch, can reorganize an expression into a polynomial in terms of a certain var | 05:08 | |
then will solve it e.g. via quadratic equation, is the idea | |||
05:09
ClarusCogitatio left
05:10
ClarusCogitatio joined
|
|||
raydiak | also plan to add a .compile() that will return a perl routine for the expression by building it as a string and EVALing it | 05:11 | |
05:12
zakharyas joined
|
|||
Mouq | raydiak: Nice, will you just have it die on polynomials of powers greater than 4? | 05:13 | |
raydiak | wanted to make it so Pray can render 3D equations, and so I can describe primitives mathematically and precompile the results into automatically-generated primitve classes | ||
I don't know much about solving them in higher orders, but yes there's a lot of 'die "{...} is NYI"' going on in there :) | 05:14 | ||
so more of that, I'm sure | |||
05:16
ClarusCogitatio left
|
|||
Mouq | .oO( "Disproof of Abel–Ruffini NYI" ) |
05:16 | |
05:17
ClarusCogitatio joined
|
|||
raydiak | hah...I wanted to eventually make it smart enough to search for it's own solutions by pathfinding through a network of manipulation edges and representation nodes using some kind of progress-towards-goal metric | 05:18 | |
so maybe eventually it'll start trying to make up its own solutions if it doesn't findan obvious one :) | |||
05:19
kaleem left
|
|||
raydiak | there is a "Knuth up-arrow NYI" in there somewhere, but I don't think you can trigger it normally | 05:19 | |
05:21
dayangkun left
|
|||
tony-o | Mouq: i'm trying to use that in a grammar, match a ';' not encapsulated by '|" | 05:22 | |
rather, match everything before a ';' not in a ' or " | 05:24 | ||
05:24
tinyblak joined
|
|||
Mouq | raydiak: :) Hmm... Well I'm sure there's research on these things out in the world... | 05:29 | |
m: say "abcd;efg" ~~ / .* <?[;]> / # ? | |||
camelia | rakudo-moar 48edaa: OUTPUT«「abcd」» | ||
Mouq | m: say "abcd;efg" ~~ / .* )> \; / # ? | ||
camelia | rakudo-moar 48edaa: OUTPUT«「abcd」» | ||
tony-o | m: say 'abcd";"efg;' ~~ / .* )> \; / | 05:31 | |
camelia | rakudo-moar 48edaa: OUTPUT«「abcd";"efg」» | ||
tony-o | m: say 'abcd";"efg;' ~~ / .*? )> \; / | ||
camelia | rakudo-moar 48edaa: OUTPUT«「abcd"」» | ||
05:31
exixt is now known as exixt_
05:32
exixt_ is now known as exixt,
stux|RC-only left
|
|||
tony-o | m: say 'abcd";"efg;123' ~~ / .* )> \; / | 05:32 | |
camelia | rakudo-moar 48edaa: OUTPUT«「abcd";"efg」» | ||
tony-o | Mouq: you're halfway to a 6 pack i think | 05:33 | |
05:34
stux|RC-only joined
|
|||
TimToady | m: say 'abcd";"efg;123' ~~ / [ '.*?' | ".*?" | .]*? )> \; / | 05:34 | |
camelia | rakudo-moar 48edaa: OUTPUT«「abcd"」» | ||
TimToady | hmm | ||
05:35
kaare_ left
|
|||
Mouq doesn't actually understand the problem :P | 05:35 | ||
TimToady | m: say 'abcd";"efg;123' ~~ / [ '.*?' || ".*?" || .]*? )> \; / | 05:36 | |
camelia | rakudo-moar 48edaa: OUTPUT«「abcd"」» | ||
TimToady | m: say 'abcd";"efg;123' ~~ / [ '.*?' || ".*?" || <-['"]>]*? )> \; / | ||
camelia | rakudo-moar 48edaa: OUTPUT«「」» | ||
tony-o | github.com/tony-o/perl6-slang-sql/...asic.t#L29 | ||
Mouq | m: say 'abcd";"efg;123' ~~ / [ \'.*?\' || \".*?\" || .]*? )> \; / | ||
camelia | rakudo-moar 48edaa: OUTPUT«「abcd";"efg」» | ||
TimToady | m: say 'abcd";"efg;123' ~~ / [ '<-[']>*?' || "<-["]>*?" || <-['"]>]*? )> \; / | 05:37 | |
camelia | rakudo-moar 48edaa: OUTPUT«===SORRY!=== Error while compiling /tmp/mXnzv7neBHUnable to parse regex; couldn't find final '/'at /tmp/mXnzv7neBH:1------> say 'abcd";"efg;123' ~~ / [ '<-[']⏏>*?' || "<-["]>*?" || <-['"]>]*? )> \; / ex…» | ||
05:38
raiph left
|
|||
TimToady | m: say 'abcd";"efg;123' ~~ / [ \'<-[']>*?'\ || \"<-["]>*?\" || <-['"]>]*? )> \; / | 05:38 | |
camelia | rakudo-moar 48edaa: OUTPUT«===SORRY!=== Error while compiling /tmp/5eXsc2iWCLUnable to parse expression in double quotes; couldn't find final '"' at /tmp/5eXsc2iWCL:1------> '\ || \"<-["]>*?\" || <-['"]>]*? )> \; /⏏<EOL> expectin…» | ||
TimToady | m: say 'abcd";"efg;123' ~~ / [ \'.*?\' || \".*?\" || .]*? )> \; / | ||
camelia | rakudo-moar 48edaa: OUTPUT«「abcd";"efg」» | ||
TimToady | there we go | ||
m: say 'abcd";"efg;123' ~~ / [ \'.*?\' | \".*?\" | .]*? )> \; / | 05:39 | ||
camelia | rakudo-moar 48edaa: OUTPUT«「abcd";"efg」» | ||
tony-o | that's the stuff sql slang is made of (now) | ||
05:43
BenGoldberg left
05:57
bonsaikitten is now known as DrEeevil
05:59
chenryn joined
06:01
adu left
06:02
tinyblak left
06:04
kaare_ joined,
chenryn left
06:10
chenryn joined
|
|||
raydiak | Mouq: true the whole network thing is a bit out there (and possibly pointless), definitely not an immediate plan...guess it just sounded cool to have the software potentially come up with solutions I didn't already spoon-feed it | 06:18 | |
good night #perl6 \o | 06:25 | ||
06:26
Tekk_` left
06:28
dayangkun joined,
dayangkun left
06:37
jimmy_ joined,
jimmy_ is now known as JimmyZ
06:41
vike joined
|
|||
dalek | kudo/nom: 5dc4b46 | TimToady++ | src/core/Exception.pm: pluralize parentheses when you mean a pair of them |
06:43 | |
06:49
travis-ci joined
|
|||
travis-ci | Rakudo build failed. TimToady 'pluralize parentheses when you mean a pair of them' | 06:49 | |
travis-ci.org/rakudo/rakudo/builds/41331531 github.com/rakudo/rakudo/compare/4...c4b469db21 | |||
06:49
travis-ci left,
kaleem joined
06:52
xinming left,
xinming joined
|
|||
dalek | ast: e8f7579 | TimToady++ | S03-operators/precedence.t: list assoc now checks for same operator in rakudo |
06:53 | |
ast: 4bcb05a | TimToady++ | S03-operators/minmax.t: rakudo now checks list assoc op mismatch |
|||
p: 54ee667 | TimToady++ | src/HLL/Grammar.nqp: list assocativity requires same operator name (except for the invocant colon, which is a comma in disguise) |
|||
kudo/nom: f2ffb9a | TimToady++ | tools/build/NQP_REVISION: bump nqp |
06:54 | ||
06:58
travis-ci joined
|
|||
travis-ci | NQP build failed. TimToady 'list assocativity requires same operator name | 06:58 | |
travis-ci.org/perl6/nqp/builds/41332065 github.com/perl6/nqp/compare/4c2e5...ee66700d5b | |||
06:58
travis-ci left
07:01
travis-ci joined
|
|||
travis-ci | Rakudo build failed. TimToady 'bump nqp' | 07:01 | |
travis-ci.org/rakudo/rakudo/builds/41332096 github.com/rakudo/rakudo/compare/5...ffb9a384b0 | |||
07:01
travis-ci left
07:08
jack_rabbit joined
07:10
jfredett left
07:11
darutoko joined
07:50
FROGGS joined
|
|||
TimToady | m: say 1 X 2 Z 3 | 07:50 | |
camelia | rakudo-moar f2ffb9: OUTPUT«===SORRY!=== Error while compiling /tmp/mWbU6KB83hOperators 'X' and 'Z' are non-associative and require parenthesesat /tmp/mWbU6KB83h:1------> say 1 X 2 Z⏏ 3 expecting any of: postfix …» | ||
TimToady | m: say 1 | 2 ^ 3 | 07:51 | |
camelia | rakudo-moar f2ffb9: OUTPUT«===SORRY!=== Error while compiling /tmp/_eVu3e0P_FOperators '|' and '^' are non-associative and require parenthesesat /tmp/_eVu3e0P_F:1------> say 1 | 2 ⏏^ 3 expecting any of: postfix …» | ||
FROGGS | morning | ||
ohh, who did that? | |||
TimToady | \o | ||
FROGGS backlogs | |||
m: say 1 // 2 || 3 | 07:52 | ||
camelia | rakudo-moar f2ffb9: OUTPUT«1» | ||
FROGGS | ahh, it was missing here | ||
TimToady | hmm | 07:53 | |
m: say 1 min 2 max 3 | |||
camelia | rakudo-moar f2ffb9: OUTPUT«===SORRY!=== Error while compiling /tmp/GNuq2FJ9JdOperators 'min' and 'max' are non-associative and require parenthesesat /tmp/GNuq2FJ9Jd:1------> say 1 min 2 ⏏max 3 expecting any of: postfix…» | ||
TimToady | dunno why // vs || doesn't work yet | 07:54 | |
m: say 1 ^^ 2 || 3 | |||
camelia | rakudo-moar f2ffb9: OUTPUT«3» | ||
FROGGS | token infix:sym<//> { <sym> <O('%tight_or, :assoc<left>, :pasttype<defor>')> } | 07:55 | |
TimToady | but those are the same prec level as min/max | ||
FROGGS | is assoc<left> correct here? | ||
TimToady | not according to S03's prec table | ||
FROGGS | min/max just is: | ||
token infix:sym<min> { <sym> >> <O('%tight_or')> } | |||
token infix:sym<max> { <sym> >> <O('%tight_or')> } | |||
I am going to spectest the removal of the :assoc | 07:56 | ||
what is the reason that they should be non-assoc? | 07:58 | ||
TimToady | all list associative operators are non-associative if they differ | 07:59 | |
maybe these could be argued the other way | 08:00 | ||
m: say 1 min 2 // 3 | 08:01 | ||
camelia | rakudo-moar f2ffb9: OUTPUT«1» | ||
TimToady | m: say 1 // 2 min 3 | ||
camelia | rakudo-moar f2ffb9: OUTPUT«===SORRY!=== Error while compiling /tmp/8TC6ZF6MgsOperators '//' and 'min' are non-associative and require parenthesesat /tmp/8TC6ZF6Mgs:1------> say 1 // 2 ⏏min 3 expecting any of: postfix…» | ||
TimToady | there's an asymmetry | ||
FROGGS | well, *I* read it from left to right... | ||
:o) | |||
JimmyZ | m: say 1 ^^ 2 ^^ 3 | 08:03 | |
camelia | rakudo-moar f2ffb9: OUTPUT«Nil» | ||
TimToady | that one must be list associative to work with 'one' semantics | 08:04 | |
well, I think about this more in the morning; right now my eyes are no long opposite their sockets | 08:05 | ||
*longer | |||
TimToady --> zzz & | |||
FROGGS | gnight | ||
JimmyZ | m: say ( 1 ^^ 2 ) ^^ 3 | 08:07 | |
camelia | rakudo-moar f2ffb9: OUTPUT«3» | ||
08:11
yeahnoob left
08:24
yeahnoob joined
08:27
isacloud______ left,
xinming left,
isacloud______ joined
08:28
xinming joined
08:29
JimmyZ left,
woolfy left
08:30
denis_boyun_ joined
|
|||
lizmat | commute to Copenhagen& | 08:34 | |
08:34
lizmat left
|
|||
FROGGS | TimToady: removing the assoc for // and || fails to build the setting with: Operation 'defor' needs 2 operands | 08:38 | |
actually, it fails in stage mast | |||
08:39
virtualsue joined
08:45
jack_rabbit left
08:47
espadrine_ left
08:49
rindolf joined,
yeahnoob left
08:50
sqirrel_ joined
08:51
jluis left
08:52
molaf__ joined,
mathw left
08:54
rurban joined
08:55
molaf_ left,
yeahnoob joined
08:56
ptc_p6 joined
09:00
ptc_p6 left
09:01
ptc_p6 joined
09:02
dalek left
09:04
ab5tract left,
yeahnoob left
09:19
exixt is now known as exixt_,
breinbaas left
09:22
breinbaas joined,
yeahnoob joined
09:23
fhelmberger joined
09:36
denis_boyun_ left
09:37
ilbot3 left
09:39
rurban left
09:40
abraxxa joined,
abraxxa left
09:43
ilbot3 joined
09:46
dakkar joined
09:48
sqirrel_ left
09:49
ecocode joined
09:50
espadrine_ joined,
prevost joined,
yeahnoob left
09:51
dayangkun joined,
exixt_ is now known as exixt
09:57
exixt is now known as exixt_
10:05
grondilu joined
10:11
virtualsue left,
dayangkun left
10:13
Mouq left
10:14
zakharyas left
10:16
daxim joined
10:21
pecastro joined,
bjz joined
10:24
Ugator joined
10:32
mathw joined
10:33
rindolf left
|
|||
grondilu | "gnotify" notifies you when a player is online: www.freechess.org/Help/HelpFiles/gnotify.html | 10:47 | |
^should work with relayed games as well I guess | 10:48 | ||
grondilu tries +notify GMCarlsen | |||
FROGGS | is Perl 6 actually a game? | ||
grondilu | oops | ||
FROGGS | :o) | ||
grondilu | sorry guys, wrong channel | ||
FROGGS | np | ||
10:54
avar left
10:55
avar joined
10:57
virtualsue joined
10:58
virtualsue left
11:04
virtualsue joined
11:18
denis_boyun_ joined
11:19
Mso150 joined
11:23
rurban joined
11:28
smls joined
|
|||
smls | m: say "abc,123,,xyz".comb(/<-[,]>*/).perl | 11:28 | |
camelia | rakudo-moar f2ffb9: OUTPUT«("abc", "", "123", "", "", "xyz", "").list» | ||
smls | ^^any way to make this print «("abc", "123", "", "xyz").list» with comb? | 11:29 | |
moritz | smls: no easy way; that's what split is for | 11:30 | |
osfameron suspects he will need to reconfigure his entire terminal chain just in order to be able to read perl6 code :-( | 11:31 | ||
moritz | smls: though you could cheat with look-arounds, I guess | ||
osfameron | what's the character after .list ? | ||
moritz | .u  | ||
yoleaux | U+2424 SYMBOL FOR NEWLINE [So] () | ||
moritz | osfameron: that one | ||
osfameron | oh, is that just a glitch then? or part of the method name (e.g. .listNL ?) | 11:32 | |
smls | moritz: I thought I could maybe rewrite rosettacode.org/wiki/Tokenize_a_str...ing#Perl_6 in a simpler way using comb, but it would end up just as complicated... | ||
m: say "abc,123,,xyz".comb(/<-[,]>* )> ","?/).perl # this almost does the right thing... | 11:36 | ||
camelia | rakudo-moar f2ffb9: OUTPUT«("abc", "123", "", "xyz", "").list» | ||
moritz | m: say "abc,123,,xyz".comb(/<-[,]>* )> "," | <-[,]>+/).perl | 11:38 | |
camelia | rakudo-moar f2ffb9: OUTPUT«("abc", "123", "", "xyz").list» | ||
moritz | m: say "abc,123,,xyz".comb(/<-[,]>* <?before ','> | <-[,]>+/).perl | 11:39 | |
camelia | rakudo-moar f2ffb9: OUTPUT«("abc", "", "123", "", "", "xyz").list» | ||
smls | Could the Perl 5 version using «split» of the above rosetta code task be ported to Perl 6? | 11:43 | |
11:43
chenryn left
11:51
kaleem left
11:52
Sqirrel left
11:57
rurban left
|
|||
moritz | smls: yes | 12:07 | |
12:07
Mso150 left
|
|||
moritz | smls: iirc the $esc . (*SKIP)(*FAIL) is a workaround for look-behinds | 12:07 | |
smls | no, not in this case | 12:08 | |
you need to parse the string step by step from left to right, to make sure you catch all escaped characters | |||
12:09
bjz left
|
|||
FROGGS | osfameron: say() appends \n to the said string... and here camelia will output as U+2424 | 12:10 | |
smls | just finding the separator and the checking if the char behind it is the escape char, isn't enough, as it may be escaped itself | ||
osfameron | FROGGS: ah yes, output. I did just scan the class docs to see if there was a .listNL method though earlier :-) | 12:11 | |
(it seemed doubly mysterious, as it's mojibake for me) | |||
FROGGS | m: say '' | 12:12 | |
camelia | rakudo-moar f2ffb9: OUTPUT«» | ||
12:12
bjz joined,
sqirrel_ joined
|
|||
moritz | osfameron: maybe irclog.perlgeek.de/perl6/today helps with the Mojibake problem :-) | 12:13 | |
osfameron | moritz: there seems to be plenty of terrible encoding in that too :-) | 12:14 | |
but I do see the NL symbol there at least | |||
FROGGS | hmmm, it does not strip/convert color codes | 12:15 | |
moritz | osfameron: yes, it always trips when the line length limit of the IRC server strips off continuation bytes | 12:17 | |
12:21
azawawi joined
|
|||
azawawi | hi | 12:22 | |
yoleaux | 12 Nov 2014 14:29Z <lizmat> azawawi: don't think so, deprecations are basically runtime call to a special internal sub | ||
12:22
rindolf joined
|
|||
colomon | ack, bootloads of new failures overnight. :( host08.perl6.com:8080/report | 12:23 | |
moritz | colomon++ # smoking | 12:24 | |
azawawi | colomon: panda install URI # is not working... | 12:28 | |
colomon: and hence Farabi6... :( | |||
FROGGS checks URI | 12:29 | ||
azawawi | it seems to be the grammar parsing | ||
FROGGS | hmmmm | ||
ok 1 - We use URI and we are still alive | 12:30 | ||
Could not parse URI: example.com:80/about/us?foo#bar | |||
moritz | maybe related to LTM tie-breakers? | ||
azawawi | latest rakudo | 12:32 | |
2014.10-133-gf2ffb9a to be exact | 12:33 | ||
FROGGS | it only parses the 'http', but nothing after that | 12:35 | |
azawawi | colomon: where is the version of the runtime in the smoke test? | ||
colomon: s/test/results | |||
colomon | azawawi: the version of rakudo? | 12:36 | |
azawawi | colomon: yup | ||
colomon | d7c74ef | ||
FROGGS | hmmm, it thinks that 'http' is a path_noscheme of a relative URI | 12:37 | |
colomon | errr… that's not a version of rakudo | ||
This is perl6 version 2014.10-131-g48edaa3 built on MoarVM version 2014.10-47-gd7c74ef | |||
so 48edaa3 | 12:38 | ||
FROGGS | of course this helps, but I guess that's the wrong way to fix it: | ||
- token URI_reference { <URI> | <relative_ref> }; | |||
+ token URI_reference { <URI> || <relative_ref> }; | |||
moritz | that supports my theory that it's connected to LTM | 12:39 | |
FROGGS | moritz: yes, you are right about that | 12:40 | |
12:40
raiph joined
|
|||
moritz | though the question is, why doesn't <URL> match longer? | 12:41 | |
FROGGS | TimToady: here is some fallout of the longlit change: gist.github.com/FROGGS/ebfc9d5e903475d1c2b7 | 12:44 | |
12:53
rindolf left
12:57
anaeem1_ left
13:15
zakharyas joined
13:19
itz joined
13:21
itz_ left
13:24
sqirrel_ left
13:26
kaleem joined
13:40
raiph left
13:42
raiph joined
13:44
ptc_p6 left
13:45
guru joined,
guru is now known as Guest53879
13:46
Guest53879 is now known as aj_,
aj_ is now known as ajr_
13:51
azawawi left
14:02
dj_goku left
14:03
jfredett joined
14:08
rindolf joined
14:16
jfredett1 joined,
jfredett left
14:17
telex left
14:18
telex joined
14:21
jfredett1 left
|
|||
moritz | \o | 14:23 | |
I just received a mail with a pledge for the p6 server | 14:24 | ||
along with this gem: | |||
Thanks you so much for your amazing work. I would appreciate very much | |||
if you could forward my appreciation to all your Perl 6 developer | |||
friends and colleagues. I frequently read the IRC logs but I am too | |||
shy to drop by just to say "Hi guys, good job. You are amazing". So if | |||
you would do it for me, I would greatly appreciate it. | |||
so, everybody, feel appreciated by carlo++! | |||
14:26
jfredett joined
|
|||
tadzik | \o/ | 14:28 | |
carlo, you rock :) | |||
jnthn waves tiredly :) | 14:34 | ||
[Coke] pounces on jnthn! | 14:35 | ||
jnthn had a long journey, followed by nice food | |||
[Coke] | (just kidding, I've only had one cup of coffee so far.) | ||
jnthn | Also figured out what I might talk about at FOSDEM :) | 14:36 | |
[Coke]: Hm, I suspect we have a double-digit timezone diff, given it's very bedtime here :) | |||
14:38
brrt joined
14:39
n0use left
14:47
woolfy joined,
rurban joined
14:48
kaare_ left
14:49
perltricks joined
14:52
lizmat joined
|
|||
[Coke] | jnthn: almost 10am here. | 14:54 | |
ugh, I have YA meeting in 6 minutes, time to grab more coffee, fer realz. | 14:55 | ||
jnthn | 11pm or so here | 14:56 | |
lizmat | 4pm or so here :-) | 14:58 | |
(Tivoli Time) | |||
15:00
tinyblak joined,
chenryn joined
|
|||
FROGGS | carlo++ | 15:02 | |
15:02
chenryn left
15:10
lizmat left
|
|||
jnthn | lizmat: enjoy! ;) | 15:11 | |
jnthn rests & | |||
PerlJam | moritz: how much $$$ do you have pledged for the server? | 15:15 | |
15:16
kurahaupo left
|
|||
moritz | PerlJam: around 1.5k EUR (taken with a grain of salt in both directions) | 15:19 | |
PerlJam: some pledges were "up to" and some "at least", so there's a lot of elasticity in there | 15:20 | ||
PerlJam: and things are complicated; I'll send out an update once things are clearer | |||
PerlJam | moritz: Did I ever email you with an amount? If not, put me down for $50USD | ||
15:20
KCL_ joined
|
|||
moritz | PerlJam: one thing seems certain though: we'll get decent hardware | 15:20 | |
PerlJam | moritz++ thanks for coordinating everything. | 15:21 | |
moritz | PerlJam: ok, thanks; I'll let you know the proceedings once things are clearer | ||
for everybody interested: moritz.faui2k3.org/tmp/ang391032014a.pdf this is the server I've ordered now, minus the additional ethernet cards | 15:23 | ||
it's German, but the whole tech speak in it is English anyway :-) | |||
TL;DR: 1U server 19" with 6 core x2 (hyperthreading), 32GB RAM, 2 * 2TB hard drive | |||
*cores | 15:24 | ||
the order hasn't been confirmed yet | |||
on the software side, somebody mentioned I might want to investigate cgroups instead of virtualization for resource management | 15:25 | ||
which would make the network management easier | |||
any opinions on that? | |||
PerlJam | moritz: RAID? | ||
moritz | PerlJam: software raid | ||
PerlJam | ah | 15:26 | |
RAID1? | |||
moritz | (there's a controller in there, but it's a fake one; so just additional SATA ports) | ||
PerlJam: I haven't really done the planning yet, but RAID1 sounds sensible to me | 15:27 | ||
15:31
chenryn joined
|
|||
PerlJam | moritz: I imagine that more people have experience with virtualization (if you're sharing the admin load) than cgroups. | 15:31 | |
15:33
kaleem left
|
|||
moritz | PerlJam: aye; but my experience with managing infrastructure is that in the end, it always comes back to me :/ | 15:35 | |
PerlJam: and I don't have experience with either right now | |||
15:35
tinyblak_ joined
15:37
treehug88 joined
15:38
tinyblak left
15:43
jluis joined
15:45
guru joined,
ajr_ left
15:46
guru is now known as ajr_
15:48
grondilu left
15:54
[Sno] left
15:55
JimmyZ joined
|
|||
JimmyZ | moritz: someone said it's good to use cgroup to controll the cpu resource of kvm since kvm is also a process | 15:56 | |
seems Google Compute Engine is doing this | 15:58 | ||
smls <3 .classify and .deepmap | 15:59 | ||
JimmyZ has some experience with kvm | 16:00 | ||
16:04
tinyblak_ left,
tinyblak joined,
Ven joined
|
|||
Ven | wow, matz seems to want to give ruby 3.0 soft/structural typing | 16:05 | |
www.omniref.com/blog/blog/2014/11/...lly-typed/ | |||
16:05
ecocode left
|
|||
nwc10 is more curious about the "Matz presented a few major ideas for the next version of Ruby, including improvements in concurrency support, and JIT compilation" alluded to by that blog post | 16:08 | ||
Ven | nwc10: JIT has already happened to many implementations.. hehehe. Jruby "9k" will be a big thing. | 16:09 | |
16:16
kaare_ joined
16:17
zakharyas left
|
|||
Ven | nwc10: I think the part that impresses me the most about Jruby 9k is actually the fact they've reimplemented C on the JVM, so that the VM can effectively inline stuff between ruby and C | 16:18 | |
It looks like it's from the same place to the optimizer/JIT! | |||
[Coke] | .u § | 16:20 | |
yoleaux | U+00A7 SECTION SIGN [Po] (§) | 16:21 | |
16:26
denis_boyun_ left,
Ven left
16:30
jluis left,
FROGGS left
16:33
Zheglov joined,
JimmyZ left,
brrt left
|
|||
ugexe | nqp: my @a := nqp::list; nqp::push(@a,'x'); nqp::setelems(@a, 0); # does ::setelems(@a,0) free memory originally used by the 1 element of @a? | 16:38 | |
camelia | nqp-jvm: OUTPUT«(signal ABRT)» | ||
( no output ) | |||
16:39
tinyblak_ joined
16:40
tinyblak left
16:41
[Sno] joined
|
|||
[Coke] | is there a ticket for that nqp-jvm abort? | 16:46 | |
ugexe | nqp: say 1; # it always aborts just to clarify | 16:51 | |
camelia | nqp-parrot: OUTPUT«Confused at line 2, near "say 1; # i"current instr.: 'panic' pc 15673 (gen/parrot/stage2/NQPHLL.pir:5731) (gen/parrot/stage2/NQPHLL.nqp:425)» | ||
..nqp-jvm: OUTPUT«(signal ABRT)» | |||
..nqp-moarvm: OUTPUT«Confused at line 2, near "say 1; # i" at gen/moar/stage2/NQPHLL.nqp:485 (/home/camelia/rakudo-inst-1/languages/nqp/lib/NQPHLL.moarvm:panic:105) from gen/moar/stage2/NQP.nqp:913 (/home/camelia/rakudo-inst-1/languages/nqp/lib/nqp.moarvm:comp_unit:872) f…» | |||
16:55
kaleem joined,
FROGGS joined
|
|||
FROGGS | o\ | 16:55 | |
16:56
Zheglov left
|
|||
FROGGS | ugexe: does it matter if it frees mem? | 16:56 | |
ugexe | FROGGS: no, im just looking at rakudo source and curious | 16:57 | |
FROGGS | ugexe: the backend can decide when it frees and what it keeps longer in memory | 16:58 | |
16:58
Zheglov joined
|
|||
FROGGS | it is just that the backend might be allowed to free something when it is not reachable anymore | 16:58 | |
17:01
kaleem left
|
|||
ugexe | i see. this optimization (i think) is why i wondered | 17:01 | |
github.com/rakudo/rakudo/blob/e2ae...#L699-L700 | |||
netstar | very elegant | 17:04 | |
japhb | ugexe: Yeah, that's to preextend the backing array, so that it doesn't have to be grown repeatedly when you know exactly how big it will end up, but at the same time appearing empty so you can push onto it. | 17:08 | |
netstar | %*ENV{'CWD'} is legal ? | ||
japhb | netstar: yes, but save yourself some typing and use %*ENV<CWD> instead ... or in this particular case (CWD), you may want to avoid it altogether, because every so often I see commits that change the behavior of cwd across threads and spawns -- IIRC, the current thread-local cwd is in $*CWD, not %*ENV<CWD>. | 17:12 | |
netstar | thanks japhb ! | ||
17:13
Mouq joined
|
|||
japhb | np | 17:13 | |
netstar | i am loving some of the new syntax | ||
some of it just "makes sense!" | |||
japhb | netstar: :-) | 17:14 | |
ugexe | m: my @a = <a b c>; say @a[-0]; # should this give the *- failure message? | 17:22 | |
camelia | rakudo-moar f2ffb9: OUTPUT«a» | ||
PerlJam | ugexe: no. | 17:24 | |
japhb | ugexe: Why would it? That's an int or Int, so we do not guarantee that -0 and +0 are different. | 17:25 | |
17:27
denis_boyun_ joined
|
|||
PerlJam | the message no longer says "negative subscript" anyway, right? | 17:28 | |
17:28
jluis_ joined
|
|||
PerlJam | m: my @a; say @a[-4]; # just checkign | 17:29 | |
camelia | rakudo-moar f2ffb9: OUTPUT«Unsupported use of [-4] subscript to access from end of Array; in Perl 6 please use [*-4] in method gist at src/gen/m-CORE.setting:13756 in sub say at src/gen/m-CORE.setting:16487 in block <unit> at /tmp/rQ1syAe1UW:1» | ||
ugexe | thats why im confused. any other negative int it will fail wanting a WhateverCode. but not for -0 | 17:32 | |
17:32
kaleem joined
|
|||
colomon | ugexe: -0 is 0 | 17:32 | |
17:32
kaleem left
|
|||
raydiak | also nobody coming from p5, c, js, ruby, lua, etc would expect it to do anything other than what it does in p6 too, if I'm not mistaken | 17:32 | |
(and good morning #perl6 \o) | 17:33 | ||
ugexe | colomon: gotcha. im not a math guy | ||
PerlJam is hard pressed to think of a language that *does* distinguish -0 | |||
colomon | m: say 0 === (-0) | ||
camelia | rakudo-moar f2ffb9: OUTPUT«True» | ||
colomon | PerlJam: Nums make the distinction. | ||
but Ints do not. | |||
m: say 0e1 === (-0e1) | 17:34 | ||
camelia | rakudo-moar f2ffb9: OUTPUT«True» | ||
colomon | m: say -0e1 | ||
camelia | rakudo-moar f2ffb9: OUTPUT«-0» | ||
colomon | huh | ||
I'd expect those to == but not === | |||
[Coke] | FYI, fudge blocks don't work on arbitrary blocks, they have to start a line. | 17:36 | |
(the blocks) | |||
raydiak | m: say .WHICH for -0e0, 0e0 | 17:39 | |
camelia | rakudo-moar f2ffb9: OUTPUT«Num|-0Num|0» | ||
raydiak | m: say 0e0 * -1 | 17:43 | |
camelia | rakudo-moar f2ffb9: OUTPUT«-0» | ||
raydiak | I think I'm with colomon...as much as it pains me that we even have a distinct -0, I would also not expect it to === 0 | 17:47 | |
17:47
jluis_ left
|
|||
raydiak | and that's enough javascript-like nonsense for me for one morning :) | 17:47 | |
17:47
ajr_ left
|
|||
TimToady | one morning, everyone! | 17:48 | |
17:48
guru joined
|
|||
raydiak | \o TimToady | 17:48 | |
17:48
guru is now known as Guest58760
17:49
pecastro left,
Guest58760 is now known as ajr_
|
|||
japhb | There's a reason floating point numbers have a -0, and it's not just for convenience in the bit layout. It's necessary to distinguish -0 and +0 for certain physical simulations. | 17:49 | |
TimToady is not surprised there was some fallout to the longlit patch, since there were places in the test suite that were inadvertently depending on ordering | |||
raydiak | japhb: why? | 17:50 | |
geekosaur | isn't it really about limits? | ||
TimToady | for some equations you want to know which limit...yes, what geekosaur++ said | 17:51 | |
you can approach 0 from either side | |||
17:51
FROGGS_ joined
|
|||
TimToady | of course, by that argument, we should have two 1's, two 2's, etc :) | 17:51 | |
geekosaur | numerical methods can do some really weird things when approaching 0 if you don't specify from which side (which is what the sign is being overloaded to do, because that "works" with numerical methods) | 17:52 | |
TimToady | yes, 0 gets to be special, since, well, it is special | ||
17:52
virtualsue left
|
|||
geekosaur | except that if you do it at 0 (and +/-inf) then you get it for anything else by adding a constant offset | 17:53 | |
17:53
vendethiel- left
|
|||
TimToady | sure, the special can be moved around :) | 17:53 | |
geekosaur | so 0, being in some sense weird anyway, gets the odd behavior | ||
17:54
FROGGS left
|
|||
TimToady | re fudge and blocks, yes, fudge is like many preprocessors in being primarily line oriented in its declarations | 17:54 | |
17:55
chenryn left
|
|||
TimToady | the only other approach requires parsing a known language, which has at least two difficulties here | 17:55 | |
one is that a mutable language like Perl 6 is not just a single language | 17:56 | ||
17:56
kurahaupo joined
|
|||
TimToady | the second difficulty is that we're testing whether it's the language we think it is in the first place, so we can't make that assumption that we know which language we're parsing | 17:56 | |
so we have to rely on arbitrary markers, and nothing is handier for that purpose than the newlines | |||
pod is much the same | 17:57 | ||
and to a lesser extent, heredocs | |||
anyway, that's why fudge ignores blocks that aren't where it expects them | 17:58 | ||
and why the individual tests have to start and end on a line boundary, more or less | 17:59 | ||
(we allow for some whitespace there) | 18:00 | ||
18:00
chenryn joined
18:01
wolv- is now known as wolv
18:02
chenryn left
18:03
chenryn joined
18:04
dakkar left
|
|||
sergot | hi o/ | 18:05 | |
p: ()[*-1] | |||
camelia | rakudo-parrot f2ffb9: OUTPUT«Unsupported use of [-1] subscript to access from end of Parcel; in Perl 6 please use [*-1]current instr.: 'throw' pc 476005 (src/gen/p-CORE.setting.pir:197349) (gen/parrot/CORE.setting:12131)called from Sub 'sink' pc 519057 (src/gen/p-CORE.setting.…» | ||
sergot | r: ()[*-1] | 18:06 | |
camelia | rakudo-parrot f2ffb9: OUTPUT«Unsupported use of [-1] subscript to access from end of Parcel; in Perl 6 please use [*-1]current instr.: 'throw' pc 476005 (src/gen/p-CORE.setting.pir:197349) (gen/parrot/CORE.setting:12131)called from Sub 'sink' pc 519057 (src/gen/p-CORE.setting.…» | ||
..rakudo-moar f2ffb9: OUTPUT«Unhandled exception: Unsupported use of [-1] subscript to access from end of Parcel; in Perl 6 please use [*-1] at <unknown>:1 (/home/camelia/rakudo-inst-1/languages/perl6/runtime/CORE.setting.moarvm:throw:4294967295) from src/gen/m-CORE.setting:1…» | |||
18:07
chenryn left
18:09
Zheglov left
18:14
anaeem1 joined
|
|||
ugexe | m: my @a; say "1:"~@a[0;-1]; say "2:"~@a[0;*-1]; @a.push('x'); say "3:"~@a[0;*-1]; | 18:14 | |
camelia | rakudo-moar f2ffb9: OUTPUT«1:2:3:x» | ||
18:16
ajr_ left
18:18
ajr joined,
ajr is now known as Guest4540,
Guest4540 is now known as ajr_
18:20
rurban left
18:21
prevost left
18:22
jluis joined,
jluis is now known as Guest39179
18:24
dwarring joined,
jack_rabbit joined
18:25
ajr_ left
18:26
El_Che joined
18:27
spider-mario joined
18:33
FROGGS_ is now known as FROGGS,
fhelmberger left
|
|||
FROGGS | TimToady: so you say that the output of the URI grammar is expected like it is now? | 18:33 | |
18:33
fhelmberger joined
18:34
anaeem1 left
|
|||
dwarring | r; grammar g { my rule foo {.}; my rule bar {.}; rule TOP {<foo><.bar>} }; g.parse("hi"); | 18:35 | |
dwarring .... | |||
FROGGS | m: grammar g { my rule foo {.}; my rule bar {.}; rule TOP {<foo><.bar>} }; say g.parse("hi"); | ||
camelia | rakudo-moar f2ffb9: OUTPUT«No such method 'bar' for invocant of type 'g' in regex TOP at /tmp/1wtwO5e6PG:1 in method parse at src/gen/m-CORE.setting:14182 in block <unit> at /tmp/1wtwO5e6PG:1» | ||
FROGGS | m: grammar g { rule foo {.}; rule bar {.}; rule TOP {<foo><.bar>} }; say g.parse("hi"); | 18:36 | |
camelia | rakudo-moar f2ffb9: OUTPUT«「hi」 foo => 「h」» | ||
dwarring | yeah that works | ||
that's started happening since yesterday | 18:37 | ||
18:37
Zheglov joined
|
|||
TimToady | you can't call a 'my' regex with <.foo> | 18:37 | |
18:37
anaeem1 joined
|
|||
TimToady | that's been spec for a long time, but rakudo is sloppy on how it implements it | 18:38 | |
18:38
fhelmberger left,
kurahaupo1 joined
|
|||
TimToady | it just says "Oh, the . is a no-op, call back into <assertion>" | 18:38 | |
[Coke] | why does S32-io/spurt.t try to unlink the file 3 times? | 18:39 | |
TimToady | it should really be calling into $~MAIN's methodop rule to parse the metod | ||
*th | |||
dwarring explains overnight CSS::Module failure - will fix | 18:40 | ||
[Coke] | (well, more than that, but right at the end.) | ||
TimToady | so, yeah, there's the <.foo> issue in addition to the longlit semantic that can now come in via either <foo> or <.foo> | 18:46 | |
Mouq | m: grammar g { my rule foo {.}; my rule bar {.}; rule TOP {<foo><&bar>} }; say g.parse("hi"); | ||
camelia | rakudo-moar f2ffb9: OUTPUT«「hi」 foo => 「h」» | ||
18:46
Mouq left
18:47
Mouq joined
|
|||
TimToady | (but not yet <&foo>, since that goes through INTERPOLATE) | 18:47 | |
there's also the <.&foo> variant, which appears to work too | 18:48 | ||
I guess that work at the moment because QRegex throws away the . and parses it as <&foo> | |||
[Coke] | TimToady: I was just looking at the "pluralize paren..." commit. that's in an exception that is thrown from one method that is never explicitly called, it seems (EXPR_nonassoc) - how does that get invoked? | 18:49 | |
TimToady | you'll note that <."foo"> won't work as a method call, since it's taken as <"foo"> | ||
npq/src/HLL/Grammar.nqp line 531 | 18:51 | ||
m: grammar g { rule foo {.}; rule bar {.}; rule TOP {<foo><."bar"()>} }; say g.parse("hi"); | 18:54 | ||
camelia | rakudo-moar f2ffb9: OUTPUT«===SORRY!===Unrecognized regex metacharacter < (must be quoted to match literally)at /tmp/jk_KidFyEc:1------> foo {.}; rule bar {.}; rule TOP {<foo><.⏏"bar"()>} }; say g.parse("hi");Malformed regexat /t…» | ||
TimToady | m: grammar g { rule foo {.}; rule bar {.}; rule TOP {<foo><"bar">} }; say g.parse("hi"); | 18:55 | |
camelia | rakudo-moar f2ffb9: OUTPUT«===SORRY!===Unrecognized regex metacharacter < (must be quoted to match literally)at /tmp/S24QYniofJ:1------> foo {.}; rule bar {.}; rule TOP {<foo><⏏"bar">} }; say g.parse("hi");Malformed regexat /tmp…» | ||
18:55
Guest39179 left
|
|||
TimToady | std: grammar g { rule foo {.}; rule bar {.}; rule TOP {<foo><"bar">} }; say g.parse("hi"); | 18:55 | |
18:55
camelia left
|
|||
TimToady | darn it, where is camelia running? not host08, as far as I can tell... | 18:55 | |
[Coke] | she was on 08 for a while. not sure if moritz moved her when we started having issues with the jvm there. | 18:56 | |
18:56
tinyblak_ left,
camelia joined
18:57
tinyblak joined
|
|||
TimToady | n: grammar g { rule foo {.}; rule bar {.}; rule TOP {<foo><"bar">} }; say g.parse("hi"); | 18:57 | |
18:57
gfldex joined
|
|||
camelia | std : OUTPUT«Can't chdir to '/home/camelia/std/snap': No such file or directory at lib/EvalbotExecuter.pm line 166. EvalbotExecuter::_auto_execute(HASH(0x1c009c8), "grammar g { rule foo {.}; rule bar {.}; rule TOP {<foo><\"bar\""..., GLOB(0xa79da70), "/tmp/Jz0AMyF1fx", "std") cal…» | 18:57 | |
18:57
ChanServ sets mode: +v camelia
|
|||
camelia | niecza v24-109-g48a8de3: OUTPUT«===SORRY!===Unrecognized regex assertion at /tmp/17tubWGmyq line 1:------> foo {.}; rule bar {.}; rule TOP {<foo><⏏"bar">} }; say g.parse("hi");Parse failed» | 18:58 | |
FROGGS | TimToady: that's nine++'s machine | ||
TimToady | .seen nine | ||
yoleaux | I saw nine 17 Nov 2014 07:56Z in #perl6: <nine> The christmas before that ;) | ||
TimToady | nine++ for setting up camelia and ++nine for doing a search for /home/camelia in std's directory nad fixing it to the actual home dir | 19:00 | |
19:00
smls left
|
|||
TimToady | m: say %*ENV<HOME> | 19:00 | |
camelia | rakudo-moar f2ffb9: OUTPUT«/home/camelia» | ||
TimToady | well, maybe that's not the problem | 19:01 | |
maybe it just needs a mkdir /home/camelia/std/snap | |||
FROGGS | yeah, we had to do that on a feather recentlyish | ||
19:04
denis_boyun_ left
19:05
KCL_ left
19:06
denis_boyun joined
19:08
Guest39179 joined
|
|||
TimToady | hmm | 19:09 | |
FROGGS | I don't understand why that URI grammar parses how it parses... | 19:10 | |
19:11
anaeem1 left
|
|||
TimToady | was that the thing that | -> || fixed? | 19:12 | |
FROGGS | yes | ||
19:12
Mso150 joined
|
|||
FROGGS | I golf it down right now | 19:12 | |
TimToady | it's certainly possible there's a bug or two yet in the longlit | ||
FROGGS | TimToady: does the order in an | alternation matter? | 19:13 | |
because it does right now | |||
TimToady | it does if it gets to PEG rule 4 | ||
1 is LTM, 2 is longlit, 3 is derivation, 4 is order | 19:14 | ||
FROGGS | hmmmm | ||
TimToady | some of the issues I ran into earlier involved longlit stopping on a character class, so you can't parse both ? and ! in one expression, for instance, if you want to use longlit tiebreaking | 19:17 | |
of course, there's always the final tiebreaker, which is to fail to match the earlier rule and fail over to the later rule | 19:18 | ||
but it's nice to avoid the overhead when possible | |||
perltricks | hey all I'm trying to translate this p5 one liner and not getting the right result. Any suggestions please? | ||
FROGGS | ohh, now that's funny | ||
perltricks | perl -e 'print join ".", map { ((2130706433>>8*($_))&0xFF) } reverse 0..3' | ||
perl6 -e 'say join ".", map { ((2130706433+>8*($_))&0xFF) }, reverse 0..3' | |||
FROGGS | TimToady: I just need to comment this line: gist.github.com/FROGGS/ebfc9d5e903...il-pl6-L47 | ||
TimToady: ... to make it pick <URI> in line 39 | 19:19 | ||
PerlJam | perltricks: +& rather than just & | ||
19:19
Tekk_` joined
|
|||
perltricks | m:say join ".", map { ((2130706433+>8*($_))+&0xFF) }, reverse 0..3 | 19:20 | |
FROGGS | TimToady: putting the bars on the left do not help sadly | ||
perltricks | m: say join ".", map { ((2130706433+>8*($_))+&0xFF) }, reverse 0..3 | ||
camelia | rakudo-moar f2ffb9: OUTPUT«0.0.0.0» | ||
TimToady | the longlit for that line is just '//', since authority starts with a ? term | 19:21 | |
perltricks | Tekk_`: thanks! that's progress. It prints out 0.0.0.0 instead of 127.0.0.1 though | ||
TimToady | m: say join ".", map { ((2130706433+>(8*$_))+&0xFF) }, reverse 0..3 | 19:22 | |
camelia | rakudo-moar f2ffb9: OUTPUT«127.0.0.1» | ||
TimToady | precedence | ||
perltricks | TimToady: Ah yes, that's it. Thank you! | 19:23 | |
TimToady | seems like we could do better though | ||
Mouq | m: map {$_}, 3...0 # wtf | 19:24 | |
camelia | rakudo-moar f2ffb9: OUTPUT«Cannot call 'map'; none of these signatures match::(&code, *@values):(Whatever, Any \a):(&code, Whatever) in block <unit> at /tmp/SbCjmilju7:1» | ||
TimToady | precedence | ||
... is looser than , | |||
Mouq | Ahhhh | ||
19:25
guru joined,
guru is now known as Guest53462,
Guest53462 is now known as ajr_
|
|||
perltricks | I was wondering about that reverse. Because 3..0 doesn't do what I expected. But ... works. I can check the doccs for that one though | 19:27 | |
m: say join ".", map { ((2130706433+>(8*$_))+&0xFF) }, (3...0) | 19:28 | ||
camelia | rakudo-moar f2ffb9: OUTPUT«127.0.0.1» | ||
Mouq | perltricks: .. is just a Range, ... is a list generator | ||
perltricks | Mouq: got it, thanks | 19:29 | |
There's not pack/unpack routine in Perl 6 right? | |||
TimToady | there is, but it's incomplete | ||
m: say 2130706433.chr.encode("utf-32").decode("latin-1") | 19:31 | ||
camelia | rakudo-moar f2ffb9: OUTPUT«Unknown string encoding: 'utf32' in method encode at src/gen/m-CORE.setting:7116 in block <unit> at /tmp/rddjryPan2:1» | ||
TimToady | aww | ||
19:31
espadrine_ left
|
|||
Mouq | m: say @(pack "N", 2130706433).join(".") | 19:32 | |
camelia | rakudo-moar f2ffb9: OUTPUT«127.0.0.1» | ||
Mouq | m: say join ".", @(pack "N", 2130706433) | ||
camelia | rakudo-moar f2ffb9: OUTPUT«127.0.0.1» | ||
19:38
vendethiel joined,
kurahaupo left
19:39
Isp-sec joined
|
|||
flussence | m: say join q{.}, ([\+>] 2130706433, 0o10 xx 3).reverse »+&» 0xFF | 19:40 | |
camelia | rakudo-moar f2ffb9: OUTPUT«127.0.0.1» | ||
flussence | can't really golf it down as far as &pack :) | ||
19:43
kurahaupo joined
|
|||
Mouq | flussence: Well, tbh, I'm not really sure if that's how &pack is supposed to work or if that's just a convenient bug | 19:43 | |
flussence | m: say (pack "N", 2130706433) | 19:44 | |
camelia | rakudo-moar f2ffb9: OUTPUT«Buf:0x<7f 00 00 01>» | ||
flussence | ah, looks intentional... | ||
TimToady | we've talked about a repeating divmod from time to time | ||
19:46
darutoko left
|
|||
perltricks | hah, thanks all! | 19:52 | |
19:55
Sqirrel joined,
Zheglov left
|
|||
FROGGS | TimToady: that's what I had to do: github.com/FROGGS/uri/commit/8c9e2...700f62fdcd | 19:56 | |
TimToady: so even when the URI I am parsing does not touch the branches that start with '//', the literals make the entire token more important | 19:57 | ||
not only the branch they are in | |||
at least, that is what I think is going on | 19:58 | ||
20:00
ptc_p6 joined,
tinyblak_ joined
|
|||
[Coke] thanks the Perl 6 folks for, in general, being decent human beings. Thanks. :) | 20:00 | ||
PerlJam | Coke: that's a weird thing to be thanked for, but on behalf of my fellow humans ... you're welcome. :) | 20:03 | |
TimToady | where "decent" is generally defined as "pretending to be decent most of the time" :) | ||
20:04
tinyblak left
|
|||
flussence | I think simply being here has defused a lot of the bad habits I learned from the rest of the internet... :) | 20:04 | |
FROGGS | TimToady: that's the correct link now | 20:05 | |
TimToady | it wasn't before? | ||
it looks...immutable... | |||
FROGGS | -> github.com/FROGGS/uri/commit/7380a...96f68aa28d | 20:06 | |
-.- | |||
20:06
dwarring left
|
|||
FROGGS | seem like I forgot a | 20:06 | |
seems* | 20:07 | ||
-.- | |||
TimToady | hier_part still has '//' | ||
is that intentional? | |||
FROGGS | yes | ||
if I patch it the same I end up getting 'http:/' for a subparse | 20:08 | ||
TimToady | maybe there needs to be a $ or $$ in there somewhere | 20:09 | |
FROGGS | but my test is just: say IETF::RFC_Grammar::URI.subparse('example.com:80/about/us?foo#bar'); | 20:10 | |
TimToady | maybe I'll need to play with the grammar myself rather than cheering from the sidelines | 20:12 | |
FROGGS | m: grammar G { token TOP { <bar> | <foo> }; token foo { \w+ }; token bar { <foo> | aa } }; say G.subparse('bb') | 20:13 | |
camelia | rakudo-moar f2ffb9: OUTPUT«「bb」 bar => 「bb」 foo => 「bb」» | ||
FROGGS | is that correct? | ||
20:13
anaeem1 joined
|
|||
FROGGS | m: grammar G { token TOP { <foo> | <bar> }; token foo { \w+ }; token bar { <foo> | aa } }; say G.subparse('bb') | 20:13 | |
camelia | rakudo-moar f2ffb9: OUTPUT«「bb」 foo => 「bb」» | ||
TimToady | something seem a little off there | 20:14 | |
FROGGS | yeah, and that is what the URI problem boils down to I think | ||
20:15
denis_boyun left
|
|||
FROGGS | star-m: grammar G { token TOP { <bar> | <foo> }; token foo { \w+ }; token bar { <foo> | aa } }; say G.subparse('bb') | 20:15 | |
TimToady | okay, I'll poke at that one some later today, but first lunch, and maybe a nap, since I'm still recovering from my sniffle... | ||
camelia | star-m 2014.09: OUTPUT«「bb」 bar => 「bb」 foo => 「bb」» | ||
FROGGS | hmmm | 20:16 | |
colomon is trusting FROGGS++ | |||
FROGGS | /o\ | ||
TimToady | part of the problem may be that rakudo doesn't do fates quite as completely as STD does | ||
if a subrule has alternatives, it may be confusing them with each other in terms of fate, and the longlit info currently rides along with the fate | 20:17 | ||
STD kept the subfates distinct, but rakudo just relabels the top NFA with a new fate, so maybe we're losing info somewhere | 20:18 | ||
FROGGS | that's the point where I guess I have to nod, since I always have problems imagining that | 20:19 | |
TimToady | I thought I kept the longlit info distinct, but maybe not... | ||
anyway, that's a good one-liner test case | |||
or as far as I can tell, without mental nutrition... | 20:20 | ||
lunch & | |||
FROGGS | couch & | 20:21 | |
20:23
mj41 joined,
[Sno] left
|
|||
colomon just moved URI to perl6-community-modules | 20:26 | ||
FROGGS | colomon++ | ||
colomon | FROGGS++ # seems to work now | ||
FROGGS | nice | 20:28 | |
would be interesting to see what is left open from the some run | 20:29 | ||
20:30
espadrine_ joined
|
|||
moritz | was it grammar implementation bug, or an URI bug, or both? | 20:31 | |
FROGGS | feels like a grammar impl bug | 20:32 | |
20:35
mj41 left
|
|||
colomon | FROGGS: I can always fire off another smoke run if you're interested. takes about 30 minutes. | 20:35 | |
FROGGS | ohh yes | 20:37 | |
that'd be awesome :o) | |||
perltricks | ok y'all, just 1 one liner left to translate: "convert an ip address into an unsigned integer" github.com/sillymoose/Perl6-One-Liners | 20:43 | |
m: say join ",", @(unpack("N", "127.0.0.1") | 20:45 | ||
camelia | rakudo-moar f2ffb9: OUTPUT«===SORRY!=== Error while compiling /tmp/px6qoPnghIUnable to parse expression in contextualizer; couldn't find final ')' at /tmp/px6qoPnghI:1------> say join ",", @(unpack("N", "127.0.0.1")⏏<EOL> expecti…» | ||
perltricks | m: say join ",", @(unpack "N", "127.0.0.1") | ||
camelia | rakudo-moar f2ffb9: OUTPUT«===SORRY!=== Error while compiling /tmp/LBEbDqsbS3Undeclared routine: unpack used at line 1. Did you mean 'pack'?» | ||
Mouq | m: say buf8.new(+«"127.0.0.1".split(".")).unpack("N") | 20:49 | |
camelia | rakudo-moar f2ffb9: OUTPUT«2130706433» | ||
Mouq | m: say Buf.new(+«"127.0.0.1".split(".")).unpack("N") | ||
camelia | rakudo-moar f2ffb9: OUTPUT«2130706433» | ||
20:50
telex left
|
|||
japhb | What's perl6-community-modules (other than a github organization)? Meaning, why are modules moved there, and what are its rules? | 20:50 | |
TimToady | m: say :256["127.0.0.1".comb(/\d+/)] | ||
camelia | rakudo-moar f2ffb9: OUTPUT«2130706433» | ||
japhb | m: say +':256[127,0,0,1] | 20:51 | |
camelia | rakudo-moar f2ffb9: OUTPUT«===SORRY!=== Error while compiling /tmp/8MDks417fJUnable to parse expression in single quotes; couldn't find final "'" at /tmp/8MDks417fJ:1------> say +':256[127,0,0,1]⏏<EOL> expecting any of: …» | ||
japhb | m: say +':256[127,0,0,1]' | ||
camelia | rakudo-moar f2ffb9: OUTPUT«2130706433» | ||
20:52
telex joined
|
|||
japhb | Seriously though, is perl6-community-modules intended as a place to put modules you're relinquishing ownership of? Or just to make it easier to collaborate with other org members? Or something else? | 20:53 | |
flussence | I take it to mean "these seem high-profile enough to need a bus number > 1" | 20:54 | |
TimToady | well, but it can't mean just that; merely making the github repo available does that | ||
I take it to also have a component of "the original author doesn't mind a fork" | 20:55 | ||
20:55
spider-mario left
|
|||
TimToady | "so we'll just put it somewhere where everyone can neglect it" :P | 20:56 | |
japhb | :-/ | 20:57 | |
perltricks | Mouq: got it, thanks! | 20:59 | |
flussence | after poking through it I get an impression it's used for things where someone needed a fix more urgently than upstream was willing to apply it | 21:01 | |
TimToady | so temporary forks, then, for possibly permanent definitions of temporary | 21:02 | |
depending on the upstream | |||
21:03
kjs_ joined
|
|||
flussence | it's a fairly githubby way of doing the "distro patchset" thing that happens in the wider world, I guess. | 21:04 | |
21:04
Mso150 left
|
|||
japhb | Hmmm, who is a member? I appear to not be, so it's not the perl6 org | 21:04 | |
TimToady | m: say +":256[{'127.0.0.1'.subst(/\./,',')]" | 21:05 | |
camelia | rakudo-moar f2ffb9: OUTPUT«===SORRY!=== Error while compiling /tmp/5DwEQf6rqWUnable to parse expression in block; couldn't find final '}' at /tmp/5DwEQf6rqW:1------> say +":256[{'127.0.0.1'.subst(/\./,',')⏏]" expecting any of:…» | ||
TimToady | m: say +":256[{'127.0.0.1'.subst(/\./,',')}]" | ||
camelia | rakudo-moar f2ffb9: OUTPUT«Cannot convert string to number: malformed ':256' style radix number, expecting comma separated decimal values after opening '[' in ':256[127,0⏏.0.1]' (indicated by ⏏) in method gist at src/gen/m-CORE.setting:13756 in sub say at src/gen/m-CORE.…» | ||
TimToady | m: say +":256[{'127.0.0.1'.subst(:g,/\./,',')}]" | 21:06 | |
camelia | rakudo-moar f2ffb9: OUTPUT«2130706433» | ||
21:06
ptc_p6 left
21:07
ptc_p6 joined
|
|||
TimToady | though that one is ready-made for an injection attack | 21:07 | |
well, maybe not quite | 21:08 | ||
21:09
kaare_ left
21:10
Mso150 joined
21:15
ptc_p6 left
21:22
camelia left
21:23
Guest39179 left,
camelia joined
21:25
ChanServ sets mode: +v camelia,
rindolf left
21:29
itz_ joined,
itz left
21:32
lizmat joined
21:38
Mso150 left
|
|||
TimToady | hmm, no dalek | 21:38 | |
anyway, current nom says: | |||
> my @a = 1,2,3; say @a[*-5] | |||
Index [-2] is out of range; indices start at 0 for objects of type Array | |||
though the exception is still misnamed | 21:39 | ||
21:41
Mso150 joined
|
|||
FROGGS | sergot: ^^ | 21:42 | |
github.com/rakudo/rakudo/commit/b2...8c48d33a8a | 21:43 | ||
" deconfuse out-of-range index with obsolete syntax " | |||
21:44
kjs_ left
|
|||
FROGGS .oO( I can call you daddy, when you call me d-Al-ek ) | 21:44 | ||
ohh, was it actually betty? | |||
lizmat | does anybody have opinions about my idea of having ().end return Nil ? | 21:46 | |
m: ().end.say | 21:47 | ||
camelia | rakudo-moar f2ffb9: OUTPUT«-1» | ||
moritz | lizmat: IMHO that mixes types / categories a bit too much | ||
the typical thing would be to return an undef, so Int | |||
TimToady | it's just an out-of-range indiex, that's all | 21:48 | |
lizmat | ok, Int then... | ||
TimToady | no, it wants to be -1 | ||
it's just a logic error, and should blow up | |||
lizmat does a git stash drop | |||
japhb | .oO( Does a git stash drop? ) |
21:49 | |
Sometimes ... | |||
TimToady | Today, Tomorrow... | 21:50 | |
sorry, was free-associating with Who's on First | |||
21:50
travis-ci joined
|
|||
travis-ci | Rakudo build failed. TimToady 'deconfuse out-of-range index with obsolete syntax' | 21:50 | |
travis-ci.org/rakudo/rakudo/builds/41411943 github.com/rakudo/rakudo/compare/f...bf90cc2dc6 | |||
21:50
travis-ci left
|
|||
TimToady wonder why travis is failing | 21:50 | ||
*ders | |||
TimToady tries rebuilding without =master | 21:53 | ||
FROGGS | hmmm, do we need to bump versions again? | 21:54 | |
MAST/Ops.nqp is new IIRC | |||
hmmm, maybe not... | |||
lizmat | japhb: to clarify, I had some code in the stash for making ().end return Nil | 21:55 | |
I don't anymore :-) | |||
FROGGS | I think travis had just a hickup | 21:56 | |
vendethiel | flowtype.org/ wow, facebook adding yet another gradual types to a language | 21:57 | |
I guess it's so much better than TS and the likes. | |||
Also, guess if it works with their own JSX project. | |||
21:57
FROGGS left
22:00
virtualsue joined
|
|||
timotimo | i think we need a newer mvm version | 22:02 | |
a fresh rakudobrew is complaining that moarvm doesn't have close_fsh | |||
close_fhi* | |||
what. both my MoarVM and nqp are at master | 22:05 | ||
i'm confused. | 22:06 | ||
with a current rakudobrew i get "MoarVM op 'close_fhi' is unknown as a core or extension op" ?!? | 22:08 | ||
moar --version gives me 2014.10-60 | |||
TimToady | rebuilds fine without master | 22:10 | |
timotimo | i'm very confused | ||
22:10
perturbation joined
|
|||
ugexe | m: my @a; say @a[0;*-2]; | 22:14 | |
camelia | rakudo-moar f2ffb9: OUTPUT«» | ||
ugexe | m: my @a; say @a[0;-2]; | ||
camelia | rakudo-moar f2ffb9: OUTPUT«» | ||
22:15
Augustus joined
|
|||
ugexe | should 0;-2 throw the *-1 failure? | 22:16 | |
TimToady | never gets there, since 0 doesn't exist | ||
ugexe | yeah i understand why it does that | ||
TimToady | and we presume that by the time people have learned the multi-dim syntax, they've got the message on the need for * | 22:17 | |
it'll still blow up, just not till run time | 22:18 | ||
ugexe | trying to trace down the *-1 on an empty list and using random code to find my way through | ||
TimToady | can't make the compiler check everything, or it'll be even slower | ||
m: say ()[*-1] | |||
camelia | rakudo-moar f2ffb9: OUTPUT«Unsupported use of [-1] subscript to access from end of Parcel; in Perl 6 please use [*-1] in method gist at src/gen/m-CORE.setting:13756 in sub say at src/gen/m-CORE.setting:16487 in block <unit> at /tmp/ekaRoYodgt:1» | ||
TimToady | not updated yet | ||
it'll have a different message | |||
Index [-1] is out of range; indices start at 0 for objects of type Parcel | 22:19 | ||
of course, the GLR is getting rid of Parcel, so then it will say List | 22:20 | ||
Augustus | is there any documentation anywhere on %*LANG and how to make your own grammar/actions into a slang? | 22:21 | |
ugexe | ah, i thought there might be side effects someplace else with a Whatever getting turned into the wrong thing | ||
22:21
anaeem1 left
|
|||
TimToady | no, it's working as designed, just that 0-1 comes out to the value -1, which is out of range | 22:22 | |
japhb | TimToady: What's the status of the GLR? Is it paused right now, or is pmichaud working feverishly but locally? | 22:23 | |
TimToady | Augustus: not really, other than the things FROGGS++ has been working on, and reading related bits of the implementation in source | ||
and knowing how derived grammars work in general in Perl 6 | |||
slangs are just an application of that, fed back into the current language braid | 22:24 | ||
which Perl 6 parsers have been doing internally for years | |||
there's some stuff about slang syntax in the synopses that is not very implemented yet | 22:25 | ||
on the camelia std thing, it looks to me like the build.pl std in crontab is not successfully making a new snapshot for some reason, but I have no way to diagnose that remotely | 22:26 | ||
22:26
travis-ci joined
|
|||
travis-ci | Rakudo build failed. Elizabeth Mattijsen 'Fix whitespace' | 22:26 | |
travis-ci.org/rakudo/rakudo/builds/41416879 github.com/rakudo/rakudo/compare/b...d3d5038647 | |||
22:26
travis-ci left
|
|||
Augustus | slangs can be any arbitrary grammar, right? They don't need to derive from perl 6? | 22:26 | |
TimToady | right, it's up to the grammar you poke into the braid (represented in the parser by %*LANG) | 22:27 | |
Augustus | but if your actions don't generate AST appropriately, it's essentially going to 'run' at compile time, right? | ||
like you have to understand how P6 generates code for the VM | 22:28 | ||
but you generate AST and it will go through the same JIT etc that any other language would | |||
TimToady | well, we try to mediate all actions through NQP these days, which should be VM agnostic | 22:29 | |
there's very little VM-specific code left at that level | |||
Augustus | right | ||
TimToady | writing nqp is, however, something of an obscure art | 22:30 | |
Augustus | i mean that obviously your action methods get run at compile time essentially | ||
TimToady | yes, and the downstream is expecting QAST of some sort | ||
Augustus | and to actually have code written in your grammar result in something that ultimately gets executed at 'runtime' you generate AST | ||
and i'm guessing the only way to figure out how to generate appropriate AST (what does the Q stand for?) is to look at the rakudo source? | 22:31 | ||
TimToady | yes, you're now near enemy lines :) | 22:32 | |
Mouq | Augustus: I have a thing | ||
Augustus | Mouq: yes? | ||
Mouq | But essentially you've got the gist | ||
TimToady | and your battle plans will require reconnaissance | 22:33 | |
one nice thing is that as you're generaing QAST, there's always a .dump method | |||
22:34
ClarusCogitatio left
|
|||
Augustus | I will take your word on that, I haven't even gotten to the first thing about generating QAST, I figured I would have to browse the rakudo source but haven't yet | 22:35 | |
my goal is just to make a tiny, tiny toy language | |||
and be able to use Toy etc | |||
TimToady | m: nqp::say( (quasi { 1 + 2 }).dump ); # curious | 22:36 | |
camelia | rakudo-moar b2bf90: OUTPUT«No such method 'dump' for invocant of type 'AST' in block <unit> at /tmp/ec005m4JUa:1» | ||
TimToady | I guess AST is hiding the QAST inside somehow | ||
22:37
ClarusCogitatio joined
|
|||
Augustus | Do you know, is $*MAIN := 'Perl5'; the line that actually switches the current grammar? I'm poking in the v5 source trying to understand what's going on | 22:39 | |
22:44
Ugator left
|
|||
TimToady | doesn't seem quite right to me | 22:45 | |
maybe it's something v5 sets to talk to itself though | |||
Augustus | there's also some $*W.install_lexical_symbol calls | ||
but I don't know what $*W is | |||
raydiak | tuxic looks like it does it in a very similar way, though via nqp: github.com/FROGGS/p6-Slang-Tuxic/b...xic.pm#L32 | 22:46 | |
Augustus | ok, that appears to be setting the main langauge to be whatever the current main language is with Tuxic mixed in | 22:47 | |
just on a surface reading | |||
Mouq | Sorry, I was called away. This was written a little last minute and not quite worked on as much as I'd like mouq.github.io/slangs.html | 22:48 | |
raydiak | I assume b/c its a slight variation instead of an entirely separate language | ||
Augustus | yeah. Is $*MAIN as alias then for $*LANG<MAIN> ? | ||
Mouq | It was written as a paper in my English class | ||
Augustus: Nope | |||
lizmat | TimToady: re ().[-1] vs ().[*-1] | 22:49 | |
$ 6 'say ().[*-1]' | |||
Effective index [-1] is out of range for a Parcel of 0 elements (*-1) | |||
$ 6 'say ().[-1]' | |||
Unsupported use of [-1] subscript to access from end of Parcel; in Perl 6 please use [*-1] | |||
Mouq | That should probably be cleared up in the document.. but it's just the key of %*LANG that the current language is contained in | 22:50 | |
Augustus | Mouq: Tuxic appears to be binding to $*LANG<MAIN> while v5 is doing $*MAIN := xxxx; can you explain the difference? | ||
so $*LANG<MAIN> has no special significance, but $*MAIN tells which key in LANG to look at? | 22:51 | ||
woolfy | London Perl Workshop videos are online now. Like this one by Stefan Seifert: www.youtube.com/watch?v=JZD2Diw1Tb...p;index=27 | ||
Mouq | %*LANG<MAIN> === Perl6::Grammar, %*LANG{$*MAIN} === {Current slang} | 22:52 | |
The name is probably sub-optimal from a user-facing perspective | |||
Augustus | ahh, ok $*LANG<MAIN> is *always* p6 | ||
so when writing p6 code, $*MAIN will == "MAIN" | |||
also, I see these modules make this changes inside the export function, but I see no explicit cleanup or rollback. I take it there's an implicit mechanism which will rollback when a block ends? | 22:55 | ||
22:55
Isp-sec left
|
|||
Mouq | Well, only in the parser -- it can't normally be accessed. But `my $r #`["MAIN"] = q[[ #`["Q"] ]] ~~ rx/ ^ #`["Regex"] / | 22:56 | |
Mouq has to go | |||
22:56
Mouq left
|
|||
lizmat just committed github.com/rakudo/rakudo/commit/2d...3e28a86d1f and github.com/rakudo/rakudo/commit/93...faa1b41b2c | 22:59 | ||
23:00
treehug88 left
|
|||
perturbation | hi all - just downloaded/built rakudo from github and I have a dumb question. Are Parrot/MoarVM independent backends, or is there a dependency/hierarchy there? | 23:01 | |
lizmat | they're completely independent | ||
parrot was only used to bootstrap MoarVM (afaik) | 23:02 | ||
sorry, NQP on MoarVM I should say | |||
Augustus | when you configure you can tell it what backends you want, and I noticed you no longer have to build parrot | 23:03 | |
my memory says it used to be required at some point | |||
lizmat | indeed | ||
but no moer | |||
more | |||
perturbation | hmm... will parrot continue to be a supported backend or is it being phased out? | ||
lizmat | good question... | ||
Augustus | my understanding is some people still work on it, but it hasn't been even close feature wise for a long time | 23:04 | |
lizmat | yup, nor performance wise | ||
Augustus | JIT doesn't work at all on parrot right? | ||
lizmat | so one could argue that parrot is there for historical reasons only | ||
perturbation | gotcha - I'll check out some of the tutorials/rosetta code to get started | 23:05 | |
lizmat | there's a JIT in MoarVM, and the JVM has a JIT: parrot does not | ||
perturbation | I was just wondering since I didn't really understand what was connected to what | ||
23:05
perltricks left
|
|||
lizmat | the only connection between the backends is really NQP | 23:06 | |
if you want a new backend for Rakudo Perl 6, you need to create a backend for NQP | |||
Augustus | it is confusing since google will often show results that are 5 or 10 years old :( | ||
lizmat | the rest should more or less follow automagically | ||
japhb | Once long ago, parrot had the beginnings of a JIT, but it was unmaintained and broken, so the #parrot folks voted to remove it in the hopes of replacing with something better and less broken. That did not come to pass. | ||
Augustus | parrot is still to this day based on PIR? | 23:07 | |
lizmat | yes | ||
23:07
bronco_creek joined
|
|||
lizmat | (afaik) :-) | 23:07 | |
m: ().[*-1] | |||
camelia | rakudo-moar b2bf90: OUTPUT«Unhandled exception: Index [-1] is out of range; indices start at 0 for objects of type Parcel at <unknown>:1 (/home/camelia/rakudo-inst-2/languages/perl6/runtime/CORE.setting.moarvm:throw:4294967295) from src/gen/m-CORE.setting:13764 (/home/came…» | ||
lizmat | that message will change again | ||
Augustus | but MOAR has some fundamentally different take on bytecode; not sure exactly what's different in terms of philosophy | ||
lizmat | check moarvm.org, I would say :-) | 23:08 | |
bronco_creek | Hi. I'm trying to use panda to install JSON::Path with my 2014/9 rakudo* on moarvm. It's failing a test. Any advice? | 23:09 | |
23:10
travis-ci joined
|
|||
travis-ci | Rakudo build failed. Elizabeth Mattijsen 'Make difference between [-1] and [*-1] | 23:10 | |
travis-ci.org/rakudo/rakudo/builds/41421513 github.com/rakudo/rakudo/compare/4...c2b4c4e16d | |||
23:10
travis-ci left,
denis_boyun_ joined
23:17
ajr_ left
23:21
denis_boyun_ left
23:22
rurban joined
23:24
virtualsue left
23:26
Mso150 left
23:27
Mso150 joined
|
|||
raydiak | bronco_creek: I can at least confirm the failure...embedding perl code in the path doesn't seem to work properly, but if you don't care about that, installing via 'panda --notests' may still work for your purposes | 23:29 | |
lizmat | sleep& | ||
bronco_creek | raydiak: thanks | ||
raydiak | good night lizmat | ||
23:30
ClarusCogitatio left
|
|||
bronco_creek | radiak: Should I use yoleaux or something to alert jnthn? I'm not bot savvy. | 23:31 | |
23:31
Ugator joined,
ClarusCogitatio joined
|
|||
raydiak | bronco_creek: if you wanted to, you can ".tell jnthn something" | 23:31 | |
a bug on the github repo might do it too, but sometimes the busier ones of us don't notice the github notifications | 23:32 | ||
bronco_creek | .tell jnthn When I try to use panda to install JSON::Path with my 2014/9 rakudo* on moarvm it fails a test. | 23:36 | |
yoleaux | bronco_creek: I'll pass your message to jnthn. | ||
23:37
ClarusCogitatio left
|
|||
bronco_creek | radiak: Thanks again. Bye for now. | 23:38 | |
raydiak | bronco_creek: you're welcome! good luck | ||
23:38
ClarusCogitatio joined
23:39
bronco_creek left
23:41
Mso150_g joined,
Mso150 left
23:43
ClarusCogitatio left
23:45
ClarusCogitatio joined
23:58
chenryn joined
|