タグ

programmingに関するsmoking186のブックマーク (43)

  • lucille development blog » Blog Archive » Playing with Pure

    http://pure-lang.sourceforge.net/ コンパイルが通ったのでちょっと遊んでみました. Pure 言語とはなんぞや Pure とは、和○○○○主演のドラマで,,, と 信頼関係のコントのネタに出てきそうですが、 そうではなくて、 項書換え(term rewriting)ベースの関数型言語です。 Pure 言語の開発者は、同じような特徴の言語として、 Q 言語をすでに開発していますが、 Pure 言語はそれの後継を目論んでいるようです. Pure 言語が Q 言語と異なるところは、 先進的な言語的特徴を取り入れているところと、 LLVM バックエンドの採用で高速に実行できるところです. (どんだけ高速に実行できるのかは不明) また LLVM バックエンドを採用していることで、 C 言語との親和性も高いです. とりあえず使ってみる pure 言

  • monad.me.uk

    This domain may be for sale!

  • 数論で学ぶアルゴリズム(仮) - FrontPage

    Generated by Hiki 0.8.7 (2007-06-24). Powered by Ruby 1.8.2 (2005-04-11). Founded by pgf2.

  • http://ja.doukaku.org/106/

  • Route 477 「M式」:最近知ったのだが、Lispの初期にはS式の他にM式という記法が考えられていたらしい。

    ■ [lisp] M式 最近知ったのだが、Lispの初期にはS式の他にM式という記法が考えられていたらしい。 http://en.wikipedia.org/wiki/M-expression 「コンピュータプログラムの世界において M式 (meta-expressions) は、 Lisp言語の一部として、S式の人間が読むことの出来る形態となることを目的に考えられた。 M式はLispの初期の論文において理論的な言語として使われていたが、実際に実装されることはなかった。 」 S式は人間が読むもんじゃないのかよwとツッコミたくなりますね。 実行前にS式に変換するから「meta-expression」と名づけられた模様。 [1, 2, 3] (quote (1 2 3)) or '(1 2 3) car[X] (car X) car[append[[1,2,3], [4,5,6]]] (car

    Route 477 「M式」:最近知ったのだが、Lispの初期にはS式の他にM式という記法が考えられていたらしい。
  • プログラムの幾何学とエラーと etoys - 言語ゲーム

    『再帰プログラムの幾何』長谷川 真人 ちょっと休憩がてら、ダラダラと etoys について書いてみます。etoys とはタイルと呼ばれる箱をマウスで動かしてプログラムを作る仕組みの事です。私たちの目標は、etoys を使ってもっと簡単に、楽しく、複雑なプログラムを組み立てられるようにする事です。一つの大きな問題は etoys が何なのかよく分かっていない事です。これは何事もはっきりと決め付ける事を好まないアランさんの性格から来るのかも知れないし、単なる私たちの怠慢なのかも知れないけど、例えば「etoys が簡単である」という性質一つとっても、何故簡単なのか?当に簡単なのかについての議論はなされていません。ので、議論の仕方を書きます。 仮説 正しい指導があれば、小学生が 10分でプログラムを書く事が出来る。 etoys では、ある規模以上のプログラムを書く事が難しい。 アランさんによると、

    プログラムの幾何学とエラーと etoys - 言語ゲーム
    smoking186
    smoking186 2007/10/26
    圏論的な話だっけか
  • SBR2007 - SBR 2007

    smoking186
    smoking186 2007/10/21
    アルゴリズム実装レース
  • Unlambda

    Your Functional Programming Language Nightmares Come True. 関数型言語の悪夢がやってくる Unlambdaについて 公式サイト: http://www.eleves.ens.fr:8080/home/madore/programs/unlambda/ Unlambdaは、obfuscated programming languages (混乱させるプログラム言語、といったところでしょうか) の一種として開発された言語です。 しかしただそれだけではなく、純粋関数型言語というもう一つの特徴も持っています。 そのためオブジェクトは関数しかなく、数値や文字列などというものは(組み込みでは)存在しません。 しかしこの極限的な状況でのプログラムには、実に楽しいものがあります。 このページでは、そんなUnlambdaのプログラミングの解説を行い

    smoking186
    smoking186 2007/10/19
    基本がS, K, Iな言語
  • Project92 blog: FizzBuzzをPostScriptで ― コードゴルフに挑戦

    Project92.com Project92を主宰するカガマコトのblogです。デジタルものからアナログものまで、雑多な話題を書いています Blog Entries Bicycle iPhone / iPad Mac Camera PC & Gadget Programming & Web Life & Design About Project92.com Profile なんか、すげー久々のエントリのようですが、気のせいでしょう......多分。 Twitterで、何人かが「FizzBuzz」という言葉を書いているのを見掛けて気になったのですが、やはりTwitter経由で竹迫さんのエントリ、 FizzBuzz - Golf Challenge [TAKESAKO @ Yet another Cybozu Labs] を見て、PostScriptで書いてみることにしました。課題としては、

  • どうしてプログラマに・・・プログラムが書けないのか?

    Jeff Atwood / 青木靖 訳 2007年2月26日 レジナルド・ブレイスウェイトが書いていることを読んだとき、私はそんなわけないだろうと思っていた。 私と同様、この著者は、プログラミングの仕事への応募者200人中199人はコードがまったく書けないということで苦労している。繰り返すが、彼らはどんなコードも書けないのだ。 彼が引用している著者というのはイムランのことで、彼は単純なプログラムも書けないプログラマをたくさん追い払っているということだ。 かなりの試行錯誤の末に、コードを書こうともがいている人たちというのは、単に大きな問題に対して苦労しているのではないことがわかった。やや小さな問題(連結リストを実装するというような)に対して苦労するということでさえない。彼らはまったくちっぽけな問題に苦労しているのだ。 それで、そういった類の開発者を見分けるための質問を作り始め、私が「Fizz

    smoking186
    smoking186 2007/05/08
    ((lambda (n) (define (f n a) (cond ((= n 0) a) ((= (modulo n 15) 0) (f (- n 1) (cons "FizzBuzz" a))) ((= (modulo n 3) 0) (f (- n 1) (cons "Fizz" a))) ((= (modulo n 5) 0) (f (- n 1) (cons "Buzz" a))) (else (f (- n 1) (cons n a))))) (f n '())) 100)
  • Processing 1.0

    Download and open the 'Processing' application. Select something from the Examples. Hit the Run button. Lather, rinse, repeat as necessary. More information on using Processing itself is can be found in the environment section of the reference. To learn the Processing language, we recommend you try a few of the built-in examples, and check out the reference. A group of diverse books have been writ

    Processing 1.0
  • Karetta|Gaucheプログラミング(立読み版)

    はじめに書の構成 (1)書の対象読者書の表記書の使い方執筆時点でのGaucheバージョン謝辞第1部: 思想LispとScheme (4)Gaucheの特徴 (1)すべて式であるすべてリストである (1)lambdaは空気のような存在である (2)プログラミングとは名前付け(bind)であるすべて再帰である (2) (2)Schemeのすごい点 (4)すべてオブジェクトである (もしそれがお望みなら)Gaucheの設計思想や誕生の背景Schemeの評価モデルとは? (3)「Lisp脳」の謎に迫る - Schemeプログラマの発想第2部: 実用Schemeスクリプトを書こうSchemeスクリプトを書く (1)コマンドライン引数の値を得るユニットテストを書く (1)CGIを書こうSchemeスクリプトをCGIとして実行するwww.cgiライブラリを利用する (1)手軽にHTMLを生成する

  • Karetta|パズル問題自動生成時代

    これからは、パズルの問題はコンピュータで 作ってしまう時代に必然的になってしまう。 既に世界では、人手で作った問題よりも コンピュータが作った問題の方が巾を利かせている。 パズルの遊び方、問題の自動生成とソースプログラム、 さらにビジネスまで書けるといいな。 http://puzzle.gr.jp/ 12/17夜、ナンプレVersion2.0のソースが発表される。 関連情報 ナンプレの問題を手作りしてみよう(初級) ナンプレの問題を手作りしてみよう(中級編-24ヒント) 問題提供先 パズルタイム 毎日新作を2問提供中♪ 最新記事

  • POPL 2007実況その2 - sumiiのブログ

    ilogAit Kaci氏(初対面,Jacques Garrigue氏の元ボス)やMS Researchの人たちと話. セッション1 またFelleisenが自分でsession chair.招待講演を3件とも「非POPLな人」にしたことについて語っている.「モジュールやマクロの話は飽きた」? Don Batory氏.ソフトウェア「工学」の人.代数や理論の知識が「普段の業務で」役に立つという話らしい.domain specificな高級言語のほうが最適化しやすい(古典的な例: SQLと関係代数)とか.継承は差分プログラミングに便利ではあるが,十分ではないのでmixinの一種が必要で,そのmixinの一種による差分プログラミングは代数的に形式化できる,とか.MakefileやXML文書にも同様の構造がある(?)とか.差分プログラミングによるソフトウェアの合成をカテゴリー理論(??)で

    POPL 2007実況その2 - sumiiのブログ
  • » setting up python for S60 on V702NKII(nokia6680)

    nokiaの端末上でpythonを使ってコードがかけるのはまえから知っていたけれど、Python for 702NK/702NK2プログラミングブックというが出てるのを知って中身を確認したら、カメラどころかbluetoothもpythonから使えるというので、とりあえずこれでライフスライス用のカメラが作れると思って買うことにした。ライフスライスキットが公式ページだけど、ここを読んでもよくわからないと思うので、てきとうに解説すると、10分に1回とか勝手に写真を撮ってくれるカメラを首からさげて生活しているとその日のログが写真として残るというもの。オリジナルは有線でつないでデータを吸い出す必要があるけれど、bluetoothで繋がるならば無線で転送できてさらに楽になるってわけ。 以下は Python for 702NK/702NK2プログラミングブック を参考にしつつ、インストールした時のメモ

  • プログラム言語とその他のメモ。

    プログラミングそのものは、あまり好きではない。 当然、実用的な内容はない。 2005年4月以降どうなるか不明。 Lispの(S式以外の)特徴(未完成) Scheme、Common Lisp、Emacs Lispの比較(未完成) 内容のわりに長い。 自己出力プログラムと自己参照プログラム 計算できない問題・関数について 停止問題とかbusy beaver関数の事など。 Schemeでラムダ計算 不動点オペレータについて 再帰的定義に使うYオペレータとかの事。 継続の説明(前置き) 継続の使用法 Schemeでの継続の使用。 SchemeとActor理論 CPS(Continuation Passing Style)について 「SchemeとActor理論」と同じ内容なので、 どうするか考え中。 CPSで多値(とか) values、call-with-valuesがあるから、 無理してS

  • 「次のビル・ゲイツを」IPAがソフトウェア分野の天才12人を認定

    Windows SQL Server 2005サポート終了の4月12日が迫る、報告済み脆弱性の深刻度も高く、早急な移行を

  • 範囲演算子 - ぱるも日記

    スライスを勉強した時に「範囲構文」として勉強した「a..b」という書き方ですが、ラクダを読んでいたところ、これは構文というよりは「..」という「範囲演算子」によるもの、という事がわかりました。 今まで「整数と整数の間の範囲の整数リストを作り出す」という程度の認識で使っていたのですが、やはりちゃんと勉強しないとダメですね。知らなかった使い方が見つかりました。(^_^;) というわけで、範囲演算子をちゃんと勉強したいと思います。 ラクダ(プログラミングPerl〈VOLUME1〉)によると、範囲演算子(range operator)は「コンテキスト」によってその意味が変わるそうです。 「コンテキスト」は、ぱるも日記でも何度か登場して勉強していますが、「文脈」の事ですね。スカラー変数への代入文の右辺や if 文の条件文など、「スカラー値」が必要と判断される場所は「スカラーコンテキスト」と呼ばれ

    範囲演算子 - ぱるも日記
  • 32nd diary(2006-09-08) Yet Another Brainfucker

    めーるあどれす ruby -rbase64 -e'puts Base64.decode64 %q(dGFrYW5vMzJAZ21haWwuY29t)' ■ [Ruby][Hack] Yet Another Brainfucker昨日の夜*1,Brainfuckでちょいと遊んでいたときに,変な実装を思いついた. Webをまさぐってみても,このタイプの実装はまだないようなので,公開しときます. #!/usr/bin/env ruby # yab.rb iseg = ARGF.read iseg = iseg. gsub(']', 'end;'). gsub('[', 'while dseg[dx] != 0;'). gsub('+', 'dseg[dx] += 1;'). gsub('-', 'dseg[dx] -= 1;'). gsub('.', 'print dseg[dx].chr;')

    32nd diary(2006-09-08) Yet Another Brainfucker
  • A Tour of NTL: Summary of NTL's Main Modules

    NTL consists of a number of software modules. Generally speaking, for each module foo, there is a header file <NTL/foo.h>, found in subdirectory include, a documentation file foo.txt, found in subdirectory doc, and a source file foo.cpp, found in subdirectory src. Note that all of the header files for NTL modules include the header file <NTL/tools.h>, and by default, this header file includes the

    smoking186
    smoking186 2006/09/06
    Shoupんとこ. NTLの各モジュールの説明.