»ö« Welcome to Perl 6! | perl6.org/ | evalbot usage: 'perl6: say 3;' or rakudo:, niecza:, std:, or /msg p6eval perl6: ... | irclog: irc.perl6.org/ | UTF-8 is our friend! Set by sorear on 4 February 2011. |
|||
00:02
dolmen left
00:04
mish left
00:06
xinming joined
00:09
cosimo joined
00:13
donri left
00:25
xinming left
00:30
Moukeddar joined
|
|||
Moukeddar | hello | 00:30 | |
masak is gone | 00:31 | ||
? | |||
00:44
[particle]1 is now known as [particle]
|
|||
colomon | o/ | 00:45 | |
00:45
Helios left,
Helios joined
00:48
stkowski left
00:50
leprevost left
00:55
Helios left
00:58
whiteknight left
|
|||
Moukeddar | what's up ? | 00:58 | |
01:00
Helios joined
01:05
silent_h left
|
|||
Util | Moukeddar: I am working to set up a big Amazon EC2 instance to reproduce the benchmarks that are today's hot topic. | 01:06 | |
Moukeddar | wow , good use of the cloud :) | 01:07 | |
good luck | |||
that's gonne be a bit expensive :) | 01:09 | ||
01:13
Moukeddar_ joined
01:14
Moukeddar left
01:19
nymacro joined
01:25
aloha left,
alester joined
01:26
leprevost joined
01:29
aloha joined
01:37
woosley joined
01:50
xinming joined
01:51
dwnichols joined
01:57
Moukeddar_ left,
leprevost_ joined
01:59
leprevost left
|
|||
sorear | good * #perl6 | 02:03 | |
niecza: say 2 + 2 | 02:06 | ||
p6eval | niecza v4-76-g7bf5ef9: OUTPUT«4» | ||
02:06
masonkramer joined
|
|||
sorear | niecza: if(3) { say 'OH NOEZ' } | 02:06 | |
p6eval | niecza v4-76-g7bf5ef9: OUTPUT«Unhandled exception: System.FormatException: Unknown char: A at System.Double.Parse (System.String s, NumberStyles style, IFormatProvider provider) [0x00000] in <filename unknown>:0  at System.Double.Parse (System.String s, IFormatProvider provider) [0x00000] in | ||
..<filename unkno… | |||
02:13
leprevost_ left
02:14
leprevost joined
|
|||
sorear | niecza: if(3) { say 'OH NOEZ' } | 02:16 | |
p6eval | niecza : OUTPUT«Cannot open assembly './run/Niecza.exe': No such file or directory.» | ||
colomon | > 5 % i | 02:21 | |
Int() infix:<%> Complex() is not defined | |||
Not 100% convinced that's an improvement... | |||
02:24
masonkramer left
|
|||
colomon | NaN instead? | 02:27 | |
sorear | niecza: if(3) { say 'OH NOEZ' } | 02:29 | |
p6eval | niecza v4-76-g7bf5ef9: OUTPUT«Unhandled exception: System.FormatException: Unknown char: A at System.Double.Parse (System.String s, NumberStyles style, IFormatProvider provider) [0x00000] in <filename unknown>:0  at System.Double.Parse (System.String s, IFormatProvider provider) [0x00000] in | ||
..<filename unkno… | |||
tylercurtis | rakudo: say 1/0 | 02:41 | |
p6eval | rakudo 42dcfd: OUTPUT«Inf» | ||
colomon | rakudo: say (1/0).perl | 02:45 | |
p6eval | rakudo 42dcfd: OUTPUT«1/0» | ||
02:48
mtk0 left,
hudnix left
|
|||
colomon | > 5 % i | 02:49 | |
NaN | |||
> i %% 5 | |||
Bool::False | |||
02:56
mtk0 joined
|
|||
sorear | what is wrong with niecza I wonder... | 03:00 | |
03:00
sivoais joined
03:03
_twitch joined,
alester left
03:13
_twitch left
03:15
masonkramer joined
03:16
_twitch joined
03:19
satyavvd joined
03:21
_twitch left
03:23
sftp left,
Su-Shee_ joined
03:24
_twitch joined,
am0c left,
Su-Shee left
03:31
molaf joined
03:37
ymasory left
03:40
masonkramer left
03:51
_twitch left
04:04
aloha left
04:05
aloha joined
04:08
molaf left
04:22
shadowmaster left
04:24
kaare_ joined
04:33
wooden joined
04:37
wamba joined
04:47
am0c joined,
wamba left
|
|||
cotto | what's the right address to send an announcement about the Parrot Developer Summit to? | 05:21 | |
05:21
woosley1 joined
05:22
woosley left
05:24
birdwindupbird joined
05:30
woosley1 left
05:54
woosley joined
05:57
wtw joined
06:05
noganex_ joined
06:07
noganex left
06:12
alester joined
06:18
kaare_ left
06:22
SHODAN joined,
alester left
06:35
wamba joined
06:36
_twitch joined
06:42
wamba left
06:47
noganex joined,
_twitch left
06:49
Su-Shee_ is now known as Su-Shee
06:50
noganex_ left
06:58
SHODAN left
07:05
justatheory left
|
|||
moritz | nqp: say(1) | 07:08 | |
p6eval | nqp: OUTPUT«1» | ||
moritz | cotto: [email@hidden.address] | 07:09 | |
nqp: sub test_line($line, $todo) { my @chunks := match($line, /\S+/, :global) }; test_line('abc def', 1) | |||
p6eval | nqp: ( no output ) | ||
07:12
agentzh joined
07:14
wooden left
|
|||
cotto | moritz, thanks | 07:15 | |
07:16
wooden joined,
wooden left,
wooden joined
07:35
mj41 joined
07:37
wooden left
07:39
PZt left
|
|||
moritz | niecza: say 'bazaar' ~~ /a*:a/ | 07:39 | |
p6eval | niecza v4-76-g7bf5ef9: OUTPUT«» | ||
moritz | std: /a*:a/ | 07:40 | |
p6eval | std 9f27365: OUTPUT«ok 00:01 113m» | ||
moritz | nqp has a (failing) test that assumes that would throw an exception somehow | ||
I think that test is borked | |||
07:42
spinclad left
07:43
wooden joined,
wooden left,
wooden joined
|
|||
sorear | niecza: say +Any | 07:48 | |
p6eval | niecza v4-76-g7bf5ef9: OUTPUT«Unhandled exception: Unable to resolve method Numeric in class Any at line 0 (ExitRunloop @ 0) at /tmp/dcaBRaqVEw line 1 (MAIN mainline @ 1) at /home/p6eval/niecza/lib/CORE.setting line 1311 (CORE C552_ANON @ 2) at /home/p6eval/niecza/lib/CORE.setting line | ||
..1312 (CORE modul… | |||
sorear | oh, I see... | 07:49 | |
07:49
Su-Shee_ joined,
spinclad joined
|
|||
moritz | nqp: my $r := 'abc' ~~ /(.)(.)<alpha>/; say($r.dump_str); | 07:50 | |
p6eval | nqp: OUTPUT«Method 'dump_str' not found for invocant of class 'SixModelObject'current instr.: '_block11' pc 89 ((file unknown):34725662)» | ||
07:51
masak joined
|
|||
masak | karma hakank | 07:51 | |
aloha | hakank has karma of 1. | ||
masak | hakank++ | ||
07:51
masak left
07:52
am0c left,
Su-Shee left
07:53
Su-Shee_ is now known as Su-Shee
|
|||
tadzik | nothing like suprise masak in the morning. Good morning #perl6 | 07:53 | |
moritz | rakudo: use Test; todo('foo', 1); ok(0, "bar") | 07:59 | |
p6eval | rakudo 42dcfd: OUTPUT«not ok 1 - bar# TODO foo» | ||
08:11
awwaiid left
08:12
awwaiid joined
|
|||
dalek | p: 625f17d | moritz++ | t/p6regex/rx_backtrack: [t] fix a simple backtrack test |
08:13 | |
p: 4b653ba | moritz++ | src/core/testing.pm: implement todo() |
|||
p: 8fc008a | moritz++ | t/p6regex/01-regex.t: remove outdated comment from 01-regex.t |
|||
moritz | jnthn: feel pinged | ||
08:16
cosimo left
|
|||
tadzik | moritz: I think that t/01-regex.t also needs fixing pod: when I did, it crashed on .loadlib rather than inside the pod | 08:24 | |
oh wait, whey shouldn't be runned with nqp | |||
moritz | aye :-) | ||
tadzik | t/p6regex/01-regex.t .. open3: exec of ./parrot t/p6regex/01-regex.t failed at /usr/lib64/perl5/vendor_perl/5.12.3/TAP/Parser/Iterator/Process.pm line 168 | 08:25 | |
not really expected, is it? | |||
moritz | it's know to be broken atm | ||
tadzik | wait, I'm stupid, nvm :) | ||
moritz | which is why I'm rewriting it in nqp | 08:26 | |
tadzik | great! | ||
++moritz | |||
dalek | p: de3220e | moritz++ | t/p6regex/01-regex.t (2 files): [t/p6regex] disable broken PIR script for now |
08:27 | |
p: 48d0448 | moritz++ | t/p6regex/01-regex.t: [t/p6eregex] add first shot of regex test runner |
|||
moritz | nqp: say(:16("a")) | 08:28 | |
p6eval | nqp: OUTPUT«Confused at line 1, near "say(:16(\"a"current instr.: 'nqp;HLL;Grammar;panic' pc 26677 (src/stage2/gen/NQPHLL.pir:7099)» | ||
moritz | nqp: my %expansions := (a => 1, b => 2); say(%expansions); | 08:31 | |
p6eval | nqp: OUTPUT«2» | ||
moritz | nqp: my %expansions := (a => 1, b => 2); say(%expansions<a>); | ||
p6eval | nqp: OUTPUT«1» | 08:32 | |
moritz | nqp: my %expansions := (a => 1, b => 2); say(%expansions<b>); | ||
p6eval | nqp: OUTPUT«1» | ||
moritz | nqp: my %expansions := (a => 1, b => 2); say(%expansions<c>); | ||
p6eval | nqp: OUTPUT«1» | ||
dalek | p: b1d4c13 | moritz++ | t/p6regex/01-regex.t: [t/p6regex] start to expand backslash escapes |
08:37 | |
moritz | nqp: say(HLL::Actions::string_to_int("a0", 16)) | 08:42 | |
p6eval | nqp: OUTPUT«Null PMC access in invoke()current instr.: '_block11' pc 48 ((file unknown):50557241)» | ||
moritz | nqp: use HLL::Actions; say(HLL::Actions::string_to_int("a0", 16)) | 08:43 | |
p6eval | nqp: OUTPUT«"load_bytecode" couldn't find file 'HLL/Actions.pbc'current instr.: 'nqp;ModuleLoader;_block132' pc 1727 (src/stage2/gen/module_loader.pir:594)» | ||
moritz | nqp: use HLL; say(HLL::Actions::string_to_int("a0", 16)) | ||
p6eval | nqp: OUTPUT«Cannot fetch object from non-existant serialization context 1304457627.79465current instr.: '' pc 1269 (src/stage2/gen/HLL.pir:274)» | ||
moritz | nqp: use NQPHLL; say(HLL::Actions::string_to_int("a0", 16)) | 08:45 | |
p6eval | nqp: OUTPUT«160» | ||
moritz | hooray for code reuse | 08:48 | |
dalek | p: 3d43ac9 | moritz++ | t/p6regex/01-regex.t: [t/p6regex] also expand \xBEEF escapes |
08:49 | |
08:52
SHODAN joined
09:03
jdhore left
09:10
birdwindupbird left,
birdwindupbird joined
|
|||
dalek | p: 9a5e02f | moritz++ | t/p6regex/ (3 files): [t/p6regex] update error message wording |
09:28 | |
moritz | nqp: '(123' ~~ /'(' ~ ')' \d+/; say("alive"); | 09:29 | |
p6eval | nqp: OUTPUT«Can only use get_who on a SixModelObjectcurrent instr.: 'nqp;Regex;Cursor;FAILGOAL' pc 3792 (src/Regex/Cursor.pir:216)» | ||
moritz | jnthn: see above | ||
nqp: my $re = "'(' ~ ')' \d+"; '(123' ~~ /<$re>/ | 09:31 | ||
p6eval | nqp: OUTPUT«Assignment ("=") not supported in NQP, use ":=" instead at line 1, near " \"'(' ~ ')"current instr.: 'nqp;HLL;Grammar;panic' pc 26677 (src/stage2/gen/NQPHLL.pir:7099)» | ||
moritz | nqp: my $re := "'(' ~ ')' \d+"; '(123' ~~ /<$re>/ | ||
p6eval | nqp: OUTPUT«Unrecognized backslash sequence: '\d' at line 1, near "+\"; '(123'"current instr.: 'nqp;HLL;Grammar;panic' pc 26677 (src/stage2/gen/NQPHLL.pir:7099)» | ||
moritz | nqp: my $re := "'(' ~ ')' \\d+"; '(123' ~~ /<$re>/ | ||
p6eval | nqp: OUTPUT«Can only use get_who on a SixModelObjectcurrent instr.: 'nqp;Regex;Cursor;FAILGOAL' pc 3792 (src/Regex/Cursor.pir:216)» | ||
moritz | in the test harness, that causes an infinite loop | ||
might be related to the try { } block around it | 09:32 | ||
jnthn: and the test script terminates with 'Null PMC access in can()' at the end of the run | |||
dalek | p: 221501e | moritz++ | t/p6regex/01-regex.t: [t/p6regex] skip looping tests for now; emit late plan |
09:35 | |
09:38
birdwindupbird left
09:48
am0c joined,
dakkar joined
09:49
demetro left
09:50
demetro joined
|
|||
jnthn | moritz: Looks like an error reporting breakage in FAILGOAL. | 09:53 | |
dalek | p: f480bab | moritz++ | build/Makefile.in: [build] run p6regex tests with nqp |
09:56 | |
09:57
_twitch joined
|
|||
dalek | p: 1226591 | moritz++ | build/Makefile.in: [build] use the current nqp for testing, not the installed one |
10:05 | |
10:08
woosley left
10:09
demetro left
10:10
demetro joined
|
|||
jnthn | moritz: Argh. It's broken because it tries to use HLL::Compiler.lineof during error reporting, which of course may well not have been loaded. | 10:19 | |
10:19
pernatiy left,
icwiener joined
|
|||
TiMBuS | ubuntu is telling me i need to update 'Larry Wall's Practical Extraction and Report Language' | 10:19 | |
jnthn | nqp: my $re := "'(' ~ ')' \\d+"; '(123' ~~ /<$re>/use NQPHLL; | 10:20 | |
p6eval | nqp: OUTPUT«Confused at line 1, near "'(123' ~~ "current instr.: 'nqp;HLL;Grammar;panic' pc 26677 (src/stage2/gen/NQPHLL.pir:7099)» | ||
TiMBuS | why do i need to do that? he can do that :v | ||
jnthn | gah | ||
nqp: use NQPHLL; my $re := "'(' ~ ')' \\d+"; '(123' ~~ /<$re>/ | |||
p6eval | nqp: OUTPUT«Unable to parse _block77, couldn't find final ')' at line 1current instr.: 'nqp;Regex;Cursor;FAILGOAL' pc 3863 (src/Regex/Cursor.pir:239)» | ||
10:28
am0c^ joined
10:35
mtk0 left
|
|||
moritz | the test file even usees NQPHLL | 10:35 | |
jnthn | Oh. | 10:40 | |
moritz: Please file an nqp ticket for it. | |||
(In GitHub issues) | |||
moritz | jnthn: will do, after nom | ||
10:41
donri joined
10:43
mtk0 joined
10:46
_twitch left
|
|||
jnthn | moritz: thanks | 10:53 | |
10:56
sjn left
10:57
sjn joined
|
|||
dalek | kudo/nom: 4cd465c | jnthn++ | / (3 files): Add a gen_nqp.pl that will obtain and install NQP with the generated Parrot. Also a --gen-nqp flag. We'll probably want to shuffle some of this around a bit at some point; I'll leave that to others with more clue how they want this bit to look. :-) |
11:09 | |
11:11
leprevost left
|
|||
dalek | p: 6b448c9 | moritz++ | build/Makefile.in: [build] fix previous commit. Where did I have my mind? |
11:14 | |
11:15
woosley joined
11:16
miau joined
11:24
pernatiy joined
11:29
am0c^ left
11:35
uniejo_ joined,
barika left
11:37
barika joined
11:40
orafu left
|
|||
moritz | jnthn: please test my latest rakudo/nom commit under windows, I'm always unsure if I broke everything :-) | 11:44 | |
dalek | kudo/nom: a5124cb | moritz++ | build/gen_nqp.pl: [build] avoid code duplication |
11:46 | |
11:49
uniejo_ left,
jaldhar left,
jaldhar joined
11:50
satyavvd left
11:52
noganex_ joined
11:54
noganex left,
agentzh left
11:56
Patterner left,
SHODAN left
11:57
Psyche^ joined,
Psyche^ is now known as Patterner
|
|||
miau | Hello. I installed Parrot-3.3.0 and rakudo on Windows XP. When I execute perl6 at the drive where perl6 is not installed, I have an error message: "PARROT VM: Could not load bytecodeCould not load oplib `perl6_ops'". Is it a known problem? | 12:01 | |
moritz | miau: how did you install rakudo? | 12:03 | |
miau | moritz: with setup-parrot-3.3.0.exe and setup-parrot-3.3.0-rakudo-40.exe | ||
moritz | I've heard about such errors now and then; in the end I think only the maintainers of the installers can fix that | 12:04 | |
miau | Hmm, who maintains the installers? | 12:09 | |
moritz | dunno. Where did you get them from? sourceforge? | ||
miau | from sourceforge.net | 12:10 | |
moritz | miau: I guess the project there has a bug tracker... if yes, try to use it to send your report | 12:11 | |
12:14
Holy_Cow joined
|
|||
miau | moritz: Although the project has no bug tracker, there is maintainer's information. I'll report to him. Thank you for your information. | 12:17 | |
12:17
Holy_Cow left
|
|||
takadonet | morning all | 12:18 | |
moritz | miau: thanks for taking care of that | ||
12:22
MayDaniel joined
12:23
cotto_work left
12:25
sftp joined,
orafu joined
12:30
Patterner left
12:32
Psyche^ joined,
Psyche^ is now known as Patterner
12:34
drbean joined
12:38
drbean left,
jaldhar left
12:39
jaldhar joined
|
|||
dalek | kudo/nom: 48cf054 | jnthn++ | src/Perl6/Grammar.pm: Few small twiddles to Perl6::Grammar to make new NQP happy with it. (Missing use statement, accidental nested class, and self handling, for the most part. First two are actually making this correcter Perl 6. :-) |
12:40 | |
kudo/nom: 7d2a1cf | jnthn++ | src/Perl6/Actions.pm: Twiddle Actions to work with new NQP (missing use statement, accidental nested class). |
|||
kudo/nom: c5466d6 | jnthn++ | src/perl6.p6: Stub in a perl6.p6, which is what gets built to perl6.exe. |
|||
kudo/nom: 7bf87d9 | jnthn++ | Perl6/README: Perl6 output directory where Perl6::Grammar, Perl6::Actions etc will go. |
|||
kudo/nom: 0d766b8 | jnthn++ | build/Makefile.in: Gut the Makefile. Will add things back into it as we progress. |
|||
kudo/nom: 101c7ed | jnthn++ | .gitignore: Update .gitignore. |
|||
12:40
MayDaniel left
|
|||
jnthn | OK, from how on rakudo/nom is construction zone. :) | 12:40 | |
*now | |||
colomon | \o/ | 12:41 | |
So.... any objections to 5 % i == NaN? | |||
jnthn | Oh my... :) | 12:42 | |
colomon | I'm torn whether it should be that or a Fail... | ||
jnthn | We feed in an Int and a Complex and get a Num out :) | ||
moritz | fail() pleae | ||
jnthn | fail() makes sense to me also | ||
moritz: Thanks for tweaking gen_nqp :) | 12:43 | ||
12:43
am0c left
|
|||
moritz | jnthn: np | 12:43 | |
colomon | Is there ever a case where NaN is an appropriate answer, given the availability of fail? | ||
(I mean, for any math function.) | |||
moritz guesses NaN should be a fail()ure, not a Num | 12:44 | ||
whoa, rakudo even builds on the nom branch | 12:45 | ||
colomon | moritz: is it still using the other nqp there? | 12:46 | |
moritz | colomon: dunno | ||
it parsefails 'say 3', and ./perl6 -e '3' says "Unable to obtain PAST from SixModelObject" | |||
but that's what you expect from such a branch :-) | |||
colomon: nope, uses the new nqp | 12:47 | ||
ah | 12:49 | ||
the compiler uses | |||
$I0 = isa ast, ['PAST';'Node'] | 12:50 | ||
but gets a SixModelObject | 12:51 | ||
jnthn | moritz: Nothing will work :) | ||
moritz | jnthn: I know, it's just fun to see in what way it breaks :-) | ||
jnthn | :) | ||
moritz: It compiles grammar and actions with new nqp now, and perl6.p6 also. | |||
colomon | fun? it's downright exciting! | 12:52 | |
jnthn | Whether they actually run and doing anything useful is another matter though :) | ||
colomon | > 5 % i | 12:58 | |
Int() infix:<%> Complex() is not defined | |||
better? | |||
moritz | colomon: that reads a bit bumpy | 12:59 | |
how about "complex modolus (Int % Complex) not defined"? | |||
12:59
skangas left
|
|||
colomon | rakudo: say Int.WHAT | 12:59 | |
12:59
skangas joined
|
|||
p6eval | rakudo 42dcfd: OUTPUT«Int()» | 13:00 | |
moritz | rakudo: say Int.WHAT.perl | ||
p6eval | rakudo 42dcfd: OUTPUT«Int» | ||
colomon | danke | ||
moritz: errr... complex modulus isn't an appropriate part of the message, it's a generic message | 13:01 | ||
"modolus (Int % Complex) not defined"? | |||
moritz | better | ||
colomon | only with correct speeling? | ||
moritz | colomon: what other cases (not involving Complex) exist? | ||
13:01
miau left
|
|||
colomon | I'm not 100% sure. But this is defined on Numeric, not Complex | 13:02 | |
certainly users might define other cases that don't work | |||
moritz | .oO( un-Real modulo not defined ) |
||
right | |||
13:04
Tedd1^ joined,
plainhao joined
13:07
Tedd1 left
|
|||
colomon | > 5 % i | 13:10 | |
modulus (Int % Complex) not defined | |||
13:10
am0c joined
13:12
spq joined
|
|||
colomon | spectesting... | 13:12 | |
jnthn | .oO( is Unreal Tournament a complex game? ) |
13:13 | |
13:17
bluescreen10 joined
|
|||
moritz | nqp: my $x; :$x; | 13:20 | |
p6eval | nqp: OUTPUT«Confused at line 1, near ":$x;"current instr.: 'nqp;HLL;Grammar;panic' pc 26677 (src/stage2/gen/NQPHLL.pir:7099)» | ||
jnthn | Don't think nqp knows those short colonpair forms | 13:21 | |
moritz | that's what I checked :-) | 13:22 | |
pmichaud | good morning, #perl6 | 13:28 | |
moritz | good morning pmichaud | ||
takadonet | pmichaud: morning | ||
13:28
orafu left,
masonkramer joined
|
|||
dalek | p: 026eb76 | moritz++ | src/HLL/Compiler.pm: start rewriting HLL::Compiler.parse in nqp |
13:29 | |
p: d63b1e1 | moritz++ | src/HLL/Compiler.pm: finish rewriting HLL::Compiler.parse in nqp |
|||
p: 5359d2b | moritz++ | src/stage0/ (6 files): update bootstrap |
|||
jnthn | pmichaud: morning o/ | ||
13:29
pernatiy left
13:30
pernatiy joined
13:31
hudnix joined
13:33
masonkramer left
|
|||
dalek | p: a954a63 | jonathan++ | src/ModuleLoader.pm: Make global merging slightly less dumb. |
13:36 | |
p: 4abbac4 | jonathan++ | src/stage0/ (6 files): Update bootstrap. |
|||
kudo/nom: 5389a40 | jnthn++ | src/perl6.p6: Uncomment use of Perl6::Actions, now global merging is improved a bit. |
13:49 | ||
kudo/nom: 63c9801 | jnthn++ | src/s1_setting.pir: Remove now-unused file; we won't build two stages of compiler any more. |
|||
13:58
ymasory joined
14:02
am0c left
14:04
Mowah joined
|
|||
tadzik | hello zebras | 14:05 | |
oh, good things happening :) | |||
moritz | \o | 14:08 | |
jnthn | o/ tadzik | 14:11 | |
14:14
anastropher joined
14:21
Su-Shee_ joined
|
|||
moritz | the remaining PIR code in HLL::Compiler is mostly scary | 14:22 | |
jnthn PIRs at it timidly | 14:24 | ||
14:24
Su-Shee left
|
|||
moritz | the code in command_line conditionally sets a push_eh, or maybe not | 14:25 | |
how do you emulate that in Perl 6? put the contents into a closure, and call it inside or outside a try { } block? | |||
dalek | kudo/nom: d58f6a3 | jnthn++ | build/gen_ (2 files): Toss a couple of build scripts we'll not need (or at least not in this form). |
14:26 | |
kudo/nom: a04f6bf | jnthn++ | build/ (2 files): Simplify gen_core_pm.pl, then just rename it to indicate it's a generic way to merge multiple .pm files into one. |
|||
kudo/nom: 43d946a | jnthn++ | src/Perl6/Metamodel/Naming.pm: Naming fix. |
|||
kudo/nom: 45e311e | jnthn++ | src/Perl6/Metamodel/PackageHOW.pm: Add a PackageHOW. |
|||
kudo/nom: 680368a | jnthn++ | src/Perl6/Metamodel/ModuleHOW.pm: Another naming fix. |
|||
kudo/nom: 6a271b4 | jnthn++ | build/Makefile.in: Start building up Perl6::Metamodel. |
|||
tadzik | hey, I haven't build the previous one yet! :) | 14:27 | |
14:27
Su-Shee_ is now known as Su-Shee
|
|||
tadzik | jnthn: things are expected to be broken, si? | 14:28 | |
moritz | tadzik: the previous one didn't allow you to do very much | ||
tadzik | well, make test ended in NPA in find_method('new') | 14:29 | |
I suppose it might be due to a lack of settings, no? | |||
moritz | due to the lack of current general sanity :-) | ||
tadzik | I'm excited anyway :) | ||
jnthn | tadzik: Yes, very broken. :) | 14:32 | |
moritz | it can still parse simple expressions | ||
jnthn | Oh, nice :) | ||
moritz | and funciton calls | ||
but no listops | |||
jnthn | Right, the whole notion of symbol table is changing, and listops depend on that. | 14:33 | |
14:33
ymasory left
|
|||
jnthn | My plan at the moment is to get some basic meta-objects in place, then build an extremely minimal setting, then work on symbol table and package creation refactors. | 14:34 | |
14:35
slavik left,
pyrimidine joined
|
|||
dalek | kudo: 6ae3c92 | colomon++ | src/core/Numeric.pm: Remove trailing blank lines. |
14:37 | |
colomon | git fail on the commit message there, sigh. | ||
14:39
slavik joined,
slavik left,
slavik joined
14:40
jaldhar left
14:42
justatheory joined
14:49
hercynium joined
14:50
nymacro left
|
|||
dalek | kudo/nom: 6d142ac | jnthn++ | / (6 files): Correct various compile errors in sketched out meta-objects and include them in Perl6::Metamodel. |
14:56 | |
15:00
molaf joined
15:01
wtw left
15:02
mkramer1 joined
|
|||
dalek | kudo/nom: 551fc57 | jnthn++ | / (3 files): Sketch out very initial bootstrappy bit in CORE.setting and add building it to the makefile. Doesn't actually build yet. |
15:07 | |
15:18
wamba joined
15:21
wamba left,
wamba joined
15:22
mkramer1 left,
mkramer joined
15:26
wamba left,
am0c joined
15:27
wamba joined,
asrocha joined
15:28
SHODAN joined
15:35
gbacon joined
|
|||
sorear | good * #perl6 | 15:39 | |
moritz | \o sorear | 15:40 | |
15:42
miso2217 left
|
|||
colomon | o/ | 15:42 | |
jnthn | ohhai | ||
tadzik | o| | ||
15:44
gbacon left
|
|||
dalek | p: bbd4b88 | jonathan++ | / (4 files): Factor NQP-specific bits out of HLL::SerializationContextBuilder so that we can use it also in Rakudo. |
15:45 | |
p: 120ff08 | jonathan++ | src/stage0/ (6 files): Update bootstrap. |
|||
15:45
risou joined
|
|||
jnthn | walk & | 15:46 | |
15:49
gbacon joined
15:51
jimmy1980 joined
15:56
envi joined
15:57
kaare_ joined
16:02
envi left,
gbacon left
16:03
Moukeddar joined
16:04
woosley left,
jimmy1980 left,
anastropher left
16:06
ymasory joined
16:07
envi joined
16:08
SHODAN left,
jimmy1980 joined
16:11
Holy_Cow joined,
Holy_Cow left
16:12
alester joined
16:14
mkramer left
16:15
am0c left,
alester left
16:17
orafu joined
16:23
PZt joined
|
|||
jnthn | back | 16:25 | |
16:27
mkramer joined
|
|||
tadzik | . o O ( walk & back ) | 16:29 | |
16:33
jimmy1980 left
16:39
mberends left,
Holy_Cow joined,
jimmy1980 joined
16:51
Lorn left
16:58
birdwindupbird joined
17:00
mj41 left
17:06
cdarroch joined,
cdarroch left,
cdarroch joined
17:12
Moukeddar left
17:14
asrocha left,
wamba left
17:21
jon8 joined
17:32
mj41 joined,
cotto_work joined
17:33
Chillance joined,
pernatiy left
|
|||
dalek | kudo/nom: 85da19e | jnthn++ | src/Perl6/Compiler/ (3 files): Remove some files that were part of old way of doing classes/packages. |
17:43 | |
kudo/nom: a76dfc1 | jnthn++ | / (3 files): Add Perl6::SymbolTable, which will manage the symbol table and compile time meta-objects. |
|||
kudo/nom: c9012bf | jnthn++ | src/Perl6/Grammar.pm: Toss a bunch of the existing symbol table handling, which will be replaced. |
|||
kudo/nom: fcb441b | jnthn++ | src/Perl6/SymbolTable.pm: Start to fill out some symbol table management bits. |
|||
kudo/nom: e30b924 | jnthn++ | src/Perl6/Grammar.pm: Some initial symbol management setup at the start of the compilation unit. |
|||
tadzik | May the 4th be with you! | 17:51 | |
17:53
wamba joined
|
|||
jnthn | <groan> | 17:54 | |
tadzik++ | |||
17:55
birdwindupbird left,
alester joined,
alester left
|
|||
tadzik | I almost missed it! | 17:56 | |
17:56
alester joined
17:57
jdhore joined
18:01
MayDaniel joined
|
|||
jnthn | Then you'd have had to wait a whole year to make it again! | 18:03 | |
tadzik | Last year I had to! | ||
18:09
fhelmberger left
|
|||
moritz | rakudo: role A { method c() { ... } }; role B { method c() { say "B::C" } }; class S does A does B { }; S.new.c | 18:20 | |
p6eval | rakudo 6ae3c9: OUTPUT«===SORRY!===Method 'c' collides and a resolution must be provided by the class» | ||
moritz | jnthn: should method stubs conflict with non-stubs? | ||
jnthn | no | 18:21 | |
that should be a requirement | |||
e.g. if S didn't end up with a c then it'd complain | |||
18:21
Vlavv_ left
|
|||
jnthn | Will be re-doing roles in nom anyway, so can try and deal with it then. | 18:22 | |
18:34
Vlavv_ joined
18:37
stkowski joined
18:39
fglock joined
|
|||
fglock | rakudo: if 1 { 123;; } | 18:39 | |
p6eval | rakudo 6ae3c9: ( no output ) | 18:40 | |
18:40
Vlavv_ left
|
|||
fglock | rakudo: say do if 1 { 123;; } | 18:40 | |
p6eval | rakudo 6ae3c9: OUTPUT«123» | ||
fglock | I wonder if the last statement is empty, the return value should be undef? | 18:41 | |
moritz | there is no undef | 18:46 | |
fglock | rakudo: say do if 1 { ;; } | 18:47 | |
p6eval | rakudo 6ae3c9: OUTPUT«» | ||
moritz | if at all, Nil | ||
jnthn | Could conceivably be Nil. | 18:48 | |
iirc, Rakudo just strips empty statements out at the moment. | |||
fglock | I wrote this by mistake in Perlito, and I've got an error - but I don't know what the correct behaviour would be | 18:50 | |
(123 or Nil) | |||
moritz | niecza: say do if 1 { 123;; } | ||
p6eval | niecza v4-76-g7bf5ef9: OUTPUT«» | ||
fglock | hmm | ||
moritz | niecza: say (do if 1 { 123;; }).WHAT | ||
p6eval | niecza v4-76-g7bf5ef9: OUTPUT«» | ||
moritz | niecza: say (do if 1 { 123;; }).perl | ||
p6eval | niecza v4-76-g7bf5ef9: OUTPUT«» | 18:51 | |
fglock | :P | ||
sorear | hrm | ||
niecza: say (do if 1 { 123;; }).typename | |||
p6eval | niecza v4-76-g7bf5ef9: OUTPUT«Parcel» | ||
sorear | so I gess Nil | ||
I thought niecza stripped out empty statements, fiwiw | 18:52 | ||
18:52
Helios left
|
|||
sorear | niecza: say (do if 1 { 123; }).typename | 18:52 | |
p6eval | niecza v4-76-g7bf5ef9: OUTPUT«Num» | ||
18:53
Helios joined,
Vlavv_ joined
18:58
MayDaniel left
19:03
Vlavv_ left
|
|||
colomon is watching fan-made lightsaber battles on youttube.com | 19:04 | ||
tadzik | (: | ||
19:11
Su-Shee left,
uasi joined
19:15
Su-Shee joined
19:16
Vlavv_ joined
19:20
ymasory left
19:21
mkramer left,
masak joined
|
|||
masak | #perl6! \o/ | 19:21 | |
jnthn | masak! \o/ | 19:22 | |
masak | lol hi from a train! | ||
fglock | masak: hi! | ||
jnthn | masak: look out...tunnel! | 19:23 | |
masak | you'll know a real tunnel is coming when I drop out from IRC. | ||
in other news, I suggest we abolish all nation borders. they're extremely silly. | 19:24 | ||
jnthn | :P | ||
+1 | |||
;) | |||
Or just visas :) | |||
tadzik | visas-- | ||
masak | visas are nation borders' prophet, reifying the silliness in unnecessary quantities. | ||
19:27
pernatiy joined
19:29
masak` joined
|
|||
masak` | that... might've been a tunnel. | 19:30 | |
I made gcd() return Int yesterday. been thinking it should be fail("Cannot take gcd of nothing") instead. | |||
19:32
starcoder left
19:33
starcoder joined,
masak left,
masak`` joined
|
|||
masak`` | this is more than enough backticks, thank you very much. | 19:34 | |
19:34
spq left
|
|||
dalek | ecs: a29e387 | moritz++ | S32-setting-library/Exception.pod: [S32/Exceptions] move %.payload into a separate class, based on feedback by sorear++ |
19:35 | |
19:36
masak` left
19:39
donri left,
donri joined
19:40
masak`` is now known as masak,
kaare_ left
|
|||
jnthn | .oO( he got ticked off with 'em... ) |
19:41 | |
19:43
stkowski left
|
|||
sorear | hello masak | 19:46 | |
19:46
masak left
19:47
masak joined
|
|||
masak | hi sorear. | 19:47 | |
I think some people here on-channel might appreciate the approach to language and linguistics in www.jsoftware.com/help/user/contents.htm | |||
19:49
spq joined
19:51
Holy_Cow left
19:52
hercynium left
19:53
hercynium joined
|
|||
masak | rakudo: sub look-and-say { (.chars ~ .substr(0, 1) for $^n.comb: /(.)$0*/).join }; .say for (1, { .&look-and-say } ... *)[^10] | 19:57 | |
p6eval | rakudo 6ae3c9: OUTPUT«1112112111112213122111311222111132132113113121113122113211311123113112211» | ||
masak | \o/ | ||
19:58
sftp left
19:59
sftp joined
20:00
wamba left
|
|||
masak | rakudo: sub look-and-say { (.chars ~ .comb[0] for $^n.comb: /(.)$0*/).join }; .say for (1, { .&look-and-say } ... *)[^10] | 20:03 | |
p6eval | rakudo 6ae3c9: OUTPUT«1112112111112213122111311222111132132113113121113122113211311123113112211» | ||
masak | maybe we should start recommending $s.comb[@slice] to people who clamor for $s[@slice] . | 20:04 | |
20:05
hercynium left
20:06
hercynium joined,
hercynium left,
hercynium joined
|
|||
sorear | masak: nooooo | 20:06 | |
masak | ;) | ||
jnthn | Efficient. ;) | ||
20:06
Mowah left
|
|||
sorear | Larry said to me once that Str had to support O(1) random access | 20:07 | |
when I was grilling him on NFG issues | |||
masak | of course, it doesn't work if you want rvalue behavior. | ||
20:08
y3llow_ joined,
pothos_ joined
|
|||
jnthn | $foo.substr(0, each(@slice)) gives you a junction of all of the things you want to replace | 20:09 | |
And substr gives back something that's an lvalue, iirc | |||
20:09
pothos left
|
|||
jnthn | Maybe something can be fashioned out of that :) | 20:10 | |
20:10
pothos_ is now known as pothos
|
|||
sorear | You don't think lvalue substr is insane? | 20:10 | |
20:10
y3llow left,
y3llow_ is now known as y3llow
|
|||
jnthn | sorear: I think it's int he spec, though I guess that's a different issue ;) | 20:10 | |
PerlJam | sorear: why do you think lvalue substr is insane? | 20:11 | |
masak | I don't mind lvalue substr, but I don't really believe implementations will provide it. | 20:12 | |
Juerd | lvalue substr is great. I want lvalue regex matches too. | ||
PerlJam | Juerd++ | ||
Juerd | substr(...) =~ s/// is fantastic | ||
masak | ooh! | 20:13 | |
Juerd | /.../g =~ s/// would be insanely nice. | ||
masak | now *that* I can get behind! | ||
jnthn | Darn, there goes my hope of not needing to implement it. :P | ||
Juerd | (Although Perl 6 regexes are probably powerful enough by themselves to make /.../g =~ s/// seem silly.) | ||
sorear | I'll add lvalue substr to Niecza later todya | 20:14 | |
Juerd | itym toldya ;) | 20:15 | |
20:16
hercynium left
|
|||
sorear | Juerd: the problm with /.../g is like this | 20:16 | |
my $foo = "abba"; ($foo ~~ m:g/a/) »~~« s/a/cc/; | |||
first, m:g/a/ makes slices [0] and [3] | 20:17 | ||
after the first replacement, $foo is "ccbba" | |||
does the second replacement produce "ccbcca"? | |||
since [3] doesn't mean what it used to... | 20:18 | ||
Juerd | That's not a very open minded approach to offsets | ||
I'm thinking of multi-user text editors that did somehow manage to solve this problem. Etherpad, subetha, Google Docs.. | 20:19 | ||
sorear | multi-user text editors have very heavyweight marks | ||
Juerd | Instead of the discoupled number you'd need to think of the offset as bound to the string. Whenever the string changes, the offset might have to change too. It's no longer just a number. | 20:20 | |
sorear | the variable has to have backreferences to the marks if it's going to update them | ||
Juerd | I'm sure that having a way to alias a substring even if it's moved within the string, is useful for many things. | ||
sorear | that means creating weak references in &substr | ||
Juerd | Same goes for array slices, by the way. | ||
sorear | which is... unacceptable | ||
etherpad is probably looking at a half dozen cursors | 20:21 | ||
it's entirely reasoable for a Perl 6 program to call substr a million times | |||
Juerd | That's just one way of implementing it... | ||
20:21
impious joined
|
|||
sorear | if you have a better idea, by all means share. | 20:21 | |
PerlJam | sorear: what are [0] and [3] from your example before? | 20:22 | |
sorear | PerlJam: slice indexes | ||
Juerd | I can imagine substrings being dynamically created properties of the string objects, to which you can refer. | ||
20:22
fglock left
|
|||
Juerd | The original string can't be fully destroyed until all of its substrings are no longer referenced | 20:23 | |
PerlJam | sorear: what sort of indexes exactly? indexes into what? what units are these indexes? | ||
Juerd | You could clean up unused portions, though | ||
PerlJam: I'm assuming character offsets | 20:24 | ||
PerlJam | Don't we have the same "problem" you just describe without lvalue substr because of unicode and the ability to switch between byteoffsets and codepoints and such at will ? | ||
Juerd | I think you do. | ||
sorear | no | ||
PerlJam | no? | 20:25 | |
Juerd | Unless you want to keep counting from 0 each time you use an offset... | ||
In some cases keeping a list of offsets and updating it will be faster, in some cases recalculating them will be faster. The threshold is probably a few MB. | |||
But multi-MB strings aren't so rare anymore. | 20:26 | ||
masak | cf genomes. | ||
or Java source code :P | |||
Juerd | Java source code is best destroyed line by line. | ||
masak | yes, but like water, it doesn't compress well. | ||
sorear | Juerd: No Perl 6 implementor has the ability to hook into the garbage collector like that | ||
Juerd | Begin at the end for performance reasons. | 20:27 | |
sorear: ...yet :) | |||
masak | "maybe the things that haven't landed by now really were pipe dreams" -- quoted because you didn't hear me say that. | 20:28 | |
Juerd | afk | ||
sorear | If we're willing to give up the ability to process 20MB log files with Perl, a lot of the shiny stuff becomes reasonable | 20:29 | |
masak | that sounds like a trade-off we don't want to make either way. | ||
Perl 6 is all about the shiny stuff *and* the 20MB log files. | 20:30 | ||
20:32
miso2217_ left
20:34
orafu left
|
|||
flussence | .oO( big strings should get special treatment internally, after all big numbers do... ) |
20:34 | |
20:35
orafu joined
20:36
miso2217 joined
|
|||
PerlJam | flussence: it's not even big strings that are a problem IMHO. what happens when you start with "abba" and substitute a multi-byte character for each "a"? IS the first step to recognize this and transform "abba" into a packed array of characters each as wide as the one you're substituting? Or do you do something smarter? :) | 20:38 | |
20:39
impious left
20:40
cdarroch left
20:42
jevin left
20:43
masak left,
masak joined
20:45
jevin joined
20:48
Lorn joined
20:49
miso2217 left
|
|||
flussence | hm, thinking about it, making fast unicode strings seems to have most of the obstacles making a fast filesystem does. And given how many people are still trying to do *that* I should probably stop pretending I have anything useful to add :) | 20:50 | |
20:50
spq left,
donri left
20:51
ymasory joined,
masak left
20:52
masak joined
20:53
miso2217 joined
|
|||
moritz | there's a reason some libraries implement strings as trees | 20:56 | |
20:57
starcoder is now known as scdr
20:58
awoodland joined,
donri joined
21:00
MayDaniel joined
21:06
plainhao left
|
|||
masak | moritz: yes, but does it make sense as the default Str implementation in Perl 6? | 21:07 | |
21:07
uasi left
|
|||
masak | it's not a rethorical question; I truly would like to know. | 21:08 | |
moritz | more sense for what? | ||
sorear | ask not the default string implementation; ask the features we expect of it | ||
masak | sorear++ | ||
sorear | in other words, what primitive methods do we need in the Str role? | 21:09 | |
masak | I guess that's the question that needs to be answered in depth before we move on to implementation, yeah. | ||
sorear | also, what functions do we need in Scalar? | ||
Str is immutable, anything that tracks "changes" in a string would need to go in Scalar | |||
masak | offhand, I think Str is a bit like Array; people will have conflicting, overlapping demands on it. a reasonable compromise between common uses will need to be found. | 21:10 | |
21:11
Helios left
|
|||
dalek | ecza: ac88a90 | sorear++ | Makefile: Use Makefile to control building of compiler modules This will 1. make builds a bit slower 2. make them use less memory 3. make -j work, most of the time |
21:11 | |
moritz found the parrot switch to immutable strings quite interesting | 21:12 | ||
immutable, non-tree strings that is | 21:13 | ||
things generally got a bit faster | |||
except that algorithms using lots of concatenations needed to be adapted to the new StringBuilder | |||
21:13
scdr is now known as starcoder
|
|||
sorear | Is there going to be a spec StringBuilder, I wonder? | 21:13 | |
moritz | because the old approach of just appending short strings to the one ever-growing string | ||
got much slower | 21:14 | ||
sorear: don't think so | |||
sorear | TimToady seems to think that Str will use a rope representation in limiting cases | ||
moritz | sorear: join() uses it under the hood | ||
(in rakudo and parrot at least) | |||
sorear | which is only a constalogarithmic factor slower than StringBuilder | ||
21:14
Helios joined
|
|||
moritz | or maybe Cat can be abused as a stringbuilder? | 21:15 | |
sorear | pushing strings onto an @array then calling @array.join at the end is almost as good, yeah | ||
I should probably change niecza's join to not be O(n^2) :) | |||
moritz | :-) | 21:16 | |
sorear | niecza: join("", ("ab" xx 10000)).substr(101,1).say | ||
p6eval | niecza v4-76-g7bf5ef9: OUTPUT«b» | ||
sorear | niecza: join("", ("ab" xx 100000)).substr(101,1).say | ||
p6eval | niecza v4-76-g7bf5ef9: OUTPUT«(timeout)» | ||
sorear | niecza: &infix:<~>(|["ab" xx 100000]).substr(101,1).say # this, however, DOES use stringbuilders | 21:17 | |
p6eval | niecza v4-76-g7bf5ef9: OUTPUT«b» | ||
21:20
icwiener left
21:24
masak left,
dakkar left
21:29
molaf left
21:36
silug left
21:37
justatheory left
21:47
mj41 left
21:54
jaldhar joined
21:55
bluescreen10 left
21:58
whiteknight joined
22:33
MayDaniel left
22:35
alester left
22:37
alester joined
22:59
alester left,
ymasory left
23:02
[Coke] left
23:06
[Coke] joined
23:09
justatheory joined
23:10
[Coke] left
23:14
[Coke] joined
23:16
noganex_ left
23:17
noganex joined,
[Coke] left
23:19
jimmy1980 left
23:21
cheako joined
|
|||
cheako | Hello, I've been banned from #perl for the last year and I was wondering if I can get some help from ne1 who uses CGI::Session? | 23:22 | |
23:23
[Coke] joined
|
|||
cheako | It's always returning undef on me. | 23:23 | |
Tene | cheako: I'm not aware of any ports of CGI::Session to Perl 6; sorry. | 23:25 | |
dalek | kudo/nom: 9d136fa | jnthn++ | src/Perl6/ (3 files): Eliminate @BLOCK in actions in favor of using Perl6::SymbolTable. Before we've often ended up splitting the symbol table stuff between grammar and actions, meaning that just getting a parse was easily broken. Now that stuff will mostly be handled in Perl6::SymbolTable. |
||
23:32
justatheory_ joined
23:33
justatheory left,
justatheory_ is now known as justatheory
23:34
rlb3_ joined
23:35
cognominal left
|
|||
dalek | kudo/nom: 4ba60a8 | jnthn++ | NOMMAP.markdown: Update nom branch roadmap; some bits are done, some plans are changed. |
23:36 | |
jnthn | sleep & | ||
23:36
rlb3_ is now known as rlb3
23:44
awwaiid left,
envi left
23:45
envi joined
23:46
ymasory joined
23:59
Chillance left
|