Re: [IronPython] [python] Re: Announcement: Project to getsomeCPython C extensions running under IronPython

2007-10-17 Thread Keith J. Farmer
I think my point is that if you switch which dialect of C you're compiling 
with, such marshalling issues could (potentially) go away.

 

Again, I'm naïve here.  I've not made it my business to write native libraries 
for Python.  Just one, and that was years ago.

 

From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Curt Hagenlocher
Sent: Wednesday, October 17, 2007 3:22 PM
To: Discussion of IronPython
Subject: Re: [IronPython] [python] Re: Announcement: Project to getsomeCPython 
C extensions running under IronPython

 

On 10/17/07, Joe Mason <[EMAIL PROTECTED]> wrote: 

On 10/17/07, Keith J. Farmer <[EMAIL PROTECTED]> wrote:
> Forgive my non-C-ness (it's been a long time since I wrote a native module
> for Python), but aren't you now buying into a major re-implementation of all
> the native Python standard library into C#? 

Couldn't the C/C# API just use IronPython objects and methods to
"implement" the Python standard library?

 

Yes, that would be the idea.

 

I think it's best when thinking about the architecture to have a specific 
example to refer to.  With that in mind, I'm going to repeat some code I wrote 
earlier in the thread (with a few modifications).

 

PyObject * ReverseSequence(PyObject * self, PyObject * args)

{

PyObject * columns;

if (!PyArg_ParseTuple(args, "O", &columns))

{

return NULL;

}



if (!PySequence_Check(columns))

{

PyErr_SetString(PyExc_ValueError, "must be a sequence");

return NULL;

}

 

int length = PySequence_Length(columns);

PyObject * result = PyTuple_New(length);

for (int i = 0; i < length; i++)

{

PyObject * value = PySequence_GetItem(sequence, i);

// Don't remember if I need to INCREF value

PySequence_SetItem(result, length - i - 1, value);

}



return result;
}

 

Obviously, this isn't a "real-world" example, but it does show a few 
requirements for the compatibility layer.

1) The code expects a sequence.  What kind of data should we be allowed to pass 
to it from IronPython?

2) The code returns a "tuple".  How will this tuple be translated into a CLR 
object for consumption by IronPython?

 

--

Curt Hagenlocher

[EMAIL PROTECTED]

___
Users mailing list
Users@lists.ironpython.com
http://lists.ironpython.com/listinfo.cgi/users-ironpython.com


Re: [IronPython] [python] Re: Announcement: Project to getsomeCPython C extensions running under IronPython

2007-10-17 Thread Curt Hagenlocher
On 10/17/07, Keith J. Farmer <[EMAIL PROTECTED]> wrote:
>
>
> A larger worry I have is the possibility that some of this will end up
> being unsafe code, at which point you will have difficulties in full trust
> scenarios, such as web servers.


This project will by definition be producing "unsafe" code.

--
Curt Hagenlocher
[EMAIL PROTECTED]
___
Users mailing list
Users@lists.ironpython.com
http://lists.ironpython.com/listinfo.cgi/users-ironpython.com


Re: [IronPython] [python] Re: Announcement: Project to getsomeCPython C extensions running under IronPython

2007-10-17 Thread Keith J. Farmer
Best if Michael et al chime in, but my impression was that they're working 
under the assumption that you cannot get C++ code to compile to pure managed 
(False, use C++/CLI as recommended on the Mono site), and that it must 
*compile* under Mono (laudable, but I doubt it's necessary -- I've never 
bothered to recompile the Python Libraries).

A larger worry I have is the possibility that some of this will end up being 
unsafe code, at which point you will have difficulties in full trust scenarios, 
such as web servers.

-Original Message-
From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Joe Mason
Sent: Wednesday, October 17, 2007 3:05 PM
To: Discussion of IronPython
Subject: Re: [IronPython] [python] Re: Announcement: Project to getsomeCPython 
C extensions running under IronPython

On 10/17/07, Keith J. Farmer <[EMAIL PROTECTED]> wrote:
> Forgive my non-C-ness (it's been a long time since I wrote a native module
> for Python), but aren't you now buying into a major re-implementation of all
> the native Python standard library into C#?

Couldn't the C/C# API just use IronPython objects and methods to
"implement" the Python standard library?
___
Users mailing list
Users@lists.ironpython.com
http://lists.ironpython.com/listinfo.cgi/users-ironpython.com
___
Users mailing list
Users@lists.ironpython.com
http://lists.ironpython.com/listinfo.cgi/users-ironpython.com