2013-01-01から1年間の記事一覧
Prime numbers - HaskellWiki から移植。 -- from www.haskell.org/haskellwiki/Prime_numbers minus = (X, Y) -> return X if Y\empty! x, xs = X\head!, X\tail! y, ys = Y\head!, Y\tail! if x < y Sequence\ConsDelay (-> x), Delay -> minus xs, Y else…
昨日の続き。 util = require 'util' import Function, Switch, Case, Delay, List, Array, Sequence from util _ = util.it require 'std' print '# Function combination' print "(_ + 5 .. _ * 2)(1) ==> #{(_ + 5 .. _ * 2)(1)}" print '# Partial funct…
MoonScriptで遅延リストを実装した。 list = require 'list' import Function, Delay, List, Array, Sequence from list require 'std' local fib fib = Sequence\Table({1, 1})\appendDelay -> fib\zipWith op['+'], fib\tail! nat = Sequence\iterate (=> …
純Lispにはアトムとリストがあるけど、アトムを無くして、なんでも無限リストにしたらどうだろう? 今までアトムだと思っていたものは、実はリストだったのだ。 なんでもリストだから、carとcdrは何にでも適用できる。carは左のリストを取り出し、cdrは右の…
新言語登場 新しいプログラミング言語を作っています。mandel59/psil · GitHub現状はこんな感じ。 let x: 'ハロー' y: add(+'1', +'9') z: {a: x; b: y} debug.print "\(z.a)ワールド \(z.b)"……でも内容はこれから色々変えるので、多分このままの形では残り…
Programming Language Egison プログラミング言語Egisonは、強力なパターンマッチ機能を持つという。とりあえず、同じような機能をLua上で使えるように、MoonScriptを使って実装してみた。 mandel59/egimoon · GitHub print show match_all {1, 2, 3}, (List…
周りで言語を考えたり処理系作ったりしている人がいると、自分でも作りたくなってきた。ここで、「僕の考えた最強の言語」の青写真を書こうと思う。 自然言語に学ぶ Perlのやったように、自然言語に学ぶことは多いと思うので、自然言語の持つ性質をいろいろ…
0000004: build fails - MantisBT trunkビルドできないバグ対応中
本年もよろしくおねがいいたします。via MOONGIFT フォントを作るのに最適なフォント専用エディタ「Birdfont」|オープンソース・ソフトウェア、ITニュースを毎日紹介するエンジニア、デザイナー向けブログ 早速ビルドしてみる GitoriousのBirdfontリポジトリ…