Python

PyPy で Grass を実装してみた

PyPy について調べてチュートリアルも翻訳してみたので、折角だからなにか実装してみようと思い立って実装してみた。で、今回のターゲットはお手軽そうな ちょっと草植えときますね型言語 Grass を実装してみようかなと。 結果 まずは結果。ソースはこちら G…

PyPy Tutorial を翻訳してみた

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 コードリーディングその2

PyPy コードリーディング の続き。今回は Flow Graph まわり。読んだときのメモは折角なので ここらへん に置いてあるのでお好きにどうぞ。 取っ掛かり translatorshell.py を実行した結果から FunctionGraph が取得できたのでそれをつらつら眺めていた。 $ …

PyPy ソースコードリーディング事始め

PyPy のフレームワークを使うと俺言語が作れると聞いて!というわけで動かして遊んだりソース読んだりしてた。 RPython なにやら RPython ってのがキーワードらしいっすよ。http://codespeak.net/pypy/dist/pypy/doc/translation.html Python ソースを RPytho…

( ゚∀゚)o彡゚ PyPI! PyPI!

先週土曜日に Python mini hack-a-thon に参加してきました。当初は Sphinx Extension を作ろうかなーと思っていましたが、その前の火曜日に参加した Expert Python Programming 読書会で「Python の動的型チェックライブラリ作って使ってました」なんて言っ…

Scala の Collection っぽいなにか in Python

パクってみたシリーズもう一つ。Scala の Collection は、collection に対する処理をテンポ良く書けるインタフェイスなので結構好きである。例えば以下のように scala> 1 to 10 filter(_ % 2 == 0) map(_ * 30) res1: scala.collection.immutable.IndexedSeq…

boost.lambda をパクってみた in Python

C++ には boost.lambda という変態ライブラリがあります。だいたい ここらへん を参照するとよくわかると思います。 _1 * 2とか書くと一つ目の引数を二倍する関数になるわけです。そういえば scala でも 0 to 20 map(_*2) なんて書くと簡単にコレクションの…

paste.pony を使ってみた

使えそうなミドルウェアはないかなーなどと Paste の中身を見てみたら paste.pony なんてモジュールを見つけました。 なんぞこれ? などと思いながらドキュメントを見てみたら Add pony power to your applicationなんて書いてあるじゃないですか。 ポニーパ…

Python で構造的部分型(Structural Subtyping)の判定を isinstance で行う

Python で「クラスがあるメソッドを持つ」という条件を isinstance で判定できたらちょっと幸せになれるんじゃないか、などと何となく思ったので色々やってみました。 あ、ちなみに構造的部分型は Scala では「皿うどん」と呼ばれています。 (皿うどん)Struc…

PyPI からパッケージの tarball を取ってくる

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回

Scala 勉強会 in 渋谷 第22回で発表してきました。 ネタはこれ。スライドとか ust とか。Scala 勉強会なのにいきなり Python のインタプリタ立ち上げてコード打ったりしているとか。 あと説明グダグダだったので精進しないと。 途中で [twitter:@yuroyoro] …

Scala で Python の Generator みたいな何か(継続版)

継続を使えばこの前作った Generator のような何かを概念通りに書けそうだったので書いてみた。 ソース ソースは gist概要は大体前回の Actor を使った版と同じ。 使い方 import scala.util.continuations.{cpsParam} import net.shomah4a.utils.generator.c…

Scala で Python の Generator みたいな何か

2011/01/13 [twitter:@okomok] さんに Generator を使ったあとに hasNext を呼ぶとブロックするという点を指摘していただいたので修正 ではなくて このように hasNext が副作用があるから next の呼び出し回数以上に hasNext を呼ぶとデータをすっ飛ばしてし…

Python での単一式プログラミングをする際のメモ

単一式プログラミングとは 単一式プログラミングとは、式として評価できる一行のみでひたすら書いていくもの。 ワンライナーの場合は、代入などの文を使うことができるが、単一式の場合はそもそも文が使えないなどの違いがある。とりあえず勝手に考えただけ…

UI 用 XML Template を作ってみた

wxPython などを使う上で面倒なのが UI 構築そのもの。 UI 構成をソースコード上でベタに書くとか正直無理!と思う。 XRCed のような XML から Python コードを出力するようなものは存在するけれど、 XML を直接読んで UI を作るようなものがほしかったので作…

Python でカリー化してみた

Python でカリー化したらなんか便利なんじゃね、などと思ったので何となく作ってみた。ソースは github GitHub - shomah4a/pycurry: function currying for python使い方はこんな感じ import pycurry @pycurry.curryfunc def test(aa, bb, cc): print aa, bb…

Scala から Jython を呼んでみる

Android で Scala もいいけど、 Python は仕事で使っているし、慣れているから捨てがたい。 というわけで、 JVM で動く Python である Jython を使ってみる。 install jython は apt-get で OK. $ sudo apt-get install jython 普通に使ってみる $ jython >>…

Python でのアレは Scala でどうやるのリストその1

Python 使いが Scala を使う上で「こんな時どうやるの」を参照するために作ってみる。 ただし、このやり方が 「Scala のコードとしてスマートかどうか」という部分は考慮に入れていないので注意。 リスト処理 Python で関数を使うものは大体メソッドになって…

Python の xmlrpclib で proxy + Basic 認証

xmlrpclib を proxy 経由で使わなければいけなかったのだが、 xmlrpclib は httplib で通信をしているようで、環境変数の http_proxy を見てくれない。 色々とググってみても、 httplib をそのまま使って proxy を使う方法しか出てこなかった。 今回は proxy…

Python でパターンマッチング

inforno :: Python: パターンマッチしてみる にインスパイアされて作ってみた。再実装してみたのと、 dict とのパターンマッチがあれば最高!と思ったので追加してみた。object とのパターンマッチは dict とのパターンマッチに一本化してしまった。 そんなに…

花粉症 bot

花粉予報を tweet する bot を作ったのでメモ。 花粉症に苦しむ様をつぶやく bot じゃない。 データソース 花粉飛散情報 2019 - 日本気象協会 tenki.jpとりあえずこのサイトから東京と神奈川のデータを取ってくる。 取得 urlopen2 で取得して BeautifulSoup …