{5} Assigned, Active Tickets by Owner (Full Description) (30 matches)

List tickets assigned, group by ticket owner. This report demonstrates the use of full-row display.

dukeleto (5 matches)

Ticket Summary Component Milestone Type Created
#2003 Configure.pl from tools/dev/create_language.pl doesn't play nice with git tools bug 02/09/11

The Configure.pl script generated by tools/dev/create_language.pl clones Parrot from GitHub, but it's not quite right. It still thinks build/PARROT_REVISION contains a numeric revision number, not a tag or checksum, which makes it emit this error:

Argument "RELEASE_3_0_0" isn't numeric in addition (+) at Configure.pl line 25, <$REQ> line 1.

The corresponding build/gen_parrot.pl has a similar problem:

Argument "RELEASE_3_0_0" isn't numeric in addition (+) at build/gen_parrot.pl line 31, <$REQ> line 1.

Perhaps the simplest way to fix this would be to adapt the solution used in Rakudo's Configure.pl.

#236 implement pdd14-numbers core todo 01/27/09

add NaN/Inf to pdd, review spec against reality, implement what remains.

#358 complex NaN core bug 02/19/09
$ perl6
> say NaN*1i

All complex ops with NaN should return NaN.

Check the complex ops with NaN, add tests.

#1740 pbc_dump crashes on certain inputs none bug 08/13/10

