<div dir="ltr">
        
        


Dear all,<br><br>I am pleased to announce the release on Hackage of a new Haskell ETL Library, namely DBFunctor-0.1.0.0.<br><br>(“ETL” stands for Extract Transform and Load and is the standard technology for accomplishing data management tasks in Data Warehouses / Data Marts and in general for data migrations, or for preparing data for any analytic purpose (Ad hoc queries, data exploration/data analysis, Reporting and Business Intelligence, feeding Machine Learning algorithms, etc.))<br><br>Version 0.1.0.0 can be used for <b>in-memory data processing</b> without the need of some external database. It is just a Haskell library linked in your Haskell program that enables full SQL functionality over tabular data (e.g., CSV files) but also the ability to write a full ETL data processing flow.<br><br>Key features of this release are:<br><br>1. <b>Julius DSL</b>: A Type-Level Embedded Domain Specific Language (EDSL) for ETL<br>2. Supports all known relational algebra operations<br>3. Implements the ETL Mapping and other typical ETL constructs and operations<br>4. Applicable to all kinds of tabular data<br>5. In-memory, database-less data processing<br><br>For more information please check out the project homepage: <a href="https://github.com/nkarag/haskell-DBFunctor">https://github.com/nkarag/haskell-DBFunctor</a><br><br>Also there is a tutorial that can help you to easily get started with Julius DSL:<br><a href="https://github.com/nkarag/haskell-DBFunctor/blob/master/doc/JULIUS-TUTORIAL.md">https://github.com/nkarag/haskell-DBFunctor/blob/master/doc/JULIUS-TUTORIAL.md</a> <br><br>* Learn how to implement your ETL flows with Julius DSL<br>* Learn how to implement common ETL operations (append a delta to some target table, or create a surrogate key column etc.)<br>* Build your own aggregate or analytic functions (string_agg, or a montlhy running total)<br>* Express complex queries with Julius (equivalent to the WITH-clause in SQL)<br>* and many more ...<br><br>For any issues/problems with the DBFunctor package please open an issue on github.<br><br>Happy data processing!<br><br>Thank you.<div><br>Best Regards,<br>Nikos</div></div>