勉強会を開催するつもりです。以前アナウンスした「自分でつくるPDFリーダー」の内容になります。勉強会の成果物をココに載せていき、最後は同人誌として執筆したいです。場所は県立長野図書館(長野市)、日時は1月25日(土)を予定しています。Connpassで【まえがき】以下の内容で募集をかけています(https://connpass.com/event/159833/)。Connpassアカウント持っていない人は、私の方に連絡ください。【まえがき】プログラミング言語Haskellの勉強会です。具体的なガジェット(速読・精読を可能とする電子文書リーダー)を作成することを通じて勉強していきます。そちらも併せて勉強します。A.I.言語としての本命Lispとならんで本命とされます。型理論、圏論等に立脚した学術的バックボーンを持った言語(関数型プログラミング言語)です。現在流行りの機械学習ベースのA.I.の先、すなわち「人の言っていること(論理)を理解するA.I.」みたいなのをやる際には、これら理論が必要となりHaskellが台頭してくるのが予想されます。ロボット、量子コンピューティングロボット向け言語、量子コンピューティング向け言語としても注目されています。数学に立脚しているので抽象度が高く、最適化のポテンシャルは極めて高いです。数学の定理証明もできてしまいます(正確には親戚筋のCoq、Agda、Idris等ですが)。この辺り、高度なA.I.の条件になってくるのが分かりますね。-不人気の理由しかし学術的な専門用語がたくさん出てきて小難しい感じがする、具体的なプロダクトは作れない学者の玩具、と見られてしまっていて、やる人がまだまだ少ないのが現状です。他言語と比べてライブラリが貧弱という印象も持たれています。本当は段階を踏んで要点を押さえれば、シンプルで素直な言語です。プログラマがルーズに書く為の例外ルールがほぼなく、初心者には分かりやすいです。他言語理解の際にも役立ちます。実はですが、Excelとも深い関係があると見ています。陳腐化の恐れはほぼ無いです。最近注目されていますが、Haskellの登場は遥か1990年まで遡ります。実はPythonよりも年上です。最近になって、Haskell(正確には関数型プログラミング)で当たり前とされてきた概念が、他言語に移植されつつあります。流行の最先端に位置する、そういう言語です。新しい物好きの人は要チェックです。Hacking)最後にこれが一番大事ですが、書いててすごく楽しいです(すごいH)。私は2年間、ほぼ毎日書いていましたが全く飽きませんでした。やりこんだと思っていますが、まだまだ知らないことがたくさんあります。私は趣味でプログラミングをやっていますが、本格的な商業ソフトウェアをつくったことはありません。その方面でフォローしていただける方いたら大歓迎です。最近の機械学習のトレンドはフォローしきれていないので、是非詳しい人サポートおねがいします。全体の方向性と取りまとめは私が行いますが、みなさんが知恵を出して最後に何かを持ち帰る、そんな感じの勉強会にしていけたらなと思います。プログラミングしたことないという方も、大歓迎です。上で述べましたとおり、Haskellは初心者向けなんじゃないかと思っています。何かおもちゃ的(しかし実用的)なプログラムをつくってみたい人プログラミングをこれから勉強しようと思っている人(初心者)【題材】プログラミングの勉強では、モチベーションの観点で題材(何をつくるか)が重要になってきます。プログラムをやった結果が目に見えるGUIが題材として適していると思います。__手前味噌ですが、私が開発しているガジェット(速読・精読を可能とする電子文書リーダー)を題材にします。詳しくは、このサイトを見てください。プログラミングのシンタクスハイライトにヒントを得て作りました。構文解析技術といった自然言語処理技術が必須になってきます。これに似たようなものを皆さんが自作できるようになるのを最初の目標とします。子供のおもちゃに使うもよし、といった感じです。型理論(あわよくば圏論)などといった、冒頭に述べた高度なA.I.をやる上でのスキルや背景知識を得られるはずです。このガジェットをつくった後で、これらを勉強していこうと考えています。初回は環境構築のみです。最初の回だけ参加して後はお家で勉強、というのもありかと思います。環境構築など【持ち物】ノートPC教科書については初回は不要です(環境構築のみなので)。以下の目的、方針で進めます。「自然言語処理(文章の分析、および自由な加工)」と、「目に見...記事を読む自分でつくるPDFリーダー2(Haskellの環境構築)まず、Haskellの開発環境を構築する必要があります。(Data.Listの関数の紹介とタプル)前回はIOについてのざっくりした説明をしました。文字列を適当に着色できるPDFリーダー。構文解析を利用している。型についての基本的な勉強をして終わりました。今回は上記関数の型に戻ります。以下の日時、場所で開催する予定です。...記事を読むHaskell勉強会準備室1(Mecabの導入と型)VSCodeで勉強会を進めることになったので、VSCodeにある程度慣れてから第二回を開こうと思っています。(ラムダ式とレキシカルスコープ)今回は高階関数をサポートするギミックであるラムダ式とwhere節を学んでいきます。(はじめての高階関数)今回は、結構盛り沢山です。以下、Haskellの勉強を進めたい人に参考になるかも知れない情報です。