Parrot 2.1.1 Released! | parrot.org/ | Tasks: PCC deprecations hackathon on Saturday, TT #389 branch
Set by moderator on 2 March 2010.
00:18 cotto_w0rk joined 00:37 cotto_working joined
cotto_work anyone know what PARROT_JUMP_ENEXT means? 00:43
chromatic It's listening to Criss Cross? 00:45
cotto_work The plot thickens. Removing the one place where that macro is used doesn't cause the build to explode. 00:48
That was much less explodey than I was expecting.
Let's see what fulltest does. 00:49
00:54 cotto_work joined
cotto_work wb me 00:54
fulltest passes 00:57
00:58 abqar joined
cotto_work let's see what happens if ops2c doesn't generate that flag 01:02
Whiteknight PARROT_JUMP_ENEXT? never heard of it 01:04
cotto_work It doesn't seem to be very important. 01:05
Coke ugh. still cannot build rakudo on feather.
cotto_work Ideally I'll be able to remove all the op flags, make the op struct simpler and make opsc a little less complicated. That may be a bit optimistic though. 01:06
At least PARROT_JUMP_ENEXT isn't putting up a fight.
iwbn to make the random tests less noisy 01:07
coverage? 01:16
purl it has been said that coverage is cv.perl6.cz
Whiteknight I see many many instances of PARROT_JUMP_ENEXT in the repo 01:19
cotto_work they're almost all generated 01:21
run realclean and there'll only be a handful
do_prederef doesn't seem to be used much either 01:23
Whiteknight do_prederef should be used by the pcg core 01:24
Coke should I open a trac ticket about the failure to build rakudo?
(since it's parot that's running out of memory)
cotto_work Whiteknight, fulltest would cover that? 01:25
Whiteknight cotto_work, should, if pcg is tested 01:26
cotto_work you mean cgp 01:27
?
I'm checking what happens if I insert a deliberate segfault inti prederef__ 01:28
I need a sanity check. 01:29
Whiteknight prederef__ only does predereferencing on dynops, I think 01:34
that's my understanding anywy
cotto_work so I'd need to test a dynop in the cgp core?
easy enough 01:35
"parrot -R cgp t/dynoplibs/math.t" doesn't hit do_prederef according to gdb 01:36
dalek TT #1489 created by coke++: memory PANIC building rakudo
Whiteknight where is it supposed to be called from? 01:37
cotto_work the prederef__ op
Whiteknight you know what? it might only have been called from JIT+CGP core
cotto_work It's starting to smell like dead code. 01:38
Ripping it out would make ops2c and opsc simpler.
Whiteknight how? 01:39
01:40 cotto_w0rk joined
cotto_w0rk less code to deal with those flags. They're only used in a very few places, that function being two of them. 01:41
but if they're not being used, we need to rip them out or write some more tests to cover them 01:42
I'll file a tt 01:43
Coke I added the hackathon to the calendar. 01:46
chromatic?
bad purl.
purl U MAKE I CRY
Coke I want a volunteer with a commit bit to help keep the google calendar in line. 01:47
Whiteknight I have access, but I'm terribly unreliable 01:48
Coke dukeleto? 01:49
purl rumour has it dukeleto is mentoring a few peeps. can't remember everyone. sure
Coke I added chromatic and dukeleto to the growing list.
pmichaud: partcl-nqp is borked, dying somewhere in generated PIR code. 02:01
pmichaud: it was due to hll_map being called on a null Array type from a .pm file. error diagnostic didn't help, but 'sfixed. 02:06
s/null/recently removed/
$ git push 02:07
fatal: remote error:
You can't push to git://github.com/partcl/partcl-nqp.git
Use git@github.com:partcl/partcl-nqp.git
(how do I fix this?)
cotto_work I'd appreciate input on trac.parrot.org/parrot/ticket/1490 (removing prederef__) 02:08
dalek TT #1490 created by cotto++: remove prederef__ op and supporting code 02:11
02:12 bubaflub joined, bubaflub left 02:17 preflex joined
Coke (git) eh. easier to recheckout, recommit, and push 02:21
dalek rtcl-nqp: 2b0d422 | coke++ | src/TclList.pm:
Array is no longer a valid parrot type to map.
02:26
rrot: r44599 | plobsing++ | branches/tt1477/src/call/args.c:
make index parameter in callbacks given to Parrot_pcc_build_sig_object_from_callbacks meaningfull
02:33
rrot: r44600 | plobsing++ | branches/tt1477/ext/Parrot-Embed (4 files):
convert Parrot::Embed test suite to new PCC signatures
02:49
purl I don't know how to convert Parrot::Embed test suite to new PCC signatures.
cotto_work convert 25 celcius to nanokelvin 02:50
purl I don't know how to convert 25 celcius to nanokelvin.
03:06 patspam joined
dalek rrot: r44601 | plobsing++ | branches/tt1477/ext/Parrot-Embed/t (2 files):
add test for alternate signature ("III->I")
03:06
Coke convert 25 celcius to hellakelvin 03:11
purl I don't know how to convert 25 celcius to hellakelvin.
03:24 Andy joined, jsut joined 03:32 JimmyZ joined
cotto Coke++ 03:35
convert 25 celcius to kelvin 03:38
purl I don't know how to convert 25 celcius to kelvin.
cotto srsly?
purl totally srsly.
treed convert 25 celsius to kelvin 03:39
purl I don't know how to do that.
treed madness
convert 25 centigrade to kelvin
purl I can't compare 0.00392699081698724 radian with Kelvin.
treed O_o
cotto purl fails
purl see "doesn't work"
treed Heh.
convert your mom to my slut 03:40
purl I don't know how to convert your mom to my slut.
treed LOL, backfire.
03:41 janus joined
plobsing anyone have any idea what might cause all entries in interp->mem_pools to be multiplied by 256? 03:44
cotto shift to the left! shift to the right! stand up, sit down, FIGHT! FIGHT! FIGHT! 03:45
cotto is feeling odd today
plobsing yeah, but where is that done on interp->mem_pools?
kurahaupo purl remember 25 Celsius is 296.15 Kelvin 03:52
purl OK, kurahaupo.
cotto convert 25 celcius to kelvin 03:53
purl I don't know how to convert 25 celcius to kelvin.
kurahaupo convert 25 Celsius to Fahrenheit 03:54
purl 25 Celsius is 77 Fahrenheit.
cotto convert yourself to something better 03:55
purl I don't know how to convert yourself to something better.
kurahaupo convert 1 lightyear to fathoms 03:56
purl 1 lightyear is 5.17308e+15 fathoms.
kurahaupo is impressed
plobsing purl, convert useful factoids into random noise 03:57
purl I don't know how to convert useful factoids to random noise.
plobsing I'm pretty sure you do
kurahaupo +1
purl 1
cotto purl lies 03:59
purl I didn't change anything!
cotto plobsing, you could set a watchpoint in gdb 04:03
plobsing cotto++, I'm trying that now 04:04
dalek kudo: f6092e9 | Lue++ | src/builtins/Str.pir:
added the .s .z and .e file test methods for Str
plobsing arg. gdb deletes watch points at scope exit! 04:06
cotto yeah. you'll have to watch the address 04:07
on the bright side, you'll have time to make yourself a cup of tea
04:14 parthm joined
parthm hello. whats the recommended way to create a language skeleton. mk_language_shell.pl or create_language.pl? 04:15
cotto There'd better be a ticket about that. You're the third person in recent memory to ask that question. 04:17
We don't need to be engendering that kind of confusion.
cotto looks to remind himself what the difference is 04:18
also, svn-- for making something like this a non-local operation 04:19
and svn-- again because I'm feeling crabby
parthm, iirc mk_language_shell.pl uses distutils to try to dtrt and avoid the need for makefiles and other build infrastructure. I think that it's the current recommended approach. 04:24
parthm cotto: thanks. that certainly seems inline with trac.parrot.org/parrot/ticket/619 04:26
parthm will use mk_language_shell.pl
cotto tt filed 04:30
hopefully the right people will come along and fix it quickly
dalek TT #1491 created by cotto++: mk_language_shell.pl and create_language.pl cause confusion 04:39
Austin Anybody want to run some pir for me? 04:40
nopaste "Austin" at 68.39.12.202 pasted "Tell me if this prints two identical addresses?" (55 lines) at nopaste.snit.ch/19843 04:41
Austin pmichaud: ping 04:43
04:44 parthm left
Austin sings, "But I made me a vow to the moon and stars: I'd search the honky-tonks and bars, and kill that man that gave me that awful name." 05:14
05:17 theory joined
cotto Austin, they're the saem 05:24
Austin Thanks. :(
05:24 theory joined
Austin So no classes with the same names, regardless of namespace. 05:24
plobsing woot! Parrot::Embed passes all of its tests again and now isn't as limited in what functions it can use to call in! 05:26
(at least in branch) 05:27
dalek rrot: r44602 | plobsing++ | branches/tt1477/ext/Parrot-Embed/lib/Parrot/Embed.xs:
eliminate Parrot::PMC::DESTROY induced segfaults
05:33
05:37 hicx174 joined 05:38 brooksbp joined
dukeleto 'ello 05:40
cotto That sounds like it was a fun one to debug 05:41
05:48 kurahaupo joined
dalek rrot: r44603 | plobsing++ | branches/tt1477/ext/Parrot-Embed/t/languages.t:
update location of abc language for use in testing
06:07
06:12 snarkyboojum joined 06:17 Andy joined 06:28 parthm joined 06:32 tewk joined
parthm hello, i am trying to understand where HLL::Grammar is defined. I find ./runtime/parrot/library/HLL.pbc but thats a binary. where can i get more info on what I inherit from HLL::Grammar? 06:45
06:57 chromatic joined, kurahaupo joined
kurahaupo Austin: +1 on same-address 07:05
Austin: that was tested on 2.1.0-devel built for i386-linux 07:06
purl msg Austin "Yes" on same-address question (tested on parrot 2.1.0-devel built for i386-linux) 07:09
purl Message for austin stored.
07:19 fperrad joined 07:20 uniejo joined 07:22 parthm left 07:39 barney joined 07:57 riffraff joined 08:02 bacek joined 08:04 payload1 joined 08:20 snarkyboojum joined
dalek parrot: 5fa59cf | dukeleto++ | (5 files):
Get rid of Configure.nqp and friends
08:20
08:20 JimmyZ joined
dalek parrot: d60f9f8 | dukeleto++ | (2 files):
Update TODO and PLATFORMS
08:31
mikehh All tests PASS (pre/post-config, make corevm/make coretest, smoke (#32474), fulltest) at r44603 - Ubuntu 9.10 amd64 (gcc with --optimize) 08:49
bacek o hai 08:51
08:59 snarkyboojum joined 09:18 payload joined 09:41 AndyA joined 10:05 lucian joined 11:31 allison joined 11:36 bkuhn joined 11:47 kid51 joined 12:02 bacek joined 12:37 gerd joined 12:49 parthm joined 12:53 payload joined 13:13 tetragon joined 13:19 whiteknight joined 13:34 plobsing joined 13:43 Andy joined 13:54 atrodo joined 13:55 ruoso joined 13:59 lucian joined
whiteknight There are two instances of VTABLE_can in core types, and both of them redirect to !PMC_IS_NULL(VTABLE_find_method(INTERP, SELF, name)) 14:00
Worse yet, Object.can doesn't even support a vtable override, so we can't change that behavior in subclasses 14:01
14:01 payload joined
Coke surely not supporting a vtable override is a bug. 14:03
whiteknight I think it is a bug, and don't call me surely 14:07
(that joke does not work AT ALL over the intertubes)
14:20 cognominal joined
dalek rrot: r44604 | plobsing++ | branches/tt1477/ext/Parrot-Embed/lib/Parrot/Embed.xs:
clean-up/document the way we marshal between perl/parrot stacks
14:35
rrot: r44605 | plobsing++ | branches/tt1477/DEPRECATED.pod:
add experimental notice for Parrot_ext_call_cb
Austin whiteknight: Do you remember if the changes for namespaces (and hashes) treating a string array as a key were in 2.1, or if they are waiting for 2.2? 14:36
whiteknight Austin: I have no idea 14:44
I think waiting for 2.2.
let me lok
where were those changes made, the Namespace PMC? 14:45
Austin IDK. I thought you made them.
But namespace delegates its work to hash, so almost certainly no.
whiteknight I dont remember exactly what those changes were
nevermind, I remember 14:47
does not look like it's in 2.1
14:47 patspam joined
Austin Well, that's good and bad. 14:47
14:52 parthm left 14:56 PacoLinux joined 14:57 payload joined, Andy joined
Coke C question. 15:03
Tene go ahead. 15:04
Coke with --optimize, the following is added to the build's ccflags: -DDISABLE_GC_DEBUG=1 -DNDEBUG"
should that be a global setting, or should it only apply to those files which are being compiled with optimization?
NotFound In case some wonders, I'm not the gut arrested in Santiago/Spain for the "mariposa" affair X-) 15:05
Coke hee!
NotFound s/gut/guy 15:06
Tene NotFound: they'd have to find you before they could arrest you.
Coke Boo.
dalek TT #1492 created by Austin_Hastings++: Get_class confuses NSes that have same final name. 15:07
NotFound Tene: I'm easy to locate, I work for the regional government.
Tene s/Not/Easily/ then, perhaps?
NotFound That's my secret identity ;) 15:08
I'm like Clark Kent, without my glasses no one knows me. 15:09
(The bad part is that I started using contact lenses some years ago) 15:10
Austin Hmm... On the plus side, NotFound, if you were one of the Mariposa guys, you'd apparently be rich.
NotFound Austin: Maybe I must give some anonymous donation to PaFo. 15:13
Austin Sure, then I could apply for a Mariposa grant to find bugs. 15:15
Err.. work on Kakapo
NotFound A grant for a project to metamorphose bugs onto butterfies.
Coke PaFo could definitely use someone to drum up $$ for grants. 15:19
PaFo?
purl PaFo is the only entity that owns the *entire* work, so it's the only entity that can distribute Parrot
Coke pafo is also the parrot foundation
purl okay, Coke.
15:32 Andy_ joined 15:33 bubaflub joined 15:39 Psyche^ joined
Coke anyone know why src/tsq.c says "never optimize this file"? 15:50
woot. rm_cflags should be mergable this evening. 15:51
Tene What was the purpose of that branch, again? 15:52
dukeleto 'ello 15:54
Tene Hi! 15:55
dukeleto Tene: howdy
Coke Tene: to eliminate the use of the CFLAGS compilation wrapper. 15:57
(on trunk, when you build src/foo.o from src/foo.c, you're invoking perl to run a script to invoke the compiler. 15:58
Tene Ah, that one.
purl it has been said that ah, that one is more likely a multi-CPU thing
bubaflub mornin dukeleto 15:59
dalek kudo: d66fe37 | tene++ | src/Perl6/Actions.pm:
Slight refactor of push_block_handler
kudo: 4edd19d | tene++ | src/Perl6/Actions.pm:
Re-work try {} to ignore control exceptions
dukeleto bubaflub: top of the localtime() 16:06
Coke: does the rm_flags branch compile any noticeable amount faster than trunk? 16:07
bubaflub dukeleto: i didn't get a chance to look into the icc stuff anymore, but i have a feeling we might need to tweak our sprintf implementation
dukeleto bubaflub: ok, i will look at the tt notes 16:09
dalek TT #1493 created by NotFound++: Avoid repeated STRING constans with the same value 16:12
16:14 parthm joined
NotFound Coke: I think -DNDEBUG must be global 16:27
16:28 kurahaupo joined
dalek rrot: r44606 | NotFound++ | trunk/compilers/imcc/pbc.c:
[imcc] avoid generating repeated STRING constants, TT #1493
16:30
16:31 parthm left
Coke dukeleto: a few percent, IIRC> 16:35
but this helps us toward "eliminate perl from the build"
whiteknight Coke: src/tsq.c is supposed to support cross-thread operations, optimizers tend to have a problem with that
Coke whiteknight: ok - gcc didn't seem to mind.
whiteknight Coke: it would compile fine, but if the optimizer messes with it we could see race condition errors in multithreaded code that uses it 16:36
does C89 support the volatile keyword, or was that added later?
kurahaupo yes
whiteknight okay
a liberal smattering of "volatile" in that file should avoid any multithread issues we run into
Coke whiteknight: AH, OK. 16:42
whoops. caps lock detected.
whiteknight CAPSLOCK IS CRUISE CONTROL FOR AWESOME
plus, it's like yelling, but on the internet!
Coke BOOYAH 16:45
dukeleto Coke: a few percent speedup is quite nice
16:49 mj41 joined
Austin Whiteknight: (TT#1492) Yet another reason not to do mocking... 16:51
whiteknight Austin, that's a bug though. I can't imagine we're going to make a rule that classes can't have the same last name 16:52
extremely obnoxious bug
Austin Hey, at least we get more than 7 letters of significance...
16:55 theory joined
whiteknight which language had less, Fortran? 16:58
NotFound Some old Basi interprters had two. 17:02
Basic
17:07 mikehh joined
whiteknight My first Basic was GWBasic, folled by QBasic 17:08
Then I tried VisualBasic and decided it was time for me to start programming like a big boy now
dukeleto the first programming language that I learned was pascal, and I am quite happy about that. i would still recommend it to people just starting out 17:11
which makes me want to hack on porcupine...
porcupine?
NotFound whiteknight: Have you looked at Blassic?
dukeleto purl, porcupine is Pascal on Parrot code.google.com/p/porcupinepascal/ 17:12
purl OK, dukeleto.
dukeleto sadly, porcupine seems abandoned right now 17:13
NotFound The two character limit was from msbasic, they improved it in gwbasic, if I remember well. 17:14
mikehh needs resurecting maybe, but not really a dynamic language
NotFound I still have a cp/m mbasic version. 17:15
mikehh you still got a CP/M computer running
17:16 cognominal joined
NotFound mikehh: yes, but what I also have my own cp/m emulator. 17:16
mikehh NotFound: ah - haven't tried that recently
NotFound www.arrakis.es/~ninsesabe/aliados/ 17:17
dukeleto mikehh: you are right about it being static, but I still want pascal on parrot
mikehh dukeleto: might be interesting to see how it works 17:18
used pascal a lot about 10-20 years ago 17:19
not mush since than though 17:20
NotFound The funny thinh is that I wrote a Z80 assembler to write little tests for that thing, and the assembler became popular but almost nobody used the emulator.
Well, a guy used it for a thesis about PL/M or something like that. 17:21
mikehh NotFound - another thing I haven't used for years
NotFound mikehh: Z80 assembler or PL/M?
mikehh either/or 17:22
purl rumour has it either/or is fine
NotFound This is the assembler: pasmo.speccy.org/
mikehh NotFound: I think I looked at that a while back 17:25
NotFound Some people wonder why some people still uses old perl versions... What about people using computers and programming languages and tools from the '80? 17:26
mikehh There is a lot of legacy code about that you sometimes have to use some of the tools from then 17:27
but sometimes it is fun playing around with some of that stuff 17:28
NotFound mikehh: and there are lots of peope that learned some old Basic at the time, and never learned other language. 17:29
mikehh well I started out with Fortran and assembler, then moved onto other things 17:31
NotFound Prophecy: in 20-30 years there will be a lot of people in the same situation with javscript. 17:32
mikehh even did some work in COBOL a few times, mostly interface stuff though
whiteknight NotFound: (Blassic) Nope, never heard of it before, but I'm looking at it now
NotFound My craziest work ever is a text editor written in Cobol. 17:33
blassic.org/
Other of my retro projects. 17:34
If you used GwBasic, you'll feel like home. 17:35
mikehh I did quite a bit of work, must have been in the mid to late '70s on Wang minis which had a Basic interpreter built-in 17:38
whiteknight I've never had the pleasure of using a computer with a built-in basic interpreter chip 17:39
mikehh interesting enough it had an operator to handle any of the 16 bitwise operations nand, imp, or, nor etc. 17:40
NotFound whiteknight: startup time is awesome, in comparaison with any windows box. 17:43
17:46 brooksbp joined 18:13 chromatic joined
whiteknight good afternoon, chromatic 18:17
chromatic morning
whiteknight I'm looking forward to the hackathon on Saturday, last time we did it there was a great turnout 18:18
chromatic Have you been able to coordinate some tasks with allison? 18:19
whiteknight haven't spoken to her since #ps yesterday
I've got to take a closer read over her tasklist
chromatic I volunteered to make the IMCC change. 18:20
whiteknight That shouldn't be too too hard, If I remember my last exploration of that code
18:21 theory joined
whiteknight I'll be happy to lend an eye there if you need anything 18:21
brb, have to move to a new office 18:22
18:27 brooksbp_ joined
cotto_work chromatic, how do you feel about the removal of the prederef__ op? 18:51
18:51 whiteknight joined
whiteknight back 18:52
cotto_work stops saying bad things about whiteknight
whiteknight it's about time somebody stopped saying bad things about me 18:53
chromatic Kill it. 18:58
cotto_work Sweet. I'll do that when I get home. 19:00
19:01 kjeldahl_ joined
whiteknight what's getting killed? 19:03
chromatic prederef__ 19:04
whiteknight awesome 19:05
cotto_work should I replace it with a placeholder to preserve bytecode compatibility or do we not care?
whiteknight I wouldn't 19:06
cotto_work relatedly, is the "reserved" op worth keeping?
whiteknight shakes 8-ball
"signs point to no
cotto_work design by 8-ball 19:07
wfm
whiteknight what does the reserved op even do? 19:08
cotto_work It's a placeholder afaict.
whiteknight kill 19:09
cotto_work "Reserve 1 more fix entry."
whiteknight Those ops were used by the JIT to handle dynops, but I feel like there has to be a better way to do that 19:10
atrodo dukeleto> pascal/delphi is actually my primary static language and what my compiler project (draak) is written in and handles the best 19:15
whiteknight can the cpu_ret and wrapper__ opcodes be removed too? Are either of them used in fulltest? 19:16
...and while we're on the topic, what's the difference between check_events and check_events__, and are they both needed?
cotto_work I smell an op cull.
whiteknight ...smells like death
cotto_work istr that wrapper__ has something to do with dynops 19:17
whiteknight cotto_work: yeah, I'm sure. But looking at it, I imagine it has to be JIT-related
I don't think it can work for any other runcore
and enternative 19:18
whiteknight would also love to see "sweep" and "collect" die a fiery death 19:19
and "bounds" looks useless to me
chromatic check_events__ I think is an artificial opcode that gets called in runloops that don't check for events every n ops. 19:20
dukeleto atrodo: hello! where can i find out more about draak ?
Coke stares at config/auto/cgoto.pm 19:21
bubaflub atrodo: delphi was my first exposure to programming
Coke (why is this not just IN the makefile?)
19:22 bubaflub left, bubaflub joined
atrodo draak.sf.net I actually learned qbasic first, then turbo pascal 7 19:23
whiteknight chromatic: yeah, I think you're right. I think the check_events__ opcode is inserted into the stream after ops with the :check_event flag 19:31
so vanilla check_events is the manual version of that
19:46 ruoso joined
whiteknight of course, the docs say check_event shouldn't be used and is for testing purposes only, so maybe we can delete it 19:48
19:48 lucian joined 19:50 ash_ joined
TimToady phone 20:00
20:01 TiMBuS joined 20:02 bacek joined
Coke crap. 20:03
TimToady or...not...
so far just me...
I know pm is out; he must be the life of the party :) 20:04
cotto_work There's something zen-like about being in a phone call with nobody. 20:05
cotto_work contemplates, achieves enlightenment and goes to write some PHP code. 20:06
cotto_work is disappointed with enlightenment. 20:07
treed Yeah, it's not the greatest desktop environment.
Coke ... PHP? wow, I thought my CF job sucked. =-) 20:08
ash_ hey, php isn't that bad... it... has lots of $ signs 20:15
ash_ also is writing php at work...
Tene I'm pretty fond of enlightenment as a desktop environment. 20:17
chromatic The best software the last millennium had to offer.
Tene I never really liked e16, actually. 20:19
chromatic It still had some features I miss from current software; icon launchers that launch different programs depending on which mouse button you use. 20:21
20:22 szabgabx joined
dukeleto i remember running dev releases of enlightenment in the late 90's and it would segfault with "holy cowdung! we touched memory we weren't supposed to." 20:25
one of my favorite error messages
cotto_work no reason why we can't pay tribute to that error in Parrot 20:26
Tene chromatic: that's not present in e17, afaict 20:27
chromatic I never looked at e17. I moved to Sawfish when it was available, I think.
20:33 whiteknight joined
dukeleto i was always a big fan of windowmaker. I think it crashed 2 times in the decade that I used it 20:34
so who is going to be the first person to write a window manager in PIR? 20:35
chromatic Should be fairly easy.
bacek Morning 20:39
cotto_work hi bacek 20:40
bacek aloha cotto
cotto_work I've got some simplifications to ops2c that'll make opsc a little easier to implement.
bacek Yeah, I noticed.
cotto_work with more to come 20:41
bacek Did you see my last commit into ops_pct?
Coke NOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO
bacek hides
Coke (jk)
cotto_work yuo
yup
it'll simplify that part
20:42 joeri joined
bacek ok, this is what I'm looking for :) 20:42
I'm going to implement emitter (partially) over weekend
And one of "Trans" 20:43
cotto_work I'm sad that we'll be using regex mangling similar to what ops2c does now, but it seems like the best way to do what ops2c does.
bacek indeed. We can improve it later.
cotto_work repeats to himself "First make it work, then make it work well."\\ 20:44
chromatic Work in small steps.
bacek ... big step for mankind!
:)
20:51 payload joined
plobsing Infinoid, coke, chromatic, whiteknight: I added a comment to TT #1297 a few days ago. Not really sure what should happen with that ticket. 20:55
chromatic Will review it shortly. 20:56
whiteknight will look soon
cotto_work anyone know what PARROT_JUMP_RELATIVE means and why it's important to store that information? 20:59
Coke plobsing: ENOCLUE
chromatic Oh, those help identify control flow in ops. 21:00
IMCC uses a few of those.
It's important for figuring out what kind of fixup to do. 21:01
cotto_work It only appears to need that one.
Coke mostly rips out a config step and puts it into the makefile...
chromatic I don't promise IMCC is brilliant.
cotto_work removing the rest doesn't cause any fulltest failures.
That gives me a good starting point. Thanks.
NotFound cotto_work: I need it.
cotto_work What for?
purl for fun.
cotto_work fun? 21:02
purl You know, you have to make your own fun. or KISS THE CHICKEN!
21:02 pjcj joined
NotFound cotto_work: to know how to look at the opcode arguments. 21:02
whiteknight #1297 looks sane to me 21:03
cotto_work I don't see the connection. Most ops have a fixed number of arguments and I don't see how the others would involve that flag.
chromatic I had thought of using some of those flags in the profiling runcore to figure out... something. I forget what. 21:04
NotFound cotto_work: if one of the arguments is JUMP_RELATIVE, an indentifier at that place must be a label.
whiteknight a relative jump is a jump offset relative to current pc
as opposed to an absolute jump, which jumps to a fixed pc location
21:04 payload1 joined
cotto_work NotFound, you mean flags? 21:04
NotFound cotto_work: yes. 21:05
cotto_work oic
NotFound I'm using it in the latest revision of pirado.
cotto_work pirado? 21:06
NotFound Parrot disassemble functions also uses it, to show the addres of the jump destination.
cotto_work yeah 21:07
NotFound cotto_work: the work I'm doing in winxed to explore pir HLL assemblers.
examples/pirado.winxed in winxed source tree.
21:08 payload1 joined
cotto_work Do you think it'd be reasonable to work around that flag or is it valuable enough to keep? 21:08
I'd like to take it out, but not if it
NotFound cotto_work: without that flag, any jump opcode must be tracked individually, I suppose.
cotto_work 'll be a pain.
21:09 hicx174 joined
cotto_work Sounds like you want it to stay. 21:10
NotFound And if we depend of identifying each opcode, I see no way to track dynops that does the same.
cotto_work ok. That seems to answer my question about how necessary it is.
NotFound cotto_work: not the flag in particular, but I think the functionality it provides is required. 21:11
cotto_work sure
It's currently down to one bit, which I'm sure could be stored somewhere else.
NotFound An plus, I've just started to manage his meanins, will not be nice to delete just after X-)
dalek rrot: r44607 | plobsing++ | branches/dynext_nci:
stale branch
21:12
21:13 fperrad joined
NotFound Urgh, today my fingers are worse than usually. 21:13
cotto_work op_info_t has a flags member that looks like it's not getting enough exercise.
21:13 theory joined
whiteknight cotto_work: I'm sure several of those flags are no longer useful 21:14
some of them certainly are, however
NotFound cotto_work: I've not yet finished to understand wich are required to assemble and disassemble.
cotto_work If you find that you need any other than PARROT_JUMP_RELATIVE, lmk. 21:15
NotFound Maybe when pirado reaches some completeness I'll reach full enlightment.,
Anyone that wants to help with pirado is welcome, BTW. 21:19
Coke pirado? 21:20
NotFound Coke: my proof-of-concept pir compiler wiritten in winxed
Coke pirado is notfound's proof-of-concept pir compiler wiritten in winxed 21:21
NotFound purl: pirado is also fool, crazy in Spain's slang 21:22
purl okay, NotFound.
chromatic I'm going to wait until you write it in itself. We can call that piradito. 21:23
NotFound Is a pir compiler, so itself is pir, so... no, thanks
ash_ nqp is written in nqp 21:24
NotFound nqpito X-)
ash_ does winxed have a gen-parrot script like rakudo or do i need to install it separately? 21:26
NotFound ash_: install separately. Just have parrot bin dir in PATH and make 21:27
A plumage installer that doesn't need a C++ compiler is in the works, but unusable yet. 21:28
21:41 payload joined
dalek rrot: r44608 | plobsing++ | trunk/src/packfile.c:
use Parrot_thaw_constants() in stead of Parrot_thaw(). satisfies todo comment and TT 1297.
21:44
TT #1297 closed by plobsing++: PackFile_Constant_unpack_pmc should call Parrot_thaw_constants(), not ... 21:45
22:15 lucian joined
dalek rrot: r44609 | mikehh++ | trunk/compilers/imcc/pbc.c:
fix codetest failure - tabs in leading whitespace
22:17
mikehh All tests PASS (pre/post-config, make corevm/make coretest, smoke (#32481), fulltest) at r44609 - Ubuntu 9.10 amd64 (g++ with --optimize) 22:30
22:49 AndyA joined
ash_ winxed is pretty neat, did you write the stage0 C++ file all by hand? 22:53
22:59 payload joined
NotFound ash_: yes, stage 0 is fully developed in C++, using only standard lib 23:00
23:03 AndyA joined
ash_ cool, i am working on an alternative C++/llvm based nqp, so far, it only needs llvm and the standard library of C++, i am using flex and bison, but you don't have to re-gen those files every time you compile 23:04
NotFound ash_: I have personal preference for coding recursive parsers better than using bison and the like- 23:06
ash_ bison seems to know better than I about certain things of my grammar, giving me warnings if i have reduction errors and shift conflicts, i am thinking about making the regex parser by hand, since i am not sure if i can express the regex syntax with bison and flex, but that might just be my limited knowledge of bison and flex 23:09
Austin :) 23:10
ash_: Language theory pretty much guarantees that anything you can do in a "standard" regex, you can do in bison and flex.
ash_ true, but that does mean i can, that means someone that knows flex and bison can 23:11
Austin Yeah.
ash_ :P
Austin Because by the time you get 'er done, you'll know bison and flex. see?
ash_ hopefully, thats my plan anyway 23:12
NotFound ash_: yes, but I dislike the convoluted ways usually needed to pass semantic information nack into the parser to be able to do something that looks like a grammar. 23:13
ash_ do you mean the use of yylex from within bison? 23:14
NotFound ash_: No, things like a grammar that needs to diferentiate if an identifier has been declared or not, for example. 23:15
ash_ so, you want to know if a function exists with the same name as a keyword? 23:17
for instance, i mean, i see what you mean though, to look at semantic information during parse time 23:18
chromatic You shouldn't have to do that with a well-designed grammar.
Perl 5 has to do that.
QED.
ash_ but bison doesn't really do that, you'd want to look at the complete AST after bisons done with it to check for those situations, i'd think
NotFound Other good point. Both winxed stages actually works without reserved words. I don't think I'll be able to do that with bison.
ash_ bison doesn't really care much about keywords though as long as it knows how to differentiate what state your in, bison's more of a state machine maker, flex is used to tell which token your at 23:20
NotFound And I have Stroustrup support for my idea. In "The Design and Evolution of C++" he says that if he backed in time to write cfront, he'll write a recursive descendant parser instead of lexx/yacc. 23:21
ash_ my plan is to eventually have my nqp use pm's nqp grammar to write itself in itself, but i need a bootstrap somewhere, so i don't have to write assembly or llvm-ir by hand 23:22
NotFound But as I said, all this is just post-rationalization. The only reason is that I feel better writing recursive parser than writing grammars. 23:23
dalek rrot: r44610 | coke++ | branches/rm_cflags (12 files):
- actually remove CFLAGS.in, as it's now covered via config/make

   that could be available
  - eliminate most of config/auto/cgoto.pm - these were simple makefile rules
   better expressed directly in root.in
   - clean up associated test file
  - update init::optimize to allow file-based overrides.
  - don't put optimizer cflags in @ccflags@, but only in @optimize@
   - fixup usages of cflags to respect this.:
  - document the "SUFFIX OVERRIDE" convention in root.in
  - don't bother adding some sun specific warning overrides since we're not
warnings clean on those platforms anyway - we'll start from scratch using the new auto::warnings (these warnings didn't even go through CFLAGS anyway)
23:24
NotFound And the fact that I wrote most of winxed in two months examplifies that the productivity is not bad ;) 23:25
ash_: I don't understand well... You are generating C++ to feed the llvm c++ compiler with? 23:30
ash_ C++ code generates llvm-ir, the llvm-ir can be compiled into native code, hopefully the native code will be able to parse a grammar right and emit llvm-ir 23:31
so, the C++ code goes away eventually, but i need it for now to interface with the llvm libraries
23:33 cotto_work joined
NotFound Too late for me to fully understand now, going to sleep. 23:34
23:38 parrot joined
ash_ its very simliar to how you do winxed, your C++ code makes pir doesn't it? 23:38
just replace winxed with nqp, and pir with llvm and thats what i am working on
dalek rrot: r44611 | coke++ | branches/rm_cflags (73 files):
merge latest changes from trunk
23:41
23:46 charlie joined
Coke yay. rm_cflags is one. 23:53
"done"
please test with non-gcc , non-gmake platforms.
charlie Hi! I am interested in a commit bit to the rakudo GIT ... is there any chance for me to get one ?
Coke (esp with the sun cc compiler, and amd64)
charlie: you probably want #perl6 on freenode;
charlie ok
Coke also, you can just fork it and do push requests/patch submittals. 23:54
CLA?
purl CLA is Contributor License Agreement or www.perlfoundation.org/contributor_..._agreement or www.parrot.org/foundation/legal or www.parrot.org/files/parrot_cla.pdf
Coke and you'd need the first one of those, for rakudo. (but I am not a gatekeeper on who gets a bit.)
charlie ok many thanks 23:55