niszetの日記

アナログCMOS系雑用エンジニアが頑張る備忘録系日記

(メモ)最近のHaskellを学びたい…

自分用の後で読む系のメモです。

Twitter徘徊してて、すごいHな本を読む際に、あれは良本だけどそのあとアップデートしないといけない知識があるということがわかったので、あとで読むためのメモ。7末に入門Haskellプログラミングって本が出るらしいのでそれを期待して待とう。

qiita.com

ひとまず2017年時点の状況把握にはこの記事が良さそうかなと。

あとこの辺りを読んでおくと良さそう。

kazu-yamamoto.hatenablog.jp

qiita.com

とりあえず基本的なところが抑えられていないので、一個一個やっていくしかないかな…。

qiita.com

このあたりも読んでいこう…

PandocのLuaフィルタ内で使用可能なLuaのライブラリとか(メモ)

自分向けメモ

ひとまず適当なLuaフィルタを書く。下記みたいに。1回回ればよいのでDocでいいんじゃないかな。

function Doc(e)
  for k,v in pairs(pandoc.pandoc) do
    print(k)
  end
end

これを任意のファイルを入力に、出力を任意の形式にして--lua-filterで先のLuaフィルタを食わせると下記が標準出力に出力される。

debug
pandoc.types
coroutine
pandoc.mediabag
package
_G
pandoc.List
string
os
pandoc.utils
math
pandoc.system
text
utf8
table
io

これがPandoc内で使用可能なパッケージと考えてよいはず。_Gは知らない子ですね…。

pandoc.systemはヘルプと名前の違う関数がいたのでPR出しました。それはまた後程。

なお、最初に書いた、Docに対する処理の書き方は古いらしい。ってK4氏に言われた。ので、本番Lua フィルタでは書かないほうが良いですね!

なお、_Gはおそらくグローバル環境じゃないかなと。ちゃんと調べてないけど^[調べたら確かにグローバル環境のことだった]。もしそうなら何かしらrequireしなくても使えるライブラリや関数、変数のリストということになるのかな。

PANDOC_READER_OPTIONS
rawget
os
loadfile
add_accessors
string
dofile
rawlen
next
rawequal
io
tonumber
make_indexing_function
PANDOC_SCRIPT_FILE
select
_VERSION
getmetatable
PANDOC_API_VERSION
error
type
print
coroutine
load
assert
rawset
table
ipairs
Doc
FORMAT
require
pandoc
pairs
utf8
pcall
math
collectgarbage
xpcall
debug
tostring
PANDOC_VERSION
PANDOC_STATE
package
setmetatable
_G

なんで_Gが見えるんだろう?って気もするけど、グローバル環境下でアクセスできないとそれは困るからこれでいいのか。

Pandocを手元でビルドする(メモ)

速攻で忘れていくのでメモ。

さて、Windows環境でもPandocは問題なくビルドできます。自分だけのPandocを作って快適なPandocライフを!とかできるわけです(ちゃんとIssueとPRを出せ)

取り急ぎメモ。

下記Haskell Platformをダウンロードしてインストールする。環境が汚れるの嫌ならDockerでしょうが、私は別に気にしないので。

www.haskell.org

その後、Pandocをgit cloneして手元に持ってきて、下記の"Quick stack method"に書かれているようにやると良いです。

pandoc.org

build後はC:\Users\niszet\AppData\Roaming\local\bin\pandoc.exeとかに置かれますね。

なお、cabalでやるとめっちゃ怒られたのでこれがcabal hellなのか…という気持ちで諦めました。stack万歳。

とりあえず手元でビルドできないとPRも出せないし、速攻で忘れていったのでメモとして残しておくのです…。

ビルドは環境によりますがめっちゃ時間かかるので注意ですねぇ。

Pandoc 2.7.3がリリースされました

待ってたよ

リリースのページで更新内容が見れます。

pandoc.org

無限に対応するフォーマットが増えていくPandocですが、今回はjiraが対応したようです。

# 抜粋
Add jira (Atlassian’s Jira wiki markup) as output format

下記の修正は影響がありそうですね。ていうか、R Markdownだと常にそうなのでは…?

