Since programmers often build task-specific tools, one way to make them more productive is to give them better tool-making tools. When tools take the form of program generators, this idea leads to libraries for creating languages that are directly extensible. Programmers may even be encouraged to think about a problem in terms of a language that would better support the task. This approach is sometimes called language-oriented programming
Speed.io ist der modernste DSL Spedtest zur Analyse der eigenen Internet Geschwindigkeit. Testen Sie Download, Upload Ping. Speed Test bis zu VDSL 50 Mbit/s
Schnelles Internet, guter Service, kleine Preise: So wünschen sich Surfer ihren Internetprovider. Die Anbieter bringen das nur selten. Im Test: 10 Provider für schnelles Internet. Nur T-Home ist gut. test.de zeigt die Stärken und Schwächen von Alice über Freenet bis Versatel.
Squeryl
Home Learn more Scaladoc Community Follow _squeryl on TwitterTwitter
A Scala ORM and DSL for talking with Databases with minimum verbosity and maximum type safety
Write compiler validated statements.
Squeryl statements that pass compilation won’t fail at runtime. Refactor your schema as often as is required, the Scala compiler and your IDE will tell you exactly which lines of code are affected.
Never repeat yourself
The Composability of Squeryl statements allows you to define them
once and reuse them as sub queries within other statements.
Write declaratively
Write as declaratively as SQL, only with less boilerplate. SQL’s declarativeness is preserved, not encapsulated in a lower level API that requires imperative and procedural code to get things done.
Explicitly control retrieval granularity and laziness
A significant part of optimizing a database abstraction layer is to choose for every situation the right balance between fine and large grained retrieval, and the optimal mix of laziness and eagerness. Data retrieval strategies are explicit in Squeryl rather than driven by configuration like current generation Java ORMs read more
au:chlipala Ur introduces richer type system features into FP. Ur is functional, pure, statically-typed, and strict. Ur supports metaprogramming based on row types. Ur/Web is standard library and associated rules for parsing and optimization. Ur/Web supports construction of dynamic web applications backed by SQL databases. The signature of the standard library is such that well-typed Ur/Web programs "don't go wrong" in a very broad sense. They also may not: * Suffer from any kinds of code-injection attacks * Return invalid HTML * Contain dead intra-application links * Have mismatches between HTML forms and the fields expected by their handlers It is also possible to use metaprogramming to build significant application pieces by analysis of type structure - demo includes an ML-style functor for building an admin interface for an arbitrary SQL table. The Ur/Web compiler also produces very efficient object code that does not use gc
Jaskell is a functional scripting programming language that runs in JVM. The name "Jaskell" stands for Java-Haskell, but it is not haskell 1. Most of the current scripting languages are Object-Oriented. Though they more or less have functional tastes (Ruby's sexy closure, for example), the heart of them are still Object-Oriented. One of the most important essenses of functional programming (combinators) is yet to be brought into Java. 2. Jaskell brings with it higher order function, function currying, pattern match and monadic combinator support. 3. Monadic combinator is ideal for designing Domain Specific Language. It is relatively easy to tailor Jaskell runtime to make domain specific syntax look like simple atomic statements. See Neptune for a real example. 4. Jaskell is nothing but a Java library that passes Java objects in and out of the interpreter.
c2005 Most new ideas in software developments are really new variations on old ideas. This article describes one of these, the growing idea of a class of tools that I call Language Workbenches - examples of which include Intentional Software, JetBrains's Meta Programming System, and Microsoft's Software Factories. These tools take an old style of development - which I call language oriented programming and use IDE tooling in a bid to make language oriented programming a viable approach. Although I'm not enough of a prognosticator to say whether they will succeed in their ambition, I do think that these tools are some of the most interesting things on the horizon of software development. Interesting enough to write this essay to try to explain, at least in outline, how they work and the main issues around their future usefulness.
You might have read (about) the book Domain-Specific Languages written by Martin Fowler. As the name suggests it is about these little useful programming languages you can built very easily with Xtext.
The ANTLR 3 Eclipse Plugin helps you develop ANTLR 3 grammars inside Eclipse. It currently provides a project nature, a label decorator, a builder, and problem markers for ANTLR errors.
easyb is a behavior driven development framework for the Java platform. By using a specification based Domain Specific Language, easyb aims to enable executable, yet readable documentation.
In der Stadtbibliothek gibt es für surfende Leseratten eine erfreuliche Neuigkeit: Dank Mobilfunk gelangen die Bücherfreunde jetzt wesentlich schneller ins Internet. Doch der Kampf um den DSL-Anschluss über die Kupferleitung geht weiter.
Ur/Web is a DSL for programming web applications backed by SQL db. It is statically-typed and purely functional. Ur is the base language, and the web-specific features of Ur/Web (mostly) come only in the form of special rules for parsing and optimization. The Ur core looks a lot like Standard ML, with a few Haskell-isms added, and kinder, gentler versions added of many features from dependently-typed languages like the logic behind Coq. The type system is much more expressive than in ML and Haskell, such that well-typed web applications cannot "go wrong," not just in handling single HTTP requests, but across their entire lifetimes of interacting with HTTP clients. Beyond that, Ur is unusual is using ideas from dependent typing to enable very effective metaprogramming, or programming with explicit analysis of type structure. Many common web application components can be built by Ur/Web functions that operate on types
Carrot is not the first XSLT-inspired project to provide a shorter syntax than XSLT itself. Syntax shorthands have included Paul Tchistopolskii's XSLScript, Sam Wilmott's RXSLT, and another project called XSLTXT. Although none of these projects provided direct inspiration for Carrot, they all address one of the same desires that Carrot addresses: being able to program in XSLT more concisely
Im Gespräch mit Tim Pritlove gibt Clemens Schrimpe einen Einblick in die Geschichte der Netzversorgung, die heutige Technik und die Gründe, warum die DSL-Anschlüsse häufig nicht das liefern, was sie könnten und was in der Zukunft für neue Probleme hinsichtlich der Dienstgüte und Netzneutralität zu erwarten ist.
Treetop is a language for describing languages. Combining the elegance of Ruby with cutting-edge parsing expression grammars, it helps you analyze syntax with revolutionarily ease.