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