194 karma · joined October 30, 2012
Clojure, C++, Objective-C, JavaScript, Perl, Emacs Lisp, Python, Assembly
+1 on avoiding side effects from business logic. This applies not just to Toucan, but to database code in general. Toucan is there to give you a way to define behaviors when interacting with your application database, for example transforming certain columns when you fetch rows from a certain table from the database. It's that plus utility functions for interacting with your database. Not really an ORM.
Either way, Toucan 2 is out now: https://github.com/camsaul/toucan2 I'm still working on fully documenting it but it's already being used in the wild and Toucan 1 will probably be archived soon
To my dismay, there were none. So I spent the rest of my afternoon correcting this glaring deficiency. Fellow Emacs users, protect yourself from Unicode trolls and grab it here: https://github.com/camsaul/emacs-unicode-troll-stopper
Any idea on the timeline for SQL Server support ?
-pipe
-std=c++11
-gfull # generate correct debugging symbols for dead code stripping
-stdlib=libc++
-Ofast # fast, aggressive optimizations (clang-specific)
-fvectorize # enable loop autovectorizer
-fdiagnostics-show-template-tree (clang: print C++ template error as a tree instead of on a single line)
-Weverything # clang specific: enable every single warning
-Werror
-Wfatal-errors # die after the first error encountered
-Wno-c++98-compat
-Wno-c++98-compat-pedantic
-Wno-global-constructors
-Wno-exit-time-destructors
-ffast-math # enable some floating point optimizations that break IEEE754 compliance but usually work
-funroll-loops # enable loop unrolling
-fstrict-aliasing # make more aggressive assumptions about whether pointers can point to the same objects
-fatal_warnings # treat linker warnings as fatal
-flto # enable link-time optimization
-dead_strip # enable dead code stripping
-Wno-error=deprecated # like being able to put __attribute((deprecated)) in code as a note to self
-Wno-error=#warnings # same thing goes for #warnings