librelist archives

« back to archive

que DSLs o syntactic sugar les gustaria tener?

que DSLs o syntactic sugar les gustaria tener?

From:
Mariano Guerra
Date:
2012-10-31 @ 07:47
buenas! tengo una idea dando vueltas en la cabeza y me gustaria probarla con
distintos casos.

si pudieran tener un DSL o syntactic sugar para algo que hacen en erlang u
otro lenguaje de programacion, cuales les gustaria tener?

listo dos especificos para erlang para que se den una idea de lo que hablo:

* DSL para BDD (al estilo jasmine[1] o scalatest[2]):

describe: "A suite" {
  it: "contains spec with an expectation" {
    expect: true to-be: true
  }
}

* DSL para APIs REST (al estilo sinatra[3]):

get: "/hi" {
  "hello world!"
}

post: "/:name" accepts: json produces: json {
  process(Body, Name)
}

que otras les gustaria tener?

[1] http://pivotal.github.com/jasmine/
[2] http://www.scalatest.org/
[3] http://www.sinatrarb.com/

Re: [erlar] que DSLs o syntactic sugar les gustaria tener?

From:
Manuel A. Rubio \"Bombadil\"
Date:
2012-10-31 @ 14:56
Hola Mariano,

El 2012-10-31 08:47, Mariano Guerra escribió:
> si pudieran tener un DSL o syntactic sugar para algo que hacen en 
> erlang u
> otro lenguaje de programacion, cuales les gustaria tener?
>
> listo dos especificos para erlang para que se den una idea de lo que 
> hablo:
>
> * DSL para BDD (al estilo jasmine[1] o scalatest[2]):
>
> describe: "A suite" {
>   it: "contains spec with an expectation" {
>     expect: true to-be: true
>   }
> }

Podría ser también al estilo cucumber[4]:

-----------------------------------------------------
Feature: Fight or flight
   In order to increase the ninja survival rate,
   As a ninja commander
   I want my ninjas to decide whether to take on an
   opponent based on their skill levels

   Scenario: Weaker opponent
     Given the ninja has a third level black-belt
     When attacked by a samurai
     Then the ninja should engage the opponent

   Scenario: Stronger opponent
     Given the ninja has a third level black-belt
     When attacked by Chuck Norris
     Then the ninja should run for his life
-----------------------------------------------------

> * DSL para APIs REST (al estilo sinatra[3]):
>
> get: "/hi" {
>   "hello world!"
> }
>
> post: "/:name" accepts: json produces: json {
>   process(Body, Name)
> }

Está bien para poder tener algo como sinatra... pero podría ser 
complejo el transportar el código interno, dependiendo de cómo se 
escriba, a Erlang, ¿no?

La verdad es que escribir código para cowboy no es muy complejo y por 
ello no se requiere de nada que abstraiga o facilite. A mi modo de ver.

> que otras les gustaria tener?

Pues la verdad es que no se me ocurre nada de momento... quizás algo 
que trate orígenes de datos, transformaciones y salidas (ETL)?

Un saludo.

[1] http://pivotal.github.com/jasmine/
[2] http://www.scalatest.org/
[3] http://www.sinatrarb.com/
[4] http://cuke4ninja.com/sec_cucumber_jargon.html

-- 
Manuel A. Rubio "Bombadil"
Usuario de GNU/Linux #323628 acorde a http://counter.li.org/
Técnico en Admin. Sistemas Informáticos

Re: [erlar] que DSLs o syntactic sugar les gustaria tener?

From:
Mariano Guerra
Date:
2012-10-31 @ 15:09
Quoting Manuel A. Rubio "Bombadil" (2012-10-31 15:56:31)
> Hola Mariano,
> 
> El 2012-10-31 08:47, Mariano Guerra escribió:
> > si pudieran tener un DSL o syntactic sugar para algo que hacen en 
> > erlang u
> > otro lenguaje de programacion, cuales les gustaria tener?
> >
> > listo dos especificos para erlang para que se den una idea de lo que 
> > hablo:
> >
> > * DSL para BDD (al estilo jasmine[1] o scalatest[2]):
> >
> > describe: "A suite" {
> >   it: "contains spec with an expectation" {
> >     expect: true to-be: true
> >   }
> > }
> 
> Podría ser también al estilo cucumber[4]:
> 
> -----------------------------------------------------
> Feature: Fight or flight
>    In order to increase the ninja survival rate,
>    As a ninja commander
>    I want my ninjas to decide whether to take on an
>    opponent based on their skill levels
> 
>    Scenario: Weaker opponent
>      Given the ninja has a third level black-belt
>      When attacked by a samurai
>      Then the ninja should engage the opponent
> 
>    Scenario: Stronger opponent
>      Given the ninja has a third level black-belt
>      When attacked by Chuck Norris
>      Then the ninja should run for his life
> -----------------------------------------------------
> 
> > * DSL para APIs REST (al estilo sinatra[3]):
> >
> > get: "/hi" {
> >   "hello world!"
> > }
> >
> > post: "/:name" accepts: json produces: json {
> >   process(Body, Name)
> > }
> 
> Está bien para poder tener algo como sinatra... pero podría ser 
> complejo el transportar el código interno, dependiendo de cómo se 
> escriba, a Erlang, ¿no?

la idea es que lo que va dentro de los bloques { } es un lenguaje de 
programacion similar a efene.

osea, no seria texto en formato libre sino una syntaxis que permita hacer 
dsls del estilo que mostre arriba.