Python
PyPy について調べてチュートリアルも翻訳してみたので、折角だからなにか実装してみようと思い立って実装してみた。で、今回のターゲットはお手軽そうな ちょっと草植えときますね型言語 Grass を実装してみようかなと。 結果 まずは結果。ソースはこちら G…
PyPy についてあれやこれやと調べていたら、日本の PyPy 第一人者である池さん(id:rokujyouhitoma)からこんな tweet が。 window.twttr = (function(d, s, id) { var js, fjs = d.getElementsByTagName(s)[0], t = window.twttr || {}; if (d.getElementById…
PyPy コードリーディング の続き。今回は Flow Graph まわり。読んだときのメモは折角なので ここらへん に置いてあるのでお好きにどうぞ。 取っ掛かり translatorshell.py を実行した結果から FunctionGraph が取得できたのでそれをつらつら眺めていた。 $ …
PyPy のフレームワークを使うと俺言語が作れると聞いて!というわけで動かして遊んだりソース読んだりしてた。 RPython なにやら RPython ってのがキーワードらしいっすよ。http://codespeak.net/pypy/dist/pypy/doc/translation.html Python ソースを RPytho…
先週土曜日に Python mini hack-a-thon に参加してきました。当初は Sphinx Extension を作ろうかなーと思っていましたが、その前の火曜日に参加した Expert Python Programming 読書会で「Python の動的型チェックライブラリ作って使ってました」なんて言っ…
パクってみたシリーズもう一つ。Scala の Collection は、collection に対する処理をテンポ良く書けるインタフェイスなので結構好きである。例えば以下のように scala> 1 to 10 filter(_ % 2 == 0) map(_ * 30) res1: scala.collection.immutable.IndexedSeq…
C++ には boost.lambda という変態ライブラリがあります。だいたい ここらへん を参照するとよくわかると思います。 _1 * 2とか書くと一つ目の引数を二倍する関数になるわけです。そういえば scala でも 0 to 20 map(_*2) なんて書くと簡単にコレクションの…
使えそうなミドルウェアはないかなーなどと Paste の中身を見てみたら paste.pony なんてモジュールを見つけました。 なんぞこれ? などと思いながらドキュメントを見てみたら Add pony power to your applicationなんて書いてあるじゃないですか。 ポニーパ…
Python で「クラスがあるメソッドを持つ」という条件を isinstance で判定できたらちょっと幸せになれるんじゃないか、などと何となく思ったので色々やってみました。 あ、ちなみに構造的部分型は Scala では「皿うどん」と呼ばれています。 (皿うどん)Struc…
PyPI からパッケージの tarball を一括して取ってきたいと思ったのでちょっと試してみたことをメモ。 ソース #-*- coding:utf-8 -*- import os import sys import pprint import pkg_resources as pkg from setuptools import package_index as index def ge…
Scala 勉強会 in 渋谷 第22回で発表してきました。 ネタはこれ。スライドとか ust とか。Scala 勉強会なのにいきなり Python のインタプリタ立ち上げてコード打ったりしているとか。 あと説明グダグダだったので精進しないと。 途中で [twitter:@yuroyoro] …
継続を使えばこの前作った Generator のような何かを概念通りに書けそうだったので書いてみた。 ソース ソースは gist概要は大体前回の Actor を使った版と同じ。 使い方 import scala.util.continuations.{cpsParam} import net.shomah4a.utils.generator.c…
2011/01/13 [twitter:@okomok] さんに Generator を使ったあとに hasNext を呼ぶとブロックするという点を指摘していただいたので修正 ではなくて このように hasNext が副作用があるから next の呼び出し回数以上に hasNext を呼ぶとデータをすっ飛ばしてし…
単一式プログラミングとは 単一式プログラミングとは、式として評価できる一行のみでひたすら書いていくもの。 ワンライナーの場合は、代入などの文を使うことができるが、単一式の場合はそもそも文が使えないなどの違いがある。とりあえず勝手に考えただけ…
wxPython などを使う上で面倒なのが UI 構築そのもの。 UI 構成をソースコード上でベタに書くとか正直無理!と思う。 XRCed のような XML から Python コードを出力するようなものは存在するけれど、 XML を直接読んで UI を作るようなものがほしかったので作…
Python でカリー化したらなんか便利なんじゃね、などと思ったので何となく作ってみた。ソースは github GitHub - shomah4a/pycurry: function currying for python使い方はこんな感じ import pycurry @pycurry.curryfunc def test(aa, bb, cc): print aa, bb…
Android で Scala もいいけど、 Python は仕事で使っているし、慣れているから捨てがたい。 というわけで、 JVM で動く Python である Jython を使ってみる。 install jython は apt-get で OK. $ sudo apt-get install jython 普通に使ってみる $ jython >>…
Python 使いが Scala を使う上で「こんな時どうやるの」を参照するために作ってみる。 ただし、このやり方が 「Scala のコードとしてスマートかどうか」という部分は考慮に入れていないので注意。 リスト処理 Python で関数を使うものは大体メソッドになって…
xmlrpclib を proxy 経由で使わなければいけなかったのだが、 xmlrpclib は httplib で通信をしているようで、環境変数の http_proxy を見てくれない。 色々とググってみても、 httplib をそのまま使って proxy を使う方法しか出てこなかった。 今回は proxy…
inforno :: Python: パターンマッチしてみる にインスパイアされて作ってみた。再実装してみたのと、 dict とのパターンマッチがあれば最高!と思ったので追加してみた。object とのパターンマッチは dict とのパターンマッチに一本化してしまった。 そんなに…
花粉予報を tweet する bot を作ったのでメモ。 花粉症に苦しむ様をつぶやく bot じゃない。 データソース 花粉飛散情報 2019 - 日本気象協会 tenki.jpとりあえずこのサイトから東京と神奈川のデータを取ってくる。 取得 urlopen2 で取得して BeautifulSoup …