Camelia, the Perl 6 bug

IRC log for #parrot, 2012-06-22

Parrot | source cross referenced

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

All times shown according to UTC.

Time Nick Message
00:15 plobsing joined #parrot
01:07 darbelo joined #parrot
01:13 * kid51 once again builds blead on ancient iBook
01:13 kid51 We're up to the dist/ tests!
01:14 kid51 I love it when ExtUtils::ParseXS passes the tests I wrote ;-)
01:21 kid51 Oh, that was meant for #p5p
01:24 dalek rakudo/nom: 29607d8 | duff++ | docs/ (2 files):
01:24 dalek rakudo/nom: update release announcement
01:24 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/29607d8d63
02:36 contingencyplan joined #parrot
02:51 pmichaud https://gist.github.com/3bbd7a08c1c220fbf0e3 # is this a parrot bug?
02:55 benabik The index of ''?
02:55 benabik What's the expected behavior?
02:55 pmichaud I would've expected zero.
02:56 benabik It's listed as returning -1 for null string or substring...
02:57 pmichaud pmichaud@kiwi:~$ perl -e 'print index("hello", "", 0), "\n";'
02:57 pmichaud 0
02:57 pmichaud okay, so Parrot just has a different meaning there.  Weird.
03:00 benabik Yeah.  It seems to treat '' as null.
03:00 benabik So it's working more-or-less as spec.
03:00 pmichaud I've never encountered an instance where index($somestr, '') would return the equivalent of "string not found"
03:00 pmichaud (in languages and libraries other than Parrot)
03:03 benabik Hm.  Perl, ruby, and python all agree with 0.
03:03 benabik My initial response is "that's a non-sensical request", but I have no strong opinion on changing it.
03:04 pmichaud the empty string is a substring of all strings (that's the normal way of thinking of it)
03:07 pmichaud https://gist.github.com/2969947  # more directly
03:07 pmichaud anyway, we'll just work around it in rakudo.
03:08 benabik huh.  Yes, I see that.  I guess it's a bug?
03:08 pmichaud well, since Parrot is following its documented semantics, it's not a bug.
03:08 pmichaud it's just weird semantics.
03:08 pmichaud from src/ops/string.ops:
03:08 pmichaud If the string is null, or the substring is not found or is null,
03:08 pmichaud B<index> returns "-1".
03:09 pmichaud weirdness.
03:09 benabik Right.  And it tests for null as "STRING_length(foo) == 0"
03:09 benabik eh.  I can see arguments for changing it.
03:17 contingencyplan joined #parrot
03:40 dalek rakudo/nom: 2427656 | pmichaud++ | src/core/Cool.pm:
03:40 dalek rakudo/nom: Fix handling of Str.index() for empty needle strings.
03:40 dalek rakudo/nom: Reported by @VienosNotes on Twitter.
03:40 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/24276564af
04:43 darbelo joined #parrot
05:18 alvis '#define PARROT_MAGIC 0x13155a1' defined in 'include/parrot/parrot.h' is useless. I just built parrot without it.
05:18 alvis Moreover, 't/native_pbc/header.t' tests for 'is( $h{magic}, "\xfe\x50\x42\x43\x0a\x1a\x0a", "magic string 0xfePBC0x0a0x1a0x0a len=7" );' which is the current magic in our *.pbc files, e.g., 'pbc_to_exe.pbc' and 'winxed.pbc'.
05:20 alvis I ran across this while trying to figure out which one of 'docs/parrotbyte.pod' or 'docs/pdds/draft/pdd13_bytecode.pod' lays out the correct description of parrot bytecode.
05:26 alvis One final note on this: ack-ing through parrot, 'include/parrot/parrot.h' contains the only reference to 'PARROT_MAGIC'.
05:30 alvis My plan: Review, closely, 'docs/parrotbyte.pod' and 'docs/pdds/draft/pdd13_bytecode.pod' this weekend and nuke whichever is incorrect or out of date, unless someone objects.
05:30 alvis I will post to parrot-dev about this first though.
05:31 kuku joined #parrot
05:56 dalek parrot: 1bd030e | alvis++ | include/parrot/parrot.h:
05:56 dalek parrot: Make 'PARROT_MAGIC', at least, agree with the '*.pbc' files; although, it's unused and, evidently, useless.
05:56 dalek parrot: review: https://github.com/parrot/parrot/commit/1bd030e48f
05:57 * alvis will be happier if someone corrects him(me) on this.
05:58 alvis karma alvis
05:58 alvis aloha, karma alvis
06:00 alvis aloha karma alvis
06:00 moritz karma alvis
06:01 moritz ENOALOHA
06:01 sorear ENOBACEK
06:02 alvis and here i just thought it was too low to report! :)
06:21 dalek rakudo/nom: 26c9da1 | duff++ | tools/build/NQP_REVISION:
06:21 dalek rakudo/nom: [release] bump NQP revision
06:21 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/26c9da1f34
06:21 dalek rakudo/nom: 193256c | duff++ | VERSION:
06:21 dalek rakudo/nom: [release] bump VERSION
06:21 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/193256c37d
06:21 dalek rakudo/nom: 9006475 | duff++ | docs/release_guide.pod:
06:21 dalek rakudo/nom: use generic YYYY.MM for VERSION
06:21 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/9006475ccb
07:25 particle1 joined #parrot
08:18 lucian joined #parrot
08:20 darbelo joined #parrot
08:20 particle joined #parrot
08:43 hernan joined #parrot
08:56 JimmyZ joined #parrot
09:03 alvis joined #parrot
09:06 Patterner joined #parrot
09:17 JimmyZ joined #parrot
09:20 alvis_ joined #parrot
10:42 particle1 joined #parrot
10:44 woosley joined #parrot
11:29 JimmyZ joined #parrot
11:48 JimmyZ joined #parrot
11:56 darbelo joined #parrot
12:06 kid51 joined #parrot
12:15 dalek parrot: 5a43b68 | jkeenan++ | src/runcore/subprof.c:
12:15 dalek parrot: [codingstd] Move ASSERT_ARGS to immediately after start of function. ayardley++
12:15 dalek parrot: review: https://github.com/parrot/parrot/commit/5a43b68215
12:47 dalek m1: f35ebb2 | jimmy++ | src/ (2 files):
12:47 dalek m1: clean up a bit
12:47 dalek m1: review: https://github.com/parrot/m1/commit/f35ebb243b
12:56 dalek rakudo/nom: bbc5b70 | (Carl Mäsak)++ | src/SAFE.setting:
12:56 dalek rakudo/nom: [SAFE.setting] restricted &rmdir
12:56 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/bbc5b70f4a
13:09 Psyche^ joined #parrot
13:25 kuku_ joined #parrot
13:31 dalek rakudo/nom: 69e6ec2 | masak++ | src/core/IO.pm:
13:31 dalek rakudo/nom: [core/IO.pm] return IO objects from &dir
13:31 dalek rakudo/nom:
13:31 dalek rakudo/nom: There's a tension between wanting the full path and wanting just
13:31 dalek rakudo/nom: the file name from this function. That indicates that we really
13:31 dalek rakudo/nom: want to return a data structure that can easily be turned into
13:31 dalek rakudo/nom: either form. Made it so.
13:31 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/69e6ec24c6
13:32 dalek m1: 3895287 | jimmy++ | src/gencode.c:
13:32 dalek m1: free more unused regs
13:32 dalek m1: review: https://github.com/parrot/m1/commit/3895287081
14:22 kuku_ joined #parrot
14:24 dalek nqp: 777e36f | jnthn++ | src/how/NQPClassHOW.pm:
14:24 dalek nqp: Tentatively add a way to re-parent a class to NQP's class meta-object, so we'll (hopefully) be able to get Perl 6's meta-objects to say they're ~~ Any.
14:24 dalek nqp: review: https://github.com/perl6/nqp/commit/777e36f445
14:24 dalek nqp: 0db5015 | jnthn++ | src/ (2 files):
14:24 dalek nqp: Get NQP to use a BUILDPLAN just like Rakudo does. Improves build methods support also.
14:24 dalek nqp: review: https://github.com/perl6/nqp/commit/0db5015741
14:24 dalek nqp: fcc9a23 | jnthn++ | src/how/NQPClassHOW.pm:
14:24 dalek nqp: Implement attribute introspection in the non-:local case.
14:24 PacoAir joined #parrot
14:24 dmalcolm joined #parrot
14:24 dalek nqp: review: https://github.com/perl6/nqp/commit/fcc9a23981
14:30 mtk joined #parrot
14:40 timo i'm having trouble adding a method to socket_api.c
14:40 timo it seems like the headerizer didn't pick it up or i have to do it manually? but how does it work?
14:41 timo no, hold on, i was actually adding it to socket.c
15:18 dalek rakudo/nom: a56bf75 | jnthn++ | src/Perl6/Metamodel/ (2 files):
15:18 dalek rakudo/nom: Provide a way to cleanly set name/ver/auth.
15:18 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/a56bf7567a
15:18 dalek rakudo/nom: 04ec0c0 | jnthn++ | tools/build/NQP_REVISION:
15:18 dalek rakudo/nom: Bump to latest NQP for meta-model improvements.
15:18 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/04ec0c0663
15:18 dalek rakudo/nom: f740e37 | jnthn++ | src/core/PseudoStash.pm:
15:18 dalek rakudo/nom: Fix a thinko that somehow wented undetected; guess we only cared about the .WHO of the created thing so it sorta worked out.
15:18 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/f740e3760b
15:18 dalek rakudo/nom: 86b3009 | jnthn++ | src/ (12 files):
15:18 dalek rakudo/nom: Make the various Metamodel:: classes be re-parented to inherit from Any. This means you can 'say 42.HOW' now, but more usefully you can write custom metaclasses without having to do the extra multiple inheritance from Mu/Any.
15:18 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/86b30097d2
15:33 brrt joined #parrot
15:33 darbelo joined #parrot
15:37 darbelo joined #parrot
15:41 jashwanth joined #parrot
15:55 JimmyZ joined #parrot
16:03 jashwanth hello dukeleto
16:57 dukeleto jashwanth: hola
16:58 jashwanth dukeleto, https://github.com/jashwanth9/parrot-lapa​ck/blob/master/src/LAPACK/inverse.winxed
16:59 jashwanth dukeleto, was getting a segfault
17:00 jashwanth dukeleto, output:https://gist.github.com/2955387
17:09 jashwanth dukeleto: am getting "get_pointer() not implemented in class 'String'   "
17:09 jashwanth am getting "get_pointer() not implemented in class 'String'   "
17:11 jashwanth can you tell me the function needed to put in class string so as to return a pointer
17:18 dukeleto jashwanth: well, the problem is that get_pointer should never be called on a String
17:18 dukeleto jashwanth: it is good to see you using gdb :) It is your friend.
17:19 dukeleto jashwanth: do you know which line of inverse.winxed actually causes the coredump?
17:20 dukeleto jashwanth: i assume it is https://github.com/jashwanth9/parrot-lapack​/blob/master/src/LAPACK/inverse.winxed#L48
17:20 jashwanth yes
17:21 dukeleto jashwanth: one of the things you are passing to that function is a String, but shouldn't be, is my first guess
17:21 jashwanth dukeleto: there is no string there in inverse.winxed
17:23 jashwanth dukeleto:which line are you referring to
17:24 dukeleto jashwanth: something is wrong about the NCI signature "vppppppp", but I am not sure exactly what
17:25 jashwanth dukeleto:why do you think so?
17:26 jashwanth dukeleto:http://www.netlib.org/lapack/explore-htm​l/dd/d9a/group__double_g_ecomputational.​html#ga98ccb93fb821a9f7b2dfe42dcc2d2e10
17:31 dalek rakudo/nom: f2e4257 | pmichaud++ | / (2 files):
17:31 dalek rakudo/nom: Deprecate SAFE.setting in favor of RESTRICTED.setting.
17:31 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/f2e4257eec
17:31 dalek rakudo/nom: 3888832 | pmichaud++ | docs/announce/2012.07:
17:31 dalek rakudo/nom: Add draft announcement for 2012.07 release.
17:31 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/38888324ad
17:32 dukeleto jashwanth: i see that dgetri takes integers and pointers, so "vppppppp" doesn't seem like the correct signature
17:34 dukeleto jashwanth: it seems like you are passing in NumMatrix2D (from PLA) to lapack. I am not sure that will work
17:35 jashwanth dukeleto:it actually did work in the first program
17:35 jashwanth dukeleto:i.e Double.winxed
17:37 jashwanth dukeleto:the error "get_pointer() not implemented in class 'String'   " is not related to the inverse.winxed
17:37 dukeleto jashwanth: ok, good to know. where do you actually get that error? I don't see that in the gdb output
17:38 jashwanth dukeleto:inverse.winxed dosent have this error it gives a segfault at line 48
17:39 jashwanth dukeleto:sorry by this error I ment "get_pointer() not implemented in class 'String'   "
17:40 dukeleto jashwanth: which line of code gives you the "get_pointer" error ?
17:42 jashwanth dukeleto:the get_pointer error is an error in eigenvalues.winxed which is recent and unrelated to code in inverse.winxed
17:44 dukeleto jashwanth: i don't see eigenvalues.winxed on github
17:44 jashwanth dukeleto:yes completed it just now will push it by today
17:46 dukeleto jashwanth: push early and often :)
17:47 jashwanth dukeleto:done
17:47 dukeleto jashwanth: you have been making lots of progress! Very nicely done.
17:47 jashwanth dukeleto:thanks
17:48 jashwanth dukeleto:would have started writing tests for inverse calculation if the segfault was fixed
17:49 jashwanth dukeleto:but couldnt figure out how to fix it
17:52 dukeleto jashwanth: understandable. Keep writing tests and we can circle back
17:54 jashwanth dukeleto:had a doubt with some part of variables of the function can you tell me about them
17:54 dukeleto jashwanth: sure. what is your question?
17:55 jashwanth dukeleto:http://www.netlib.org/lapack/explore-​html/d9/d8e/group__double_g_eeigen.ht​ml#gaeb9da9e62e6d48b116ddf5db8f98ec83
17:55 dukeleto jashwanth: i have a phone call in a few mins, so I will step away for a bit
17:56 dukeleto jashwanth: which variables do you have a doubt about?
17:56 jashwanth dukeleto:there there is JOBVL and JOBVR
17:57 jashwanth dukeleto:k tell me when you are free
17:57 dukeleto jashwanth: they seem to be strings of length 1, i.e. "characters"
17:58 jashwanth dukeleto:yes read the description I cant get what are those cases
18:00 dukeleto jashwanth: it tells the function whether to compute left and right eigenvectors
18:00 dukeleto jashwanth: for a square matrix, a left eigenvector is the same as a right eigenvector
18:01 jashwanth dukeleto:thats ok but are thesecase for a non square matrix
18:01 dukeleto jashwanth: but for non-square matrices, there is a difference between x = A^(-1)*b and x = b*A^(-1)
18:02 dukeleto jashwanth: you tell the function "compute both left and right eigenvectors" or only one or the other.
18:02 dukeleto jashwanth: VV is compute both
18:02 dukeleto jashwanth: NV is compute only right
18:02 dukeleto jashwanth: VN is compute only left
18:03 jashwanth dukeleto, what if m>n for a m x n matrix the
18:03 jashwanth dukeleto, then we compute left right
18:37 tuxit joined #parrot
18:55 dalek rakudo/nom: d677c0e | pmichaud++ | t/spectest.data:
18:55 dalek rakudo/nom: (nomreg cleanup) Remove S03-smartmatch/any-array-slice.t
18:55 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/d677c0e0de
19:20 Liz joined #parrot
19:25 contingencyplan joined #parrot
19:25 particle joined #parrot
19:27 dalek rakudo/nom: 5f0f3f0 | pmichaud++ | src/core/EnumMap.pm:
19:27 dalek rakudo/nom: Update EnumMap.ACCEPTS(Positional) to test hash slice existence.
19:27 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/5f0f3f0ab7
19:33 dalek parrot/ayardley/documentation_revisions: af3efc5 | alvis++ | README:
19:33 dalek parrot/ayardley/documentation_revisions: There is no 'NEWS' -- (There's the truth of the signal, and then there's the puppet theatre .... :)
19:33 dalek parrot/ayardley/documentation_revisions: review: https://github.com/parrot/parrot/commit/af3efc539d
19:33 dalek parrot/ayardley/documentation_revisions: 5edcd89 | alvis++ | docs/revisions/TODO_revisions:
19:33 dalek parrot/ayardley/documentation_revisions: Updating the TODOs
19:33 dalek parrot/ayardley/documentation_revisions: review: https://github.com/parrot/parrot/commit/5edcd89318
19:33 dalek parrot/ayardley/documentation_revisions: 61c0956 | alvis++ | docs/revisions/TODO_revisions (2 files):
19:33 dalek parrot/ayardley/documentation_revisions: Updated the list of TODOs in the branch.
19:33 dalek parrot/ayardley/documentation_revisions: review: https://github.com/parrot/parrot/commit/61c0956d28
19:33 dalek parrot/ayardley/documentation_revisions: ba0ecfe | alvis++ | docs/revisions/docs/mans/vmspec/ (24 files):
19:33 dalek parrot/ayardley/documentation_revisions: Minor edits, filled-in a simple, pod skeleton, and added two chapters, i.e., 'ch08_hll_interoperability.pod' and 'ch09_native_call_interface.pod'.
19:33 dalek parrot/ayardley/documentation_revisions: review: https://github.com/parrot/parrot/commit/ba0ecfebef
19:33 dalek parrot/ayardley/documentation_revisions: d5dfea4 | alvis++ | docs/revisions/docs/mans/vmspec/app (2 files):
19:33 dalek parrot/ayardley/documentation_revisions: Removed redundant and misnamed files.
19:33 dalek parrot/ayardley/documentation_revisions: review: https://github.com/parrot/parrot/commit/d5dfea431f
19:52 kuku joined #parrot
19:55 dalek rakudo/nom: 1b6636f | pmichaud++ | src/core/EnumMap.pm:
19:55 dalek rakudo/nom: Update EnumMap.ACCEPTS(Regex), removing another nom regression.
19:55 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/1b6636f7d8
20:01 travis-ci joined #parrot
20:01 travis-ci [travis-ci] parrot/parrot#461 (documentation_revisions - d5dfea4 : Alvis Yardley): The build passed.
20:01 travis-ci [travis-ci] Change view : https://github.com/parrot/parrot/c​ompare/4522cb295b47...d5dfea431f99
20:01 travis-ci [travis-ci] Build details : http://travis-ci.org/parrot/parrot/builds/1684765
20:01 travis-ci left #parrot
20:04 perlite_ joined #parrot
20:21 dalek rakudo/ex-hardening: b9a332b | moritz++ | src/core/Backtrace.pm:
20:21 dalek rakudo/ex-hardening: improve robustness of internal error reporting
20:21 dalek rakudo/ex-hardening: review: https://github.com/rakudo/rakudo/commit/b9a332b3a5
20:21 dalek rakudo/ex-hardening: b68a884 | moritz++ | src/core/Backtrace.pm:
20:21 dalek rakudo/ex-hardening: be more tight about :D in invocant
20:21 dalek rakudo/ex-hardening: review: https://github.com/rakudo/rakudo/commit/b68a88423b
20:21 dalek nqp: 4019f2a | jnthn++ | src/NQP/Grammar.pm:
20:21 dalek nqp: Remove a leftover from the now-gone regex engine.
20:21 dalek nqp: review: https://github.com/perl6/nqp/commit/4019f2aaaf
20:29 birdwind1pbird joined #parrot
20:40 dalek rakudo/ex-hardening: 57d251f | moritz++ | src/core/Backtrace.pm:
20:40 dalek rakudo/ex-hardening: fix previous commit
20:40 dalek rakudo/ex-hardening: review: https://github.com/rakudo/rakudo/commit/57d251ff7a
21:00 birdwindupbird joined #parrot
21:14 birdwindupbird joined #parrot
21:34 rich joined #parrot
21:47 dalek rakudo/nom: b7bf63d | pmichaud++ | / (2 files):
21:47 dalek rakudo/nom: Update build process for RESTRICTED.setting, other refactors.
21:47 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/b7bf63db67
21:49 dalek rakudo/nom: 06a7305 | pmichaud++ | src/SAFE.setting:
21:49 dalek rakudo/nom: Add deprecation notice to SAFE.setting.
21:49 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/06a7305c58
23:55 seiferteric joined #parrot

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

Parrot | source cross referenced