Parrot 3.6.0 "P�jaros del Caribe" released | parrot.org | Log: irclog.perlgeek.de/parrot/today | #parrotsketch meeting Tuesday 19:30 UTC
Set by moderator on 5 August 2011.
kid51 soh_cah_toa: ping 00:04
00:27 whiteknight joined
whiteknight good evening, #parrot 00:35
NotFound whiteknight: I've seen the msg. That works with winxed master? 00:45
whiteknight NotFound: no, in a branch in my fork
I'm going to write some tests tonight, and open a pull request
NotFound Ah, ok.
whiteknight It's not pretty, I want to come up with a better syntax for it
I *think* I can read the function signatures directly, for basic P S N I types 00:46
For more complicated types, like specific classes, we will need to talk about syntax
NotFound Yes, it will not be easy to provide enough flexibility. 00:47
whiteknight If we allow type names in function signatures, that would work, but then we would probably want to insert isa checks 00:48
function foo(Bar.Baz baz, Bar.Fie fie) { } 00:49
that is pretty, but it starts making promises that we're going to do type checking
or maybe, we have a new syntax
multi foo(Bar.Baz baz, Bar.Fie fie) { }
And we let the MultiSub do the type checking for us
NotFound Maybe synthesizing a multi with a more generic signature to catch unwanted cases. 00:50
whiteknight That's possible too
I want to change :multi in Parrot to not be so bad, but that's going to require a lot of work and a lot of deprecations 00:51
NotFound That way the multi dispacth will care, without more runtime costs.
whiteknight right 00:52
kid51 smolder.parrot.org is down 00:56
whiteknight urg 00:57
dalek nxed/imcc_tag: 37dd080 | Whiteknight++ | t/advanced/10multi_basic.t:
Add a basic test for the improved ModifierList behaviors, in the guise of a test for multidispatch
00:58
whiteknight NotFound: pull request sent 01:00
NotFound whiteknight: I'll look at it tomorrow, now must go, 01:01
AFK
whiteknight Okay, take your time. Later
cotto ~~ 01:12
dalek nxed/func_deref: da32bbb | NotFound++ | winxedst1.winxed:
if something looks like a method call but can't be resolved at compile time
01:14
nxed/func_deref: fcb47ca | NotFound++ | examples/Mysql.winxed:
update example Mysql to use ByteBuffer, StructView and the as_string method
tcurtis ~~
nxed/func_deref: 23dc6d8 | NotFound++ | winxedst1.winxed:
new builtin var: cast to var type
nxed/func_deref: dd7f3f3 | Whiteknight++ | winxedst1.winxed:
Add prefix-* as a function lookup operator, similar to 'using' but an expression. *Foo.Bar.baz(), etc
nxed/func_deref: 4286f63 | Whiteknight++ | t/advanced/10func_deref.t:
+some tests for the function dereference operator
whiteknight hello tcurtis 01:18
how are you doing tonight?
tcurtis whiteknight: quite well. I'm working on building parse trees. 01:22
whiteknight awesome, how's it going?
tcurtis whiteknight: Is it possible to create a function/method named "!make" in Winxed? 01:25
whiteknight tcurtis: I think you can use a string for the name
function "!make"() { }
tcurtis hmm... perhaps I should try updating winxed. 01:27
whiteknight perhaps 01:28
oh, did that syntax not work?
tcurtis It didn't, but I'm still running a version of Winxed from early in the summer. 01:29
dalek rrot: 0a4ca49 | jkeenan++ | / (5 files):
Merge branch 'master' of git@github.com:parrot/parrot
01:34
rrot: 25e6b7a | jkeenan++ | docs/dev/profiling.pod:
Grammatical corrections and POD touchups.
tcurtis It's not especially high-priority and I can do it from PIR later, so I'm going to stop worrying about it for now. 01:38
01:40 jsut joined 01:41 rdesfo joined
whiteknight okay 01:43
01:49 woosley joined
dalek nxed/lambda_syntax: f2f99f9 | Whiteknight++ | winxedst1.winxed:
Quick implementation of a streamlined perl6ish lambda syntax for winxed
01:50
nxed/lambda_syntax: 8275222 | Whiteknight++ | winxedst1.winxed:
Enable an even shorter lambda syntax. If curly brackets are ommitted we parse the body as an expression and we implicitly return the result
nxed/lambda_syntax: b59c067 | Whiteknight++ | winxedst1.winxed:
Add in a SimpleReturnStatement which is like ReturnStatement but parses only a simple, single return value. Use this to cleanup the new lambda syntax with implicit return, and make it work more like a normal expression:
nxed/lambda_syntax: 7284bc1 | Whiteknight++ | t/advanced/10lambda_y_comb.t:
Add in some tests showing Y combinators written in Winxed and recursive factorial functions. Both parts are written in 'classic' syntax and new syntax
TT #2174 created by jkeenan++: Sharpen Support Policy for Windows, Then Implement It!
TT #2174: trac.parrot.org/parrot/ticket/2174
whiteknight I'm particularly happy with that Y-combinator using the lambdas 01:52
I can clean it up with some whitespace, but it's very concise 01:53
01:53 Kulag joined
whiteknight msg NotFound I opened a second pull request for that * function-lookup syntax. Just to start the discussion. If you want the syntax changed, let me know 01:54
aloha OK. I'll deliver the message.
whiteknight and with that, I'm out
01:55 mikehh joined 01:58 daniel-s joined 01:59 daniel-s joined 02:02 daniel-s joined 02:53 theory joined 03:20 theory joined 04:51 woosley1 joined 04:57 rdesfo joined 05:06 worr joined 05:23 rdesfo joined, rdesfo left 05:27 theory joined
worr are there any tutorials more up to date than the squaak tutorial on wikibooks? 06:00
tadzik oh, there's one on wikibooks? 06:03
there should be one on docs.parrot.org
worr thanks tadzik! that seems far more up to date than the one I was using 06:05
06:06 mj41 joined
dalek nxed: 37dd080 | Whiteknight++ | t/advanced/10multi_basic.t:
Add a basic test for the improved ModifierList behaviors, in the guise of a test for multidispatch
06:08
nxed: cdd0e9a | NotFound++ | / (2 files):
Merge pull request #2 from Whiteknight/imcc_tag

