Eman-Shaaban / toy-troy

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Toy-troy is simplified version of Troy, the schema-safe Cassandra driver. The main purpose of this repo to demonstrate the underlying concept of Troy by implementing only a small subset of it.

What Troy allows you to do

You write your code using CQL strings developer code

What Troy does under the hood

Using Macros, the CQL strings above gets expanded into: generated code

How this works?

Type level programming... TODO: Explain basic type classes

TODO

  • Parse Raw SELECT Queries (FastParse) generating ScalaMeta trees
  • Parse CREATE TABLE statement into intermediate representation
  • Generate facts about schema as ScalaMeta trees
  • Execute Queries (using raw query provided by user)
  • Generate the query from the type AST

About

License:Apache License 2.0


Languages

Language:Scala 100.0%