»ö« Welcome to Perl 6! | perl6.org/ | evalbot usage: 'perl6: say 3;' or rakudo:, niecza:, std:, or /msg p6eval perl6: ... | irclog: irc.perl6.org/ | UTF-8 is our friend! | Rakudo Star Released!
Set by diakopter on 6 September 2010.
dalek ecza: fc0abe9 | sorear++ | / (4 files):
Use new contexts in part of setting
00:00
TimToady in general, as soon as you want subrules, you really want a grammar, so the rules can call each other as methods
also, you generally want to go with tokens till you know you need the whitespace matching of rules
tadzik experiment gone wrong: gist.github.com/708292 how should it look like? 00:01
00:01 jrockway left
tadzik oh, and I get NULL PMC access when changing || to or 00:01
00:02 jrockway joined
edenc yes, for the case I'm trying to get to, it's safe to assume that tokens are produced by non-'/', since I'll be matching a uri construct 00:02
dalek ecza: 21feb67 | sorear++ | lib/Kernel.cs:
Add native context handlers for Mu.defined and Mu.Bool
TimToady this is strange, github claims not to know what github.com/perl6/mu/raw/master/src...l6/STD.pm6 is 00:03
sorear TimToady: try perl6/std/STD.pm6
mu was split up 00:04
TimToady oh, then the link on perl6.org is wrong
ruoso rakudo: grammar MyApp { token baz { "/baz" { say "subtoken" }}; token bar { "/foo/bar" { say "hello" } <baz> { say "world" } } }; "/foo/bar/baz" ~~ /<Foo::bar>/
p6eval rakudo : OUTPUT«===SORRY!===␤regex assertion not terminated by angle bracket at line 22, near "::bar>/"␤»
ruoso how do I match a token inside a grammar? from outside?
TimToady MyGrammar.parse("string") 00:05
the top rule in the grammar is customarily called TOP
ruoso rakudo: grammar MyApp { token baz { "/baz" { say "subtoken" }}; token bar { "/foo/bar" { say "hello" } <baz> { say "world" } } }; MyApp.bar("/foo/bar/baz"); 00:06
p6eval rakudo : OUTPUT«Too many positional parameters passed; got 2 but expected 1␤ in 'MyApp::bar' at line 22:/tmp/KxIgx0srm1␤ in main program body at line 22:/tmp/KxIgx0srm1␤»
masak Result: PASS
it's so nice to see this in the spectests :) let's keep it that way. 00:07
masak commits/pushes
TimToady ruoso: you need a TOP token/rule
ruoso rakudo: grammar MyApp { token baz { "/baz" { say "subtoken" }}; token bar { "/foo/bar" { say "hello" } <baz> { say "world" } }; token TOP { <baz> | <bar> } }; MyApp.parse("/foo/bar/baz"); 00:08
p6eval rakudo : OUTPUT«hello␤subtoken␤world␤»
ruoso rakudo: grammar MyApp { token baz { "/baz" { say "subtoken" }}; token bar { "/foo/bar" { say "hello" } <baz> { say "world" } }; token TOP { <baz> | <bar> } }; MyApp.parse("/foo/bar/baz"); MyApp.parse("/baz");
p6eval rakudo : OUTPUT«hello␤subtoken␤world␤subtoken␤»
ruoso TimToady++
TimToady .parse is essentially a constructor for a match
ruoso edenc: so the TOP token would list all the starting points.. 00:10
tadzik is that what you mean as a dispatcher in grammars? gist.github.com/708292
dalek kudo: 8ddf7f2 | masak++ | src/core/Cool-str.pm:
[src/core/Cool-str.pm] changed to 'my class'

