From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Original-To: caml-list@yquem.inria.fr Delivered-To: caml-list@yquem.inria.fr Received: from mail1-relais-roc.national.inria.fr (mail1-relais-roc.national.inria.fr [192.134.164.82]) by yquem.inria.fr (Postfix) with ESMTP id 32DA3BC57 for ; Thu, 8 Jul 2010 23:02:10 +0200 (CEST) X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: Av0BACHaNUzRVda0mGdsb2JhbACTc4w2CBUBAQEBAQgJDAcRIrM0hXqJAQEBAwWFIASIQoc0 X-IronPort-AV: E=Sophos;i="4.53,560,1272837600"; d="scan'208";a="62976925" Received: from mail-iw0-f180.google.com ([209.85.214.180]) by mail1-smtp-roc.national.inria.fr with ESMTP; 08 Jul 2010 23:02:02 +0200 Received: by iwn8 with SMTP id 8so1710746iwn.39 for ; Thu, 08 Jul 2010 14:02:01 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:received:sender:received:date :x-google-sender-auth:message-id:subject:from:to:content-type; bh=wPLDdvALcUzuq7DKDK98aZQElQfp3S09FZ+mjyPB5s8=; b=V8P+Q5ipv+FKWqHOhmRicgIM9WMPYgxaG2fJslZIMhhsh7FVn5/FRV3hjdlshFAZ6A YZ/Ezz4P1KxWplScXvkUM+cT2QZ/8D3T5d0yEPJ7Va2+KGl8kkvC0i2F/3o3lbqyZAS5 1LzB8YRHIt2YK0AcFd0R5HPckYnjo/eqgz80g= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:sender:date:x-google-sender-auth:message-id:subject :from:to:content-type; b=ia8u4kn5y1laHWc30F3izfDDFvLjFeZ+Np9fcMvTMa5VJyo315PySAMixWKWI7PCvH UTuUG9D7a5RwneP5GZvYNka0XNthb263JlElaNKvhAbeERZVk4ET//9riduqI8l6Ekdc tgDTgkNeVNWawGddHjp6rYRzwSC7R+dKGzDaA= MIME-Version: 1.0 Received: by 10.231.59.82 with SMTP id k18mr8505922ibh.106.1278622921308; Thu, 08 Jul 2010 14:02:01 -0700 (PDT) Sender: gaspard.buma@gmail.com Received: by 10.231.20.73 with HTTP; Thu, 8 Jul 2010 14:02:01 -0700 (PDT) Date: Thu, 8 Jul 2010 23:02:01 +0200 X-Google-Sender-Auth: u3nKTsS_ZPfI4CjE4h_bMmP8X4Q Message-ID: Subject: ocaml for embedding From: Gaspard Bucher To: caml-list@yquem.inria.fr Content-Type: multipart/alternative; boundary=001485e98d0006dd4f048ae69993 X-Spam: no; 0.00; ocaml:01 bindings:01 ocaml:01 compiler:01 callable:01 bindings:01 compiler:01 callable:01 functional:02 functional:02 api:02 api:02 string:02 string:02 objects:02 --001485e98d0006dd4f048ae69993 Content-Type: text/plain; charset=ISO-8859-1 Hi List ! I'm writing an open source signal processing tool (mainly used for art projects). Basically objects are connected together through slots and send values to each other. Currently, objects are either C++ classes or Lua scripts that can be edited live (live coding), but the API is scripting language agnostic. This means that with the proper bindings (basically an "eval" method and a way to "call" inside the language), anything is possible. I think it would be a shame to not support at least one functional language in rubyk and it would be quite fun to have an application with different languages talking together, each one being used for what it does best. So my questions are: 1. Is it possible to embed an ocaml compiler ? (something that eats std::string and produces a callable thing) 2. How would an interface between C++ and a compiled script work ? (passing values, getting return values) Thanks for any thoughts, Gaspard -- PS: signal processing tool: http://rubyk.org --001485e98d0006dd4f048ae69993 Content-Type: text/html; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable Hi List !

I'm writing an open source signal processi= ng tool (mainly used for art projects). Basically objects are connected tog= ether through slots and send values to each other. Currently, objects are e= ither C++ classes or Lua scripts that can be edited live (live coding), but= the API is scripting language agnostic. This means that with the proper bi= ndings (basically an "eval" method and a way to "call" = inside the language), anything is possible.

I think it would be a shame to not support at least one= functional language in rubyk and it would be quite fun to have an applicat= ion with different languages talking together, each one being used for what= it does best. So my questions are:

1. Is it possible to embed an ocaml compiler ? (somethi= ng that eats std::string and produces a callable thing)
2. How wo= uld an interface between C++ and a compiled script work ? (passing values, = getting return values)

Thanks for any thoughts,

Gaspa= rd

--
PS: signal processing tool: http://rubyk.org
--001485e98d0006dd4f048ae69993--