並び順

ブックマーク数

期間指定

  • から
  • まで

41 - 80 件 / 1111件

新着順 人気順

DSLの検索結果41 - 80 件 / 1111件

  • 【型レベルWeb DSL】 Servantの紹介

    Note 2018-07-28: 最新の lts-12.2 で動くようにサンプルコードを修正しました。 Haskellは型の表現力がとても高い言語です。 型をうまく使えば意図しないプログラムがコンパイルできないように設計することが出来ます。ServantはWebアプリがどのように振る舞うかを型で設計するためのDSLです。APIと対応した型を作ることで間違いが少なくなるだけでなく様々なボイラープレートを型から生成することも出来ます。特殊な外部ファイル等は必要無く全てHaskellの文法で完結します。まさに型の表現力が高いHaskellでしか作れないライブラリです。 Servantの特徴としてチュートリアルでは以下の4つが挙げられています。 concision (簡潔である) flexibility (汎用的・柔軟性がある) separatation of concerns (関心の分離) t

      【型レベルWeb DSL】 Servantの紹介
    • Free-ScalikeJDBC から見る合成可能なDSLの作り方

      You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert

        Free-ScalikeJDBC から見る合成可能なDSLの作り方
      • FluentdでRuby DSLを使う - Qiita

        Ruby DSLとは? fluentdの設定のRuby DSL的な記法。 --use-v1-configでRubyのコードを設定に書くことが出来ますが、さらに柔軟な記法が可能になる。 以前調べていたことがあるので、まとめてみる。 実行方法 設定ファイルの拡張子がrbであればDSLモードで起動する

          FluentdでRuby DSLを使う - Qiita
        • GitHub - heartcombo/simple_form: Forms made easy for Rails! It's tied to a simple DSL, with no opinion on markup.

          You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert

            GitHub - heartcombo/simple_form: Forms made easy for Rails! It's tied to a simple DSL, with no opinion on markup.
          • モデル駆動エンジニアリングのために汎用言語とDSLを組み合わせる - Johan den Haan - Digital Romanticism

            この記事はJohan den Haan氏のブログ記事「http://www.theenterprisearchitect.eu/archive/2008/04/15/combining_general_purpose_lang」を、氏の許可を得て翻訳したものです。(原文公開日:2008年4月15日) モデル駆動エンジニアリングに関する以前の記事で、私はMDEの基本的な原則は「全てがモデルである」ということだと述べた。モデルとその要素にはファーストクラスの地位が与えられている。本質的な違いは、モデルがもはやプログラマのための単なるドキュメントとして使用されるだけではなく、ソフトウェア開発を駆動させるために直接利用できるということだ。モデルは、実装、変換、ソフトウェア成果物の諸相、システムに関する視点などを定義するのに用いられる。この記事で、私はモデルとは何なのか(モデルに関する様々な利用シナ

              モデル駆動エンジニアリングのために汎用言語とDSLを組み合わせる - Johan den Haan - Digital Romanticism
            • DCIアーキテクチャへの違和感から見えてくるユースケースDSL - 石橋秀仁(zerobase)書き散らす

              DCIとDDD DCIアーキテクチャ - Trygve Reenskaug and James O. Coplien - Digital Romanticismを読んだり、DCI meetup w/ @jcoplien for Rubyistsに参加したりして、DCIアーキテクチャについて考えてきた。 DCIはメッセージパッシング指向だ。そのSmalltalk的なオブジェクト指向の原理はいいけど、実装が嫌だ。 そもそも、DCIアーキテクチャ提唱の目的は、メンタルモデルのセマンティクス・ギャップを埋めることだ。DDDの「ユビキタス言語」も、メンタルモデルのセマンティクス・ギャップを埋めるための要素であり手法だ。だから、ふつうにDDD(ドメイン駆動設計)をやればいいと思った。 DCIへの疑問 DCIでは、「オブジェクトのアイデンティティ」にこだわりすぎていることで、アーキテクチャが複雑になって

                DCIアーキテクチャへの違和感から見えてくるユースケースDSL - 石橋秀仁(zerobase)書き散らす
              • 今そこにある“DSL” 記事一覧 | gihyo.jp

                運営元のロゴ Copyright © 2007-2024 All Rights Reserved by Gijutsu-Hyoron Co., Ltd. ページ内容の全部あるいは一部を無断で利用することを禁止します⁠。個別にライセンスが設定されている記事等はそのライセンスに従います。

                  今そこにある“DSL” 記事一覧 | gihyo.jp
                • How DSL works on Ruby

                  Recent Advances in HTTP, controlling them using ruby

                    How DSL works on Ruby
                  • マーチンファウラのDSL本をマインドマップにまとめてみた:An Agile Way:オルタナティブ・ブログ

                    マーチンファウラーのDSLの本(厚い黒本)を読んだので、まとめのマインドマップを描いた。画像をクリックすると拡大します。(astah share で詳しく見れます。こちら。) 最近、Rubyist がまわりに増えて、内部DSLをRubyで作るのが楽しそう。Rubyはメタプログラミングに加えて、豊富なリテラル(MapやList)、ブロック、シンボルをうまく使えることなどもあって、すごくきれいなシンタクスのまま、DSLをサポートできる。 この本では、"Part I"がWhatとWhyに集中してかかれていて、他のパートはDSL設計者のためのパターン集。パート1では、DSLの定義やSemantic Modelの意味、そして、なぜDSLをつかうか、DSLの3つのガテゴリなどが書かれている。 All the DSL does is provide a readable way of populatin

                      マーチンファウラのDSL本をマインドマップにまとめてみた:An Agile Way:オルタナティブ・ブログ
                    • Rustで作る3種のDSL 使いどころから構築方法まで

                      2018年7月3日、D-Cubeが主催するイベント「Running Rust in Production」が開催されました。近年徐々に注目を集めつつあるプログラミング言語Rustを、実際に業務で使っているエンジニアが一堂に会して、自らの知見と取り組みを共有する本イベント。初の開催となる今回は、6名のエンジニアがRustにまつわる知識と経験を語りました。プレゼンテーション「Rustと3種のDSL」に登場したのはκeen氏。 Rustと3種のDSL κeen氏(以下、κeen):今日発表するにあたって事前にアンケートを取ってきました。「聞きたいのは、開発ハプニング集、使ってる便利ライブラリ集、チームの開発環境の整備?」というのを挙げて取ったんですが、どれもかぶりそうだなと思って、これを全部破棄して発表したいと思います。 (会場笑) 「Rustと3種のDSL」について発表します。私はIdein

                        Rustで作る3種のDSL 使いどころから構築方法まで
                      • ScrapyとPhantomJSを用いたスクレイピングDSL

                        2. 自己紹介 • 礒部正幸(いそべ まさゆき) • 職業: ソフトウェアエンジニア • 現在: アドファイブ(株) 代表 http://www.adfive.net – 現体制: 代表1名 + 外注数名 : お問い合わせ – 自社製品: モバイルO2Oアプリ/オウンドメディア/アドサーバ – 受託業務: システムコンサルティング/システム開発/データ分析 • 東工大卒 (B:情報工学科、M:計算工学専攻) • インターネット活動 – TwitterID: @chiral – (ブログ:アドファイブ日記) http://d.hatena.ne.jp/isobe1978/ • 「機械学習ハッカソン」主催: http://mlhackathon.connpass.com/ • 近年作ったスクレイピング利用システム – パケットデータから閲覧Webページの画面キャプチャ再構成 (PhantomJ

                          ScrapyとPhantomJSを用いたスクレイピングDSL
                        • GitHub - cookpad/roadworker: Roadworker is a tool to manage Route53. It defines the state of Route53 using DSL, and updates Route53 according to DSL.

                          You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert

                            GitHub - cookpad/roadworker: Roadworker is a tool to manage Route53. It defines the state of Route53 using DSL, and updates Route53 according to DSL.
                          • DSL-Researches

                            近年,通信理論の分野でgossipプロトコルという通信手法が注目されている.これは情報伝達を確率的に行う手法のひとつであり,例えばアドホックネットワーク上でルーティングを行う際などに多く用いられる[1-4].しかし,gossipプロトコルの性能評価に関する理論的な結果はあまり多くない.また,gossipプロトコルは単一のパケットを拡散する場合のみが陽に考慮されており,複数のパケットを同時に拡散させた場合に関する研究はなされていないなどの問題もある. そこで本研究では,複数の情報が拡散するという現象を調べるために,既存のgossipプロトコルを拡張し,同時に複数の情報を扱えるようにする.そしてその拡張されたgossipプロトコルにおける情報浸透確率などを解析し,その性質を調べていく. Gossipプロトコル 近年,身の回りのあらゆる物を有線あるいは無線のネットワークでつなぐことで様々なサービ

                            • Servant でアクセス制御のWeb DSLを作ってみる - Qiita

                              この記事は CAMPHOR- Advent Calendar 2015 14日目の記事です 3期OBの@lotz84_です! CAMPHOR-ではHaskell人材の育成担当をしています Haskellって? 知らない人のために簡単な解説をしておくと、Haskellは純粋関数型のプログラミング言語で、強力な型と柔軟に扱える関数が特徴です。昔から存在する言語であり実用的にも使われていますがPHPやJavaなどの他のプログラミング言語の影に隠れてそれほど知名度が高いわけでは無いと思います。しかし最近 Immutable や Stateless などをキーワードに関数型のプログラミング言語が再び注目されるようになってきています。 実際のHaskellのコードを見てみましょう。 quicksort :: Ord a => [a] -> [a] quicksort [] = [] quicksort

                                Servant でアクセス制御のWeb DSLを作ってみる - Qiita
                              • Amazon.co.jp: ドメイン特化言語 パターンで学ぶDSLのベストプラクティス46項目: マーチンファウラー (著), Martin Fowler (著), レベッカパーソンズ (その他), Rebecca Parsons (その他), 角征典 (はしがき), 平澤章 (翻訳), 大塚庸史 (翻訳), 坂本直紀 (翻訳), ウルシステムズ株式会社 (監修): 本

                                  Amazon.co.jp: ドメイン特化言語 パターンで学ぶDSLのベストプラクティス46項目: マーチンファウラー (著), Martin Fowler (著), レベッカパーソンズ (その他), Rebecca Parsons (その他), 角征典 (はしがき), 平澤章 (翻訳), 大塚庸史 (翻訳), 坂本直紀 (翻訳), ウルシステムズ株式会社 (監修): 本
                                • RubyでDSLが書きやすい理由を整理する - Qiita

                                  これは何 Rubyは「DSLが書きやすい言語」という説明がされることがあります。 なぜRubyはDSLが書きやすい、と言われるのかを僕なりにまとめてみました。 「こういう要素もあるからだよ」などあればぜひコメントや編集リクエストをいただけると嬉しいです。 DSLの例 DSLとは直訳するとドメイン固有言語です。 簡単なイメージで言うと、「ユーザーが自由に構文に近い仕組みを実装、提供できる」ようなものです。 詳しい説明はWikipediaにお任せします。 RubyやRailsで使われているDSLで有名なものはActiveRecord周りの実装などでしょうか。 例を記載します。

                                    RubyでDSLが書きやすい理由を整理する - Qiita
                                  • DSL開発:ドメイン駆動設計に基づくドメイン固有言語開発のための7つの提言 - Johan den Haan - Digital Romanticism - digitalsoulのブログ

                                    この記事はJohan den Haan氏のブログ記事「DSL development: 7 recommendations for Domain Specific Language design based on Domain-Driven Design」を氏の許可を得て翻訳したものです。(原文公開日:2009年5月6日) ドメイン固有言語(DSL)という用語は今日多く聞かれる。DSLとは与えられたドメインの要求に対処するために開発される言語である。ドメインは問題領域(例えば、保険、健康管理、運送)である場合もあれば、システム的な側面(例えば、データ、プレゼンテーション、ビジネスロジック、ワークフロー)である場合もある。これは制限された概念を用いて言語を作るという考え方であり、これらの概念は特定のドメインに焦点を絞ったものである。この考え方により、開発者の生産性とドメインエキスパートとのコ

                                      DSL開発:ドメイン駆動設計に基づくドメイン固有言語開発のための7つの提言 - Johan den Haan - Digital Romanticism - digitalsoulのブログ
                                    • RubyでのDSLの作り方 - http://rubikitch.com/に移転しました

                                      Jay Fields' Thoughts: Implementing an internal DSL in Ruby RubyでのDSLの作り方をexpectationsというtesting frameworkを例にとって説明している。 やっぱassert_equalってオブジェクト指向っぽくなくてカッコ悪いよねwここはDSLでカッコよく書きたいものだ。 彼の言いたいことを日本語で超要約してみる。 まず、どういうふうに書きたいかを決める。こんな感じにしたい。 Expectations do # テストだよというブロック expect :expected do # :expectedが期待される値 :expected # ブロックの評価結果が実際の値 end end これから、これをRubyスクリプトとして実行可能な形式にする。 まず、DSLを読み込んだら(実行したら)、Expectatio

                                        RubyでのDSLの作り方 - http://rubikitch.com/に移転しました
                                      • 実践プログラミングDSL読了:ドメインモデルとDSLについて思ったことをまとめてみる - 冥冥乃志

                                        実践プログラミングDSL ドメイン特化言語の設計と実装のノウハウ (Programmer’s SELECTION) 作者: Debasish Ghosh,佐藤竜一出版社/メーカー: 翔泳社発売日: 2012/06/08メディア: 大型本購入: 4人 クリック: 82回この商品を含むブログ (13件) を見る 相変わらず読むのが遅いので、有用な書評はだいたい出そろっている頃だと思います。 id:kmizushima さんに教えていただいて読んだ本です。私の周りではあんまり大きくバズる感じがしていないのが若干寂しいところなのですが、良い本なので思ったことをまとめてみたいと思います。 まず基本的に、この本は写経のための本であると思っています。Scala,Ruby,Clojure,Groovyなどの言語を利用してDSLを構築するためのノウハウや実コード例が非常に豊富です。用途を固定したプログラミン

                                          実践プログラミングDSL読了:ドメインモデルとDSLについて思ったことをまとめてみる - 冥冥乃志
                                        • Ruby DSL Handbook - the ebook about creating Ruby code that speaks your language while avoiding metaprogramming hell. Written by Jim Gay

                                          You've read about building Domain Specific Languages with Ruby but it can be hard to make sense not only of the metaprogramming but of the myriad of opinions and approaches. How do you get started and how can you make it all work? It can make your head spin when you dive in to try it. Jump to the packages and get started... You know writing DSLs in Ruby is powerful and flexible, but aren't sure ex

                                            Ruby DSL Handbook - the ebook about creating Ruby code that speaks your language while avoiding metaprogramming hell. Written by Jim Gay
                                          • RubyでDSL

                                            201805 uc solution update centered cloud mcu, microsoft office365 and proposa...Hiroyuki Yokota

                                              RubyでDSL
                                            • GitHub - robb/Underscore.m: A DSL for Data Manipulation

                                              You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert

                                                GitHub - robb/Underscore.m: A DSL for Data Manipulation
                                              • Dependency InjectionとDSL

                                                Dead-Simple Dependency Injection in Scalaという発表で、Dependency Injection(依存の注入)をReaderモナドなどを用いて行うという技術があった。下記がその発表である。 この記事ではまず、Dependency Injectionについての説明と、Readerモナドについての説明を行い、次にReaderモナドを使ったDependency Injectionについて述べて、Freeモナドを用いて小さなDSLを作るアプローチを紹介する。 この記事はモナドやDependency Injectionなどに関する前提知識がなくてもある程度読めるように意図しているが、Scalaの文法的な知識を前提としている。また、もし説明が不足している点や文章の意図が分かりにくい部分があれば、気軽にコメントなどで指摘して欲しい。 注意: 記事の中にあるコードは

                                                  Dependency InjectionとDSL
                                                • uilang - UI操作を記述するWeb用DSL

                                                  MOONGIFTはオープンソース・ソフトウェアを紹介するブログです。2021年07月16日で更新停止しました 最近はUIだけではなく、アクションによって起こるアニメーション技術にも注目が集まっています。Googleの提唱するMaterial Designでも単にタップするだけでなく、その後のアニメーションまで含めてデザインしています。 そんなアニメーションを含めたデザインを行うためのDSLとしてuilangが登場しました。全く新しい言語としてとても面白そうですよ。 uilangの使い方 <code> clicking on ".hide" adds class "hidden" on "#notification" </code> こちらが肝です。ボタンをクリックするとhiddenを追加するというのを文章として定義できます。 この場合は以下のようになります。 <div id=switch>

                                                    uilang - UI操作を記述するWeb用DSL
                                                  • 第4回 話題騒然! 「言語内DSL」の概念とRake【後編】

                                                    言語内DSLとしてのRuby 前回紹介したとおり、言語内DSLはホスト言語そのものを利用してDSLを構築します。したがって、言語内DSLではホスト言語の機能をフル活用できます。Rubyで構築された言語内DSLであれば、Rubyの制御構造の利用はもちろん、独自にクラスやメソッドを定義できますし、サードパーティーのRubyライブラリを利用することも可能です。 DSLからのRubyの利用 Rakefileは、実行時にそのままRubyのコードとして評価されます。ここで、前回紹介したhelloプログラム用のRakefile(リスト1)にRubyのメソッドを定義してみましょう。参考までに(リスト1)を再度示しておきます。 1 require 'rake/clean' 2 CLEAN.include %w(hello *.o) 3 4 task :default => ['hello'] 5 6 fil

                                                      第4回 話題騒然! 「言語内DSL」の概念とRake【後編】
                                                    • Scala DSLの作り方

                                                      This document discusses Scala as a domain-specific language (DSL) for building other DSLs. Some key points: - Scala can be used to create internal DSLs within applications as well as external DSLs for defining domain concepts. - Examples shown include using Scala for TODO list management, entity-relationship modeling, and processing streaming data. - Scala's traits, classes, functions and other fe

                                                        Scala DSLの作り方
                                                      • 面倒くさいパーサの実装もDSLで書くだけ!そう、Scalaならね - Qiita

                                                        この記事では、Scalaのパーサコンビネータを用いて、BNF風の定義を書くだけで、オブジェクトのマッピングからパースエラーのハンドリングまでできてしまう高機能なパーサを作る方法を解説します! パーサコンビネータとは? Scalaにはパーサコンビネータというライブラリがあります。BNFと似たの記法で構造を定義するだけで簡単にパーサを実装することができます。たとえば、□□□-□□□□のような形式の郵便番号をパースするコードは次のように書くことができます。 import scala.util.parsing.combinator._ object PostalCodeParser extends RegexParsers { def postalCode = """\d{3}""".r ~ "-" ~ """\d{4}""".r } println(PostalCodeParser.parseA

                                                          面倒くさいパーサの実装もDSLで書くだけ!そう、Scalaならね - Qiita
                                                        • Create your own DSL in Go - Utah Go User Group

                                                          Nathaniel Cook from InfluxDB explains the reasons why you would create your own DSL, and how to do it in Go.

                                                            Create your own DSL in Go - Utah Go User Group
                                                          • Graphviz::DSLをリリースしました。 - Shohei Yoshida's Diary

                                                            https://metacpan.org/release/SYOHEX/Graphviz-DSL-0.01 Ruby Gemの Gvizの移植版ということで Graph::Gvizという名前を つけていたんですが、それだけだと何をするものかわからないという 意見をいただいたので Graphviz::DSLという名前にしました。 機能 基本的には Rubyの Gvizと同じですが、現状 Gvizの方が機能が 充実しています(おいおい実装するつもりです)。 Gvizから変更した部分 極力 DSLに書いたとおり、DOTファイルに出力されるようにしました。 以下に違いが出る例を示します。 Graphvizのサイトに載っているサンプルで次のような DOTファイルがあります。 digraph G { subgraph cluster_0 { style=filled; color=lightgrey;

                                                              Graphviz::DSLをリリースしました。 - Shohei Yoshida's Diary
                                                            • Kotlin DSL を考慮した Gradle Plugin を記述するために必要だったこと - おでーぶでおでーぶ

                                                              とある Gradle Plugin を 2.0.0 に移行する際、v1 から Kotlin DSL を使っていた人の環境でちょっと問題が発生したというツイートを見たので、Kotlin DSL がどうやって DSL Marker なしに lambda で書けるようにしてるのかちょっと調べてみた。ここで記述している問題は 2.0.1 では修正されていて、また Kotlin DSL での移行ステップも README に追記しておきました。 github.com TL;DR 外に見せる境界で def を使うのは避けておいた方が無難 Kotlin DSL は拡張関数で delegate してて、見るべきメソッドが違うかもしれないから気をつけよう Kotlin と Gradle の言語仕様の違いに気をつけよう kotlin-dsl を apply して開発しないと Groovy と Kotlin DS

                                                                Kotlin DSL を考慮した Gradle Plugin を記述するために必要だったこと - おでーぶでおでーぶ
                                                              • Request Spec, Steakで使う Capybara DSL の情報、サンプル - yuumi3のお仕事日記

                                                                先日リリースした 萌えトーク ではEnd-to-Endテストには Request Spec を使っていますが、テスト(RSpec)を書くには Capybara DSL (API) の知識が必要になります。 萌えトーク の Request Spec を書く際に参照した情報、サンプルをまとめておきます。 Capybara DSL 情報 Capybara本家 中程からの The DSL に基本的な使い方の例が並んでいますので、Capybara を使う際にはまずここを読みましょう Richard Conroy's Personal Blog: Capybara Reference DSL一覧がまとまとめられていて、コードを書くのに便利です。 Module: Capybara CapybaraのRDocです、DSLには有用なオプションが用意されてます、そのオプションが解ります。 ただし、慣れないと調

                                                                  Request Spec, Steakで使う Capybara DSL の情報、サンプル - yuumi3のお仕事日記
                                                                • DSLを560円で落札されてしまったやつ まとめ

                                                                  Yahooオークションの手数料を浮かすため小細工をしたら、裏目に出て560円でDSL本体を落札されてしまった出品者。 問題のオークション あらすじ NINTEDO DS Lite ブラックを18000円で売りたい。 ↓ 素直に出品するとYahooに落札金額の5%のシステム利用料900円が取られる ↓ 本体と付属品とを分け、本体のみをオークションに出品、1000円程度で落札させ希望者には付属品も17000円でお分けしますということにすれば、Yahooに支払うシステム利用料は50円で済む ↓ 付属品も一緒に買ってもらわないと大損になるので、付属品を買わない場合 「本体のみなのでビス、蓋等の付属品(?)をすべてはずす(???)、その時ジャンク化する(???)」と宣言 (こう言っておけばだれも本体のみなんて落札しないだろう) ↓ ところが物好きなやつにその本体のみを560

                                                                  • 「DSL は自然言語のように読めることを目指すべきか」についてのマーチンファウラーさんの見解 - わからん

                                                                    「DSL は自然言語のように読めることを目指すべきか」について、書籍「ドメイン特化言語」で、マーチンファウラーさんは次のような見解を述べていました。 1つだけ特に注意してほしいことがあります。それは、自然言語のように読める DSL を目指してはいけないということです。汎用言語でも同様の試みが何度となく行われてきました。 AppleScript はもっとも顕著な例です。このような試みはシンタックスシュガーの濫用をまねき、意味を理解しずらくします。DSL がプログラミング言語であることを忘れないで下さい。そのため、DSL を利用するときはプログラミングをしている感覚を持てるようにすべきですし、自然言語に比べてはるかに高い簡潔さと正確さを DSL は備えるべきです。プログラミング言語を自然言語のように見せようとするのは、誤った方向の努力です。プログラムに手を加えるときは、プログラミング言語の環境

                                                                    • Ktorm のクラス設計を読み解いて、DSLを拡張する - ドワンゴ教育サービス開発者ブログ

                                                                      はじめに 先日Server-Side Kotlin MeetupのLT大会で登壇してきましたので、その内容をブログ記事でも公開します。 テーマはKotlin製のORマッパー、Ktormのクラス構造と機能拡張についてです。 Ktormの紹介 ktorm.org Ktormは、いくつかあるJDBCベースのKotlin製ORマッパーのうちの1つです。 それらの中でもっともメジャーと思われるExposedと比較すると、次のような特長があります。 シンプルな実行モデル 遅延実行やキャッシュなどの仕組みを持たないので、コードを読んで理解しやすく、SQLの実行タイミング等も把握しやすいです。 生SQLに近いDSL select() で検索条件を指定し slice() でカラムを指定する形式のExposedのDSL 1 に比べて、生SQLに近い文法を採用しており、SQLに習熟していれば少ない認知コストで読

                                                                        Ktorm のクラス設計を読み解いて、DSLを拡張する - ドワンゴ教育サービス開発者ブログ
                                                                      • CSVをDSLで定義した感じで読み込めるCSVMapper作った - キモブロ

                                                                        https://github.com/kimoto/csvmapper Usage require 'csvmapper' class MyCSV < CSVMapper column :name, 0, :integer column :ipaddr, 1, :ipaddr column :file_path, 2, :pathname column :time, 3, :time end p MyCSV.load("name1,127.0.0.1,./tmp/path/to/file.txt,2012/01/01") # => [{"name":"name1","ipaddr":"127.0.0.1","file_path":"./tmp/path/to/file.txt","time":"2012-01-01 00:00:00 +0900"}] なんとなく動くけど、もうちょい作り込む

                                                                          CSVをDSLで定義した感じで読み込めるCSVMapper作った - キモブロ
                                                                        • 線形型つきドメイン特化言語 (DSL) を Haskell上に実装する - keigoiの日記

                                                                          線形λ計算というのは、「変数をちょうど一度だけ使わなければならない」という線形型をもったλ計算だ。これを Haskell で実装してみた。「ファイルが開かれたら必ず閉じる」という制約のような、線形型 (linear type) が必要な DSL の実装の参考になるかもしれない。 線形λ計算の実装は、既に Olegさんがやっている。それは変数参照をde Bruijn indexを使って書くようになっている。 一方、この実装は、よりHaskellに近い記法で書けるようになっている。 使用例 λ抽象の前に lam, 関数適用の前に app, 変数参照の前に var が必要である以外は Haskell と同じ記法で書ける。 Linear Lambda Calculus の頭文字をとって LLC モナドという名前にしてある。 LLCモナドの型は LLC t ii jj a となっていて、 t 型のタ

                                                                            線形型つきドメイン特化言語 (DSL) を Haskell上に実装する - keigoiの日記
                                                                          • Scripting IDE for DSL awareness - 2009-10-21 - marsのメモ

                                                                            http://www.jetbrains.net/confluence/display/GRVY/Scripting+IDE+for+DSL+awareness IntelliJ, SUGEEEEEEEEEE!!!!! 何がスゴいかって言うと,GroovyDSLと呼ばれるスクリプトをIntelliJに読み込ませることで,特定のDSLやダイナミックなメソッドやプロパティを,IntelliJに把握させることができるんだって。つまり,コード補完やら型推論なんかができるようになるってこと。あ,そうそう。こっちも参照してね。 → Use GroovyDSL in IntelliJ IDEA Community Edition - Messages from mrhaki 冒頭のリンク先にあった例を取ると。下記のようなDayCounter.groovyってスクリプトがあるとする。 Integer.me

                                                                              Scripting IDE for DSL awareness - 2009-10-21 - marsのメモ
                                                                            • Elixir Ectoのスキーマ定義と合成可能なクエリ - モジュールからデータベース用DSLへ - Qiita

                                                                              前回の続き。 今回はEcto.Queryableとクエリ合成、Migrationの詳細。 適切な道具があれば、人間の生産性と思考力は大きく飛躍する。Ectoはデータベースを操作することに特化したプログラミング言語のように操作することができる。 他のプログラミング言語では真似できないほどの柔軟性を持ったElixirだからこそできることだ。 データベースを操作するモジュールのEctoでは、データベースを操作するために作られたプログラミング言語のようなエレガントなAPIを通してアプリケーションを構築することができる。 マイグレーション classでもstructでもなく、スキーマ定義はschemaマクロで構築できたように、マイグレーション定義においても、SQLシンタックスのように、createやdropを通して操作できる。 create

                                                                                Elixir Ectoのスキーマ定義と合成可能なクエリ - モジュールからデータベース用DSLへ - Qiita
                                                                              • DSL Book WIP

                                                                                Narratives An Introductory Example: Using Domain Specific Languages: Implementing DSLs: Implementing an Internal DSL: Implementing an External DSL: Code Generation: External DSL Topics Delimiter Directed Translation: Translate source text by breaking it up into chunks (usually lines) and then parsing each line. (Syntax Directed Translation): Translate source text by defining a grammar, and u

                                                                                • GitHub - akanehara/ginq: `LINQ to Object` inspired DSL for PHP

                                                                                  You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert

                                                                                    GitHub - akanehara/ginq: `LINQ to Object` inspired DSL for PHP