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=1.2 required=5.0 tests=AWL,SPF_NEUTRAL autolearn=disabled version=3.1.3 X-Original-To: caml-list@yquem.inria.fr Delivered-To: caml-list@yquem.inria.fr Received: from mail2-relais-roc.national.inria.fr (mail2-relais-roc.national.inria.fr [192.134.164.83]) by yquem.inria.fr (Postfix) with ESMTP id F1019BC6C for ; Wed, 30 Jan 2008 05:03:53 +0100 (CET) X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: AgAAAH+Gn0fAXQInh2dsb2JhbACQJwEBAQgKKZcph2Y X-IronPort-AV: E=Sophos;i="4.25,275,1199660400"; d="scan'208";a="6727670" Received: from concorde.inria.fr ([192.93.2.39]) by mail2-smtp-roc.national.inria.fr with ESMTP; 30 Jan 2008 05:03:53 +0100 Received: from mail2-relais-roc.national.inria.fr (mail2-relais-roc.national.inria.fr [192.134.164.83]) by concorde.inria.fr (8.13.6/8.13.6) with ESMTP id m0U43n5O009604 (version=TLSv1/SSLv3 cipher=RC4-SHA bits=128 verify=OK) for ; Wed, 30 Jan 2008 05:03:53 +0100 X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: AgAAAH+Gn0dIDtyfk2dsb2JhbACQJwEBAQEHBAQLCBaXK4dm X-IronPort-AV: E=Sophos;i="4.25,275,1199660400"; d="scan'208";a="6727669" Received: from fg-out-1718.google.com ([72.14.220.159]) by mail2-smtp-roc.national.inria.fr with ESMTP; 30 Jan 2008 05:03:53 +0100 Received: by fg-out-1718.google.com with SMTP id 22so77219fge.25 for ; Tue, 29 Jan 2008 20:03:53 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:received:received:received:date:to:subject:message-id:mail-followup-to:references:mime-version:content-type:content-disposition:in-reply-to:user-agent:from; bh=cM8pBsdG1/6hC5mAs1Xcm2qWf864eEIAkprhZ6H7E0U=; b=PJoLNzdEMlXsz5iemiiQMSdPLTzzH2yHwilaLH3ZxUo3zgpxn/6NHPUns+45IAEzRceKaDJ/lxlLpD6Ocxe472DbJ11ClFxd+iF6tuVDkGNJAqvArlwv3bD4r00rWgw7QJ9bHfS8W5kPoNTtrINC0MXjNG/kLoDD3e6J/8LbtU4= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=date:to:subject:message-id:mail-followup-to:references:mime-version:content-type:content-disposition:in-reply-to:user-agent:from; b=HRtEH0kcTXSKfYdLCsirMvSKoqPUco6BdimG7YnA9c5jTAhIHKxchj5Vau3o0Ub5Pwtc7PoLwmaJIWeDFrv1jpUWOKxJaa+dBgAUjiipJi82sfk/2A334ZjBHnqJRBIgDSK1MYGRGhsnixblviYjZrrcbW315mwdmTgzxqc+icU= Received: by 10.86.28.5 with SMTP id b5mr229485fgb.47.1201665832964; Tue, 29 Jan 2008 20:03:52 -0800 (PST) Received: from persocom ( [86.200.10.7]) by mx.google.com with ESMTPS id j12sm459723fkf.6.2008.01.29.20.03.48 (version=TLSv1/SSLv3 cipher=OTHER); Tue, 29 Jan 2008 20:03:51 -0800 (PST) Received: by persocom (sSMTP sendmail emulation); Wed, 30 Jan 2008 05:06:01 +0100 Date: Wed, 30 Jan 2008 05:06:01 +0100 To: caml-list@inria.fr Subject: Re: [Caml-list] Palindromic Quine Message-ID: <20080130040600.GA22666@localhost> Mail-Followup-To: Julien Moutinho , caml-list@inria.fr References: <4BD387EA-7017-494A-AF01-D8216EE22501@mist.i.u-tokyo.ac.jp> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline In-Reply-To: <4BD387EA-7017-494A-AF01-D8216EE22501@mist.i.u-tokyo.ac.jp> User-Agent: Mutt/1.5.17+20080114 (2008-01-14) From: Julien Moutinho X-Miltered: at concorde with ID 479FF725.000 by Joe's j-chkmail (http://j-chkmail . ensmp . fr)! X-Spam: no; 0.00; ocaml:01 ocaml:01 mkdir:01 ocamlc:01 ad-hoc:01 cheers:01 wrote:01 caml-list:01 string:02 string:02 executable:03 executable:03 sys:03 sys:03 bytes:03 On Tue, Jan 29, 2008 at 12:23:45AM +0900, Keisuke Nakano wrote: > A 'Palindromic Quine' code is now wanted by a shortest-code contest at: > > http://golf.shinh.org/p.rb?Palindromic+Quine > > The code should be a Quine, which prints its own code without reading > its source file. Additionally, the code should be palindromic, which > reads the same forward as it does backward. Shorter code is better. > Lots of programming languages are available including OCaml, of course. > > Please submit your palindromic Quine to the above contest if you find it. > The deadline is Thursday, 7 February 2008, 16:46:39, GMT. > All submitted programs will be revealed after the deadline. > At present the shortest code in OCaml has 205 bytes. Quite a cheating palindromic Quine, but that's enough for my being satisfied. % cat t.ml (*/*)()=()open Sys let tel()=();;let fer=print_string executable_name in tel let ni eman_elbatucexe gnirts_tnirp=ref tel;;()=()let tel syS nepo()=()(*\*) % O=`cat t.ml`; mkdir -p "(*"; ocamlc -w a t.ml -o "$O"; "$O" (*/*)()=()open Sys let tel()=();;let fer=print_string executable_name in tel let ni eman_elbatucexe gnirts_tnirp=ref tel;;()=()let tel syS nepo()=()(*\*) % wc t.ml 2 16 154 t.ml Explanation: It just calls [print_string Sys.executable_name] with an ad-hoc executable name. Also, I've considered that ")(" and "/\" are palindromic. Cheers, Julien Moutinho.