From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!.POSTED!not-for-mail From: Ricardo Wurmus Newsgroups: gmane.lisp.guile.devel Subject: Simple picture language Date: Mon, 26 Mar 2018 23:51:23 +0200 Message-ID: <87370mh5es.fsf@elephly.net> NNTP-Posting-Host: blaine.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Trace: blaine.gmane.org 1522100992 22528 195.159.176.226 (26 Mar 2018 21:49:52 GMT) X-Complaints-To: usenet@blaine.gmane.org NNTP-Posting-Date: Mon, 26 Mar 2018 21:49:52 +0000 (UTC) User-Agent: mu4e 1.0; emacs 25.3.1 To: guile-devel Original-X-From: guile-devel-bounces+guile-devel=m.gmane.org@gnu.org Mon Mar 26 23:49:48 2018 Return-path: Envelope-to: guile-devel@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by blaine.gmane.org with esmtp (Exim 4.84_2) (envelope-from ) id 1f0Zzv-0005jH-0N for guile-devel@m.gmane.org; Mon, 26 Mar 2018 23:49:47 +0200 Original-Received: from localhost ([::1]:59256 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1f0a1w-0003bW-T5 for guile-devel@m.gmane.org; Mon, 26 Mar 2018 17:51:52 -0400 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:43150) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1f0a1l-0003Y3-S6 for guile-devel@gnu.org; Mon, 26 Mar 2018 17:51:42 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1f0a1i-0005ue-Q3 for guile-devel@gnu.org; Mon, 26 Mar 2018 17:51:41 -0400 Original-Received: from sender-of-o51.zoho.com ([135.84.80.216]:21053) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1f0a1i-0005u2-Ib for guile-devel@gnu.org; Mon, 26 Mar 2018 17:51:38 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; t=1522101086; s=zoho; d=elephly.net; i=rekado@elephly.net; h=From:To:Subject:Date:MIME-Version:Content-Type:Content-Transfer-Encoding:Message-ID; l=922; bh=HKUK34nC/yuMTrKMhzX/ZiURgNULA7+O0rPijePpFnA=; b=OTLMBJoc3wy41CMs/Pe+kTuk9QoV8aLBFiz2p+BEBKL5/oeSXKuEMLNpKWIOidH5 xPy4txZ9iZD6NguMaTX7d+NKHz9GOkYlDQWoRCVr7Xs9G7fdA2F0TBGmA4m/AY4RySD 4eirrpJmVm1916JEVUuWabhx3XjpPcEDcJsBjLOI= Original-Received: from localhost (port-92-200-31-51.dynamic.qsc.de [92.200.31.51]) by mx.zohomail.com with SMTPS id 1522101086004357.8824030675446; Mon, 26 Mar 2018 14:51:26 -0700 (PDT) X-URL: https://elephly.net X-PGP-Key: https://elephly.net/rekado.pubkey X-PGP-Fingerprint: BCA6 89B6 3655 3801 C3C6 2150 197A 5888 235F ACAC X-ZohoMailClient: External X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] [fuzzy] X-Received-From: 135.84.80.216 X-BeenThere: guile-devel@gnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "Developers list for Guile, the GNU extensibility library" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guile-devel-bounces+guile-devel=m.gmane.org@gnu.org Original-Sender: "guile-devel" Xref: news.gmane.org gmane.lisp.guile.devel:19501 Archived-At: Hi Guilers, I wrote a simple SVG-based picture language. To try it: wget https://elephly.net/downies/pict.scm Then start geiser in Emacs and load the module: M-x run-guile (add-to-load-path (getcwd)) ,use (pict) Let=E2=80=99s play! (circle 100) (colorize (circle 100) "red") ,use (srfi srfi-1) ,use (srfi srfi-26) (apply hc-append (map (cut circle <>) (iota 10 2 4))) (apply cc-superimpose (map (cut circle <>) (iota 10 2 4))) (apply hc-append (map (cut rotate (rectangle 10 30) <>) (iota 36 0 10))= ) (apply cc-superimpose (map (cut rotate (triangle 100 300) <>) (iota 36 = 0 10))) And so on. There=E2=80=99s also =E2=80=9Cblur=E2=80=9D, but it doesn=E2=80=99t show up= right in Geiser; it seems that Emacs doesn=E2=80=99t render SVG filters. What do you think? --=20 Ricardo GPG: BCA6 89B6 3655 3801 C3C6 2150 197A 5888 235F ACAC https://elephly.net