From mboxrd@z Thu Jan 1 00:00:00 1970 X-Msuck: nntp://news.gmane.io/gmane.comp.tex.context/110968 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Hans Hagen Newsgroups: gmane.comp.tex.context Subject: metafun / patterns Date: Thu, 25 Mar 2021 14:11:02 +0100 Message-ID: <1af7d295-306c-ea6d-b6e8-7e047584dbca@xs4all.nl> Reply-To: mailing list for ConTeXt users Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8"; Format="flowed" Content-Transfer-Encoding: base64 Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="28691"; mail-complaints-to="usenet@ciao.gmane.io" User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101 Thunderbird/78.8.1 To: mailing list for ConTeXt users Original-X-From: ntg-context-bounces@ntg.nl Thu Mar 25 14:14:23 2021 Return-path: Envelope-to: gctc-ntg-context-518@m.gmane-mx.org Original-Received: from zapf.boekplan.nl ([5.39.185.232] helo=zapf.ntg.nl) by ciao.gmane.io with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1lPPoc-0007MM-PM for gctc-ntg-context-518@m.gmane-mx.org; Thu, 25 Mar 2021 14:14:22 +0100 Original-Received: from localhost (localhost [127.0.0.1]) by zapf.ntg.nl (Postfix) with ESMTP id 91589281AD5; Thu, 25 Mar 2021 14:11:08 +0100 (CET) X-Virus-Scanned: Debian amavisd-new at zapf.boekplan.nl Original-Received: from zapf.ntg.nl ([127.0.0.1]) by localhost (zapf.ntg.nl [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id GmwqdcCX-U8i; Thu, 25 Mar 2021 14:11:07 +0100 (CET) Original-Received: from zapf.ntg.nl (localhost [127.0.0.1]) by zapf.ntg.nl (Postfix) with ESMTP id 9E929281DAB; Thu, 25 Mar 2021 14:11:07 +0100 (CET) Original-Received: from localhost (localhost [127.0.0.1]) by zapf.ntg.nl (Postfix) with ESMTP id 51342281D9F for ; Thu, 25 Mar 2021 14:11:06 +0100 (CET) X-Virus-Scanned: Debian amavisd-new at zapf.boekplan.nl Original-Received: from zapf.ntg.nl ([127.0.0.1]) by localhost (zapf.ntg.nl [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id FthiehlOoGyj for ; Thu, 25 Mar 2021 14:11:05 +0100 (CET) Received-SPF: Pass (mailfrom) identity=mailfrom; client-ip=194.109.24.21; helo=lb1-smtp-cloud8.xs4all.net; envelope-from=j.hagen@xs4all.nl; receiver= Original-Received: from lb1-smtp-cloud8.xs4all.net (lb1-smtp-cloud8.xs4all.net [194.109.24.21]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) (No client certificate requested) by zapf.ntg.nl (Postfix) with ESMTPS id A9F0F281AD5 for ; Thu, 25 Mar 2021 14:11:05 +0100 (CET) Original-Received: from cust-a169be40 ([IPv6:fc0c:c118:7078:83cd:b49d:5a87:2838:627c]) by smtp-cloud8.xs4all.net with ESMTPSA id PPlQl79U0CAEGPPlRldiLT; Thu, 25 Mar 2021 14:11:05 +0100 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=xs4all.nl; s=s2; t=1616677865; bh=Q+CYUj4SEV8u0kPjf7d4XIywjvq487ed2zUtl555f6U=; h=To:From:Subject:Message-ID:Date:MIME-Version:Content-Type:From: Subject; b=WvqOpki6vJ12ZNhZXFawiLitN9thLDCPZt9nMFO5gkmVU9FgC6awKvmZXzWk2kog/ ubqngfi7lYuvss60UUeWxQP4hbFW7Q3MHAFIhYtVNks7APCafSdc1LbkX/H/pPSxtK 3WEZLrSFrda58A1EvvFKDa8Z9oI+vdkbz11oFY5hL9+BkRvIjJ6Ojr5YVeT79+RPHB mqE0t0KCdeSRs04GkbnRdo7Fdo8kGXK6nt5QHDL+78jbSgjnB9ThwTSLrDNUlhKRqZ CgGJc2a640AJ2j5WKijIFWlDgxev36cwBu4SHHlVSTaRCwj87o7eHxxnqTFBu8UBIN 0fTJ1z5TOxScw== Content-Language: en-US X-CMAE-Envelope: MS4xfPJi1OsqdNANDw25RHl1Yi8JaAVSHXLZH3CJbtMizIzwtZaj/5qg/mvDg7E7DK8QkpBn+50e3HFW/eXOioW5KC0Ik0Z0MR+UlbZj+ZWVurE+caqtQQjJ xLK4mL4wKxi3qousHMRiWZ+TdGxjwjhZgBYZDDzESbY6w7eWysoblKgylEUyY37q+h/z8R44TgVQPg== X-BeenThere: ntg-context@ntg.nl X-Mailman-Version: 2.1.26 Precedence: list List-Id: mailing list for ConTeXt users List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: ntg-context-bounces@ntg.nl Original-Sender: "ntg-context" Xref: news.gmane.io gmane.comp.tex.context:110968 Archived-At: SGksCgpBcyBJJ20gc3RpbGwgaW4gbWV0YWZ1biAoYW5kIHN2ZykgbW9kZSBJIGRlY2lkZWQgdG8g c3VwcG9ydCBwYXR0ZXJucyAKKHRoYXQgYXJlIGFscmVhZHkgc3VwcG9ydGVkIGF0IHRoZSB0ZXgg ZW5kKSBhbHNvIGluIG1ldGFmdW4uIEFzIHRoZXJlIApoYXMgbmV2ZXIgYmVlbiBkZW1hbmRzIEkg c3VwcG9zZSBpdCdzIG5vdCB0aGF0IGludGVyZXN0aW5nIGJ1dCBpdCBzb3J0IApvZiBmaXRzIGlu LgoKVGhlcmUgYXJlIHNvbWUgdHJpY2t5IGFzcGVjdHggaW52b2x2ZWQgc28gdGhlIGludGVyZmFj ZSBtaWdodCBldm9sdmUgYSAKYml0IChzb21lIG1vcmUgY29udHJvbCBvcHRpb25zKSBidXQgaGVy ZSBhcmUgc29tZSBleGFtcGxlcyBhbnl3YXk6Cgpcc3RhcnR0ZXh0Cgpcc3RhcnRNUHBhZ2Vbb2Zm c2V0PTFjbV0KICAgICBkcmF3IChmdWxsY2lyY2xlIHNjYWxlZCA1Y20gc2hpZnRlZCAoMGNtLDBj bSkpCiAgICAgICAgIHdpdGhwYXR0ZXJuIGltYWdlIChmaWxsIGZ1bGxjaXJjbGUgc2NhbGVkIDFj bSB3aXRoY29sb3IgCiJkYXJrYmx1ZSIgOykKICAgICAgICAgd2l0aHBhdHRlcm5zY2FsZSAoMS8x MCwxLzEwKQogICAgIDsKCiAgICAgZHJhdyAoZnVsbGNpcmNsZSBzY2FsZWQgNWNtIHNoaWZ0ZWQg KDVjbSwwY20pKQogICAgICAgICB3aXRocGF0dGVybiBpbWFnZSAoZmlsbCBmdWxsY2lyY2xlIHNj YWxlZCA1bW0gd2l0aGNvbG9yIAoiZGFya3JlZCIgOykKICAgICAgICAgd2l0aHBhdHRlcm5zY2Fs ZSAoMS8yMCwxLzIwKQogICAgIDsKCiAgICAgZHJhdyAoZnVsbGNpcmNsZSBzY2FsZWQgNWNtIHNo aWZ0ZWQgKDEwY20sMGNtKSkKICAgICAgICAgd2l0aHBhdHRlcm4gaW1hZ2UgKGZpbGwgZnVsbGNp cmNsZSBzY2FsZWQgNW1tIHdpdGhjb2xvciAKImRhcmtncmVlbiIgOykKICAgICAgICAgd2l0aHBh dHRlcm5zY2FsZSAoMS80MCwxLzQwKQogICAgIDsKCiAgICAgZHJhdyAoZnVsbGNpcmNsZSBzY2Fs ZWQgNWNtIHNoaWZ0ZWQgKDBjbSw1Y20pKQogICAgICAgICB3aXRocGF0dGVybiBpbWFnZSAoZmls bCBmdWxsY2lyY2xlIHNjYWxlZCAxY20gd2l0aGNvbG9yIAoiZGFya2N5YW4iIDspCiAgICAgICAg IHdpdGhwYXR0ZXJuc2NhbGUgKDEvMTAsMS8yMCkKICAgICA7CgogICAgIGRyYXcgKGZ1bGxjaXJj bGUgc2NhbGVkIDVjbSBzaGlmdGVkICg1Y20sNWNtKSkKICAgICAgICAgd2l0aHBhdHRlcm4gaW1h Z2UgKGZpbGwgZnVsbGNpcmNsZSBzY2FsZWQgNW1tIHdpdGhjb2xvciAKImRhcmttYWdlbnRhIiA7 KQogICAgICAgICB3aXRocGF0dGVybnNjYWxlICgxLzIwLDEvNDApCiAgICAgOwoKICAgICBkcmF3 IChmdWxsY2lyY2xlIHNjYWxlZCA1Y20gc2hpZnRlZCAoMTBjbSw1Y20pKQogICAgICAgICB3aXRo cGF0dGVybiBpbWFnZSAoZmlsbCBmdWxsY2lyY2xlIHNjYWxlZCA1bW0gd2l0aGNvbG9yIAoiZGFy a3llbGxvdyIgOykKICAgICAgICAgd2l0aHBhdHRlcm5zY2FsZSAoMS80MCwxLzgwKQogICAgIDsK XHN0b3BNUHBhZ2UKClxzdGFydE1QcGFnZVtvZmZzZXQ9MWNtXQogICAgIGZpbGwgZnVsbGNpcmNs ZSBzY2FsZWQgMTFjbQogICAgICAgICB3aXRoY29sb3IgImRhcmt5ZWxsb3ciIDsKCiAgICAgZHJh dyBmdWxsY2lyY2xlIHNjYWxlZCAxMGNtCiAgICAgICAgIHdpdGhwYXR0ZXJuIGltYWdlIChmaWxs IGZ1bGxjaXJjbGUgc2NhbGVkIDFjbSB3aXRoY29sb3IgCiJkYXJrYmx1ZSIgOykKICAgICA7Cgog ICAgIGRyYXcgZnVsbGRpYW1vbmQgc2NhbGVkIDhjbQogICAgICAgICB3aXRocGF0dGVybiBpbWFn ZSAoZmlsbCBmdWxsZGlhbW9uZCBzY2FsZWQgNG1tIHdpdGhjb2xvciAKImRhcmtncmVlbiIgOykK ICAgICAgICAgcm90YXRlZCAxNQogICAgIDsKCiAgICAgZHJhdyBmdWxsdHJpYW5nbGUgc2NhbGVk IDljbQogICAgICAgICB3aXRocGF0dGVybiBpbWFnZSAoZmlsbCBmdWxsdHJpYW5nbGUgc2NhbGVk IDNtbSB3aXRoY29sb3IgCiJ3aGl0ZSIgOykKICAgICAgICAgcm90YXRlZCA0NQogICAgIDsKCiAg ICAgZHJhdyBmdWxsY2lyY2xlIHNjYWxlZCAxMGNtCiAgICAgICAgIHdpdGhwYXR0ZXJuIGltYWdl IChkcmF3IHRleHRleHQoIiEiKSB3aXRoY29sb3IgIm1pZGRsZWdyYXkiIDspCiAgICAgICAgIHJv dGF0ZWQgNDUKICAgICA7CgogICAgIGRyYXcgZnVsbGNpcmNsZSBzY2FsZWQgMTBjbQogICAgICAg ICB3aXRocGVuIHBlbmNpcmNsZSBzY2FsZWQgMW1tCiAgICAgICAgIHdpdGhjb2xvciAiZGFya2dy YXkiIDsKXHN0b3BNUHBhZ2UKCgpcc3RhcnRNUHBhZ2VbaW5zdGFuY2U9ZG91YmxlZnVuXQogICAg IGRyYXcgY2xvc2VkY3VydmUodW5pdHNxdWFyZSB4eXNjYWxlZCAoMjAwLDIwMCkgc2hpZnRlZCAo MCwtMjAwKSkKICAgICAgICAgd2l0aHBhdHRlcm4gaW1hZ2UgKGZpbGwgY2xvc2VkY3VydmUoKGZ1 bGxjaXJjbGUgc2NhbGVkIDQwIApzaGlmdGVkICgyNSwtMjUpKSkgd2l0aGNvbG9yICJkYXJrZ3Jh eSIgd2l0aG9wYWNpdHkgLjUpCiAgICAgICAgIHdpdGhwYXR0ZXJuc2NhbGUgKDEsMSkKICAgICA7 CiAgICAgZHJhdyBjbG9zZWRjdXJ2ZSh1bml0c3F1YXJlIHh5c2NhbGVkICgyMDAsMjAwKSBzaGlm dGVkICgwLC0yMDApKQogICAgICAgICB3aXRocGF0dGVybiBpbWFnZSAoZmlsbCBjbG9zZWRjdXJ2 ZSgoZnVsbGNpcmNsZSBzY2FsZWQgNDAgCnNoaWZ0ZWQgKDI1LC0yNSkpKSB3aXRoY29sb3IgImRh cmtyZWQiIHdpdGhvcGFjaXR5IC41KQogICAgICAgICB3aXRocGF0dGVybnNjYWxlICgxLzIsMS8y KQogICAgIDsKICAgICBkcmF3IGNsb3NlZGN1cnZlKHVuaXRzcXVhcmUgeHlzY2FsZWQgKDIwMCwy MDApIHNoaWZ0ZWQgKDAsLTIwMCkpCiAgICAgICAgIHdpdGhwYXR0ZXJuIGltYWdlIChmaWxsIGNs b3NlZGN1cnZlKChmdWxsY2lyY2xlIHNjYWxlZCA0MCAKc2hpZnRlZCAoMjUsLTI1KSkpIHdpdGhj b2xvciAiZGFya2dyZWVuIiB3aXRob3BhY2l0eSAuNSkKICAgICAgICAgd2l0aHBhdHRlcm5zY2Fs ZSAoMS8zLDEvMykKICAgICA7CiAgICAgZHJhdyBjbG9zZWRjdXJ2ZSh1bml0c3F1YXJlIHh5c2Nh bGVkICgyMDAsMjAwKSBzaGlmdGVkICgwLC0yMDApKQogICAgICAgICB3aXRocGF0dGVybiBpbWFn ZSAoZmlsbCBjbG9zZWRjdXJ2ZSgoZnVsbGNpcmNsZSBzY2FsZWQgNDAgCnNoaWZ0ZWQgKDI1LC0y NSkpKSB3aXRoY29sb3IgImRhcmtibHVlIiB3aXRob3BhY2l0eSAuNSkKICAgICAgICAgd2l0aHBh dHRlcm5zY2FsZSAoMS80LDEvNCkKICAgICA7ClxzdG9wTVBwYWdlCgolIFxzdGFydFRFWHBhZ2UK ICAgICBccGFnZQogICAgIFxzdGFydE1QY29kZXtkb3VibGVmdW59CiAgICAgICAgIGRyYXcgY2xv c2VkY3VydmUodW5pdHNxdWFyZSB4eXNjYWxlZCAoMjAwLDIwMCkgc2hpZnRlZCAoMCwtNDAwKSkK ICAgICAgICAgICAgIHdpdGhwYXR0ZXJuIGltYWdlIChmaWxsIGNsb3NlZGN1cnZlKChmdWxsY2ly Y2xlIHNjYWxlZCA0MCAKc2hpZnRlZCAoMjUsLTI1KSkpKQogICAgICAgICAgICAgd2l0aHBhdHRl cm5zY2FsZSAoMS84LDEvOCkKICAgICAgICAgOwogICAgIFxzdG9wTVBjb2RlCiAgICAgXGJsYW5r CiAgICAgXHN0YXJ0TVBjb2Rle2RvdWJsZWZ1bn0KICAgICAgICAgZHJhdyBjbG9zZWRjdXJ2ZSh1 bml0c3F1YXJlIHh5c2NhbGVkICgyMDAsMjAwKSBzaGlmdGVkICgwLC00MDApKQogICAgICAgICAg ICAgd2l0aHBhdHRlcm4gaW1hZ2UgKGZpbGwgY2xvc2VkY3VydmUoKGZ1bGxjaXJjbGUgc2NhbGVk IDQwIApzaGlmdGVkICgyNSwtMjUpKSkpCiAgICAgICAgICAgICB3aXRocGF0dGVybmZsb2F0IHRy dWUKICAgICAgICAgICAgIHdpdGhwYXR0ZXJuc2NhbGUgKDEvOCwxLzgpCiAgICAgICAgIDsKICAg ICBcc3RvcE1QY29kZQogICAgIFxwYWdlCiUgXHN0b3BURVhwYWdlCgolIFxzdGFydE1QcGFnZVtp bnN0YW5jZT1kb3VibGVmdW5dCgolICAgZHJhdyBjbG9zZWRjdXJ2ZSh1bml0c3F1YXJlIHh5c2Nh bGVkICgyMDAsMjAwKSBzaGlmdGVkICgwLC0yMDApKQolICAgICB3aXRocGF0dGVybiBpbWFnZSAo ICAgZmlsbCBjbG9zZWRjdXJ2ZSh1bml0c3F1YXJlIHh5c2NhbGVkICg1MCw1MCkgCnNoaWZ0ZWQg KDAsLTUwKSkgICAgIHdpdGhjb2xvciBzdmdjb2xvcigwLjUyOSwwLjgwOCwwLjkyMikgICA7ICAg ZmlsbCAKY2xvc2VkY3VydmUodW5pdHNxdWFyZSB4eXNjYWxlZCAoMjUsMjUpIHNoaWZ0ZWQgKDAs LTI1KSkgCndpdGhzaGFkZW1ldGhvZCAibGluZWFyIgolICAgICB3aXRoc2hhZGVjZW50ZXJvbmVm cmFjdGlvbiAoMCwxKQolICAgICB3aXRoc2hhZGVjZW50ZXJ0d29mcmFjdGlvbiAoMCwwKQolICAg ICB3aXRoc2hhZGVzdGVwICggd2l0aHNoYWRlZnJhY3Rpb24gMC4wNSB3aXRoc2hhZGVjb2xvcnMg Cihzdmdjb2xvcigxLDAsMCksc3ZnY29sb3IoMSwwLDApKSApCiUgICAgIHdpdGhzaGFkZXN0ZXAg KCB3aXRoc2hhZGVmcmFjdGlvbiAwLjk1IHdpdGhzaGFkZWNvbG9ycyAKKHN2Z2NvbG9yKDEsMCww KSxzdmdjb2xvcigxLDAuNSwwKSkgKSAgIDsgICBmaWxsIGNsb3NlZGN1cnZlKChmdWxsY2lyY2xl IApzY2FsZWQgNDAgc2hpZnRlZCAoMjUsLTI1KSkpICAgICB3aXRoc2hhZGVtZXRob2QgImxpbmVh ciIKJSAgICAgd2l0aHNoYWRlc3RlcCAoIHdpdGhzaGFkZWZyYWN0aW9uIDAuMDUgd2l0aHNoYWRl Y29sb3JzIAooc3ZnZ3JheSgxKSxzdmdncmF5KDEpKSApCiUgICAgIHdpdGhzaGFkZXN0ZXAgKCB3 aXRoc2hhZGVmcmFjdGlvbiAwLjk1IHdpdGhzaGFkZWNvbG9ycyAKKHN2Z2dyYXkoMSksc3ZnY29s b3IoMCwwLDEpKSApICAgICB3aXRob3BhY2l0eSAwLjUgICA7ICkKJSAgICAgd2l0aHBhdHRlcm5z Y2FsZSgxLzQsMS80KQolICAgOwolIFxzdG9wTVBwYWdlCgolIFxzdGFydFRFWHBhZ2UKJSAgICAg XGV4dGVybmFsZmlndXJlW3Rlc3Quc3ZnXVtjb252ZXJzaW9uPW1wLHhvYmplY3Q9bm9dCiUgXHN0 b3BURVhwYWdlCgpcc3RvcHRleHQKCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIEhhbnMgSGFnZW4gfCBQUkFHTUEgQURFCiAgICAgICAgICAgICAg IFJpZGRlcnN0cmFhdCAyNyB8IDgwNjEgR0ggSGFzc2VsdCB8IFRoZSBOZXRoZXJsYW5kcwogICAg ICAgIHRlbDogMDM4IDQ3NyA1MyA2OSB8IHd3dy5wcmFnbWEtYWRlLm5sIHwgd3d3LnByYWdtYS1w b2QubmwKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0KX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KSWYgeW91ciBxdWVzdGlv biBpcyBvZiBpbnRlcmVzdCB0byBvdGhlcnMgYXMgd2VsbCwgcGxlYXNlIGFkZCBhbiBlbnRyeSB0 byB0aGUgV2lraSEKCm1haWxsaXN0IDogbnRnLWNvbnRleHRAbnRnLm5sIC8gaHR0cDovL3d3dy5u dGcubmwvbWFpbG1hbi9saXN0aW5mby9udGctY29udGV4dAp3ZWJwYWdlICA6IGh0dHA6Ly93d3cu cHJhZ21hLWFkZS5ubCAvIGh0dHA6Ly9jb250ZXh0LmFhbmhldC5uZXQKYXJjaGl2ZSAgOiBodHRw czovL2JpdGJ1Y2tldC5vcmcvcGhnL2NvbnRleHQtbWlycm9yL2NvbW1pdHMvCndpa2kgICAgIDog aHR0cDovL2NvbnRleHRnYXJkZW4ubmV0Cl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCg==