pugscode.org/ | nopaste: sial.org/pbot/perl6 | ?eval [~] <m oo se> | We do Haskell, too | > reverse . show $ foldl1 (*) [1..4] | irclog: irc.pugscode.org/ Set by diakopter on 11 July 2007. |
|||
00:01
theorbtwo left,
thoughtpolice joined
00:05
justatheory_ left
00:06
_go_ joined
00:11
stevan_ left
00:12
weinig left
|
|||
meppl | good night | 00:16 | |
00:16
stevan_ joined
00:18
weinig joined
00:19
weinig_ joined
00:24
_go__ left
00:35
weinig left
00:37
drupek12 joined
00:51
f0rth left
00:52
f0rth joined
00:55
[particle1 joined
00:57
c9s left,
c9s joined
00:58
nipotaway is now known as nipotan
01:01
devogon left
01:03
lyokato joined
01:04
jhorwitz left
01:05
Limbic_Region left,
knewt left,
knewt joined
01:09
[particle] left
01:15
cognominal_ left
01:18
[particle1 is now known as [particle],
cognominal_ joined
01:20
bsb left
01:21
lisppaste3 left
01:27
lisppaste3 joined
01:42
stevan__ joined
01:47
weinig_ left
01:48
stevan_ left
01:53
knewt_ joined
02:02
cnhacktnt joined
02:05
knewt left
02:21
cnhacktnt left
02:31
reZo joined
02:40
nipotan_ joined,
nipotan_ left,
nipotan_ joined
02:42
weinig joined
02:43
weinig left,
weinig joined
02:45
cnhackTNT joined
02:59
cnhackTNT left,
cnhackTNT joined
03:06
elmex_ joined
03:12
cnhackTNT left
03:13
Pomin joined
03:17
cnhackTNT joined
03:20
elmex left
03:28
Pomin left,
Pomin joined
03:30
reZo left
03:33
amnesiac joined
04:00
weinig is now known as weinig|bbl
|
|||
pugs_svnbot | r18619 | agentz++ | PCR - added -Ilib to some of the examples | 04:07 | |
diff: dev.pugscode.org/changeset/18619 | |||
lambdabot | Title: Changeset 18619 - Pugs - Trac | ||
pugs_svnbot | r18620 | agentz++ | PCR - added tracer/*.js and util/gen-tracer-view.pl | 04:19 | |
diff: dev.pugscode.org/changeset/18620 | |||
lambdabot | Title: Changeset 18620 - Pugs - Trac | ||
pugs_svnbot | r18621 | agentz++ | PCR - fixed the .js paths in util/gen-tracer.view.pl | 04:25 | |
diff: dev.pugscode.org/changeset/18621 | |||
lambdabot | Title: Changeset 18621 - Pugs - Trac | ||
pugs_svnbot | r18622 | agentz++ | PCR - removed debugging outputs from gen-tracer-view.pl | 04:28 | |
diff: dev.pugscode.org/changeset/18622 | |||
lambdabot | Title: Changeset 18622 - Pugs - Trac | ||
05:01
ofer left
05:10
Ashizawa joined
05:11
weinig|bbl is now known as weinig
05:13
araujo left
05:14
weinig is now known as weinig|away
05:15
baest left
05:17
baest joined
05:20
idiotmax_ joined,
lumi_ joined
05:23
idiotmax left
05:25
drupek1225 joined,
tcliou left
05:26
tcliou joined
05:28
melissa_1 joined
05:29
sri__ joined
05:30
OuLouFu joined,
melissa left
05:32
fridim left,
jisom joined,
ofer joined,
sri_ left
05:33
pugsbot_r17185 left,
pugs_svnbot left,
lumi left,
orafu left,
nothingmuch left
|
|||
moritz_ | good morning | 05:35 | |
the new URL of the IRC logger is irclog.perlgeek.de/perl6/today | 05:36 | ||
05:36
fridim joined
|
|||
lambdabot | Title: IRC log for #perl6, 2007-10-24 | 05:36 | |
moritz_ | after a short period of testing I'll redirect the URLs there | ||
could anybody with root access on feather please make irc.pugscode.org point there? | 05:37 | ||
05:39
drupek12 left,
devogon joined
|
|||
agentzh | moritz_: irc. was not configured via DNS settings? | 05:40 | |
05:42
melissa joined
|
|||
agentzh | moritz_: i do have the root access, but i'm not sure which config file i should look into :) | 05:42 | |
05:42
`nipra left
|
|||
moritz_ | agentzh: not DNS, it's the virtual host that redirects there | 05:43 | |
agentzh: /etc/apache2/sites-available/irc.pugscode.org | 05:44 | ||
05:45
nothingmuch joined
|
|||
moritz_ | gotta go :( | 05:50 | |
05:50
`nipra joined
05:52
silug left
05:54
cognominal_ left
06:05
melissa_1 left
06:07
ST47 left
06:12
`nipra left
06:17
cls_bsd left
|
|||
agentzh | moritz_: fixed now :) thanks :) | 06:19 | |
06:19
polettix left
|
|||
agentzh | hmm, it does not take effect... | 06:25 | |
it seems | 06:26 | ||
"sudo apachectl graceful" isn't enough? | |||
06:36
fglock joined
06:47
theorbtwo joined
06:49
lyokato left
06:50
lyokato joined
06:58
amnesiac left
07:15
kanru left
07:25
gorax joined
07:36
franck___ joined
07:38
`nipra joined
07:41
nipotan left
|
|||
meppl | good morning | 07:48 | |
fglock | kp6: sub f($a,$b){ say "$a:$b" }; f( 456, a=>123 ) | 07:49 | |
exp_evalbot | r18628: OUTPUT[123:456ā¤] | ||
fglock | meppl: good morning :) | ||
meppl | good morning fglock | ||
fglock | kp6: 'good morning' | 07:50 | |
exp_evalbot | r18628: OUTPUT['good morning'ā¤] | ||
07:51
silug joined
07:53
chris2 joined
07:58
nipotan_ is now known as nipotan
|
|||
spinclad | kp6: 'fglock++' | 07:59 | |
exp_evalbot | r18629: OUTPUT['fglock++'ā¤] | ||
fglock | kp6: sub f($a,$b){ say "$a:$b" }; f( 456, "a"=>123 ) | ||
exp_evalbot | r18629: OUTPUT[456:a 123ā¤] | ||
spinclad | quite right | ||
kp6: sub f($a,$b){ "$a:$b" }; f( 456, (a=>123) ) | 08:00 | ||
exp_evalbot | r18630: OUTPUT['456:a 123'ā¤] | ||
spinclad | good again | ||
kp6: sub f($a,$b){ "$a:$b" }; f( 456, :a(123) ) | |||
exp_evalbot | r18630: OUTPUT['123:456'ā¤] | ||
spinclad | good again | 08:01 | |
kp6: sub f($a,$b){ "$a:$b" }; f( 456, (:a(123)) ) | |||
exp_evalbot | r18630: OUTPUT['456:a 123'ā¤] | ||
spinclad | good again | ||
fglock++ | |||
fglock | :) | ||
spinclad | i'm not sure kp6 had to get all the surface syntax right (if it only implemented the compiler and runtime), but the semantics has to be there sooner or later | 08:03 | |
08:03
PerlJam left,
PerlJam joined
|
|||
spinclad | but it might as well | 08:03 | |
fglock | kp6: sub f($a,$b){ say "$a:$b" }; my $b = 456; f( :$b, "a"=>123 ) | 08:04 | |
exp_evalbot | r18630: OUTPUT[a 123:456ā¤] | ||
fglock | spinclad: the plan is to start merging the STD grammar in | 08:05 | |
spinclad | in which case it starts mutating into FullPerl6 | 08:07 | |
fglock | yes! | ||
spinclad | whee! | ||
fglock | we now have a regex engine based in Perl 5 regex, which should be faster (but less portable) than the current pure-perl6 engine | 08:10 | |
08:11
humile joined
|
|||
fglock | and we have a Match class that is both Perl 5 and Perl 6 compatible | 08:11 | |
spinclad | compatible with both kinds of ... hashes, arrays, regexes ? | 08:13 | |
a few moments while i read the changes... | 08:15 | ||
08:15
luqui joined
|
|||
fglock | spinclad: lib5regex/KindaPerl6/Runtime/Perl5/Match.pm | 08:16 | |
luqui | @paste | ||
lambdabot | Haskell pastebin: hpaste.org/new | ||
luqui | hpaste.org/3449 | 08:18 | |
How do I hint the strictness analyzer to make m strict? | |||
oops | |||
wrong channel | |||
hello everyone :-) | |||
spinclad | hey luqui! | ||
luqui | I've been silently lurking for some months... | 08:19 | |
how are things going/ | |||
fglock | luqui: hi | 08:20 | |
spinclad | i've started kibitzing again | ||
we've got a nice kinda something here to play with | 08:21 | ||
08:21
pmurias joined
|
|||
pmurias | kp6: sub f($a,$b) {say "a:$a b:$b";};f(b=>2,a=>1); | 08:22 | |
exp_evalbot | r18630: OUTPUT[a:1 b:2ā¤] | ||
08:23
ruoso joined
|
|||
pmurias | is it speced somewhere that positional arguments fallback to named ones?(not that it isn't handy) | 08:25 | |
luqui | pmurias, S06 surely | 08:26 | |
hmm, I wonder if the whole "sections" thing is dead | 08:27 | ||
kp6: sub f($a,$b) { say "a:$a b:$b" }; f(b=>2, 6) | |||
exp_evalbot | r18630: OUTPUT[a:6 b:2ā¤] | ||
luqui | kp6: sub f($a,$b) { say "a:$a b:$b" }; f(b=>2, 6, 9) | 08:28 | |
exp_evalbot | r18630: OUTPUT[a:6 b:2ā¤] | ||
pmurias | luqui: what "sections" thing? | ||
08:28
cognominal_ joined
|
|||
luqui | pmurias, previously, the first named argument would end the positional "section" and positionals afterward would only be considered for the slurpy array | 08:28 | |
something I was not so fond of | |||
but yes, you may pass named arguments instead of positionals to any function | 08:29 | ||
giving the decision of how to call the function to the caller :-) | |||
pmurias | S06:452 | 08:31 | |
re "sections" | 08:32 | ||
luqui | uh... I can't seem to find the synopses anymore | 08:33 | |
are they in pugs? | |||
pmurias | svn.perl.org/perl6/doc/trunk/design/syn | ||
lambdabot | Title: Revision 14466: /doc/trunk/design/syn | ||
08:33
kanru joined
|
|||
pmurias | according to my .svn/entries | 08:34 | |
luqui | oh right... duh... that was _my_ proposal :-) | ||
pmurias | there is a version with smartlinks somewhere | ||
luqui | it was changed while I was still here | 08:35 | |
hmm pipe "sigil"... that's new | |||
spinclad | 13:39:15 < TimToady> my mental model is that you march through the formals left to right finding either a named binding or the next position if there's no named binding. | 08:36 | |
pmurias | can you change the positionals name withought changing the api | 08:37 | |
? | |||
luqui | sub foo(:foo($bar)) {...} | ||
spinclad | (snippet from chat yesterday) | ||
luqui | which is a parameter named bar which looks like foo to the outside | 08:38 | |
pmurias | isn't it a named one then/ | ||
s/\/?/ | |||
luqui | (pmurias, do not take what I say too seriously, I may not have any idea what I'm talking about) | ||
spinclad | yes, that's a named-only parameter | ||
luqui | oh right | ||
fglock | hmm - kp6 is now 23% Perl 5, 20% Lisp, 11% Perl 6; the remaining is MiniPerl6 and a bit of C | ||
luqui | uh... I remember something being tossed around like sub foo($bar is named('z')) | 08:39 | |
sounds like a nice balance | |||
08:39
cls_bsd joined
|
|||
pmurias | fglock: chars or lines? | 08:40 | |
fglock | luqui: it would be nice to have a haskell backend :) | ||
pmurias: chars, including spaces | |||
spinclad | (so how would you say, this parameter is positional, named foo, aliased to $bar inside ? i think you can't) | ||
luqui | fglock, is that a request? :-) | ||
(I could get into that I think) | |||
fglock | yay! | 08:41 | |
luqui | fglock, you're talking about _generating_ haskell code, right, not using an interpreter | ||
? | |||
fglock | luqui: it would be nice to have a Perl6-in-Perl6 that supported haskell AND parrot | ||
yes, generating | |||
so that we can bootstrap in haskell too | |||
luqui | hm, okay, so what exactly is needed here? written in, generating to, etc? | 08:42 | |
spinclad | the code it generates could be a REPL tho if you feed it that... | ||
08:42
masak joined
|
|||
luqui | while i check out the massive pugs repo | 08:42 | |
fglock | luqui: kp6 emitters are written in MiniPerl6, and require a small native runtime | 08:43 | |
luqui | I should look at pugs/v6? | ||
spinclad | pugs/v6/v6-KindaPerl6 | ||
fglock | svn.pugscode.org/pugs/v6/v6-KindaPe...itor/Emit/ | 08:44 | |
lambdabot | Title: Revision 18630: /v6/v6-KindaPerl6/src/KindaPerl6/Visitor/Emit, tinyurl.com/ynqqq3 | ||
fglock | there is a compiler overview in svn.pugscode.org/pugs/v6/docs/kp6.jpg | 08:45 | |
agentzh | fyi, here's a more complicated example for the PCR tracer (not for kp6 yet): agentzh.org/misc/tracer/langs/index.html ;) | 08:47 | |
lambdabot | Title: Test | ||
08:49
chris2_ joined
|
|||
fglock | agentzh: amazing | 08:50 | |
agentzh | :) | ||
actually it's all from your amazing PCR ;) | 08:51 | ||
pmurias | agentzh: you could just show if simple atoms match or not withought displaying the trying stage | ||
it would quicken the pace of the trace | 08:52 | ||
agentzh | pmurias: quite reasonable :) | ||
fglock | the trying stage is nice to see, we could have both as an option then | ||
agentzh | pmurias: i'll provide an option for the user to control the level | 08:53 | |
and i'll also provide "random jump" rather than going step by step | |||
it's a TODO :) | |||
pmurias | agentzh: what would the "random jump" do? jump to a random point? | 08:54 | |
agentzh | rigth | ||
*right | |||
clicking a char in the input text | |||
and the tracer will jump to that | |||
and i'll provide a "Prev" button to going toward the other direction ;) | |||
*for going | 08:55 | ||
pmurias | and if it is possible to get there by multiple routes? | ||
agentzh | always get there the "next" match | ||
*by the "next" match | |||
luqui | fglock, what is a complete backend for reference? | ||
fglock | Perl5 is the most complete | 08:56 | |
pmurias | or Perl5Regex? | ||
luqui | wow agentzh, that's awesome | ||
fglock | yes, Perl5Regex extends Perl5 | 08:57 | |
08:57
iblechbot joined
|
|||
agentzh | luqui: i hope p5 regex engine will provide that as well ;) | 08:57 | |
luqui: so will PGE ;) | |||
08:58
`nipra left
09:00
`nipra joined,
kanru left
|
|||
agentzh | folks, feel free to hack on PCR/tracer/*.js and PCR/util/gen-tracer-view.pl directly :) | 09:00 | |
luqui | how do I run kp6? | 09:01 | |
agentzh | the tracer (generator) is already in the pugs repos | ||
fglock | $ perl script/kp6 -Bperl5rx <<< ' say "hi" ' | 09:02 | |
-Cast shows the AST | |||
09:02
chris2 left
|
|||
luqui | excellent | 09:02 | |
fglock | though you may want to process the AST before emitting, there are several options for that | 09:03 | |
eg: $ perl script/kp6 --do=Global -Cast <<< ' say "hi" ' | 09:05 | ||
the options are the names of the files in src/KindaPerl6/Visitor/* | 09:06 | ||
09:07
lyokato left
|
|||
luqui | is the visitor recursion explicit | 09:08 | |
through .emit? | |||
hmm, looks like no | |||
fglock | Traverse.pm takes care of that by default, unless you return a processed subtree | 09:09 | |
luqui | I don't understand the purpose of the if $node_name eq 'CompUnit' section of Visitor/Global.pm | 09:10 | |
09:11
humile left
|
|||
fglock | it's the Node class name (that's because MiniPerl6 didn't have enough introspection) | 09:11 | |
it will go away after bootstrap | |||
luqui | no, I mean the whole block's reason for existence | ||
fglock | looking | ||
luqui | looks like the identity... | ||
fglock | yes, it seems so | 09:13 | |
09:13
weinig|away left
|
|||
pmurias | luqui++ #code cleanup | 09:14 | |
luqui | what is the level of self-modification allowed by kp6? | 09:16 | |
i.e. can you mess with the global pad at runtime etc? | |||
fglock | yes | ||
if you can't, it's probably a bug | 09:17 | ||
luqui | okay, so my backend will be "sortof" interpreted | ||
I was wondering whether I could hope to have a 1-1 mapping between perl funcs and haskell (top-level) funcs | |||
how about local pads? | 09:18 | ||
%MY<foo> = 42; | |||
fglock | re global pad, see src/KindaPerl6/Visitor/Namespace.pm | ||
it's backend-specific, in Perl 5 local pads are objects | 09:19 | ||
mapped into native closures | |||
luqui | hmm, how do I run multiple --do args in sequence? | ||
fglock | but it also uses native pads | ||
with commas | |||
pmurias | luqui: --do Global,...,EmitPerl5 | 09:20 | |
luqui | k | ||
fglock | hmm - I get an error with $ perl script/kp6 --do=Global,Namespace -Cast <<< ' say "hi" ' | ||
luqui | okay, I'm just seeing what amount of "nativeness' I can compile to | 09:21 | |
the more native, the better haskell's gc can perform | |||
fglock | it should be able to desugar almost everything to arrays and hashes | ||
luqui | I kinda don't want it to do that for locals though; i.e. I'd like the name of a local to be able to be forgotten | 09:22 | |
09:22
weinig joined
|
|||
fglock | luqui: how about reuse Pugs infrastructure? | 09:22 | |
runtime | |||
luqui | would that help anything? | ||
fglock | I don't know, just asking | 09:23 | |
luqui | unless it has been significantly cleaned up, I kinda don't want to | 09:24 | |
(but it has been a long time since I've seen it) | |||
there were way too many special cases for features implemented all over the place; I wouldn't really know which ones were doing what | |||
(and it had the same problem with pads not forgetting variable names) | |||
okay. if it helps the bootstrap process that will work, but if it's only the amount of work for me, I think I'd rather not | |||
fglock | restarting from scratch is good | 09:25 | |
(you reuse the experience) | 09:26 | ||
luqui | fglock, does kp6 run like ruby... i.e. there are not multiple phases? | 09:37 | |
(judging from: foo(); sub foo() { say 'hi' } ) | 09:38 | ||
09:38
gorax` joined
|
|||
fglock | not sure what you mean - one-pass compilation? | 09:38 | |
09:38
gorax left
|
|||
luqui | no, more like, is sub foo() { say 'hi' } exactly equivalent to our &foo := sub () { say 'hi' } | 09:39 | |
or is there like an implicit BEGIN around it? | |||
pmurias | luqui: it's a bug | ||
or rather something not implemented yet | 09:40 | ||
fglock | both - there is a BEGIN around our &foo := sub () { say 'hi' } | ||
looking | |||
pmurias | luqui: kp6 support BEGIN blocks | 09:42 | |
*supports | 09:43 | ||
fglock | it's broken | 09:44 | |
luqui | I opt to ignore them for now :-) | ||
fglock | thanks | ||
the infrastructure is there - it's fixable | 09:45 | ||
kp6: my $x; say $x; BEGIN { $x = 123 } | 09:49 | ||
exp_evalbot | r18630: OUTPUT[123ā¤] | ||
09:50
jisom left
|
|||
fglock | I think subroutine serialization is broken | 09:50 | |
pmurias | fglock: provisional calls are not implemented yet | 09:56 | |
09:58
pmurias left
|
|||
fglock | kp6: my &x; sub y { say 123 }; x(); BEGIN { &x := &y } | 09:59 | |
exp_evalbot | r18630: OUTPUT[Syntax error serializing BEGIN block, after position 8 in: $Code_x = ā¤] | ||
10:06
sclv left
10:07
sclv joined
10:09
lyokato joined
|
|||
luqui | kp6: my @x = (1,2,3); say @y | 10:09 | |
er | |||
exp_evalbot | r18631: OUTPUT[syntax error at position 6, line 1 column 6:ā¤my @x = (1,2,3); say @ā¤ ^ HEREā¤] | ||
luqui | kp6: my @x = (1,2,3); say @x | ||
exp_evalbot | r18631: OUTPUT[syntax error at position 6, line 1 column 6:ā¤my @x = (1,2,3); say @ā¤ ^ HEREā¤] | ||
fglock | kp6: my @x = [1,2,3]; say @x | 10:10 | |
exp_evalbot | r18631: OUTPUT[1 2 3ā¤] | ||
fglock | List is not implemented | ||
adding to TODO | 10:11 | ||
moritz_ | agentzh: the tracer is _so_ cool | 10:20 | |
agentzh: I | |||
agentzh: I'm waiting for the web interface breathlessly | |||
ie where you can enter your own rules and text to match | |||
agentzh | moritz_: that will require a server-side mechanism ;) | 10:21 | |
moritz_ | agentzh: I know ;) | ||
agentzh | moritz_: unless someone ports PCR over to JS ;) | ||
moritz_ | agentzh: server side is better ;) | 10:22 | |
agentzh | *nod* | ||
fglock | agentzh: that's a plan | ||
agentzh | fglock: really? | ||
fglock: porting PCR to JS ? | |||
moritz_ | agentzh: but if there is a simple command line interface I might write a CGI wrapper for it | ||
fglock | agentzh: writing a JS backend to MP6 or KP6 | ||
agentzh | fglock: cool | ||
moritz_: there is :) | 10:23 | ||
moritz_: see the POD in PCR/util/gen-tracer-view.pl for details :) | |||
moritz_ | agentzh: I'll look at it as soon as I have the tuits | ||
agentzh | moritz_: great :) | ||
moritz_: i'm blogging about this tool right now ;) | |||
moritz_: will post it to audrey's blog site soon | |||
moritz_ | YaY | ||
agentzh | :) | 10:24 | |
luqui | kp6: { 1 => 2 }.{1} | 10:25 | |
exp_evalbot | r18631: OUTPUT[no method 'APPLY' in Class 'Pair'ā¤ at compiled/perl5-kp6-mp6/lib/KindaPerl6/Runtime/Perl5/MOP.pm line 132ā¤ KindaPerl6::Runtime::Perl5::MOP::__ANON__('KindaPerl6::Runtime::Perl5::DispatchSugar::Dispatch=HASH(0x81...', 'APPLY') called at | ||
..compiled/perl5-kp6-mp6/lib/KindaPerl6/Runtime/Perl5/MOP.pm line 36ā¤ main::DISPATCH('KindaPerl6::Runtime::Perl5:...] | |||
luqui | how do you do hashes? | 10:26 | |
moritz_ | kp6: my %h={a => b}; say %h{"a"} | 10:27 | |
exp_evalbot | r18631: OUTPUT[DISPATCH: calling APPLY on invalid object:$VAR1 = {};ā¤ā¤ at compiled/perl5-kp6-mp6/lib/KindaPerl6/Runtime/Perl5/MOP.pm line 33ā¤ main::DISPATCH('undef', 'APPLY') called at - line 22ā¤] | ||
moritz_ | I thought fglock++ fixed that bug yesterday | ||
luqui | also, how do I determine variable scope from ast? | 10:28 | |
it doesn't look like it's coded | 10:29 | ||
fglock | kp6: my %h={a => "b"}; say %h{"a"} | ||
exp_evalbot | r18631: OUTPUT[bā¤] | ||
luqui | oh there it is | ||
pad => ::Pad(...) | |||
kp6: {a => "b"}.{"a"} | |||
exp_evalbot | r18631: OUTPUT[no method 'APPLY' in Class 'Pair'ā¤ at compiled/perl5-kp6-mp6/lib/KindaPerl6/Runtime/Perl5/MOP.pm line 132ā¤ KindaPerl6::Runtime::Perl5::MOP::__ANON__('KindaPerl6::Runtime::Perl5::DispatchSugar::Dispatch=HASH(0x86...', 'APPLY') called at | 10:30 | |
..compiled/perl5-kp6-mp6/lib/KindaPerl6/Runtime/Perl5/MOP.pm line 36ā¤ main::DISPATCH('KindaPerl6::Runtime::Perl5:...] | |||
10:30
BooK_ joined
|
|||
fglock | {a => "b"}{"a"} | 10:31 | |
kp6: {a => "b"}{"a"} | |||
exp_evalbot | r18631: OUTPUT[no method 'LOOKUP' in Class 'Pair'ā¤ at compiled/perl5-kp6-mp6/lib/KindaPerl6/Runtime/Perl5/MOP.pm line 132ā¤ KindaPerl6::Runtime::Perl5::MOP::__ANON__('KindaPerl6::Runtime::Perl5::DispatchSugar::Dispatch=HASH(0x83...', 'LOOKUP', | ||
..'KindaPerl6::Runtime::Perl5::DispatchSugar::Dispatch=HASH(0x83...') called at compiled/perl5-kp6-mp6/lib/KindaPerl6/Run...] | |||
fglock | kp6: {a => "b", x => "y"}{"a"} | ||
exp_evalbot | r18631: OUTPUT['b'ā¤] | ||
moritz_ | so multiple pairs form a hash, and hash lookup works? | 10:32 | |
fglock | yes | ||
moritz_ | but pair lookup doesnt | ||
fglock | that's easy to fix :P | ||
I'm just adding to TODO for now | 10:33 | ||
10:35
Pomin left
|
|||
luqui | isn't there a perl prelude? | 10:36 | |
it seems odd to have both print and say in the platform prelude | |||
for example... | |||
fglock | src/KindaPerl6/Runtime/Perl6/Prelude.pm | 10:38 | |
we can move &say() to there | |||
luqui: the reason is that we didn't have "\n" until recently | 10:39 | ||
luqui | aha | ||
10:41
lyokato left,
BooK_ left
|
|||
fglock | kp6: my @x = (1,2,3); say @x | 10:44 | |
exp_evalbot | r18633: OUTPUT[1 2 3ā¤] | ||
fglock | kp6: my $x = gather { while 1 { take 42 } }; say $x[5]; | 10:48 | |
exp_evalbot | r18634: OUTPUT[42ā¤] | ||
luqui | fglock++ (goes without saying) | ||
fglock | kp6: my $x = gather { while 1 { print "thinking... "; take 42 } }; say $x[5]; | 10:50 | |
exp_evalbot | r18634: OUTPUT[thinking... thinking... thinking... thinking... thinking... thinking... 42ā¤] | ||
luqui | wait... what? | 10:52 | |
oh | |||
okay | |||
I read that as while 1 { take "thinking" }; take 42 | 10:53 | ||
btw, how'd you do that!? | |||
do a closure transform turning it into cps? | |||
or use the scheme coro stuff? | 10:54 | ||
or.. what? | |||
oh, what backend is that on? | 10:55 | ||
fglock | that's the Perl 5 backend | 10:56 | |
it uses Coro.pm | |||
luqui | ahh that dark magic | 10:57 | |
fglock | turning it into cps was plan B | ||
luqui thanks the lawd for ContT :-) | 10:58 | ||
fglock | otoh, transforming to closures would make it very portable | 11:10 | |
agentzh | new journal entry: pugs.blogs.com/pugs/2007/10/a-graphical-tra.html | 11:26 | |
lambdabot | Title: Pugs: A graphical tracer for Perl 6 regexes based on PCR | ||
agentzh | comments welcome :) | ||
11:27
chris2_ left
|
|||
fglock | perl5rx now passes all but 2 tests (junction and token-sym) | 11:29 | |
agentzh | fglock: great | 11:30 | |
fglock | we need eval() and try() in order to run ext/Test | 11:34 | |
11:35
nipotan is now known as nipotaway
|
|||
fglock | kp6: say {a => "b"}{"a"} | 11:37 | |
exp_evalbot | r18636: OUTPUT[bā¤] | ||
11:46
cnhackTNT left
11:53
iblechbot left
|
|||
fglock | kp6: say {a => "b"}.{"a"}, (1,2,3).[1], [1,2,3].[2] ; | 11:54 | |
exp_evalbot | r18639: OUTPUT[b23ā¤] | ||
fglock | lunch & | 11:55 | |
12:10
Ashizawa left
12:18
fglock left
12:20
demq is now known as dmq
12:23
funktio joined
12:28
riffraff joined
12:41
mykhal joined
12:43
kanru joined,
toshinori left
12:53
cmarcelo joined
12:54
masak left
|
|||
moritz_ | agentzh: are you still around? | 13:07 | |
13:07
IllvilJa left
13:08
kyrbe joined
|
|||
moritz_ | or any other feather admin? | 13:08 | |
13:09
kyrbe left
|
|||
moritz_ | agentzh++ changed the irc.pugscode.org redirect to the new URL, but it needs a /etc/init.d/apache2 reload | 13:09 | |
13:10
iblechbot joined
|
|||
moritz_ | where is svnbot? | 13:19 | |
13:19
luqui left,
pugs_svn joined
|
|||
moritz_ | I'll send the new one in again | 13:19 | |
pugs_svn | r18614 | moritz++ | [irclog] more template whacking | ||
r18615 | moritz++ | [irclog] channel indexes are cached as well | |||
r18616 | moritz++ | [irclog] don't send xhtml header for channel index (which isn't valid xhtml) | |||
r18617 | moritz++ | [irclog] fixed caching for channel index | |||
r18618 | moritz++ | [irclog] fixed previous commit. Hopefully. | |||
r18619 | agentz++ | PCR - added -Ilib to some of the examples | |||
r18620 | agentz++ | PCR - added tracer/*.js and util/gen-tracer-view.pl | |||
r18621 | agentz++ | PCR - fixed the .js paths in util/gen-tracer.view.pl | |||
13:19
pugs_svn left,
gorax` left
|
|||
moritz_ | oups, it shouldn't replay all those that it missed :( | 13:20 | |
13:20
pugs_svn joined
|
|||
moritz_ | sorry for the spam | 13:20 | |
13:24
dmq left
|
|||
wolverian | I didn't mind | 13:25 | |
moritz_ | good ;) | 13:26 | |
13:28
ruz left,
ruz joined
13:39
pmurias joined
13:41
masak joined
13:53
TJCRI joined
|
|||
wolverian | agentzh, the regex tracing toolthingy is very very cool, nice work | 14:08 | |
moritz_ | indeed ;) | 14:10 | |
14:10
fglock joined,
knewt_ left
|
|||
pugs_svn | r18641 | fglock++ | [kp6-perl5] remove say() from Runtime/Perl5 | 14:14 | |
fglock | TODO lists are nice when they work :) | ||
moritz_ | fglock: especially if they work as "that's for _YOU_ TO DO" | 14:15 | |
;-) | |||
fglock | code reviews are nice too | ||
moritz_: heh | |||
moritz_ | fglock: code reviews like that from luqui++ earlier today? | 14:16 | |
fglock | yes | ||
moritz_ | so when I moved say() to Perlude.pm I just deleted the calling part from MOP.pm, but not the implementation? | 14:18 | |
fglock | hmm - I don't remember what was in MOP - looking | 14:20 | |
moritz_ | $meta_Value->add_method('say', ...) | 14:21 | |
fglock | ah, that shouldn't be there, I think | 14:22 | |
I need to review the spec about when to redirect (methods x subs) - what Sxx is that? | 14:23 | ||
14:24
toshinori joined
14:25
perlbot left,
vbattsAtWork joined
|
|||
fglock | hmm - .arity counts required parameters - are parameters in pointy subs required by default? | 14:28 | |
ok, got it | |||
fixing | |||
pugs_svn | r18642 | fglock++ | [kp6] Grammar - params are required, unless specified | 14:32 | |
14:33
weinig left
14:34
weinig joined
14:37
vbattsAtWork left
14:43
amnesiac joined
14:45
franck____ joined
14:50
franck___ left
|
|||
fglock | people smoke a lot in Portugal :( | 14:56 | |
moritz_ | that's hard for non-smokers | 14:58 | |
or people with lungs, in general | |||
fglock | except for the subway, they smoke everywhere | 14:59 | |
moritz_ | smoke--- | 15:01 | |
(smoke testing)++ | |||
fglock | :) | ||
we need a bootstrapping script | 15:03 | ||
I wish I could understand the Makefile :P | |||
moritz_ | kp6: my $var; if defined($var) { say "not ok" } else { say "ok" } | 15:04 | |
exp_evalbot | r18642: OUTPUT[okā¤] | ||
fglock | I think the top_targets section needs to be plit | ||
split | 15:05 | ||
moritz_ is a Makefile noob :( | |||
fglock | I'll try and see if it works | ||
moritz_ | if I change t/01-sanity/07-defined.t to call 'defined($var)' instead of 'defined $var', the test passes for kp6 | 15:07 | |
should I commit that change? | |||
I think it's a more general question: should the 01-sanity tests have very, very simple syntax? | 15:08 | ||
masak | while I remember it, there's a mis-attribution going on over at planetsix.perl.org in which blog posts by avar++ and agentzh++ all get attributed to audreyt | 15:11 | |
maybe someone with privs should rename that blog to just "Pugs" or something | |||
moritz_ | or "perl6 dev" or something | 15:12 | |
it's not all pugs ;) | |||
masak | moritz_: ack | ||
pugs_svn | r18643 | fglock++ | [kp6] added KP6-BOOT target (compiles KP6-KP6 using KP6-MP6) | 15:15 | |
fglock | moritz_: I was looking for the spec on sub/method calls, then I got distracted | 15:16 | |
15:16
dlocaus joined
|
|||
fglock | it's probably better to just fix the impementation | 15:16 | |
implementation | |||
I haven't found the docs yet :P | 15:17 | ||
kp6: my $var; if defined: $var { say "not ok" } else { say "ok" } | 15:18 | ||
exp_evalbot | r18643: OUTPUT[syntax error at position 19, line 1 column 19:ā¤my $var; if defined: $var { say "not ok" } else { say "ok" ā¤ ^ HEREā¤] | ||
15:19
rlb3_work joined
|
|||
moritz_ | fglock: ok, never mind then | 15:20 | |
15:20
rlb3_work_ left
|
|||
fglock | moritz_: that's fixable | 15:20 | |
moritz_ | fglock: yes, but probably not worth the trouble if we switch to STD.pm anyway | 15:21 | |
15:22
mr_ank_ joined
|
|||
pugs_svn | r18644 | moritz++ | [kp6] more verbose error messages in Gramar::Sub | 15:29 | |
moritz_ | fglock: I'm looking at it anyway... in which of the Grammar files can I find subroutine calles? | 15:30 | |
fglock | Grammar.pm:527 - but it looks right | 15:31 | |
moritz_ | yes, it does | 15:32 | |
15:34
mr_ank left
|
|||
pmurias | moritz_: 01-sanity tests should test for things which are required for running Test.pm | 15:36 | |
so they should have as simple syntax as Test.pm uses | 15:37 | ||
moritz_ | ok | ||
fglock | moritz_: the error is a bad interaction between "if" and "apply" | 15:38 | |
apply is too greedy | |||
pugs_svn | r18645 | moritz++ | [irclog] a few small template tweaks | 15:41 | |
pmurias | fglock: how should i test in mp6 if an array is empty? | 15:44 | |
15:44
dlocaus left
|
|||
fglock | pmurias: looking | 15:44 | |
pmurias | i'm thinking of wraping access to variables with a $.namespace with ::BOX(...) which would turn undef into ::Undef instances | 15:46 | |
15:46
dlocaus joined
|
|||
pugs_svn | r18646 | moritz++ | [irclog] caching of all output pages except the one today | 15:49 | |
fglock | pmurias: if @a ... should work | ||
pmurias: not sure, but aren't you hiding a bug? | |||
15:50
drupek1225 left
|
|||
ruoso | pmurias, I would rather implement the scope and namespace in kp6 level instead | 15:50 | |
instead of trusting in p5 namespace and scope | |||
pugs_svn | r18647 | moritz++ | [irclog] fixed previous commit, it was caching too much | 15:51 | |
pmurias | ruoso: yes, it would be better | ||
15:51
mr_ank_ left
|
|||
pmurias | in the case of p5 namespaces, algthough kp6 scope could be much slower | 15:52 | |
the problem occurs only when accesing namespaces | 15:53 | ||
pugs_svn | r18648 | fglock++ | [kp6-kp6] fixed boot target; added missing files | 15:54 | |
fglock | hmm - $ KP6_TARGET=KP6-BOOT perl Makefile.PL ; make # nothing useful happens | 15:55 | |
decommute & | 15:59 | ||
pmurias should be focusing on his Polish Olympiad in Informatics tasks, but kp6 keeps distracting him ;) | 16:03 | ||
moritz_ should do other things as well | 16:07 | ||
but most of them aren't that much fun | |||
16:09
dlocaus left
16:15
justatheory joined
16:16
weinig left
16:20
fglock left
16:27
drupek1225 joined
16:31
fglock joined
16:36
bkaney joined
16:37
masak left
|
|||
fglock | an Olympiad in Informatics looks cool | 16:38 | |
I've got a working Makefile.PL :) | |||
moritz_ | that's cool as well ;) | 16:41 | |
16:42
shlomif joined
16:43
shlomif is now known as rindolf
|
|||
fglock | the problem was the directory names in Makefile.PL were wrong | 16:47 | |
pugs_svn | r18649 | fglock++ | [kp6] working kp6-kp6 bootstrap script (4 files fail to compile): | 16:54 | |
r18649 | fglock++ | $ KP6_TARGET=KP6-BOOT perl Makefile.PL ; make | |||
moritz_ | fglock: do I need a 'forcerecompile' to get it working? | 16:55 | |
16:55
weinig joined
|
|||
fglock | kp6-kp6 doesn't work yet | 16:57 | |
moritz_ | I meant the compilation process ;) | 16:58 | |
pugs_svn | r18650 | fglock++ | [kp6-kp6] move kp6.p6 to src-script/kp6-kp6.pl; it compiles to script/kp6-kp6.pl | 16:59 | |
fglock | moritz_: not sure - just touch some file in src/ and see if it works | 17:00 | |
17:03
franck____ left
|
|||
moritz_ | fglock: seems like, yes | 17:03 | |
fglock | great - I'll take a look at the compilation failures | 17:04 | |
pugs_svn | r18651 | fglock++ | [kp6-kp6] changed Makefile.PL so that kp6-kp6 really compiles using itself | 17:08 | |
17:08
pmurias left
17:09
weinig left
17:13
weinig joined
17:19
Psyche^ joined
|
|||
pugs_svn | r18652 | fglock++ | [kp6] missing semicolon in Visitor/Emit/Perl5Regex.pm (not a bug in MP6) | 17:21 | |
moritz_ | make: *** No rule to make target `kp6-kp6.pl', needed by `all'. Stop. | 17:22 | |
pugs_svn | r18653 | moritz++ | [kp6] Makefile.PL: fixed path to kp6-kp6.pl | 17:24 | |
17:29
dlocaus joined
|
|||
fglock | oops - i also fixed that | 17:30 | |
17:30
Patterner left,
Psyche^ is now known as Patterner
|
|||
fglock | I'll try to merge | 17:30 | |
moritz_ | did I forget to 'svn up'? | 17:31 | |
fglock | no, I didn't commit | 17:32 | |
pugs_svn | r18654 | fglock++ | [kp6-kp6] updated MANIFEST | ||
fglock | moritz_: no problem :) | ||
moritz_ | fglock: ok ;) | ||
pugs_svn | r18655 | fglock++ | [kp6-perl5] missing file | 17:34 | |
dlocaus | svn.pugscode.org/pugs/v6/v6-KindaPe...t/Perl5.pm | ||
For class Val::Int; in the return string where is $.int defined? | |||
lambdabot | tinyurl.com/yqzgby | ||
fglock | dlocaus: Val::Int is declared in AST.pm; the emitter just adds new methods | 17:39 | |
dlocaus | humm, neat. So a class can be redefined... | 17:40 | |
fglock | yes, classes are "open" | ||
the kp6-kp6 problem with KindaPerl6::Grammar::Term is a perltidy warning - may be not an error | 17:42 | ||
17:54
rindolf left
|
|||
pugs_svn | r18656 | fglock++ | [kp6] added --noperltidy option to script/kp6 (default is --perltidy) | 17:57 | |
r18657 | fglock++ | [kp6] fixed last commit | 18:00 | ||
fglock | hmm - perltidy seems to be confused because it found a '/' inside a regex | 18:07 | |
18:07
zostay_ joined
18:08
zostay left
18:09
jisom joined,
zostay_ is now known as zostay
|
|||
fglock | fixing | 18:11 | |
dlocaus | I'm a bit confused on something... why was the AST/Emit code writin in perl6? | 18:13 | |
I also admit to being a bit confused on how this bootstrapping also works. | 18:14 | ||
moritz_ | dlocaus: the idea is that if the compiler can compile itself, you can be pretty sure it's not too buggy | 18:15 | |
dlocaus: so you write the compiler in the same language as it implements | |||
dlocaus: but since p6 is a rather complex and big language, fglock++ started with a small subset, and called it "MiniPerl6" or mp6 | |||
dlocaus | so the having the compiler compile itself, is an inherant self-test. | 18:16 | |
moritz_ | dlocaus: right | ||
dlocaus: and of the initial compiler there was a perl6 and a miniperl6 version | |||
perl5 and miniperl6, sorry | |||
fglock | dlocaus: yes | ||
18:16
pmurias joined
|
|||
dlocaus | if mp6 is writtin in perl5, kp6 uses mp6 to produce p6/p5/parrot code, how do you know that mp6 is written correctly? | 18:16 | |
fglock | dlocaus: mp6 is written in mp6 | 18:17 | |
moritz_ | dlocaus: mp6 is written in mp6, only an initial version was written in perl5 | ||
pmurias | dlocaus: and it isn't written completly correctly ;) | ||
dlocaus blows a brain fuse. | |||
fglock | moritz_: the initial version was in v6.pm :) | ||
moritz_ | dlocaus: but it emits perl5 (and parrot, I think) | ||
fglock: ok ;) | |||
dlocaus: so on top of that fairly simple compiler, kp6 is build | 18:18 | ||
fglock | and v6.pm was written with PCR, which was written with lrep... | ||
moritz_ | .oO( long bootstrapping chain ;) |
||
fglock | lrep was written with lrep, but the very first version was Perl 5 | 18:19 | |
log, long ago | |||
long | |||
dlocaus | so on the way to a full p6 version is as moritz_ said a long bootstrapping chain, each iteration of mp6 -> kp6 -> (almost there perl6) x N -> p6. | ||
moritz_ | dlocaus: yes, that's one of the ways | 18:20 | |
dlocaus: another one is the bottom-up path that the parrot folks take | |||
and yet another one is pugs, a fairly top-down approach | |||
18:21
barney joined
|
|||
fglock | v6 is middle-up-bottom | 18:21 | |
dlocaus | v6? | 18:22 | |
18:22
perlbot joined
|
|||
fglock | v6 as in v6/v6-KindaPerl6 | 18:22 | |
moritz_ | dlocaus: search.cpan.org/~fglock/v6-0.020/lib/v6.pm | ||
lambdabot | Title: v6 - An experimental Perl 6 implementation - search.cpan.org | ||
moritz_ | fglock: I thought you meant v6.pm ;) | 18:23 | |
fglock | it's the parent project for Perl6-in-Perl6 | ||
that also :) | |||
buy food & | 18:24 | ||
pmurias | dlocaus: another reason for writing the compiler in perl6 is that you get to use a cool language | 18:26 | |
dlocaus | I'm trying to figure out what happened to the details. | 18:29 | |
who is responsible for sorting out the name spaces? who is responsible for finding variables (global/file/lexical), who is responisble for sorting out the calling chain? who is responisble for handing overloaded class function calls. | 18:30 | ||
18:31
perlbot left,
Torment joined
18:32
blindfish joined
|
|||
moritz_ | dlocaus: I'm sure fglock will give you a better answer than I'm able to when he's back | 18:34 | |
dlocaus | moritz_: I'm reading up on the PIR. ;) | 18:35 | |
18:37
dduncan joined
|
|||
pmurias | dlocaus: who or what? | 18:38 | |
18:38
funktio left
|
|||
dlocaus | pmurias: sorry, what is responsible... for .. :) | 18:38 | |
pmurias | overloaded class function calls in the c++ sense ? | 18:39 | |
dlocaus | yes. | ||
virtual functions. | |||
moritz_ | is that MOP.pm? | 18:40 | |
pmurias | Multi | ||
src/KindaPerl6/Runtime/Perl6/Multi.pm | |||
it's in very early stages | |||
sorting out the calling chain == caller? | 18:41 | ||
fglock | dlocaus: would you split that into small easy questions? | ||
moritz_ | pmurias: I think dlocaus is refering to inheritance | ||
dlocaus | :) | ||
18:41
marmic left
|
|||
pmurias | dlocaus: MOP is responsible for inheritance | 18:42 | |
fglock | dlocaus: when you find out you should write it down in docs/ | ||
moritz_ | ;) | ||
dlocaus | I'm looking at the Visitor/Emit code, and reading up a bit on the PIR, trying to find where issues of inheritance, overloading, variable namespace resolution and other ugly details of programming (the neato stuff) is located. | 18:43 | |
fglock | now get to have the food cooked | ||
pmurias | if you can't find out something, someone else can fill it in | ||
moritz_ | dlocaus: since parrot implements quasi all of p6's object model, you don't have to do that manually | ||
pmurias | dlocaus: you might want to check out the PAST | 18:44 | |
moritz_ | dlocaus: at least the inheritance part | ||
18:44
IllvilJa joined
|
|||
fglock | the notebook fits nicely over the microwave (I wonder if the microwave interferes with the gprs modem) | 18:44 | |
dlocaus | so parrot is just a trimed down p6? abit uglier? | ||
moritz_ | dlocaus: no, parrot is a virtual maschine | 18:45 | |
pmurias | for dynamic languages | ||
dlocaus | sorry, parrots assembly language is a trimmed down p6? | ||
moritz_ | dlocaus: _very_ much trimmed down - for example no regexes, no junctions, no ... | ||
[particle] | dlocaus: parrot has a very expressive object model | ||
pmurias | and a lot uglier | 18:46 | |
fglock | dlocaus: some of these things will need parrot-specific hacks (some of them are under-documented) | ||
but #parrot people are sure willing to help | |||
dlocaus | ah, ok. So parrot will be doing the "ugly" stuff that will make p6. | ||
pmurias | PAST spec: pdds/draft/pdd26_ast.pod in the parrot repo | 18:47 | |
moritz_ | some of it, yes | ||
18:49
Jedai left
|
|||
fglock | dlocaus: Parrot implements most of the semantics; the compiler implements the syntax | 18:49 | |
dlocaus | so, kp6 emits (PIR + [PIR library calls]) to yield pure PIR, which in turn is converted to PASM. | ||
moritz_ | dlocaus: yes, that's the plan | ||
the PASM conversion is done by parrot as well, luckily | 18:50 | ||
dlocaus | do you guys want me to write this up, run it past you (for mistake correction) and then put it some where? | ||
fglock | I think pasm is deprecated; Parrot now just uses PIR directly | ||
dlocaus: just add to the repository | |||
[particle] | pir isn't converted to pasm | ||
moritz_ | dlocaus: the other way round: first you commit it into the repo, then we can read it | 18:51 | |
fglock | it works like that | ||
[particle] | and pasm isn't deprecated | ||
fglock | [particle]: ok | ||
[particle] | pasm is a human-readable form of bytecode | ||
moritz_ | [particle]: but it can compiled to pasm, can't it? | ||
s/can/can be/ | |||
18:51
r0bby left
|
|||
[particle] | currently, the pir->pasm converter isn't working | 18:51 | |
18:51
drupek1225 left,
r0bby joined
|
|||
[particle] | however, you will be able to convert pir to pasm before parrot 1.0 | 18:52 | |
18:52
barney left
|
|||
moritz_ | so it converts to PBC directly right now? | 18:52 | |
[particle] | pir is compiled to pbc | ||
either in-memory, then executed by the vm, or saved on-disk | 18:53 | ||
18:56
barney joined
18:57
justatheory left
18:58
rindolf joined
|
|||
[particle] | dlocaus: it's possible in the future that we can do a translation from kp6 ast to parrot ast, and have the parrot compiler toolkit handle the rest of the compilation | 18:58 | |
18:58
weinig left
|
|||
[particle] | however, currently the pct (parrot compiler toolkit) doesn't accept ast as input | 18:59 | |
we've spoken about a yaml-based format for ast, though, so it's on our minds | |||
18:59
marmic joined
|
|||
fglock | [particle]: does it makes sense to compile to nqp? | 18:59 | |
[particle] | fglock: good question. lemme think about that | 19:01 | |
dlocaus | brb, nature is calling & | ||
moritz_ | [particle]: does nqp implement the object model? | ||
fglock | we can implement objects using hashes, like in kp6-perl5 | 19:02 | |
moritz_ | fglock: but then a big benefit of the parrot backend goes away | ||
[particle] | (phone) | ||
19:03
justatheory joined
|
|||
pmurias | it should be possible to emit pir which creates past | 19:04 | |
moritz_ | pmurias: but why go through the trouble? | 19:06 | |
pmurias: the idea of PAST is that you don't have to write PIR | 19:07 | ||
pmurias: if you don't take that advantage, why use it at all? | |||
pmurias | moritz_: you write less pir | ||
and you can easily stop emiting pir when the yaml backend arrives | 19:08 | ||
19:08
jisom left
|
|||
pmurias | i'm thinking of emiting the pir programaticly | 19:09 | |
moritz_ | pmurias: how do you mean? | 19:10 | |
pmurias | moritz_: i'll write an example | 19:11 | |
fglock | pmurias: it might work, emit PAST as yaml and then pipe through a PAST->PIR converter | ||
19:11
tlb joined
|
|||
fglock | when Parrot gets yaml input you just discard the filter | 19:11 | |
pmurias | fglock: i like this idea | 19:12 | |
fglock | eat & | 19:13 | |
[particle] | back | ||
i think the ultimate best place for the kp6-parrot hookup is via ast | 19:14 | ||
as far as yaml-based ast representation is concerned, we just need somebody with tuits | |||
our ast is specified, we just need basically a json-plus-objects subset of yaml to represent it | 19:15 | ||
we have a great tool for writing parsers already :) | |||
...so writing the ast parser shouldn't be hard | 19:16 | ||
Tene | I have free evenings for the rest of the week, I just don't know how long it would take me to get up-to-speed on doing that. | ||
[particle] | if you bounce over to irc.perl.org#parrot, we can talk to pmichaud, who has more details | 19:17 | |
pmurias | tired eyesight& | ||
barney | I'd love to have a 'PAST in YAML' for Plumhead | ||
19:17
pmurias left
|
|||
[particle] | barney: i bet you would, considering how many ways you're compiling plumhead :) | 19:17 | |
avar | [particle]: What tool? PGE? | 19:18 | |
[particle] | yep | ||
barney | Emit PIR that sets up a PAST data structure has it's charms, but not many | ||
avar | I found everything but that highly confusing when I trued it | ||
*tied | |||
[particle] | write a past in yaml parser using perl 6 grammar | ||
avar | how is parrot doing now that it has objects? | 19:20 | |
[particle] | we're currently migrating the languages over to the new object model | 19:21 | |
nqp has moved to using protoobjects | |||
avar | what are those? | ||
[particle] | my $x = Dog.new(); # 'Dog' is a protoobject | 19:22 | |
i only have a protounderstanding of them, but it's like a normal object except less defined | |||
it responds to the methods on a normal object that don't need self to be defined | |||
avar | Yeah p6 specific, I thought it had to do with parrot's object model | 19:23 | |
[particle] | .can() .WHAT() etc | ||
19:32
perlbot joined
19:38
perlbot left,
perlbot joined
19:39
perlbot left,
perlbot joined
19:40
blindfish left
20:08
TJCRI left
20:11
fglock_ joined
|
|||
pugs_svn | r18658 | moritz++ | [irclog] 'fixed' location of at.png | 20:15 | |
20:22
rindolf left
20:24
fglock left
20:26
cognominal_ left
20:39
[particle] left
20:40
[particle] joined
|
|||
pugs_svn | r18659 | fglock++ | [kp6-kp6] "$ KP6_TARGET=KP6-BOOT perl Makefile.PL; make" without errors; uses --noperltidy | 20:42 | |
21:00
daxim_ joined
|
|||
pugs_svn | r18660 | fglock++ | Created v6-Onion placeholder - v6/v6-Onion/README | 21:01 | |
moritz_ | is the plan for onion to start as a copy of kp6, and keep on working with that while using the old kp6 as a compiler? | 21:08 | |
21:10
bkaney left
|
|||
pugs_svn | r18661 | dlo++ | This documents a discussion of where object method overload and other code to resolve namespaces is the duty of parrot. | 21:10 | |
dlocaus | moritz_: [particle]: fglock_: I documented the discussion from earlier today. FYI. | 21:11 | |
moritz_ | dlocaus: I'm reading it right now | 21:12 | |
21:13
weinig joined
|
|||
moritz_ | dlocaus: I think you confused some "is" and some "should be" statements | 21:14 | |
dlocaus | moritz_: looking | ||
moritz_ | dlocaus: for example the inheritance and multi method dispatching are both handled in the kp6 compiler/runtime, not in the parrot/whatever emiters right now | 21:15 | |
21:15
daxim left
|
|||
moritz_ | dlocaus: the parrot backend could do the inheritance thingy (which correspondends to virtual methods in C++), but right now it doesn't implement it at all | 21:15 | |
dlocaus | moritz_: ok, I'll update the document. | 21:18 | |
moritz_ | dlocaus: btw the scoping (lexical/local/global vars) is, at least partially, implemented in the Runtime/Perl{5,6}/Pad.pm | ||
21:18
barney left
|
|||
moritz_ | .oO( and I see that you like the irc logger ;-) |
21:19 | |
dlocaus | cya (cover your butt) | 21:21 | |
21:22
fglock_ left,
TJCRI joined
|
|||
dlocaus | also, it helps people remember "what they said / what they ment" in the "context". Especially, when people may be "simplifing" things down a bit for the new guy. :) | 21:22 | |
21:23
TJCRI left
|
|||
moritz_ | ;) | 21:24 | |
I find it quite hard sometimes to chose the right balance between simplicity and correctness | 21:25 | ||
for example the perl5->v6->mp6->kp6->onion bootstrapping process is pretty hard to understand if you're not used to bootstrapping such things ;) | 21:26 | ||
dlocaus | I'm finding it a bit difficult to write a document that will be around for "months" yet has to deal with past, current, and future problems that have been fixed. How does one document "Well, it doesn't work right now, but we'll have it sorted out by and by". Which, when done, would invalidate part of the document. | ||
21:27
justatheory left
|
|||
moritz_ | dlocaus: you can always adapt or delete it | 21:27 | |
we all have to accept that what we do is imperfect, and that others will see that | 21:28 | ||
dlocaus | moritz_: you can only adapt or delete it, if you know its there. Like the web, things tend to be a bit sticky. (I hate google for that reason, it doesn't invalidate information that has been superseded by more correct information; it just lumps everything together) | ||
moritz_ | dlocaus: I agree. On the other hand 959 of what I say will be superseeded one day... | 21:29 | |
21:29
riffraff left
|
|||
moritz_ | so I don't stop talking although most of it will be bullshit soon | 21:30 | |
because I want to say something, ocasionally ;) | |||
dlocaus | :) | ||
moritz_ looks for a fitting dilbert strip ;) | 21:31 | ||
www.dilbert.com/comics/dilbert/arch...970926.gif | 21:33 | ||
lambdabot | tinyurl.com/ytazzl | ||
moritz_ | at least it mentions "eternal nothingness" ;) | ||
pugs_svn | r18662 | dlo++ | with (moritz_)'s help, several confusions with what "should be / is" being done by what have been resolved. | 21:34 | |
dlocaus | moritz_: OMG. the last year of my last job. | ||
21:35
Limbic_Region joined
21:42
_go_ left
21:48
mr_ank joined
21:52
iblechbot left
21:53
IllvilJa left
|
|||
dlocaus | moritz_: once the bootstrapping is done, will there be any need for the v6, mp6, kp6 code? | 21:54 | |
moritz_ | dlocaus: yes. For bug fixing and optimization | 21:55 | |
21:56
thoughtpolice left
|
|||
moritz_ | dlocaus: and there are ever recurring tasks... | 21:57 | |
for example perl 6 supports perl5 regexes... | |||
but presents their captures in a perl6ish way | |||
which means that each perl6 compiler that doesn't reimplement the p5 re engine has to translate p5 captures to p6 captures | 21:58 | ||
dlocaus | moritz_: at sometime, are all these layers simplified into 1? | ||
moritz_ | dlocaus: yes | ||
dlocaus | moritz_: ok | ||
moritz_ | dlocaus: actually when kp6 is bootstrapped and there is working parrot or p5 emitter, you won't need mp6 any more | 21:59 | |
dlocaus | moritz_: but kp6 requires mp6 and mp6 requires v6. | ||
avar | isn't mp6 self-hosting? | 22:00 | |
moritz_ | dlocaus: it requires mp6 because it can't compile itself | ||
avar: afaict yes | |||
dlocaus: but when kp6 can compile itself to p5, you can just keep a p5 image of the kp6 compiler around | |||
dlocaus blows another brain fuse. | 22:01 | ||
moritz_ | dlocaus: that's all a bit confusing when you hear it the first time | ||
avar | just think of how gcc does it:) | 22:02 | |
22:02
toshinori left,
toshinori joined
|
|||
avar | the compiler is written (in a subset of) perl 6 and is a program that can parse and run another subset of p6 | 22:02 | |
moritz_ | .oO( but don't think of GHC ;) |
||
dlocaus | so, its not really a chicken and egg problem that everyone says, it is really an evolution solution? you start small, use something small to build something bigger, and repeat until done. | 22:03 | |
moritz_ | dlocaus: yes | 22:04 | |
dlocaus: that's why the new layer will be called "onion" | |||
it has many shells (or whatever you call them in english) | |||
dlocaus | layers. | ||
moritz_ | right, layers | ||
when I can't remember relatively easy words it's time to sleep | 22:05 | ||
g'night everybody ;-) | |||
dlocaus | moritz_: night, and ty. | ||
22:08
ofer left
22:12
ofer joined
22:13
dlocaus left,
toshinori left
22:14
toshinori joined
22:15
toshinori left
22:18
drupek1225 joined
22:19
toshinori joined,
gugod left
22:20
ingy left
22:31
ofer0 joined,
ofer left
22:41
weinig left,
cmarcelo left
22:46
IllvilJa joined
22:48
weinig joined
|