On Fri, 12 Jan 2007, Isaac Freeman wrote:
Hello,
I am looking to embed parrot in a project of mine, sort of as a
configuration/scripting engine. I've looked at embed.h, and it does
show how to start an interpreter, and how to make it run code, but I
don't see any mechanism for communication bet
as part of both the pugs and mod_parrot effort, i've started working on
bringing the embedding and extending interfaces into the modern parrot
era. i'd like to start by adding public APIs (Parrot_*) where necessary
and adding missing prototypes to the headers. this will clean things up
without ch
you'll probably want to use the Parrot_call_sub_* API to call individual
subroutines and get return values. "perldoc extend.c" in the parrot
source for more info. you might also have a look at the mod_parrot source
(http://www.smashing.org/mod_parrot), which is one of the few apps
embedding parro
On 17 May 2005, Colin Paul Adams wrote:
> Jeff> also have a look at the mod_parrot source
> Jeff> (http://www.smashing.org/mod_parrot), which is one of the
> Jeff> few apps embedding parrot at the moment. the other is pugs
> Jeff> (http://www.pugscode.org), but it's written in has
On 17 May 2005, Colin Paul Adams wrote:
> Actually, examples in any language are fine.
> I'm actually writing in Eiffel, but I shall use an interface generator
> to automatically build low-level bridging classes from the C header
> files.
> I intend to make it available as a general extension mech
you need to link with src/parrot_config.o (a recent change).
http://www.nntp.perl.org/group/perl.perl6.internals/29468
On 18 May 2005, Colin Paul Adams wrote:
> I've nearly got my first Eiffel program with an embedded parrot VM to compile
> - well, actually, it DOES compile, just one remaining l
On 19 May 2005, Colin Paul Adams wrote:
[snip]
> I'm having a problem with this.
> For Parrot_find_global, I'm specifying global.h as one of the header
> files which must be read to generate definitions from.
> But this is failing, apparently because PMC isn't defined.
>
> So I tried to find wher
for mod_parrot i want to support both passing both PMCs and native types
to the apache API, depending on the HLL. MMD was doing a great
job handling this for me until i ran into a problem.
given the following methods:
.sub bar method, @MULTI(Foo, string)
.sub bar method, @MULTI(Foo, pmc)
.sub ba
On Tue, 24 May 2005, Leopold Toetsch wrote:
> Multi subs and especially multi methods are barely tested. 'pmc' or '_'
> should match 'Any' PMC, so that's for sure a bug. Can you please provide
> a test-like sample file to investigate, thanks.
here you go. it should print "string PMC nothing", bu
i'm happy to report that mod_parrot now comes bundled with mod_pugs!
mod_pugs uses pugs (http://pugscode.org) to let you write apache handlers
in perl6, and runs as an HLL layer on top of mod_parrot. pugs' parrot
backend compiler is still very immature, so you still can't do many of the
things yo
mod_parrot is running into a bit of trouble calling subs written in PIR
with the new calling conventions. some initial observations:
* using Parrot_call_sub_* seems to require a get_params opcode (or a
.param), else it dies with "no get_params in sub". this is true
even when called with a vo
On Wed, 13 Jul 2005, Nicholas Clark wrote:
> On Wed, May 11, 2005 at 11:18:30AM +0100, Nicholas Clark wrote:
> > On Tue, May 10, 2005 at 01:13:48PM -0400, Jeff Horwitz wrote:
> > > as part of both the pugs and mod_parrot effort, i've started working on
> > > brin
i'm pleased to announce the release of mod_parrot 0.3. the most notable
changes include support for all apache hooks, autogeneration of
request_rec methods, and a mod_pugs proof of concept. it also supports
both the new (leo-ctx5) and old calling conventions.
you can download it at http://www.sm
On Mon, 17 Oct 2005, Chip Salzenberg wrote:
> In the use case where the same pbc exists in multiple places in a
> filesystem (or is renamed during run, or lives on a filesystem without
> a good definition of "same place"), it's necessary to detect when a
> load is redundant.
>
> I'm planning to re
On Mon, 17 Oct 2005, Chip Salzenberg wrote:
> Any problems here? Any suggestions for UUID code that's licensed
> appropriately for use in Parrot?
the UUID library in e2fsprogs might be appropriate. e2fsprogs is GPL, but
lib/uuid has a separate and much more flexible BSD-style license.
http://e
On Tue, 18 Oct 2005, Chip Salzenberg wrote:
> On Mon, Oct 17, 2005 at 10:09:22PM -0400, Jeff Horwitz wrote:
> > On Mon, 17 Oct 2005, Chip Salzenberg wrote:
> > > Any problems here? Any suggestions for UUID code that's licensed
> > > appropriately for use in Par
On Tue, 18 Oct 2005, Chip Salzenberg wrote:
> On Tue, Oct 18, 2005 at 11:27:16AM -0400, Jeff Horwitz wrote:
> > On Tue, 18 Oct 2005, Chip Salzenberg wrote:
> > > On the other hand, the idea has been raised on IRC (by Joshua, IIRC)
> > > that an MD5 or SHA256 would prot
i'm beginning to explore the concept of embedding parrot so i can
eventually add Perl 6 support to extproc_perl (embeds perl in oracle).
i was talking with dan at OSCON a few weeks ago about accessing data from
an embedded parrot interpreter, and i know he is probably moving it up in
his priority l
after many days of swimming through source code, i've successfully built a
library that lets you embed parrot in oracle. this was important to me
because for extproc_perl (embeds perl in oracle) to have a future with
perl 6, i had to embed parrot. what makes this even cooler is that now we
can em
i'd like to find a language with object support that i can write
mod_parrot handlers with. as far as i can see, none of the bundled
languages currently support parrot objects, but since not everything is
bundled with parrot, i thought i'd ask around.
i know dan was tinkering with the idea of usin
i was starting to play with parakeet, but unfortunately it keeps dying on
me. this is from a cvs checkout from today:
0> 4 4 +
Null PMC access in get_pmc_keyed_int()
and this:
0> func hello "hi!" println end
0> hello
Null PMC access in push_pmc()
any clues?
thanks,
-jeff
On Mon, 15 Nov 2004, Matt Fowles wrote:
> Languages with Object Support?
> Jeff Horwitz wondered if there were any languages with object support
>that he could bend to the evil ends of mod_parrot. While no one
>answered, I think Parakeet might be such a language...
here's a fun little app i cooked up yesterday -- an ASCII mandelbrot
browser written as a mod_parrot handler. it's pretty speedy (assuming
your connection isn't holding you back), and it's the first handler i've
written that parses form inputs.
for now, it's on my mod_parrot page at http://www.sm
hm, works fine for others. maybe the weird port i'm using for that web
server isn't agreeing with your firewall.
-jeff
On Tue, 14 Dec 2004, Michael Walter wrote:
> On Tue, 14 Dec 2004 10:07:43 -0500 (EST), Jeff Horwitz
> <[EMAIL PROTECTED]> wrote:
> > is it useful
On Mon, 10 Jan 2005, Leopold Toetsch wrote:
[snip]
> I'm not quite sure, if we need the additional complexity of a
> build-script that generates parrot-config. It's for sure more flexible
> but OTOH we probably just need a few shortcuts, which could be handled
> directly too.
>
> > One thing I di
Parrot_readbc can segfault when loading an absolute path to a file (in my
case, only under GDB). the problem lies in Parrot_locate_runtime_file,
and is similar to the one in ticket #32087.
the attached patch adds a check in Parrot_locate_runtime_file so it
returns absolute paths as is. it handle
On Mon, 14 Mar 2005, William Coleda wrote:
> How does one call a PIR-defined sub from C?
use the Parrot_call_sub_* API.
> My current best guess is, to invoke the PIR sub "Tcl::Joe":
>
> PMC *invokeme;
> STRING *Tcl,*joe;
> Tcl = string_from_const_cstring(INTERP, "Tcl", 3);
>
mod_parrot 0.2 is now available from http://www.smashing.org/mod_parrot or
from SVN at http://svn.perl.org/parrot-modules/mod_parrot.
major changes include support for parrot 0.1.2 (phoenix), the beginnings
of a thread-safe interpreter pool, support for more apache hooks,
updated documentation, an
On Tue, 29 Mar 2005, Leopold Toetsch wrote:
> Jeff Horwitz <[EMAIL PROTECTED]> wrote:
> > mod_parrot 0.2 is now available from http://www.smashing.org/mod_parrot or
> > from SVN at http://svn.perl.org/parrot-modules/mod_parrot.
>
> Steadily evolving, great.
>
> &g
On Wed, 30 Mar 2005, Nicholas Clark wrote:
> Based on the wheat on IRC this evening, is this question/answer worth adding
> to the Parrot FAQ on parrotcode.org?
>
> Pugs is going great shakes - why not just toss Parrot and run Perl 6 on Pugs?
[snipped long response]
and let's not forget bytecode
On Thu, 7 Apr 2005, MrJoltCola wrote:
> Where did Tinderbox go anyway? I don't mind running a tinderclient at all.
i ran a tinderclient on my ultra 60 for a while before the tinderbox went
away. i think i was the only solaris box out there, and i'd be more than
happy to run it again when and if
i'm neck deep in writing the IMC eval code for pugs. if i've already
loaded bytecode using Parrot_readbc/loadbc, i can then successfully call
the PIR compiler and eval code at will from C/Haskell. great!
however, without the Parrot_readbc step, everything bombs out because the
packfile isn't set
excellent! now i can get rid of that silly no-op bytecode i've been
using. thanks for the quick turnaround, leo.
-jeff
On Thu, 5 May 2005, Leopold Toetsch wrote:
> Jeff Horwitz wrote:
> > i'm neck deep in writing the IMC eval code for pugs. ...
>
> > ...
-- Forwarded message --
Date: Mon, 9 May 2005 14:32:22 -0400 (EDT)
From: Jeff Horwitz <[EMAIL PROTECTED]>
To: [EMAIL PROTECTED]
Subject: [PATCH] allow array of args for spawnw
the attached patch adds a new signature for spawnw so it can take a PMC
array of arguments rather
On Thu, 13 May 2004, Jeff Clites wrote:
> > - When building / using a shared parrot the compiler macro
> > PARROT_LIB_DYNAMIC will be defined, for static PARROT_LIB_STATIC
>
> What will these be used for? Traditionally, there aren't compile-time
> difference when building a static v. dynamic libra
kevin falcone gave a short mod_parrot talk at YAPC this year. does he
want to lay some claim to it? i'd be willing to pick it up if nobody else
speaks up -- a decision i'm sure to regret... ;-)
on a related note, last year i wrote extproc_parrot, which lets you call
parrot bytecode as an oracle
> I caught up with Kevin on irc (#parrot on irc.perl.org, for anyone
> who cares :) and he lacks the tuits to do anything with it.
now that the summer is winding down, i've got plenty of those. so i guess
that's me volunteering.
-jeff
i've made some good progress on mod_parrot. since so much has changed
in the past year, i decided to rewrite the thing from scratch. here's
what i've been able to implement so far:
* rewrite for apache 2 (might as well start with the latest)
* per-process interpreter persistence (using prefork M
okay, i'm bringing back a thread from a year ago. for mod_parrot, i'd
like to be able to loadlib the running process image (httpd) and dlfunc
the various apache API functions. however, while this works for libc
functions, and any other functions from shared libraries, it appears not
to work for t
...
if that looks right to you, i can probably convince apache to core dump
and send a backtrace.
-jeff
On Thu, 9 Sep 2004, Dan Sugalski wrote:
> At 11:02 AM -0400 9/9/04, Jeff Horwitz wrote:
> >okay, i'm bringing back a thread from a year ago. for mod_parrot, i'd
> >lik
22320,
_int_val2 = 0}, _num_val = 6.7796834154634202e-316,
_string_val = 0x82dd8b0}, flags = 512, _pobj_version = 0}
-jeff
On Thu, 9 Sep 2004, Dan Sugalski wrote:
> At 11:02 AM -0400 9/9/04, Jeff Horwitz wrote:
> >okay, i'm bringing back a thread from a year ago. for mod_pa
thanks leo -- it worked! i'm still going to keep my wrapper lib around
though, just in case there are platforms where this dlfunc trick doesn't
work. but that can easily be detected during configuration.
-jeff
On Fri, 10 Sep 2004, Leopold Toetsch wrote:
> Jeff Horwitz wrote:
>
i've just uploaded the mod_parrot source:
http://www.smashing.org/mod_parrot/dist/mod_parrot-0.0.tar.gz
this initial release allows you to register a parrot content handler and
encapsulates apache's request_rec structure in a parrot object. unlike
the original version, the current mod_parrot use
mod_parrot now supports authentication handlers. i'm planning a release
in the next few days, including a whitepaper on its architecture, but
here's an example of what you can now do. the following handler accepts
any basic authentication with a password of 'squawk' (correpsonding
httpd.conf foll
.
what i'd really like to see is a language that utilizes parrot objects
(AFAIK there isn't one right now). once we have this, we can start
writing handlers in a high level language and REALLY have something to
show off. ;-)
-jeff
On Wed, 20 Oct 2004, Dan Sugalski wrote:
> At 2:2
On Wed, 20 Oct 2004, Dan Sugalski wrote:
> Well, actually scary though it may be, my Work Project uses
> parrot objects for everything. Whether this is a useful thing or
> not's an open question (the language lacks subroutines, for example)
> but...
in general, anything that can generate bytec
dan asked to keep everyone up to date on any issues i've had while
developing mod_parrot. following are the problems i've encountered.
---
i currently get parrot's configuration from config_lib.pasm. however, it
is not readily apparent from the configuration the libraries and flags
required to
this would be great -- i'm currently pulling the return values of my
called subs directly out of I5, and it would be nice to have that bit
taken care of for me, especially if calling conventions change somewhere
down the line (but i certainly hope they don't). :)
-jeff
On Wed, 27 Oct 2004, Leopo
On Wed, 27 Oct 2004, Leopold Toetsch wrote:
> E.g. when you have a sub that ends with:
>
> set P5, 100 # ret value
> set I0, 0 # non-prototyped
> set I3, 0 # no return value
> invoke P1 # return
>
> then P5 will not be passed to the caller.
right. but i'm explicitly using .pcc_begi
I've just released mod_parrot 0.1. As I noted in my previous post a few
weeks ago, it now supports authentication handlers. Other major changes
include a testing framework (using Apache::Test), access to Apache
constants, and POD documentation.
You can download it here: http://www.smashing.org/m
very nice -- i could have used that THIS AFTEROON! :)
On Thu, 26 Jul 2007, Andy Lester wrote:
Josh putting in the new backtrace behind my new assertions makes debugging
assertions SO MUCH EASIER.
I'm gonna go s/assert/PARROT_ASSERT/ everywhere.
xoxo,
Andy
P.S. sample
# Received:
# 1..
thanks to the hallway track at OSCON, some help from particle, and many
many tuits this weekend, mod_parrot now builds against parrot HEAD, and
all tests pass. i went on hiatus way back in 2006 to wait for parrot to
mature a bit, and it's amazing how much has changed since i last worked
with i
not surprisingly, it looks like some symbols in libparrot conflict with
exported symbols from other libraries. i ran into this when testing
mod_parrot on an apache server with PHP 5 configured:
Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 1077226080 (LWP 9187)]
0x4
It gives me great pleasure to introduce you to the world's first mod_perl6
handlers! They are run using Parrot's Perl6 compiler on top of
mod_parrot, and are compiled on the fly the first time a handler is
called. Each handler is passed an [Apache;RequestRec] object instantiated
by mod_parrot
yes, there is a race condition, which we discussed briefly on IRC. i
stayed away from fcntl/flock for portability reasons, but i honestly
didn't spend too much time researching it.
that said, i'm all for avoiding race conditions, so i'd be curious to see
some platform tests with the fnctl pat
On Mon, 10 Dec 2007, Tim Bunce wrote:
Also, what's the status of docs/embed.pod? It seems out of date and/or
imcomplete (no mention of Parrot_call_sub, for example).
I'm very much a novice with parrot. So my preferred approach for now
would be for someone more knowledgeable (Allison, chromatic,
unfortunately, chromatic's memcpy patch still generated the compiler
error, perhaps because gcc is optimizing it back to the original code it
was replacing.
using memmove fixes this issue. it performs the copy, but it's not
optimized in the same way because it deals with potentially overlappi
apologies for the top post in my previous reply. didn't realize all that
error output was down there! :-P
On Mon, 17 Dec 2007, chromatic wrote:
Okay, so memcpy doesn't fix it. That's good to know. How about explicitly
putting the destination PMC in a named variable so there's less pointer
shuffling and macro madness?
memmove fixes it. i submitted a patch, but for some reason it hasn't made
it
This just went up in my blog, but I think it's interesting enough to post
to the list as well.
-jeff
One of the goals of the mod_parrot project is to provide the
infrastructure for running the Perl 6 version of mod_perl, a.k.a.
mod_perl6. I've already demonstrated that mod_perl6 works, so tha
i'd like to have an option in mod_parrot to clear all user-generated data
(globals, namespaces, subs, etc.) from an interpreter, leaving any
bytecode that has been loaded (e.g. compilers). the point here is to
eliminate problems caused by data persistence on hosted web servers, which
is one of
On Sat, 16 Aug 2008, Allison Randal wrote:
Jeff Horwitz wrote:
i'd like to have an option in mod_parrot to clear all user-generated data
(globals, namespaces, subs, etc.) from an interpreter, leaving any bytecode
that has been loaded (e.g. compilers). the point here is to eliminate
pro
On Tue, 26 Aug 2008, luben wrote:
I have noticed that Rakudo (and NQP) generates different PIR code for
implicit and explicit returns.
Example for implicit return:
sub foo($n){
$n;
}
And example for explicit return:
sub foo($n){
return $n;
}
Is this on purpose? The implicit return is
i opened RT #61742 because the semantics of the "use" statement in rakudo
changed in such a way that i could no longer precompile mod_perl6 modules.
"use" statements are now being invoked during PAST generation, which
requires any "used" modules to be in the @INC path and error-free. moritz
in
On Sat, 27 Dec 2008, Moritz Lenz via RT wrote:
Example:
[j...@groovy perl6]$ cat x.p6
use Foo;
[j...@groovy perl6]$ ../../parrot perl6.pbc --target=past x.p6
Can't find ./Foo in @INC
So does Foo.{pm,pir} not exist while you compile x.p6?
correct. after reviewing the changes to rakudo, i u
From my journal:
I'm pleased to announce that after 2 years of hiatus and 6 months of
coding, mod_parrot 0.4 has been released. It's been worth the wait, as we
now have working mod_perl6 and PHP proof-of-concepts, per-vhost
interpreter pools, the framework for a more comprehensive test suite,
I *should* be there, though IIRC, Allison will not.
On Thu, 14 Feb 2008, Andy Lester wrote:
I see that Allison's going to be at Frozen Perl. Will you be hackathonning?
Anyone else going to be there besides me?
I'm not sure I'll be sticking around for the hackathon, especially if I don't
hea
On Tue, 22 Apr 2008, Donald Hunter wrote:
Hi,
hi donald!
I'm trying to build mod_parrot against Parrot 0.6.1 and have found that
string_nprintf no longer exists. I see from ticket #44053 that the function
was removed since it had no users.
What's the preferred solution? Re-introduce strin
On Tue, 29 Apr 2008, Patrick R. Michaud wrote:
On Tue, Apr 29, 2008 at 12:34:47PM -0400, Jeff Horwitz wrote:
mod_parrot can load multiple HLL compilers in the same interpreter, and on
my server i'm using both perl6 and plumhead. this works fine if i load
perl6 before plumhead. however,
mod_parrot can load multiple HLL compilers in the same interpreter, and on
my server i'm using both perl6 and plumhead. this works fine if i load
perl6 before plumhead. however, if i load perl6 *after* plumhead, i get a
nasty error:
push_pmc() not implemented in class 'Sub'
i get the same err
On Tue, 29 Apr 2008, Patrick R. Michaud wrote:
On Tue, Apr 29, 2008 at 12:34:47PM -0400, Jeff Horwitz wrote:
mod_parrot can load multiple HLL compilers in the same interpreter, and on
my server i'm using both perl6 and plumhead. this works fine if i load
perl6 before plumhead. howeve
On Mon, 19 May 2008, Parrot via RT wrote:
while converting mod_perl6 from PIR to pure perl6, i encountered the
following error when running a handler:
No such caller depth
current instr.: 'parrot;ModParrot;HLL;perl6;handler' pc 62 (EVAL_13:46)
i tracked down the error to this block in perl
On Wed, 25 Jun 2008, Klaas-Jan Stol wrote:
maybe I overlooked something, but wouldn't specifying the full outer subname
(including its namespace) help?
like so:
.namespace ['B']
.sub 'inner' :outer(['A';'outer'])
...
.end
instead of the proposed :lexid property.
just a thought. maybe there's
On Sun, 6 Jul 2008, Jonathan Worthington via RT wrote:
Patrick R. Michaud wrote:
I don't mind having a couple of regression failures for a day or two.
OK, then it's in as r29098.
excellent, this fixes my problem. do we want to close out this ticket and
let RT #47956 handle the rest, or ar
On Fri, 24 Apr 2009, Patrick R. Michaud via RT wrote:
On Thu, Apr 23, 2009 at 09:33:37AM -0700, Jeff Horwitz wrote:
The result is that Foo.new() becomes:
$P20 = "Foo"()
$P21 = "!dispatch_method"($P20, "new")
with the out-of-place "Foo"() fa
75 matches
Mail list logo