»ö« 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:04
virtualsue left,
virtualsue joined
00:19
jnap1 joined,
jnap left
00:21
araujo left
00:33
LLamaRider left
00:35
virtualsue left
00:42
andreaa joined
00:51
andreaa left
00:57
kurahaupo left,
thou left
|
|||
dalek | ast: 29f36af | (David Warring [email@hidden.address] | integration/advent2012-day23.t: adding advent 2012 day 23 |
00:58 | |
01:02
FROGGS_ joined
01:06
Sqirrel left,
FROGGS left
01:16
colomon left
01:21
colomon joined
01:23
Sqirrel joined
|
|||
raiph | m: grammar G { rule TOP { <a> }; rule a { <b> }; rule b { <c> }; rule c { $<d>=x } }; G.parse('x'); say $<a><b><c> | 01:27 | |
camelia | rakudo-moar fd5f8e: OUTPUT«「x」 d => 「x」» | ||
BenGoldberg | m: grammar G { rule TOP { <a> }; rule a { <b> }; rule b { <c> }; rule c { $<d>=x } }; G.parse('x'); say $<a><b><c><d> | 01:29 | |
camelia | rakudo-moar fd5f8e: OUTPUT«「x」» | ||
raiph | That was a ww -- I meant that to be private | 01:31 | |
Fwiw I'm looking for a nice and brief way to create a less nested parse tree, short of using actions/make | 01:32 | ||
01:36
jnap joined,
jnap1 left
01:47
klapperl_ joined
01:50
klapperl left
01:51
Su-Shee_ joined
01:54
Su-Shee left
01:59
donaldh left,
donaldh_ joined
02:00
donaldh_ is now known as donaldh
02:01
thou joined
02:06
thou left
02:14
hoverboard joined
02:18
plobsing joined
02:20
donaldh left
02:21
jnap left
02:24
donaldh joined,
pdurbin left
02:32
Alina-malina left
02:33
xragnar left
02:34
Alina-malina joined,
xragnar joined
02:35
rurban joined
02:51
hoverboard left,
jnap joined
02:55
jnap left
03:14
hoverboard joined
03:34
bjz joined
03:52
jnap joined
03:56
jnap left
04:01
firnsy joined
04:05
xenoterracide_ joined
|
|||
lue | r: say "aa" ~~ /a ** 2/; say "aa" ~~ /<{"a ** 2"}>/; # huh | 04:06 | |
camelia | rakudo-jvm fd5f8e: OUTPUT«Unhandled exception: java.lang.RuntimeException: Missing or wrong version of dependency 'src/Perl6/Grammar.nqp' in (gen/jvm/main.nqp)» | ||
..rakudo-{parrot,moar} fd5f8e: OUTPUT«「aa」===SORRY!=== Error while compiling eval_0Quantifier quantifies nothingat eval_0:1------> anon regex { ^a\c[32]**⏏\c[32]2} expecting any of: scoped declarator n…» | |||
04:08
hoverboard left,
donk joined
04:09
SamuraiJack_ joined
04:15
isacloud__ left,
ggherdov_ left
04:30
Psyche^_ joined
04:34
Psyche^ left
04:35
pnu joined
04:37
isacloud__ joined
04:38
clkaoud joined
04:40
ggherdov_ joined,
SamuraiJack__ joined,
SamuraiJack_ left
04:52
lue left
04:53
jnap joined,
xinming_ left
04:54
xinming_ joined
04:58
jnap left
05:04
lue joined
05:14
xenoterracide_ left
05:19
kurahaupo joined
05:25
xenoterracide joined
05:36
BenGoldberg left
05:44
SamuraiJack__ left
05:52
logie left
05:54
jnap joined
05:55
kurahaupo left
05:57
dwarring left
05:58
jnap left
06:01
xenoterracide left
|
|||
moritz | \o | 06:29 | |
raiph | hi moritz | 06:30 | |
06:31
kaare_ joined,
rurban left
06:32
dmol joined
|
|||
Woodi_ | hallo everyone :) | 06:35 | |
raiph | hi woodi | 06:36 | |
Woodi_ | when I install nqp on moarvm it will install into some /*/*/nqp-201404 prefix or into moar like on parrot ? | ||
06:51
anaeem1 joined
|
|||
FROGGS_ | Woodi_: the binary is in the same directory where nqp-p is | 06:52 | |
modules will go into a different path, but still under prefix of course | 06:53 | ||
Woodi_ | but I'm asking about nqp itself :) is nqp on moar installed into sone lib/ in moar prefix (like on parrot) ? | 06:54 | |
06:54
jnap joined
06:55
molaf joined
|
|||
Woodi_ | ls -r moar-prefix|grep nqp shows something ? | 06:55 | |
hmm, grep -r works better... | 06:56 | ||
06:59
jnap left
|
|||
Woodi_ | just testing star-rc and do not want to mess with reinstalling things with bad prefixess... | 06:59 | |
another way: do nqp using moar is full software-package-like with it *own* prefix or it is installed into moar guts ? | 07:01 | ||
07:10
darutoko joined
|
|||
FROGGS_ | Woodi_: everything (nqp on every backend, perl6 on every backend, all libs and modules) are installed under --prefix | 07:25 | |
07:25
thou joined
07:26
rindolf joined
|
|||
FROGGS_ | which defaults to 'install' | 07:26 | |
so, it will be in rakudo-star-2014.04/install for example, or just rakudo/install if you cloned the compiler only | 07:27 | ||
07:27
Ven joined
|
|||
FROGGS_ | moritz / jnthn: this could mention moar/jvm as well, right? gist.github.com/FROGGS/85fa321b585cf3c7df05 | 07:28 | |
Woodi_ | grrr... developers... | 07:30 | |
07:30
thou left
|
|||
Woodi_ | thanx FROGGS++ :) | 07:30 | |
FROGGS_ | :o) | 07:31 | |
07:31
anaeem1 left
07:32
rurban joined
07:36
anaeem1 joined,
rurban left
07:38
anaeem1 left
07:39
anaeem1 joined
|
|||
moritz | FROGGS_: aye, it should | 07:40 | |
07:43
anaeem1 left
07:46
denis_boyun_ joined
|
|||
Woodi_ | rakudo from star201404-rc cannot find "clean" make target after configure | 07:48 | |
FROGGS_ | Woodi_: you can just continue, I need to figure out where that comes from | 07:52 | |
07:57
mathw_ joined
08:04
ilbot3 left,
bjz left,
colomon left,
djanatyn left,
Woodi_ left,
Maddingue left,
bowtie left,
daxim left,
qzx left,
broquaint left,
salv0 left,
yoleaux left,
woolfy left,
sivoais left,
vendethiel left,
[Coke] left,
synopsebot left,
pochi left,
xinming_ left,
Psyche^_ left,
vaskozl left,
ggoebel111113 left,
silug____ left,
sftp left,
cooper left,
PZt left,
ivan`` left,
erdic left,
yogan_ left
08:06
ilbot3 joined,
bjz joined,
colomon joined,
djanatyn joined,
Woodi_ joined,
Maddingue joined,
bowtie joined,
daxim joined,
qzx joined,
broquaint joined,
salv0 joined,
yoleaux joined,
woolfy joined,
sivoais joined,
vendethiel joined,
[Coke] joined,
synopsebot joined,
pochi joined,
zamolxes joined,
sjohnson joined,
askz joined,
crazedpsyc joined,
simcop2387 joined,
leguin.freenode.net sets mode: +v yoleaux
|
|||
masak | mornin', #perl6 | 08:07 | |
08:08
bbkr joined
|
|||
masak | pm: say "aa" ~~ /a ** 2/; say "aa" ~~ /<{"a ** 2"}>/; # huh | 08:08 | |
m: say "aa" ~~ /a ** 2/; say "aa" ~~ /<{"a ** 2"}>/; # huh | 08:09 | ||
camelia | rakudo-moar fd5f8e: OUTPUT«「aa」===SORRY!=== Error while compiling eval_0Quantifier quantifies nothingat eval_0:1------> anon regex { ^a\c[32]**⏏\c[32]2} expecting any of: scoped declarator new name t…» | ||
masak | p: say "aa" ~~ /a ** 2/; say "aa" ~~ /<{"a ** 2"}>/; # huh | ||
camelia | rakudo-parrot fd5f8e: OUTPUT«「aa」===SORRY!=== Error while compiling eval_0Quantifier quantifies nothingat eval_0:1------> anon regex { ^a\c[32]**⏏\c[32]2} expecting any of: scoped declarator new name…» | ||
masak | lue: has that one been submitted as a rakudobug? | ||
bbkr | FROGGS_: thanks for JSON::RPC patch, merged | ||
FROGGS_ | bbkr: cool! :D | ||
08:10
kaare_ left
08:11
camelia joined,
atrodo joined,
xinming_ joined,
Psyche^_ joined,
vaskozl joined,
ggoebel111113 joined,
silug____ joined,
sftp joined,
cooper joined,
PZt joined,
ivan`` joined,
erdic joined,
yogan_ joined,
tokuhirom joined,
risou joined,
sorear joined,
TimToady joined
|
|||
timotimo | hello from a breakfast table | 08:12 | |
08:12
telex left,
ivan`` left,
ivan`` joined
08:14
telex joined
|
|||
FROGGS_ | hi timotimo | 08:14 | |
08:15
donk left
08:16
xinming_ is now known as xinming
|
|||
timotimo | t.h8.lv/p6bench/2014-05-03-return_types.html - here we can see the effect of only the commit that adds return type annotations to the moar ops | 08:23 | |
18b is without, 941 is with | |||
the difference is not very visible, but i bet it does something in cases not covered by the benchmarks | 08:25 | ||
08:31
rurban joined
08:33
raiph left
08:36
rurban left
|
|||
Ven | timotimo: why only one nqp | 08:39 | |
? | |||
masak | timotimo: it's visible in "hello". | ||
timotimo: and something interesting seems to have happened in "while_push_join" | 08:40 | ||
though now that I look at it, it seems mostly chaotic for such small values, so maybe it's just noise. | 08:41 | ||
FROGGS_ | moritz: this is what I did about Configure.pl: gist.github.com/FROGGS/e21a91a1c76614be34eb | 08:43 | |
dalek | kudo/nom: ee95a0e | (Tobias Leich)++ | tools/lib/NQP/Configure.pm: tools: only set $impl{config} when it is trueish Otherwise we pass a ref of an empty hash around, wich will be treated truesh later. |
08:46 | |
kudo/nom: 364dfb1 | (Tobias Leich)++ | Configure.pl: more guidance to build rakudo It shows examples what option can be passes, and it also mentiones other backends than Parrot when someone tried to build for several backends but did not supply the right flags. |
|||
FROGGS_ | this needs to applied to star, but I am afk for an hour now, will do it then if nobody beats me to | 08:47 | |
08:53
bbkr left
08:56
jnap joined
09:01
jnap left
09:05
SamuraiJack__ joined
09:14
thou joined
|
|||
Ulti | does .parsefile at any point slurp? | 09:17 | |
or does it parse as it goes | 09:18 | ||
Ulti uses the source | |||
like a good nerdi | |||
09:18
thou left
|
|||
Ulti | I guess this 100GB file would also answer my question :3 | 09:18 | |
also jnthn++ for this PDF from 2010 I just stumbled over "Perl 6: For Little Tools and Big Applications" | 09:19 | ||
dalek | ast: 1f3785d | (Elizabeth Mattijsen)++ | S17-supply/watch_path.t: Make watch_path tests a little less fragile |
09:20 | |
09:21
spider-mario joined
|
|||
Ulti | naaw $fh.slurp | 09:21 | |
trying to think of a way to do a nice reactive style parse as you go way of using grammars, the problem is you kind of already assume some level of "chunking" of the data to break up the file | 09:22 | ||
can you get from a grammar what its first and last match states are? | |||
*parse-as-you-go | |||
guess I could do it by having some required tokens in the grammar | 09:26 | ||
09:27
SamuraiJack__ left
|
|||
timotimo | masak: i have *no* idea where that weird ramp comes from :( | 09:29 | |
jnthn | m: morning; sub morning() is pure { }; | ||
camelia | rakudo-moar fd5f8e: OUTPUT«WARNINGS:Useless use of "morning" in expression "morning" in sink context (line 1)» | ||
7F1AAEDN9 | rakudo-moar fd5f8e: OUTPUT«WARNINGS:Useless use of "morning" in expression "morning" in sink context (line 1)» | ||
jnthn | good...nearly-afternoon, #perl6 :) | ||
nwc10 | near UGT heresy safely averted | 09:30 | |
09:32
rurban joined
|
|||
timotimo | masak: the only things i can think of are: the previous test ran until all memory was exhausted and the time measurement script choked on it; or subtracting the measured startup time resulted in a bogus value | 09:32 | |
masak | timotimo: I remember a really illuminating course at uni about en.wikipedia.org/wiki/Design_of_experiments -- maybe there is something from that field that can be applied to making less biased benchmarks? | 09:36 | |
09:36
rurban left
|
|||
Ulti | with a grammar is there a way to get at the rules/tokens it uses as if they were methods or even some Regex attribute? | 09:36 | |
timotimo | there is a lot that could be improved upon i'm sure | 09:37 | |
dalek | kudo/nom: f280165 | (Elizabeth Mattijsen)++ | src/core/Supply.pm: Make Supply methods picker about what to accept Specifically as to being called as a class or instance method. |
09:40 | |
lizmat | Ulti: far from being a grammar specialist, but they way I understand things, grammars are just a special type of class | 09:41 | |
rules and tokens are really just methods internally | |||
09:41
Su-Shee_ is now known as Su-Shee
|
|||
lizmat | so I'd figure the standard introspection methods should work :-) | 09:41 | |
09:41
virtualsue joined
|
|||
jnthn | What lizmat said is true | 09:41 | |
github.com/rakudo/rakudo/blob/nom/...marHOW.nqp shows it pretty nicely too | 09:42 | ||
Ulti | hmm I get ye olde Cannot look up attributes in a type object | ||
reading | 09:43 | ||
jnthn | The terse code in that link basically means "gramamrs are classes but with a different default parent" :) | ||
r: grammar G { token t { abc } }; say G.^methods | |||
7F1AAEDN9 | rakudo-moar fd5f8e: OUTPUT«No such method 'gist' for invocant of type 'NQPRoutine' in method gist at src/gen/m-CORE.setting:7192 in sub say at src/gen/m-CORE.setting:13601 in block at /tmp/tmpfile:1» | ||
camelia | rakudo-moar fd5f8e: OUTPUT«No such method 'gist' for invocant of type 'NQPRoutine' in method gist at src/gen/m-CORE.setting:7192 in sub say at src/gen/m-CORE.setting:13601 in block at /tmp/tmpfile:1» | ||
..rakudo-parrot fd5f8e: OUTPUT«No such method 'gist' for invocant of type 'NQPRoutine' in method gist at gen/parrot/CORE.setting:7139 in method gist at gen/parrot/CORE.setting:1056 in sub say at gen/parrot/CORE.setting:13588 in block at /tmp/tmpfile:1» | |||
7F1AAEDN9 | ..rakudo-jvm fd5f8e: OUTPUT«Rebuild in progress» | ||
..rakudo-parrot fd5f8e: OUTPUT«No such method 'gist' for invocant of type 'NQPRoutine' in method gist at gen/parrot/CORE.setting:7139 in method gist at gen/parrot/CORE.setting:1056 in sub say at gen/parrot/CORE.setting:13588 in block at /tmp/tmpfile:1» | |||
camelia | ..rakudo-jvm fd5f8e: OUTPUT«Unhandled exception: Failed to load config.properties in (gen/jvm/stage2/NQPHLL.nqp:8) in (gen/jvm/stage2/NQPHLL.nqp:8) in (gen/jvm/stage2/NQPHLL.nqp) in (src/vm/jvm/ModuleLoader.nqp:78) in load_module (src/vm/jvm/ModuleLoader.nqp:60…» | ||
jnthn | ugh | 09:44 | |
r: grammar G { token t { abc } }; say G.^methods(:local) | |||
7F1AAEDN9 | rakudo-{parrot,moar} fd5f8e: OUTPUT«t» | ||
..rakudo-jvm fd5f8e: OUTPUT«Unhandled exception: Failed to load config.properties in (gen/jvm/stage2/NQPHLL.nqp:8) in (gen/jvm/stage2/NQPHLL.nqp:8) in (gen/jvm/stage2/NQPHLL.nqp) in (src/vm/jvm/ModuleLoader.nqp:78) in load_module (src/vm/jvm/ModuleLoader.nqp:60…» | |||
camelia | rakudo-{parrot,moar} fd5f8e: OUTPUT«t» | ||
..rakudo-jvm fd5f8e: OUTPUT«Unhandled exception: Failed to load config.properties in (gen/jvm/stage2/NQPHLL.nqp:8) in (gen/jvm/stage2/NQPHLL.nqp:8) in (gen/jvm/stage2/NQPHLL.nqp) in (src/vm/jvm/ModuleLoader.nqp:78) in load_module (src/vm/jvm/ModuleLoader.nqp:60…» | |||
jnthn | Why do we have a camelia and an imposter evalbot? | ||
Ulti | yeah weird I can see they exist but I cannot call them | ||
jnthn | You can only call them on an initialized cursor | 09:45 | |
Ulti | yeah I saw from the Grammar source code in subparse | ||
jnthn | Note you can pass subparse a rule argument, with the thing you looked up. | 09:46 | |
Doesn't just have to be a name. | |||
09:47
ChanServ sets mode: +o masak,
7F1AAEDN9 was kicked by masak (7F1AAEDN9)),
ChanServ sets mode: -o masak
|
|||
masak | general notice: if you want your 7F1AAEDN9, please contact reception. thank you. | 09:48 | |
09:56
bbkr joined
09:57
jnap joined
|
|||
lizmat attempts to grok masak's public service announcement, but fails | 10:00 | ||
10:01
jnap left,
bbkr left
10:07
virtualsue left
|
|||
dalek | ast: 5cf307b | (Elizabeth Mattijsen)++ | S17-supply/ (20 files): Add tests for getting called as class method And some general cleanup, e.g. only use lib when needed |
10:11 | |
jnthn | lizmat++ # tirelessly supplying tests | 10:13 | |
10:20
virtualsue joined
|
|||
lizmat | it's the only way to catch the obvious errors before it gets out more in the wild :-) | 10:20 | |
dalek | ast: 1d58cad | (Elizabeth Mattijsen)++ | S17-supply/watch_path.t: Make watch_path even more robust During spectest probably other scripts were writing files in the same directory interfering with the test. We now only look for "our" file to begin with. |
10:27 | |
lizmat | afk for a while | ||
10:34
rurban joined
|
|||
FROGGS_ | m: say 1 | 10:35 | |
camelia | rakudo-moar fd5f8e: OUTPUT«1» | ||
jnthn | FROGGS_: Did you have a doc patch you wanted to sneak into r* 2014.04? | 10:36 | |
FROGGS_ | jnthn: yes | 10:37 | |
will do that in ~30min if that is okay | |||
jnthn | wfm | ||
10:38
rurban left
10:41
Ven left
|
|||
timotimo | yay for docs | 10:47 | |
FROGGS_ | it is about configure's output, see my latest rakudo commit | 10:48 | |
10:48
SamuraiJack__ joined
|
|||
timotimo | ah, very good | 10:49 | |
masak: i haad considered running all the benchmarks in a randomized order | 10:52 | ||
maybe that could help ease the noise, if they are run more often as well | 10:53 | ||
10:53
virtualsue left
10:55
sqirrel_ joined
|
|||
masak | timotimo: glad you liked it :) | 10:57 | |
10:57
jnap joined
|
|||
timotimo | it would be nice if we could have more benchmarks with a bit more code than just a single loop or two nested loops. | 10:58 | |
jnthn | That's what forestfire and so forth are about, no? | 10:59 | |
But yes, more of those would be great. | |||
timotimo | yes | ||
exactly | |||
just for fun i'm going to build a very old rakudo-parrot and pit it against a current rakudo-parrot and rakudo-moarvm | 11:00 | ||
because at least the benchmarks are somewhat stable | |||
i think the only thing that's changed since then that would impact the benchmarks strongly would be bless(*,...) for forest fire | 11:01 | ||
11:02
jnap left
|
|||
jnthn | I don't think that bless call is on a hot path anyway. | 11:02 | |
11:02
thou joined
|
|||
timotimo | aye | 11:02 | |
heh. i had to remove --backends= :) | 11:06 | ||
11:06
thou left
|
|||
timotimo | good old times :) | 11:07 | |
things were simpler back then | |||
chenryn | modules.perl6.org is down? | 11:10 | |
timotimo | not for me | ||
what do you need in particular? | |||
jnthn can reach it too | 11:11 | ||
11:11
SamuraiJack__ left
11:18
kurahaupo joined
11:19
virtualsue joined
|
|||
FROGGS_ | same for me, modules.perl6.org is working | 11:21 | |
chenryn | well, reach it through VPN now. | 11:23 | |
dalek | ar: 1f7afaa | (Tobias Leich)++ | tools/lib/NQP/Configure.pm: tools: only set $impl{config} when it is trueish Otherwise we pass a ref of an empty hash around, wich will be treated truesh later. |
11:25 | |
11:26
virtualsue left
|
|||
moritz | do we have any modules for reading exif data from images? | 11:27 | |
timotimo | why doesn't taglib::simple support exif? :) | 11:30 | |
11:38
sqirrel_ left
|
|||
moritz solves his problem by shelling out to the exif command line tool | 11:46 | ||
dalek | ar: 5bbf9d6 | (Tobias Leich)++ | Configure.pl: more guidance to build rakudo It shows examples what option can be passes, and it also mentiones other backends than Parrot when someone tried to build for several backends but did not supply the right flags. |
11:47 | |
FROGGS_ | jnthn: done | ||
bbiab # lunch | |||
11:48
berekuk joined
11:49
berekuk left
11:57
Alina-malina left
11:58
jnap joined
12:03
jnap left
12:08
Woodi_ is now known as Woodi
|
|||
timotimo | t.h8.lv/p6bench/2014-05-03-almost_a_year.html - waiting almost a year for performance improvements in parrot was not worth as much as switching to moarvm (flamebait) | 12:28 | |
12:30
xenoterracide joined
|
|||
timotimo | i'm going to re-run the moar timings with --runs=10, that ought to get rid of the wrongness! >:( | 12:30 | |
nwc10 | what's the wrongness? | 12:35 | |
12:35
rurban joined
12:37
araujo joined,
araujo left,
araujo joined
|
|||
timotimo | look at postwhile_nil for example | 12:38 | |
12:39
rindolf left,
rurban left
12:43
araujo left
|
|||
nwc10 | ah. also, is there a significance to the vintage of parrot you chose? | 12:45 | |
12:48
thou joined,
araujo joined
|
|||
timotimo | just "middle of the year" | 12:51 | |
12:59
jnap joined
|
|||
FROGGS_ | java.lang.RuntimeException: java.lang.NegativeArraySizeException :/ | 13:02 | |
13:03
jnap left
13:10
rindolf joined
|
|||
FROGGS_ | has someone knowledge about jvm? do I need to add astore/aload calls there? gist.github.com/FROGGS/5ee16f5619aed3003258 | 13:11 | |
only the "if $label {" branch is questionable | 13:12 | ||
jnthn | # Create a new exception object | 13:15 | |
$il.append(JAST::Instruction.new( :op('invokestatic'), $TYPE_OPS, | |||
'newexception', 'SixModelObject', 'Void', $TYPE_TC )); | |||
I don't see you passing the thread context onto the stack before this. | |||
FROGGS_ | ahh, aload cf ? | ||
jnthn | aload tc, I guess | 13:16 | |
FROGGS_ | cf is callframe? | ||
jnthn | right | ||
FROGGS_ | after newexception was called the exception object is on the stack, right? and that means it will be passed as first arg to the next call? | 13:21 | |
jnthn | Should do | 13:22 | |
Note you forgot to push tc there too | |||
FROGGS_ | yes | 13:23 | |
13:23
thou left
|
|||
FROGGS_ | updated: gist.github.com/FROGGS/5ee16f5619aed3003258 | 13:23 | |
though, it is missing in the throwcatdyn_c (else) case too, no? I did not touch this one | 13:24 | ||
or does 'savesite' it for me? | |||
hmm, no, savesite does not seem to do that | 13:25 | ||
Ulti | so getting input-line-separator into readlinefh looks like it goes all the way down to each VM? | 13:26 | |
FROGGS_ | I think so, yes | ||
13:29
thou joined
13:31
sqirrel_ joined
|
|||
timotimo | kind of has to, no? | 13:32 | |
unless we want to implement readline by doing single byte reads | |||
Ulti | yeah I mean more the changes required to make it happen go all the way down to changing implementation everywhere | ||
like NQP doesn't take a parameter which is defaulting to "\n" for the op | 13:33 | ||
I noticed sockets do have this though | |||
timotimo how is the readline done at the moment? | 13:34 | ||
it has to be checking for a character somewhere | |||
also the spec suggests you can even pass in a regex... | |||
which is a much bigger change | |||
13:34
bbkr joined
|
|||
timotimo | mhm | 13:35 | |
jnthn | urgh | 13:36 | |
Passing in a regex for that is completely incompatible with this stuff performing decently. | |||
timotimo | yes, but we can easily special-case that | 13:37 | |
jnthn | "easily" | ||
timotimo | we wouldn't use / \n / as the default and make the rest use that object :P | ||
FROGGS_ | "hehe" :P | ||
Ulti | how much slower is the Rakudo level .read | ||
jnthn | Remember that DecodeStream is doing hard stuff that you really do not want to replicate | 13:38 | |
Like, dealing with the sitaution where two chunks we get from IO have multi-byte chars spread over them. | |||
Before claiming it's easy, I suggest y'all read decodestream.c :) | 13:39 | ||
timotimo | you mean we can't rely on decodestream.c's work? | ||
13:40
chenryn left
|
|||
jnthn | Well, you can rely on it if you use it :P | 13:40 | |
13:41
chenryn joined
|
|||
jnthn | Doing a .read of bytes is side-stepping it, though. | 13:41 | |
It just gives you the raw bytes. | |||
We really could do with exposing decodestream at Perl 6 level | 13:42 | ||
timotimo | oh, of course | ||
jnthn | But even then I don't quite know how on earth we'd handle the regex case. | ||
13:43
bbkr left
|
|||
jnthn | It sounds like one of those things that was put into the spec without considering how I/O works 'cus it sounded like a nice idea... | 13:43 | |
nwc10 | regex for what? | ||
timotimo | right; if you're reading one byte, you perhaps have to go back to the beginning | ||
Ulti | I think a simpler substring match case would be good too, and you probably want that to be a faster implementation | ||
jnthn | nwc10: Line separator when donig I/O | ||
nwc10 | oh *That* | ||
Ulti | rather than just a special case of the Regex version | ||
nwc10 | the thing awk can do | ||
Ulti | and Perl5 | 13:44 | |
nwc10 | we've thought a lot about this in Perl 5 land, because it keeps sort of being wanted | ||
I'm not sure what the state is | |||
timotimo | also, how do you do "say" when the line separator is a regex? well ... it's only for the *input* line separator :) | ||
nwc10 | yves had a plan for what was doable | ||
but it's sane for non-greedy regex | |||
Ulti | timotimo well regex can be generative too, generate a string that would match :P | ||
FROGGS_ | ohh, it looks like I should use $TYPE_SMO instead of 'SixModelObject' | ||
nwc10 | and I think Yves had a plan to do it within the constraints of the Perl 5 implementation for the subset of those that have bounded max length | 13:45 | |
jnthn | FROGGS_: oh...yes | ||
skids | Won't this be the same problem for running an rx on a Cat, when we get Cat? | 13:47 | |
Or will Cat guarantee unicode chars come in whole? | 13:49 | ||
timotimo | can it, though? | 13:53 | |
except at the very end of file, you can't know if the next character will be a new glyph or a combining or control code | |||
so you'll have to always keep at least a single glyph from the user | 13:54 | ||
until either EOF or a new glyph arrives | |||
13:54
Alina-malina joined,
rurban joined
|
|||
skids | .oO(Promise/Supply in a grammar action.... Hmmm.) |
13:58 | |
timotimo | heh. | ||
you can feed results of parsing out through a channel :) | 13:59 | ||
14:00
jnap joined
14:02
ggherdov_ left
14:03
ggherdov_ joined
14:04
jnap left
14:05
bbkr joined
14:06
logie joined,
Alina-malina left
14:07
Alina-malina joined
14:17
bbkr left
14:18
rindolf left
14:20
donaldh left
|
|||
timotimo | how do people feel about a trait "is subcommand_name" for parameters to MAIN that would cause the parameter to show up before nameds | 14:20 | |
14:21
sqirrel_ left
|
|||
timotimo | locally, parrot now also segfaults when trying to build the restricted setting | 14:22 | |
FROGGS_ | O.o | ||
14:24
sqirrel_ joined
|
|||
FROGGS_ | damn, still: java.lang.RuntimeException: java.lang.ArrayIndexOutOfBoundsException: | 14:24 | |
gist.github.com/FROGGS/5ee16f5619aed3003258 | |||
timotimo | what the flying fuck. the postwhile nil native tests still do the thing. | ||
even with 10 runs instead of i think 2 | |||
there's something *strange* going on. | |||
14:24
donaldh joined
|
|||
timotimo | Pod::To::Text fails similarly | 14:25 | |
14:26
anaeem1 joined
|
|||
FROGGS_ | the what? | 14:26 | |
timotimo | t.h8.lv/p6bench/2014-05-03-almost_a_year.html | 14:29 | |
at first it's very fast, then gets ridiculously fast and then turns constantly slow | |||
jnthn | timotimo: How is memory usage? | 14:30 | |
Juerd | timotimo: So it turns slow from the point where some value reaches 32768. Isn't that suspicious? :) | 14:31 | |
timotimo: Some more resolution would be necessary to see if it's exactly that point, or just happens to be around it. | |||
14:31
kurahaupo left
|
|||
Juerd | Although the increasing speed before the drop is much scarier | 14:32 | |
vendethiel | timotimo: is that with the same rakudo :) ? | ||
timotimo | is that the place where we go from smallbigint to bigint? | 14:35 | |
jnthn | No, doubt it; we have to overflow a 32-bit number for that. | 14:36 | |
Ulti | < timotimo> you can feed results of parsing out through a channel :) <--- can you see my computer screen? :P | 14:53 | |
trying to make a promise lazy read and chunk a file parsing as it goes sending the parsed objects down a channel, then have a tonne of threads to process the stuff coming out of the channel | 14:54 | ||
FROGGS_ | that sounds interesting | 14:56 | |
Ulti | the only tricky bit is trying not to assume too much about the file format, starting out with you have to upfront say what parser you want and what the 'record start' character is | 14:59 | |
15:00
jnap joined
15:04
logie left
15:06
jnap left,
Khisanth left
15:10
anaeem1 left
|
|||
FROGGS_ | jnthn: does '$il.append($POP);' mean that I pop something from the stack to nirvana? so I can ignore a return value? | 15:16 | |
jnthn | Right, it just throws away the top stack entry | 15:17 | |
FROGGS_ | nice | ||
jnthn | Note - must be a pointer, or int, or float, or soemthing | ||
FROGGS_ | it is a Long | ||
jnthn | Use POP2 if it's a long (RT_INT) or double (RT_NUM) | ||
Ah, then POP2 | |||
FROGGS_ | k, :D | ||
15:19
vendethiel left
|
|||
FROGGS_ | btw, it is moar fun to not hack on jvm or parrot backend :o) | 15:19 | |
15:19
vendethiel joined
15:20
Khisanth joined
|
|||
JimmyZ | I have been waiting for compiling jvm codes these days ... most of time | 15:21 | |
FROGGS_ | Reason: | ||
Type long_2nd (current frame, stack[2]) is not assignable to 'org/perl6/nqp/sixmodel/SixModelObject' | |||
hups | |||
JimmyZ | compiling moar is much faster :P | 15:22 | |
FROGGS_ | that is the point yeah :/ | ||
15:24
rom1504 joined
|
|||
timotimo | the pop2 thing (and dupx2 and friends) really confused me the first time around, too. | 15:33 | |
Ulti | \o/ yay first bug whilst playing with reactive magic :D | 15:35 | |
waited on a channel that never produced anything forever | |||
timotimo | never forever. | ||
Ulti | well until entropy consumes my computer | 15:36 | |
vendethiel | 7F1AAEDN9 ? What happened to camelia :D ? | 15:37 | |
oh, new camelia o/ | |||
Ulti | hmm .index returns Int type object on failure :/ | 15:43 | |
timotimo | m: say :what | ||
camelia | rakudo-moar fd5f8e: OUTPUT«» | ||
Ulti | I guess that makes it type safe | ||
since it returns ints | |||
timotimo | hehe. | 15:44 | |
Ulti | is ~~ Int is the proper way to handle that? | 15:46 | |
timotimo | .defined | ||
moritz | has Star been released? | ||
FROGGS_ | moritz: I don't think so | 15:47 | |
timotimo | well, froggs has added his changes, jnthn had put out his release candidate | ||
FROGGS_ | was there another RC? | ||
timotimo | seems like it's waiting on someone just going ahead and doing it? | 15:48 | |
dalek | ar: 8a79b98 | jnthn++ | modules/ (5 files): Update various modules. |
15:49 | |
ar: 43a3df0 | jnthn++ | / (2 files): Merge branch 'master' of github.com:rakudo/star |
|||
jnthn | Yeah, building the new one here now with FROGGS_++ changes | ||
FROGGS_ | cool! | ||
:o) | |||
15:51
sqirrel_ left
|
|||
FROGGS_ | I can test the RC then and then probably create the msi this evening | 15:52 | |
timotimo | even more module bumps? | ||
jnthn | timotimo: no, those were from yesterday; forgot to push | ||
FROGGS_ | there was a PR merged today | ||
for JSON::RPC | 15:53 | ||
jnthn | FROGGS_: Hm, did you not test the last RC? | ||
Only change in this one would be your doc patch | |||
FROGGS_ | jnthn: no, I aborted when I saw the messages about parrot when I intended to build it for moar also | 15:54 | |
but I can test it now of course | |||
jnthn | ok, the new one is at the same URL as yesterday | 15:55 | |
15:56
vaskozl left
15:58
vaskozl joined
|
|||
FROGGS_ | ahh, found it: jnthn.net/tmp/rakudo-star-2014.04.tar.gz | 15:58 | |
16:01
jnap joined
16:05
jnap left
|
|||
Ulti | is there an adverb for lines to stop it chomping? | 16:11 | |
timotimo | you can open a file with no-chomp-please | 16:12 | |
and you can open("-", :r, :!chomp) to get a new file handle | |||
Ulti | oh this is basically what I am doing badly! github.com/rakudo/rakudo/blob/619a...yncFile.pm | ||
timotimo | i'm confused | 16:14 | |
Ulti | I'm writing something that is doing async file IO and parsing at the same time | 16:15 | |
timotimo | ah | 16:16 | |
16:17
denis_boyun_ left
|
|||
FROGGS_ is still building the star RC | 16:20 | ||
16:22
anaeem1 joined,
sqirrel_ joined
|
|||
masak | today's weird insight while out running: the Nomic server would be an event loop (for upholding the rules) and a Git server (for storing rules and proposals). | 16:23 | |
every proposal would have its own branch name. | 16:24 | ||
making a new proposal would be pushing to a certain ref. | |||
accepting a proposal and making it part of the game would be merging into master. | |||
FROGGS_ | you are still "working" on that? :o) | 16:25 | |
masak | apparently my brain is :) | ||
FROGGS_ | *g* | ||
masak | but really, bringing Git into the mix seems to simplify a few things. | 16:26 | |
nwc10 | does it read mail yet? :-) | ||
masak | with Nomic, the question is less irreverent than you might think :P | ||
jnthn: yet another reason we need a Git implementation in Perl 6 ;) | 16:31 | ||
timotimo | do we ship fun examples with star, btw? | ||
FROGGS_ | fun examples? not yet at least | ||
dalek | p/lexopts: eafcab0 | jnthn++ | src/vm/moar/QAST/QASTOperationsMAST.nqp: Start using new getlexstatic_o op. |
16:33 | |
p/lexopts: 43fbe2b | jnthn++ | src/NQP/Optimizer.nqp: Fix NQP analysis of when callstatic is valid. Makes it match Rakudo's more closely. We can cheat in NQP, but not /that/ hard. |
|||
skids | Configuring star RC with --backend-parrot --gen-nqp --gen-parrot, nqp complains when "Verifying instalation" about not having been installed yet. | 16:35 | |
FROGGS_ | humm | 16:36 | |
jnthn | Heading out for a bit; can finish Star release when back, if nobody has more fixes ;) | ||
FROGGS_ | skids: perl Configure.pl --backend-parrot --gen-nqp --gen-parrot | ||
Unknown option: backend-parrot | |||
jnthn | --backend=parrot | ||
FROGGS_ | perl Configure.pl --backends=parrot --gen-nqp --gen-parrot | 16:37 | |
sh: 1: /home/froggs/dev/rakudo/install/bin/parrot: not found | |||
Klone nach 'nqp'... | |||
^C | |||
'Klone nach' means 'Cloning to' | |||
skids: you get the same? | |||
skids | FROGGS: --backend=parrot sorry | ||
FROGGS_ | skids: that works as expected here... | ||
skids | No cloning to error. Trying --backends instead of --backend now... also swapped order of nqp/parrot on commandline not that it should matter. | 16:40 | |
FROGGS_ | no, --backend should work also | 16:42 | |
if it fails again, can you no-paste your output? | |||
skids | sure. | 16:43 | |
damn. almost got it out of my scrollback but it disappeared before I could select it :-) | 16:44 | ||
16:49
molaf left
|
|||
masak | dinner & | 16:50 | |
skids | Worked this time. Pretty sure what happened is it built nqp before building parrot. | 16:53 | |
timotimo | wow, that should really not happen | ||
FROGGS_ | hmmmm, I have never seen that happening | 16:54 | |
skids | (or maybe the parrot build failed somehow without killing the make) | ||
FROGGS_ | yeah.... | ||
please record the output next time, including the command line that invoked it :o) | 16:55 | ||
otherwise we can only guess | |||
skids | I'll try to replicate it later from a fresh tree. | ||
timotimo | # Error: Error while compiling op istype: Object of type Maybe in QAST::WVal, but not in SC | ||
yay, that's a new one | |||
FROGGS_ | skids++ | 16:57 | |
timotimo: are these local mods or is that HEAD? | 16:58 | ||
17:00
anaeem1 left
17:01
sqirrel_ left
17:02
jnap joined
|
|||
timotimo | that's HEAD, rakudo-moar | 17:03 | |
17:03
vaskozl left
|
|||
timotimo | the same code seems to work on rakudo-j, i don't have a rakudo-p to test stuff on yet | 17:03 | |
17:06
anaeem1 joined,
jnap left
|
|||
timotimo | has there been a discussion on allowing ? and ! at the end of method names? | 17:08 | |
17:08
logie joined
|
|||
moritz | not that I'm aware of | 17:12 | |
17:13
guru joined
17:14
guru is now known as ajr_
|
|||
timotimo | !at the end would be weird, though, as we already have ! in front where it has meaning | 17:14 | |
17:16
Rounin left
17:19
Rotwang joined
|
|||
FROGGS_ | jnthn: I only see some r* fails for perl6-j, which are expected | 17:20 | |
(on linux x86_64) | |||
even a ? at the end would be weird... | 17:21 | ||
17:24
kurahaupo joined
17:25
pippo joined
|
|||
skids | gist.github.com/skids/f42a0d177a0fe37aa7a2 | 17:27 | |
17:40
chenryn left
|
|||
skids | Gist updated. Was able to replicate the problem. | 17:49 | |
Looks like configure is using my pre-installed parrot. | |||
17:59
Pleiades` left
18:03
jnap joined
18:04
Pleiades` joined
18:07
jnap left
18:21
xenoterracide left,
Su-Shee_ joined
18:23
Su-Shee left
|
|||
FROGGS_ | skids: yes, it is supposed to | 18:26 | |
you cannot have another parrot/nqp in path | |||
18:27
denis_boyun_ joined
|
|||
timotimo | rakudo on fails? | 18:29 | |
18:31
MikeFair_ joined,
zakharyas joined
18:32
Su-Shee_ is now known as Su-Shee
|
|||
skids | FROGGS: that never happened before, and I've had it in my path. | 18:34 | |
Configure seems to honor the ordering of the --gen-nqp and --gen-parrot options. | |||
FROGGS_ | skids: what is your /usr/local/bin/parrot --version ? | 18:36 | |
skids | Well, right at the moment it's star-04-04 (6.1.0) because I just made install :-) | 18:38 | |
FROGGS_ | skids: configure should not care about ordering, and --gen-parrot will set --gen-nqp if it was not passed | ||
ahh, hmmm | 18:39 | ||
parrot should not mention star though | |||
but 6.1.0 would be correct | |||
skids | no it doesn't. | ||
damn. It does build with the options in the correct order but I still have the "wrong version" error for stage2/QRegex.nqp. | 18:40 | ||
"This is nqp version 2013.08 built on parrot 5.5.0 revision 0" Hrm. | 18:41 | ||
So nqp didn't install. | |||
timotimo | is that the right nqp, too? the one in path vs install/bin? | 18:42 | |
or nqp/nqp-p? | |||
skids | No. Yes what happened is that it installed nqp only as nqp-p and not as nqp; | 18:43 | |
timotimo | yes, that is correct ... oooh! | 18:44 | |
that must be it | |||
skids looks for an option to select which backend to install under default names. | 18:45 | ||
FROGGS_ | skids: we changed that | 18:46 | |
nqp is only installed as the last step (make-default-runner-install or so) | |||
timotimo | is "nqp" installed at all? | ||
i don't think so, tbh | |||
18:48
kurahaupo left
18:50
darutoko left
|
|||
skids | timotimo: well, there's no "nqp" in install/bin, just "nqp-p", unlike perl6 or perl6debug. The rest of the backend-specific stuff looks to be hasband scripts. | 18:52 | |
*hashbang* | |||
vendethiel | oh, a friend dared to ask me if "(*-.-)" would compile in perl6 ... | 18:54 | |
too bad term:<*> doesn't work :p | |||
timotimo | yes, the rakudo star makefile must absolutely not try to use nqp | 18:57 | |
skids | Symlinking doesn't fix the problem, perl6-p seems to be trying to still use a wrong nqp-related path. Will try reinstalling with /usr/local/bin/nqp deleted. | 18:58 | |
dalek | ast: d08d001 | (Elizabeth Mattijsen)++ | S17-supply/schedule_on.t: Add tests for Supply.schedule_on |
||
FROGGS_ | vendethiel: it did work last time | ||
18:59
pippo left
|
|||
vendethiel | FROGGS_: I believe it didn't, and kept returning Whatever | 18:59 | |
m: sub term:<*> { 5}; say * | |||
camelia | rakudo-moar fd5f8e: OUTPUT«*» | ||
skids | timotimo: well, it shouldn't when --gen-nqp at least. | ||
vendethiel | p6: sub term:<*> { 5}; say * | ||
camelia | niecza v24-109-g48a8de3: OUTPUT«5» | ||
..rakudo-{parrot,moar} fd5f8e: OUTPUT«*» | |||
..rakudo-jvm fd5f8e: OUTPUT«Unhandled exception: Failed to load config.properties in (gen/jvm/stage2/NQPHLL.nqp:8) in (gen/jvm/stage2/NQPHLL.nqp:8) in (gen/jvm/stage2/NQPHLL.nqp) in (src/vm/jvm/ModuleLoader.nqp:78) in load_module (src/vm/jvm/ModuleLoader.nqp:60…» | |||
vendethiel | well, niecza can do it | ||
timotimo | should it really ever try to use nqp? | 19:00 | |
i thought we abolished that? | |||
skids | Aren't you supposed to be able to test a local version of nqp that way? | ||
FROGGS_ | vendethiel: okay, I misremembered | 19:02 | |
19:03
logie left
19:04
jnap joined
|
|||
dalek | kudo/nom: abf3bc3 | (Elizabeth Mattijsen)++ | t/spectest.data: Make sure we do Supply.schedule_on tests |
19:04 | |
lizmat | Files=838, Tests=32008, 203 wallclock secs ( 7.99 usr 3.82 sys + 1259.28 cusr 145.23 csys = 1416.32 CPU) | ||
only 760 more until we overflow :-) | |||
FROGGS_ | :D | 19:05 | |
19:08
jnap left
19:12
benabik joined
19:21
bbkr joined
19:34
bbkr left
19:35
MikeFair_ left
19:36
rurban left
|
|||
lizmat | japhb: fwiw, I think gist.github.com/jnthn/11126125 should be turned into a GET helper sub somewhere, with an optional :$port = 80 parameter | 19:42 | |
japhb | lizmat: I was actually thinking of factoring out some of the boilerplate. Something that creates the promise and vow, attempts to connect, breaks the vow and returns if that fails, otherwise grabs the socket and feeds the socket and vow to a .then(), and returns the promise. | 19:44 | |
Basically lines 1-6 and 22-28 | |||
lizmat | what would you call that? | 19:45 | |
japhb | That's a good question | ||
lue | Courier ? | 19:53 | |
japhb is tempted to say IO::Socket::Async.open | 19:54 | ||
lue | (or some term like it; not Messenger though, that's easily confusable ☺) | 19:55 | |
japhb | open feels higher level than connect, and thus should hide the boilerplate | ||
lizmat | so it would return a Promise ? | 19:57 | |
20:00
kurahaupo joined,
kurahaupo left,
zakharyas left
|
|||
timotimo | connection_attempt? | 20:01 | |
japhb | lizmat: Well, that would be a consequence of taking a closure for doing the post-connect work, but you're right, that's not really the open API | ||
20:02
zakharyas joined
|
|||
lizmat | feels to me the whole sub could be boilerplate with just a Promise parameter | 20:02 | |
lue | (Thought you guys were naming a type) perhaps .talk ? | 20:03 | |
lizmat | that would encapsulate te IO::Socket::Async.connect(...) | ||
japhb | lizmat: That's higher level than I was thinking of -- you seem to be thinking about making simple HTTP methods, I'm thinking of making async socket programming less boilerplatey. | ||
lue | IO::Socket::Async.talk(...) | ||
timotimo | hm, talk, like with these modem thingies | 20:04 | |
japhb | And lue's in the middle -- sortof an expect sortof level. | ||
lizmat | japhb: good point: the promise should be the "$socket.send("GET $path\r\n\r\n")" part | ||
20:04
jnap joined
|
|||
lizmat | IO::Socket::Async.fetch | 20:05 | |
and then maybe a IO::Socket::Async.connect_and_send | |||
timotimo | btw, http really wants to have keepalive | 20:06 | |
so make sure it gets grabbable after that transaction, too | |||
lizmat | timotimo: that's why it was a crappy_ua :-) | ||
japhb | We can just have lots of layers. :-) | ||
timotimo | yeah, i just wanted to advise you to not make it too boxed off | 20:07 | |
japhb | timotimo: That's why I was only thinking of factoring out the stuff that would be quite unlikely to change much without changing *everything*. | ||
timotimo | ah | 20:09 | |
20:09
rindolf joined,
jnap left
|
|||
dalek | ecs: 4c3f6c6 | (Elizabeth Mattijsen)++ | S17-concurrency.pod: Spec Supply.Promise(:last) |
20:09 | |
lizmat | ^^^ comments welcome. Alternative would be to create a method .last | 20:10 | |
but that would not really convey the Promiseness of the returned value | |||
or maybe we should have .last return a Supply that only returns the last value of the underlying supply | 20:12 | ||
timotimo | oof. | ||
lizmat | and if you want a promise of that, you would need to .Promise that | ||
timotimo | wonder if that's a good thing | 20:14 | |
lizmat | if what is a good thing? | ||
timotimo | a supply that only .more's the last value when the previous one gets closed | 20:15 | |
but what do i know :) | |||
lizmat | in a way, it's like .stable with an infinite amount of time | 20:16 | |
timotimo | aye | ||
.stable(:forever) | 20:17 | ||
:P | |||
lizmat | with the difference that .stable doesn't send the value if the supply was done before the period was over | ||
timotimo | oh | ||
lizmat | not sure whether that could be considered a bug or not | ||
mmm... thinking about it more, :last on Promise smells | 20:18 | ||
dalek | ecs: 5d6ef10 | (Elizabeth Mattijsen)++ | S17-concurrency.pod: Re-imagine Supply.Promise(:last) as Supply.last |
20:23 | |
japhb | IO::Socket::Async.connect-then(:$host, :$port, -> $s, $v { ... }) | 20:29 | |
lizmat | you're exposing the vow there | 20:30 | |
timotimo | that doesn't sound too bad | ||
japhb | lizmat: You have to. It can only be taken once. | 20:31 | |
lizmat | but shouldn't keeping/breaking the vow be part of the boilerplate ? | 20:32 | |
20:35
logie joined,
woolfy left
|
|||
japhb | lizmat: Even after connect, failure during send or receive can still break the vow. | 20:37 | |
20:37
woolfy joined
|
|||
lizmat | FWIW, I feel that lines 4-8 should be taken out and replaced by a single Promise that would be the parameter | 20:39 | |
and then create some way of easily making lines 4-8 into a promise | |||
lizmat is handwaving :-) | 20:41 | ||
benabik | I’m getting recursion depth exceeded on rakudo-parrot HEAD/HEAD when building RESTRICTED.setting.pir. | 20:42 | |
lizmat | gist ? | ||
benabik | new -> new -> bless -> Bool -> gimme -> infix:<-> -> infix:<-> -> repeat | ||
(Well HEAD/HEAD/HEAD…) | 20:43 | ||
lizmat | doesn't ring a bell :-( | 20:44 | |
moritz | does it work with the recommended parrot version? | 20:46 | |
benabik | gist.github.com/Benabik/fc625fb37b85a4e138a5 | ||
I do not know. It was working a couple weeks ago, but I’ll roll back to 6.1.0 | 20:48 | ||
20:51
zakharyas left,
guest154 joined
20:52
guest154 left
20:55
ajr_ left
|
|||
FROGGS_ | timotimo said something too about problems building RESTRICTED.setting | 20:56 | |
lizmat | jnthn: regarding S17:725 | 21:03 | |
synopsebot | Link: perlcabal.org/syn/S17.html#line_725 | ||
lizmat | elems / max / min / minmax | ||
I was thinking of implementing these as a Supply that would "more" a value whenever there is a change | 21:04 | ||
jnthn | lizmat: That's valuable also, but I think different... | ||
lizmat | if you only want a value at the end, you can .last that supply | ||
(which I just specced and implemented) | |||
jnthn | More generally, for everything you could implement in terms of .reduce, there's a .scan form of the operation. | 21:05 | |
21:05
jnap joined
|
|||
jnthn | .elems in the "every time it changes" feels a little pointless... | 21:05 | |
lizmat | well, true | 21:06 | |
jnthn | But I can see it for latest max, latest min, etc. | ||
lizmat | you're talking about .scan, but that isn't specced | 21:07 | |
jnthn | Does .last block for the last value, or give a promise for it? | ||
Yeah, this is the point where I wave my arms and point at the Rx docs ;) | |||
But scan there is just a reduce that produces every intermediate result. | |||
lizmat | it gives you a supply: if you want a Promise, you would do .last.Promise | ||
21:08
benabik left,
benabik joined
|
|||
lizmat | jnthn: do you have a URL for the Rx docs ? | 21:08 | |
21:10
jnap left
|
|||
jnthn | lizmat: www.introtorx.com/content/v1.0.1062....html#Scan | 21:10 | |
lizmat | seems to me Suply.last === TakeLast, right ? | 21:13 | |
21:14
rindolf left
|
|||
FROGGS_ | jnthn: about can of worms... I recognized that I need to use nqp::handle to handle `next LABEL`, because the handlers in while only take UnwindExceptions | 21:15 | |
... on the jvm | 21:16 | ||
or, does my VMExceptionInstance get turned into an UnwindException for some reason? | |||
21:17
cognominal__ left,
cognominal__ joined
|
|||
FROGGS_ | because I don't yet see why I can throw a VMExceptionInstance with category=EX_CAT_NEXT, which works | 21:17 | |
jnthn | FROGGS_: UnwindException is JVM-level. It is what we use to really unwind the JVM stack. | 21:18 | |
benabik | Same error with the suggested versions: This is nqp version 2014.04-37-g55c7277 built on parrot 6.1.0 revision RELEASE_6_1_0 | ||
jnthn | lizmat: Yeah, except it takes an arg saying how many | 21:19 | |
lizmat | ok, that can be fixed :-) | 21:21 | |
FROGGS_ | okay... so it arrives as an UnwindException, now I need find a way to get the payload | 21:22 | |
that explains why the exception was kinda handled, an now isnt (I removed the handler) | |||
benabik | Looks like my latest installed perl6-p was 440739c, likely with the HEAD parrot and nqp at the time of that commit. I’ll see if I can easily figure out when the breakage was introduced but I’m quite busy with schoolwork at the moment. | 21:23 | |
dalek | ecs: 850f8ed | (Elizabeth Mattijsen)++ | S17-concurrency.pod: Supply.last can give the last N more's |
||
21:30
hoverboard joined
21:34
logie left
|
|||
dalek | kudo/nom: c421738 | (Elizabeth Mattijsen)++ | src/core/Supply.pm: Implement Supply.last |
21:35 | |
ecs: 877b5f9 | (Elizabeth Mattijsen)++ | S17-concurrency.pod: Spec Supply.grab |
21:38 | ||
21:39
jnap joined
|
|||
FROGGS_ | jnthn: the r* is fine on my linux box | 21:39 | |
jnthn | yay | 21:41 | |
:) | |||
FROGGS_ | there are only the known fails for jvm's module tests | ||
21:43
jnap left
|
|||
FROGGS_ | Reason: | 21:47 | |
Type 'org/perl6/nqp/runtime/UnwindException' (current frame, stack[0]) is not assignable to 'org/perl6/nqp/runtime/LexoticException' | |||
:/ | |||
stack: { 'org/perl6/nqp/runtime/UnwindException' } <--- perhaps I have an idea about tomorrow... | 21:48 | ||
gnight all | |||
skids | doh. --prefix= not PREFIX=. That's for make. | 21:50 | |
lizmat | FROGGS_ gnight! | 21:51 | |
21:53
hoverboard left
|
|||
dalek | kudo/nom: a320bf1 | (Elizabeth Mattijsen)++ | src/core/Supply.pm: Guard Supply.last a bit against garbage input |
21:54 | |
ast: 432761f | (Elizabeth Mattijsen)++ | S17-supply/last.t: Add tests for Supply.last |
21:56 | ||
lizmat | m: my subset Natural of Int where $_ > 0; my Natural $a = 0 # is there a reason we don't have Natural or UInt in core ? | 22:00 | |
camelia | rakudo-moar fd5f8e: OUTPUT«Type check failed in assignment to '$a'; expected 'Natural' but got 'Int' in block at /tmp/xqLx6HKgCk:1» | ||
lizmat | I could use it for the signature in some of the Supply methods | ||
dalek | kudo/nom: 73179b3 | (Elizabeth Mattijsen)++ | t/spectest.data: Make sure we run the Supply.last tests |
22:01 | |
22:02
anaeem1__ joined
22:05
anaeem1 left
22:10
denis_boyun_ left
22:11
zakharyas joined
|
|||
timotimo | m: my subset Lucky of Int where [eq] *.comb; say 777 ~~ Lucky; say 123 ~~ Lucky | 22:13 | |
camelia | rakudo-moar fd5f8e: OUTPUT«TrueTrue» | ||
timotimo | m: my subset Lucky of Int where -> $num { [eq] $num.comb }; say 777 ~~ Lucky; say 123 ~~ Lucky | ||
camelia | rakudo-moar fd5f8e: OUTPUT«TrueFalse» | ||
jnthn | .oO( I was up all night to get that type... ) |
22:14 | |
dalek | kudo/nom: d28ef4e | (Elizabeth Mattijsen)++ | src/core/Supply.pm: @a.splice(0,1) is @a.shift, you dummy! :-) |
22:22 | |
kudo/nom: 70e580b | (Elizabeth Mattijsen)++ | src/core/Supply.pm: Implement Supply.grab(&when_done) |
|||
lizmat | tests after a some time afk& | 22:24 | |
jnthn | o/ lizmat | ||
22:25
zakharyas left
22:40
jnap joined
22:44
jnap left
22:47
spider-mario left
|
|||
dalek | kudo-star-daily: d6d0ea5 | coke++ | log/ (4 files): today (automated commit) |
22:51 | |
rl6-roast-data: 0f06eae | coke++ | / (6 files): today (automated commit) |
|||
[Coke] | parrot build still failing. | ||
22:54
Entonian joined
23:00
Entonian left
23:05
eternaleye left,
krunen left,
djanatyn left
23:10
eternaleye joined
23:11
Rounin joined
23:17
Rotwang left
23:18
djanatyn joined
23:19
labster left
23:24
BenGoldberg joined
23:30
dmol left
23:40
jnap joined
23:44
krunen joined,
jnap left
23:57
xragnar_ joined,
xragnar is now known as Guest89483,
Guest89483 left,
xragnar_ is now known as xragnar
|