Camelia, the Perl 6 bug

IRC log for #parrot, 2010-03-03

Parrot | source cross referenced

| Channels | #parrot index | Today | | Search | Google Search | Plain-Text | summary

All times shown according to UTC.

Time Nick Message
00:18 cotto_w0rk joined #parrot
00:37 cotto_working joined #parrot
00:43 cotto_work anyone know what PARROT_JUMP_ENEXT means?
00:45 chromatic It's listening to Criss Cross?
00:48 cotto_work The plot thickens.  Removing the one place where that macro is used doesn't cause the build to explode.
00:48 cotto_work That was much less explodey than I was expecting.
00:49 cotto_work Let's see what fulltest does.
00:54 cotto_work joined #parrot
00:54 cotto_work wb me
00:57 cotto_work fulltest passes
00:58 abqar joined #parrot
01:02 cotto_work let's see what happens if ops2c doesn't generate that flag
01:04 Whiteknight PARROT_JUMP_ENEXT? never heard of it
01:05 cotto_work It doesn't seem to be very important.
01:05 Coke ugh. still cannot build rakudo on feather.
01:06 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 cotto_work At least PARROT_JUMP_ENEXT isn't putting up a fight.
01:07 cotto_work iwbn to make the random tests less noisy
01:16 cotto_work coverage?
01:16 purl it has been said that coverage is http://cv.perl6.cz
01:19 Whiteknight I see many many instances of PARROT_JUMP_ENEXT in the repo
01:21 cotto_work they're almost all generated
01:21 cotto_work run realclean and there'll only be a handful
01:23 cotto_work do_prederef doesn't seem to be used much either
01:24 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?
01:24 Coke (since it's parot that's running out of memory)
01:25 cotto_work Whiteknight, fulltest would cover that?
01:26 Whiteknight cotto_work, should, if pcg is tested
01:27 cotto_work you mean cgp
01:27 cotto_work ?
01:28 cotto_work I'm checking what happens if I insert a deliberate segfault inti prederef__
01:29 cotto_work I need a sanity check.
01:34 Whiteknight prederef__ only does predereferencing on dynops, I think
01:34 Whiteknight that's my understanding anywy
01:34 cotto_work so I'd need to test a dynop in the cgp core?
01:35 cotto_work easy enough
01:36 cotto_work "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
01:37 Whiteknight where is it supposed to be called from?
01:37 cotto_work the prederef__ op
01:37 Whiteknight you know what? it might only have been called from JIT+CGP core
01:38 cotto_work It's starting to smell like dead code.
01:38 cotto_work Ripping it out would make ops2c and opsc simpler.
01:39 Whiteknight how?
01:40 cotto_w0rk joined #parrot
01:41 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:42 cotto_w0rk but if they're not being used, we need to rip them out or write some more tests to cover them
01:43 cotto_w0rk I'll file a tt
01:46 Coke I added the hackathon to the calendar.
01:46 Coke chromatic?
01:46 Coke bad purl.
01:46 purl U MAKE I CRY
01:47 Coke I want a volunteer with a commit bit to help keep the google calendar in line.
01:48 Whiteknight I have access, but I'm terribly unreliable
01:49 Coke dukeleto?
01:49 purl rumour has it dukeleto is mentoring a few peeps. can't remember everyone. sure
01:49 Coke I added chromatic and dukeleto to the growing list.
02:01 Coke pmichaud: partcl-nqp is borked, dying somewhere in generated PIR code.
02:06 Coke 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 Coke s/null/recently removed/
02:07 Coke $ git push
02:07 Coke fatal: remote error:
02:07 Coke You can't push to git://github.com/partcl/partcl-nqp.git
02:07 Coke Use git@github.com:partcl/partcl-nqp.git
02:07 Coke (how do I fix this?)
02:08 cotto_work I'd appreciate input on http://trac.parrot.org/parrot/ticket/1490 (removing prederef__)
02:11 dalek TT #1490 created by cotto++: remove prederef__ op and supporting code
02:12 bubaflub joined #parrot
02:12 bubaflub left #parrot
02:17 preflex joined #parrot
02:21 Coke (git) eh. easier to recheckout, recommit, and push
02:26 dalek partcl-nqp: 2b0d422 | coke++ | src/TclList.pm:
02:26 dalek partcl-nqp: Array is no longer a valid parrot type to map.
02:26 dalek partcl-nqp: review: http://github.com/partcl/partcl-nqp/commit​/2b0d4224d083304b3c8f8b87e9d72b540e30a2f2
02:33 dalek parrot: r44599 | plobsing++ | branches/tt1477/src/call/args.c:
02:33 dalek parrot: make index parameter in callbacks given to Parrot_pcc_build_sig_object_from_callbacks meaningfull
02:33 dalek parrot: review: http://trac.parrot.org/parrot/changeset/44599/
02:49 dalek parrot: r44600 | plobsing++ | branches/tt1477/ext/Parrot-Embed (4 files):
02:49 dalek parrot: 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.
02:49 dalek parrot: review: http://trac.parrot.org/parrot/changeset/44600/
02:50 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 #parrot
03:06 dalek parrot: r44601 | plobsing++ | branches/tt1477/ext/Parrot-Embed/t (2 files):
03:06 dalek parrot: add test for alternate signature ("III->I")
03:06 dalek parrot: review: http://trac.parrot.org/parrot/changeset/44601/
03:11 Coke convert 25 celcius to hellakelvin
03:11 purl I don't know how to convert 25 celcius to hellakelvin.
03:24 Andy joined #parrot
03:24 jsut joined #parrot
03:32 JimmyZ joined #parrot
03:35 cotto Coke++
03:38 cotto convert 25 celcius to kelvin
03:38 purl I don't know how to convert 25 celcius to kelvin.
03:38 cotto srsly?
03:38 purl totally srsly.
03:39 treed convert 25 celsius to kelvin
03:39 purl I don't know how to do that.
03:39 treed madness
03:39 treed convert 25 centigrade to kelvin
03:39 purl I can't compare 0.00392699081698724 radian with  Kelvin.
03:39 treed O_o
03:39 cotto purl fails
03:39 purl see "doesn't work"
03:39 treed Heh.
03:40 treed convert your mom to my slut
03:40 purl I don't know how to convert your mom to my slut.
03:40 treed LOL, backfire.
03:41 janus joined #parrot
03:44 plobsing anyone have any idea what might cause all entries in interp->mem_pools to be multiplied by 256?
03:45 cotto shift to the left!  shift to the right! stand up, sit down, FIGHT! FIGHT! FIGHT!
03:45 * cotto is feeling odd today
03:45 plobsing yeah, but where is that done on interp->mem_pools?
03:52 kurahaupo purl remember 25 Celsius is 296.15 Kelvin
03:52 purl OK, kurahaupo.
03:53 cotto convert 25 celcius to kelvin
03:53 purl I don't know how to convert 25 celcius to kelvin.
03:54 kurahaupo convert 25 Celsius to Fahrenheit
03:54 purl 25 Celsius is 77 Fahrenheit.
03:55 cotto convert yourself to something better
03:55 purl I don't know how to convert yourself to something better.
03:56 kurahaupo convert 1 lightyear to fathoms
03:56 purl 1 lightyear is 5.17308e+15 fathoms.
03:56 * kurahaupo is impressed
03:57 plobsing purl, convert useful factoids into random noise
03:57 purl I don't know how to convert useful factoids to random noise.
03:57 plobsing I'm pretty sure you do
03:57 kurahaupo +1
03:57 purl 1
03:59 cotto purl lies
03:59 purl I didn't change anything!
04:03 cotto plobsing, you could set a watchpoint in gdb
04:04 plobsing cotto++, I'm trying that now
04:04 dalek rakudo: f6092e9 | Lue++ | src/builtins/Str.pir:
04:04 dalek rakudo: added the .s .z and .e file test methods for Str
04:04 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/f​6092e943a482f78bac5358b3a8fe9b230105bbc
04:06 plobsing arg. gdb deletes watch points at scope exit!
04:07 cotto yeah.  you'll have to watch the address
04:07 cotto on the bright side, you'll have time to make yourself a cup of tea
04:14 parthm joined #parrot
04:15 parthm hello. whats the recommended way to create a language skeleton. mk_language_shell.pl or create_language.pl?
04:17 cotto There'd better be a ticket about that.  You're the third person in recent memory to ask that question.
04:17 cotto We don't need to be engendering that kind of confusion.
04:18 * cotto looks to remind himself what the difference is
04:19 cotto also, svn-- for making something like this a non-local operation
04:19 cotto and svn-- again because I'm feeling crabby
04:24 cotto 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:26 parthm cotto: thanks. that certainly seems inline with http://trac.parrot.org/parrot/ticket/619
04:26 * parthm will use mk_language_shell.pl
04:30 cotto tt filed
04:30 cotto hopefully the right people will come along and fix it quickly
04:39 dalek TT #1491 created by cotto++: mk_language_shell.pl and create_language.pl cause confusion
04:40 Austin Anybody want to run some pir for me?
04:41 nopaste "Austin" at 68.39.12.202 pasted "Tell me if this prints two identical addresses?" (55 lines) at http://nopaste.snit.ch/19843
04:43 Austin pmichaud: ping
04:44 parthm left #parrot
05:14 * 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:17 theory joined #parrot
05:24 cotto Austin, they're the saem
05:24 Austin Thanks. :(
05:24 theory joined #parrot
05:24 Austin So no classes with the same names, regardless of namespace.
05:26 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:27 plobsing (at least in branch)
05:33 dalek parrot: r44602 | plobsing++ | branches/tt1477/ext/Parrot-​Embed/lib/Parrot/Embed.xs:
05:33 dalek parrot: eliminate Parrot::PMC::DESTROY induced segfaults
05:33 dalek parrot: Parrot_Interpreter doesn't have a refcount, trying to fiddle with that actually messes with the mem_pools pointer... fun
05:33 dalek parrot: review: http://trac.parrot.org/parrot/changeset/44602/
05:37 hicx174 joined #parrot
05:38 brooksbp joined #parrot
05:40 dukeleto 'ello
05:41 cotto That sounds like it was a fun one to debug
05:48 kurahaupo joined #parrot
06:07 dalek parrot: r44603 | plobsing++ | branches/tt1477/ext/Parrot-Embed/t/languages.t:
06:07 dalek parrot: update location of abc language for use in testing
06:07 dalek parrot: review: http://trac.parrot.org/parrot/changeset/44603/
06:12 snarkyboojum joined #parrot
06:17 Andy joined #parrot
06:28 parthm joined #parrot
06:32 tewk joined #parrot
06:45 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:57 chromatic joined #parrot
06:57 kurahaupo joined #parrot
07:05 kurahaupo Austin: +1 on same-address
07:06 kurahaupo Austin: that was tested on 2.1.0-devel built for i386-linux
07:09 kurahaupo 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 #parrot
07:20 uniejo joined #parrot
07:22 parthm left #parrot
07:39 barney joined #parrot
07:57 riffraff joined #parrot
08:02 bacek joined #parrot
08:04 payload1 joined #parrot
08:20 snarkyboojum joined #parrot
08:20 dalek plparrot: 5fa59cf | dukeleto++ |  (5 files):
08:20 dalek plparrot: Get rid of Configure.nqp and friends
08:20 dalek plparrot: We are going with a plain Makefile for now. We may try distutils.pir/setup.pir in the future.
08:20 dalek plparrot: review: http://github.com/leto/plparrot/commit/5​fa59cf84a4fff88f68ca5e5edb9fc077dec41d5
08:20 JimmyZ joined #parrot
08:31 dalek plparrot: d60f9f8 | dukeleto++ |  (2 files):
08:31 dalek plparrot: Update TODO and PLATFORMS
08:31 dalek plparrot: review: http://github.com/leto/plparrot/commit/d​60f9f8ce5b293573909106bf63c08330b888f65
08:49 mikehh All tests PASS (pre/post-config, make corevm/make coretest, smoke (#32474), fulltest) at r44603 - Ubuntu 9.10 amd64 (gcc with --optimize)
08:51 bacek o hai
08:59 snarkyboojum joined #parrot
09:18 payload joined #parrot
09:41 AndyA joined #parrot
10:05 lucian joined #parrot
11:31 allison joined #parrot
11:36 bkuhn joined #parrot
11:47 kid51 joined #parrot
12:02 bacek joined #parrot
12:37 gerd joined #parrot
12:49 parthm joined #parrot
12:53 payload joined #parrot
13:13 tetragon joined #parrot
13:19 whiteknight joined #parrot
13:34 plobsing joined #parrot
13:43 Andy joined #parrot
13:54 atrodo joined #parrot
13:55 ruoso joined #parrot
13:59 lucian joined #parrot
14:00 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:01 whiteknight Worse yet, Object.can doesn't even support a vtable override, so we can't change that behavior in subclasses
14:01 payload joined #parrot
14:03 Coke surely not supporting a vtable override is a bug.
14:07 whiteknight I think it is a bug, and don't call me surely
14:07 whiteknight (that joke does not work AT ALL over the intertubes)
14:20 cognominal joined #parrot
14:35 dalek parrot: r44604 | plobsing++ | branches/tt1477/ext/Parrot-​Embed/lib/Parrot/Embed.xs:
14:35 dalek parrot: clean-up/document the way we marshal between perl/parrot stacks
14:35 dalek parrot: review: http://trac.parrot.org/parrot/changeset/44604/
14:35 dalek parrot: r44605 | plobsing++ | branches/tt1477/DEPRECATED.pod:
14:35 dalek parrot: add experimental notice for Parrot_ext_call_cb
14:35 dalek parrot: review: http://trac.parrot.org/parrot/changeset/44605/
14:36 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:44 whiteknight Austin: I have no idea
14:44 whiteknight I think waiting for 2.2.
14:44 whiteknight let me lok
14:45 whiteknight where were those changes made, the Namespace PMC?
14:45 Austin IDK. I thought you made them.
14:45 Austin But namespace delegates its work to hash, so almost certainly no.
14:45 whiteknight I dont remember exactly what those changes were
14:47 whiteknight nevermind, I remember
14:47 whiteknight does not look like it's in 2.1
14:47 patspam joined #parrot
14:47 Austin Well, that's good and bad.
14:52 parthm left #parrot
14:56 PacoLinux joined #parrot
14:57 payload joined #parrot
14:57 Andy joined #parrot
15:03 Coke C question.
15:04 Tene go ahead.
15:04 Coke with --optimize, the following is added to the build's ccflags: -DDISABLE_GC_DEBUG=1 -DNDEBUG"
15:04 Coke should that be a global setting, or should it only apply to those files which are being compiled with optimization?
15:05 NotFound In case some wonders, I'm not the gut arrested in Santiago/Spain for the "mariposa" affair X-)
15:05 Coke hee!
15:06 NotFound s/gut/guy
15:06 Tene NotFound: they'd have to find you before they could arrest you.
15:06 Coke Boo.
15:07 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.
15:07 Tene s/Not/Easily/ then, perhaps?
15:08 NotFound That's my secret identity ;)
15:09 NotFound I'm like Clark Kent, without my glasses no one knows me.
15:10 NotFound (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.
15:13 NotFound Austin: Maybe I must give some anonymous donation to PaFo.
15:15 Austin Sure, then I could apply for a Mariposa grant to find bugs.
15:15 Austin Err.. work on Kakapo
15:15 NotFound A grant for a project to metamorphose bugs onto butterfies.
15:19 Coke PaFo could definitely use someone to drum up $$ for grants.
15:19 Coke PaFo?
15:19 purl PaFo is the only entity that owns the *entire* work, so it's the only entity that can distribute Parrot
15:19 Coke pafo is also the parrot foundation
15:19 purl okay, Coke.
15:32 Andy_ joined #parrot
15:33 bubaflub joined #parrot
15:39 Psyche^ joined #parrot
15:50 Coke anyone know why src/tsq.c says "never optimize this file"?
15:51 Coke woot. rm_cflags should be mergable this evening.
15:52 Tene What was the purpose of that branch, again?
15:54 dukeleto 'ello
15:55 Tene Hi!
15:55 dukeleto Tene: howdy
15:57 Coke Tene: to eliminate the use of the CFLAGS compilation wrapper.
15:58 Coke (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.
15:58 purl it has been said that ah, that one is more likely a multi-CPU thing
15:59 bubaflub mornin dukeleto
15:59 dalek rakudo: d66fe37 | tene++ | src/Perl6/Actions.pm:
15:59 dalek rakudo: Slight refactor of push_block_handler
15:59 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/d​66fe378ce5ad21ce080f2dbf3af38d658c3605d
15:59 dalek rakudo: 4edd19d | tene++ | src/Perl6/Actions.pm:
15:59 dalek rakudo: Re-work try {} to ignore control exceptions
15:59 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/4​edd19dbaaee2dd2c61cbc1044ef39651d45f3e4
16:06 dukeleto bubaflub: top of the localtime()
16:07 dukeleto 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
16:09 dukeleto bubaflub: ok, i will look at the tt notes
16:12 dalek TT #1493 created by NotFound++: Avoid repeated STRING constans with the same value
16:14 parthm joined #parrot
16:27 NotFound Coke: I think -DNDEBUG must be global
16:28 kurahaupo joined #parrot
16:30 dalek parrot: r44606 | NotFound++ | trunk/compilers/imcc/pbc.c:
16:30 dalek parrot: [imcc] avoid generating repeated STRING constants, TT #1493
16:30 dalek parrot: review: http://trac.parrot.org/parrot/changeset/44606/
16:31 parthm left #parrot
16:35 Coke dukeleto: a few percent, IIRC>
16:35 Coke but this helps us toward "eliminate perl from the build"
16:35 whiteknight Coke: src/tsq.c is supposed to support cross-thread operations, optimizers tend to have a problem with that
16:35 Coke whiteknight: ok - gcc didn't seem to mind.
16:36 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 whiteknight does C89 support the volatile keyword, or was that added later?
16:36 kurahaupo yes
16:36 whiteknight okay
16:36 whiteknight a liberal smattering of "volatile" in that file should avoid any multithread issues we run into
16:42 Coke whiteknight: AH, OK.
16:42 Coke whoops. caps lock detected.
16:42 whiteknight CAPSLOCK IS CRUISE CONTROL FOR AWESOME
16:42 whiteknight plus, it's like yelling, but on the internet!
16:45 Coke BOOYAH
16:45 dukeleto Coke: a few percent speedup is quite nice
16:49 mj41 joined #parrot
16:51 Austin Whiteknight: (TT#1492) Yet another reason not to do mocking...
16:52 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 whiteknight extremely obnoxious bug
16:52 Austin Hey, at least we get more than 7 letters of significance...
16:55 theory joined #parrot
16:58 whiteknight which language had less, Fortran?
17:02 NotFound Some old Basi interprters had two.
17:02 NotFound Basic
17:07 mikehh joined #parrot
17:08 whiteknight My first Basic was GWBasic, folled by QBasic
17:08 whiteknight Then I tried VisualBasic and decided it was time for me to start programming like a big boy now
17:11 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 dukeleto which makes me want to hack on porcupine...
17:11 dukeleto porcupine?
17:11 NotFound whiteknight: Have you looked at Blassic?
17:12 dukeleto purl, porcupine is Pascal on Parrot http://code.google.com/p/porcupinepascal/
17:12 purl OK, dukeleto.
17:13 dukeleto sadly, porcupine seems abandoned right now
17:14 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
17:15 NotFound I still have a cp/m mbasic version.
17:15 mikehh you still got a CP/M computer running
17:16 cognominal joined #parrot
17:16 NotFound mikehh: yes, but what I also have my own cp/m emulator.
17:16 mikehh NotFound: ah - haven't tried that recently
17:17 NotFound http://www.arrakis.es/~ninsesabe/aliados/
17:17 dukeleto mikehh: you are right about it being static, but I still want pascal on parrot
17:18 mikehh dukeleto: might be interesting to see how it works
17:19 mikehh used pascal a lot about 10-20 years ago
17:20 mikehh 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.
17:21 NotFound 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
17:21 NotFound mikehh: Z80 assembler or PL/M?
17:22 mikehh either/or
17:22 purl rumour has it either/or is fine
17:22 NotFound This is the assembler: http://pasmo.speccy.org/
17:25 mikehh NotFound: I think I looked at that a while back
17:26 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:27 mikehh There is a lot of legacy code about that you sometimes have to use some of the tools from then
17:28 mikehh but sometimes it is fun playing around with some of that stuff
17:29 NotFound mikehh: and there are lots of peope that learned some old Basic at the time, and never learned other language.
17:31 mikehh well I started out with Fortran and assembler, then moved onto other things
17:32 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
17:32 whiteknight NotFound: (Blassic) Nope, never heard of it before, but I'm looking at it now
17:33 NotFound My craziest work ever is a text editor written in Cobol.
17:33 NotFound http://blassic.org/
17:34 NotFound Other of my retro projects.
17:35 NotFound If you used GwBasic, you'll feel like home.
17:38 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:39 whiteknight I've never had the pleasure of using a computer with a built-in basic interpreter chip
17:40 mikehh interesting enough it had an operator to handle any of the 16 bitwise operations nand, imp, or, nor etc.
17:43 NotFound whiteknight: startup time is awesome, in comparaison with any windows box.
17:46 brooksbp joined #parrot
18:13 chromatic joined #parrot
18:17 whiteknight good afternoon, chromatic
18:17 chromatic morning
18:18 whiteknight I'm looking forward to the hackathon on Saturday, last time we did it there was a great turnout
18:19 chromatic Have you been able to coordinate some tasks with allison?
18:19 whiteknight haven't spoken to her since #ps yesterday
18:19 whiteknight I've got to take a closer read over her tasklist
18:20 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 #parrot
18:21 whiteknight I'll be happy to lend an eye there if you need anything
18:22 whiteknight brb, have to move to a new office
18:27 brooksbp_ joined #parrot
18:51 cotto_work chromatic, how do you feel about the removal of the prederef__ op?
18:51 whiteknight joined #parrot
18:52 whiteknight back
18:52 * cotto_work stops saying bad things about whiteknight
18:53 whiteknight it's about time somebody stopped saying bad things about me
18:58 chromatic Kill it.
19:00 cotto_work Sweet.  I'll do that when I get home.
19:01 kjeldahl_ joined #parrot
19:03 whiteknight what's getting killed?
19:04 chromatic prederef__
19:05 whiteknight awesome
19:05 cotto_work should I replace it with a placeholder to preserve bytecode compatibility or do we not care?
19:06 whiteknight I wouldn't
19:06 cotto_work relatedly, is the "reserved" op worth keeping?
19:06 * whiteknight shakes 8-ball
19:06 whiteknight "signs point to no
19:07 cotto_work design by 8-ball
19:07 cotto_work wfm
19:08 whiteknight what does the reserved op even do?
19:08 cotto_work It's a placeholder afaict.
19:09 whiteknight kill
19:09 cotto_work "Reserve 1 more fix entry."
19:10 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:15 atrodo dukeleto> pascal/delphi is actually my primary static language and what my compiler project (draak) is written in and handles the best
19:16 whiteknight can the cpu_ret and wrapper__ opcodes be removed too? Are either of them used in fulltest?
19:16 whiteknight ...and while we're on the topic, what's the difference between check_events and check_events__, and are they both needed?
19:16 cotto_work I smell an op cull.
19:16 whiteknight ...smells like death
19:17 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
19:17 whiteknight I don't think it can work for any other runcore
19:18 whiteknight and enternative
19:19 * whiteknight would also love to see "sweep" and "collect" die a fiery death
19:19 whiteknight and "bounds" looks useless to me
19:20 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 ?
19:21 * Coke stares at config/auto/cgoto.pm
19:21 bubaflub atrodo: delphi was my first exposure to programming
19:21 Coke (why is this not just IN the makefile?)
19:22 bubaflub left #parrot
19:22 bubaflub joined #parrot
19:23 atrodo draak.sf.net  I actually learned qbasic first, then turbo pascal 7
19:31 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 whiteknight so vanilla check_events is the manual version of that
19:46 ruoso joined #parrot
19:48 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 lucian joined #parrot
19:50 ash_ joined #parrot
20:00 TimToady phone
20:01 TiMBuS joined #parrot
20:02 bacek joined #parrot
20:03 Coke crap.
20:03 TimToady or...not...
20:03 TimToady so far just me...
20:04 TimToady I know pm is out; he must be the life of the party :)
20:05 cotto_work There's something zen-like about being in a phone call with nobody.
20:06 * cotto_work contemplates, achieves enlightenment and goes to write some PHP code.
20:07 * cotto_work is disappointed with enlightenment.
20:07 treed Yeah, it's not the greatest desktop environment.
20:08 Coke ... PHP? wow, I thought my CF job sucked. =-)
20:15 ash_ hey, php isn't that bad... it... has lots of $ signs
20:15 * ash_ also is writing php at work...
20:17 Tene I'm pretty fond of enlightenment as a desktop environment.
20:17 chromatic The best software the last millennium had to offer.
20:19 Tene I never really liked e16, actually.
20:21 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:22 szabgabx joined #parrot
20:25 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 dukeleto one of my favorite error messages
20:26 cotto_work no reason why we can't pay tribute to that error in Parrot
20:27 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 #parrot
20:34 dukeleto i was always a big fan of windowmaker. I think it crashed 2 times in the decade that I used it
20:35 dukeleto so who is going to be the first person to write a window manager in PIR?
20:35 chromatic Should be fairly easy.
20:39 bacek Morning
20:40 cotto_work hi bacek
20:40 bacek aloha cotto
20:40 cotto_work I've got some simplifications to ops2c that'll make opsc a little easier to implement.
20:40 bacek Yeah, I noticed.
20:41 cotto_work with more to come
20:41 bacek Did you see my last commit into ops_pct?
20:41 Coke NOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO
20:41 * bacek hides
20:41 Coke (jk)
20:41 cotto_work yuo
20:41 cotto_work yup
20:41 cotto_work it'll simplify that part
20:42 joeri joined #parrot
20:42 bacek ok, this is what I'm looking for :)
20:42 bacek I'm going to implement emitter (partially) over weekend
20:43 bacek 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.
20:43 bacek indeed. We can improve it later.
20:44 * cotto_work repeats to himself "First make it work, then make it work well."\
20:44 chromatic Work in small steps.
20:44 bacek ... big step for mankind!
20:44 bacek :)
20:51 payload joined #parrot
20:55 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:56 chromatic Will review it shortly.
20:56 whiteknight will look soon
20:59 cotto_work anyone know what PARROT_JUMP_RELATIVE means and why it's important to store that information?
20:59 Coke plobsing: ENOCLUE
21:00 chromatic Oh, those help identify control flow in ops.
21:00 chromatic IMCC uses a few of those.
21:01 chromatic It's important for figuring out what kind of fixup to do.
21:01 cotto_work It only appears to need that one.
21:01 * Coke mostly rips out a config step and puts it into the makefile...
21:01 chromatic I don't promise IMCC is brilliant.
21:01 cotto_work removing the rest doesn't cause any fulltest failures.
21:01 cotto_work That gives me a good starting point.  Thanks.
21:01 NotFound cotto_work: I need it.
21:01 cotto_work What for?
21:01 purl for fun.
21:02 cotto_work fun?
21:02 purl You know, you have to make your own fun. or KISS THE CHICKEN!
21:02 pjcj joined #parrot
21:02 NotFound cotto_work: to know how to look at the opcode arguments.
21:03 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.
21:04 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.
21:04 whiteknight a relative jump is a jump offset relative to current pc
21:04 whiteknight as opposed to an absolute jump, which jumps to a fixed pc location
21:04 payload1 joined #parrot
21:04 cotto_work NotFound, you mean flags?
21:05 NotFound cotto_work: yes.
21:05 cotto_work oic
21:05 NotFound I'm using it in the latest revision of pirado.
21:06 cotto_work pirado?
21:06 NotFound Parrot disassemble functions also uses it, to show the addres of the jump destination.
21:07 cotto_work yeah
21:07 NotFound cotto_work: the work I'm doing in winxed to explore pir HLL assemblers.
21:07 NotFound examples/pirado.winxed in winxed source tree.
21:08 payload1 joined #parrot
21:08 cotto_work Do you think it'd be reasonable to work around that flag or is it valuable enough to keep?
21:08 cotto_work I'd like to take it out, but not if it
21:08 NotFound cotto_work: without that flag, any jump opcode must be tracked individually, I suppose.
21:08 cotto_work 'll be a pain.
21:09 hicx174 joined #parrot
21:10 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.
21:10 cotto_work ok.  That seems to answer my question about how necessary it is.
21:11 NotFound cotto_work: not the flag in particular, but I think the functionality it provides is required.
21:11 cotto_work sure
21:11 cotto_work It's currently down to one bit, which I'm sure could be stored somewhere else.
21:11 NotFound An plus, I've just started to manage his meanins, will not be nice to delete just after X-)
21:12 dalek parrot: r44607 | plobsing++ | branches/dynext_nci:
21:12 dalek parrot: stale branch
21:12 dalek parrot: review: http://trac.parrot.org/parrot/changeset/44607/
21:13 fperrad joined #parrot
21:13 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 #parrot
21:14 whiteknight cotto_work: I'm sure several of those flags are no longer useful
21:14 whiteknight some of them certainly are, however
21:14 NotFound cotto_work: I've not yet finished to understand wich are required to assemble and disassemble.
21:15 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.,
21:19 NotFound Anyone that wants to help with pirado is welcome, BTW.
21:20 Coke pirado?
21:20 NotFound Coke: my proof-of-concept pir compiler wiritten in winxed
21:21 Coke pirado is notfound's proof-of-concept pir compiler wiritten in winxed
21:22 NotFound purl: pirado is also fool, crazy in Spain's slang
21:22 purl okay, NotFound.
21:23 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
21:24 ash_ nqp is written in nqp
21:24 NotFound nqpito X-)
21:26 ash_ does winxed have a gen-parrot script like rakudo or do i need to install it separately?
21:27 NotFound ash_: install separately. Just have parrot bin dir in PATH and make
21:28 NotFound A plumage installer that doesn't need a C++ compiler is in the works, but unusable yet.
21:41 payload joined #parrot
21:44 dalek parrot: r44608 | plobsing++ | trunk/src/packfile.c:
21:44 dalek parrot: use Parrot_thaw_constants() in stead of Parrot_thaw(). satisfies todo comment and TT 1297.
21:44 dalek parrot: review: http://trac.parrot.org/parrot/changeset/44608/
21:45 dalek TT #1297 closed by plobsing++: PackFile_Constant_unpack_pmc should call Parrot_thaw_constants(), not ...
22:15 lucian joined #parrot
22:17 dalek parrot: r44609 | mikehh++ | trunk/compilers/imcc/pbc.c:
22:17 dalek parrot: fix codetest failure - tabs in leading whitespace
22:17 dalek parrot: review: http://trac.parrot.org/parrot/changeset/44609/
22:30 mikehh All tests PASS (pre/post-config, make corevm/make coretest, smoke (#32481), fulltest) at r44609 - Ubuntu 9.10 amd64 (g++ with --optimize)
22:49 AndyA joined #parrot
22:53 ash_ winxed is pretty neat, did you write the stage0 C++ file all by hand?
22:59 payload joined #parrot
22:59 payload joined #parrot
23:00 NotFound ash_: yes, stage 0 is fully developed in C++, using only standard lib
23:03 AndyA joined #parrot
23:04 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:06 NotFound ash_: I have personal preference for coding recursive parsers better than using bison and the like-
23:09 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:10 Austin :)
23:10 Austin ash_: Language theory pretty much guarantees that anything you can do in a "standard" regex, you can do in bison and flex.
23:11 ash_ true, but that does mean i can, that means someone that knows flex and bison can
23:11 Austin Yeah.
23:11 ash_ :P
23:11 Austin Because by the time you get 'er done, you'll know bison and flex. see?
23:12 ash_ hopefully, thats my plan anyway
23:13 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:14 ash_ do you mean the use of yylex from within bison?
23:15 NotFound ash_: No, things like a grammar that needs to diferentiate if an identifier has been declared or not, for example.
23:17 ash_ so, you want to know if a function exists with the same name as a keyword?
23:18 ash_ 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.
23:18 chromatic Perl 5 has to do that.
23:18 chromatic QED.
23:18 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
23:18 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.
23:20 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:21 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:22 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:23 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:24 dalek parrot: r44610 | coke++ | branches/rm_cflags (12 files):
23:24 dalek parrot: - actually remove CFLAGS.in, as it's now covered via config/make
23:24 dalek parrot: - update all uses of @optimize@ and @ccwarn@ to try the most specific version
23:24 dalek parrot:   that could be available
23:24 dalek parrot: - eliminate most of config/auto/cgoto.pm - these were simple makefile rules
23:24 dalek parrot:   better expressed directly in root.in
23:24 dalek parrot:   - clean up associated test file
23:24 dalek parrot: - update init::optimize to allow file-based overrides.
23:24 dalek parrot: - don't put optimizer cflags in @ccflags@, but only in @optimize@
23:24 dalek parrot:   - fixup usages of cflags to respect this.:
23:24 dalek parrot: - document the "SUFFIX OVERRIDE" convention in root.in
23:24 dalek parrot: - don't bother adding some sun specific warning overrides since we're not
23:24 dalek parrot: warnings clean on those platforms anyway - we'll start from scratch using
23:24 dalek parrot: the new auto::warnings  (these warnings didn't even go through CFLAGS anyway)
23:24 dalek parrot: review: http://trac.parrot.org/parrot/changeset/44610/
23:25 NotFound And the fact that I wrote most of winxed in two months examplifies that the productivity is not bad ;)
23:30 NotFound ash_: I don't understand well... You are generating C++ to feed the llvm c++ compiler with?
23:31 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 ash_ so, the C++ code goes away eventually, but i need it for now to interface with the llvm libraries
23:33 cotto_work joined #parrot
23:34 NotFound Too late for me to fully understand now, going to sleep.
23:38 parrot joined #parrot
23:38 ash_ its very simliar to how you do winxed, your C++ code makes pir doesn't it?
23:38 ash_ just replace winxed with nqp, and pir with llvm and thats what i am working on
23:41 dalek parrot: r44611 | coke++ | branches/rm_cflags (73 files):
23:41 dalek parrot: merge latest changes from trunk
23:41 dalek parrot: review: http://trac.parrot.org/parrot/changeset/44611/
23:46 charlie joined #parrot
23:53 Coke yay. rm_cflags is one.
23:53 Coke "done"
23:53 Coke please test with non-gcc , non-gmake platforms.
23:53 charlie Hi! I am interested in a commit bit to the rakudo GIT ... is there any chance for me to get one ?
23:53 Coke (esp with the sun cc compiler, and amd64)
23:53 Coke charlie: you probably want #perl6 on freenode;
23:53 charlie ok
23:54 Coke also, you can just fork it and do push requests/patch submittals.
23:54 Coke CLA?
23:54 purl CLA is Contributor License Agreement or http://www.perlfoundation.org/​contributor_license_agreement or http://www.parrot.org/foundation/legal or http://www.parrot.org/files/parrot_cla.pdf
23:54 Coke and you'd need the first one of those, for rakudo. (but I am not a gatekeeper on who gets a bit.)
23:55 charlie ok many thanks

| Channels | #parrot index | Today | | Search | Google Search | Plain-Text | summary

Parrot | source cross referenced