Parrot 3.1.0 Released | parrot.org | Log: irclog.perlgeek.de/parrot/today | Goals: Get GSoC ideas on wiki. Merge/review tewk/select. Evaluate attribute_defs, rip out in branch
Set by moderator on 1 March 2011.
00:06 plobsing_ joined 00:13 whiteknight joined 00:17 plobsing_ left 00:19 fperrad left 00:20 dmalcolm left
whiteknight good evening, #parrot 00:41
sorear hi, whiteknight
00:45 plobsing joined
whiteknight hello sorear. What are you up to tonight? 00:45
sorear perl6 implementation hacking 00:48
trying to add typed variables to mine 00:51
dalek rrot/opsc_llvm: e92c97e | bacek++ | / (2 files):
Remove Builder.BUILD. We can call it .new actually
00:57
rrot/opsc_llvm: 149669e | bacek++ | / (2 files):
Remove Module.BUILD
rrot/opsc_llvm: 951a3cb | bacek++ | runtime/parrot/library/LLVM/Context.pm:
Change Context creation.
rrot/opsc_llvm: c748288 | bacek++ | runtime/parrot/library/LLVM/BasicBlock.pm:
Add BasicBlock.new
rrot/opsc_llvm: 28a5f59 | bacek++ | runtime/parrot/library/LLVM/Opaque.pm:
Add stub for Opaque.new. I do need way to call SUPER.new here
rrot/opsc_llvm: 21ea99a | bacek++ | / (7 files):
Use .create for creating of LLVM::* objects. I couldn't find way of proper .new overriding without LLVM segfaults
cotto_work github.com/blog/807-new-and-improv...k-payloads 01:14
github++ 01:15
plobsing does this mean that we no longer have need for the merge heuristic? 01:16
cotto_work that's how I read it 01:17
plobsing nice
cotto_work might be useful for lesser git hosts though
dalek: owner? 01:18
dalek: owner
sorear cotto_work: dalek is a write only bot 01:19
cotto_work some bots implement that as a special case 01:20
clearly dalek isn't among them
sorear dalek logs all payloads; once someone merges a branch I'll have a useful test data
01:21 bubaflub joined
cotto_work sorear: you're its current caretaker? 01:21
sorear yes 01:25
cotto_work good to know
sorear++ for doing that
whiteknight sorear++ indeed 01:27
01:29 mtk left 01:34 whiteknight left 01:36 mtk joined
atrodo isparrotfastyet maybe strange/down for the next couple hours 01:40
davidfetter any parser geeks in the house? 01:42
sorear hi
plobsing I know a little about parsing
davidfetter i'm trying to figure out how to modernize the one for postgres. atm, it's the "usual thing" (lexx/yacc) 01:43
well, flexx/bison
mysql has a hand-tooled one that beats the snot out of pg's for speed, but that's a route i hope we don't have to go
...seeing as we intend to expand pg's grammar, and 'allah only knows what they plan to do to mysql's 01:44
atrodo So the main concern with current flex/bison is speed?
plobsing have you looked at lemon?
davidfetter atrodo, yes. plobsing, not yet. :)
plobsing you could probably steal most of SQLite's parser
davidfetter suspects sqlite got its grammar from pg ;)
or at least a lot of it. i wish we could get more sqlite people to pg events 01:45
plobsing davidfetter: Lemon was written and is maintained as part of SQLite
it works similar to bison
davidfetter oh, cool :)
01:47 lucian_ left
davidfetter thanks, plobsing :) 01:51
plobsing I'm quite surprised that flex/bison speed is an issue. Is it the parse algorithm that is expensive, or the ancillary code (eg: setup, teardown, buffer copying)? 01:52
davidfetter SQL is [Fukien] enormous, at least in the case of pg 01:54
re: ancillary code, i suppose i should do some profiling
in pg, SQL statements over 8KiB are not uncommon :/ 01:55
...and pg implements the vast majority of what's in the SQL standard, a multi-thousand-page screed
anyhow, i should probably head homeward
01:55 davidfetter left
cotto ~~ 02:16
dalek rrot/opsc_llvm: fa227ed | bacek++ | runtime/parrot/library/ (3 files):
Add LLVM::Value stub
02:23
rrot/opsc_llvm: 5f3c724 | bacek++ | runtime/parrot/library/LLVM/Value.pm:
Add Value.name
rrot/opsc_llvm: 113f930 | bacek++ | runtime/parrot/library/LLVM/Function.pm:
Add fetching params from Function
rrot/opsc_llvm: 84d77e2 | bacek++ | runtime/parrot/library/LLVM/Opaque.pm:
Add Opaque.defined for test simplification.
rrot/opsc_llvm: be543b8 | bacek++ | t/library/llvm.t:
End-to-end testing to pass param from parrot into JITted functio, use it and return back
rrot/opsc_llvm: 505c8d3 | bacek++ | t/library/llvm.t:
Wrap output of generated function for aesthetic reasons.
02:25
bacek_at_work cotto, look! We can pass stuff to LLVM! github.com/parrot/parrot/commit/be543b8c91 :) 02:26
cotto bacek_at_work, this is getting scary 02:31
bacek_at_work cotto, beware! World Domination is around the corner! 02:32
cotto bacek_at_work, is your plan to have the ops be translated into llvm and to call in and out of the C parrot guts? 02:37
or is it just an experiment in awesomeness?
atrodo perhaps a yak was shaved merely because it was there... 02:40
sorear is interested in learning the goals of this too 02:43
02:48 kid51 joined
kid51 msg whitenight whiteknight++ good post on parrot-dev about GSOC 02:50
aloha OK. I'll deliver the message.
bacek_at_work cotto, last step - JITting of Subs. 03:13
03:21 ShaneC left
cotto bacek_at_work, last step before what? 03:26
plobsing world domination 03:27
bacek_at_work cotto_work, last step for llvm jit
and world domination :)
cotto bacek_at_work, how hard would it be to split the C parser for opsc into a separate hll?
bacek_at_work cotto, not a big deal. Will require some polishing on C macros though 03:29
nopaste "kid51" at 192.168.1.3 pasted "opsc_llvm branch: t/library/llvm.t" (19 lines) at nopaste.snit.ch/36050 03:32
bacek_at_work kid51, I did manual configuring of llvm libs. 03:34
perl Configure.pl --cc="ccache cc" --no-line-directives --ccflags="`llvm-config-2.7 --cflags`" --ldflags="-lLLVM-2.7 -lpthread -lrt" --libs="-lLLVM-2.7 -lpthread -lrt"
kid51, ^
kid51 bacek_at_work: What command would I run to see what version of llvm I have? 03:36
bacek_at_work llvm-config --version?
kid51 I have 2.2
bacek_at_work oh. I don't know will it work with 2.2 at all.
kid51 I'll be the first to try :-) 03:37
03:39 ShaneC joined
nopaste "kid51" at 192.168.1.3 pasted "opsc_llvm branch: Unsuccessful attempt to configure" (22 lines) at nopaste.snit.ch/36051 03:44
kid51 I'll have to leave it there for tonight. /me must sleep 03:45
bacek_at_work kid51, s/llvm-config-2.2/llvm-config/ 03:52
mikehh bacek_at_work: builds for me with 2.8 instead of 2.7 - segfaults in t/library/llvm.t - all 13 subtests pass 04:00
bacek_at_work: one problem I have config says auto::llvm - Is LLVM installed....................................no. 04:01
bacek_at_work: running on Ubuntu 10.10 i386 - llvm-config --version -> 2.8 04:04
dalek rrot/opsc_llvm: 5b96ae1 | bacek++ | runtime/parrot/library/LLVM.pm:
Add a lot more function declarations.
04:08
rrot/opsc_llvm: c7db18c | bacek++ | runtime/parrot/library/LLVM.pm:
Add more LLVM function declarations.
rrot/opsc_llvm: 38d9af2 | bacek++ | t/library/llvm.t:
Add test for optimization of generated function.
bacek_at_work mikehh, strange. Looks like it segfaults on $module.dump. Which is pretty safe... 04:09
04:12 kid51 left
mikehh bacek_at_work: re-built with latest - same story make corevm/make coretest PASS make world/make test - FAILS on t/library/llvm.t - all 13 subtests pass 04:23
bacek_at_work mikehh, can you run ./parrot-nqp t/library/llvm.t and nopaste output? 04:24
mikehh, hey. Are you on amd64? 04:27
mikehh bacek_at_work: no i386 at the moment
bacek_at_work mikehh, hmm... I don't know. I'll try install 2.8 for test 04:28
mikehh, ah! Can you replace LLVM.so with 2.8 version in runtime/parrot/library/LLVM.pm on line 36 04:29
?
This is probably a culpit.
nopaste "mikehh" at 192.168.1.3 pasted "opsc_llvm branch - prove -v t/library/llvm.t and ./parrot-nqp t/library/llvm.t" (41 lines) at nopaste.snit.ch/36071
04:30 cognominal joined
bacek_at_work How I can run single step from Configure.pl? 04:30
cotto perl tools/dev/reconfigure.pl --step=gen::makefiles 04:33
bacek_at_work cotto, thanks! 04:35
cotto bacek_at_work, you're welcome
mikehh bacek_at_work: ok that seemed to work 04:40
cotto I'm tired of tips for developers not being documented. Does anyone have an opinion as to where a file that covers general tips for parrot hacking should go?
bacek_at_work cotto, no idea... 04:41
cotto docs/project looks like a natural place, right next to the git workflow docs 04:42
cotto starts on docs/project/protips.pod 04:44
mikehh bacek_at_work: ok the tests PASS with that change (to 2.8 in LLVM.pm) - bit of extra output from that test 04:47
bacek_at_work mikehh, yes, this output is sideeffects I was working for :)
mikehh bacek_at_work: git status reports a lot of *.pir files in runtime/parrot/library 04:50
bacek_at_work mikehh, yes. I didn't bother with proper cleanup. Branch is far-far-away from mergeable state 04:51
mikehh bacek_at_work: haven't even tried codetests yet :-} 04:52
bacek_at_work: but make coretest and mate test PASS 04:53
make
bacek_at_work just because it's implemented in nqp :)
cotto our codingstds tests (and coding standards) for nqp are lacking 04:55
mikehh needs sleep 05:02
cotto mikehh, 'night
mikehh cu
05:03 Themeruta joined
cotto hi, notnotfound 05:03
05:03 NotFound left
cotto or "found", I guess 05:04
dukeleto ~~ 05:06
cotto ā†œā†œ 05:07
dukeleto cotto: how goes it? 05:10
cotto dukeleto, can't complain 05:11
ffi primitives still elude me, but the paper on concurrency primitives looks promising 05:14
dukeleto cotto: for ffi primitives, factors 'alien' subsystem is pretty cool 05:16
cotto: docs.factorcode.org/content/vocab-alien.html 05:18
cotto dukeleto, how's the move going? 05:21
dukeleto cotto: it is done, but I am currently in NY for work 05:24
cotto: and a funerala
funeral, even
cotto: so the last few days has been pretty insane. Oh yeah, I was at Duke University yesterday for a conference 05:25
cotto sorry to hear that
dukeleto cotto: like I said. Insanity.
cotto: thanks
cotto: i have my own office in my new house, so I am pretty stoked about that
cotto awesome
I hardly ever get to go to my office in my bathrobe. 05:26
Friday was apparently PJ day, but only a couple people got the memo. 05:28
bubaflub good evening dukeleto 05:42
cotto hio bubaflub 05:47
dukeleto bubaflub: wazzup
bubaflub dukeleto: not a whole lot, typing up a paper for class
hola cotto
dukeleto: you no longer in PDX? 05:48
dukeleto bubaflub: just on a business trip 05:49
bubaflub dukeleto: very cool. you still running GSoC stuff this year or did you pass the baton?
dukeleto I gave a talk at Duke University at this conf: gmod.org/wiki/March_2011_GMOD_Meeting and I will be going to pair with my cow-orkers in Ithaca, NY in a few days 05:50
bubaflub: i applied parrot and perl as separate orgs this year 05:51
bubaflub dukeleto: very cool. you doing a lot of bio-perl type stuff now?
dukeleto bubaflub: i will still be the parrot org admin, and the plan is to try to train/mentor someone to become the perl org admin
bubaflub: yeah, my job is solgenomics.net
bubaflub dukeleto: hopefully we'll get a good number of slots for both.
dukeleto: cool! 05:52
dukeleto bubaflub: having a bus number of 1 for the org admin of two umbrella orgs is not sustainable
bacek ~~
dalek rrot/opsc_llvm: c25732a | bacek++ | runtime/parrot/library/LLVM/Type.pm:
Made LLVM::Type a class. We'll need it for resolving self-reference types.
rrot/opsc_llvm: 97c4860 | bacek++ | runtime/parrot/library/LLVM (2 files):
Add Module.verify
rrot/opsc_llvm: 9b3d569 | bacek++ | runtime/parrot/library/LLVM/Module.pm:
Fix Module.verified
rrot/opsc_llvm: e5a0a42 | bacek++ | / (2 files):
Add Builder.global_string_ptr and use it in test instead of .global_string
bubaflub dukeleto: i recently switched jobs - put my two weeks in at wolfram and got hired at grant street group
dukeleto bubaflub: you moving to NY?
bubaflub dukeleto: nah, it's 100% telecommute
dukeleto: i will be in Pittsburgh over spring break though for some training / orientation 05:53
dukeleto bubaflub: sweet deal!
bubaflub dukeleto: yeah. it's a great switch. wolfram research really saw perl as a burden / debt and had a lot of legacy code
dalek rrot/opsc_llvm: a0cab9b | bacek++ | t/library/llvm.t:
Verify more in test
05:54
bubaflub dukeleto: gsg has a bunch of very smart / enthuastic perl people - one guy even knew about some of the stuff i did for GSoC and we had an extended discussion about parrot during my interview
cotto bad perl can be really bad
dukeleto cotto: bad bio perl is even worse 05:55
cotto bubaflub, sweet! That's an awesome sign.
bubaflub cotto: yeah, i'm pumped. bummed because i really loved my coworkers, but it was good to get out early.
cotto dukeleto, just say "scientists". That's all the description that's needed.
dukeleto cotto: yes. But undergrad biology interns sure do know how to write horrible perl code
cotto I can imagine, even if I don't want to. 05:56
dukeleto cotto: i swear there is about 100,000 instances of print STDERR in my $work codebase still. I cringe every time. 05:57
cotto urgh 05:58
Tene If anyone else is looking for a job, my company's looking to hire a sysadmin in mountain view. 05:59
And probably some other positions, but those don't affect me personally. ;)
bubaflub Tene: mountain view is a great place - my dad lives there and i'm always jealous of his weather 06:00
Tene I rather like it here. 06:01
dalek rrot/opsc_llvm: b536820 | bacek++ | runtime/parrot/library/ (3 files):
Add skeleton of PassManager
06:07
rrot/opsc_llvm: 3a4e1ab | bacek++ | / (2 files):
Encapsulate PassManager
dukeleto bacek: can you send a quick email to parrot-dev explaining what your opsc_llvm branch does, in terms mere mortals can understand? 06:15
dukeleto attempts to go to sleep, but will probably fail 06:16
bacek dukeleto, "does" or "will be"?
dalek rrot/opsc_llvm: 58ed566 | bacek++ | / (2 files):
Rename LLVM_Engine.create into create_call to avoid clash with other .create
06:17
dukeleto bacek: "does right now" and "what you want it to do before merging" would be nice 06:19
dukeleto actually attempts to fail to sleep
bacek dukeleto, night
tadzik dukeleto: there is no try 06:20
cotto sometimes there is no succeed either 06:26
06:27 bubaflub left
tadzik insomniac agreeds 06:29
ShaneC are there any examples of subclassing a pmc in pir? 06:38
06:38 Themeruta is now known as NotFound
plobsing ShaneC: there are some in the testsuite. I beleive "MyInt" is used in some places. 06:39
ShaneC thanks 06:40
06:42 lateau joined 06:46 cotto left
ShaneC is there something wrong with subclassing io handles? 06:49
(see handle.pmc)
plobsing ShaneC: you can (and need to, in this instance) overload initializers. 06:51
ShaneC if i am inheriting from FileHandle, not Handle directly, shouldn't I get FileHandle's init() ?
plobsing ShaneC: yes, you will 06:52
ShaneC but i am not
plobsing but if you were to inherit from Handle, you'd need to overload
ShaneC: wha?
ShaneC $P0 = subclass 'FileHandle', 'TempFileHandle' 06:53
$P1 = new 'TempFileHandle'
is hitting Handle.pmc's init()
plobsing I'd bust out a debugger and look at the C backtrace that got you there. 06:54
ShaneC doing so now
plobsing but I suspect you are seeing the difference between PMCs and "real" objects.
PMCs don't init their ancestors by default; "real" parrot objects probably do. 06:55
ShaneC ah, so i'm hitting both FileHandle and Handle init?
plobsing I suspect (but cannot confirm) so
ShaneC FileHandle_init is indeed getting hit first 06:56
dalek rrot/opsc_llvm: 0966795 | bacek++ | runtime/parrot/library/LLVM (9 files):
Add 'checked call' and use it instead of direct access of %LLVM::F
ShaneC three times actually, that seems odd 06:57
but just gonna assume that's correct for now ;-P
maybe that's just parrot initialization -- lemme separate this out a bit more 06:58
NotFound FileHandle.init doesn't call Handle.init, and given that Handle.init unconditionally throws is not surprisising.
ShaneC NotFound: what should the pir snippet i pasted above do? 06:59
07:00 rurban_ joined 07:01 Kulag left, Kulag joined 07:02 rurban left, rurban_ is now known as rurban
ShaneC so should i overload init and only call filehandle's init? 07:02
(if that's possible)
plobsing ShaneC: you should file a bug :)
NotFound ShaneC: looks like a bug. 07:03
ShaneC about what exactly?
Handle_init should not throw unconditionally?
NotFound ShaneC: about that it doesn't work
ShaneC will do 07:04
07:04 theory left
ShaneC ahhh trac /shakes fist at $dayjob's mantis ;-P 07:05
plobsing the grass is always greener...
07:07 he__ joined, Kulag left 07:08 lopaway is now known as lopnor
ShaneC here ya go trac.parrot.org/parrot/ticket/2044 07:08
07:08 Kulag joined
plobsing NotFound: does fly.winxed use any glut callback functionality? 07:08
or do you know how I might exercise that functionality? 07:09
NotFound plobsing: almost all the code is called back from glut 07:10
Well,,, callen back from the opengl things, I'm not sure about its internals. 07:11
plobsing so long as it is part of a opengl callback, it is a glut callback. that's the only callback interface currently exposed (AFAIK)
dalek TT #2044 created by ShaneC++: Subclassing FileHandle 07:12
TT #2044: trac.parrot.org/parrot/ticket/2044
07:12 lopnor is now known as lopaway
NotFound plobsing: redraw, timer, and keyboard functions are callbacks. 07:12
plobsing confirmed. my changes affect this (it crashed) 07:13
NotFound They are set in lines 318-360 07:14
They are closures that call methods, so any problem can easily lead to an ugly crash. 07:16
plobsing I'm messing with how interps work, so being messy was a given. 07:18
NotFound plobsing: the callback mechanism do some bizarre things to be able to locate the interpreter. 07:19
Please don't break fly, it's our more spectacular demo. 07:20
plobsing yes, I am aware of that. I do not intend to break the opengl bindings. which is why I asked for a testcase. 07:21
NotFound You can try first the ones is parrot examples/opengl, they are a lot shorter. 07:22
plobsing I tried. they don't use the callbacks.
the callbacks are the only affected functionality
because they make use of the deprecated "J" NCI signature type
NotFound plobsing: triangles.pir line 58: # Set up GLUT callbacks 07:23
triangle.pir
ShaneC is commenting out the exception thrown by handle.pmc's init() a safe workaround for now? 07:26
just so i can continue with my pir
NotFound ShaneC: Do you really need inheritance? Can't you just use a FileHandle attribute in your class? 07:27
plobsing NotFound: triangle.pir works flawlessly (SFAICT). not sure why I've made fly crash. 07:28
NotFound plobsing: all parrot examples use plain subs, fly uses closures. 07:30
plobsing I'll look into this further when I have more time. 07:31
now sleep
ShaneC NotFound: I'm trying to work on trac.parrot.org/parrot/ticket/955 07:32
seems to make sense to inherit from FileHandle rather than wrapping it
but i could see going either way
ideally, imo at least, a temp file handle should just be a filehandle that deletes itself for you 07:33
and creates itself in a safe place
the only methods i wanted to change were open and close, to remove the filename from open, and have close delete the file 07:34
07:37 fperrad joined
NotFound ShaneC: the depends on what ideal you like. The perl5 temp files used in some tests can be opened several times, it's filename is accsible... 07:51
Unfortunately the discussion in the ticket goes on possible implementation details rather than on features wanted. 07:54
dalek rrot/smoke-me/JSON_nqp: a1b5015 | (Gerd Pokorra)++ | NEWS:
trigger commit
07:55
ShaneC notfound: the filename would be accessible, you'd just have to keep the filehandle open to prevent it from being deleted 07:57
or maybe not open, but the pmc just not destroyed
i suppose that behavior warrants a separate class 08:01
something that creates and deletes a file for you, and provides access to its filename
08:03 dodathome joined
NotFound ShaneC: some tests write in the file and then pass it to other program. If you don't close it after writing, it may not be flushed. 08:03
ShaneC NotFound: i meant that deletion would be moved to object destruction, not on close() 08:04
so you could call close() and the file would still be around
NotFound I think that overriding the destroy vtable doesn't work yet. 08:05
ShaneC but after further thought i think it'll be better off skipping involving FileHandle at all
ah
dodathome Hello. I'm working on updating parrot package for Debian. 08:06
on parrot 3.0.0
in the current package (from 2.9.0), a lot of file in usr/lib/parrot/3.0.0/library/ are not delivered
like usr/lib/parrot/3.0.0/library/ncurses.declarations or usr/lib/parrot/3.0.0/library/parrotlib.pbc 08:07
bacek ~~
dodathome My first guess is that all files in usr/lib/parrot/3.0.0/library/ should be delivered.
expecilally all .pir and .pbc files 08:08
Does anyone know if some files should be left out ? 08:09
08:09 lucian joined
bacek dodathome, it's actually good assumption to deliver all of them. 08:10
NotFound Looks like no one has touched parrotlib.pir for years. 08:11
bacek dodathome, "make install" will install only required files
plobsing, ping.
dodathome bacek: ok. make install is actually run during the package build. so it's a good starting point. 08:12
bacek: I'll keep packaging simple and deliver all in usr/lib/parrot/3.0.0/library/. Thanks
bacek dodathome, you welcome 08:13
dodathome :-)
NotFound Who is that guy? Jens Rieks E<lt>parrot at jensbeimsurfen dot deE<gt>
dodathome hmm, a lot of other stuff in usr/lib/parrot/3.0.0 was also left out (tools languages ...). Let's deliver all this stuff... 08:17
bacek tools/* are probably belong to -dev package 08:19
NotFound languages definitely should be packed. 08:20
dodathome bacek: ok. I'll deliver the in -dev
s/the/tools/
dalek rrot/opsc_llvm: 4cc5122 | bacek++ | runtime/parrot/library/LLVM/Function.pm:
Inherit Function from Value.
08:22
rrot/opsc_llvm: 2996d9f | bacek++ | runtime/parrot/library/llvm_lib.pir:
Reorder .include to get most generic classes first.
rrot/opsc_llvm: 3b39ab4 | bacek++ | runtime/parrot/library/LLVM/Builder.pm:
Create LLVM::Value from each Builder method
08:29 woosley joined 08:34 lucian left
dodathome what is parrot_nci_thunk_gen ? Is there a man page somewhere for this exe ? 08:36
or a pod doc ? 08:37
likewise for parrot-prove ? Is this a dev tool or a user tool ? 08:40
dalek rrot/opsc_llvm: 4f7f1ed | bacek++ | / (2 files):
Generate Builder.foo for all math ops on load
09:07
bacek dodathome, parrot_nci_thunk_gen is generated from tools/nci_thunk_gen.pir
parrot-prove is "eat own dog food" replacement for Perl5's prove. I think it's more user than dev tool 09:08
dodathome, parrot-prove is generated from runtime/parrot/bin/prove.pir 09:09
there is some POD doc in both files. But we don't generate standalone documentation for it.
dodathome bacek: I understand. But Debian policy requires that any exe file has its own man page. So if parrot-prove is delivered, a parrot-prove man page must also be delivered 09:11
bacek dodathome, what about using perldoc to generate it?
I think it even can be parrot-wide, not debian specific
dodathome That's already used for several other execs in debian packaging 09:12
It could be parrot wide, but that's outside my area of control ;-)
bacek dodathome, can you create trac ticket? Most of our devs are probably sleep atm :) 09:13
dodathome bacek: ok 09:14
bacek yes, something like perldoc -d foo.1 -o groff tools/dev/nci_thunk_gen.pir actually create good looking man page 09:15
dod++ # kicking parrot packaging
dodathome bacek: thanks :-)
09:16 mtk left
dodathome trac.parrot.org/parrot/ticket/2045 09:21
bacek: actually we have pod2man --section=1 --release="Debian Project" --center="Debian GNU/Linux manual" compilers/opsc/README.pod debian/ops2c.1 09:22
09:23 mtk joined
bacek dodathome, even better. We just need conditional build for non-linux platforms 09:23
dalek rrot/opsc_llvm: 680eb9f | bacek++ | runtime/parrot/library/LLVM/Builder.pm:
Rearrange methods slightly and remove "stubs" for arithmetic ops.
09:24
TT #2045 created by dod++: How about generating man pages for downstream packaging? 09:33
TT #2045: trac.parrot.org/parrot/ticket/2045
p/ctmo: 5cd263b | jonathan++ | src/pmc/nqplexinfo.pmc:
Remove an assertion check that is no longer valid. Guess they must not get checked on my platform, somehow. moritz++ for noticing.
09:45
rrot/opsc_llvm: ce1b63f | bacek++ | runtime/parrot/library/LLVM/Type.pm:
Wrap Type constructors to create LLMV::Type objects.
09:51
rrot/opsc_llvm: 46bb1ff | bacek++ | runtime/parrot/library/LLVM/Builder.pm:
Generate Builder.cast methods
09:55 woosley1 joined
dalek rrot/opsc_llvm: d3e4f54 | bacek++ | runtime/parrot/library/LLVM/Builder.pm:
Rename arguments and fix types.
09:57
09:57 woosley left
bacek jnthn, ping 10:00
seen jnthn 10:01
aloha jnthn was last seen in #perl6 15 mins 42 seconds ago saying "moritz_: ^^ and feel free to cherry pick into master".
dalek p/ctmo: 4b97ed3 | jonathan++ | / (7 files):
Update bootstrap with setting loading in the compiled code.
rrot/opsc_llvm: 4d2961d | bacek++ | runtime/parrot/library/LLVM/Builder.pm:
Add Builder.icmp|fcmp
10:02
jnthn bacek: pong
bacek jnthn, what is the best replacement for Enums in nqp/nqp-rx? 10:03
just some hackish hash? 10:04
jnthn Yeah, I guess so. There's not a good equivalent.
Do you need it for speed or readability?
dalek tracwiki: v6 | gerd++ | GSoc2011
tracwiki: trac.parrot.org/parrot/wiki/GSoc201...ction=diff
bacek readability firsr
first
correctness second
speed isn't important (yet) 10:05
dalek p/ctmo: f313172 | jonathan++ | build/Makefile.in:
Makefile.in fix; moritz++ for reporting.
10:06
jnthn bacek: Cod always make a class named from the enum
*Could
Then method foo { 1 }
bacek jnthn, oh...
jnthn SomeThing.Blah looks OK.
:)
bacek it.... will work :) 10:07
jnthn, I can implement it in similar way to github.com/parrot/parrot/commit/4f7f1edea2
bacek is heaviliy thinking. 27% progress 10:08
jnthn Ah, yes. :)
dalek p: f15a5ef | jonathan++ | src/pmc/nqplexinfo.pmc:
Remove an assertion check that is no longer valid. Guess they must not get checked on my platform, somehow. moritz++ for noticing.
10:14
p: 95092bf | moritz++ | build/Makefile.in:
fix Makefile.in by jnthn++ (automatic cherry-pick of f313172 failed, sorry)
10:27 dodathome left
dalek rrot/opsc_llvm: 5fc5d97 | bacek++ | runtime/parrot/library/LLVM.pm:
Generate "enum" class with bunch of methods on load.

Currently for simple ValidateAction. Will be extended in next commits.
10:36
bacek jnthn++ # Hooray! Nice hack suggestion! :)
rrot/opsc_llvm: 80c091f | bacek++ | / (2 files):
Use 'enum'
bacek jnthn, it works! :)
10:42 contingencyplan left
dalek rrot/opsc_llvm: 35f52e0 | bacek++ | runtime/parrot/library/LLVM.pm:
Factor out common enum generator
10:53
rrot/opsc_llvm: 5c7f2dd | bacek++ | runtime/parrot/library/LLVM.pm:
Generate real predicate enum
rrot/opsc_llvm: 5b33e53 | bacek++ | runtime/parrot/library/LLVM.pm:
Stylish changes
rrot/opsc_llvm: fdafd70 | bacek++ | runtime/parrot/library/LLVM/Value.pm:
Add more functions to Value.
11:05
rrot/opsc_llvm: 52141fd | bacek++ | runtime/parrot/library/LLVM/Context.pm:
Porperly wrap LLVM::Context
11:06
rrot/opsc_llvm: 30e0c0b | bacek++ | runtime/parrot/library/LLVM/Context.pm:
Porperly wrap LLVM::Type in Context type methods.
11:08 kurahaupo joined 11:10 kurahaupo left
dalek rrot/opsc_llvm: dabd136 | bacek++ | runtime/parrot/library/LLVM/Builder.pm:
Add simple conditionals
11:20
rrot/opsc_llvm: c9db38a | bacek++ | runtime/parrot/library/LLVM/Builder.pm:
[codetest] Remove trailing space and useless comment
11:28
rrot/opsc_llvm: d971d48 | bacek++ | runtime/parrot/library/LLVM/Builder.pm:
Fix Builder
11:29
11:43 lucian joined 11:44 lucian left, lucian joined 11:51 lucian left 12:01 Hackbinary left 12:18 Coke left 12:50 mikehh left
dalek p/ctmo: f5e0d27 | jonathan++ | / (4 files):
Break NQP meta-objects out into a separate file. This means that it won't be needed to load full NQP grammar/actions/compiler just to run pre-compiled output. This should also mean that an NQP pre-compiled program with classes won't have to pre-load anything.
12:55
p/ctmo: c8f8081 | jonathan++ | / (7 files):
Push break-out of the meta-objects into the bootstrap.
13:03 lucian joined 13:16 mtk left, mtk joined 13:28 mikehh joined 13:34 ambs joined, whiteknight joined
whiteknight good morning, #parrot 13:35
tadzik good morning whiteknight
whiteknight hello tadzik. How are you doing today? 13:37
tadzik whiteknight: not bad. I'm missing netherlands a bit, and wondering what to hack on today 13:38
13:48 Coke_ joined 13:49 Coke_ is now known as CokeZero
CokeZero 13:50
13:50 CokeZero left
dalek p/ctmo: 01e36d5 | jonathan++ | / (4 files):
Start moving NQPMu and the native types into the setting. Need to do a temporary rename to avoid conflicts with the version in the pre-move compiler.
13:50
p/ctmo: 0af1138 | jonathan++ | src/stage0/ (7 files):
Update the bootstrap to excise the old NQPMu that was in with the meta-objects file.
p/ctmo: 99d0cef | jonathan++ | src/ (2 files):
Revert the temporary renaming done while moving NQPMu.
p/ctmo: decd296 | jonathan++ | src/stage0/ (6 files):
Update bootstrap again to eliminate rename hack while moving NQPMu. This means it's now in the setting where it belongs, rather than part of the meta-objects library. It also means that no meta-object is used in the same compilation unit as it is defined, which unblocks various other things.
13:51 sigue left 13:55 frodwith joined 14:18 plobsing left 14:34 woosley1 left 14:59 rurban_ joined 15:02 rurban left, rurban_ is now known as rurban 15:12 lateau left 15:14 bubaflub joined
mikehh All tests PASS (pre/post-config, make corevm/make coretest, smoke (#11782) fulltest) at 3_1_0-744-g626b12c - Ubuntu 10.10 i386 (gcc-4.5 with --optimize) 15:20
15:24 he__ left 15:37 theory joined 15:43 plobsing joined 15:52 jrt4 joined 16:19 Patterner left, Psyche^ joined, Psyche^ is now known as Patterner
dalek p/ctmo: 5b5b706 | jonathan++ | src/ops/nqp.ops:
Add ops for setting/getting serialization context for an object.
16:24
p/ctmo: c35442c | jonathan++ | src/NQP/Grammar.pm:
Pass repr along to pkg_create_mo correctly.
p/ctmo: 00ec5f3 | jonathan++ | src/ (2 files):
Do initial meta-object instantiation via the serialization context builder.
cotto_work ~~
16:25 JimmyZ joined 16:32 hercynium joined
whiteknight good morning, cotto_work 16:32
JimmyZ good evening, #parrot. 16:33
plobsing good day, #parrot 16:34
dalek p/ctmo: a3d104e | jonathan++ | src/ (2 files):
Twiddle to make roles work again. Kinda defers a tricky problem for later, mind...
16:37
rrot/tt1931-nci-parameters-deprecation: 4a03e05 | plobsing++ | / (8 files):
remove deprecated NCI types 'b', 'L', and 'T'

  'L' and 'T' were never documented or tested and were broken.
  'b', was documented to do something that breaks the encapsulation of the string system.
rrot/tt1931-nci-parameters-deprecation: 566d8bf | plobsing++ | / (2 files):
update tests after NCI signature removal
rrot/tt1931-nci-parameters-deprecation: 21d2fa1 | plobsing++ | runtime/parrot/library/pcre.pir:
update signature to avoid use of now-removed 'b' type

strings are NOT writable. this was broken. use a buffer you've allocated yourself. stop abusing the strings subsystem.
rrot/tt1931-nci-parameters-deprecation: 2a83d39 | plobsing++ | / (7 files):
remove deprecated NCI signature element '@'
rrot/tt1931-nci-parameters-deprecation: 270be52 | plobsing++ | / (4 files):
remove deprecated '0' nci signature element
16:39 jrt4 left
whiteknight plobsing++ # end the abuse 16:40
dalek rrot/tt1931-nci-parameters-deprecation: 0560d8d | plobsing++ | / (8 files):
remove deprecated 'J' signature
rrot/tt1931-nci-parameters-deprecation: 0c3dc4c | plobsing++ | / (2 files):
eliminate now-removed 'J' NCI parameter from OpenGL callbacks
tewk "ops" should allow system types u/int[32,64]_t 16:45
plobsing tewk: it doesn't 16:46
?
tewk spurious paste, disreguard
cotto_work apparently keeping a cheap usb thumb drive stuck to the fridge with a magnet does not help it to retain data correctly 16:47
atrodo That's surprising 16:48
whiteknight I'm shocked!
cotto_work It might just be that it's a really cheap drive and was like that before.
16:48 JimmyZ left
atrodo I have a hard time trusting those things 16:48
plobsing cotto_work: flash sucks. you should use a hard drive for all your magnetically-affixed-storage needs
just get a really strong magnet 16:49
cotto_work It's a strange experience to have the md5sums of a file change after a mount/unmount cycle
dalek p/ctmo: 7896584 | jonathan++ | src/stage0/ (6 files):
Update the bootstrap; all this works (phew!)
16:54
16:59 dmalcolm joined
tewk 09:41 <@atrodo> That's surprising 17:00
cotto_work tewk: should it not be? 17:04
17:12 dodathome joined 17:18 contingencyplan joined
Andy cotto_work: It helps if you stick it to the fridge compressor instead of the front of the fridge. 17:36
I'm thinking that src/gc/alloc_memory.c needs to get moved to src/, since it's part of no GC. 17:43
Phooey, they are, via macros. 17:47
17:50 ShaneC left, Hackbinary joined 17:57 bubaflub left
dalek p/ctmo: 1f3568a | moritz++ | build/Makefile.in:
make GNU make happy again
17:59
18:01 PacoLinux_ joined
dalek rrot: 92db0bf | petdance++ | src/gc/fixed_allocator. (2 files):
consting and decorating many allocation functions
18:10
18:28 ShaneC joined 18:31 davidfetter joined
dalek rrot: 2a84448 | nwellnhof++ | / (3 files):
Implement rindex for Unicode strings
18:31
rrot: 1fbfbc6 | nwellnhof++ | src/string/encoding/shared.c:
Fix comment
18:36
18:41 ShaneC left 18:48 ShaneC joined
whiteknight NotFound: ping 19:12
NotFound whiteknight: pong 19:15
whiteknight NotFound: is there a way to do :multi in winxed? 19:17
or, more specifically, :multi(foo,bar,baz)
NotFound whiteknight: nop 19:18
Main reason is: I still don't understand well how it works,
whiteknight okay 19:20
19:22 NotFound_b joined 19:23 NotFound left 19:24 NotFound_b is now known as NotFound 19:52 NotFound is now known as NotFound_b 19:53 NotFound joined, NotFound_b left 19:57 particle1 joined 19:59 ambs left 20:01 particle left
cotto_work #ps in 18 20:12
20:14 benabik joined 20:18 tcurtis joined
NotFound What I did: 20:20
-parrot
* Just testing
-winxed
* Minor fixes, refactors and cleanups
* New predef invoke to provide a way to access multiple return values.
* Indent generated PIR to improve clarity and avoid imcc pitfalls with
non indented sub bodys.
What I will do:
No plan.
EOR
20:20 particle1 is now known as particle
whiteknight EWRONGCHANNEL 20:21
NotFound UUUpssss
whiteknight :)
NotFound: The .* syntax is so awesome. I use it all the time in Rosella
that one symbol lets me rip out a lot of old code 20:22
NotFound The amazing thing is that it was the obvious choice for a C++ fan like me, but I failed to get the idea until the last moment. 20:23
tadzik what's that syntax?
TimToady /e
NotFound tadzik: in C++, method call via a pointer to member function. 20:24
In winxed.... let's call it indirect method call.
20:25 lucian left
mikehh #ps time 20:29
cotto_work dukeleto: #ps (if you're around) 20:31
mikehh bacek: opsc_llvm branch passed all tests - up to fulltest except for manifest_tests - codetest passed but I think in changing LLVM.pm to 2.8 I removed a trailing space :-} 20:38
cotto_work seen tewk 20:44
aloha tewk was last seen in #parrot 3 hours 44 mins ago saying "09:41 <@atrodo> That's surprising".
dalek tracwiki: v7 | cotto++ | GSoc2011 20:48
tracwiki: trac.parrot.org/parrot/wiki/GSoc201...ction=diff
Tene mikehh: afaict, opsc_llvm isn't actually using llvm in opsc yet; it just has added interface to use llvm from parrot so far. 20:49
mikehh Tene: I was just testin' - had to change 2.7 to 2.8 in runtime/parrot/library/LLVM.pm to get one of the tests to pass earlier 20:54
Tene ah, 'k
dalek rrot: 2ae3184 | cotto++ | config/auto/gc.pm:
switch default gc to ms2 for the release
21:03
cotto_work aloha: clock? 21:09
aloha cotto_work: LAX: Tue, 13:09 PST / CHI: Tue, 15:09 CST / NYC: Tue, 16:09 EST / UTC: Tue, 21:09 UTC / LON: Tue, 21:09 GMT / BER: Tue, 22:09 CET / TOK: Wed, 06:09 JST / SYD: Wed, 08:09 EST
21:14 nwellnhof joined
dalek rrot/opsc_llvm: ed86c6a | bacek++ | runtime/parrot/library/LLVM/Type.pm:
Add float types
21:15
21:20 perlite_ joined 21:24 bacek left, perlite left, perlite_ is now known as perlite 21:27 hercynium left, whiteknight left
dalek rrot/tewk/select: 8d9f371 | nwellnhof++ | src/dynpmc/select.pmc:
Remove superfluous write barriers

These are all handled by vtables.
21:39
tadzik is there an async IO in that branch? :) 21:41
dalek nxed: r850 | NotFound++ | trunk/winxedst1.winxed:
simplify optimize_array usage and fix a bug in pirops found while working on
21:45
nxed: r851 | NotFound++ | trunk/ (3 files):
update installable files
cotto_work tadzik: only as far as select is async 21:53
tadzik oic 21:55
21:57 dodathome left
dalek rrot/tewk/select: 0df26d8 | nwellnhof++ | MANIFEST:
Fix manifest
21:57
21:58 mikehh left
nwellnhof there is some experimental to code to set filehandles to non-blocking. 21:58
dalek nxed: r852 | NotFound++ | trunk/winxedst1.winxed:
short a bit try modifiers generation
22:01
22:08 hercynium joined 22:13 PacoLinux_ left 22:17 mikehh joined
bacek_at_work ~~ 22:20
22:20 fperrad left
dalek nxed: r853 | NotFound++ | trunk/winxedst1.winxed:
use a constructor in NamespaceBase instead of vtable init
22:22
22:24 Coke joined
Coke ~~ 22:25
dalek nxed: r854 | NotFound++ | trunk/winxedst1.winxed:
use a constructor in RegisterStore instead of vtable init
22:27
cotto_work since it's an otherwise quiet day... 22:28
probablyinteractive.com/url-hunter
mikehh the idea is to be productive to avoid quiet days :-} 22:31
22:42 woosley joined 22:44 dmalcolm left 23:00 rurban_ joined 23:02 rurban left, rurban_ is now known as rurban 23:06 plobsing left 23:10 pjcj left 23:21 woosley left 23:24 pjcj joined 23:26 whiteknight joined 23:27 plobsing_ joined, kid51 joined 23:34 hercynium left 23:58 benabik left