タグ

D言語に関するoutland_karasuのブックマーク (11)

  • D言語もくもく会(1) (2019/01/26 14:00〜)

    お知らせ ソーシャル認証に頼らず安全にログインしていただくため、すべてのユーザーに対してパスワードの設定を必須といたしました。まだパスワードを設定されていない方は、パスワード設定画面よりご設定をお願い申し上げます。 機能改善 領収データ発行機能にてインボイス制度の書式での出力に対応しました。 詳しくはこちらをご覧ください。 新機能 参加者によるオンライン出席機能をリリースしました。今までは主催者による出席管理機能はありましたが、大規模イベント等での受付処理が大変とのフィードバックをいただいてました。今後はイベント作成時に発行される「出席コード」を会場現地や配信で共有してもらうことで、参加者自身でイベント出席登録を行うことができるようになります。これにより受付処理が容易になりますので、イベント主催者の皆様はぜひご活用ください。詳しくはこちらのニュース や 特集ページ をご確認ください。

    D言語もくもく会(1) (2019/01/26 14:00〜)
  • D言語でコンパイル時に動く正規表現エンジンを作る

    そもそもD言語にはstd.regex.ctRegexというコンパイル時正規表現エンジンがあるのですが,パターンのコンパイルはできてもマッチなどの操作はコンパイル時は動きません. import std.regex; void main() { // 公式ドキュメントの例をauto -> static constに // Error: cannot convert `&immutable(Regex!char)` to `Regex!char*` at compile time ... static const ctr = ctRegex!(`^.*/([^/]+)/?$`); static const c2 = matchFirst("foo/bar", ctr); // First match found here, if any static assert(!c2.empty); //

  • D言語くんにもできるRaspberry Piベアメタルプログラミング - Qiita

    今回のソース はじめに D言語のver. 2.076から、-betterCオプションが追加されました。 言語仕様 Blog D as a Better C このオプションを使用すると、druntimeやPhobosはコンパイル時に参照されなくなり、ランタイムライブラリを使用するような機能は使えなくなります。 その代わり、コンパイル時のみで解決できるような機能は制限されません。 つまり、PhobosやC言語の標準ライブラリに依存していないD言語のサブセットを、コンパイラのチェックのもと使うことができます。 これを嬉しく思える人はたぶんごく一部ですが、以下のような場合に該当すると思われます。 OSやドライバなど、ランタイムライブラリを気軽に使用できない部分の実装 マイコンなどの組み込み機器向けのプログラミング リアルタイム性の高い箇所で、GCなどのオーバーヘッドのある言語機能を排除したい場

    D言語くんにもできるRaspberry Piベアメタルプログラミング - Qiita
    outland_karasu
    outland_karasu 2018/01/01
    書きました。
  • #dlang マイナス時間で完了するfizzbuzz - Kotet's Personal Blog

    D言語なら、この程度の処理はマイナス時間で完了する。 コンパイル時にメッセージまで出力し、プログラムが開始する前に全てを終わらせられるのだ。 - outland_karasuのコメント / はてなブックマーク 前回からdmdのバージョンが上がり、 static foreachも入ったのでD言語 Advent Calendar 2017 5日目の記事としてもう一度fizzbuzzを書いてみる。 しかし自分は記憶力がないのでそもそもfizzbuzzとは何かを忘れている。 ここであらためてfizzbuzzを説明しよう。 1から100までの数をプリントするプログラムを書け。 ただし3の倍数のときは数の代わりに「Fizz」と、5の倍数のときは「Buzz」とプリントし、3と5両方の倍数の場合には「FizzBuzz」とプリントすること。1 というわけでstatic foreachを使ってFizzBuzz

    #dlang マイナス時間で完了するfizzbuzz - Kotet's Personal Blog
  • まだ数学で消耗してるの??そんなあなたに、とにかく楽しい(日曜)数学者たち4選です。 - はるさんの日記。

    2016 - 03 - 09 まだ数学で消耗してるの??そんなあなたに、とにかく楽しい(日曜)数学者たち4選です。 こんばんは。はるさんです。 マイ・フレンド曰く、 「 まだ数学で消耗してるの? っていうタイトルで書いちゃいましょうw」 と。なので早速書いてみました。 でも炎上とか、煽りとか苦手なので、 できるだけ平和に収めたいです・・・。 煽ってすみません。ペコペコ。 さて・・・。 次の投稿どうしようかな〜と考えていたのですが、 「徐々に数学度を増していこう・・・!!!」 ということで、 今回は、あの有名な ジョジョ のセリフについての考察からはじめて 私の周りのとにかく楽しい(日曜)数学者さんたちの魅力を 厳選に厳選を重ねて、4名お伝えしたいと思います。 徐々だけにね!(←すみません。。。ペコペコ。) これをきっかけに、 「数学って意外と楽しそうだナ❤(人´∀`*)」 と思っていただけ

    まだ数学で消耗してるの??そんなあなたに、とにかく楽しい(日曜)数学者たち4選です。 - はるさんの日記。
    outland_karasu
    outland_karasu 2016/03/09
    やった!D言語という言葉を2回も出してもらえた!!
  • D言語Web本のレビューをした話 - Go to the future

    はじめに タイトルの通り,来年1月くらいにPackt Publishingから出版される予定のD Web Developmentのテクニカルレビュアーをやらせてもらったお話です. の内容とかは書けませんが,どのような経緯でこうなったのかの流れを書いていきます. 出版社からのお誘い ある日突然,こんなメールが届きました. 担当者(意訳):「やあ,PACKT PublishingではD言語のvibe.dに関するを出そうと思ってるんだけど興味ない?Googleで検索したらGitHubのキミのプロフィールにたどり着いたんだけど.レビューするのに興味あったらメールしてね?」 このメールだけだと,「レビュー」とは何をすることなのかイマイチ把握できなかったので,以下の内容で返信してみました. 私(意訳):「メールありがとうございます。大変興味がありますが,私は今まで一度もそのようなことをしたことがあ

    D言語Web本のレビューをした話 - Go to the future
  • Day of D言語くん - Qiita

    Merry Christmas !!! 今回 Effekseer でD言語くんを彩るエフェクトを作ってみました。 各シーンに特に意味はないぞ! デジタルマァズの世界から召喚されたD言語くん 異世界からやってきたぞ! デコられるD言語くん イマドキ流行してるクリスマスツリーだぞ! 人気者のD言語くん 光の魔法でクリスマスのお祝いをするぞ! 発射されるD言語くん ロケットエンジンで飛べるぞ! 飛翔するD言語くん 回転するとジャイロ効果によって飛行が安定するぞ! 疲れからか黒塗りの高級車にぶつかってしまうD言語くん 完全に撃破したから示談とか関係ないぞ! 量産されるD言語くん なかまがふえるぞ! 空から降る1億のD言語くん やがて世界はD言語くんで包まれるだろう。 人はそれを審判の日と呼んだ。 終

    Day of D言語くん - Qiita
  • D言語でコンピュータ将棋プレイヤを作りました - Qiita

    test1, test2の(LDCの)結果から、(テストが間違ってなければ)ゲーム木探索でも1コア100万局面/秒を見込める実行速度が出ていると考えられます。実際、電王トーナメント時のcore-i7 6700K環境の4スレッド並列探索では、合法手数の少ない序盤局面&軽めの2駒関係の評価関数という条件ですが400万局面/秒出ていました。 (C/C++で実装された他プログラムと比較しても負けてない速度は出ていると思います![要出典]) ビットボードの演算子の一括オーバーロード ビットボード:1マスを1ビットで表現→将棋では81ビット以上必要(、なので構造体でビット演算を定義したい、できればSSEを使いたい) D言語では演算子をopBinary(2項演算), opUnary(単項演算), opOpAssign(代入演算)などでまとめてオーバーロードでき、コードがすっきりします。 またオーバーロー

    D言語でコンピュータ将棋プレイヤを作りました - Qiita
  • D言語はデータサイエンスのためにある | POSTD

    Andrew Pascoeは、 部屋に座っている AdRollのシニアデータサイエンティストです。 プログラミング言語D は、効率的にタスクをこなすためにデータサイエンスチームがすぐに好んで使うようになりました。今では重要なインフラストラクチャに欠かせない言語になっています。なぜでしょうか。それはD言語が多くを提供するからです。 簡単な紹介 他の典型的なデータサイエンスワークフローと比較して、D言語を使用する最も明確な利点の1つは、マシンコードにコンパイルできるという点です。インタプリタや仮想マシンレイヤがなければ、Java Hadoopフレームワーク、R、Pythonのような他のツールよりかなり高速にデータ中からリッピングできます。しかし、D言語のコンパイラは、多くの場合、まるでスクリプト言語のように高速に実行できます。100万の一様ランダム変量を生成し、ソートし、十分位数を見つける処理

    D言語はデータサイエンスのためにある | POSTD
    outland_karasu
    outland_karasu 2015/02/24
    こういった、速いコードを手早く作ってトライ&エラーを繰り返したい時にはとても向いている言語だと思う。低レベルに下ってアセンブラでSSE使ったりOSのネイティブAPI叩く事もできるし。
  • D言語の構文を拡張する - Qiita

    D言語 Advent Calendar 2014の23日目の記事です。 更に、Aizu Advent Calendar 2014の23日目の記事でもあります。 D言語には文字列mixin(宣言、文、式)とCTFE(コンパイル時関数実行)という機能があります。 文字通り、文字列mixinは文字列の中身をソースコードとして展開する機能で、 CTFEはコンパイル時に関数を実行する機能です。 上の2つの機能を組み合わせて、D言語の構文を拡張できるライブラリを作りました。 TL;DR 構文拡張ライブラリ:Tcenal Swap演算子追加の例:swapop Tcenal D言語の構文拡張ライブラリです。 https://github.com/youxkei/tcenal どうやって拡張するの? Tcenalは内部でD言語の大部分のパーサを持っていて、そのパーサをオーバーライドする形で拡張します。 その

    D言語の構文を拡張する - Qiita
  • D言語で構文解析器をつくる(1) パーサー・コンビネーター編 - Qiita

    はじめに もくじ D言語で構文解析器をつくる(1) パーサー・コンビネーター編 (記事) D言語で構文解析器をつくる(2) セマンティック・アクション編 D言語で構文解析器をつくる(3) アブストラクト・シンタックス・クリスマスツリー編 今回つくるもの この記事では、簡単なPEGパーサー・コンビネーターを実装します。 こちらのデモのように動かせる物が出来上がります。 以下は、3桁ごとにカンマで区切られている数字(1,000とか1,000,000とか)のチェックを行う簡単なユニットテストです。 unittest { // 1以上の数字 alias rng!('1', '9') n1; // 0以上の数字 alias rng!('0', '9') n0; // カンマ区切り数字の先頭。最初の1桁は[1, 9]で、カンマの出てこない最初の3桁まで alias seq!(n1, opt!n0,

    D言語で構文解析器をつくる(1) パーサー・コンビネーター編 - Qiita
  • 1