From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.1.3 (2006-06-01) on yquem.inria.fr X-Spam-Level: *** X-Spam-Status: No, score=3.4 required=5.0 tests=AWL,RCVD_NUMERIC_HELO, SPF_SOFTFAIL autolearn=disabled version=3.1.3 X-Original-To: caml-list@yquem.inria.fr Delivered-To: caml-list@yquem.inria.fr Received: from mail3-relais-sop.national.inria.fr (mail3-relais-sop.national.inria.fr [192.134.164.104]) by yquem.inria.fr (Postfix) with ESMTP id 14E46BBC4 for ; Wed, 15 Apr 2009 22:41:12 +0200 (CEST) X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: AiACAHfj5UleZLApmWdsb2JhbACVfhwBAQEBAQgLCgcRvByDfgY X-IronPort-AV: E=Sophos;i="4.40,194,1238968800"; d="scan'208";a="26314810" Received: from mx27.mail.ru ([94.100.176.41]) by mail3-smtp-sop.national.inria.fr with ESMTP; 15 Apr 2009 22:41:11 +0200 Received: from [89.252.10.6] (port=29894 helo=89.252.10.6.freenet.com.ua) by mx27.mail.ru with asmtp id 1LuBuu-000OYu-00 for caml-list@yquem.inria.fr; Thu, 16 Apr 2009 00:41:08 +0400 From: Andrey Riabushenko Subject: Functional unparsing Date: Wed, 15 Apr 2009 23:41:27 +0300 User-Agent: KMail/1.9.7 MIME-Version: 1.0 Content-Disposition: inline To: caml-list@yquem.inria.fr Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Message-Id: <200904152341.28121.cdome@bk.ru> X-Spam: Not detected X-Mras: Ok X-Spam: no; 0.00; unparsing:01 ocaml:01 unparsing:01 printf:01 arma:98 arma:98 blog:98 linear:02 linear:02 exp:02 functional:02 functional:02 float:03 float:03 library:03 Hi ocaml developers, I am currently developing a library for multivariate regressions including linear, nonlinear, generalized, weighted and so on. In my opinion most the convenient interface is the one described further and is based on functional unparsing. Something like that: Stats.linear_regression "y ~ x1 exp(x2) log(x3) x3^2" Returns float -> float -> float -> float -> regression_result = Stats.generalized_regression "log(y) ~ x1 x^2 log(x3) " Returns float -> float -> float -> float -> regression_result = For time series: Stats.ts_regression "y ~ ARMA(5,3)" Stats.ts_regression "y ~ ARMA(2,2) GARCH(2,1)" If want to ask you two questions. 1. Do you find such interface convenient? Critique is welcome. If you have better idea, please tell me. I will make all publicly available. 2. The second question regarding function unparsing. I haven't used this technique before. Are there some docs, blog articles, descriptions and etc? The only relevant documentation I have found is printf.ml :). Might someone have a minimal working example to demonstrate?