Used to be a regular lexical variable. Suggestion by jnthn++. Also changed the name of a variable for greater consistency.
00:11
sorear masak: RAKUDO PASSED THE SPECTESTS?!?!
flussence ?
ruoso tadzik: something like that, but the actions can be in the tokens
flussence been passing for a while: smolder.parrot.org/app/projects/smoke_reports/5
tadzik ruoso: sure
flussence modulo the yellow-green text
dalek odel: d73ce45 | jonathan++ | dotnet/runtime/ (2 files):
[dotnet] Add variant of the capture former that takes a flattening specification.
00:12
odel: f3c12fd | jonathan++ | dotnet/runtime/Runtime/Signatures/SignatureBinder.cs:
[dotnet] Simple implementation of flattening in the signature binder.
odel: 63f91ae | jonathan++ | dotnet/compiler/Actions.pm:
[dotnet] Fix in JnthnNQP - suspect nqp-rx has similar issue but it gets hidden somehow - in check for |%foo things.
odel: 3a28d12 | jonathan++ | dotnet/compiler/PAST2DNSTCompiler.pm:
[dotnet] Implement compilation of .flat on PAST nodes, so we can now support flattened args.
masak sorear: well. modulo fudging.
sorear: but it's actually not as crazy as it sounds. we're almost out of spectests.
tadzik ruoso: but I don't think that's necesarilly a good idea
edenc tadzik: well, the more flexibility, the merrier
tadzik: why?
sorear masak: I'll have to add some of the crazier niecza tests to roast 00:13
tadzik edenc: well, the code would look really messy then :) Now it looks pretty straithforward to me: a list of paths, and then a list of methods-controllers
sorear I've got lots of LTM tests... that stuff is pretty fragile and *needs* it
tadzik that's just my thinko
edenc tadzik: well, yes, for a production scale app, it makes sense to have everything factored out 00:14
masak sorear: I've said it before: looking forward to two active implementations sharing the spectest suite.
dalek odel: 0fd99ef | jonathan++ | t/nqp/41-flat.t:
[t] We now pass 41-flat.t.
00:15
ruoso now we just need to figure out the magic jnthn mentioned to resolve the uri_for_action
edenc tadzik: but I intend to have inline actions merely for hype
dalek ecza: e22b4f7 | sorear++ | lib/SAFE.setting:
Use new contexts in rest of setting
ruoso if the action is just "forward to view X", no reason to have a method for it
edenc yes, that too 00:16
ruoso: I believe I missed the bit of magic you're referring to
dalek odel: 2ff0334 | jonathan++ | dotnet/compiler/ROADMAP.txt:
[dotnet] Remove a completed ROADMAP item.
ruoso the introspection of the token declaration
00:16 gbacon left
tadzik edenc: well, it doesn't look bad: gist.github.com/708292 00:16
edenc yes, I agree 00:17
flussence I have to say, that's one of the most crazy-awesome ideas I've seen in a while. 00:18
tadzik agreed
what's the problem now?
ruoso resolving uri_for_action
edenc tadzik: <main> | <about> | <contact> | ( <api> {send_to_json_serializer} | {send_to_html_generator})
that would be interesting 00:19
tadzik hmm?
ruoso I think you meant...
edenc actually
(<main> | <about> | <contact> ) ( <api> {send_to_json_serializer} | {send_to_html_generator})
tadzik lemme code something
ruoso that
edenc or something
dalek href="https://perl6.org:">perl6.org: bc90b40 | TimToady++ | source/ (2 files):
STD.pm6 link was suffering 'brot
edenc sorry, I don't grok the p6 grammar language yet
tadzik hmm, I'd go for actions here 00:20
edenc ruoso: oh, and how would you go about interrupting the parse from inside the action? 00:21
diakopter nqpnet: say('still works?')
p6eval nqpnet: OUTPUT«still works?␤»
diakopter oh goody 00:22
jnthn diakopter: How offen it updates?
diakopter x:05
jnthn 'k
diakopter hourly like the others
ruoso edenc: take a look at the spec... there are some options 00:23
jnthn edenc: If you wanted to for example say "this must return a true value to continue parsing" you can use like <?{ ...stuff... }>
diakopter jnthn: actually though, `make -f Makefile.linux` is in the try2.sh, and git pull would be an imperceptible addition... so theoretically it could check/update on every run :)
masak decommute & 00:24
00:24 masak left
diakopter jnthn: note I took the easy route and forked the Makefile 00:24
00:24 TiMBuS joined
jnthn diakopter: That's fine for the time being. :) 00:24
tadzik edenc: did you mean something like this? gist.github.com/708292 00:27
dalek tpfwiki: (Herbert Breunung)++ | www.perlfoundation.org/perl6/index...._io_tablet
ruoso edenc: tadzik: gist.github.com/708304 00:30
tadzik nice 00:32
edenc I don't get why you're using tokens though
tadzik I assume you mean $<customer_id>=[ \d+ ] 00:33
ruoso tadzik: I might have some things wrong there, yes
edenc: there is one other thign... 00:35
is there some way to know through which tokens the match went? 00:36
edenc well, that's easy to solve 00:37
tadzik { @a.push('some token') } in every one of them?
edenc yeah
ruoso I meant for the automatic selection of the template
jnthn ruoso: What are you wanting, to record the path taken through the rules?
ruoso yes 00:38
jnthn ruoso: Calling rules is just calling methods.
00:38 TiMBuS left
jnthn ruoso: Maybe a simpler solution is a custom meta-class that logs the called methods or something? 00:38
ruoso hmm... maybe...
edenc ruoso: there are several neat approaches you can take for that 00:39
ruoso: it doesn't necessarily need to be rule1/rule2/rule3
you can instead stack three templates instead
with less instead 00:40
00:41 risou joined 00:42 TiMBuS joined
edenc anyway, I'm out 00:42
I'll be back to annoy you guys once I have minimal grokage of the grammar syntax
jnthn :)
edenc &
jnthn o/
tadzik o/
ruoso edenc: gist.github.com/708304 00:43
jnthn: the above gist illustrates what eneds to be automatized
having to manually specify the template like that is boring... 00:44
00:45 obsd123 left 00:48 Trashlord joined, justatheory joined
dalek ecza: d8d4ab9 | sorear++ | lib/Builtins.cs:
PostIncrement needs to handle undefined values
00:48
colomon jnthn: does nqp-rx have .defined? 00:53
diakopter yeah
colomon pir::defined ? 00:54
jnthn That'll work 00:55
If the thing itself doesn't have a .defined method
diakopter nqpnet: say(Mu.defined)
p6eval nqpnet: OUTPUT«0␤»
tadzik nqpnet: say(5.defined)
p6eval nqpnet: OUTPUT«1␤»
colomon pir::defined it is. 00:56
diakopter nqp: say(pir::defined(Mu))
p6eval nqp: OUTPUT«0␤»
00:59 risou_ joined
dalek tpfwiki: (Herbert Breunung)++ | www.perlfoundation.org/perl6/index....dex_tablet 01:00
tpfwiki: (Herbert Breunung)++ | www.perlfoundation.org/perl6/index....ble_tablet
01:01 risou left
colomon jnthn: does NQP::Compiler derive from HLL::Compiler? 01:08
I've got this: $P0 = getattribute nqpproto, '@cmdoptions'
jnthn colomon: I e^Hbelieve so.
colomon and given that HLL::Compiler has @!cmdoptions, I need to figure out how to make that line work now.
jnthn Is NQP::Compiler written in PIR? 01:09
colomon yes
at least the bit I'm looking at.
jnthn ah ...
Yeah
hm
I guess it currently used 6model at the moment.
er
colomon oh, duh, 'parent'=>'HLL::Compiler'
jnthn P6object sorry
Yeah, but that's using P6object, not 6model.
01:11 mikehh joined
dalek odel: 6fd5926 | jonathan++ | dotnet/compiler/NQPOptimizer.pm:
[dotnet] Stub in an NQP Optimizer. Only one optimization at the moment, which strips off return handlers from routines if they're never used (something we can statically detect in NQP).
01:13
odel: a6d8d72 | jonathan++ | dotnet/compiler/ (2 files):
[dotnet] Add building of NQP optimizer to the Makefile. Currently all the stuff to use it in compile.pir is commented out though - if you want to test it, uncomment the three commented lines in this patch. At some point it should become a -O flag.
sorear you mean you don't have a zero not taken overhead implementation of exceptions? 01:14
jnthn sorear: They don't incur a runtime cost.
sorear: They do bloat the DLL a little. 01:15
sorear ...dll?
jnthn sorear: Perhaps more than they really should. I was mostly after an easy first optimization to implement. :)
sorear: As in, the generated code.
sorear ah.
you can generate dlls now? 01:16
sorear is scared... the comptetion is catching up!
jnthn sorear: Calm down :P 01:18
sorear: You're running STD. :) 01:19
dalek ecza: c0b78fe | sorear++ | v6/tryfile:
Optimize canonicalize_name a bit
01:25
ecza: fe1de1e | sorear++ | docs/lhf.txt:
Add another LHF
colomon is trying to find examples of source where PIR accesses attributes to steal... 01:29
01:40 justatheory left 01:48 solarion left, solarion joined
dalek odel: 361ec9a | jonathan++ | dotnet/compiler/PAST2DNSTCompiler.pm:
[dotnet] Implement vivislef for PAST::Var register nodes.
01:54
02:01 Sarten-X joined
dalek odel: a7baae0 | jonathan++ | dotnet/compiler/NQPOptimizer.pm:
[dotnet] Quick and dirty experimental optimization that demotes lexical to locals in a few places (so their storage slot goes on the stack and is instantly to hand). Again, optimizer not enabled by default.
02:02
takadonet what is the url for the rakudo stat benchmarks? 02:05
jnthn sleep, night 02:06
02:10 nymacro joined 02:14 linuxas joined
lichtkind jnthn: good night 02:15
02:15 takadonet left
dalek tpfwiki: (Herbert Breunung)++ | www.perlfoundation.org/perl6/index....ble_tablet 02:15
02:16 envi joined 02:24 risou_ left 02:26 risou joined 02:35 ch3ck3r joined 02:38 ch3ck left, nym joined 02:39 kanishka joined 02:40 nymacro left
dalek tpfwiki: (Herbert Breunung)++ | www.perlfoundation.org/perl6/index....ign_tablet 02:42
02:53 kanishka left 02:54 kanishka joined, kanishka left 02:56 am0c left 02:57 rgrau` left
dalek tpfwiki: (Herbert Breunung)++ | www.perlfoundation.org/perl6/index....ign_tablet 02:59
tpfwiki: (Herbert Breunung)++ | www.perlfoundation.org/perl6/index....lta_tablet
lichtkind TimToady: please tell me if anything is missing , thanks www.perlfoundation.org/perl6/index....ign_tablet 03:00
03:06 meppl left 03:15 Guest28409 joined 03:25 cwo_pengen_Gtuan joined
cwo_pengen_Gtuan bots www.1filesharing.com/download/1JWQU....3.1_5.rar 03:25
03:25 cwo_pengen_Gtuan left
zibri ... 03:25
diakopter yeah 03:28
03:30 obsd123 joined 03:32 nadim left 03:41 obsd123 left 03:42 Guest28409 left, lichtkind left, ch3ck3r left 03:55 nym left 03:56 nymacro joined 03:59 risou_ joined 04:01 risou left 04:16 nymacro left 04:23 MindosCheng joined 04:27 Bzek joined 04:30 Bzek_ left 04:35 sunnavy left, frooh left 04:38 kanishka joined 04:39 justatheory joined 04:48 ch3ck joined, ch3ck left 04:56 _xiaomo_ joined, _xiaomo_ left
dalek odel: 33cf495 | diakopter++ | / (2 files):
[dotnet] port another coupla hundred .pir lines from Cursor.pir
04:59
odel: 0b3a6ad | diakopter++ | dotnet/compiler/ (2 files):
Merge branch 'master' of github.com:jnthn/6model
05:00 risou joined 05:04 risou_ left
dalek odel: 05db157 | diakopter++ | common/NQP/P6Objects.pm:
[P6Objects] oh look, that's all the Cursor we need at the moment.
05:09
05:30 TheHarlot left 05:37 Limbic_Region left
dalek ecza: 8b8035d | diakopter++ | docs/lhf.txt:
test commit; plz ignore!
05:39
diakopter whee
sorear: let's say I wanted to make a test (from roast) pass (that currently doesn't).. where in roast might be a good place to start looking around 05:42
(assume I've already read lhf.txt) 05:43
dalek ecza: 817a4ee | sorear++ | docs/tracing.pod:
Add documentation for NIECZA_* knobs
05:45
sorear S02, S03, S05, S32 05:46
diakopter anything more specific? :P 05:47
05:52 sunnavy joined
sorear Not without myself looking 05:52
dalek ecza: e11286c | sorear++ | docs/lhf.txt:
LHF item for VS/csc.exe integration
05:54
sorear I looked into running tests from roast a long time ago, but stopped when I realized how dependant on &eval it was 05:55
diakopter oh :( 05:58
05:59 alester joined
diakopter I realized with surprise I finished porting the barebones of Cursor.pir 05:59
sorear I suppose in theory I could write an &eval that always returns Nil, and stub &eval_lives_ok / &eval_dies_ok to ok NN - MMM # SKIP - No eval
06:00 kanishka left
diakopter for nqpnet regexes, now I "just" need to compile the proper PAST nodes... 06:03
06:04 ch3ck joined
sorear perl6: say Match ~~ Cool 06:08
p6eval rakudo : OUTPUT«1␤»
..pugs: OUTPUT«*** No such subroutine: "&Cool"␤ at /tmp/37mTTtm7kF line 1, column 5 - line 2, column 1␤»
06:10 sunnavy left 06:14 sunnavy joined
sorear buubot: eval substr("hello", -2, 4) 06:16
buubot sorear: lo
diakopter buubot: eval substr("hello", -2, 4) 06:17
buubot diakopter: lo
diakopter buubot: eval substr("hello", -2, -1)
buubot diakopter: l
diakopter buubot: eval substr("hello", -2, -3) 06:18
buubot diakopter: No output.
diakopter buubot: eval substr("hello", -2, -0)
buubot diakopter: No output.
diakopter buubot: eval substr("hello", -2, 0)
buubot diakopter: No output.
diakopter buubot: eval substr("hello", -2, 3)
buubot diakopter: lo
diakopter buubot: eval substr("hello", -2, 2)
buubot diakopter: lo
diakopter oh buubot
06:19 kanishka joined 06:21 _twitch joined 06:22 hdanak joined
sorear buubot is perl 5 06:23
buubot sorear: No factoid found. Did you mean one of these: [is broken and horrble and not real buu and outdated and bless and overload] [is broken. until he] [is perl, Svadilfari]
sorear um, wow 06:25
S32-str/substr.t
Perl 6 had scalarrefs ever? there are some ancient fossils here 06:26
06:26 TheHarlot joined 06:33 kanishka left 06:37 hdanak left
dalek ecs: cf529a7 | sorear++ | S (13 files):
Update provenance blurbs to point at GitHub
06:47
diakopter buubot: buubot? 06:57
buubot diakopter: buubot is buubot is buubot is buubot is buubot is buubot is cheesecake
diakopter buubot: what is buubot? 06:58
buubot diakopter: Stored what is buubot?
diakopter buubot: what??
buubot diakopter: what is buubot?
diakopter buubot: what?
buubot diakopter: what is buubot?
diakopter buubot: ?what?
buubot diakopter: what is buubot?
diakopter buubot: tickle
buubot diakopter: Couldn't match input.
diakopter buubot: tcl
buubot diakopter: Couldn't match input.
07:31 Chillance left 07:57 MilLionsOfLions left 08:04 Axius joined 08:15 whiteknight joined, Eevee left 08:17 neroxx joined 08:29 Axius left 08:32 neroxx left 08:33 Eevee joined 08:36 Axius joined
dalek ecza: 04e4b93 | sorear++ | lib/SAFE.setting:
Match should be Cool
08:48
ecza: 2a5333e | sorear++ | / (3 files):
Implement lax substr()
ecza: 32bfe5c | sorear++ | v6/tryfile:
[v6] stub in lookup_dynvar and check_old_cclass
08:57
09:02 risou_ joined 09:03 risou left 09:08 justatheory left 09:11 lamstyle joined 09:17 masonkramer_ joined, masonkramer left, masonkramer_ is now known as masonkramer 09:50 teslos left 09:56 am0c joined
tadzik I've been thinking about the dispatching with grammars idea. gist.github.com/708292 -- any idea how could I reach the Request object from inside the grammar actions here? I was expecting to see it in Match.orig, but no luck 09:59
moritz_ tadzik: put it in a contextual 10:02
tadzik moritz_: contextual?
moritz_ my $*REQUEST 10:03
tadzik wouldn't that mean a global variable?
or do I need to read about twigils again? :) 10:04
moritz_ not global, only accessible in the lexical and dynamic scope 10:07
tadzik oh, cool 10:09
moritz_++; Any idea how can I fix the method TOP madness in this example? 10:11
10:15 snearch joined
diakopter WOW 10:18
cpanm STD
crazy fast 10:19
tadzik hmm, I think something in Rakudo is lying 10:42
wklej.org/id/423204/
am I missing something?
10:55 mavrc joined 10:56 MayDaniel joined
moritz_ tadzik: $/.values.[0] 10:59
tadzik that works. But thy is it so? 11:00
11:11 muixirt joined 11:22 Axius left
moritz_ tadzik: $/ is like an array and a hash combined. $/.values returns all captures. Since you have only one, $/.values.[0] returns the only capture 11:37
11:49 lambdabot joined 11:52 wamba joined, kjeldahl joined 12:01 MayDaniel left 12:17 rgrau_ joined
frettled Good (*looks at time*) eh, afternoon. 12:24
moritz_ good now, frettled
frettled good one :D
moritz_: Hvordan går det med norsken?
moritz_ frettled: Det går bra, takk 12:25
frettled \o/
moritz_ Men studere norks er vanskelig, og går langsom 12:26
*norsk
12:28 wamba left 12:29 orafu left, orafu joined
frettled Det er ikke så rart. Selv om det er et germansk språk, så er det flere signifikante forskjeller. (In English: moritz_ says that studying Norwegian is hard and slow. Literal-ish translation of my response: That's not so strange. Even though it's a germanic language, there are several significant differences. 12:30
We can't just pile up all the verbs at the end of the sentence. ;) 12:31
moritz_ that's actually a good restriction
muixirt moritz_: regarding the global shift of power you better learn Chinese :-) 12:36
12:36 wamba joined
moritz_ muixirt: my motivation is quite local :-) 12:36
muixirt: my wife is half Norwegian, and wants to our soon-to-be child to be raised with two languages 12:37
so I'd better learn bokmål if I want to understand my wife and daughter talking to each other :-)
12:38 MayDaniel joined, redicaps joined
muixirt moritz_: are you hidding the fact you learn Norwegian? :-) 12:40
moritz_ hiding? no, what makes you think so? 12:41
muixirt *from your wife
moritz_ not at all
she reviews my vocabulary lists so that I don't have any mitakes sneaking in
frettled He blogged about it a few weeks ago.
moritz_: feel free to abuse me 12:42
moritz_ takk :-) 12:44
frettled Vel bekomme. 12:45
moritz_ fights with postgres 12:46
fun 12:52
with Debian, the default connection method is local sockets
erm, I mean pipes, or however it's implemented 12:53
flussence "file thingy on disk that shows up as a different colour in ls"?
moritz_ but login only works if I specify localhost as hostname, thus using TCP
frettled: correct :-)
flussence s/<Tab>/<Tab><Tab>/ :)
moritz_ argl :-)
12:54 kanishka joined
moritz_ really must learn to type at least two characters before pressing tab :-) 12:54
frettled hee-hee
moritz_ even tim<tab> isn't uniq
flussence the socket file/port thing slips me up too, not just on pgsql :)
frettled moritz_: I think it's default in pgsql, not necessarily Debian-specific. MySQL has that choice, too. 12:55
It's an assumption I often see in software design: that you run your software locally, that you're root or at least have the machine (virtual or not) for yourself.
moritz_ frettled: might very well be the case, I've just learned to be careful to say "$software does $thing by default" when there's a distribution involved too :-) 12:56
frettled Sensible.
I'm not always so sensible, but I often catch myself and add «with $distribution» afterwards :D 12:57
jnthn o/ #perl6 13:11
13:17 icwiener joined
jnthn diakopter: Wow...just read through the ported Cursor. :) 13:17
diakopter++
13:18 lichtkind joined
lichtkind TimToady: please tell me if anything is missing , thanks www.perlfoundation.org/perl6/index....ign_tablet 13:18
sorry dup
13:20 mavrc left, meppl joined, mavrc joined 13:22 Patterner left 13:34 Psyche^ joined, Psyche^ is now known as Patterner
MindosCheng \o #perl6 13:36
13:37 nymacro joined
lichtkind hi MindosCheng 13:52
13:58 nymacro left
MindosCheng Hi lichtkind 14:00
lichtkind can i help you?
MindosCheng Just waiting exciting discussion take place. 14:03
14:03 risou_ left, risou joined, agentzh joined
lichtkind MindosCheng: about what topic? 14:04
MindosCheng lichtkind: Perl6...
lichtkind shure i mean a special implementation or syntax or STD or wiki, docs tests 14:05
you could even help me write some docs :)
or check if my latest stuff is readable 14:06
MindosCheng lichtkind: I am still busy on some other things. So just hanging around the channel first. 14:08
lichtkind MindosCheng: so your lucky i just push into people to get knowledge out :) 14:17
MindosCheng :P 14:18
lichtkind: Need to teach JavaScript tomorrow, really panic. 14:21
lichtkind thats easy i teach nearly every day: most important thing is to stay relaxed and in control of the situation
just have ineugh stuff to get through half an our the rest will develope from that 14:22
MindosCheng lichtkind: I will try them, thanks. 14:23
Using the slides from Crockford. 14:24
14:25 mssm joined
lichtkind MindosCheng: and also important is that you like the people you talk to, let this guide you it makes it much easier for both and you dont have to hide behind knowledge 14:25
MindosCheng lichtkind: Got it. 14:27
lichtkind so you know all the secrets :) 14:28
MindosCheng lichtkind: Wow~ 14:30
lichtkind: I will try to keep them in mind tomorrow. 14:33
14:33 dual left
lichtkind just relax, it will be fine :) people are very forgiving if your open 14:34
MindosCheng lichtkind: I see. 14:36
14:38 muixirt left 14:56 cognominal left 14:57 cognominal joined 15:03 risou_ joined 15:04 risou left 15:12 am0c left 15:17 sftp left 15:20 takadonet joined 15:27 linuxas left 15:29 sftp joined 15:32 sftp left 15:34 redicaps left 15:35 zby_home_ joined, sftp joined 15:36 ashleydev joined 15:37 kjeldahl_ joined 15:42 mikehh left 15:43 dual joined 15:50 jdv79 joined 15:52 agentzh left 15:54 frew joined, alester left 16:04 risou joined 16:06 risou_ left 16:12 TimToady left 16:18 takadonet left, cognominal left 16:19 Axius joined 16:20 cognominal joined 16:26 timbunce joined 16:27 Teratogen is now known as AngryHoneyBadger 16:28 AngryHoneyBadger is now known as Teratogen
cosimo oh hai #perl6 16:36
Trashlord how's it going 16:37
cosimo great 16:38
jnthn o/ cosimo 16:40
tadzik hello 16:44
moritz_: I was confused that it's a Match object but its methods do not work as expected 16:46
16:51 mila__ joined 16:55 mila_ left 16:57 jonasbn joined 17:04 nadim joined 17:05 Axius left
cosimo rakudo: class c { method m { say "Hello" } }; c.m(); 17:11
p6eval rakudo : OUTPUT«Hello␤»
cosimo rakudo: class c { method m { say "Hello" } }; c.new.m();
p6eval rakudo : OUTPUT«Hello␤»
17:14 timbunce left
cosimo I noticed I can do 'if self { #method } else { #static }' 17:14
is that right?
or the "proper" way to do it?
oha i thought a method could only be invoked on an instance :( 17:16
jnthn cosimo: Yes, it works because boolifications falls back to definedness and type objects are undefined. 17:17
if self.defined ... is a bit more robust.
dalek tpfwiki: (Herbert Breunung)++ | www.perlfoundation.org/perl6/index....ble_tablet 17:20
lichtkind pick (:replace) is renamed to roll, is that correct?
17:20 timbunce joined
tadzik yes 17:22
lichtkind Rakudo REPL++
tadzik: thanks
except the repl dont support basic deletem insert and cursor navigation 17:23
dalek tpfwiki: (Herbert Breunung)++ | www.perlfoundation.org/perl6/index....ble_tablet 17:25
17:27 justatheory joined
dalek tpfwiki: (Herbert Breunung)++ | www.perlfoundation.org/perl6/index....ock_tablet 17:30
tadzik lol, I blogged! ttjjss.wordpress.com/2010/11/21/per...r-parsing/ 17:32
17:32 sftp left 17:35 whiteknight left
dalek tpfwiki: (Herbert Breunung)++ | www.perlfoundation.org/perl6/index...._io_tablet 17:36
tpfwiki: (Herbert Breunung)++ | www.perlfoundation.org/perl6/index....tor_tablet
tpfwiki: (Herbert Breunung)++ | www.perlfoundation.org/perl6/index....oop_tablet
17:37 TimToady joined 17:41 mssm left 17:47 risou left 17:50 Trashlord left 17:51 Trashlord joined 18:00 _twitch left 18:02 wamba left 18:03 _kaare joined 18:08 rgrau_ left 18:17 sftp joined 18:31 mavrc left 18:40 mavrc joined 18:51 punkish joined
punkish hi all... make perl6 failed on my MacBook. Any suggestions? 18:51
following error -- "ld: pointer in read-only segment not allowed in slidable image, used in ___gmpn_divexact_1 from /usr/local/lib/libgmp.a(dive_1.o)" 18:52
18:53 HarryS joined
tadzik were you building it before, is it possible that you have some object files lying around? 18:55
I assume by perl6 you mean Rakudo
punkish yes, I mean Rakudo 18:57
if I have object files "lying around," where would they be? I had installed Rakudo successfully a long while back, so I actually deleted that directory and started fresh 18:58
all traces of the previous instance should have vanished with the removal of the entire directory
I have gcc 4.2.1 (Mac OS X 10.6.5) and a custom installed Perl 5.12.1 in /usr/local/bin 18:59
tadzik I see 19:00
no idea, I never worked on macosx. Which Rakudo is it? 19:02
punkish the latest 19:10
just git cloned it 19:11
don't know what /usr/local/bin/libgmp.a
GNU Multiple Precision Math library... wonder where that came from? 19:14
tadzik I think Parrot makes use of that, if available 19:15
punkish interesting... I renamed libgmp.a to libgmp.bak.a and now it configured successfully 19:21
am 'make'ing. Let's see what happens
I guess I should report wherever (to whomever) appropriate that configure fails with libgmp.a 19:22
I must installed GMP when installing the various dependencies for PDL (Perl Data Language) 19:23
hopefully, if Rakudo makes successfully, I can rename my libgmp.a back to normal and things will be ok. 19:24
19:26 envi left
tadzik did it fail during Configure.pl --gen-parrot? 19:33
diakopter jnthn: yeah there might be another way to represent those Cursor "frames" 19:36
19:45 timbunce left, punkish left 19:51 timbunce joined 20:02 icwiener_ joined 20:03 ch3ck left
dalek odel: 50b66ab | jonathan++ | dotnet/ (2 files):
[dotnet] Fix package declarations with multiple namespace parts.
20:03
20:03 molaf joined 20:04 MayDaniel left, icwiener left
moritz_ www.perlmonks.org/?node_id=872809 20:05
20:05 whiteknight joined
dalek href="https://perl6.org:">perl6.org: c2e3bcd | (Tadeusz Sośnierz)++ | source/community/index.html:
Small typo fix
20:11
20:12 sftp left
dalek odel: 9ae5e09 | jonathan++ | t/nqp/28-subclass.t:
[t] Tests for multi-part namespaces and inheritance.
20:14
20:15 sftp joined 20:35 lichtkind left
diakopter sorear: eval of test.pl takes 58s (linux) 20:36
20:36 sftp left
dalek osystem: 14375eb | (Cosimo Streppone)++ | projects.list:
Added my rewrite of Ruby Facter in Perl6
20:39
diakopter jnthn: how would I get parrot compile.pir to emit the past 20:43
I guess I can just use parrot-nqp
k nm
jnthn yeah, that's easiest way for now. 20:44
I didn't change any of the regex past generation.
diakopter looks like it's set up to vivify regexes into the Regex namespace 20:45
er, install
20:47 takadonet joined
takadonet o/ 20:47
diakopter hi
20:49 molaf left
jnthn diakopter: Ah...I suspect that installing them - for grammars - will need to look different in JnthnNQP. (more) 20:50
It'll need to be a bit like method_def
e.g. call .^add_method on the current meta-object. 20:51
20:52 HarryS left 20:55 rgrau_ joined
diakopter jnthn: while compiling, it'll need to have a lot of the same scaffolding as dnst_for(PAST::Block), to account for nested regex literals 20:59
sorear good * #perl6 21:00
diakopter hi
jnthn diakopter: Typically, a PAST::Regex lives inside a PAST::Block.
diakopter: It doesn't imply a block in its own right, iirc. 21:01
o/ sorear
diakopter right, but it needs to track the cursor constructors
jnthn diakopter: So there shouldn't be any need to re-invent that.
Ah, true
diakopter: What are you looking at the PAST for at the moment, ooc? 21:02
(what snippet of nqp source...)
diakopter "hi"~~/h/
jnthn ah... 21:03
diakopter I mean, does parrot-nqp support nested regex literals?
regexes in code blocks
jnthn I *think* it does. 21:04
Or at least, I'd be surprised if not...
diakopter k 21:05
jnthn nqp: say("hi" ~~ /h { say("xy" ~~ /x/) }/)
p6eval nqp: OUTPUT«x␤h␤»
jnthn diakopter: Like that?
diakopter yeah 21:06
ok
jnthn The PAST::Var node is looking up Regex::Regex IIUC 21:08
sorear I see tadzik and jnthn STILL haven't fixed their CREDITS entries
jnthn diakopter: Oooh...I see the missing piece. 21:09
diakopter it needs some kind of "here's the outer start of a regex" node 21:10
jnthn diakopter: Regex::Regex is a type of code object by the looks of it.
diakopter what snippet of nqp source are you looking at? 21:11
jnthn "hi"~~/h/
diakopter: Easier is to look at /h/ on its own first, I think.
diakopter no 21:12
b/c the past generated is quite different
for just the regex node, I think 21:13
sorear 51m 11s 79.48% for last roast run 21:14
jnthn diakopter: Hang on, writing some annotated versions of these PAST trees, 'cus it's easier than trying to type it all in IRC. :)
This is where meatspace works best, I can point at bits of tree :) 21:15
21:15 zby_home_ left 21:17 masonkramer left
jnthn diakopter: gist.github.com/709162 is /h/ 21:17
21:17 masonkramer joined 21:18 Teratogen is now known as HowardRoark 21:19 HowardRoark is now known as Teratogen
diakopter I thought scan was used for more than just "create a new cursor and invoke stuff on it" 21:20
21:21 sftp joined
jnthn diakopter: Looking at the code that compiles it, it doesn't seem to do a huge amount, though just a little more than that... 21:22
21:23 kjeldahl left
jnthn diakopter: gist.github.com/709170 21:28
diakopter: This is "hi" ~~ /h/
21:28 snearch left
jnthn diakopter: It's mostly confusing because the regex PAST block is referenced in two places in the tree and the dumper only emits one of them and then \past to indicate the reference to the other one. Tried to explain it in the gist. 21:28
21:30 HarryS joined 21:31 y3llow_ joined 21:32 pothos_ joined 21:34 y3llow left, pothos left, y3llow_ is now known as y3llow, pothos_ left, pothos joined
jnthn diakopter: I think the reentrancy bit works because as_post (equivalent to PAST2DNST's dnst_for) doesn't really do the regex compilation itself. We only hit one variant of that when we first see a PAST::Regex block. 21:36
diakopter: It emits the initial prelude and the postlude
diakopter: It delegates to post_regex for the rest (another couple of multis)
One of those wants a PAST::Regex and then does a dynamic dispatch based upon the pasttype
The other one wants anything else, and just calls back to the "normal" PAST compiler, e.g. dnst_for 21:37
So if a nested PAST::Regex is encountered within it, we land back in the candidate that does the prelude/postlude again
So no, it's not all in scan.
diakopter so a concat node will need to know whether its immediate parent is a regex node 21:38
jnthn No. (more) 21:39
our multi dnst_for(PAST::Regex $r) { ...emit prelude... dnst_regex($r) ...emit postlude }; multi dnst_regex(PAST::Regex $r) { ... }; multi dnst_regex(PAST::Node $n) { dnst_for($n) } 21:40
It's two sets of mutually recursive multis, but when we go between one set and the other it's the compilation boundary between regex land and non-regex land. 21:41
So every time you hit dnst_for(PAST::Regex $r) you know that it's the entry point to compile a new regex.
diakopter hm
jnthn Note that when inside a PAST::Regex node and needing to compile its children, dnst_regex would be called 21:42
Not dnst_for
diakopter yeah
that seems a good plan
jnthn concat itself is really noddy :)
github.com/perl6/nqp-rx/blob/maste...x.pir#L620
Pretty much the regex version of PAST::Stmts - just compile each thing inside of it. 21:43
diakopter yes
21:44 jonasbn left
jnthn diakopter: Plan to go relax and ready for a bit...any more questions before I disappear? 21:45
s/ready/read/
diakopter nopr
thanks!
jnthn :) 21:47
21:50 bluescreen joined 21:51 bluescreen is now known as Guest54531
perigrin w/ 23 22:01
22:01 pochi_ left 22:04 kjeldahl_ left 22:05 pochi joined 22:16 risou joined 22:19 pochi left
diakopter ಠJಠ 22:21
22:23 masonkramer left 22:29 oha left 22:30 _kaare left 22:33 lichtkind joined, sftp left 22:35 timbunce left 22:36 sftp joined, whiteknight left
sorear making 10000000.0 use the constant pool brings ctxmark down to .63us 22:47
23:05 pochi joined 23:16 pochi left
lue ohai o/ 23:22
.u ಠ
phenny U+0CA0 KANNADA LETTER TTHA (ಠ)
23:25 pochi joined
dalek tpfwiki: (Herbert Breunung)++ | www.perlfoundation.org/perl6/index....dex_tablet 23:31
lue for tpfwiki dalek messages, why not use the edit summary as the commit message? [or is the wiki software too cool for edit summaries like the ones in MediaWiki?] 23:34
23:35 whiteknight joined
dalek tpfwiki: (Herbert Breunung)++ | www.perlfoundation.org/perl6/index....dex_tablet 23:37
sorear lue: There are no edit summaries 23:38
23:38 icwiener_ left
diakopter dalek could identify the latest revision # and query the wiki for a diff between the two revisions, and report some sort of measure from the result of that query 23:40
lue
.oO( if $changedlines < 5 { say "A little happened."; } elsif 5 < $changedliens < 50 { say "A fair bit happened"; } else { say "a whole bunch happened" };
23:42
23:43 takadonet left 23:46 flatwhatson joined
sorear lue: 5 lines is a whole bunch 23:51
dalek tpfwiki: (Herbert Breunung)++ | www.perlfoundation.org/perl6/index....ble_tablet 23:53