タグ

erlangに関するkiyo_hikoのブックマーク (9)

  • [Elixir] guard構文徹底攻略 - Qiita

    やりたいこと パターンマッチをバキバキに仕上げてくれるのが、whenから始まるguard構文。標準で様々な演算子と関数が使えるようになっている。やや量が多いので、しっかりと使いこなせるようにするため汎用性の高そうなguardを一通り書いてみた。 演算子 演算子は以下のものが利用可能。詳細はこちら参照 比較演算子(==,!=,===,!==,>,<,<=,>=) 論理演算子(and,or)と否定演算子(not,!) 算術演算子(+,-,*,/) 左側がリテラルの場合の<>と++ in演算子 チェック関数 で、以下がメインコンテンツ。標準ライブラリから様々なチェック関数が提供されているので、使いそうなものを片っ端から使ってみた。また、いくつかElixirの変数型仕様によるハマりどころもあったので、メモ書き程度だが付記しておく。 defmodule Demo.GuardTest do use D

    [Elixir] guard構文徹底攻略 - Qiita
  • https://ubiteku.oinker.me/2015/12/22/elixir%E8%A9%A6%E9%A3%B2-2-%E3%82%AB%E3%83%AB%E3%83%81%E3%83%A3%E3%83%BC%E3%82%B7%E3%83%A7%E3%83%83%E3%82%AF%E3%81%AB%E6%88%B8%E6%83%91%E3%81%86-%E4%B8%A6%E8%A1%8C%E6%8C%87%E5%90%91%E3%83%97/

    https://ubiteku.oinker.me/2015/12/22/elixir%E8%A9%A6%E9%A3%B2-2-%E3%82%AB%E3%83%AB%E3%83%81%E3%83%A3%E3%83%BC%E3%82%B7%E3%83%A7%E3%83%83%E3%82%AF%E3%81%AB%E6%88%B8%E6%83%91%E3%81%86-%E4%B8%A6%E8%A1%8C%E6%8C%87%E5%90%91%E3%83%97/
    kiyo_hiko
    kiyo_hiko 2016/05/20
    "Hello worldが、いきなり並行処理の例になっている"
  • ElixirからErlangVMにオプションを引き渡す - ハードリカーエンジニア

    Qiitaにて、shibacowさんのElixirでプロセス20万くらい作ってみたという素晴らしいElixirの記事があり、そちらの記事にて最大プロセス数の変更はどのように行えば良いのか自分自身でも気になったため調べたところElixirからErlangVMで生成できるプロセス数を(たぶん)変更できる方法を発見したので記事にしたいと思います。 # 実行環境 OS:OS X Yosemite Erlang:Eshell V6.5, OTP-Version 18 Elixir:v1.0.4 # まずはErlangでプロセス数の変更を確認 Qittaの記事にも記載されておりますが、 erl(1)のドキュメントには OTP-R18より +P オプションにてプロセス数の上限の設定は無効化されていると記載されています。ドキュメントはこちら ただし、実行してみると、どうも動いているようにも見えました。 $

    ElixirからErlangVMにオプションを引き渡す - ハードリカーエンジニア
  • Symfoware

    elixirからepgsqlを使用して、PostgreSQLに接続する elixirからPostgreSQLに接続しています。 OSはFreeBSD 10.1 PostgreSQL 9.4.4 elixir 1.0.5 こんな環境です。 postgrex 最初、postgrexというライブラリを使おうと思ったのですが、 https://github.com/ericmj/postgrex どうしてもエラーが消せず、諦めました。 17:38:12.237 [error] GenServer #PID<0.61.0> terminating Last message: {:tcp, #Port<0.2294>,... State: %{backend_key: nil, bootstrap: false, extensions: [{Postgrex.Extensions.Binary, ni

    Symfoware
  • Elixir/cowboyとRailsのサーバーベンチマーク比較 - Qiita

    業務でAPIサーバーを作る事になり、何で実装しようか検討したという話です。 候補としてRails(定番)が上がっていたものの、 大量のリクエストを捌く必要があるので大変そう ビジネスの成長に合わせてスケールさせ辛い(スゴい勢いで成長する) そこまで複雑な処理はしない(別のサブシスでごりごりやる、こっちはRails製) という事で他の選択を検討しました。 選択しとして Erlang ( + cowboy ) Elixir ( + cowboy ) Scala ( + akka ) Go があがったので、RailsとElixir/cowboyでAPIサーバーのプロトタイプを作ってベンチマーク比較をしてみました。 ※ ElixirはErlangと同水準のBeamを吐くのでErlangは除外しています (実際に計測した結果、同程度の性能でした、こちらは別途結果をまとめて公開します) ※ Go/Sc

    Elixir/cowboyとRailsのサーバーベンチマーク比較 - Qiita
  • Elixir : Erlang VM 上で動作する Ruby 風味の関数型言語 | プログラマーズ雑記帳

    Elixir は Erlang VM (BEAM) 上で動作する Ruby 風の関数型言語です。 今回はこの Elixir の特徴を紹介した後、 Windows へのインストールと簡単な使用法、および Emacs の Elixir 用モードの設定について説明したいと思います。 Elixir とは Elixir の前に Erlang について触れておきます。 Erlang は Java のように仮想マシン(VM)を使った関数型言語です。 Erlang はリアルタイム並列処理などに適しており、 特に耐障害性の高いシステムを求められるときに使います。 Erlang のインストール(Windows)と Emacs モードの設定 | プログラマーズ雑記帳 雑把の仮想マシン(JVM, .NET, BEAM, スクリプト言語, LLVM) | プログラマーズ雑記帳 Erlang はサーバーサイドの言語と

    kiyo_hiko
    kiyo_hiko 2015/07/31
    "一つ難点があります。それは Erlang が Prolog 風の構文を採用しており、癖が強く、 かなり書きづらい点です" かなりよさそう
  • 論理プログラミングつぶやき - kibayos日記

    某高校生のつり http://pc11.2ch.net/test/read.cgi/mysv/1102662133/ で私がつられた箇所: 34: この環境だと、エージェントを送り込んだり(受け入れたり)、それを自由に移動させたりできるように思いますが、 51: 並列実行は可能ですか。 1) 複数サーバにたいするOR並列 2) Prologを拡張してのAND並列 60: プログラム言語は最終的にはMLとPrologの一騎打ちになるとお考えですか。 118: ...日のprolog屋がC/C++なんて書けるはずもないか。無意味な論文積み上げて、博士や大学教員になる事しか考えてないからな。 133: 何故にErlangが出てきたかという話をしておきます。 135: Wijaという環境上に構築されるオーバーレイGHCというものがあります。例の未踏ソフトの一つなのですが、PrologとGHCの違

    論理プログラミングつぶやき - kibayos日記
    kiyo_hiko
    kiyo_hiko 2014/10/14
    "Prologが過去の失敗作として、未だに葬り去られてないのは、この点、つまりユニフィケーションの可能性にある"
  • アクターモデル - Wikipedia

    アクターモデル(英: actor model)とは、1973年、カール・ヒューイット、Peter Bishop、Richard Steiger が発表した並行計算の数学的モデルの一種[1]。アクターモデルでは、並行デジタル計算の汎用的基要素として「アクター」という概念を導入している。アクターモデルは並行性の理論的理解のフレームワークとして使われるほか、並行システムの実装の理論的基礎としても利用されてきた。 アクターモデルはそれ以前の計算モデルとは異なり、物理法則を発想の基としている。他にも、LISP言語、Simula言語、ケーパビリティ・システム、パケット通信、初期のSmalltalkなどの影響を受けている。アクターモデルは「数百・数千のマイクロプロセッサから構成され、個々にローカルメモリを持ち、高性能通信ネットワークで通信を行う並列コンピュータが近い将来登場するとの予測」から開発され

  • Erlang クエックブック

    文字列 文字列を数値に変換する list_to_integer("123"). % 123 list_to_integer("-10"). % -10 n進数の文字列を数値に変換する u は指定した基数で変換、# は文字列が表現している基数で変換します。 io_lib:fread("~16u", "100"). % {ok,[256],[]} io_lib:fread("~2u", "100abc"). % {ok,[4],[abc]} io_lib:fread("~36u", "100%%%"). % {ok,[1296],"%%%"} io_lib:fread("~#", "16#100"). % {ok,[256],[]} io_lib:fread("~#", "2#100abc"). % {ok,[4],[abc]} io_lib:fread("~#", "36#100%%%").

    kiyo_hiko
    kiyo_hiko 2011/02/09
    o(゚д゚)o < ク工エェック!!
  • 1