A number of bugs discovered in pbc_dump by Avalanche dynamic program analysis tool ( http://code.google.com/p/avalanche/).

pbc_dump crashes on certain exploit inputs (attached).

#922 Coding standard tests for examples/ directories without tests coding_standards todo 08/15/09

A TODO test should be added for each directory in examples/ that does not have a corresponding file in t/examples . So the directory examples/foobar should have a corresponding test t/examples/foobar.t

Some important examples that fail this currently are SDL and OpenGL.

jkeenan (3 matches)

Ticket Summary Component Milestone Type Created
#1044 Configure.pl relies too heavily on perl5 ccflags settings. configure bug 09/21/09

See  Original RT for more details.

#1726 Missing POD in .pmc files (and a couple of others) coding_standards todo 08/01/10

We recently completed an exercise whereby the coding standard test t/codingstd/c_function_docs.t and the associated documentation was fixed so that no TODO's remain for missing POD in c functions in parrot.

I had occasion to run make headerizer and found that it reported missing POD in some other files, mostly .pmc files and one .y file (plus 3 .c files from compilers/src/pirc not tested by c_function_docs.t).

It is suggested that .pmc files be included in c_function_docs.t or possibly in a new test.

at r48245 make headerizer furnishes the following output:

compilers/imcc/imcc.y: adv_named_set_u has no POD
compilers/pirc/src/main.c: process_file has no POD
compilers/pirc/src/pircompunit.c: set_sub_multi_types has no POD
compilers/pirc/src/pirparser.c: YYID  has no POD
src/pmc/bigint.pmc: bigint_init has no POD
src/pmc/bigint.pmc: bigint_clear has no POD
src/pmc/bigint.pmc: bigint_set has no POD
src/pmc/bigint.pmc: bigint_set_str has no POD
src/pmc/bigint.pmc: bigint_get_self has no POD
src/pmc/bigint.pmc: bigint_set_self has no POD
src/pmc/bigint.pmc: bigint_get_long has no POD
src/pmc/bigint.pmc: bigint_get_bool has no POD
src/pmc/bigint.pmc: bigint_get_string has no POD
src/pmc/bigint.pmc: bigint_get_double has no POD
src/pmc/bigint.pmc: bigint_add_bigint has no POD
src/pmc/bigint.pmc: bigint_add_bigint_int has no POD
src/pmc/bigint.pmc: bigint_sub_bigint has no POD
src/pmc/bigint.pmc: bigint_sub_bigint_int has no POD
src/pmc/bigint.pmc: bigint_mul_bigint has no POD
src/pmc/bigint.pmc: bigint_mul_bigint_int has no POD
src/pmc/bigint.pmc: bigint_pow_bigint_int has no POD
src/pmc/bigint.pmc: int_check_divide_zero has no POD
src/pmc/bigint.pmc: bigint_check_divide_zero has no POD
src/pmc/bigint.pmc: bigint_div_bigint has no POD
src/pmc/bigint.pmc: bigint_div_bigint_int has no POD
src/pmc/bigint.pmc: bigint_fdiv_bigint has no POD
src/pmc/bigint.pmc: bigint_fdiv_bigint_int has no POD
src/pmc/bigint.pmc: bigint_mod_bigint has no POD
src/pmc/bigint.pmc: bigint_mod_bigint_int has no POD
src/pmc/bigint.pmc: bigint_cmp has no POD
src/pmc/bigint.pmc: bigint_cmp_int has no POD
src/pmc/bigint.pmc: bigint_abs has no POD
src/pmc/bigint.pmc: bigint_neg has no POD
src/pmc/callcontext.pmc: ensure_positionals_storage has no POD
src/pmc/callcontext.pmc: ensure_positionals_storage_ap has no POD
src/pmc/callcontext.pmc: get_cell_at has no POD
src/pmc/callcontext.pmc: autobox_intval has no POD
src/pmc/callcontext.pmc: autobox_floatval has no POD
src/pmc/callcontext.pmc: autobox_string has no POD
src/pmc/callcontext.pmc: autobox_pmc has no POD
src/pmc/callcontext.pmc: get_hash has no POD
src/pmc/callcontext.pmc: mark_cell has no POD
src/pmc/callcontext.pmc: mark_positionals has no POD
src/pmc/callcontext.pmc: mark_hash has no POD
src/pmc/callcontext.pmc: get_named_names has no POD
src/pmc/class.pmc: pointer_compare has no POD
src/pmc/class.pmc: key_hash_pointer has no POD
src/pmc/class.pmc: cache_class_attribs has no POD
src/pmc/class.pmc: build_attrib_index has no POD
src/pmc/class.pmc: init_class_from_hash has no POD
src/pmc/class.pmc: initialize_parents has no POD
src/pmc/class.pmc: initialize_parents_pmc has no POD
src/pmc/class.pmc: make_class_name has no POD
src/pmc/class.pmc: calculate_mro has no POD
src/pmc/complex.pmc: int_check_divide_zero has no POD
src/pmc/complex.pmc: float_check_divide_zero has no POD
src/pmc/complex.pmc: complex_check_divide_zero has no POD
src/pmc/coroutine.pmc: print_sub_name has no POD
src/pmc/eval.pmc: clear_fixups has no POD
src/pmc/eval.pmc: get_sub has no POD
src/pmc/eval.pmc: mark_subs has no POD
src/pmc/fixedintegerarray.pmc: auxcmpfunc has no POD
src/pmc/hashiterator.pmc: advance_to_next has no POD
src/pmc/imageio.pmc: GET_VISIT_CURSOR has no POD
src/pmc/imageio.pmc: SET_VISIT_CURSOR has no POD
src/pmc/imageio.pmc: INC_VISIT_CURSOR has no POD
src/pmc/imageio.pmc: create_buffer has no POD
src/pmc/imageio.pmc: ensure_buffer_size has no POD
src/pmc/imageio.pmc: INFO_HAS_DATA has no POD
src/pmc/imageio.pmc: id_list_get has no POD
src/pmc/imageio.pmc: visit_todo_list_thaw has no POD
src/pmc/imageio.pmc: visit_todo_list_freeze has no POD
src/pmc/imageiosize.pmc: visit_todo_list_freeze has no POD
src/pmc/integer.pmc: maybe_throw_overflow_error has no POD
src/pmc/integer.pmc: upgrade_self_to_bignum has no POD
src/pmc/namespace.pmc: add_to_class has no POD
src/pmc/namespace.pmc: ns_insert_sub_keyed_str has no POD
src/pmc/namespace.pmc: maybe_add_sub_to_namespace has no POD
src/pmc/namespace.pmc: add_nci_to_namespace has no POD
src/pmc/namespace.pmc: add_multi_to_namespace has no POD
src/pmc/nci.pmc: pcc_params has no POD
src/pmc/nci.pmc: build_func has no POD
src/pmc/null.pmc: null_pmc_access has no POD
src/pmc/object.pmc: get_attrib_index has no POD
src/pmc/object.pmc: get_attrib_index_keyed has no POD
src/pmc/object.pmc: find_cached has no POD
src/pmc/object.pmc: cache_method has no POD
src/pmc/orderedhash.pmc: get_list_item has no POD
src/pmc/orderedhash.pmc: find_bounds has no POD
src/pmc/orderedhash.pmc: box_string has no POD
src/pmc/orderedhash.pmc: box_integer has no POD
src/pmc/orderedhash.pmc: box_number has no POD
src/pmc/packfile.pmc: copy_packfile_header has no POD
src/pmc/role.pmc: init_role_from_hash has no POD
src/pmc/sub.pmc: print_sub_name has no POD
src/pmc/threadinterpreter.pmc: stop_GC has no POD
Headerization complete.

#855 config/init/defaults.pm: Profiling options are too specific to GCC configure bug 07/19/09

This ticket was created in  RT #41497 by Paul T Cochrane in February 2007. I am moving it into the Trac system to raise its visibility. I believe it could be moved toward resolution by someone -- a newcomer, perhaps -- who was willing to spend some time doing Internet searching on the profiling options of various C compilers.

Original description:
The profiling options used in config/init/defaults.pm are specific to gcc. This should probably be specified in the relevant hints file.

The relevant code in config/init/defaults.pm is this:

    if ( $conf->options->get('profile') ) {
            cc_debug => " -pg ",
            ld_debug => " -pg ",

In the original ticket, Infinoid subsequently commented: This flag convinces gcc to generate profiling code specifically for the GNU profiler, gprof. I find it *extremely* unlikely that this flag would be available and/or mean the same thing for other compilers ...

In addition, Andy Dougherty commented: [These options] are gcc-specific. A plain -p is common on Unix systems, but -pg is gcc-specific. For example, with Sun's C compiler, -xpg would be the equivalent flag. (Though Sun's C compiler also has other profile options selected by -xprofile ...)

Could someone research profiling options on a variety of C compilers, including the principal C compilers for Windows?

Thank you very much.

kthakore (1 match)

Ticket Summary Component Milestone Type Created
#1639 StringHandle should be updated to use StringBuilder internally. core todo 05/15/10


In immutable strings world current implementation of StringHandle is sub-optimal. It should be migrated to use StringBuilder internally instead of String.

-- Bacek

NotFound (2 matches)

Ticket Summary Component Milestone Type Created
#1996 Function Parrot_ext_try for extenders embed/extend experimental 02/04/11

I'm going to add the experimental function Parrot_ext_try, to help handling exceptions from extension code.

It takes as parameters an interpreter a function to call, a handler function and a pointer for data.

The main function is called with the interpreter and the data.

The handler function, if not null, is called if an exception is thrown during the main call, passing to it the interpreter, the exception and the data.

The data pointer is opaque, the caller and the functions used can use it for any purpose.

#707 [RFC] StringHandle interface core RFC 05/26/09

There some points in the StringHandle pmc that needs clarification:

- Read/Write mode: Must it works the same as FileHandle? Several tests use read methods in a StringHanlde opened for writing. IMO will be better to have methods to get/set the string content, use the get_string/set_string/native vtable functions, or both, and have the read methods throw exceptions when not opened for read.

- Mode when reopened without second argument: must use the flags used on the previous open, or use the 'r' default? Several tests assume the second, but works only because of the first issue.

nwellnhof (1 match)

Ticket Summary Component Milestone Type Created
#1724 Add getprotobyname to Socket PMCs core patch 08/01/10

I couldn't see any implementation of getprotobyname which seems like a standard function that should be available. This adds it to Socket PMCs.

I'm not entirely sure this is the correct approach - because normally you'd call this before creating a socket object. For PIR this is OK, but in something like Perl 6 this will create a Socket object to call getprotobyname, then destroy it, then probably create another one straight after.

Anyway, this is the best I could come up with given my extremely limited knowledge of Parrot - please advise!

Paul C. Anagnostopoulos (2 matches)

Ticket Summary Component Milestone Type Created
#987 Make breakpoints actually work in parrot_debugger tools bug 09/07/09

Currently, you can add and delete breakpoints, but they don't actually stop the program flow.

A failing test for this would be a good start.

#1731 Assumption made about buffer header alignment core bug 08/05/10

Various memory management routines (e.g., gc_ms_allocate_buffer_storage) assume that the size of a buffer header is equal to the size of a pointer. This is probably true throughout the system as it stands, but those same routines take pains not to make that assumption in other places.

Here is a line from the above routine:

    Buffer_buflen(buffer)   = new_size - sizeof (void *);

If the size of a pointer is less than the buffer header size, the value stored in buflen will be too big. new_size includes the entire size of the buffer header, which may include alignment padding in addition to the pointer.

petdance (1 match)

Ticket Summary Component Milestone Type Created
#2201 This product has only a moose, not a pony none bug 10/25/11

This is a scratch ticket for Andy's testing.

pmichaud (2 matches)

Ticket Summary Component Milestone Type Created
#1510 NQP-rx doesn't create PMC for string // expressions nqp bug 03/16/10
austin@andLinux:~/kakapo$ cat test.nqp

my %hash;
%hash<key> := 1;

#my $x := ~ %hash<key>;
my $y := ~ %hash<key> // 'r';


austin@andLinux:~/kakapo$ parrot-nqp test.nqp
Null PMC access in set_string_native()
current instr.: '_block11' pc 0 (EVAL_1:6)
called from Sub 'parrot;PCT;HLLCompiler;eval' pc -1 ((unknown file):-1)
called from Sub 'parrot;PCT;HLLCompiler;evalfiles' pc 1303 (compilers/pct/src/PCT/HLLCompiler.pir:707)
called from Sub 'parrot;PCT;HLLCompiler;command_line' pc 1489 (compilers/pct/src/PCT/HLLCompiler.pir:794)
called from Sub 'parrot;NQP;Compiler;main' pc -1 ((unknown file):-1)

The bad part of the code seems to be:

    set $S21, $P20
    set $P18, $S21
    defined $I23, $P18
    if $I23, default_22
    new $P24, "String"
    assign $P24, "r"
    set $P18, $P24

Note here the use of $P18, which has never been initialized.

#1631 Exception handler throwing exception in NQP-rx causes segfault nqp bug 05/13/10

{ pir::die(""); CATCH { pir::die(""); } }

The NQP-rx generated exception handler does not call pop_eh in the handler path, which apparently it should, according to bacek.

Util (2 matches)

Ticket Summary Component Milestone Type Created
#919 On Mac OS X 10.5.8, Configure.pl : lazy symbol binding failed configure bug 08/14/09


I'm running Mac OS X 10.5.8 with the dev tools installed.

I just downloaded parrot 1.4.0, unpacked it into my ~/opt/src directory, and ran perl Configure.pl --prefix=/Users/john/opt.

Although the configure seemed to succeed, it complained thusly:

auto::readline -      Does your platform support readline...dyld: lazy symbol binding failed: Symbol not found: _rl_get_keymap
  Referenced from: /Users/john/opt/src/parrot-1.4.0/./test_2640
  Expected in: dynamic lookup

dyld: Symbol not found: _rl_get_keymap
  Referenced from: /Users/john/opt/src/parrot-1.4.0/./test_2640
  Expected in: dynamic lookup


At the end, it reported:

Okay, we're done!

You can now use `make' to build your Parrot.
After that, you can use `make test' to run the test suite.

Happy Hacking,
        The Parrot Team

Here is some other info that was in the output from running parrotbug:

osname= darwin
osvers= 9.0
arch=   darwin-thread-multi-2level
cc=     cc
Summary of my parrot 1.4.0 (r0) configuration:
  configdate='Fri Aug 14 19:11:27 2009 GMT'
    osname=darwin, archname=darwin-2level
    jitcapable=0, jitarchname=nojit,
    jitosname=darwin, jitcpuarch=i386
    cc='/usr/bin/gcc-4.0', ccflags='-fno-common -I/opt/local/include -no-cpp-precomp  -pipe -I/opt/local/include -pipe -fno-common -Wno-long-double  -DHASATTRIBUTE_CONST  -DHASATTRIBUTE_DEPRECATED  -DHASATTRIBUTE_MALLOC  -DHASATTRIBUTE_
NONNULL  -DHASATTRIBUTE_NORETURN  -DHASATTRIBUTE_PURE  -DHASATTRIBUTE_UNUSED  -DHASATTRIBUTE_WARN_UNUSED_RESULT  -falign-functions=16 -fvisibility=hidden -funit-at-a-time -maccumulate-outgoing-args -W -Wall -Waggregate-return -Wcast-ali
gn -Wcast-qual -Wchar-subscripts -Wcomment -Wdisabled-optimization -Wendif-labels -Wextra -Wformat -Wformat-extra-args -Wformat-nonliteral -Wformat-security -Wformat-y2k -Wimplicit -Wimport -Winit-self -Winline -Winvalid-pch -Wmissing-b
races -Wmissing-field-initializers -Wno-missing-format-attribute -Wmissing-include-dirs -Wpacked -Wparentheses -Wpointer-arith -Wreturn-type -Wsequence-point -Wno-shadow -Wsign-compare -Wstrict-aliasing -Wstrict-aliasing=2 -Wswitch -Wsw
itch-default -Wtrigraphs -Wundef -Wunknown-pragmas -Wno-unused -Wvariadic-macros -Wwrite-strings -Wbad-function-cast -Wdeclaration-after-statement -Wimplicit-function-declaration -Wimplicit-int -Wmain -Wmissing-declarations -Wmissing-pr
ototypes -Wnested-externs -Wnonnull',
  Linker and Libraries:
    ld='c++', ldflags='-L/opt/local/lib -L/Users/john/opt/src/parrot-1.4.0/blib/lib',
    libs='-lm -lutil -lgmp -lreadline'
  Dynamic Linking:
    share_ext='.dylib', ld_share_flags='-dynamiclib -undefined dynamic_lookup',
    load_ext='.bundle', ld_load_flags='-undefined dynamic_lookup -bundle'
    iv=long, intvalsize=4, intsize=4, opcode_t=long, opcode_t_size=4,
    ptrsize=4, ptr_alignment=1 byteorder=1234, 
    nv=double, numvalsize=8, doublesize=8, longdoublesize=16

    DYLD_LIBRARY_PATH  (unset)
    HOME =/Users/john
    LANG =en_US.UTF-8
    LANGUAGE  (unset)
    LD_LIBRARY_PATH  (unset)
    LOGDIR  (unset)
    PATH =/opt/local/bin:/opt/local/sbin:/usr/local/mysql/bin:/Users/john/.cabal/bin:/Users/john/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/X11/bin
    SHELL =/bin/bash

#1891 Problems with acosh, asech, atanh and acoth in Complex PMC core 2.11 bug 12/14/10


While doing  this GCI task I had some problems with "acosh".

Here is the output of tests that I wrote:

not ok 529 - acosh of 0-1i
# Have: -0.881374+1.570796i
# Want: 0.881374-1.570796i

not ok 530 - acosh of 0-0.5i
# Have: -0.481212+1.570796i
# Want: 0.481212-1.570796i

not ok 535 - acosh of 2-3i
# Have: -1.983387+1.000144i
# Want: 1.983387-1.000144i

not ok 537 - acosh of -2-3i
# Have: -1.983387+2.141449i
# Want: 1.983387-2.141449i

The "want" values were taken from WolframAlpha (ex  http://www.wolframalpha.com/input/?i=acosh(2-3i)).

Some other methods that relies on "acosh" are also returning a wrong value, like "asech".

not ok 587 - asech of 0.5+0i
# Have: -1.316958+0.000000i
# Want: 1.316958+0.000000i

not ok 593 - asech of 0+0.5i
# Have: -1.443635+1.570796i
# Want: 1.443635-1.570796i

not ok 594 - asech of 0+1i
# Have: -0.881374+1.570796i
# Want: 0.881374-1.570796i

not ok 595 - asech of 0+2i
# Have: -0.481212+1.570796i
# Want: 0.481212-1.570796i

not ok 596 - asech of 2+3i
# Have: -0.231335+1.420411i
# Want: 0.231335-1.420411i

not ok 598 - asech of -2+3i
# Have: -0.231335+1.721182i
# Want: 0.231335-1.721182i

I also found some errors in "atanh" and "acoth":

not ok 538 - atanh of -2+0i
# Have: -0.549306-1.570796i
# Want: -0.549306+1.570796i

not ok 554 - acoth of -0.5+0i
# Have: -0.549306-1.570796i
# Want: -0.549306+1.570796i

The tests that I wrote can be found here:  https://github.com/fernandobrito/parrot/commits/gci_tests

Environment: Ubuntu 10.10, Parrot 2.10.1 (master branch), Perl 5.10.1 i686-linux-gnu-thread-multi, cc (gcc 4.4), i386, linux

whiteknight (10 matches)

Ticket Summary Component Milestone Type Created
#1886 set_string_native() not implemented in class 'TclString' none bug 12/10/10

This error has cropped up in the last few months in partcl-nqp. (No changes in partcl, just upgrading parrot was sufficient to gen the error)

In one case, there was a concat operation in our src/Partcl/commands/time.pm ; prefixing the first element with a ~ avoided the error. (but should have been unnecessary.)

There is another location where this error occurs, triggered by the following tcl:

$ cat error.tcl
for {set i 0} {$i < 2} {set i [expr $i+1]} {puts $i}
$ ./partcl error.tcl
set_string_native() not implemented in class 'TclString'
    while executing
    (file "<unknown file>" line 7)
    (file "<unknown file>" line 12)
    (file "<unknown file>" line 151)
    (file "<unknown file>" <unknown line>)
    (file "<unknown file>" <unknown line>)
    (file "<unknown file>" line 1)

In eval (src/Partcl/commands/eval.pm) the error is occurring when invoking the sub generated by:

my &sub := Partcl::Compiler.compile($code);
&sub(); #BOOM

In any case, TclString should in fact have a set_string_native, inherited from its parent class of String; it's declared in an nqp file as:

class TclString is String

#1492 Get_class <namespace> confuses NSes that have same final name. core bug 03/03/10

Having already created a class "Matcher", I was trying in NQP to create a related class Mimus::CallSignature::Matcher. (Note the last name.) Far too many hours later, it appears that the get_class op on a namespace apparently returns invalid results when the namespace shares a last name with an already-extant class.

This code, inspired by the get_parrotclass method in P6object.pir, looks up (and tries to create, if needed) two classes with different namespace paths but the same class name (last name in the nsp), one called P and the other N::S::P :

.sub foo :main
	.local pmc class_p
	.local int addr_p

	.local pmc class_nsp
	.local int addr_nsp

	class_p = newclass [ 'P' ]
	addr_p = get_addr class_p

	$S0 = 'N::S::P'		# Change to ..Q and it changes
	$P0 = split '::', $S0

	$P1 = get_hll_namespace $P0
	unless null $P1 goto have_ns
	die "Namespace was null"
	class_nsp = get_class $P1
	$P2 = class_nsp
	addr_nsp = get_addr class_nsp

	print "Addr of class 'P' is: "
	say addr_p

	print "Addr of 'N::S::P' is: "
	say addr_nsp

	unless addr_p == addr_nsp goto end
	say "*** The addrs are the same. I think that's wrong."

	goto end

	say "Got the class. I didn't see that coming."

.namespace ['N';'S';'P']

.sub bar :method
	.return (1)

.namespace ['N';'S';'Q']

.sub bar :method
	.return (1)

The effect of this seems to be that any code which relies on P6object cannot create classes that have the same name.

The workaround is, trivially, to make sure that class names are distinct. Anyone who has ever coded C89 should be okay.

#1868 [DEPRECATED] PIR compiler availability core 2.11 deprecation 11/23/10

PIR as a language is currently always available in parrot. This privileged status is part of why PIR is a growing pain for Parrot (usually experienced as hatred for IMCC).

PIR will become no different to parrot than any language. It will not be baked-in to libparrot and be always available. In stead, PIR will become a separately loadable component.

PIR will remain available to Parrot programs, however it will require loading before use (via the load_language instruction).

A separate executable (tentatively named "parrot-imcc") will be made available for compiling and running PIR programs as the main parrot executable does today.

#1969 Deprecate Eval PMC core deprecation 01/15/11

We should deprecate this PMC. compregs should return the packfile PMC, or maybe the Sub PMC, but not Eval.

#1356 [TODO] add method FixedStringArray.sort() core RFC 12/03/09

Add the method sort in the FixedStringArray PMC.

Currently, the method sort is only implemented in FixedPMCArray (and inherited by ResizablePMCArray).

This method uses the C function Parrot_quicksort (in src/utils.c) which handles only PMC and not STRING.

#955 need ability to create tempfile from PIR testing todo 08/28/09

to fully convert tests from Perl to PIR, we need a PIR-level analog to:

    use Parrot::Test::Util 'create_tempfile';

... I'm not sure if we can automatically delete; that would be nice, but a manual deletion at program exit is sufficient.

#1284 Integer PMC missing math methods core todo 11/17/09

IMO, this code:

.sub main
  $P1 = box 1.0
  $N1 = $P1.'exp'()
  say $N1
  $P1 = box 1
  $N1 = $P1.'exp'()
  say $N1

should print 2.71828182845905 2.71828182845905

... but it dies with:

Method 'exp' not found for invocant of class 'Integer'

Clearly, exp isn't defined on Integer, but IMO, all the math methods defined on Float should be defined on Integer. (otherwise, given an arbitrary numeric PMC, we have to jump through hoops.

(Alternatively, we can remove these methods from the Float PMC and rely on the opcodes.)

This becomes even more confusing when you take in the morphing of the core types - a PMC that was a Float can morph into an Integer which is then unable to invoke the various methods.

This issue was originally opened as  http://rt.perl.org/rt3/Ticket/Display.html?id=38896

#1754 The Scalar PMC core deprecation 08/23/10

The Scalar PMC is quite confusing. Why do some scalars inherit from it and others don't? What exactly does it provide? For example, it appears to be the only PMC providing logical_not. Why does it mean to provide scalar and why does PDD17 say that Foo is the only PMC to do it?

Perhaps the Scalar PMC should be eliminated, or perhaps it should be refactored with the Default class. At least it should be clearly documented.

#1448 Modify `throw` opcode to pass through pre-configured resume continuation core RFC 02/16/10

Presently, the throw opcode creates and sets a resume continuation on the exception being thrown.

Since 'resume' is an attribute of the Exception, throw should check first for a preconfigured continuation, and if one exists should preserve it.

(Of course, if unset it should continue to do what it does.)

#560 When we can't find a library, we shouldn't silently continue and give weird errors later core todo 04/17/09

In particular, I'd argue that we should quit with an error, and show the path we searched.

Yuki`N (1 match)

Ticket Summary Component Milestone Type Created
#1282 OS.cwd returns platform specific slashes... core todo 11/17/09

... but some languages need a way to get agnostic slashes. Rather than have every HLL implement this, there should be some way to canonicalize the path, and a way to get the platform-specific path. (This will allow hlls to pick whichever method they prefer.)

I don't particularly care about the implementation, as long as I can make

% puts [pwd]


This issue originally opened as  http://rt.perl.org/rt3/Ticket/Display.html?id=39853

Note: See TracReports for help on using and creating reports.