Fix --self-contained so it works when output format has extensions. Previously if you used --self-contained with html-smart or html+smart, it wouldn’t work.

Docx的には

Docx reader: Add support for w:rtl (#5545). Elements with this property are put into Span inlines with dir="rtl".

だけっぽい。私は特に使わないのでいいかな…。

Lua周りは修正点が多いので直接参照されたし。VERSIONをそんなに使うか…?という気もしますが、pandoc.typesに何が入っているかは要確認ですね。pandoc.system.get_current_directory()とかcurdirが地味に影響大きい気がします。ドキュメント作成時の環境をドキュメント自身に埋め込みたいときは必須ですね。まぁR Markdownなら気にならないわけですが、Markdownからの変換の時とかには。

そんなわけで、ひとまず更新内容を自分に関係しそうな部分だけひとさらいしたので、対応する更新部分のLuaフィルタでも書いてみるかなぁ(これは書かない流れ…。

読書感想文(技術書典6)

とりあえずここに。

技術書典6で入手した技術同人誌の感想をTwitterでつぶやいたものをこちらに転載します。

読書感想文(銭けっと編)

もちろん、技術書典が初出のモノもありますが…。

あくまで私が銭けっとではじめて遭遇したということでこの括りです。 冬コミと技術書典6の本は全然読めていませんねぇ…。

1~

銭けっと(埼玉銭けっと)に行ってきました。

体感満足度は非常に高かった。

そんなわけで、昨日5/3は埼玉県川口市で行われた、実用書のみを扱った「同人即売会」の銭けっと(埼玉銭けっと)に行ってきたのです。

公式のHPはこちら。

zeniket.jimdofree.com

ジャンル的には「商業・学術・技術・紀行」となっていて、技術書典が基本的に技術だけを扱っているのに対してより広いジャンルをカバーしているイベントとなりますね。

たくさん買ってたくさん話した。

イベント会場は川口フレンディアという結構大きなホールだったのでかなりゆったりしていました。参加サークルが30くらいだったかな?なので各サークルで広くスペースが使われていて、人込みでごった返していることもなかったのでサークル主さんと話したり参加者の方と話したりと、イベントの目的のひとつである交流がかなり出来た気がします。技術書典は規模が大きくなりすぎて、本は売れるが交流が出来ない状態になってしまったので、ゆっくり話を聞けるイベントも欲しいなぁと思うのでした。

全部回るのに4,5時間くらい費やしましたかね。じっくり読んで話が出来て良かった。

で、おそらくほぼすべてのサークルさんから1冊以上入手してきました。これから読む…。読むまでがイベントですので。はい。

20cm?こえましたね

LTがある

なんとこのイベント、LTがありました。サークル主さんが自著やサークルの説明したり、思い思いの発表をされていました。飛び入りでもOKって聞いたんですがあいにくPC持ってなかったので私は参加せずです。ていうか、サークルとして出ても良かったかもですね…。

スライドなしで話している方もいて、LTの敷居が低そうでよかった。他サークルさんとの交流にもなりますしね。

お客さんがあまり…いない…

↑のとおり、交流的には結構出来て満足度が高かったのですが、お客さんは確かに少なかったですね…。このイベントのあとに一人で飲みに行ったんですが、そこもお客さんが全然いなくて、GWだから遠くの〇〇に行こうとか、混んでるだろうから行かなくていいか…みたいな人が多いのではというのが1点。入場料が1000円だったので(後半で無料開放されたようだけど)それに尻込みした人がいるかもしれない点、あとは銭けっとって名前から、なんらかの怪しさを感じてしまったかもというのがありますかね。私も実際、第一回のイベントを知った時はそうでしたので。

第三回以降、関東で開催されるならサークルさんかしてみようかなーという感じですね。もうちょっと初心者向けの本を書いてからじゃないと…とは思うのだけど。

まとめ

総じて、個人的にはとても満足度が高いイベントでした。この雰囲気で続けてほしいけど、参加者が増えないとイベントは継続できないので悩ましいところですね。

会場の写真全然撮ってないので宣伝もあまりできない…そういうとこだぞ、niszet…。