La idea de Angel está interesante. aColl select: [....projection....] "un bloque que tome un element de la colección y devuelva el elemento de la colección nueva que se esta formando" aColl selectFirst: [....projection....] aColl where: [... critera...] "un bloque que tome un element de la coleccion y devuelva verdadero o falso" aColl orderBy: [.... order criteria ...] aColl skip: 10 take: 20 "para saltear 10 elementos, y tomar los proximos 20"
Cada uno de esos debe retornar un collectionStream que sea algo así como un cursor, pero que tenga el mismo protocolo de un collection de modo que sea un drop in replacement de collection y que permita operar como si fuera un pipe a un collection. Entonces si collectionStream implementa el mismo protocolo de collection descrito arriba, se puede armar sentencias SQL sin necesidad de escribir SQL, y hacer un interprete de SQL se volvería trivial... Saludos, Guillermo. 2010/2/25 Mariano Martinez Peck <[email protected]> > Perdón que me vaya un poco offtopic, pero justo hoy Lukas hizo un post > interesante: > > http://www.lukas-renggli.ch/blog/petitparser-1 > > saludos > > Mariano > > 2010/2/25 Angel "Java" Lopez <[email protected]> > > Hola gente! >> >> Gracias por los enlaces, ya agregados a >> http://delicious.com/ajlopez/smalltalk >> >> Hay varios Object Query Language en otras tecnologías, y son bastante >> usados. Uno de los mas populares es Linq, de .NET, que a veces se extrania >> en Java. >> >> Una estrategia a seguir: permitir que cada query definida en el lenguaje >> de >> consulta, se pueda ejecutar con métodos agregados a colecciones de >> objetos, >> tipo (imagino en el aire) >> >> aColl select: [....projection....] "un bloque que tome un element de la >> colección y devuelva el elemento de la colección nueva que se esta >> formando" >> aColl selectFirst: [....projection....] >> aColl where: [... critera...] "un bloque que tome un element de la >> coleccion >> y devuelva verdadero o falso" >> aColl orderBy: [.... order criteria ...] >> aColl skip: 10 take: 20 "para saltear 10 elementos, y tomar los proximos >> 20" >> >> Supongo que debe haber algo asi ya escrito en librerías de Smalltalk, y en >> la propia librería base, cuales eran? Hmm... me patina la neurona... :-) >> >> Y luego recién ahí, implementar una gramatica para otro lenguaje mas OQL, >> SQL >> >> Nos leemos! >> >> Angel "Java" Lopez >> http://www.ajlopez.com/ >> http://twitter.com/ajlopez >> >> -----Mensaje original----- >> De: [email protected] [mailto:[email protected] >> ] >> En nombre de GallegO >> Enviado el: jueves, 25 de febrero de 2010 12:49 >> Para: [email protected] >> Asunto: Re: [clubSmalltalk] ATParserCompiler >> >> Hola: >> >> No te olvides de ver la página de SmaCC >> >> http://www.refactory.com/Software/SmaCC/index.html >> >> Un compañero que entiende como definir la gramatica usa el de Dolphin >> y anda perfecto. >> >> Ahora, escribir SQL para consultar colecciones de objetos???? Cada >> loco con su tema jaja :) >> >> Saludos >> GallegO >> >> -- >> To post to this group, send email to [email protected] >> To unsubscribe from this group, send email to >> [email protected]<clubsmalltalk%[email protected]> >> >> http://www.clubSmalltalk.org >> No virus found in this incoming message. >> Checked by AVG - www.avg.com >> Version: 8.5.435 / Virus Database: 271.1.1/2707 - Release Date: 02/24/10 >> 07:34:00 >> >> -- >> To post to this group, send email to [email protected] >> To unsubscribe from this group, send email to >> [email protected]<clubsmalltalk%[email protected]> >> >> http://www.clubSmalltalk.org >> > > -- > To post to this group, send email to [email protected] > To unsubscribe from this group, send email to > [email protected]<clubsmalltalk%[email protected]> > > http://www.clubSmalltalk.org > -- Saludos cordiales, Guillermo Schwarz Sun Certified Enterprise Architect -- To post to this group, send email to [email protected] To unsubscribe from this group, send email to [email protected] http://www.clubSmalltalk.org
