[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

タグ

ブックマーク / k-1.hatenablog.com (6)

  • shinjuku.ex#7 - Fat Old Sun

    久しぶりに開催されたshinjuku.exに参加。今年に入ってからelixir界隈はにぎわってきていて、 Programming Elixir のような書籍が現れてきた。他にもオライリーからも出版されてきている。 そんな背景と関係あるのか無いのか、今回はKDDIウェブコミュニケーションズが会場であった。 SigilかわいいよSigil Sigilとはリテラルの拡張にあたるもので、言語組み込みとしては正規表現の%rやバイナリの%bが存在している。elixirではユーザ定義のSigilを使うことができるので今回はそのネタ。 Sigilの定義の仕方 言語で予約されているSigilは以下のとおり b バイナリ文字列(エスケープあり, ””と同様) B バイナリ文字列(エスケープなし) c 文字リスト(エスケープあり, ''と同様) C 文字リスト(エスケープなし) r 正規表現(エスケープあり)

    shinjuku.ex#7 - Fat Old Sun
    udzura
    udzura 2013/07/02
    “elixirではユーザ定義のSigilを使うことができる”まじで。。。
  • [elixir][heroku][dynamo] herokuでrun dynamo!してみるテスト - Fat Old Sun

    dynamoというweb frameworkがある。sinatraに似ているということだが、sinatraに詳しくないのですいません。 get "/" do render "hoge.html", [a: "test", b: "teset2"] end とかするとテンプレートhoge.html.eexに変数 aに "test", bに"test2"が代入されてレンダリングされるという感じの物。 ここでは、テンプレートエンジンとして markdown処理系の一つである erlmarkdown を採用してdynamoに組み込んで、herokuへデプロイしてみようというテストをしてみた。 作成するアプリケーションの名前は tinymd とした。ベタだねー。 mix new tinymd dynamoをインストール後、 mix new tinymdでアプリケーションのひな形を作製する。 buil

    [elixir][heroku][dynamo] herokuでrun dynamo!してみるテスト - Fat Old Sun
    udzura
    udzura 2013/03/14
    CMS on Elixir
  • elixir-modeをハックしてみた - Fat Old Sun

    elixir向けのemacs メジャーモードとしてはhttps://github.com/secondplanet/elixir-modeがあるのだが、0.4.0-dev以降のelixirには対応していない。elixir側も結構キーワードが変わっているし、作者氏も更新するのをやめてしまったみたいだし、インデントコマンドが無限ループするなど微妙なのだ。 ということで、forkしてクイックハックしてみた。 GitHub - k1complete/elixir-mode: Emacs major mode for Elixir においているので適当にgit cloneしてみてください。 変更内容 ハイライトのキーワード追加 defmacro, defmodule, defrecordなどを追加。 制御変数を追加 elixir-basic-offset 8 通常のインデントの単位 elixir-k

    elixir-modeをハックしてみた - Fat Old Sun
    udzura
    udzura 2012/04/12
    素晴らしいです! #shinjukuex / elixir-basic-offsetはRubyにそろえた2で是非(宗教的/公式のコードやチュートリもそう?
  • elixirはプログラマの万能薬になるか その3 - Fat Old Sun

    前回はrubyなところを主に説明してきたので、いよいよ今回はLispな所であり、個人的に最もエキサイティングだと感じているメタプログラミングについて記述する。 メタプログラミング プログラムを書くプログラムを書く事をメタプログラミングと呼ぶ。Cのプリプロセッサや、yacc等のコード生成系もメタプログラムの範囲に含める場合があるようだが、Lispが最も有名であり、徹底されている。LispはプログラムがLispのS式で表現されているため、Lispの全能力使ってメタプログラミングが行える。それ故に、Lispは他の言語とは次元の違う強力さを持っている。プログラム言語がデータ構造として表現できる事(homoiconic)と、構文解析とコード生成の間にマクロの層があることがこの強力さの源になっている。 一方、elixirはというと、ruby風味のシンタックスであるにも関わらず、Lisp並のメタプログラ

    elixirはプログラマの万能薬になるか その3 - Fat Old Sun
  • elixirはプログラマの万能薬になるか その2 - Fat Old Sun

    前回のエントリの続きで、elixirの「ふつうの」言語である側面の説明となる。とはいうものの、関数型言語になじみがない人にとっては新鮮かもしれない。 内容は、Redirecting…とほぼ同じになってしまっている。 データタイプ 基データタイプ 基データタイプは以下のとおり。 iex> 1 # integer iex> 1.0 # float iex> :atom # atom / symbol iex> {1,2,3} # tuple iex> [1,2,3] # list 関数 関数オブジェクト(無名関数)もあるが、変数に格納された関数を呼び出すときには、変数と引数をドットで区切る。Erlangではfun() -> body endだが、Elixirではfn() -> body endになる。 iex> x = fn(y,z) -> y + z end #Fun<erl_eval.

    elixirはプログラマの万能薬になるか その2 - Fat Old Sun
    udzura
    udzura 2012/03/18
    続編、”次回は、いよいよ、elixir独自の変態的なメタプログラミングを説明する(はず)。”(ドドドドド
  • elixirはプログラマの万能薬になるか - Fat Old Sun

    erlang/OTP界隈でreiaというrubyフレーバーの言語が開発されて以来、erlang/OTP上で動作する言語がいくつか開発されている(efene, LFE(Lisp Flavoured Erlang)など)。どれも、erlang/OTPの独特な機能である、並行性、動的アップグレード、対障害性などをもっと、「普通の」言語から利用したいという要求だろう。 elixirはそんな中、reiaのすぐ後に独立して開発され、reiaの後継プロジェクトに指定された歴史を持つ。 当初はreiaと同様にrubyフレーバーの言語とオブジェクトシステムを持っていたが、2011年末の0.4-devから大胆に仕様変更を行い、全く別のものとなった。 特徴 近代的なシンタックス ruby風味なので、Prologチックなerlangに比べて取っ付きやすくなっている。 強力なメタプログラミング機能 homoicon

    elixirはプログラマの万能薬になるか - Fat Old Sun
  • 1