www.parrotcode.org/ | Last release: 0.7.1 "Manu Aloha"
Set by moderator on 17 September 2008.
00:09 AndyA joined 00:19 Whiteknight joined 00:20 cjfields joined
dalek r31282 | coke++ | trunk: 00:33
: [tcl] Instead of throwing a plain exception, catching it, and then throwing an CONTROL_ERROR exception... just throw the right kind to begin with.
diff: www.parrotvm.org/svn/parrot/revision?rev=31282
s1n pmichaud: ping 01:07
01:36 bacek joined 01:50 grim_fandango joined 02:03 Zaba_ joined 02:20 cognominal joined 02:23 Whiteknight joined 02:28 TiMBuS joined 03:11 particle joined
Tene lolcode: VISIBLE "OH HAI" 03:21
polyglotbot OUTPUT[OH HAI␤]
Tene lolcode: VISIBLE "HI JONATHAN"
polyglotbot OUTPUT[HI JONATHAN␤]
03:40 particle1 joined 04:10 TiMBuS joined 04:44 Theory joined 05:22 johbar joined
dalek r31283 | cotto++ | trunk: 07:20
: [cage] delete some properties that referred to obselete .past files
diff: www.parrotvm.org/svn/parrot/revision?rev=31283
07:24 Zaba joined, Tene joined
dalek r31284 | cotto++ | trunk: 07:25
: [cage] delete what I was actually looking for in r31283
: The previous commit is still a good idea.
diff: www.parrotvm.org/svn/parrot/revision?rev=31284
moritz msg bacek I reverted some of the s/skip/todo/ changes because they introduced false positives 07:55
purl Message for bacek stored.
dalek r31285 | moritz++ | trunk: 08:07
: [rakudo] make tools/autounfudge.pl work in parallel, bacek++
: Patch courtesy by Vasily Chekalkin
diff: www.parrotvm.org/svn/parrot/revision?rev=31285
cotto_home karma roulette 08:11
purl roulette has neutral karma
cotto_home random karma
08:40 jan joined 08:44 rurban joined
dalek r31286 | moritz++ | trunk: 08:46
: [rakudo] add split test to spectest_regression
diff: www.parrotvm.org/svn/parrot/revision?rev=31286
08:53 Ontolog joined
rurban Are we really bought into blib/lib? 09:06
blib should also contain then the whole blib/bin blib/lib/parrot/library bla dirs. similar to an interim make install DESTDIR=blib 09:07
win32 ignores blib/lib because of the dll/importlib mess, and unix needs it only for the shared libparrot and requires an LD_RUN_PATH there 09:08
I either want to put the dll/so to the executables or use a real blib as on perl5
(at least I want to move the blib/lib/cygparrot.dll and libparrot.dll.a down to build_dir) 09:09
NotFound rurban: What blib/lib/parrot/... ? 09:10
rurban in perl5 blib contains all the installables
libdir is lib, and under libdir is our parrot/library, parrot/dynext, and so on... 09:11
so we could test installables in blib.
But I rather want to get of blib at all.
get rid of
NotFound I just see blib/lib, that contains native libraries. 09:12
rurban currently
I'm thinkging forwards
(and speaking chinese :)
NotFound There is some reason to put unrelated things here?
rurban blib should also contain then the whole blib/bin blib/lib/parrot/library bla dirs. similar to an interim make install DESTDIR=blib 09:13
blib stands for "build lib" 09:14
so that a modules can be tested from that tree
we do not do that, but should do
esp. with our runtime path, which is in installed versions just /usr/lib/parrot 09:15
NotFound I think blib/lib is an special case, because it may need to be put in some special site, or have some other tratement in order the operating system can find the dynamic libraries. 09:17
And I will dislike that if I want to put it in /usr/lib I'll ge forced to put the entire runtime under /usr
09:23 iblechbot joined
rurban I will restructure now the libparrot linking. -Lblib/lib -lparrot is too fragile. -l<path/to/libparrot.so> should be it. 09:23
And -l is also not needed then. 09:24
purl okay, rurban.
rurban The problem is that -L/usr/lib in front of the -L@build_dir/blib/lib line will override it for -lparrot, so that the already installed lib will be used. 09:25
I fixed that temp in some libparrot.pm hack in my branch, but it is still too fragile.
NotFound rurban: that doesn't solve the problem, it affects compiling but not dynaminc linking at process start. 09:27
rurban dynamic linking is done via LD_RUN_PATH vs PATH (on windows)
that's also missing in trunk, solved in my branch 09:28
I'll rename my branch today to pdd30_install
(if my WLAN connection stays stable here in my hotel)
NotFound rurban: use LD_RUN_PATH or not is a user decision, not something package builders must impose.
rurban LD_RUN_PATH is needed for the root makefile if a shared libparrot already exists 09:29
if we stay with blib/lib
NotFound rurban: that is also a user problem or decision.
rurban config/gen/makefiles/root.in is not a user decision 09:30
cmdline overrides are
I have #IF(parrot_is_shared and not win32):SHRPENV = env LD_RUN_PATH="@build_dir@/blib/lib" 09:31
and for all PARROT and helper invocations we must prepend $(SHRPENV) ("shared parrot env") 09:32
I also cleaned up the perl5 configure/make system recently 09:33
NotFound That way you can build an unusable parrot.
rurban how?
NotFound Building against a library that will not be found at runtime. 09:34
And without the builder noticing that fact
rurban so the user is forced to set LD_RUN_PATH="@build_dir@/blib/lib" before Configure.pl?
similar to PATH=..blib/lib on cygwin? 09:35
the cygwinissue is lame, and win32 already doesn't follow here. win32 just ignores blib/lib, and I'm tempted to do the same 09:36
NotFound rurban: not, you are forcing to use an LD_RUN_PATH if you insert it into the build process. The other way *let* user do it, not force.
rurban but the usual unix build process will fail then in 99% cases when a libparrot is already installed 09:37
NotFound rurban: the same as any other important shared library.
If someone wants to have a library installed and at the same time building and testing another version, one must assume that he know what is doing. 09:39
rurban A build process with configure && make && make test && make install should be self-contained
afterwards the libparrot is in /usr/lib and then the tests work
09:40 bacek joined
bacek evening everyone 09:40
rurban Inside our make we should really prepend our LD_RUN_PATH to be able to override an existing lib
every other build system does the same
(if it's called libtool or autoconf/automake) 09:41
even self-written messes like postgresql or perl5 assure that integrity 09:42
sorry, ensure
bacek yak... How to read private messages in purl? 09:43
moritz /msg purl messages 09:44
or something
NotFound rurban: I don't see that any of those packages put a fixed location for the libraries in the dynamic linking data of the executables.
rurban emacs?
purl emacs is a lisp interpreter that pretends its builtin editor is a toy :) or escape meta alt control shift
moritz emacs is also a not-so-bad OS, but lacking a good editor 09:45
purl okay, moritz.
rurban temacs would cry if during dumping an already installed emacs would break it.
s/an/if an/
NotFound rurban: but we must not solve a problem by creating other worse. 09:46
bacek moritz: thanks.
moritz: sorry... I as deep in gdb, trying to find lexical bug.
rurban I want to solve RT#39742 installed parrot conflicts with dev parrot
And I already solved it in my branch 09:47
bacek s/ as / was /
moritz bacek: no problem
have to run now
bye
09:48 masak joined
NotFound rurban: What branch? 09:48
rurban cygwin070patches
NotFound rurban: a little late for 070 09:51
rurban when nobody merges it :)
NotFound And I think you must not interfere in linux builds inside something with 'cygwin' in his name. 09:52
rurban 070 means that it was branched at 0.7.0, not targetted at 0.7.0
The problem is that I cannot rename it on my laptop with limited space, because I did not check out all branches, just svn.perl.org/parrot/branches/cygwin070patches 09:54
So I will not be able to rename it this month
But I will do some clisp and jvm work this month anyway.
NotFound rurban: there is no way to separate generic install things from cygwin specific ones? Will be easier to test and commit that way. 09:56
rurban cygwin is just another unix as bsd. so difference at all
just the so is named dll. but .so would also work fine
the only difference is that all exported symbols must be defined at linktime 09:57
(which is the case with libparrot)
09:57 Ademan joined
rurban cygwin is just another unix as bsd. NO difference at all 09:58
NotFound I'll take a better look at all this things and do some tests. Is a shame we don't have a make uninstall target, BTW 10:01
That is probably the reason for few people test installation. 10:02
rurban make uninstall is solved typically with packages (.lst files)
cygwin, debian, fedora do it that way.
not sure about gentoo
nor freebsd, freebsd is pretty basic in this regard 10:03
even perl5 has no make uninstall
NotFound autotools provide it for his own builds, without need for packager help
rurban just .packlist files and a helper module to uninstall from that 10:04
autotools supports uninstall? really?
NotFound Yeah 10:05
rurban yes, really
NotFound Of course it unistalls what it installs. If you install a distro package is better to unistall with that packager system tools. 10:06
rurban Ok, I'll add make uninstall to my TODO list 10:07
bacek NotFound: do you have secret knowledge when interp->ctx.state changed? 10:08
rurban autobook: "In our experience, uninstall is not a very useful feature. Automake implements it 10:10
because it is mandated by the gnu Standards, but it doesn’t work reliably across packages.
Maintainers who write install hooks typically neglect to write uninstall hooks. Also, since
it can’t reliably uninstall a previously installed version of a package, it isn’t useful for
what most people would want to use it for anyway."
NotFound bacek: don't understand the question :? 10:11
bacek interp is Parrot_Interpet. ->ctx.state is pointer to Parrot_Context. 10:12
NotFound rurban: agreed in general, but I think is very useful for developers testing installation and knowing what they are doing.
bacek And I can't find who changes it.
my gdb-fu is weak...
NotFound bacek: I think context are created and changed in sub calls and returns, not very sure if there are other places. 10:13
Same fos his state 10:14
bacek ok, thanks.
NotFound rurban: by the way, I think that a document about how to install and run in a no-root-permission-required directory will be useful. I can write it for linux. 10:15
rurban perl Configure.pl --prefix = ~/parrot 10:16
or more? 10:17
purl more is, like, more is less. or Masters of Reverse Engineering. They cracked CSS :) or see "again" or see "yet again" or legendary outlining software put out 15 years ago by Symantec who has since lost the source code. or software that makes people still run Mac OS 8 just so they can use it
NotFound rurban: not so easy if the dynamic libraries locations are not hard coded.
rurban rpath? 10:18
purl rpath is evil. everyone knows it's evil. the libtool maintainer won't fucking take it out. so Debian has to. or considered harmful: nausicaa.interq.or.jp/~ben/rpath-co...ed-harmful
NotFound And many people doesn't know how to use LD_RUN_PATH and LD_LIBRARY_PATH 10:19
rurban Good idea. Yes.
NotFound I can write it for linux, and let others add details for other platforms.
rurban you mean when lddconfig is forbidden 10:20
NotFound rurban: the assumption is that if you can't or wan't to use privileged directories, also can't or wan't to modify the global searching for libraries. 10:21
rurban Such as for perl5 I assume.
NotFound Don't know if there is a document about that in perl5.
rurban nope. 10:22
But I have to leave now...
masak 3 failed tests when running `make test` on Parrot 10:53
is this known? what should I do when I get failing tests?
Tene Are there bug reps for them?
masak I really don't know
I'm not too acquainted with RT's search yet 10:54
Tene Either check for them, or just post them.
masak in what format do I post them? the output from `make test` just says which files contain the failing tests, not which tests failed 10:55
Tene Run the tests directly: perl t/whatever/foo.t 10:56
masak gotcha. 10:57
one of the failures disappears when I do that.
Tene That's awkward. 10:58
masak oops, sorry
it doesn't, happily
Tene It's happened before. Good that it's not, though.
Yeah, post the output of that.
masak does so
11:04 cotto_w0rk joined
masak now for today's harvest of Rakudo issues... 11:06
nopaste "masak" at 130.238.45.242 pasted "Trouble in module land in Rakudo. At least two problems..." (20 lines) at nopaste.snit.ch/14134
masak Tene: oh, isn't it parrotbug@perl.org ? I got the bug report email back 11:09
Tene purl: parrotbug?
purl well, parrotbug is mailto:parrotbug@parrotcode.org or svn.perl.org/parrot/trunk/docs/submissions.pod or see also "rakudobug"
Tene I can never remember it. I always ask purl.
masak :)
masak resends 11:10
cognominal masak, pmichaud and jonathan know about it. Don't use classes with name including ::
masak cognominal: easy for you to say. you're not building a many-module application :P
cognominal I do a multi class app. In the mean time, I use ___ in place of :: 11:11
masak cognominal: oki
still screws up the directory structure and everything...
cognominal Right now I shove everything in one file. 11:12
masak well, we're moving more and more towards separate modules in November 11:14
as well as separate files
seems it's still a bit too early for that...
cognominal nice project.
masak gracias 11:15
cognominal do you do some templating? 11:16
masak cognominal: yes 11:17
we're in-between two HTML::Template implementations now
the old one using regexes, the new one grammars 11:18
cognominal what's the url of the project?
masak github.com/viklund/november/
www.november-wiki.org/
lunch & 11:19
11:29 Zaba_ joined
masak would it be possible to implement ord and chr in Rakudo today? 11:49
the full-blown UTF-8 versions, I mean
Ontolog ord and chr? 11:56
i'll take a look
NotFound masak: implement it yes. Have always granted the correct result, maybe not ;) 11:57
masak NotFound: can you be more precise? :)
Ontolog NotFound: are you implementing it? 11:58
NotFound Several string functions have problems, and you can have for example an string length incorrectly reported, 11:59
Ontolog: parrot opcodes for that are already implemented. 12:00
We can't check well those problems until updating strings to match the current pdd. 12:02
(and maybe killing all people that uses string internals outside of string.c) }:) 12:03
There is a precise definition of the chr result in perl6 document? Will be good to check if it matches the parrot one. 12:05
masak S29 is at least a start 12:06
perlcabal.org/syn/S29.html#line_1549 12:07
NotFound Looks like there have not the same meaning. chr opcode is codepoint based, not grapheme. 12:11
masak NotFound: I thought that depended on the pragma currently in use 12:13
rakudo: class A { my $.b; method x { $!b = "b" } }; A.new.x
polyglotbot OUTPUT[No such attribute '$!b'␤current instr.: 'parrot;A;x' pc 205 (EVAL_13:92)␤called from Sub '_block11' pc 33 (EVAL_13:16)␤called from Sub 'parrot;PCT::HLLCompiler;eval' pc 806 (src/PCT/HLLCompiler.pir:481)␤called from Sub 'parrot;PCT::HLLCompiler;evalfiles' pc 1078
..(src/PCT/HLLCompiler.pir:610)␤called from Sub 'parrot;PCT::HLLCompiler;comman...
masak don't class attributes have private counterparts?
NotFound masak: yes, and that means that it can't make direct use of the chr opcode, it must do some more work. 12:14
masak NotFound: ok. 12:15
masak peruses S12 about class attrs
I would say the above is a bug 12:16
12:25 Whiteknight joined
masak Ceterum censeo #58392 delendam esse. 12:25
NotFound I take a look at it, and I have some doubts. 12:29
What's find_lex supposed to do?
masak no idea 12:30
I just write stuff, and see if it compiles
NotFound The .lex directive seems to not generate bytecode, just declares that the current scope needs a lexpad. Then is not clear to me when the lexical is created. 12:32
masak ok 12:33
NotFound And in a quick look it seems that the lexpad is owned by the sub object. If this is the way, recursive calls will not have a fresh one. 12:34
masak indeed
that's just broken
NotFound So my conclusion is that I don't know very well how lexpad are implemneted.
How they are used, better say. 12:35
masak I'd say "wrongly". at least by Rakudo. 12:37
NotFound $P9 = new 'Sub' | $P8 = get_global 'f' | $P9 = clone $P8 | $P9($P0) 12:42
masak: If i change the 'f' call by this code, the results are not the same.
masak NotFound: not sure I follow 12:43
NotFound I'm trying to know who owns the lexical. 12:44
Cloning the sub object the result is not the same, so it seems that the sub object is. 12:45
masak is that good or bad? 12:47
NotFound Looks bad to me. 12:48
If I do the same in the 'f' call of the inner block, I get infinite recursion.
masak is it perchance worth a comment in the bug ticket? 12:49
any attention on that bug could further its resolving, by me
Ontolog "lexical" means a variable that is in the current scope? 12:50
NotFound I'm just speculating, but ask for clarification of the current behavior and if it's the intended will not be bad.
masak NotFound: if it's ok by you, I'll paste some of this discussion as a comment 12:52
NotFound masak: let me elaborate a few more. 12:53
Ontolog i know it's a retarded question, it's such a commonly used word but i never really understood what it meant
lexical
NotFound Ontolog: maybe the problem is that no one is sure of the correct meaning ;)
Ontolog really? haha 12:54
masak NotFound: ok
Ontolog in Perl 6 / Rakudo what does it mean?
masak Ontolog: there's a general meaning, and the specific meaning used in PIR
Ontolog the general meaning?
NotFound The short answer for parrot may be a thing that lives in the current lexpad.
masak Ontolog: lexical variables are 'my' variables 12:55
Ontolog: as opposed to 'local' variables in Perl 5
Ontolog i see, so lexicals are variables constrained to the current scope only? 12:56
and in PIR?
masak Ontolog: don't know, I just work here 12:57
rakudo: role A { my $.a = "a" }; class B does A { method x { say $.a } }; B.new.x # should this work? 12:58
polyglotbot OUTPUT[Method 'isdecl' not found for invocant of class 'PAST::Op'␤current instr.: 'parrot;Perl6;Grammar;Actions;scope_declarator' pc 122815 (src/gen_actions.pir:8562)␤called from Sub 'parrot;Perl6::Grammar;scope_declarator' pc 78794 (src/gen_grammar.pir:23407)␤called from Sub
..'parrot;Perl6::Grammar;noun' pc 66094 (src/gen_grammar.pir:18633)␤call...
NotFound That is what I'm trying to elaborate. Looks like they are constrained to the function object, not to the dynamic scope.
masak the dynamic scope?
purl the dynamic scope is one dependent not on WHERE, but WHEN. or awfully useful in some caes.
masak shut up, purl
purl masak: sorry...
masak NotFound: shouldn't lexical variables be constrained to the lexical scope? 12:59
NotFound masak: the lexical scope is the current lexpad, I suppose. And if the lexapd is on the sub object, each recursive call uses the same. 13:00
masak data appears to support that 13:01
cognominal I don't know about the implementation. I think lexical scope variable bound in the current sub (that belong to the current sub). Each scope (like in recursion) get a new instance of the lexpad. 13:04
Things get weirder when a variable does not belong to the current sub. That means it is bound up in the the call stack, so it cannot be determined by statical analysis. This is a dynamic scope. 13:06
NotFound cognominal: maybe the problem is that it has a new instance of the lexpad, but that points to the same PMCs.
cognominal jonathan and pmichaud are rethinking stuff like assignment (contenant and container), This goes way over my head. There may be bug but I would mot think it would be in the handling of lexpads. 13:07
NotFound Not sure if the pir code of the ticket is correct. 13:11
$P0 = find_lex "$l" --> What is supposed to do this the first time the sub is called?
l is a pmc param, so if the lexical is bind to it, is sort of a reference to some external thing. 13:15
Mmmm no, I was mixig l and ll 13:16
l1
I was fooling myself by looking at two modified versions at the same time %-) 13:18
Ontolog NotFound: where are you from? 13:46
dalek r31287 | Whiteknight++ | pdd27mmd: 13:49
: [pdd27mmd] Update some function-level documentation in src/inter_call.c
diff: www.parrotvm.org/svn/parrot/revision?rev=31287
NotFound Ontolog: Spain 13:55
14:29 particle1 joined 15:17 tetragon joined 15:20 Zaba joined 15:29 kid51 joined 16:19 contingencyplan joined 16:23 grim_fandango joined
dalek r31288 | julianalbo++ | trunk: 16:30
: some fixes and improvements in example pirric.pir
diff: www.parrotvm.org/svn/parrot/revision?rev=31288
16:34 Zaba_ joined 16:42 Zaba joined, AndyA joined 16:46 Zaba_ joined
dalek r31289 | fperrad++ | trunk: 16:46
: [Markdown]
: - implement AtxHeading & Para
: - and add tests
diff: www.parrotvm.org/svn/parrot/revision?rev=31289
16:52 AndyA joined 17:41 johbar joined
dalek r31290 | fperrad++ | trunk: 17:56
: [Markdown]
: - implement BlockQuote
: - and add tests
diff: www.parrotvm.org/svn/parrot/revision?rev=31290
Whiteknight what is markdown? 18:29
purl markdown is at daringfireball.net/projects/markdown/ or a text-to-html tool /syntax or search.cpan.org/author/BOBTFISH/Tex...arkdown.pm
Whiteknight oh, nice
18:39 gryphon joined 18:55 contingencyplan joined
dalek r31291 | Whiteknight++ | trunk: 19:52
: [Book] Add some information about fakecutables, and add a section about linking and embedding Parrot (which might be moved into it's own chapter later.
diff: www.parrotvm.org/svn/parrot/revision?rev=31291
20:01 isop joined 20:10 Limbic_Region joined
dalek r31292 | Whiteknight++ | pdd27mmd: 20:15
: [pdd27mmd] Another refactor for Parrot_PCCINVOKE and friends. Merged like functionality into a single subroutine, hoping that the two separate implementations get merged better in the future.
diff: www.parrotvm.org/svn/parrot/revision?rev=31292
20:24 grim_fandango joined
isop pmichaud: more pynie patches, bugs.launchpad.net/pynie 20:25
Whiteknight (pynie patches)++ 20:32
21:27 ab5tract joined
ab5tract join #perl6 21:28
sorry
jonathan hands ab5tract a slash 21:30
21:31 Zaba joined 23:15 gmansi joined 23:31 TiMBuS joined