»ö« Welcome to Perl 6! | perl6.org/ | evalbot usage: 'perl6: say 3;' or rakudo:, niecza:, std:, or /msg p6eval perl6: ... | irclog: irc.perl6.org/ | UTF-8 is our friend!
Set by sorear on 4 February 2011.
00:00 dayangkun_ left 00:06 dayangkun_ joined
sorear good * #perl6 00:06
00:08 dayangkun__ left
tylercurtis sorear: o/ 00:09
00:12 Solarion joined 00:13 mtk joined 00:19 arlinius joined
sorear o/ tylercurtis 00:21
jnthn: ping
00:33 Moukeddar joined
sorear hello Moukeddar 00:33
00:33 nymacro joined
Moukeddar hi sorear 00:34
00:36 petdance joined 00:42 saaki joined, starcoder|wc joined, starcoder left, starcoder|wc is now known as starcoder 00:43 GinoMan joined 00:46 Moukeddar left 00:58 orafu joined 01:00 kst joined
dalek ecza: c1f1c9b | sorear++ | / (6 files):
Implement tied scalars (no good API yet)
01:00
01:11 Moukeddar joined 01:15 Moukeddar left 01:16 dayangkun__ joined, starcoder left, krunen joined 01:17 meraxes joined 01:18 dayangkun_ left, starcoder joined 01:19 petdance left 01:24 Moukeddar_ joined 01:25 Moukeddar_ left 01:27 [hudnix] joined, pmichaud joined, og01 joined, frooh_ joined, TimToady_ joined, nrr` joined, plobsing_ joined, Util_ joined, tylercur1is joined 01:28 robins joined, Sarten-X2 joined, wknight8111 joined, cottoo joined, cotto_work2 joined, leprevost_ joined 01:29 cognominal_ joined, slavik3 joined 01:30 tylercur1is is now known as tylercurtis 01:31 dayangkun__ left, dayangkun joined 01:33 dayangkun_ joined, khisanth_ joined, TimToady left, whiteknight left 01:34 leprevost left, frodwith left, frodwith joined 01:36 dayangkun left 01:42 wknight8111 left 01:52 Brandon_W_ATS joined, DarthGandalf left 01:53 chitragupt left, meraxes left 01:54 chitragupt joined, takesako_ joined, meraxes joined 01:55 ymasory left 01:56 DarthGandalf joined 02:05 [hudnix] left 02:10 mathw joined 02:11 xinming joined, ponbiki joined 02:13 petdance joined 02:18 Util_ is now known as Util 02:21 fhelmberger joined 02:33 nymacro left 02:50 gantrixx joined
sorear wants to talk about redesigning the NAM format...any takers? 02:50
gantrixx is there a CPAN6 for Perl6?
sorear there are several people working on module installers 02:51
there is no central archive yet
gantrixx you mean, like a package repository?
gems?
sorear right
gantrixx is there a place where we can see which packages have been written and read about them? 02:52
sorear last I heard was modules.perl6.org
there aren't many packages yet
modules.perl6.org doesn't mention panda. it might be out of date 02:54
02:58 am0c joined 03:05 am0c left 03:20 charsbar_ joined 03:21 leprevost_ left 03:22 am0c joined 03:23 ggoebel joined, Su-Shee_ joined 03:25 ymasory joined 03:33 MindosCheng left 03:45 GinoMan left 03:52 rblackwe left, dayangkun joined 03:54 rblackwe joined 03:55 dayangkun_ left 03:57 nrr` is now known as nrr 04:00 orafu left 04:02 orafu joined 04:09 ggoebel left 04:14 khisanth_ is now known as Khisanth, ggoebel joined 04:17 Exodist left 04:22 cbk joined 04:23 Exodist joined 04:40 lue joined
lue hello world! o/ 04:40
phenny lue: 27 Mar 02:49Z <mberends> tell lue I think it may help your understanding of the to-compile-or-not-to-compile question to research the difference between just-in-time compiling (JIT) and ahead-of-time compiling (AOT). Mono (used is Niecza) uses both options.
lue: 27 Mar 02:51Z <mberends> tell lue s/is Niecza/in Niecza/
lue blag toast! rdstar.wordpress.com/2011/04/06/p6...%E2%84%A2/ 04:41
sorear hello lue! 04:44
lue hello sorear! o/ 04:46
sorear (if you have any more questions, ask) 04:47
lue about what? The compilation thing, or the thing in my blog post? 04:48
[ or just in general? :) ]
sorear yes!
on blog post: yes. go ahead, put it on github 04:49
04:50 am0c left
lue I was leaning towards yes while writing that, but doesn't hurt to ask anyways :) . 04:51
sorear lue: have you played with niecza yet?
lue No, but I really should. It'll require Mono, correct? 04:52
sorear correct
04:53 TimToady_ is now known as TimToady, JimmyZ joined 04:55 JimmyZ left
lue Well, I guess I'll upload my Pod parser to github tomorrow, when I have time. good night! o/ 05:00
05:02 am0c joined 05:04 lue left
donri New MoR chapter. 05:06
05:09 simcop2387 joined 05:17 kaare_ joined 05:21 simcop2387 left 05:24 simcop2387 joined 05:30 petdance left 05:32 ymasory left 05:36 simcop2387 left 05:42 birdwindupbird joined
moritz \o/ 05:43
sorear o/ moritz 05:50
05:58 Trashlord left 06:00 Trashlord joined, birdwindupbird left, birdwindupbird joined, simcop2387 joined, simcop2387 left, simcop2387 joined 06:01 wtw joined 06:03 simcop2387 left 06:11 kst left 06:14 VX64Z left, simcop2387 joined, kst joined, VXZ joined 06:15 mrkodiak joined, s1n joined 06:23 woosley joined 06:42 nymacro joined 06:44 Su-Shee_ is now known as Su-Shee 06:53 shi joined
jnthn morning, #perl6 07:03
Tene morning, jnthn
tylercurtis Hi, jnthn. 07:04
07:12 Mowah joined 07:13 HarryS joined 07:25 Sarten-X2 left 07:26 donri joined
tadzik sorear: panda is a subproject of Pies, Pies in on modules.perl6.org 07:27
07:32 Sarten-X joined 07:53 mtk left 08:01 mtk joined 08:03 PZt left 08:08 awoodland joined, bacek joined 08:09 robins is now known as robinsmidsrod 08:10 PZt joined 08:24 PZt left 08:25 silug left, Sarten-X left 08:26 arlinius left 08:27 dakkar joined 08:30 PZt joined 08:36 ribasushi joined 08:37 Sarten-X joined
bacek aloha, humans 09:13
arnsholt Ciao!
bacek moritz, sorear, ping. I've got stuuupid question about grammars. 09:14
arnsholt, heya
moritz bacek: never ask to ask :-)
bacek moritz, ok-ok :) 09:15
moritz, consider "C". Something like "(foo)bar" is casting "bar" to "foo"
09:15 mberends joined
moritz considers it 09:16
bacek otoh, "(foo)" can be just "groupping"
e.g. "(foo)->bar" 09:17
jnthn
.oO( precircumfix )
moritz jnthn: I thought the same :-)
bacek: there are basically two solutions
bacek jnthn, oh.
jnthn I suspect (foo) may be operator-y.
And so you may need to co-opt the OPP somehow.
jnthn waits to see what moritz++ suggests :)
bacek opp?
aloha, opp?
jnthn operator precedence parser 09:18
EXPR
moritz bacek: the first one is: define a prefix:<(> { '(' ~ ')' <rule_that_just_parses_type_specifications> }
jnthn would call it prefix:<cast> :-)
But that's the solution I was thinking of.
bacek moritz, doesn't work :) C is way too weird
moritz bacek: the second is to parse (type) as a term, and detect it in the OPP
bacek hmmm 09:19
moritz and allow two terms in a row if the first one turns out to be a cast
jnthn bacek: What is the case where it doesn't work (or, a case)?
bacek "(foo)" is parsed as "prefix()".
And backtracking doesn't work. So "circumfix()" never called. 09:20
moritz, "two terms"? Can you explain little bit.
moritz "And backtracking doesn't work." -- in general, backtracking works. It might need to get enabled in some places 09:21
bacek moritz, but how?
moritz where does it fail?
bacek moritz, nopaste is coming
moritz consider (int)2.2 -- if you parse (int) as a term, you have to allow a second <term> after it
bacek moritz, "(int)" is parsed as "prefix()" now. 09:22
moritz bacek: and how is (2+2) parsed?
bacek moritz, it doesn't. This is my problem :) 09:23
Ah. No. (2+2) is parsed
as circumfix()
moritz isn't that exactly what you want?
bacek just because "2+2" can't be type_declarator
but "foo" can be type
or variable
moritz well 09:24
flussence_ that reminded me: what's the p6 equivalent of p5's "(?<name>regex)"? Been stumped on this one for a while...
moritz how does a C parser figure it out?
flussence_: what does it do?
flussence_: I'm not really familiar with p5 named regexes/captures
flussence_ named capture group 09:25
bacek moritz, no idea... Let me google it
flussence_ i.e. it gets put into $+{name}
moritz $<name> = [ regex ] iirc
09:25 PZt left
moritz but I don't know if that works in rakudo 09:25
$<alias=subrule> works though
flussence_ oh!
all I needed was that $? 09:26
bacek moritz, cast_expression
: unary_expression
| '(' type_name ')' cast_expression
;
moritz sorry, <alias=subrule> in the second example
bacek moritz, looks like I have to enable backtracking somehow.
09:26 am0c left
flussence_ hm, I think I tried that but I'll give it another go... 09:26
moritz bacek: you need to constrain the prefix:<cast> to '(' <type_name> ')' 09:27
rakudo: 'abc' ~~ /$<foo>=(.*)/ && say $<foo>
p6eval rakudo 4bf132: OUTPUT«abc␤»
moritz rakudo: 'abc' ~~ /$<foo>=[.*]/ && say $<foo>
p6eval rakudo 4bf132: OUTPUT«abc␤»
moritz looks fine 09:28
bacek moritz, sigh... type_name can be <indent>. variable can be <indent>. "(<ident>)" can be "prefix()" or "circumfix()". 09:29
09:29 PZt joined
bacek moritz, nopaste.snit.ch/39537 very-very long trace. 09:30
moritz bacek: so you need backtracking in whatever calls <prefix> and <circumfix> ... which would be the OPP
bacek moritz, aha! Getting closer :)
moritz this is going to be nasty. 09:31
bacek but, afaiu, OOP is for operators only. E.g. infix<>
tadzik $<name> = [ regex ] works well iirc
bacek moritz, or I can use it somehow in my situation? 09:32
moritz bacek: OPP calls <prefix>, <term>, <postfix>, <postcircumfix> etc.
bacek: but I have *no* idea how you would get it to backtrack
bacek moritz, sigh... 09:33
moritz, thanks for your help anyway :) I'll try to figure out how to do it.
moritz maybe regex term { <prefix>*<oldterm> } would be a start, but then you have to figure out the relative precedence of the prefix and any other operators on your own 09:34
09:36 kst left
bacek moritz, it was even simpler :) 09:36
"prefix() { '(' <ws> <EXPR> ')' <before <EXPR> > }
I don't know why it works 09:37
moritz I do
it will only parse (thing) now if it's followed by a term 09:38
bacek but shouldn't default "EXPR" have same semantics?
moritz it will only parse (thing) *as a prefix* now if it's followed by a term
bacek: no. Sane languages don't do that :-)
09:38 PZt left
bacek ah. That's why 09:38
flussence_
.oO( only `cc` can parse C? )
09:39
moritz bacek: and you'll get better error messages without that hack
09:39 am0c joined
bacek moritz, yes. But I prefer working solution for now which can be polished later 09:40
moritz bacek: sure, I'm just commenting on the general case
the more constructs a grammar allow, the worse the error messages get
bacek moritz, yes, opsc error messages are awful and terrible. But I don't have time and energy to fix them 09:41
moritz
.oO( gsoc project :-) )
09:42
bacek moritz, noooo. It doesn't worth it 09:47
I wanna PBC-emitting-from-POST done :)
10:05 f00li5h joined 10:27 awoodland left 10:32 woosley left 10:33 PZt joined, Mowah left 10:49 am0c left
jnthn bacek: How is PAST in NQP? 10:57
bacek jnthn, not much progress. But there is quite good news - gist.github.com/899867 gsoc project for PBC emitting from PCT which includes moving PAST to nqp :) 11:01
Looks like by June, 13 we will have it (hopefully)
11:05 sftp joined 11:17 noganex_ joined
jnthn bacek: OK, great. :) 11:18
11:18 JimmyZ joined 11:29 visu joined 11:30 visu left 11:35 wallberg joined 11:36 JimmyZ left 11:47 Moukeddar joined 11:55 Psyche^ joined, Psyche^ is now known as Patterner 11:56 kanishka joined 11:59 kanishka left 12:03 am0c joined 12:05 f00li5h left 12:06 birdwindupbird left
tadzik was may 2009 still alpha, or alredy ng? 12:09
Moukeddar hi fellows 12:10
moritz tadzik: alpha
hi Moukeddar
takadonet morning all
moritz tadzik: alpha -> ng was in early 2010 12:11
Moukeddar how you doing good sir ?
moritz seems that Jan 2010 was the last alpha release
Moukeddar: fine, thanks
Moukeddar good to hear
insanity still intact ? 12:12
moritz same procedure as last year
tadzik: rafl just commented on your gsoc proposal
tadzik moritz: yeah, I'm just collecting arguments, hence my question 12:15
moritz there are two good answers
1) rakudo needs $=FOO variables and .WHY, so it needs to be integrated
2) there's no POD parser for the current spec, only for old specs 12:16
where 1) is more to the point of rafl++'s question
oh, and 3) p6 pod is tightly integrated into Perl 6, and requires parsed Perl6 for some advanced features (like references to method signatures)
we've had that all back and forth in the discussion with mberends++ 12:17
tadzik my thought: it's incomplete, not working, and it's not written having Rakudo's needs in mind, so it's quite useless to bring it back to life just to redesign it completely anyway 12:18
12:19 MayDaniel joined
moritz you just have to explain why it's important for the parser to be designed for rakudo's needs 12:19
a p5 person wouldn't know, because in p5 the language and the doc format are much less coupled
mberends moritz, tadzik: I think it is feasible to divide S26 into two levels, like W3 did with SVG::Tiny and the full SVG. Pod6::Simple could be the subset of markup which any tools can handle, and full Pod6 would expect to be integrated into Rakudo or any other implementation. That way Alias and I can play with simple Pod6 using other languages and tadzik can work in Rakudo. What do you think? 12:26
moritz mberends: sure, sounds sane 12:28
tadzik mberends: my work consists of creating a separate parser, being slowly and manually merged into Rakudo's parser, so I think lots of work can be reused here
mberends nice, we can share lots of ideas :-) 12:29
moritz tadzik: I still kinda hope that you find a way to do the merging with a text munging script 12:30
tadzik: when it's automatic, it's so much easier to to actually do it often, and thus spot divergence
maybe some #START_MERGE and #END_MERGE comments + text extraction and an insertion marker in Grammar.pm or so 12:31
tadzik moritz: I probably will
12:32 f00li5h joined 12:35 dayangkun left 12:37 MayDaniel left 12:42 birdwindupbird joined 12:43 estrabd joined 12:50 arlinius joined 12:51 hudnix joined 12:55 bluescreen10 joined 12:59 bluescreen10 left 13:01 Holy_Cow joined 13:12 pmurias joined 13:14 bluescreen10 joined 13:22 benabik joined 13:38 icwiener joined, Moukeddar left 13:39 Moukeddar joined 13:42 Brandon_W_ATS is now known as Woody2143 13:46 plainhao joined 13:47 Moukeddar left, Mowah joined 13:57 kaare_ left 14:07 ymasory joined 14:17 wtw left 14:20 MindosCheng joined
sorear good * #perl6 14:30
14:32 am0c left
takadonet sorear: yo 14:32
tadzik sorear: o/
14:33 colomon left
sorear jnthn: ping 14:39
14:44 kaare_ joined, am0c joined, bluescreen10 left 14:47 ymasory_ joined 14:48 ymasory_ left, Mowah left 14:50 mberends left
pmurias sorear: hi 14:55
sorear: you want to redesign nam, in what way?
14:57 bluescreen10 joined
tylercurtis bacek: I believe C compilers differentiate type names and identifiers. 14:58
sorear bacek: this is a well known ambiguity, and it's worse than you realize 15:05
15:05 shi left
sorear (identifier)+1 /* how should this parse? */ 15:05
if the first token after ( is int, long, short, float, double, struct, enum, union, char, signed, unsigned, volatile, const, _Bool, or a typedef, then it's clearly a cast 15:07
pmurias: the file format and the construction API 15:08
tylercurtis hopes no one used #define instead of typedef...
sorear tylercurtis: #defines are already removed by the time the parser is reached 15:09
pmurias: the current system is not helping anyone
tylercurtis sorear: in C compilers, yes. Does opsc do that, however?
sorear tylercurtis: bacek is (re)writing opsc now - what opsc (will) do is not decided yet 15:10
15:18 ymasory left
sorear Why are there so many gratuitous 'multi's in Rakudo's setting? e.g. on &prompt 15:19
15:19 M_o_C joined
flussence_ leftovers from a time when prompt() took more than 1 param, maybe? 15:20
15:20 birdwindupbird left 15:21 birdwindupbird joined 15:24 MayDaniel joined
pmurias sorear: what do you want to replace the file format with? 15:27
sorear pmurias: If I knew I wouldn't be seeking input
15:28 kanishka joined
TimToady sorear: unwillingness to depend solely on lexical scope for user overrides? defaulting to multi for (possibly extensible) built-ins seems fairly sane to me 15:31
flussence_: jus because one definition has 1 arg doesn't mean another multi might not have 2 or more 15:32
or 1 arg of a different type
PerlJam TimToady: Does defaulting to multi seem sane enough to huffmanly omit the keyword? :) 15:34
15:35 azalyn joined 15:37 mj41 joined 15:43 mkramer1 joined 15:45 MayDaniel left, _twitch joined 15:47 colomon joined
sorear o/ colomon 15:49
colomon \o
jnthn sorear: pong
My understanding was that most things are multi so they can be overridden. 15:50
15:51 kanishka left 15:54 MayDaniel joined
sorear jnthn: how can 6model cope with object systems that don't use any kind of 'undefined type objects'? 15:54
jnthn: I'm trying to figure out how best to expose native CLR objects in a 6model-like framework
TimToady can't they just have their own repr? 15:56
jnthn You need to install something in some namespace somewhere. 6model doesn't care whether you stash the type object away inside a class object, or metaclass, or whatever and install something completely different in a namespace.
The type object in that sense is only really a "handle" for an s-table. 15:57
I think the hardest question for exposing CLR objects is "how do you get an instance of one"?
TimToady: Yes, I think there'd be a repr that just wraps the CLR object. 15:58
sorear you always start with either a static method or a constructor
which means haivng a CLR type
what's a CLR type?
jnthn There's more than one kind of type really.
moritz is that a philosophy question? :-)
jnthn classes, interfaces, structs, enums 15:59
sorear how are CLR types related to wrapped [mscorlib]System.Type objects?
15:59 justatheory joined
jnthn What are you using "CLR types" to mean here? 15:59
My expectation for 6model/CLR integration was that I'd write meta-objects to represent each of them various kinds of CLR type 16:00
And that they'd in part delegate to, or cache things from, a System.Type instance.
I hadn't really figured out how a constructor call would look, or precisely what to install in the namespace. 16:01
The thing is that Perl 6 doesn't really have a constructor calling syntax.
You could perhaps install a fake .new method. 16:02
sorear I'm pretty sure that constructors will be exposed as a fake .new static method
jnthn That'd work out OK, I expect.
sorear however this leaves questions like "what is the nature of System::Threading::Thread?"
TimToady nature? 16:03
jnthn I don't see why it can't be a "type object"
sorear it's obviously a RakudoObject that responds to "new" and the other static methods
jnthn Perhaps method dispatch uses "is this a type object" to decide whether or not to call a static method or an instance one.
sorear is it a wrapped Type?
jnthn But maybe that's not optimizable enough.
The type object? No. 16:04
The meta-object is what wraps System.Type.
sorear or do "type objects" exist separately of Type?
ok.
jnthn Or at least, that's my expectation.
jnthn wonders if he shoudl try implementing some of this to check that he's not talking too much bull... :)
TimToady perhaps type objects have a variant repr that dwyms 16:05
sorear TimToady: we're trying to decide wym at this point
pmurias sorear: what aspects of the current system do you want to improve upon?
TimToady +
1, even
colomon implementations++
TimToady
.oO(working consensus and rough code...)
16:06
jnthn TimToady: Apart from what you really care about dwimming is probably in the meta-object and not the repr here.
16:06 kanishka joined
TimToady nodnod 16:06
jnthn I'm just about certain that it's the meta-object that needs to be the holder of System.Type though.
TimToady when I'm just stirring the pot you should probably discount my vague speculations... :) 16:07
sorear so the Niecza.CLRDelegateREPR will *almost* map to the same domain as 'object', except that it will have typed nulls
and the coercion to 'object' will fold all typed nulls to the CLR untyped null 16:08
if a CLR function returns untyped null, what should be the type object Perl 6 sees?
TimToady Nil? 16:09
jnthn CLR functions always have a return type specified, iirc?
TimToady maybe Mu makes more sense
sorear jnthn: they have a return type constraint, but they can return more specific types
jnthn Oh, but of course a CLR null doesn't carry around any type information...
sorear: True
sorear: We could return the "type object" for that type constraint. But maybe that's too magical and trying to make CLR objects too Perl 6-y... 16:10
sorear I lean to return null typed with the type of the constraint, which feels only slightly wrong
16:10 nymacro left
TimToady rakudo: say 42 ~~ none() 16:10
benabik Something like Mu or Nil makes sense to me...
p6eval rakudo 4bf132: OUTPUT«Bool::True␤»
sorear also I feel all CLR objects should be ~~ Any
jnthn sorear: (Any) yes, agree. The CLR meta-objects will probably want to lie there. :) 16:11
colomon really wishes his customers would stop using VC++ 6. :\
jnthn colomon: That's...not so new!
There's only been 4 VC++ releases since that one... :)
colomon and two major revisions of the C++ standard. 16:12
jnthn Oh, ouch.
16:12 bluescreen10 left, MayDaniel left
TimToady wonders if none() is about as close as we get to a bottom type 16:12
sorear TimToady: none() and True have the same .ACCEPTS behavior, no? 16:13
TimToady none(), I mean, True. :)
16:14 bluescreen10 joined
flussence_ colomon: at least *your* customers aren't using IE6 :( 16:14
sorear jnthn: how does the user get at a CLR type object? simply allowing them to drop System::Console in code is a bit magical, and I'm not sure how other dlls could be handled
colomon flussence_: for all I know, they are using IE6, but at least that's not my problem. 16:15
TimToady sorry, was thinking about bottom types backward, pay no attention to the man behind the curtain
sorear pmurias: I need a new system which requires less memory to generate and less boilerplate code to parse
TimToady too many natural endorphins from my wrist, no doubt
jnthn sorear: I was expecting you'd explicitly import them. 16:16
use System::Console:from<clr>;
16:17 skangas left
jnthn It'd almost certainly be wrong for them to just magically be there. Especially as implementations not running on teh CLR have no real way to support them, and you want to call out CLR usage. 16:17
NQP and Rakudo are going to be getting a bunch more honest about such things too.
sorear "honest"? 16:18
jnthn No Q:PIR and pir::foo without an appropriate use statement somewhere.
sorear What if I want to use 200 classes from some namespace somewhere?
16:18 risou joined
jnthn Good question. Maybe use System:from<clr> actually means "all the classes in System" 16:19
And use System::Console:from<clr>; # just that class
Dunno if that's too magical...
jnthn looks at TimToady :)
16:20 mkramer1 left
benabik use System::* :from<clr> ? 16:20
TimToady it's only too magical if it turns into memory bloat
sorear After that, suppose I have 'my System::Exception $foo'. Should that work? 16:21
TimToady or renders the semantics indeterminate
jnthn Probably.
I don't see why it wouldn't.
Presumably you'd even be able to use them in multi-dispatch too.
TimToady could be restricted to specific version to be safe from new-version-itis of the namespace 16:22
sorear What kind of syntax are you thinking of for use of a non-corlib library? 16:25
jnthn Maybe an extra adverb to specify the assmebly 16:26
:ass<SomeThing> # loads Something.dll and looks there
er, let's not abbreciate it...
:assembly<Something> # :)
Though :ver and :auth are :)
Troubhle is that there's no rule meaning a .Net namespace and an assembly name have to match... 16:27
TimToady we can certainly fiddle with S11:527 as necessary
but loading a thing to look in seems more like a path traversal to me, so maybe just part of the name 16:28
sorear jnthn: how does the wrapping REPR interact with value types?
benabik Perhaps just "use SomeThing" if class SomeThing is in assembly "Something.dll" and "use Something :assembly<FromHere>" if not? 16:29
TimToady do you mean boxed or unboxed?
or both?
jnthn sorear: Maybe the REPR should be (at the CLR level) type parametric. 16:30
TimToady assembly just seems like extra noise to me, if the name is unambiguously a "directory" of some sort
pmurias sorear: BSON would we an easy switch
s/an/be an/
16:31 zb joined
pmurias sorear: you are an coauthor of derive? 16:32
sorear pmurias: BSON wouldn't help with the memory issue 16:33
flussence_ notices a similarity between this "use ...;" stuff and web framework URL routing
jnthn TimToady: Any namespace can live in any assembly, or even be spread over multiple assemblies. 16:34
pmurias sorear: protocol buffers look promising 16:35
16:35 birdwindupbird left
pmurias sorear: but i'm not sure if using them would eliminate much boilerplate 16:35
16:37 icwiener left
sorear pmurias: you're looking at only superficial aspects; I think there is a deeper problem 16:38
related in some way to the tree structure
16:39 mj41 left
pmurias sorear: the opcodes being a tree rather than a list of opcodes seems a bit unusual 16:41
it seems a natural choice for a functional style language but goto kind of seems out of place in nam 16:42
16:44 cdarroch joined, cdarroch left, cdarroch joined 16:46 Moukeddar joined 16:47 benabik left 16:50 pmurias left 16:51 Trashlord left 17:00 Moukeddar left 17:02 kanishka left, kanishka joined 17:03 mberends joined
sorear o/ mberends 17:05
mberends \o sorear 17:08
jnthn o/ mberends :)
tadzik o/ 17:09
17:12 mj41 joined 17:16 slavik1 joined 17:18 slavik3 left 17:21 masak joined
masak hola, zebras. 17:21
jnthn lolitsmasak!
sorear masak!!
masak \o/
colomon \o 17:23
17:25 _twitch left
tadzik of for fuck's sake. My exam session is til the end of June, not til the end of May. One month of GSoC is happening during my semester 17:26
17:26 _ilbot joined
masak ick. 17:27
17:28 kst joined 17:31 kanishka left
tadzik gosh, everything collapses 17:32
17:32 am0c left
sorear ? 17:32
tadzik my whole plan is going crazy, I wonder where I'll stick 25 hours per week in the last month of the semester 17:34
I guess I'll move some of the stuff in the schedule to after-june 17:35
17:36 Moukeddar joined
masak Moukeddar! \o/ 17:36
17:37 wallberg left
Moukeddar hello there 17:37
masak welcome back! :)
Moukeddar \m/
17:38 risou left, risou joined 17:39 M_o_C left, Chillance joined
sorear in other news, I've been studying the implementation of Jython 17:39
it's vaguely sickening how they work around the lack of lightweight function pointerse 17:40
pyrimidine tadzik: there is a topic just posted to the GSoC mentor's list regarding this problem (student unavailability during coding)
tadzik pyrimidine: got a link? 17:41
17:41 icwiener joined
pyrimidine tadzik: I think the list is private, will check 17:41
Moukeddar jython ? 17:42
pyrimidine tadzik: no, it's public: groups.google.com/group/google-summ...816869e85#
tadzik You must be signed in and a member of this group to view its content
I'll try 17:43
pyrimidine ah
17:43 benabik joined
pyrimidine (forgot I was signed in) 17:43
tadzik or not, that's mentors-only I guess
got any conclusions to share maybe?
pyrimidine tadzik: just to summarize, the general consensus is that it's up to the org
17:43 benabik left
pyrimidine basically, time isn't the only factor, and there is some flexibility re: time with the community binding period, etc. 17:44
tadzik pyrimidine: sorry for the question spree, but what was the problem initially: suprise lack of time, known-to-happen lack of time, modifying the schedule in runtime? 17:45
17:45 mtk left
pyrimidine depending on the proposal, any of the above 17:45
sorear Am I the only one who is vaguely disturbed by the magical behavior of sort @list when @list[0] ~~ Callable? 17:46
masak I'm vaguely disturbed by many similar behaviors.
pyrimidine one student had military training, another had semester exams, etc
masak they made a lot more sense in Perl 5 when arguments were flattened. 17:47
tadzik so I guess I'll just have a hard time in the first 5 weeks, then schedule a 2-week break... crap
17:48 mtk joined
tadzik moritz, you around? 17:48
pyrimidine tadzik: so, the end answer on whether to accept students with a time conflict was 'it depends'
17:48 Mowah joined 17:51 skangas joined
dalek p/ctmo: 3befd15 | jonathan++ | src/stage0/ (7 files):
Update bootstrap with latest changes.
17:52
17:52 shabble left
sorear wait, Perl 6 had a "project manager" in 2008? 17:53
masak sorear: pmichaud? 17:55
sorear masak: obra.
jnthn Jesse used to be Perl 6 project manager. 17:56
Yes, obra
tadzik well, I have a thinktime to Friday 21:00 17:57
18:01 kanishka joined
pyrimidine tadzik: if it's any consolation, almost every response re: that post indicates that it's the quality of the student and the feasibility of the proposal that matters; if the project can be completed in that time period, then it's up to the organization. 18:05
and, from the feedback I've seen here, seems like they like it :) 18:06
tadzik oh, I'd be suprised if anything would be not up to the organization
18:06 Moukeddar left
tadzik oh, they didn't know what is the situation, hell, even I didn't know. Good that I realised today, not in may 18:07
pyrimidine yes, it's good to acknowledge the time issues in your proposal, so when you disappear for that time there is at least a reason why :) 18:08
18:10 Trashlord joined 18:13 ymasory joined
colomon sorear: I'm with you wrt magical behavior of sort. 18:14
masak I think Tene mentioned something like that at some point or another, too. 18:18
dalek ecza: 67836c1 | sorear++ | / (2 files):
Add a few IO functions, speccy &first
18:19
masak 'speccy' :)
tadzik heh :) 18:20
sorear niecza had a &first before, but it meant something different 18:25
sjn masak: any news on NPW? :)
sorear that has now been renamed to &head
sjn and krunen wants at least to know the dates :) 18:26
we're dscussing a boat trip to Malmö :D
jnthn sjn: Yes, the dates are set.
sjn gimmeh! 18:27
jnthn The ones in the original proposal.
masak right.
jnthn Now I'm back from Taiwan, the site is coming soon :)
masak we totally could have announced the dates on the npw list. sorry 'bout that.
jnthn Yes, that woulda been good...d'oh. 18:28
masak but happy to hear you're as excited about it as we are :)
sjn what dates was that
?
masak 2011-06-18 and 2011-06-19 18:31
sjn thanks 18:33
Tene sorear: I really don't like the proliferation of sub and method forms for the same task, which iirc includes sort. I also recall at various times seeing some kind of list-y method on both arrays and subs, with reversed sense of arguments, but I don't recall if that was sort, and I don't know if that's still the case. I think it was map or grep, but those don't look to currently be specced on code. 18:42
sorear: I don't remember anything about @list[0] ~~ Callable with sort, but if that's the case, I rather dislike that.
sorear: how does jython work around the lack of lightweight function pointers? 18:43
colomon Tene: the idea is to allow you to say sort &comparison-function, @list
Tene: but as it is, p6 can't tell the difference between that and sort @list where @list[0] ~~ Callable 18:44
personally, I don't mind the proliferation of sub and method forms for the same task, but really dislike having additional magic on top of that. 18:45
Tene It... can't? Huh. That doesn't sound right.
Look at the signature specified in S32/Containers.pod 18:46
our List multi sort( Ordering @by, *@values )
our List multi sort( Ordering $by, *@values )
colomon oh, interesting.
18:46 ymasory left
colomon is there no our List multi sort(*@values)? 18:46
Tene although, that's a *slurpy* parameter, which I hadn't noticed before.
colomon yeah, it's the slurpiness which causes the trouble in Rakudo's implementation 18:47
Tene but, I remember that (@a,@b) should work fine as a signature.
Slurpy there looks wrong to me, but I also note that my expectations and intuitions disagree with Perl 6's on several points. 18:48
colomon if you take away the slurpy, then making it smart is trivial. 18:49
18:50 awoodland joined
Tene I generally feel that my intuitions about the general area involving single items acting as lists and lists of single items acting as just that item don't match Perl 6's view. I find I don't really mind it in Perl 5, where there isn't really an array type in most meaningful senses (just array ref), but since Perl 6 does have it, I find myself confused by the utility of, say... 18:52
rakudo: say 1.map( * + 2 )
p6eval rakudo 4bf132: OUTPUT«3␤»
18:55 risou left
Tene It's also notable that with the sub form, there's no multi specced without the Ordering parameter. 18:55
so, you can't sort(@foo)
( but you can @foo.sort() ) 18:56
Hmm... I don't recall what a slurpy on an & parameter means either:
our Array multi method sort( @values: *&by )
"It's also possible to declare a slurpy block: *&block. It slurps up any nameless block, specified by {...}, at either the current positional location or the end of the syntactic list." 18:57
colomon hmm, didn't know that.
Tene Bleh. Eww. That seems rather distasteful to me at a first pass, but I'm not sure why. Maybe it reminds me a bit too much of ruby's mess around there. 18:58
colomon If you really cannot do sort(@foo), then the magic issue just goes away.
Tene (there are several issues involved in trying to pass an anonymous code block to a function)
PerlJam colomon: you can do sort(@foo), but the results will surprise you 18:59
(as I read the spec)
Tene PerlJam: you mean, failure to bind due to type mismatch?
PerlJam Tene: no @foo binds to @by and @values is empty
Tene PerlJam: look at the type signature on the multi; Ordering @by 19:00
colomon that only works if @foo can be an Ordering
(as Tene++ was pointing out)
Tene subset Ordering where Signature | KeyExtractor | Comparator | OrderingPair | Whatever;
perlcabal.org/syn/S29.html#Type_Declarations 19:01
colomon is wondering if there is any good reason not to add Ordering to Rakudo at this point.
Tene colomon: does rakudo support junction subsets like that?
rakudo: subset Foo where Int | Str;
p6eval rakudo 4bf132: ( no output )
Tene rakudo: subset Foo where Int | Str; my Foo $x = 5; 19:02
p6eval rakudo 4bf132: ( no output )
Tene Apparently.
colomon rakudo: subset Foo where Int | Str; my Foo $x = 5; say :$x.perl
p6eval rakudo 4bf132: OUTPUT«"x" => 5␤»
colomon rakudo: subset Foo where Int | Str; my Foo $x = "5"; say :$x.perl
p6eval rakudo 4bf132: OUTPUT«"x" => "5"␤»
colomon rakudo: subset Foo where Int | Str; my Foo $x = 5.5; say :$x.perl
p6eval rakudo 4bf132: OUTPUT«Type check failed for assignment␤ Container type: Any␤ Got: Rat␤ in '&infix:<=>' at line 1␤ in main program body at line 22:/tmp/fKma6ZKMB7␤»
colomon yup
Tene colomon: I see no reason to not add Ordering.
19:03 mberends left
Tene colomon: I see several reasons to adjust the sort() spec, but I'm uncomfortable making changes in areas that I feel I poorly understand the motivations of. 19:03
19:04 Mowah left
Tene Also, if I'm going to spend time on spec work, I've got pending edits to the macros sections of the spec to write first. :) 19:04
colomon I see S32-list/sort.t has tests like my @s = sort(@a); 19:07
S32-hash/keys_values.t has is(~sort(values(%hash))
19:08 Mowah joined 19:09 fhelmberger left 19:10 dorlamm joined
colomon rakudo: subset KeyExtractor of Code where { .signature === :(Any --> Any) }; 19:14
p6eval rakudo 4bf132: ( no output )
colomon rakudo: subset KeyExtractor of Code where { .signature === :(Any --> Any) }; my KeyExtractor $a = -> $a { $a.key }; say "got here" 19:15
p6eval rakudo 4bf132: OUTPUT«Type check failed for assignment␤ Container type: Code␤ Got: Block␤ in '&infix:<=>' at line 1␤ in main program body at line 22:/tmp/Evruawwtqe␤»
masak rakudo: say Block ~~ Code
p6eval rakudo 4bf132: OUTPUT«Bool::True␤»
colomon rakudo: subset KeyExtractor of Block where { .signature === :(Any --> Any) }; my KeyExtractor $a = -> $a { $a.key }; say "got here" 19:16
p6eval rakudo 4bf132: OUTPUT«Type check failed for assignment␤ Container type: Block␤ Got: Block␤ in '&infix:<=>' at line 1␤ in main program body at line 22:/tmp/eM0jTFSzpf␤»
colomon beauty, eh?
rakudo: subset KeyExtractor of Block where { .signature === :(Any --> Any) }; my KeyExtractor $a = -> $b { $b.key }; say "got here" 19:17
p6eval rakudo 4bf132: OUTPUT«Type check failed for assignment␤ Container type: Block␤ Got: Block␤ in '&infix:<=>' at line 1␤ in main program body at line 22:/tmp/FpwFdqn_fA␤»
colomon std: subset KeyExtractor of Block where { .signature === :(Any --> Any) }; my KeyExtractor $a = -> $b { $b.key }; say "got here"
p6eval std 4608239: OUTPUT«ok 00:01 125m␤»
19:32 renormalist joined
Tene colomon: I don't think that signature equality like that is implemented. 19:39
rakudo: my $a = -> $x { "foo" }; say $a.signature.perl 19:40
p6eval rakudo 4bf132: OUTPUT«:(Mu $x)␤»
Tene rakudo: my $a = -> $x { "foo" }; say $a.signature === :(Any --> Any)
p6eval rakudo 4bf132: OUTPUT«Bool::False␤»
Tene see?
Well... that might not be equality check; that might be incorrect signature generated for the sub. 19:41
moritz tadzik: pong
19:43 dorlamm left 19:57 plainhao left
masak could signature equality with === really work in the general case? 19:58
given that 'when' clauses contain blocks with their own identity, I mean.
er, 'where' blocks.
if I have '$x where { $_ %% 18 }' in two different, otherwise identical signatures, how would the unification between the two (distinct) '{ $_ %% 18 }' blocks be made? 19:59
moritz not at all
20:00 Rotwang joined
moritz or amybe at the AST level 20:00
masak I have trouble seeing even that.
jnthn firmly nails the can of worms shut
moritz though then it would identify { $x %% 18 } and { $_ %% 18 } as different blocks
masak aye.
not to mention other variables bound elsewhere. argh.
jnthn A more interesting question is what :(Int $x where * < 42) ~~ :(Int $x) says 20:02
And :(Int $x where * < 42) ~~ :(Int $x where * >= 42)
jnthn guesses True and False.
masak that's also code introspection. 20:03
20:03 tzhs joined
jnthn Well, not so much 20:03
The first case is just "have a constraint" vs "have no constraint"
masak what does :(Int $x where { say "OH HAI"; $_ < 42 }) ~~ :(Int $x where { $_ < 42 }) say? 20:04
jnthn It'd be fitting with MMDs view of the world.
I guess False
Because constraints like that are impossible to compare
(In general.)
moritz then it should fail() 20:05
masak oh, so even :(Int $x where { $_ < 42 }) ~~ :(Int $x where { $_ < 42 }) gives False?
jnthn If we just give up right off the bat, I guess so
20:05 awoodland_ joined
jnthn We could talk about the "same block" but then you're at high risk of optimizer-specific results (e.g. if it spots the two are the same and only generates the code once) 20:06
masak nod
and what looks like the same block to the user might not to the optimizer.
due to things like surrounding context. 20:07
20:08 wallberg joined 20:09 awoodland_ left, dorlamm joined 20:12 pjcj joined 20:14 dakkar left
tadzik moritz: can you backlog to the one-month-ouch discussion? 17:26 UTC I think 20:27
moritz tadzik: not much of a discussion... 20:32
tadzik: you know best if you'll squeeze in 25h per week, and if less, if you'll be able to catch up later on 20:33
(you can also do pre-work, if you prefer)
tadzik I'll tune the assignemnt, probably on friday 20:34
20:34 felher left
PerlJam tadzik: you can get 25h in each weekend! ;) 20:35
tadzik PerlJam: with enough motivation, yes :)
unless I'll need the weekend time for @studies 20:36
20:37 felher joined
PerlJam tadzik: that's easy too! Just sleep less each day :) 20:39
20:39 Mowah left, felher left
tadzik this is getting worse and worse :) 20:40
no, I'll handle this for sure, I just need to convince TPF that I will. And there will be slips :| 20:41
PerlJam tadzik: adjust your schedule to take advantage of when you have free time and give yourself a break when you don't. 20:43
tadzik PerlJam: the problem is that having time is not as predictable as I'd like it to be. Of course I'll do what I can, but it can't possibly be perfect 20:44
masak tadzik: in my understanding, it's OK to be unavailable during parts of the GSoC period. just make sure to plan it in.
PerlJam tadzik: what masak said (and mention how to intend to "make up" for the time) 20:45
tadzik yeah. I'll maybe put something off my shoulders to, I can always do it if I'll have more time than I suspected, or just after GSoC
e.g, it's not _so_ critical to have all of C<>, Z<>, B<> blocks and so on 20:46
20:46 Mowah joined
tadzik or all the specific type of blocks 20:46
20:46 pmurias joined
tadzik (I'll probably do them anyway) 20:47
but it's the matter of what I promise to do
20:52 Mowah left
masak 'night, #perl6 20:55
20:55 meisterd_ joined, masak left
pmurias sorear: what do you think is the deeper problem? 20:56
21:03 dorlamm left 21:04 meisterd_ left 21:06 donri left 21:09 Holy_Cow left 21:14 toebu joined 21:19 thundergnat joined 21:21 dorlamm joined 21:22 kaare_ left
thundergnat What is the proper syntax to use an adverb with an infix operator? And for that matter, what should the sub signature be? 21:25
I've implemented the logic for bit shift with rotate but can't figure out how to use the :rotate adverb.
$a +> :rotate $b #??? 21:26
moritz std: 1 +> 2 :rotate
p6eval std 4608239: OUTPUT«ok 00:01 120m␤»
moritz std: 1 +> :rotate 2
p6eval std 4608239: OUTPUT«===SORRY!===␤Two terms in a row at /tmp/v8hCZE5LQg line 1:␤------> 1 +> :rotate ⏏2␤ expecting any of:␤ bracketed infix␤ infix or meta-infix␤ statement modifier loop␤Parse failed␤FAILED 00:01 120m␤»
moritz thundergnat: but it's not yet parsed in rakudo 21:27
21:27 gantrixx left
moritz you can only call it as infix:«+>»($a, $b, :rotate) for now 21:27
thundergnat Ah. Bummer
moritz -> sleep
21:27 felher joined 21:28 bluescreen10 left 21:33 justatheory left 21:37 mj41 left 21:49 VXZ left 21:50 VXZ joined 21:57 cosimo joined 22:01 wallberg left 22:05 Rotwang left 22:07 dorlamm left 22:11 wallberg joined 22:18 Rotwang joined, stkowski joined
sorear good * #perl6 22:20
Tene: *&foo is unimplementable (it requires modification of parsing), and so you can ignore it 22:23
22:24 cosimo left
sorear niecza: sub infix:« +> »($a, $b, :$rotate) { say :$rotate.perl }; 1 +> 2 :rotate; 1 +> 2; 22:25
p6eval niecza v4-22-g67836c1: OUTPUT«Potential difficulties:␤ $b is declared but not used at /tmp/fBrTGeHc0S line 1:␤------> sub infix:« +> »($a, ⏏$b, :$rotate) { say :$rotate.perl }; 1 +␤ $a is declared but not used at /tmp/fBrTGeHc0S line 1:␤------> sub infix:« +>
..»(⏏$a, $b, :$rot…
sorear niecza: sub infix:« +> »($a, $b, :$rotate) { say :$rotate.perl }; 1 +> 2 :rotate; 1 +> 2; #OK 22:26
p6eval niecza v4-22-g67836c1: OUTPUT«"rotate" => Bool::True␤"rotate" => Any␤»
sorear pokes thundergnat
thundergnat Eh??
Whats up?
Ah! 22:27
Is there any way to tell what the native Int size is under rakudo? Preferably without having to stuff a large value into an Int and checking if it overflowed? 22:29
22:31 [particle]1 joined
Tene sorear: that's even more reason to have issues with the spec for sort 22:43
22:46 DarthGandalf left 22:49 DarthGandalf joined 22:52 awoodland left 22:54 aindilis left
sorear thundergnat: Int is supposed to be a bignum; Rakudo's sizing of it is rather a bug 23:06
TimToady: Are sized numbers classes or subtypes? Is 1 from 'my Int64 $x' a different object than 1 from 'my Int $x'? 23:08
23:09 justatheory joined 23:10 justatheory left 23:12 Rotwang left 23:14 cdarroch left 23:16 dayangkun joined 23:18 dayangkun_ joined 23:21 pmurias left, dayangkun left 23:23 gantrixx joined 23:25 justatheory joined 23:27 Chillance left 23:33 stkowski left, stkowski joined 23:46 stkowski left 23:52 flatwhatson joined 23:54 thundergnat left