⚡
Ideas
  • Static Meta-Programming
  • Server
    • Tree-like Web Server
    • Function Server
    • Model Server
  • Application
    • Chatbot AI
  • Package/Library
    • The Ultimate Prefernce Manager
Powered by GitBook
On this page
  • Problem
  • Proposal

Was this helpful?

Static Meta-Programming

Problem

How do we do meta-programming(Reflection/Code-generation) without the usual use of reflection.

Proposal

Solution Requirements:

  • no annotations

  • structured

  • retains reference of generated code

Syntax:

static extention <name> on <selector> {

}
class DataClass {
    const DataClass._();
}
DataClass Person(String name, {String Address}){
    String NameFirstChar(){
        return name.first;
    }
}
static extention DataClass<T> on DataClass<T> Function {


    DataClass from
    Map<String, dynamic> toJson();
    String toString();

}
@data class Person {String name, String Address}
static extention DataClass<T> on @data<T> {
    T fromJson(Map<String, dynamic> json);
    Map<String, dynamic> toJson();
    String toString();
    Spec _$generate(){
        // access to reflection data
        return generatedCode;
    }
}
NextTree-like Web Server

Last updated 4 years ago

Was this helpful?