{"id":"W2020217406","doi":"10.1016/j.scico.2008.09.008","title":"Multi-stage programming with functors and monads: Eliminating abstraction overhead from generic code","year":2008,"lang":"en","type":"article","venue":"Science of Computer Programming","topic":"Logic, programming, and type systems","field":"Computer Science","cited_by":33,"is_retracted":false,"has_abstract":false,"ca_institutions":"McMaster University","funders":"","keywords":"Computer science; Programming language; Abstraction; Code (set theory); Domain (mathematical analysis); Overhead (engineering); Gaussian elimination; Substitution (logic); Algorithm; Theoretical computer science; Gaussian; Mathematics","routes":{"ca_aff":true,"ca_fund":false,"ca_venue":false,"about_ca":false,"invisible_to_affiliation_only":false},"retraction":null,"screen":null,"direct_labels":[],"prediction":{"model_version":"metacan-v3-hybrid-931329e0061c","candidate_categories":[],"consensus_categories":[],"category_scores_codex":[0.005064932,0.0009837567,0.001661431,0.001173621,0.001330811,0.00325558,0.005106173,0.001761562,0.004489292],"category_scores_gemma":[0.01142005,0.001801439,0.002513719,0.0020462,0.003606714,0.01468972,0.00891271,0.004702327,0.001268399],"about_ca_system_candidate":false,"about_ca_system_consensus":false,"about_ca_system_score_codex":0.001075885,"about_ca_system_score_gemma":0.002401432,"about_ca_topic_candidate":false,"about_ca_topic_consensus":false,"about_ca_topic_score_codex":0.001046217,"about_ca_topic_score_gemma":0.002495855,"domain_scores_codex":[0.995814,0.00117254,0.0003877311,0.0006761299,0.001155632,0.0007939335],"domain_scores_gemma":[0.9832791,0.003231354,0.0007043881,0.0114936,0.0008105278,0.0004809579],"domain_codex":null,"domain_gemma":null,"domain_candidate":null,"domain_consensus":null,"study_design_codex":"theoretical_or_conceptual","study_design_gemma":"theoretical_or_conceptual","study_design_scores_codex":[0.001060108,0.0003642572,0.00572257,0.0006702304,0.0001735073,0.0004235021,0.001501928,0.02299987,0.03235535,0.6277617,0.007096369,0.2998708],"study_design_scores_gemma":[0.0001916781,0.0003393336,0.00153857,0.0001836561,0.0004626938,0.0005779323,0.0002967965,0.2472431,0.05556681,0.6643307,0.0290801,0.000188587],"study_design_candidate":"theoretical_or_conceptual","study_design_consensus":"theoretical_or_conceptual","genre_codex":"methods","genre_gemma":"methods","genre_scores_codex":[0.0253026,0.0002020689,0.9665672,0.0002249828,0.00004779527,0.00006230172,0.00006225277,0.005400181,0.002130632],"genre_scores_gemma":[0.3879077,0.0002824733,0.6024572,0.0003413761,0.00009365146,0.0001650856,0.0002469114,0.003125951,0.005379611],"genre_candidate":"methods","genre_consensus":"methods","teacher_disagreement_score":0.005106173,"threshold_uncertainty_score":0.02678627,"prediction_status":"machine_predicted_unvalidated"},"machine_scores":{"provisional":true,"baseline":true,"maturity_gate_passed":false,"score_opus":0.04999646401566613,"score_gpt":0.2701197069315918,"score_spread":0.2201232429159256,"validation_status":"score_only:v0-immature-baseline","note":"Baseline scores from an immature model (maturity gate not passed). Scores rank; they never assert a category."}}