タグ

Grassに関するokagawaのブックマーク (16)

  • リリカル☆Lisp開発日記 » Blog Archive » うはwwwPrologでGrass実装したwwww


    Grass    R6RSProlog : grass-sem-utf-8.swi    Yes ?- evaluate("",R). w R = [119, []] ; No ?- evaluate("wwWWwv wwwwWWWwwWwwWWWWWWwwwwWwwv wWWwwwWwwwwWwwwwwwWwwwwwwwww", R). ww R = [119, []] ; No This entry was posted on , 3 24th, 2008 at 4:05 AM and is filed under 
  • ちょっと草植えときますね型言語 Grass

    _, ._ ( ・ω・) んも〜 ○={=}〇, |:::::::::\, ', ´ 、、、、し 、、、(((.@)wvwwWWwvwwWwwvwwwwWWWwwWw wWWWWWWwwwwWwwvwWWwWwwvwWWW 作ってみたwwwww とりあえず公開wwwwwwwっうぇ 日語版はてきとーです.きっと英語版のほうが詳しいです. 実装 インタプリタ Interpreter written in Standard ML (accept US-ASCII only) by UENO Katsuhiro Interpreter written in Ruby by UENO Katsuhiro Interpreter written in ニコスクリプト Interpreter written in Prolog by zick Interpreter written in Java b

  • Grass のインタプリタを書いてみたよ - Life Goes On


    Haskell  Grass  Haskell  mr_konn   Shift_JIS UTF-8 使UTF-8  Shift_JIS  EUC-JP filter' String
    Grass のインタプリタを書いてみたよ - Life Goes On
  • 関数型言語Grass勉強会 — ありえるえりあ


    Grass GrassscalaC(grass.zip) grass.ppt : grass.scala :scalaGrass grass.zip: C(Grass)
    okagawa
    okagawa 2010/01/01
    Scala, C
  • vネタばれ - * *scrap*

    http://golf.shinh.org/p.rb?v#Grass grass.el形式で '( (abs rec (f c) ((app succ c . sc) (app w sc . v?) (app v? c) (app 1 f) ;c or f (app 1 1) ;true or f f (app 1 sc) ;(true sc) or (f f sc) (app out 3) ;(out sc) or error )) (app rec rec) (app 1 w) ) irieさんと同じコードになっただろうと思ってたら大分違っていて、あちらはエラーをはかないコードになっていた。再帰関数の最後の3つの適用がスマート。面白いなー。 他の人のも後で読む。 ちなみに、2番目に書いた56バイトのコード wWWWwWwwwwwWwwwWwwwv ; succ_or_v wwWWwWW

    vネタばれ - * *scrap*
  • 2008-09-14

    最終的に1525バイトになった。劇的に縮められる新機軸はもうなさそうなのでネタバレ 続きを読む 上の続き 続きを読む (m-n)%3 をどうやって計算するか? 続きを読む wwWWwWWWwWWWWWWw # s2n1 vwwWWwWWWw # s2 vwWWwwwWwwwwwwWWWwWWWWWwwwwWwwWWwWwwwwwwwwwwww # mkwWv vWwwwWWwww # ch_v, ch_W vwwWWWWWWWWww # mkout vWwwwWWwwwwwwwwwwWWWwwww # out_v, out_w, out_W vwWwwwwWwwwwWwwww # tr1 = triplet(out_v, out_w, out_W) vwWWWwWWWWWw # out_Ww vwWWWWwWWWw # out_WWw vwWWWWWWWwWWWw # out_vWWw v

    2008-09-14
  • Grass で quine - まめめも


    Quine Advent Calender 2014  102 ref: http://d.hatena.ne.jp/shinichiro_h/20080910#1220988953  $ time ruby grass.rb quine.www >quine2.www real 0m21.830s user 0m20.440s sys 0m1.390s $ diff quine.www quine2.www $ wc -c quine.www 9787 quine.www golf稿over 10K   100B    wWwwwwWWWwv
    Grass で quine - まめめも
  • Grassとラムダ計算とLisp - * *scrap*


    Lisplambda使 CommonLispfuncall (defun app (&rest arg) (reduce #'funcall arg)) (defun $ (&rest arg) (reduce #'funcall arg :from-end t)) app$ $Haskell app  ($ out succ out succ out succ w)  xyz
    Grassとラムダ計算とLisp - * *scrap*
  • はてなグループの終了日を2020年1月31日(金)に決定しました - はてなの告知


    2020131()  2019 -   : 2020131() :2020131() 稿 稿 -   2020-06-25  2020228
    はてなグループの終了日を2020年1月31日(金)に決定しました - はてなの告知
  • 2008-09-20

    終わりました。53Bの解説…は面倒くさいので、擬似コードと分かる人にしか分からない解説を。 f(g, c){ cp = c + 1 b = 'w' == cp c_or_cp = b(c, cp) c_or_g = b(c, g) # ここで上で使った残骸を再利用 c_or_g(c_or_g, c_or_cp) # 真なら1引数を取りc(つまりv)を返し、偽なら再帰呼び出し } r = f(f, 'w') v = r(r) out(v)ポイントは、分岐の書き方。 真偽値は二引数をとり、真なら第一、偽なら第二引数を返す関数で表されるのですが、分岐を二つ作る際に、真の方は同じものを使うことで、関数適用の回数を一回抑えています。 で、このパターンはどう考えても自分も何度も書いてたのに、なんで負けたんだーと思ってたんですが、確かまだこのパターン書いてたときは、関数適用順によって長さ変わるのに気づい

    2008-09-20
  • Yet Another Grass 処理系 - まめめも


    http://github.com/mame/grass-misc/tree/master/  Grass  yagi.rb (Yet Another Grass Interpreter)  yagc.rb  Grass  () Grass  Ruby  $ ./yagc.rb hello.www > hello.rb $ ruby19 hello.rb; echo Hello, world! Proc#curry 使 yagd.rb yagc.rb  Ruby  Grass  $ ./yagd.rb hello.rb > hello2.www $ ./yagi.rb hello2.www;
    Yet Another Grass 処理系 - まめめも
    okagawa
    okagawa 2008/09/16
    Grass <-> rubyコンバータ
  • grass.el - irie @ ウィキ


    #center(){&sizex(7){grass.el}} _, ._  ω  ==, |:::::::::, ', ´  ((.  * Emacs[[Grass>http://www.blue.sky.or.jp/grass/doc_ja.html]] [[grass.scm>http://d.hatena.ne.jp/higepon/20080605/1212678422]]  ([[>gras
    grass.el - irie @ ウィキ
  • Glid: Grass/Let interpreter and decompiler - λx. x K S K @はてな

    草言語Grassが流行っているようなので,Grassプログラミング支援ツールGlidを公開します. Objective Camlで実装されているという点ではYTさんに先を越されてしまいましたが, より多くの機能を提供しています. といっても,実装の効率はあまりよくないので,速いGrass処理系が欲しいだけの方にはあまり役に立ちません. Glidは,簡単にいうと言語Grassと言語Letの間の双方向の翻訳ツールです. 言語Letは,次の文法で与えられる単純な関数型言語でGrassよりは楽にプログラムが書けます. Prog := Def* Def := let Var Var* = Exp Exp := Var | Exp Exp | let Var = Exp in Exp | Exp;Exp Var := In | Out | Succ | W | [_a-zA-Z0-9]+ 主な使用目的

    Glid: Grass/Let interpreter and decompiler - λx. x K S K @はてな
    okagawa
    okagawa 2008/09/14
    Grass <-> Letコンバータ
  • 紫ログ:Grass on AWK - AWKでちょっと草を - livedoor Blog(ブログ)


     GrassAWK Grass  λ-calculus使 W,w,v 3 AWK AWKYgrass.el  AWK...   "/i[j]a.b;c.d;e.f;...;y.z;" 
  • 本を読む bashでGrassをキメたら悪酔いしたwww

    ,r;;;;ミミミミミミヽ,,_ ,i':r"    + `ミ;;, __,、           ≡     彡        ミ;;;i 〃ニ;;::`lヽ,,_           ≡  彡 ,,,,,、 ,,,,、、 ミ;;;! 〈 (lll!! テ-;;;;゙fn    __,,--、_  ..   ,ゞi" ̄ フ‐! ̄~~|-ゞ, ≡ /ヽ-〃;;;;;;;llllll7,,__/"  \三=ー"."ヾi `ー‐'、 ,ゝ--、' 〉;r'  ≡  bashは自分を評価することができるんです >、/:::/<;;;lllメ   \ヾ、  ヽTf=ヽ  `,|  / "ii" ヽ  |ノ j,, ヾて)r=- | ヾ:   :ヽ;;:     | l |  l  ''t ←―→ )/イ^    ≡ awkとは違うんです ,イ ヽ二)l(_,>" l|    ::\;::    |

    okagawa
    okagawa 2008/09/14
    bashによるGrassの実装
  • v - Note

    インタプリタは楽勝で書けたんですけど(一応仕様以外見てないです)、肝心のgrassコードを書ける気が全くしません。 WWwwwでxが用意できて、そこから1インクリメントするのにWWWw,WWWWw,WWWWWw...しかないんじゃないでしょうか。 そもそもトップが56バイトってことは、ですね……3^56ぐらい、真面目に考えるより全探索したほうが早いんじゃないでしょうか。*1 *1:3^56 = 523347633027360537213511521多いなorz

    v - Note
  • 1