cursive-ide / cursive

Cursive: The IDE for beautiful Clojure code
580 stars 7 forks source link

support for scicloj/tablecloth export-symbols macro #2573

Open markaddleman opened 3 years ago

markaddleman commented 3 years ago

I'm using scicloj/tablecloth and it makes heavy use of an export macro. Example: (export-symbols tech.v3.datatype.datetime.base system-zone-id utc-zone-id system-zone-offset utc-zone-offset milliseconds-since-epoch->instant seconds-since-epoch->instant instant instant->milliseconds-since-epoch instant->seconds-since-epoch instant->microseconds-since-epoch microseconds-since-epoch->instant local-date-time->local-time local-time milliseconds-since-epoch->local-time local-time->instant local-time->seconds local-time->milliseconds seconds->local-time milliseconds->local-time instant->local-date-time zoned-date-time->instant zoned-date-time->milliseconds-since-epoch zoned-date-time instant->zoned-date-time milliseconds-since-epoch->zoned-date-time local-date-time->instant local-date-time->zoned-date-time local-date-time milliseconds-since-epoch->local-date-time local-date-time->milliseconds-since-epoch local-date local-date-time->local-date local-date->local-date-time local-date->days-since-epoch days-since-epoch->local-date local-date->instant local-date->zoned-date-time local-date->milliseconds-since-epoch local-time->local-date-time milliseconds-since-epoch->local-date duration duration->nanoseconds nanoseconds->duration duration->milliseconds milliseconds->duration)

Implementation at https://github.com/cnuernber/dtype-next/blob/8fb3166a44a2ce21a673c864ae4d0351b6813d46/src/tech/v3/datatype/export_symbols.clj

daslu commented 2 years ago

For reference: this is related to #2566.

daslu commented 2 years ago

This has been solved in dtype-next and tech.ml.dataset using code generation, paving the way for a Tablecloth solution.

Discussion at the Tablecloth project: https://github.com/scicloj/tablecloth/issues/58#issuecomment-989904780