<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
	<channel>
		<title>フォルダ on akky@サイボウズラボ・ブログ</title>
		<link>https://labs.cybozu.co.jp/blog/akky/tags/%E3%83%95%E3%82%A9%E3%83%AB%E3%83%80/</link>
		<description>Recent content in フォルダ on akky@サイボウズラボ・ブログ</description>
		<generator>Hugo</generator>
		<language>ja</language>
		
		
		
		
			<lastBuildDate>Mon, 17 Jan 2022 00:00:00 +0000</lastBuildDate>
		
			<atom:link href="https://labs.cybozu.co.jp/blog/akky/tags/%E3%83%95%E3%82%A9%E3%83%AB%E3%83%80/index.xml" rel="self" type="application/rss+xml" />
			<item>
				<title>Folders.py - ディレクトリ構成(だけ)で書く変態プログラミング言語 Folders の Python 実装</title>
				<link>https://labs.cybozu.co.jp/blog/akky/2022/01/folders-py-runs-file-system-folders-as-a-program/</link>
				<pubDate>Mon, 17 Jan 2022 00:00:00 +0000</pubDate>
				<guid>https://labs.cybozu.co.jp/blog/akky/2022/01/folders-py-runs-file-system-folders-as-a-program/</guid>
				<description>&lt;p&gt;&lt;a href=&#34;https://github.com/SinaKhalili/Folders.py&#34;&gt;Folders.py&lt;/a&gt; は、難解(esoteric)プログラミング言語と言われる変わったプログラミング言語のひとつ &lt;a href=&#34;http://esolangs.org/wiki/Folders&#34;&gt;Folders&lt;/a&gt; の Python による実装です。&lt;/p&gt;&#xA;&lt;p&gt;オリジナルの Folders 処理系は 2015年に &lt;a href=&#34;https://danieltemkin.com/Esolangs/Folders/&#34;&gt;C# で書かれた&lt;/a&gt;ということです。&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;プログラムはディレクトリの階層構造として記述される&lt;/li&gt;&#xA;&lt;li&gt;フォルダ内のファイルはすべて無視される&lt;/li&gt;&#xA;&lt;li&gt;文や式はフォルダ内にあるサブフォルダの個数によって定義される&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;コマンドの定義はこんな感じ。&lt;/p&gt;&#xA;&lt;table&gt;&#xA;&#x9;&lt;thead&gt;&#xA;&#x9;&#x9;&#x9;&lt;tr&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;th&gt;コマンド&lt;/th&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;th&gt;サブフォルダの数&lt;/th&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;th&gt;詳細(引数など)&lt;/th&gt;&#xA;&#x9;&#x9;&#x9;&lt;/tr&gt;&#xA;&#x9;&lt;/thead&gt;&#xA;&#x9;&lt;tbody&gt;&#xA;&#x9;&#x9;&#x9;&lt;tr&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;if&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;0 folders&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;Second sub-folder holds expression, third holds list of commands&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&lt;/tr&gt;&#xA;&#x9;&#x9;&#x9;&lt;tr&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;while&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;1 folder&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;Second sub-folder holds expression, third holds list of commands&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&lt;/tr&gt;&#xA;&#x9;&#x9;&#x9;&lt;tr&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;declare&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;2 folders&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;Second sub-folder holds type, third holds var name (in number of folders, ex. zero folders becomes &amp;ldquo;var_0&amp;rdquo;)&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&lt;/tr&gt;&#xA;&#x9;&#x9;&#x9;&lt;tr&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;let&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;3 folders&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;Second sub-folder hold variable name (in number of folders), third holds an expression&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&lt;/tr&gt;&#xA;&#x9;&#x9;&#x9;&lt;tr&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;print&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;4 folders&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;Second sub-folder holds expression&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&lt;/tr&gt;&#xA;&#x9;&#x9;&#x9;&lt;tr&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;input&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;5 folders&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;Second sub-folder holds variable name&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&lt;/tr&gt;&#xA;&#x9;&lt;/tbody&gt;&#xA;&lt;/table&gt;&#xA;&lt;p&gt;Expression, Type も同じような表で、サブフォルダの個数と改装で定義されます。&lt;/p&gt;</description>
			</item>
	</channel>
</rss>
