metaprogramming   5003

« earlier    

C++17 constexpr Compile-time Ray Tracer
This is a C++17 ray tracer using constexpr function evaluation to produce the above image entirely at compile-time. Unlike other compile-time ray tracers which use template metaprogramming, this code also works just as well (in fact, thousands of times faster) at run time.
c++  ray  tracer  compiler  programming  metaprogramming  template 
21 days ago by Hwinkler
Singletons cannot into GADTs
This is the reason for "hell singletons" when trying to build GADTs whose parameters are themselves of promoted GADT kind. One day they will add Promote to singletons and, inshallah, we will no longer have to hand-roll our own promotion type families.

Either that, or GHC will let us directly use 'SWhatever (promoted data family constructors).
programming  haskell  dependent-types  platform-crap  deep-platform-crap  types  metaprogramming 
8 weeks ago by derrickturk

« earlier    

related tags

activerecord  advocacy  ast  auto-programming  autogeneration  bestpractices  book  bowkett  build  building  c++  c  cern  clang  clos  code  compiler  compilers  concurrency  containers  cs  custom  data-structures  data  database  datastructures  decorators  deep-platform-crap  dependent-types  descriptors  designpatterns  development-tools  dry  dsl  dynamic-programming  dynamic  elixir  erlang  error  es2015  es6  example  exceptions  floss  functional  further_reading  gem  generality  generation  github  gnu  haskell  homoiconicity  howto  implementation  inheritance  interpreter  intro  introspection  iterable  iterators  javascript  jetbrains  js  julia  language  libraries  library  links  linq  lisp  llvm  logging  lowlevel  macro  macros  make  metadata  metamathematics  mim  modules  monkeypatching  mop  multiparadigm  natural  nim  non-standard-evaluation  nse  object  ocaml  oop  opensource  oriented  orm  os  paper  parsing  paulgraham  performannce  phd  platform-crap  play  powerful  ppx  practical  productivity  programming  programming_language  proxy  python  python3  quasiquotation  quotation  racket  rails  ray  reflection  requests  result  robin_milner  robustness  rspec  rstats  ruby  rubyonrails  scala  selfreference  shuttle  sourcecode  sql  staging  symbols  syntax  synthesis  template  tips  toolkit  tools  tracer  transformation  tutorial  tutorials  type-checking  typeannotation  types  typescript  video  web  webdev  workout 

Copy this bookmark: