#parrot Parrot 0.6.4 "St. Vincent Amazon" Released | parrotcode.org/ | 15 new, 648 open, 80 stalled tix | logged in irclog.perlgeek.de/parrot/today
Set by moderator on 24 July 2008.
00:04 Alias joined
Alias ping? 00:04
Alias tries to contact people at the hackathon
Oh come on... wtf are they :( 00:07
00:44 Alias joined, Alias_ joined 00:47 Schwern joined
Schwern moritz: We have a question about the logic behing # pure in the fudge file. 00:47
moritz: Why would one want to use #pure and not simply remove the fudge from the .t file in question? 00:48
(We're trying to refactor the test suite to easier run individual test files)
00:49 Andy joined
dalek r29780 | coke++ | trunk: 01:28
: [tcl] Now that :vtable knows about 'self', drop the :method hack we had been
: using to get access to it.
diff: www.parrotvm.org/svn/parrot/revision?rev=29780
01:33 Andy joined
pmichaud cla? 01:34
purl cla is Contributor License Agreement or www.perlfoundation.org/contributor_..._agreement
Schwern Could somebody check if I signed a CLA and have a commit bit? 01:39
I think I did about two years ago
pmichaud cla's were first handed out at yapc::na 2006, so that would be about right 01:40
but in general commit bits that haven't been used in more than a year tend to get disabled 01:41
(I think)
Schwern ah ha
dalek r29781 | jkeenan++ | parallel: 01:42
: Refactor some code from inside runstep() into _handle_asm() and add appropriate tests.
diff: www.parrotvm.org/svn/parrot/revision?rev=29781
Schwern pmichaud: Could you apply that patch please? 01:59
pmichaud working on it -- running a test first 02:00
dalek r29782 | pmichaud++ | trunk: 02:07
: [rakudo]: Allow single-test make targets, refactor fudge/harness.
: * Patch courtesy Schwern++.
diff: www.parrotvm.org/svn/parrot/revision?rev=29782
02:27 bacek_ joined
dalek r29783 | jkeenan++ | parallel: 02:28
: [configure] Make all functions into methods of the step class. This done
: mainly to make content of coda universally available, so it is moved into
: _init(). Refactor code from inside runstep() to _handle_begin_c() to increase
: testability of previously uncovered branch. Add appropriate tests. Add
: inline comments in test file.
diff: www.parrotvm.org/svn/parrot/revision?rev=29783
Schwern pmichaud: parallelization patch sent 02:47
kid51 Schwern: where are you sending these patches? 02:49
pmichaud they're going to my inbox
normally we'd send them to rakudobug@perl.org, but we didn't want the mailing list/rt delay
03:08 Theory joined
dalek r29784 | pmichaud++ | trunk: 03:28
: [p6object]: Eliminate %!metaclass hash
: * Classes point directly to metaclass object
: * Anonymous classes no longer leak memory
diff: www.parrotvm.org/svn/parrot/revision?rev=29784
r29785 | pmichaud++ | trunk: 03:29
: [configure]: Fix config/auto/opengl.pm to match coding standards.
diff: www.parrotvm.org/svn/parrot/revision?rev=29785 03:30
r29786 | cotto++ | trunk: 03:47
: [intlist] make intlist_get correctly check return list_get's return value
diff: www.parrotvm.org/svn/parrot/revision?rev=29786
04:14 Andy joined
cotto_home is there anything already in Parrot that I could use to check if a DESCRIPTION section is empty? 04:23
in a Pod file 04:24
04:28 ewilhelm left 04:35 ewilhelm joined
ewilhelm pmichaud, hackathon adjourned? 04:37
04:40 teknomunk joined 04:41 rurban_ joined 05:03 teknomunk_ joined
ewilhelm uh, touch /tmp/t && make test fails t/perl/Parrot_IO.t ? 05:13
Auzon rt? 05:14
purl hmmm... rt is just RT (bestpractical.com/rt) or (:rt3) or (: rt bugs) or Obra's trouble ticketing system or the first IBM RISC workstation (www.contrib.andrew.cmu.edu/~shadow/ibmrt.html) or the bombsquad or the Right Thing or very very capable and open-source or an application framework that bundles a ticketing system or obra's baby or SOOOO slow :-S or email mailto:perlbug-owner@perl.org for access
ewilhelm is that a report-worthy bug or have I completely lost my mind?
Auzon parrotbug?
purl parrotbug is mailto:parrotbug@parrotcode.org or svn.perl.org/parrot/trunk/docs/submissions.pod or see also "rakudobug"
Auzon rakudobug?
purl rakudobug is probably mailto:rakudobug@perl.org
Auzon parrot rt? 05:16
purl it has been said that parrot rt is rt.perl.org or rt.perl.org/rt3/Public/Bug/Display....id=$bugnum
Auzon aha
ewilhelm ok, now that I'm back on the path of my bisection search to discover why compiling segfaults on amd64
Auzon rakudo roadmap? 05:18
roadmap?
purl roadmap is www.xray.mpe.mpg.de/mailing-lists/p...00115.html
ewilhelm Auzon, you talking to me or just messing with the bot?
Auzon I'm asking the bot stuff, but maybe you know ;) 05:19
I'm looking to see if the lack of m// support is on the roadmap or anything before I report it
(in rakudo, that is)
ewilhelm wouldn't have a clue, I can't even run rakudo
Auzon What OS?
ewilhelm --> bisection search to discover why compiling segfaults on linux amd64 05:20
Auzon purl, rakudo roadmap is svn.perl.org/parrot/trunk/languages...l6/ROADMAP 05:21
purl OK, Auzon.
Auzon I won't bug them about m// yet then :)
ewilhelm: Seems to be working for me. Good luck on your search 05:25
ewilhelm working? at HEAD of trunk?
Auzon Yes. 05:26
Fedora 9, 64 bit.
ewilhelm grr. thanks
starting to look like bisection was not needed... 05:28
Auzon hm. One test has fails. :-/ 05:29
ewilhelm which? 05:30
Auzon t/spec/S02-names_and_variables/perl.t
But that's something minor. 05:31
ewilhelm is this new? we were messing with the harness some today
Auzon Looks like new today. 05:33
It segfaults, oddly enough
ewilhelm which (I think) has nothing to do with what I'm attemting to chase-down 05:34
ack. HEAD builds fine. I think svn ate my baby.
05:35 Psyche^ joined
ewilhelm what is languages/perl6/t/fetchspec ? 05:36
make does svn co on the pugs t/spec, where this just picks a couple directories
?
Auzon Apparently so, but I'm not sure why 05:37
It's not used in the Makefile at all. Hasn't been touched in ~4000 revs 05:38
It looks like the predecessor to spectest_regression. 05:39
ewilhelm so that goes to rakudobug then?
dalek r29787 | cotto++ | trunk: 05:41
: [codingstd] fix a trailing space
diff: www.parrotvm.org/svn/parrot/revision?rev=29787
r29788 | cotto++ | trunk: 05:44
: [pod] Add a test to pod.t to make RT #48264 closeable.
diff: www.parrotvm.org/svn/parrot/revision?rev=29788
cotto_home 6/10.6 05:47
purl 0.566037735849057
ewilhelm t/dynpmc/foo.t - Failed test 'loadlib with absolute pathname, no ext' ?? 05:49
05:50 ewilhelm left 05:55 Schwern joined 05:59 Theory joined 06:06 teknomunk_ joined 07:00 Ademan joined 07:16 zostay joined
dalek r29789 | fperrad++ | trunk: 07:30
: [Lua] OpenGL, fix constants
diff: www.parrotvm.org/svn/parrot/revision?rev=29789
07:35 iblechbot joined
dalek r29790 | fperrad++ | trunk: 08:19
: [Lua] OpenGL, fix glut.Init()
diff: www.parrotvm.org/svn/parrot/revision?rev=29790
08:37 workbench joined
dalek r29791 | fperrad++ | trunk: 09:06
: [Lua] OpenGL, fix demo
diff: www.parrotvm.org/svn/parrot/revision?rev=29791
09:24 bacek joined 09:31 Casan joined 09:42 masak joined
masak are the first two items in languages/perl6/ROADMAP ('list context, list assignment', and 'return and control exceptions') only partly implemented, or is ROADMAP out-of-date? 10:01
rakudo: my @a = (1,2,3); say @a # this counts as list assignment to me 10:02
polyglotbot OUTPUT[123␤]
masak rakudo: sub foo { return; say "world" }; say "hello"; foo # and return seems to work fine 10:03
polyglotbot OUTPUT[hello␤]
masak time to update ROADMAP?
jonathan masak: I believe things like ($a, $b) = 1,2; will not yet work, so list assignment ain't really done yet. 10:18
masak ah.
jonathan And return isn't 100% there either, not are other control exceptions.
masak I see.
jonathan So both items have progress, but aren't complete.
masak what is it about return that isn't 100%? 10:19
jonathan I think returning more than one thing. 10:23
masak rakudo: sub f { return 1,2 }; say f 10:33
polyglotbot OUTPUT[too many arguments passed (2) - at most 1 params expected␤current instr.: 'f' pc 96 (EVAL_13:41)␤called from Sub '_block11' pc 17 (EVAL_13:11)␤called from Sub 'parrot;PCT::HLLCompiler;eval' pc 806 (src/PCT/HLLCompiler.pir:481)␤called from Sub 'parrot;PCT::HLLCompiler;evalfiles' pc 1088
..(src/PCT/HLLCompiler.pir:610)␤called from Sub 'parrot...
masak seems so.
so the list assignment thing and the return thing are actually a bit related?
jonathan I suspect so, yes. 10:37
($a, $b) = f(); # with the f in your example above
masak is this functionality far off? what's blocking it? 10:38
jonathan I think it may need PGE changes.
masak why? 10:39
jonathan I'm not entirely sure, and I may be mis-remembering that. I'm just trying to think through how to implement it...
I know it's on Patrick's todo list, so I haven't given it a whole load of thought. 10:40
I think it's something to do with knowing you parsed a list on the LHS so you can parse the RHS in a different context. 10:41
masak: BTW, willl you be at YAPC::Europe::2008? 10:44
masak yes.
jonathan Cool. :-)
masak aye, I look forward to it :)
jonathan Patrick and I are hacking the day before and after.
masak we'll be there.
jonathan Awesome. 10:45
masak (viklund is coming too)
jonathan vilund?
*viklund
masak you met him and me at NPW2008
jonathan Yes, I'm trying now to put a face to the name...
Anyway, looking forward to the conference and hacking. 10:46
Need to write my talks, still!
masak :)
jonathan: www.flickr.com/photos/jooon/55661136/ 10:47
jonathan I'm only going to show examples, that will run already in Rakudo.
masak viklund is "some guy with ear muffs" :)
jonathan Aha!
Yes, I remember now.
rurban Can we check instead of interpinfo .INTERPINFO_RUNTIME_PREFIX . "/runtime/parrot/include/config.fpmc" also for "/lib/parrot"...
This is in parrotlib.pir and config.pir 10:48
jonathan rurban: I expect that would work out for UNIX-y systems, yes. We need something probably more generic though, to handle Win32. 10:49
rurban I dont want to set PARROT_RUNTIME_ROOT for installed versions all the time.
even on unix systems /usr/runtime is non-FHS compliant
jonathan Hmm
rurban --prefix=/usr
jonathan knows nothing about FHS
rurban in Cygwin I did setting a symlink from /usr/runtime to /usr/lib but on debian e.g. we will not be allowed to do so. 10:50
jonathan Yes, of course.
purl Indubitably.
jonathan purl: Is that even a word? 10:51
Should we not be installing with a configuration where INTERPINFO_RUNTIME_PREFIX is set to the right thing?
Or is that not settable at "make install" time? 10:52
It'd seem we know what it's going to be at that point...
rurban but after INTERPINFO_RUNTIME_PREFIX there comes runtime/parrot
jonathan Geck, yes.
rurban and runtime/parrot is only valid from source
jonathan Meaning we'd have to install to /lib/parrot/runtime/parrot to get that to work! 10:53
rurban uness you hide it behind /usr/lib/parrt/runtime or somewhere.
jonathan Yeah
rurban yep.
jonathan Ugly.
rurban --prefix=/usr/lib/parrot
jonathan Maybe including the runtime/parrot in the build (non-install) INTERPINFO_RUNTIME_PREFIX would do it?
rurban or better --prefix=opt/parrot 10:54
jonathan So INTERPINFO_RUNTIME_PREFIX is "...what it was before.../runtime/parrot"
rurban I rather think of checking prefix.lib/parrot first and then for the runtime/parrot path
I'm just testing it.
jonathan OK
I'm afraid I'm likely not the best person to ask on this - I can help with Parrot guts-ish stuff, but I'm not at all familiar with Linux/UNIX packaging-ish things. 10:55
The mailing list is good - if anyone replies. ;-)
rurban INTERPINFO_RUNTIME_PREFIX is the same as Env PARROT_RUNTIME_ROOT or just "/usr", the prefix 10:57
Ok, I added my patch at rt.perl.org/rt3/Ticket/Display.html?id=56996 11:08
11:31 Ademan joined
rurban Cannot we persuade parrot;PCT::HLLCompiler;initnot to load config.pir at runtime on a language pbc. the config hash is already linked 12:37
unfortunately we don't know at run-time if the config hash is loaded or not. _config returns just a hash but does not side-effects, like creating a global symbol 12:38
12:41 kid51 joined 12:42 rurban_ joined
dalek r29792 | fperrad++ | trunk: 12:44
: [Lua] OpenGL, add glut.DestroyWindow()
diff: www.parrotvm.org/svn/parrot/revision?rev=29792
r29793 | fperrad++ | trunk: 13:02
: [Lua] OpenGL, check config
diff: www.parrotvm.org/svn/parrot/revision?rev=29793
13:29 jan joined 13:40 Whiteknight joined
dalek r29794 | jkeenan++ | parallel: 13:45
: [configure] Fine-tuning of tests for configuration steps. Clarify POD.
: Provide inline comments functioning as subheads where tests previously found
: in multiple files have been moved into a single file. Use
: Parrot::Configure::Test::test_step_constructor_and_description() to eliminate
: repeated code. Delete outdated comments.
diff: www.parrotvm.org/svn/parrot/revision?rev=29794
r29795 | Whiteknight++ | gsoc_pdd09:
: [gsoc_pdd09] turn off iterative behavior to expose some underlying problems that need fixin'
diff: www.parrotvm.org/svn/parrot/revision?rev=29795
r29796 | Whiteknight++ | gsoc_pdd09: 13:52
: [gsoc_pdd09] update to trunk r 29793
diff: www.parrotvm.org/svn/parrot/revision?rev=29796
r29797 | jkeenan++ | parallel: 13:56
: [configure] Fine-tuning of tests for configuration steps. Clarify POD.
: Provide inline comments functioning as subheads where tests previously found
: in multiple files have been moved into a single file. Use
: Parrot::Configure::Test::test_step_constructor_and_description() to eliminate
: repeated code. Delete outdated comments.
diff: www.parrotvm.org/svn/parrot/revision?rev=29797
r29798 | fperrad++ | trunk: 14:01
: [Lua] OpenGL, refactor glut callback
diff: www.parrotvm.org/svn/parrot/revision?rev=29798
r29799 | jkeenan++ | parallel: 14:45
: [configure] Fine-tuning of tests for configuration steps. Clarify POD.
: Provide inline comments functioning as subheads where tests previously found
: in multiple files have been moved into a single file. Use
: Parrot::Configure::Test::test_step_constructor_and_description() to eliminate
: repeated code. Delete outdated comments.
diff: www.parrotvm.org/svn/parrot/revision?rev=29799
14:53 jhorwitz joined 15:18 iblechbot joined 15:32 kid51 joined
dalek r29800 | jkeenan++ | parallel: 15:48
: Provide inline comments functioning as subheads where tests previously found
: in multiple files have been moved into a single file.
diff: www.parrotvm.org/svn/parrot/revision?rev=29800
r29801 | jkeenan++ | parallel: 15:53
: Restore incorrectly deleted subroutine import.
diff: www.parrotvm.org/svn/parrot/revision?rev=29801
16:20 davidfetter joined
rurban Can someone merge #57296: [TODO] make install -C languages with #56554:\t[TODO] add languages/*/Makefile install targets please? The second is a duplicate but has a better description and a patch. 16:23
dalek r29802 | jkeenan++ | parallel: 16:26
: [configure] Fine-tuning of tests for configuration steps. Clarify POD.
: Provide inline comments functioning as subheads where tests previously found
: in multiple files have been moved into a single file. Use 16:27
: Parrot::Configure::Test::test_step_constructor_and_description() to eliminate
: repeated code. Delete outdated comments.
diff: www.parrotvm.org/svn/parrot/revision?rev=29802
16:27 cognominal joined
kid51 rurban: Which do you want to be the surviving ticket? 16:28
rurban #56554 please. But add the desc and patch from the newer to the older. 16:29
I forgot that I already submitted this as TODO
The patch is still about 50%, but it is getting bigger and bigger. 16:30
16:30 Andy joined
kid51 Done. 16:34
rurban kid51++ thanks 16:35
japhb rurban: BTW, I don't like having our installed lib prefix be anything other than /usr/lib/parrot. If the problem is that we will get /usr/lib/parrot/runtime/parrot/, then that is what needs to be fixed. (Though I have realized what may be the reason for the seemingly pointless runtime/parrot -- someone's ancient expectation that languages would put their runtimes in runtime/ as well? 16:36
rurban I'm happy to get rid of runtime/parrot at run-time, but I will not change the src layout 16:37
The languages put their runtimes into runtime/parrot/dynext
japhb In that case, /parrot/ should go away. 16:38
rurban Mostly needed is just runtime/parrot/include/config.pir, from PCT::HCTCompiler
japhb I realize you don't want to do this, but enter a ticket for it. I will happily vote +1.
rurban The ticket already exists: #56996\t[TODO] remove non FHS-compliant searchpaths 16:39
I finished now my final cygwin package for 0.6.4 and will evaluate eventual problems there.
Then I will change the runtime paths to favor /usr/lib/parrot over /usr/runtime/parrot 16:40
I believe there are still some more problematic errors in the run-time. Why does compiler/PCT/HLLCompiler loads config.pir at runtime? _config is already linked to the language. 16:41
_config() should set some side-effects so that the run-time can detectd an already linked conf_hash and not try to load config.pir at runtime. 16:42
problem is that config() is a function and no global hash 16:43
I see no problem changing that from a function to a global hash
This should help building with installed parrot also. 16:44
16:44 cognominal joined
japhb rurban: Two things: 1) As I mentioned in ticket 56996, we should prefer /usr/lib/parrot over /usr/runtime/parrot *NOW*. 2) I meant that you should enter a ticket for changing the source tree to get rid of /parrot/ under runtime/. You don't have to be the one to implement it (I understand your reticence to make large changes to the repo), but it definitely needs a ticket. 16:46
rurban Do you really want to go this way? What I want is not to change the src layout and just fix the run-time behaviour for an installed parrot. This installable_perl should never check /usr/runtime 16:48
But to accomplish this I must get rid of run-time access to config.pir wbecause I want only loading config.fpmc, and for installable@exe this is not needed at all, because config.fpmc is already linked to the binary. 16:50
Checks in the build_dir should safely still access runtime/parrot/...
japhb That's why I suggest a ticket. My preference would be to change the source tree, so that runtime/parrot/foo becomes runtime/foo, and we don't get an ugly installed version of /usr/lib/parrot/runtime/parrot/foo/, and there are no hacks in the code that try both .../runtime/parrot/foo and .../runtime/foo. That's just wasted stat()s. It is possible someone may disagree with me, but we can argue that in the ticket.
rurban Ok. let's suggest changing the src layout, but this needs higher powers than me. So you would have to add this ticket :) 16:51
japhb Huh? 16:52
Anyone can enter the ticket.
rurban Do you think it is good if I suggest such a major change?
japhb "As discussed with japhb in IRC ..."
And then I will happily jump on the bandwagon. :-)
kid51 japhb: It looks like you're the one who's eager to have this new ticket. Why don't you open it?
rurban well oh well. I'd rather keep it this way.
japhb OK, sheesh.
fine, will do.
rurban :) 16:53
What I want is just to clean out cornercases where the linked install_config.o is not used at all, and some lib still wants to access runtime/parrot/include/config.pir or such. 16:55
And get rid of all runtime/ paths in the linked installables. 16:56
japhb That's a separate question.
rurban Some architect like Allison should explain that
And I found cases where languages want to access compilers/... which are never installed. (lua) 16:57
japhb nod
rurban I wonder how debian,fedora, gentoo test their languages packages.
japhb: Actually I dislike the idea to mv runtime/parrot/* to runtime/ 16:59
japhb why?
rurban Righ now I have the simple workaround to symlink /usr/runtime to /usr/lib, which works fine for some months.
japhb As you mentioned, that workaround is just wrong.
Debian would, as you said, never allow it. 17:00
rurban When all the langas haev been fixed I can remove the symlink
japhb rurban: It's not just the languages, it's load_bytecode
rurban yeah.
I still have to read the differences between .include and load_bytecode though 17:01
japhb And load_bytecode either has to know that in some places it will use .../runtime/parrot/foo, and in others use .../runtime/foo, or we have to accept .../parrot/runtime/parrot/ in the installed space. Which is wrong.
rurban I want load_bytecode and .include to know if there's a global conf_hash around. 17:02
Maybe that's what interpinfo .INTERPINFO_RUNTIME_PREFIX is for. 17:03
japhb OK, ticket submitted 17:07
japhb sends a good-natured raspberry in the general direction of kid51 17:08
rurban Ok, and I'm now fighting to get rid of unnecessary stats in config.pir, because _config should already be loaded. 17:09
japhb Fight the good fight, rurban!
17:10 cognominal joined 17:13 Ademan joined
dalek r29803 | jkeenan++ | parallel: 17:18
: [configure] Fine-tuning of tests for configuration steps. Clarify POD.
: Provide inline comments functioning as subheads where tests previously found
: in multiple files have been moved into a single file. Use
: Parrot::Configure::Test::test_step_constructor_and_description() to eliminate
: repeated code. Delete outdated comments.
diff: www.parrotvm.org/svn/parrot/revision?rev=29803
kid51 rurban: Your work has certainly elevated the visibility of Cygwin in these parts. I hope some day you do a conference presentation on Cygwin -- about which many, including myself, are very ignorant -- and on Cygwin in Parrot. 17:19
rurban well, Cygwin is irrelevant for these topics. debian and fedora should have also detected those problems. 17:20
Just Win32 is a little bit different
conferences: my day job doesn't allow me to travel too much. I work in Formula 1 and I'm very busy. 17:21
kid51 I can't recall a presentation on Cygwin at any YAPC::NA.
A perl.com article, perhaps? 17:22
rurban Well, from time to time I help out Indycar and nascar in the states. Then I'm in the area.
kid51 Or at least a posting on use.perl.org.
rurban use.perl.org is fine.
I update my journal from time to time anyway.
installation for pugs on cygwin e.g.
or the latest cygwin release for parrot, and my progresses with the perl5 compiler B:C 17:23
For the real hairy stuff you have to boot into a linux VM anyway to do some valgrind checking 17:24
or some dtrace
But basic strace or gdb sessions do work find for cygwin. Analyzing coredumps not so. 17:26
17:34 DietCoke joined
DietCoke yawns. 17:35
rurban japhb: What's your ticket id? I just wrote a new use.perl journal 17:48
DietCoke hurm. in my working copy of partcl, I have a test that fails with 'make test', but works when run directly with prove t/cmd_vwait.t. bah.
rurban use.perl.org/~rurban/journal/37023 17:53
rafl: ping fhs 18:28
purl I can't find fhs in the DNS.
dalek r29804 | coke++ | trunk: 18:58
: [tcl] code.google.com/p/partcl/issues/detail?id=59
: Part of the eventual switch to PCT involves changing how we attempt to compile.
: This reverts tcl to a pure runtime dispatch for each command; The ".tmt"
: files we had been using to generate PIR to use in place of the runtime call
: are now gone.
: In most cases, just used the version that had been automatically generated by
: the original system.
diff: www.parrotvm.org/svn/parrot/revision?rev=29804
r29805 | coke++ | trunk: 19:02
: [tcl] bring documentation closer to reality.
diff: www.parrotvm.org/svn/parrot/revision?rev=29805
19:04 Theory joined
dalek r29806 | coke++ | trunk: 19:08
: [tcl] rename make target 'tcl-test' to 'spectest'
: (in harmony with ../perl6)
diff: www.parrotvm.org/svn/parrot/revision?rev=29806
jonathan wanted coke to rename it to test-tcl 19:13
DietCoke wonders how to do this in C: www.tcl.tk/man/tcl8.5/TclCmd/tclvars.htm#M26 19:15
DietCoke has an approximation in languages/tcl/src/pmc/tclfloat.pmc //get_string 19:16
jonathan DietCoke: pointerSize
?
DietCoke jonathan: *blank stare*
jonathan DietCoke: Which bit of the document are you referring to? 19:17
DietCoke jonathan: tcl_precision
jonathan That link showed up with the pointerSize entry at the top of the page for me.
Aha.
jonathan reads
DietCoke whoops. www.tcl.tk/man/tcl8.5/TclCmd/tclvars.htm#M27
DietCoke bets they renumbered the entries in the past 4 years.
jonathan DietCoke: Isn't it a sprintf formatting thing? 19:18
DietCoke I hope so; that would simplify the code. =-) 19:19
hurm. I wonder if this was left in an over-complicated state. 19:22
jonathan DietCoke: %.*f or similar may do it (you invoke it as I guess something like printf("%.*f", THE_LENGTH, value) I think) 19:25
DietCoke the printf code in tclfloat is currently: buff = Parrot_sprintf_c(INTERP, "%.*vg", precision, PMC_num_val(SELF));
jonathan But you'll need to handle the default 0 case specially.
Aha. So is precision not just the tcl_precision value?
DietCoke ... at one point, using 0 for the precision did not have the desired result. 19:26
DietCoke is trying to find out if that is still the case, or if something chnaged in the N years since this was written
jonathan In that case, I guess you need to test for that having a 0 as the tcl_precision and if so, do something different. 19:27
DietCoke ... yes, but -what-. =-)
precision of 0 for parrot seems to mean "show only one sigfig"
jonathan Is what Tcl wants for the default value of 0 not the default if you just use %g? 19:30
DietCoke ah, that's better. =-) 19:32
ah, here we go. Yes, %g gives results likeE: 19:33
# got : '0.785398'
# expected : '0.7853981633974483'
for tcl_precision=0, which now implies a simple %g.
19:37 Paul joined
Paul Hey everybody 19:37
purl everybody is depraved
DietCoke (I am trying to figure out if there is a %lg or %Hg or something that will work, but lg dies, and Hg gives me a lot of nans.
Paul i have a question
i am developing my own scripting language
and i am trying to decide on a VM
so i ask
what does parrot give me that the JVM does not already have 19:38
DietCoke depends on your scripting language.
moritz Paul: parrot is designed for dynamically typed languages
Paul: JVM is higly optimized for statically typed ones
Paul it is dynamically typed
ahhh
thats very useful to know
how is it optimized for dynamically typed languages? 19:39
moritz it doesn't require you to declare types on your variables ;-) 19:40
jonathan :-P
moritz Paul: maybe you might be interested in en.wikibooks.org/wiki/Parrot_Virtua...k_Tutorial
jonathan There are also a bunch of features that are supported in Parrot that dynamic languages often use, without needing to re-invent the wheel, which may well happen if compiling a dynamic language down to run on a static VM. 19:41
DietCoke moritz: that's misleading. :|
moritz DietCoke: yes, it is
jonathan For example, runtime of eval of code (calls back into compilers) are pretty trivial.
Paul moritz: What about mozilla rhino though? You don't have to declare types in javascript
moritz Paul: dunno, never played with that rhino thing 19:42
Paul: may I ask what kind of language do you want to implement?
jonathan Paul: There are languages running on Parrot that allow and enforce type constraints/declarations, and there are many more that don't.
Paul They also have things like jython and a LISP compiler for the JVM
I'm writing my own language for academic purposes 19:43
that will have the features that I've always wanted in a language
jonathan Sure. I'm not sure if the JVM has a common framework for dynamic languages, like the .Net DLR (Dynamic Languages Runtime for the .Net CLR), to help factor out some of the common bits that dynamic languages need. 19:44
19:44 Schwern joined
jonathan Another attraction Parrot offers is its compiler toolkit. 19:44
Which means you end up mostly just writing the front-end of the compiler and not having to worry at all about code-gen. 19:45
(Because there's a common AST format, and a backend to transform it into the intermediate code) 19:46
moritz: You going to be at YAPC::EU, by the way? 19:49
Paul moritz: Thanks for that wikibooks link. I'm going to implement Squaak now and then work on my language afterwards.
moritz jonathan: sadly not :( 19:52
jonathan moritz: Ah, shame. :( 20:00
moritz indeed. Hopefully next year 20:01
jonathan In Soviet Russian, the YAPC attends you.
moritz ;-)
jonathan If they get it! 20:02
moritz btw I've seen your various bug fixes, jonathan++
perlgeek.de/blog-en/perl-6/huffman-...akudo.html
jonathan I fear if they do, we'll have an entire conference of In Soviet Russia jokes. On the other hand, last time there was a YAPC in Portugal, it was three days of Perl programmers wearing fishnets...
moritz: Nice link! :-) 20:03
moritz thanks ;)
DietCoke jonathan: I threw my question out to p2.
20:05 Ademan joined
jonathan DietCoke: Cool. I'm afraid my printf not-exactly-fu was exhausted... 20:06
DietCoke thanks for trying. =-) 20:07
jonathan moritz: Seeing things like this makes me feel like we're getting somewhere.
moritz jonathan: I should start trying the various modules in ext/ in the pugs repo 20:08
and speaking of "getting somewhere", I hope you've seen that STD.pm now parses 99% of the spec tests? 20:09
jonathan moritz: For sure. It'll be good to know what we're missing, if anything.
No, where is that written about?
But wow, that's good progress.
moritz www.perlmonks.org/?node_id=700400
jonathan Now we just need to get Rakudo to parse STD.pm. :-)
moritz TimToady sometimes annotated with commit messages with the percentages, the last one was 98% 20:10
s/with/his/
and I tried it a few hours ago, one test looping, one test failed, all other parsed correctly
jonathan Great.
We need more spectests. 20:11
;-)
moritz and more larrys ;-)
well, Auzon is working on that (more spectests)
and I'm too, from time to time
jonathan Yes, I've noticed we're getting more and more. 20:12
20:12 cesar joined
jonathan I'm trying to make sure whenever I fix something or add something there's no tests for, I at least add some basic tests for it. 20:12
Auzon is working on a monstrous regex test at present :)
jonathan Nice!
Auzon++ 20:13
moritz with a plan of 500odd tests, iirc
Auzon Well, making it so Rakudo can run it, then adding more tests to fill it out.
535, yes.
DietCoke Tene: ping 20:19
20:24 AndyA joined
DietCoke If anyone's looking for stuff to do, I have some stuff over in partcl that could use some attention. lemme know. =) 20:33
(knowing tcl isn't really necessary)
cotto_home DietCoke, what did your comment on #56548 mean? 20:42
20:43 Limbic_Region joined
moritz jonathan: maybe you want to take at look at t/spec/S06-multi/type-based.t - it has some basic tests, and rakudo dies on the first of them with "no applicable methods." 20:43
jonathan: for somethings as complicated as Str
jonathan moritz: Str has issues. 20:50
Str as a type constraint doesn't work so great in a couple of places.
I should try and work out why.
But I'm happy to see that test file - it's new, right? 20:51
moritz yes, just moved it to spec/ a few minutes ago
ok, dispatching to Int works 20:52
but not to Num and Str
uhm, because the test is wrong ;-) 20:53
it assumes that +'4' is Num, not Int 20:54
I'm currently correcting and fudging the test 20:55
Tene DietCoke: pong 20:58
jonathan moritz: Num should accept anything that Int does. 21:00
Rakudo probably gets that wrong right now. 21:01
moritz jonathan: yes, but that test is still wrong, because there's an Int multi as well
DietCoke tene; just wondering if you're looking for more work. =-) 21:06
(on the off chance you are: compileTcl in tcl currently returns a bunch of PIR that all goes into a single, top level .sub; for each command, it needs to generate an :immediate sub. (That seems to be the easiest way to switch us over to the current tcl behavior which runs every command as soon as it's parsed. 21:09
I also expect it to speed up tcl, since we won't be beating the hell out of the register allocator.
jonathan moritz: Ah. Makes sense. 21:11
DietCoke Tene: code.google.com/p/partcl/issues/detail?id=2 21:12
21:14 Ademan joined
dalek r29807 | coke++ | trunk: 21:16
: [tcl] make [incr] autovivify, unTODOing some internal & spec tests.
diff: www.parrotvm.org/svn/parrot/revision?rev=29807
cotto_home DietCoke, nm. I didn't realize you had top-posted. 21:24
21:37 bacek joined
dalek r29808 | moritz++ | trunk: 21:46
: [rakudo] added S06-multi/type-based.t to spectest_regression
: +5 pass, +13 skip
diff: www.parrotvm.org/svn/parrot/revision?rev=29808
21:47 Theory joined 22:07 Ademan joined 22:23 teknomunk joined 23:23 TiMBuS joined 23:25 teknomunk_ joined
Tene DietCoke: looks like fun. I might look at it tomorrow. 23:28
DietCoke Tene: excellent. =-) 23:29
Tene I have trouble getting interested in work on tcl, 'cos I've never really used it for anything. I've tried a few times. 23:30
Although, no, that can't be the reason. I've never used lolcode or ruby either.
Maybe they have different reasons to be interesting? dunno. 23:31
DietCoke part of the problem might be that the codebase is so different. if it were more PCT-like, would that make it easier? 23:33
or is it just that "tcl is wierd"? =-)
Tene That would help a lot, yes. 23:34
Perhaps you should rewrite tcl using PCT.
;)
23:34 Whiteknight joined