タグ

DSLに関するnak2kのブックマーク (21)

  • 株式会社VOYAGE GROUP

    株式会社VOYAGE GROUPは、2022年1月、株式会社CARTA HOLDINGSと合併いたしました。 関連リリース:CARTA HOLDINGS、基幹グループ会社のCCIおよびVOYAGE GROUPと統合へ https://cartaholdings.co.jp/news/20210513_01/ CARTA トップへ

    株式会社VOYAGE GROUP
  • 日本Xtextユーザ会 - Google Groups

    皆さん Xtext 開発チームは Xtext をクラウドIDEという流れに乗せようとしています。 現状について(動画を使って)ブラウザ上で Xtext-based モデル編集が出来るところを見せてくれ

  • InfoQ: 複雑な外部DSLを開発する

    Railsフレームワークは、Rubyで書かれたWebアプリケーションを管理するための、RubyベースのDSLと呼ばれています。RailsがDSLと呼ばれる理由の一つは、汎用的な目的のRuby言語とは対照的にRailsがプログラミングでは無いように思えるのに対して、Ruby言語の機能のいくつかがプログラミングをするのに利用されているからです。言語として考えたとき、その基盤がそれ自体で言語となるのにとても有利なスタートであるとして、RailsRuby上で作られました。 Dave Thomas (PragDave)が、Rails全体をDSLとして考えているのかは私にはわかりません。しかし、Railsのいくつかの機能が異なるDSLによって支えられていると彼は言っています。彼が示す例は、DSLとしてのActive Record宣言です。ドメインモデルのエンティティの関連に特有な、いくつかの単純な専

    InfoQ: 複雑な外部DSLを開発する
    nak2k
    nak2k 2009/06/10
  • 「OSLO」を使用してテキストDSLを記述する

    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が最近リリースされ、重要な変...

    「OSLO」を使用してテキストDSLを記述する
  • Java/EclipseでDSLサポート (1) - DSLの形式 - しげるメモ

    やっとこさ時間ができたので、JavaでDSLを(やむを得ず)使う場合にどうやってEclipseからサポートするか考えて見ます。 こんな感じがいいんじゃないのかなというところ。 Hoge dsl = HogeParser.parse("<Hoge-DSL>", arg1, arg2,...); つまり、 メソッド呼び出し + 文字列リテラル + 引数リスト という形式に縛っておいて、文字列リテラルの部分にDSLを直接(ないしファイル経由で間接)記述する感じです。正規表現も文字列のパターンマッチングを行うDSLだと思えば、java.util.regex.Patternなんかもこんな感じですね。 この形式の問題点は、文字列リテラルはJavaからすればただの文字列リテラルでしかないので、 文字列リテラルとして正当ならばコンパイルエラーにならない 実行時にエラーを出しても、エラー位置特定するのが意外

    Java/EclipseでDSLサポート (1) - DSLの形式 - しげるメモ
  • 【ハウツー】LightSpeedで始める.NETでの光速開発 - モデリング編 (1) LightSpeedとは | エンタープライズ | マイコミジャーナル

    はじめに 以前、音速を意味するSubSonicという.NETのActiveRecord実装を紹介しましたが、今回は光速を意味するLightSpeedというフレームワークを紹介します。 LightSpeedは「ドメインモデリング用のデザイナー」と「O/Rマッピングフレームワーク」から構成されます。他のO/Rマッパーとは異なり永続化の仕組みをほとんど意識せずに開発できるのが特徴で、ドメイン駆動設計とモデル駆動設計と相性が良いようにデザインされています。 前編にあたる編では、LightSpeedの導入とモデルデザイナーについて紹介します。中編では基的な操作(追加、更新、参照、削除)について、後編ではクエリの書き方などについて紹介します。 環境について LightSpeedは、Mindscape社で開発されているプロダクトです。.NET Framework2.0以上の環境で動作し、C#、Vis

  • Microsoftが「Oslo」のコンポーネントをリリース

    MicrosoftはProfessional Developers Conferenceで、自社のモデリング技術「Oslo」のコンポーネントをリリースした。同社が提供したのは、Osloリポジトリ、新しい宣言型モデリング言語「M」、「Quadrant」と呼ばれる新しいビジュアルモデリングツールの各CTP(コミュニティー技術プレビュー)版である。 Microsoftは、自社のモデリング技術「Oslo」のコアコンポーネントを開発者に提供するという約束を果たすとともに、Osloに関連したそのほかのリソースをMicrosoft Developer Network(MSDN)上で公開した。 ロサンゼルスで開催されたMicrosoft Professional Developers Conference(PDC)において、同社のコネクテッドシステム部門の製品管理ディレクターを務めるバーリー・カワサキ氏は

    Microsoftが「Oslo」のコンポーネントをリリース
  • 「Oslo」関連の最新 ニュース・レビュー・解説 記事 まとめ - ITmedia Keywords

  • InfoQ: CLR上でのドメイン特化言語の構築

    私の好みは、ほとんどすべての場合、構文の柔軟性が高い言語に基づいた内部DSLに取り組むことです。私は、ほぼ例外なくCLRで作業する傾向があるため、このプラットフォームで動作するホスト言語の使用を望みます。それにより、骨を折って得たCLRに関する知識の多くを再利用できます。この利点を過小評価しないでください。手近に馴染みのある環境を持つことは、極めて重要です。 言語について掘り下げる前に、まず「構文の柔軟性が高い言語」とは一体何でしょうか? 内部DSLに適したホスティング環境を提供するために、言語にはどのような機能が必要でしょうか? 私には自分の考えを示すために適切な手段が必要です。意図的に名前を明らかにし、ドメイン特化の概念を表現し、そして一般に汎用プログラミング言語のアプローチから離れることで、これを達成できます。あなたは第四世代言語(4GL)を作成し、それを容易に行えるようになることを

    InfoQ: CLR上でのドメイン特化言語の構築
  • 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/に移転しました
    nak2k
    nak2k 2008/02/18
    そもそもRubyやLispやってないとDSLの良さ自体なかなか分からないからなぁ。
  • 木構造データの妥当性をinstace_evalの黒魔術で検証してみる - sshi.Continual

    タイトルはおおげさすぎ。きっかけは 新しいwhyプロダクト、ShoesはGUIツールキット。 サンプルはこんな感じ。 Shoes.app do button "Press Me" do alert "You pressed me" end end こういうAPIは好みだ。 http://www.rubyist.net/~matz/20070801.html#p02 を見たこと。 「あーinstance_evalはやっぱり便利ですよね」と思ってみてたんだけど*1、この構造って再帰的に使えるよなぁ、と思ったのでコードでメモ。 ポイントは、上のソース中のbuttonというメソッド。buttonメソッドはソースの字面をみると定義なしに突然使われているんだけど、instance_evalの黒魔術を使うとこういうことができる。obj.instance_eval do .. end という構文を使うとブ

    木構造データの妥当性をinstace_evalの黒魔術で検証してみる - sshi.Continual
    nak2k
    nak2k 2007/08/16
  • Shoes, a Tiny Toolkit

    Hey! Thousands of people have unlocked their iPhone 4 / 4s in the past year and I want to share with you the most reliable iPhone 4 unlocking services so you too can experience the benefits of this. Unlocking will allow you to use your iPhone 4 / 4s abroad or to get a cheaper deal with a different network at home. In fact, it can be completed with one of the working unlocking services below in a v

    Shoes, a Tiny Toolkit
  • APジェネレータが導くシステム開発の新パラダイム - @IT情報マネジメント

    2007年1月23日、「経営とITの融合」研究会(以下、KIU研究会)の第12回会合が開催された。東京大学特任教授の内山東平氏、J-KIT Systemの李東源氏のよるプレゼンテーションおよび日能率協会コンサルティングの横川省三氏をモデレーターにフリーディスカッションが行われた。その中から、プレゼンテーションの模様をお伝えする。(→記事要約<Page2>へ) 上場企業、そのグループ企業では、内部統制が待ったなしの状況になり、いろいろ悩んでいるのではないでしょうか。問題は、文書化や監査のために膨大なコストが発生することです。ともかく、企業としては、主体性を持って、実状にあったやり方でクリアする以外にありません。 ご存じのように、新会社法と日版SOX法(以下、J-SOX法)の2つの法律への対応をしていかなければなりません。最終的には財務諸表の信頼性確保が目標ですが、それにとどまらず、企業の

    nak2k
    nak2k 2007/02/20
    レガシーなプログラムコードを解析してメタデータ化、後に変換。
  • へ〜たのめも:DSL厨は一度は COBOL を学べ - livedoor Blog(ブログ)

    2007年01月04日 DSL厨は一度は COBOL を学べ 今年の言語 @ 2007年01月 @ ratio - rational - irrational @ IDM 初めて聞いたが、「DSL厨は一度はCOBOLを触るべき」というお告げがあるらしい。御意。 結局、金融系のアプリなんて、データを取り出して、四則演算をして、デー タを書き込むだけ。なので、DSL は ファイルやソケットにデータを I/O するためのへのシリアライザ/デシリ アライザ(COPY句)と、透過的なインターフェース。 DB インターフェース(当は(デ)シリアライザに統合されていればいいけれど、 性能への配慮などから生 SQL 埋め込みが一番親しまれている)。 丸め誤差や桁落ちの生じない、整数/固定長精度実数演算。 が提供されていればいい。COBOL はこれを満たしているが、他の言語はど うも今一だ。結局のところ、

    nak2k
    nak2k 2007/01/05
    DSLとしてのCOBOLは確かに良い出来。いろいろな意味で御しやすいしね。
  • A Language Workbench in Action - MPS

    Using a language workbench is very different to working with traditional Domain Specific Languages. This is an example of building a small but interesting DSL using the JetBrains Meta Programming System (MPS). You can use this to get a feel of what working with language workbenches would be like. 12 June 2005 (If you aren't familiar with language oriented programming and language workbenches - or

    A Language Workbench in Action - MPS
  • Martin Fowler's Bliki in Japanese - 言語ワークベンチ

    以下の文章は、Martin Fowler による 「Language Workbenches: The Killer-App for Domain Specific Languages?」 の日語訳である。 ソフトウェア開発における新しい考えの多くは、実は古い考えの新しい組み合わせ方です。この記事では、その新しい組み合わせ方のひとつ、私が「言語ワークベンチ(Language Workbenches)」と呼んでいるツールについて説明します。これは、現在広まりつつある考え方で、たとえば、Intentional Software、JetBrainsのMeta Programming SystemMicrosoftのSoftware Factoriesなどが例として挙げられます。これらのツールは古い開発スタイルを採用しており、私はこれを「言語指向プログラミング(language oriente

    nak2k
    nak2k 2006/05/17
    個人的には非常に重要な概念だと思う。Lisp+SmalltalkにDOMも加えて現代風にした概念か。この概念からしたらJavaやC#のソースなんて .obj ファイルのテキスト表現版みたいなもん。(つまり所詮中間ファイル)
  • Technical documentation

    nak2k
    nak2k 2006/05/01
  • Microsoft Learn: Build skills that open doors in your career

    Microsoft Learn. Spark possibility. Build skills that open doors. See all you can do with documentation, hands-on training, and certifications to help you get the most from Microsoft products. Learn by doing Gain the skills you can apply to everyday situations through hands-on training personalized to your needs, at your own pace or with our global network of learning partners. Take training Find

    Microsoft Learn: Build skills that open doors in your career
  • artima - Creating DSLs with Ruby

    Broadly speaking, there are two ways to create a DSL. One is to invent a syntax from scratch, and build an interpreter or compiler. The other is to tailor an existing general-purpose language by adding or changing methods, operators, and default actions. This article explores using the latter method to build a DSL on top of Ruby. A DSL, or domain specific language, is a (usually small) programming

    nak2k
    nak2k 2006/03/22
  • Martin Fowler's Bliki in Japanese - ドメイン特化言語

    http://martinfowler.com/bliki/DomainSpecificLanguage.html ドメイン特化言語(DSL:Domain Specific Language)とは、 ある特定の種類の問題に特化したコンピュータ言語のことです。 様々な問題に対応できる汎用的な言語のことではありません。 ドメイン特化言語についてはこれまでも議論されてきましたし、 コンピュータが使われてきたのと同じくらい長い間使われてきました。 DSLを頻繁に使用しているコミュニティにUnixコミュニティがあります。 そこでは、DSLは「リトル言語」や「ミニ言語」などと呼ばれています (この伝統について、Eric Raymondが素晴らしい議論を提供してくれています)。 最も一般的なUnixスタイルのやり方は、 言語の文法を定義し、コード生成機能を使ってDSLから汎用的な言語を生成する、 あるい

    nak2k
    nak2k 2005/06/09