Imcc tag
06:17 JimmyZ joined
dalek nxed: 16ea0c8 | NotFound++ | t/advanced/10multi_basic.t:
fix coding standards
06:19
NotFound msg whiteknight merged the :multi psuh request 06:35
aloha OK. I'll deliver the message.
06:37 SHODAN joined 06:39 fperrad joined 06:57 theory joined 07:01 theory joined 07:40 mj41 joined 08:11 contingencyplan joined
dalek rrot: 404f896 | cotto++ | docs/dev/profiling.pod:
clean up intro
08:52
rrot: f2203bf | cotto++ | docs/dev/profiling.pod:
remove formatting for something not intended to be a formatted list
10:50 not_gerd joined
not_gerd o/ 10:50
just finished setting up my github account and sent a pull request for my msys fixes 10:51
10:59 nbrown joined 11:04 Kulag joined 11:18 mj41 joined 12:10 Coke joined 12:11 whiteknight joined
whiteknight good morning, #parrot 12:14
12:16 Kulag joined 12:20 Eclesia2 joined
Eclesia2 hi 12:20
moritz hello
where does the default backtrace printing happen? 12:21
nqp: pir::die('foo')
p6eval nqp: OUTPUT«foo␤current instr.: '_block1000' pc 24 ((file unknown):34) (/tmp/Uf4ylIijBK:1)␤»
Eclesia2 question : can parrot upload files ? on an ftp for example ?
moritz the 'current instr.: ...'
whiteknight moritz: The printing itself currently happens in frontend/parrot/main.c:show_error_and_exit 12:23
Creating the backtrace string itself happens somewhere in src/debug.c 12:24
moritz wouldn't it make a lot of sense to have that in the exception PMC? 12:25
whiteknight PDB_get_continuation_backtrace()
moritz is that accessible from PIR somehow?
whiteknight exception.backtrace_strings()
moritz thanks
whiteknight it returns an array of backtraces, in the case of a rethrow
moritz fwiw that method is not documented 12:26
I searched only in the docs of exception.pmc
whiteknight if you open a ticket to remind me, I'll add that tonight
moritz ok
whiteknight that method is newish. It might still be experimental 12:28
no, it's not listed in api.yaml. It should be documented 12:29
and tested, if it isn't already
moritz ticked opened
whiteknight moritz++
dalek nxed: b39b646 | NotFound++ | winxedst1.winxed:
add a missing annotation and fix a bug in generated key for CallMemberExpr with non declared symbol
12:30
NotFound whiteknight: I think I've found a parrotish and wixedish way to avoid the need for using in most cases: casting to var. 12:32
whiteknight what do you mean? 12:33
NotFound x = a.b(); /* method call on a */ var (a.b)(); /* function call on a.b */
whiteknight oh, tricky
that would do a get_global namespace search?
NotFound Currently doesn't, but I'm ging to change it. 12:34
whiteknight that would be awesome.
so I'll close out that pull request with the * syntax?
NotFound Also, it will be used to disable using the subid in declared functions. 12:35
Wich can be helpful for multi
whiteknight exactly
NotFound++
NotFound Don't close it yet, wait for this thing to be implemented.
whiteknight okay
dalek TT #2175 created by moritz++: method backtrace_strings in PMC Exception not documented 12:37
TT #2175: trac.parrot.org/parrot/ticket/2175
NotFound Also, the part of casting to var already implemented is useful: f(var(1)); /* Calls f with an Integer PMC */ 12:38
12:55 ambs joined, JimmyZ joined
Coke . 13:03
windows build warns of lots of unreachable code. 13:05
NotFound Coke: probably the does_not_return decorations are not recognized. 13:06
Coke could be. I mention it in case there is someone like alester on windows. 13:07
(doing a smoke now, for grins.)
Files=393, Tests=13620, 132 wallclock secs ( 5.07 usr + 1.23 sys = 6.30 CPU) 13:08
smolder 500 error though. 13:09
restarting smolder...
dalek kudo/nom: 5d1f4db | moritz++ | src/core/ (3 files):
fix ceiling, add sub form
13:16
Coke restarting not helping. 13:21
whiteknight kid51 mentioned smolder was down yesterday. 13:22
dalek nxed: dcac13a | NotFound++ | winxedst1.winxed:
do a namespace lookup in member expr casted to var
13:25
Coke where? 13:26
I didn't see a ticket or anything on the list. just here?
whiteknight Coke: yeah, just here in the channel. I don't think he had time to really document it correctly 13:30
Coke ok. I've started a chat in #osuosl, but no one there is responding.
I've restarted the service, but it's still showing 500 error.
whiteknight It's still pretty early on the west coast
NotFound++ 13:33
NotFound: 6model allows native typed attributes. I worry that new syntax is going to cause a conflict 13:35
if self.attr is a string, then I would expect var(self.attr) to return a String PMC
or, with built-in types. Exception.message is a string, so var(e.message) should return a String PMC
Coke new ticket still get announced here, aye? 13:36
*s
whiteknight Coke: yes, with delay 13:37
NotFound whiteknight: I don't see the conflict :?
whiteknight var(e.message), is that going to be parsed to return a String PMC, or is it going to do a namespace lookup for function e.message? 13:38
not_gerd whiteknight: I sent a pull request with my msys fixes
NotFound If you don't want the namespace lookup, don't cast.
whiteknight not_gerd: I saw
not_gerd also, I set up a pseudo-blog on github: gerdr.github.com/on-parrot/ 13:39
whiteknight not_gerd: We;ll review it and merge if it's all good
NotFound whiteknight: the idea is that you declare the intention in the code, to avoid runtime checks.
whiteknight so if e is declared in scope as an identifier, it will do a normal attribute lookup and cast? 13:40
NotFound No, you use the cast if you want to bypass the scope lookup. 13:41
dalek TT #2176 created by coke++: tests incorrectly skipped on windows.
TT #2176: trac.parrot.org/parrot/ticket/2176
whiteknight I'm going to have to play with it 13:43
NotFound Regarding the native typed attributes, are we going to have corresponding get/set attribute variants? 13:44
whiteknight Oh right, I forgot about the opcodes 13:45
We don't have those yet
or vtable accessors for them
okay, forget about that
Coke #2176 is a simple perl5 task. just need to use Parrot::Config 13:50
jnthn__ 6model has natively typed attr support, but it really doesn't want them to be v-table methods. 13:51
Probably it should drop using the various v-tables there alltogether. 13:53
So make the Parrot 6model integration easier.
(the ones for attr access I mean)
s/So/it'll/
NotFound jnthn__: What's the alternative, then? Runtime checking anything?
jnthn__ NotFound: Well, our native ones just look along the lines of REPR(obj)->get_attr_int(...) or some such 13:54
It's just an operation of the representation, and your polymorphism comes from representation poly. 13:55
But that's orthogonal to method-y style dispatch, which is where I see v-tables being more relevant.
The design is such that a smart JIT - if it knows what REPR will be used - could even inline attribute access. 13:56
NotFound jnthn__: I talk about present day. 13:57
jnthn__ NotFound: Yes, I'm talking about Parrot not adding stuff that'll only have to go away again if it integrates 6model. :)
NotFound jnthn__: we have working stuff right now.
whiteknight jnthn: so what's the PIR-level interface for that, new opcodes? 14:01
jnthn__ whiteknight: yeah
whiteknight okay, we can definitely add get_attr__i_p_x and set_attr_p_s_x variants 14:02
currently they would do unnecessary boxing/unboxing to fit in with existing vtables
but in 6model land, they could avoid that
NotFound I've sometimes tought about adding such opcodes, just to make easier code generation in some cases. 14:03
whiteknight er, get_attr_x_p_s
If I add that to Parrot soon, will it help make things in winxed easier?
NotFound Probably, and make generated code more compact and possibly a bit faster. 14:06
whiteknight the first implementations would not be faster 14:08
because get_attr_str and set_attr_str still take PMCs, so we would need to box/unbox
but there is less generated code
NotFound: gist.github.com/1139736 This doesn't work 14:09
test.winxed:8: Expected identifier near ( 14:10
NotFound whiteknight: already fixed, testing it a bit before commit. 14:11
whiteknight okay
NotFound Is just that the 'var' was assumed to be the start of a var statement.
whiteknight right 14:12
NotFound I'm thinking about adding a cast to void, it may be needed to cover some corner cases. 14:14
whiteknight cast to void? What corner cases? 14:15
dalek p: 051792c | moritz++ | src/HLL/Compiler.pm:
put back the ability to add a custom backtrace printer

Since it prints the exception too and not only the backtrace, it is now renamed to 'handle-exception', and the command line option for disabling it is called --ll-exception
14:19
NotFound whiteknight: for example, accessing an attribute just to see if the attempt throws. 14:20
whiteknight ok 14:21
bubaflub Coke: i've got a patch for TT #2176 - could you give it a quick sanity check? i'll attach it to the ticket here in a sec. 14:22
14:35 Eclesia2 left 14:44 lucian joined
dalek nxed: 1ba4ccc | NotFound++ | winxedst1.winxed:
allow cast builtins at the start of a statement
14:50
Coke bubaflub: seems sane. testing on windows. 14:54
bubaflub++ # seems to correctly run those tests now. 14:56
bubaflub Coke: i'm seeing some other uses of Catfile with hardcoded .o stuff in t/tools/dev/headerizer/02_methods.t - does that file need to change as well?
Coke if it's ever going to work on windows,aye. 14:57
I don't think we have a lot of headerizing going on there, but go ahead and fix that up.
(for that, just make sure it still works on *nix)
bubaflub Coke: second patch attached to the ticket 15:02
15:30 darbelo joined
whiteknight the more I look at things like Subs, MultiSubs, and Closures, the more aggravated I get 15:37
Sub PMC does *way* too much work. It tries to be everything to everybody. It shouldn't be 15:40
There's no reason why Sub should be the type for all subroutines, methods and closures 15:41
There is also no reason why the Sub should have to care about where it gets stored. sub->HLL_id, ->namespace_name, ->namespace_stash, ->method_name, ->ns_entry_name, and ->multi_signature should all *not* appear on Sub 15:43
15:43 daniel-s joined
whiteknight What if we have a single Sub that is stored in more than one namespace? Or, what if we have a single sub stored in a class under two different method names, or in multiple classes under multiple names? 15:44
What if a single sub has :slurpy parameters, and can accept several different types of :multi invocation?
Why should a Sub be restricted to a single vtable slot number, when it could potentially fill in several of them? 15:45
JimmyZ rakudo doesn't use parrot's them ?
whiteknight especially when we consider the sheer proliferation of vtable slots, the fact that PCC auto-coerces arguments, etc
JimmyZ rakudo doesn't use them ?
whiteknight JimmyZ: Rakudo does use them, but they are wrapped
JimmyZ and so nom? 15:46
nom branch
whiteknight yeah, I think it has to
Sub is primitive. Everybody uses it and everybody MUST use it in some way
jnthn__ We use Sub but not those various views 15:47
s/views/fields/
(We don't use Parrot namespaces nor classes, so...)
Oh
I abuse multi_signature
whiteknight jnthn__: IMCC would fill in those fields anyway
jnthn__ I use it to attach the Perl 6 code object.
Since we never use Parrot's multi-dispatch and it's way cheaper than using the property hash. :) 15:48
whiteknight it bugs the hell out of me that a Sub has to hold its own multi_signature. That's not the business of the Sub, that's record-keeping details for the MultiSub
jnthn__ (Yes, I know. I'm evil.)
JimmyZ would like to see PCC refactor which will make nom faster too 15:49
jnthn__ Well, MultiSub actually holds many Subs.
whiteknight Sub should be a low-level type that basically provides a wrapper over a segment of bytecode ->seg, ->start_offs, ->end_offs, and ->eval_pmc (which needs to be renamed)
Everything else should be subclassed
jnthn__ ->namespace_name, ->method_name and ->ns_entry_name I'd imagine are easy to cull today 15:50
Well, I maybe :)
15:51 knewt joined
whiteknight The biggest problem, and you know this without me needing to say it, is the magical PIR syntax crap in IMCC 15:51
:multi flags should disappear. You can create your own multisubs and populate them with method and vtable calls
.namespace directives too. Kill them. We can create NameSpace objects if we want them, and populate them with method calls and keyed vtable calls 15:52
It's just like 6model ignoring :method flags: Create your own damn metaobject and put things in it your damn self
and leave IMCC out of it
I'm also not sure that ->sub_id is needed. I mean, that's a compile-time detail right? You shouldn't need that information after compilation. 15:57
.const 'Sub' directives should be replaced with hard-coded integer indices for subs in the constants table
When I invoke a MultiSub, and the multi redispatches to the proper candidate, the interp->current_sub is *still* a reference to the MultiSub 16:01
16:02 preflex joined
whiteknight so when we make a closure, we have to get the reference to the current sub (the MultiSub) then *re-sort the candidates list* to find the sub currently executing (lol sorry if that changed!) and close over it 16:02
instead of, say, Parrot_sub_new_closure just taking two arguments, one for the parent and one for the child 16:03
or instead of MultiSub.invoke updating interp->current_sub with a reference to the sub which is actually executing
16:03 theory joined
whiteknight or, having the child look up the parent sub in the outer_ctx 16:03
or anything that doesn't royally suck
16:18 Eclesia joined
Eclesia hi 16:19
benabik Huh. Converted another function to NQP to try and muck with it and get it to work with newPOST… Turns out just using ResizablePMCArray instead of ResizableStringArray is all I needed.
whiteknight hello eclesia
dalek rrot/nqp_pct: f2487b6 | benabik++ | compilers/pct/src/PAST/Compiler.p (2 files):
War on Q:PIR - PAST::Compiler.post_children

I was going to leave this, but it doesn't behave properly for newPOST.
rrot/nqp_pct: 74006ad | benabik++ | t/compilers/pct/newp (2 files):
newpast/newpost.t - add plan
JimmyZ whiteknight: speak of pmc, I think defaut.pmc and object.pmc is reduplicate 16:21
benabik My test segfaults instead of not working! Is that progress?
whiteknight JimmyZ: Not yet. They will be after 6model 16:22
benabik: it gives you a new method of attack. Fire up GDB and figure out where it's segfaulting
JimmyZ whiteknight: oh, then s/is/ will be/ 16:23
firefox doesn't like f2487b6 16:25
whiteknight benabik: without knowing anything about anything, I'm going to guess it's segfaulting in the fast_core
benabik whiteknight: Parrot doesn't seem to handle invalid bytecode well. I'm guessing I'm generating something poorly. 16:26
Is there a way to switch to the slow run core? 16:28
whiteknight --runcore=slow 16:29
benabik in clone_key_arg, could not access memory at address 0x000000 16:35
whiteknight hmmm...weird 16:38
you have a null in a key somewhere
benabik I didn't think I was generating any keys.
whiteknight something sure thinks you are 16:41
nopaste the whole backtrace?
benabik It's somewhere inside PCC.
nopaste "benabik" at 192.168.1.3 pasted "newPOST segfault" (31 lines) at nopaste.snit.ch/69483 16:42
JimmyZ wonders how much improvement will be after PCC refactor. 16:43
whiteknight benabik: weird 16:44
benabik Ohhhhhh..... 16:45
whiteknight ...?
benabik It's not getting wrapped in a sub.
whiteknight what isn't?
benabik It's trying to do codegen from a tree that looks like File -> Ops instead of File -> Sub -> Ops. 16:46
It never generates a sub.
whiteknight oh fun.
benabik Invalid bytecode.
moritz hopes that soh_cah_toa++ isn't too frustrated 16:51
16:59 bubaflub joined
whiteknight talk about frustration, let me talk about how all this sub code uses the interp as a global data store instead of passing parameters to functions 17:06
atrodo whiteknight> That's all the rage these days
whiteknight forget about reentrancy, maintainability, encapsulation, or optimizability
And then we have all these API functions that you can't use from anywhere, because they are completely dependent on global state 17:08
atrodo Real men know that their code does not violate any of that, at all times
whiteknight and not just global state, the funny corner cases of global state
Eclesia :) perfect build steps for eria : ftp://ftp-developpez.com/jsorel/temp2/packs.png 17:32
cotto_work ~~ 17:34
Eclesia think those colored square would look nice in the parrot build, for each module
benabik Eclesia: I've brought up using a less verbose Makefile before (not pretty squares, but the same method git uses) and the general consensus was they liked it as is. 17:36
17:36 dmalcolm joined
Eclesia everyone has it's preferences, I'm a manic of nice ouputs ^^ 17:37
whiteknight Eclesia++ 17:38
benabik I really like git's Makefile output. Makes it clear what it's doing and makes errors and warnings stand out. 17:41
17:44 bubaflub joined
JimmyZ what's eria? eria.org? 17:47
Eclesia eria is my project. a mutli-syntaxique model. not on the web,only on my machine. but I can upload a zip with the project if needed 17:49
JimmyZ ftp://ftp-developpez.com/jsorel/temp/eria-pvm.zip ?
Eclesia that's an old one
1min, I upload a new one 17:50
JimmyZ: it's uploaded. same file 17:52
don't hope to much :D it's only ~2month old 17:53
to compile : winxed lib-0/Compiler0.wx 17:54
to run : ./eria.sh test/HelloWorld.ec
(linux only)
JimmyZ pushing to github, writing a README will be appreciated :) 17:56
Eclesia readme is already there
JimmyZ that's a REQUIEREMENT 17:57
17:57 bubaflub joined
Eclesia and mercurial is already set up too ;) but only for my local network 17:57
JimmyZ sleeps 17:59
Eclesia JimmyZ: works for you ?
whiteknight: it's still not possible to get some system properties ? like temp directory, system file separator or user home and name ? 18:01
JimmyZ Eclesia: I din't try it, just looking the codes, trying to look for the goal
Eclesia the goal ?
JimmyZ the project's goal
Eclesia a cross vm model i guess is the main goal 18:02
Coke smolder is back. 18:03
bubaflub: you have commit rights?
bubaflub Coke: i do. just no Windows to test on.
i suppose i could hijack my wife's machine...
Coke I tested the first patch, it's fine.
just commit them, and I'll test them, and we can roll the back if there's an issue. they look good to me.
bubaflub Coke: woot. should i close the ticket as well? 18:04
Eclesia think Eria kiled JimmyZ 18:05
Coke bubaflub: sure. I can reopen it if needs be. 18:06
bubaflub++
dalek rrot: 22b8e86 | bubaflub++ | t/ (11 files):
[TT #2176] use Parrot's Config to determine what extension an object file should
18:08
Coke bubaflub: doing a clean/rebuild/test/smoke now. 18:10
dalek TT #2176 closed by bubaflub++: tests incorrectly skipped on windows.
TT #2176: trac.parrot.org/parrot/ticket/2176
bubaflub Coke: thanks. i might hijack my wife's old laptop to do builds on Windows - but there are just so many combinations of compilers / environments i think it would take quite a while to setup. 18:11
Coke ... this windows laptop must be more powerful than my previous windows build machine.
bubaflub: no worries. I use windows every day at work, and (now) have everything I need for testing. 18:12
bubaflub Coke: yeah. i'd like to have it setup so we can meet our development goal of sucking less on Windows. i'll try and setup it after i'm done with GSoC and hopefully document the procedure for all the different combos I can get. 18:13
dalek rrot/nqp_pct: d645956 | benabik++ | / (3 files):
PAST::NewCompiler - compile Val nodes

This compiles Float, Integer, and String constants to POST::Constants.
rrot/nqp_pct: 3f6df9e | benabik++ | compilers/pct/src/POST/PBCCompiler.pm:
POST::PBCCompiler - reindent

The file mostly used four space indents, but there were random lines with tabs.
rrot/nqp_pct: 1a56de8 | benabik++ | compilers/pct/src/POST/PBCCompiler.p (2 files):
POST::PBCCompiler - fix compiler setup

It should use stages, not a second language declaration. Also, the stages were wrong.
rrot/nqp_pct: 6589785 | benabik++ | compilers/pct/src/PAST/NewCompiler.p (2 files):
PAST::NewCompiler - wrap tree in Sub if needed

POST::Compiler wraps non POST::Subs in an anonymous sub, but it's to do it earlier for newPOST.
rrot/nqp_pct: 5f4734d | benabik++ | t/compilers/pct/complete_workflow.t:
t/compiler/pct/complete_workflow - use newPOST

This makes it so all complete workflow tests use both the PIR and the newPOST compilation methods.
rrot/nqp_pct: 559ced1 | benabik++ | compilers/pct/src/PAST/ (2 files):
[PCT] Fix codetest complaints
whiteknight benabik++ 18:15
18:16 worr joined
benabik It actually seems to be close to usable for simple usage. 18:16
whiteknight how "simple"?
benabik No inline PIR, haven't tried exceptions yet. 18:17
I bet exceptions will fail because most of them use the PIR constants which POST used to just import via IMCC. 18:18
I'm trying squaak right now. 18:20
whiteknight so included PASM constants don't work?
benabik No. I'd have to add something to load the file and parse it. 18:21
I'll work on that if I get the basics running.
Coke Eclesia: we already have half of the items you're asking for in 2177. 18:23
more if you could environment variables.
Eclesia Coke: ho sorry, I didn't find anything so I guess it wasn't available. so where can I get those ? 18:24
Coke look in the config hash. 18:25
moment.
github.com/partcl/partcl/blob/mast...b.pir#L131 18:26
there's code there that pulls out "slash", for example.
you can use "parrot_config --dump" to see all the other values you can pull from there.
dalek TT #2177 created by Eclesia++: Access system properties
TT #2177: trac.parrot.org/parrot/ticket/2177
Coke github.com/partcl/partcl/blob/mast...b.pir#L104 converts environment variables in to tcl's ENV array - so you could, e.g. get the timezone from there. 18:29
Eclesia Coke: I can't say it's easy to grab those values ... 18:31
Coke : thanks, I'll try to make those 'user friendly' in a utility class 18:32
18:34 smash joined
smash hello everyone 18:34
Coke easy to grab which values? 18:39
the values from the config hash? Where else would you put them? 18:40
Eclesia Coke : it's the way to obtain this hash. I was hoping for a convinient function somewhere wish would return it. SystemProperties.getProperties(); something like that 18:41
Coke Yup, that might've been nice. 18:42
bubaflub: Files=393, Tests=13822, 176 wallclock secs ( 4.85 usr + 1.39 sys = 6.24 CPU) 18:43
Result: PASS
bubaflub: that's another 202 tests. 18:44
bubaflub Coke: hooray.
Coke (all of which pass)
bubaflub Eclesia: I have an example in Winxed of getting values from that hash: github.com/bubaflub/parrot-gmp/blo...inxed#L186
Coke make headerizer files, but lists all the .obj files before doing so. 18:45
Eclesia bubaflub++ awesome that makes me win an hour of work :D 18:46
bubaflub Eclesia: glad i could help. that setup.winxed might have other useful things as well. in there i have to compile a small C program to check some library values; don't know if that is useful for ya.
whiteknight Eclesia: If you want a nicer place to put the config hash, ask. Suggestions and patches are always appreciated 18:49
Eclesia whiteknight: for now I don't have much utilities : Files, Reflexion, Strings, SystemProperties, Trees, X364 . they are in the eria zip. if anything is useful you can copy it, but I would appreciate if the license is preserved. 18:52
whiteknight Eclesia: I will look. I have most of that stuff in Rosella already.
Eclesia whiteknight: you added the x364 ? 18:53
whiteknight Eclesia: no, I haven't added that 19:02
19:03 jsut_ joined 19:14 particle joined
Eclesia in winxed : I have this error : Parent of "'model_parser;ParserEria0' is null" when I try to load the parserEria0.pbc before parserEria.pbc . 19:26
is it possible to avoid this error (without inverting load order) ?
whiteknight Classes are defined and built at runtime 19:27
so you have to build the parents before you build the children
NotFound You can avoid to invert the load order by using the correct order from start ;) 19:28
Eclesia whiteknight: is it possible to load several pbc at the same time ?
NotFound: I'm extracting .pbc from an unknowned zip. so I don't know the order 19:29
NotFound Eclesia: you should load anyhting required by a module in the module itself. 19:31
Eclesia NotFound: the module does not know where the files are extracted. so he can't load them properly 19:32
hm ... maybe I can solve that... 19:33
NotFound Eclesia: If a module defines a class that inherits from some other, it must do.
Eclesia or contain a metadata file with the proper order 19:36
19:37 Felipe joined 20:06 pjcj joined 20:17 contingencyplan joined 20:43 soh_cah_toa joined
Eclesia how can I execute two command in one spawnw ? 20:53
spawnw(["cd",string(file.path),"\\n", 20:54
"zip","-r", "../../"+BASE_PEM+"/"+name,"*"]);
I want to move in a folder before calling a zip
Tene_ Hey, where does the P5 M0 prototype live? 20:57
cotto_work Tene_: m0-prototype in src/m0/perl5/m0_interpreter.pl 20:58
m0-prototype branch
Tene_ Great; thanks.
cotto_work Tene_: what's your interest?
Tene_ cotto_work: dunno yet
cotto_work Tene_: wfm
Eclesia wfm? 20:59
cotto_work aloha: wfm? 21:00
aloha cotto_work: Sorry, I don't know.
cotto_work aloha: wfm is works for me
aloha cotto_work: Okay.
21:37 sjn joined 21:44 Psyche^ joined 22:01 theory joined
Eclesia Victory! Module manager working :D no more hundreds of load_bytecode *.pbc . only a few *.em 22:09
++ 22:13
22:13 Eclesia left