В Java я могу сделать что-то вроде:
@file_pattern("**/BILLING*.csv")
@format("fixed")
@encoding("latin-1")
@missing_end_of_record_fields_supported: yes
@header: yes
@comment_char: "#"
@lineending("auto")
@BOM: yes
@max_errors: 5
Class BillingRecord extends BaseRecord
@pos(1, 5)
@strip("left")
@minmax(1, 19999, "error") // "warn" only warn, but don't increase error count
@pattern(r"\d+", "error")
int ID;
@pos(6, 10)
@strip("left")
@decode // from "latin-1" to utf-8
String name;
и использовать аннотации для генерации необходимого (оптимизированного) исходного кода. Это простой пример, который мы позже хотим расширить в рабочие процессы / процессы ETL. Я посмотрел на возможности метапрограммирования и макропрограммы Джулии, но изо всех сил пытался найти конкретные примеры, подобные сценарию использования.
Мы не полагаемся на аннотации, если Юлия предоставляет что-то другое. Однако он должен быть одинаково легко читаемым и понятным, расширяемым и гибким.
Большое спасибо за ваши идеи