2011-09-15 5 views
13

Obecny stan SIQ to presented autorstwa Christophera Vogta pod numerem ScalaDays 2011. Pokazano, jak będą wyglądać zapytania i jak wyglądają, ale o ile pamiętam, nie było pojęcia, jak te typy będą reprezentowane, np. sol. jeśli nadal konieczne jest napisanie kodu standardowego w celu wyjaśnienia struktury bazy danych Scala.Czy planuje się wspierać "dostawców typu" dla SIQ Scala (ScalaIntegratedQuery), podobnie jak w F #?

F # 3.0 dodaje type providers (PDC rozmawiać przez Don Syme: video; GOTO Kopenhaga rozmowa Tomas Petříček: video, slides, blog post), które sprawiają, że w zasadzie zbędne ręcznie napisać lub wygenerować mapowania pomiędzy DB (lub innego dostawcę danych) i system języka/typu, ponieważ język może wysyłać zapytania strukturalne z samej bazy danych bezpośrednio do dostawców typów.

Czy ScalaIntegratedQuery będzie w stanie podać typy/relacje bazy danych do kompilatora Scala, nie wymagając od użytkownika samodzielnego napisania kodu standardowego?

+0

@Carsten: czasami są informacje wewnętrzne lub wczesne raporty z pracy zespołu, więc pyta. Kto wie, może projektant Scala przyjdzie i da dobrą odpowiedź. –

+1

@Carsten: Dostałem odpowiedź bezpośrednio od faceta pracującego na dostawcach typu F # w moim drugim pytaniu ... idź wymyślić. – soc

+0

Dzięki za odniesienie do mojej rozmowy, ale podstawowym źródłem informacji na temat dostawców typu F # powinna być rozmowa Don Syme. Po prostu bawiłem się nim, on to zaprojektował :-). Zobacz np. PDC: http://channel9.msdn.com/Events/PDC/PDC10/FT12, ale nowa z BUILD również może być dostępna. –

Odpowiedz

11

Odpowiedź brzmi TAK. Zaproponujemy rozwiązanie automatyczne, bez ręcznego zestawu danych. Obecny prototyp SIQ wykorzystuje generowanie kodu, ale ten aspekt nie jest jeszcze rozwinięty, dlatego nie pokazałem go w Scala Days. Prace nad SIQ powracają, kiedy Stefan Zeiger i 3 października zaczynamy pracę w Lozannie. Przeanalizujemy dostawców typu F # w celu uzyskania dalszych inspiracji. Dziękuję za podpowiedź!

+1

To jest absolutnie genialne! Dzięki! Upewnij się jednak, że technika, której używasz, nie wyklucza używania jej do innych celów, takich jak definicje schematów XML lub pliki WSDL. (Innym interesującym podejściem, na które warto spojrzeć, jest "System Otwartego Typu" Gosu) – soc

+0

"ten aspekt nie jest jeszcze bardzo rozwinięty, dlatego pokazałem go w Scala Days" czy gdzieś brakuje "_nie_"? – soc

+0

w prawo, dodałem _not_ – cvogt