タグ

langに関するyuguiのブックマーク (328)

  • Clojureの世界観 - 紙箱

    ブログを書くのは久々です。 京都で小さな会社をやっていて、自社開発でClojureとClojureScriptを使用し続けて、概ね3年くらい使い続けています。その過程で、Clojure自体にも小さいながらソースレベルの貢献ができたりして、オープンソースプロジェクトとしても面白かったのですが、もともとオブジェクト指向言語ばかりやってきたところから、Clojureという、まったくオブジェクト指向言語ではない言語に飛び込んだ経験や考えたことなんかを、ブログにストックすると、何か他の人にも役立つこともあるかと思って、ブログに書くことにしました。 このところずっと、自社の仕事とは別に、恵比寿にある 株式会社ユーザベース さんのお仕事に参加しています(私が法人を作る前からなので、もう5、6年くらいになります)。そちらの方でもClojureやシステム設計の話(プレゼンなど)などを何度かさせてもらったり、

    Clojureの世界観 - 紙箱
    yugui
    yugui 2017/12/02
  • 安全な非同期イベント駆動プログラミングのためのP言語をMicrosoftがオープンソース化

    Spring BootによるAPIバックエンド構築実践ガイド 第2版 何千人もの開発者が、InfoQのミニブック「Practical Guide to Building an API Back End with Spring Boot」から、Spring Bootを使ったREST API構築の基礎を学んだ。このでは、出版時に新しくリリースされたバージョンである Spring Boot 2 を使用している。しかし、Spring Boot3が最近リリースされ、重要な変...

    安全な非同期イベント駆動プログラミングのためのP言語をMicrosoftがオープンソース化
  • Brainfuck interpreter in Ruby's Regexp - 兼雑記

    Ruby の正規表現だけで Brainfuck インタプリタを作ることができました。正規表現の実行は =~ だけなので、ループなども正規表現の内部で実行してます。 https://github.com/shinh/hack/blob/master/bf_rb_reg/bf.rb つまりどういうことができるかというと、 BF_REG という Regexp と BF_SUFFIX という文字列定数があって、 bf という文字列に格納された Brainfuck のコードを BF_REG =~ bf + BF_SUFFIX で実行することができます。出力は $~['o0'], $~['o1'], ... に入っているので、 output = '' 256.times do |i| o = $~["o#{i}"] break if !o output += o end 的なコードで取り出すことができ

    Brainfuck interpreter in Ruby's Regexp - 兼雑記
  • 白と黒のとびら 感想 - なにかのまねごと

    夫の棚に入っていたこの。 白と黒のとびら: オートマトンと形式言語をめぐる冒険 作者: 川添愛 出版社/メーカー: 東京大学出版会 発売日: 2013/04/19 メディア: 単行 この商品を含むブログ (11件) を見る オートマトンと言えばチューリングマシン、形式言語と言えばプログラミング言語じゃないですか(大学時代のうろ覚え知識)。なんか面白そうと思って手に取ってみたら、ガチで面白かったです。 ファンタジー世界での物語を通して、オートマトンと形式言語についての基礎理論を学ぶなのですが、ファンタジー小説としても面白いし、オートマトンと形式言語についての基礎理論と言うか考え方の基といったものがパズルみたいに分かってくるのも面白い、という二重の楽しみが得られるです。 あらすじ 魔術師アルドゥインの弟子、ガレット少年は、師に不満を抱いていた。いつまでたっても魔法を教えてくれないか

    白と黒のとびら 感想 - なにかのまねごと
  • 30のプログラミング言語でFast inverse square rootを実装してみました! - プログラムモグモグ

    あなたの好きな言語は何ですか。そして、あなたの好きなアルゴリズムは何ですか。 好きな言語があると、その言語でどんな問題でも解決しようとなりがちになります。その言語を極めるのは素晴らしいことですが、その言語や似たような言語でしかコードが書けなくなったり、他の言語に対して見向きもしなくなってしまう可能性があります。 勇気を出して新しい言語にチャレンジしてみませんか?色々な言語に挑戦してみませんか? 何から始めればいいか分からない。次にどの言語を学べばいいか分からない。いま特に何も困っていない。何でも得意な言語で書けてしまう。そういう人が多いのではないでしょうか。 新しい言語にチャレンジするきっかけを作る一つの方法は、ある特定のアルゴリズムを一つ決めて、あらゆる言語で実装してみることです。解く問題が大きすぎると力尽きてしまうので、せいぜい20〜30行程度で書ける簡単なものが良いでしょう。大事なこ

    30のプログラミング言語でFast inverse square rootを実装してみました! - プログラムモグモグ
    yugui
    yugui 2016/07/25
  • PureScript:JavaScriptにコンパイルされるHaskellライクな言語

    Spring BootによるAPIバックエンド構築実践ガイド 第2版 何千人もの開発者が、InfoQのミニブック「Practical Guide to Building an API Back End with Spring Boot」から、Spring Bootを使ったREST API構築の基礎を学んだ。このでは、出版時に新しくリリースされたバージョンである Spring Boot 2 を使用している。しかし、Spring Boot3が最近リリースされ、重要な変...

    PureScript:JavaScriptにコンパイルされるHaskellライクな言語
  • パワフルではない言語が必要 – 表現力と合理性のトレードオフについて、Pythonを例に考える | POSTD

    多くのシステムは“パワフル”であることを売りにしています。パワフルであることを悪いことだと指摘するのは困難に思えますし、この言葉を使う人々はほとんど全て、良いことと想定して使っているようです。 この記事では、 パワフルではない 言語やシステムが必要なケースも多いということを論じたいと思います。 まずその前に、この記事を書くにあたって、私自身のオリジナルの知見はほんのわずかしかない、ということを述べておきます。ここに述べた一連の考えの背景には、Hofstadterの著作 『Gödel, Escher, Bach: An Eternal Golden Braid』 (訳注:日語版があります。 『ゲーデル、エッシャー、バッハ – あるいは不思議の環』 )を読んだことがあります。このを読んだことで、私自身の経験から得てきた原則について、考えがまとまりました。Philip Wadlerの投稿、

    パワフルではない言語が必要 – 表現力と合理性のトレードオフについて、Pythonを例に考える | POSTD
    yugui
    yugui 2016/01/15
  • Qoncept, Inc.

    Realtime Visual Tracking Technology Specialists 画像処理によるリアルタイムトラッキングをコア技術として 高い専門性を持ったメンバーが集まり 実社会に活きる技術を開発し続けます Latest News ゴルフ弾道計測アプリ Golfboyが全世界で累計50,000ユーザーを突破 2022.10.19 - Tracking・その他 月間アクティブユーザー数は4,000ユーザーを突破 Golfboy(ゴルフボーイ)は、iPhoneのカメラを利用したゴルフの弾道計測アプリです。 スマートフォンと三脚さえあれば誰でも手軽に利用でき、独自の画像処理技術により 飛距離、ボールスピード、打ち出し角度、クラブ速度などをリアルタイムに計測します。 またスイング自動撮影、フォーム解析、パター解析、シミュレーションゴルフ機能など、 1つアプリで実現。他の追随を許さな

    yugui
    yugui 2015/11/03
  • Erlang VM(BEAM) スレッド構成

    Erlang の実行環境である BEAM の動作を理解するため、BEAM のスレッド構成を調査しました。 BEAM は SMP(マルチコア) 環境と非 SMP 環境では動作が大きくことなります。SMP環境と非SMP環境に分けてスレッド構成を記載します。 調査対象の OTP のバージョンは R16B03-1です。 非SMP環境 Erlang Interactive Shell を起動する際に、オプションとして '-smp disable' を付与すると、CPUはSMPでも、BEAMとしては非SMPモードで起動できます。 'erl -smp disable' で起動すると、11個のスレッドが見つかりました。11スレッドの内訳は以下のようになります。 スレッド名関数名個数 Main Threadprocess_main1 Async Threadasync_main10 Main Thread

    yugui
    yugui 2015/11/01
  • Matz「Rubyの一番悪い点はPerlの影響」!? 次世代の言語の話も盛りだくさん #yapcasia #yapcasiaA

    まとめ YAPC::Asia Tokyo 2015 #yapcasia 全セッション総まとめ 前夜祭から大盛り上がりの様子を完全まとめしていきます。実況ツイートはトラック毎のハッシュタグ付き推奨! #yapcasia / 全体 #yapcasiaA / トラックA (国際会議場) #yapcasiaB / トラックB (701-702) #yapcasiaC / トラックC (703) #yapcasiaD / トラックD (605-606) #yapcasiaE / トラックE (607-608) #yapcasiaDinner / 懇親会 (レセプションホール) 16514 pv 94 39 users 57

    Matz「Rubyの一番悪い点はPerlの影響」!? 次世代の言語の話も盛りだくさん #yapcasia #yapcasiaA
  • http://google.github.io/jsonnet/doc/comparisons.html

  • 誰も書かないCoq入門以前の話 - 檜山正幸のキマイラ飼育記 (はてなBlog)

    WindowsへのCoqのインストール」: 事情があって、AgdaかCoqを触ってみようか、と。 事情というのは、個々の命題の証明(確認)は割と簡単そうだが、命題がイッパイあるのでウンザリな状況のことです。家計簿の計算が筆算だと面倒だから電卓を使いたい、という状況と同様です。 それでCoqのインストールは済んだのですが、処理系の使い方が分からない。個々の操作は覚えていけばいいのでしょうが、そもそもCoq処理系が何をするものなのか? が理解できないのです。Web上にCoqの解説は幾つもあるのですが、「いやいや、そうじゃなくて、それ以前のことがサッパリわからんのですけど」という感じ。スタートラインに立てない。 それで、「Coqの解説」じゃなくて「Coqの仕様」を読んだほうがいいのかも、と https://coq.inria.fr/distrib/current/refman/ (リファレンス

    誰も書かないCoq入門以前の話 - 檜山正幸のキマイラ飼育記 (はてなBlog)
    yugui
    yugui 2014/12/08
  • Hilbert<ヒルベルト> - 世界で一番ピュアなプログラミング言語 -

    Hilbertは数学における普遍妥当な論理式を機械的に導出可能とする公理系と推論法則を言語内部に構築し、実数学の諸概念を離散世界の抽象物に飛ばす機構を目指した言語です.

  • http://biblion.epfl.ch/EPFL/theses/2007/3899/EPFL_TH3899.pdf

    POUR L'OBTENTION DU GRADE DE DOCTEUR ÈS SCIENCES PAR Dipl.-Inform., RWTH, Aachen, Allemagne et de nationalité allemande acceptée sur proposition du jury: Prof. M. A. Shokrollahi, président du jury Prof. M. Odersky, directeur de thèse Prof. V. Kuncak, rapporteur Dr D. Syme, rapporteur Dr M. Zenger, rapporteur Object-Oriented Pattern Matching Burak EMIR THÈSE NO 3899 (2007) ÉCOLE POLYTECHNIQUE FÉDÉ

  • ceylonとか話題になってるらしいが、あえてpizzaを紹介してScalaの誕生理由とかAlgebraic Data Typesとかいろいろ考えてみる - xuwei-k's blog

    なんだか、最近ceylonっていう新しいJVM上の言語がでたらしく、自分のTL上では話題になってました・・・ が、自分は興味わかないというか、Scalaがこれだけtwitterをはじめものすごく実用でつかわれてるのに、今更新しい言語つくって普及させるとかどうなの?という立場です。まぁ言語仕様もちゃんと見てないであれなんですが(・ω・`) だれかceylonの魅力を延々と語ってください。 たしかに、Scalaは複雑すぎる的な印象は仕方ない部分もあるかもしれないですが・・・とか考えてるときに、そういえばScalaを作成する以前にodersky先生がつくっていた言語あったよなーとか思い出して、前から書こうかと思っていたのでpizzaについて紹介してみます!というよくわからない流れヽ(`▽´)/ pizzaというのは、Scalaの作者であるodersky先生がScalaを作る前につくっていたJVM

    ceylonとか話題になってるらしいが、あえてpizzaを紹介してScalaの誕生理由とかAlgebraic Data Typesとかいろいろ考えてみる - xuwei-k's blog
  • Rubyで俺指向言語Qのプロトタイプ作った - Qiita

    fooo↑↑ 動機 僕はただの数学/統計系の学部生で、RやMathematicaなどの言語を強いられる事が多いのですが、 RubyやHaskellやScalaなどのステキな言語を知っていると「ちょっとな〜」と思っておりましたところ、 突然「あ、新しい言語作らなアカン」という不可思議な衝動に駆られ ガッと取り憑かれたように実装し、少し冷静になってQiitaを書いているのが今です. フィードバックを頂きながら育てて行きたいと思います(コミッター絶賛募集中、ワイワイ楽しくやりたいです. アメちゃん差し上げるのでお願いします. ) 現在はコンパイラと4秒くらいで作ったインタプリタがあります. ポリシー 一番大きな観念としては 「紙とペンの感動をキーボードで」 です. 後々の可読性や保守性などはどうでもよくて、 「その瞬間(コードを書いている瞬間)の気持ちよさ、心地よさ、そしてその返値を楽しむ事」

    Rubyで俺指向言語Qのプロトタイプ作った - Qiita
  • 81 Free eBooks On C, C# And C++

    This section provides news and updates on the latest developments in the electronics and technology industry. It covers topics such as IoT, robotics, AI, and more.

    81 Free eBooks On C, C# And C++
    yugui
    yugui 2014/02/07
  • Haxeのenumのすごさをみんなに伝えたい | しっぽのブログ

    ブログもリニューアルして最初の記事くらいは技術ブログっぽい記事を書こうかと思い、今回は、Haxe(ヘックス)のenum(エニュム)についてちゃんと説明します。 Haxeそのものの紹介はこちらを見てください。 altJS勉強会「Haxeすごいからみんな使え!」 最近Haxeについて記事や紹介も色々上がってきてて嬉しい限りです。 これで、なぜか無い日語書籍が出れば、もうちょっと弾みがつくと思うんですが、誰か英語のあれ翻訳して出版しないんですかね。 で、その一つにちょっと前に池田さんが書いたこういう記事があって、 モダンな言語でHTML5を開発しよう! 俯瞰して理解するaltJSの比較 (前篇 – TypeScript, CoffeeScript, Haxe) | HTML5Experts.jp これに、HaxeのenumとTypeScriptのenumを一緒にすんなや!っていう文句がついてた

  • ほんとうはこわいIdris 〜 tacticメタプログラミング - Qiita

    はじめに Idris分からん! 誰か教えてくれー こわくないIdris Idrisについて全く知らないって人は、僕が以前書いた記事を読んでください。 こわくない Idris で M59のブログ を検索 tacticとは カリー゠ハワード同型対応があるからプログラムを書くことがそのまま証明を書くことになるのだが、それとは別に定理証明器のとるべき戦略=tacticを記述することによっても証明を書くことができる。 Coqのtacticと比べるとIdrisのそれはとても貧弱に見える。前試したときは、自分でプログラム書いて証明した方がまだ楽なんじゃないかと思った。 Language.Reflectionモジュールを使うと、tacticを生成する関数を定義できる。例えば、Data.Vectモジュールに定義されているfindElemがある。 Elem その前に、Elemというデータ型について書いておこう

    ほんとうはこわいIdris 〜 tacticメタプログラミング - Qiita
    yugui
    yugui 2013/12/22
  • 「今日使われているプログラミング言語の多くは、なぜ1990年前後に誕生したものなのか」に関する一考察 - kazuhoのメモ置き場

    若い人たちは、「文字列型」があるプログラミング言語しか知らないかもしれない。だが、汎用的な文字列型が一般的になったのは、プログラミング言語の歴史の中でも比較的最近のことである。 たとえば、1972年に誕生したC言語には文字列型がない。1980年代に良く使われていたPascalの文字列型は最大255文字しか格納できなかった。 なぜか? それはメモリが貴重なリソースだったから。 1980年代のPCの搭載メモリは多くて数メガバイト。これに対し、長編小説の長さは1MB程度に達する*1。 当時、メモリはとても貴重な資源であり、テキストを処理するプログラムを開発するにあたっては、文字列をどのようにメモリ内に展開するかプログラマが細かくコーディングする必要があった。 だから、汎用的な「文字列型」というのは「夢」にすぎなかった。CあるいはPascalにおける文字列(CのASCIIZ文字列あるいはPasca

    「今日使われているプログラミング言語の多くは、なぜ1990年前後に誕生したものなのか」に関する一考察 - kazuhoのメモ置き場
    yugui
    yugui 2013/12/21