Name: “logic-lang” Description: “Prolog, Datalog, miniKanren, ASP etc. using clauses” Category: languages ; like apl or concatenative as it’s a paradigm Similar tags: databases, ai This is a programming paradigm encoding rules with clauses, related to relational calculus. Hwayne: <blockquote> (Things like clp(fd) and Picat do fall under the tag, as constraint logic programming is a subdiscipline of both LP and constraint satisfaction.) </blockquote> I made a similar proposal <a href=“https://lobste.rs/s/69ct0v/tag_proposal_logicprogramming” rel=“ugc”>before</a> but changed the name according to community wishes. It really comes up a lot but under random tags (and AI is often filter for unrelated reasons): Candidates:
- <a href=“https://lobste.rs/s/1j4fbo/answer_set_programming_2019” rel=“ugc”>https://lobste.rs/s/1j4fbo/answer_set_programming_2019</a>
- <a href=“https://lobste.rs/s/shcqvv/dedalus_datalog_time_space_2009” rel=“ugc”>https://lobste.rs/s/shcqvv/dedalus_datalog_time_space_2009</a>
- <a href=“https://lobste.rs/s/jmryxi/abcdatalog” rel=“ugc”>https://lobste.rs/s/jmryxi/abcdatalog</a>
- <a href=“https://lobste.rs/s/z4oxhm/compositional_datalog_on_sql_relational” rel=“ugc”>https://lobste.rs/s/z4oxhm/compositional_datalog_on_sql_relational</a>
- <a href=“https://lobste.rs/s/t0sr4q/optimizing_datalog_for_gpu” rel=“ugc”>https://lobste.rs/s/t0sr4q/optimizing_datalog_for_gpu</a>
- <a href=“https://lobste.rs/s/cta01r/emulating_prolog_ibm_pc_apl_environment” rel=“ugc”>https://lobste.rs/s/cta01r/emulating_prolog_ibm_pc_apl_environment</a>
- <a href=“https://lobste.rs/s/hzkqhc/dogalog_prolog_based_livecoding_music” rel=“ugc”>https://lobste.rs/s/hzkqhc/dogalog_prolog_based_livecoding_music</a>
- <a href=“https://lobste.rs/s/kiouhn/swi_prolog_10_0_0_released” rel=“ugc”>https://lobste.rs/s/kiouhn/swi_prolog_10_0_0_released</a>
- <a href=“https://lobste.rs/s/yxrkzt/solving_partridge_packing_problem_using” rel=“ugc”>https://lobste.rs/s/yxrkzt/solving_partridge_packing_problem_using</a>
- <a href=“https://lobste.rs/s/z2uql6/powerset_s_natural_language_search” rel=“ugc”>https://lobste.rs/s/z2uql6/powerset_s_natural_language_search</a>
- <a href=“https://lobste.rs/s/2h0qyr/drinking_with_datalog” rel=“ugc”>https://lobste.rs/s/2h0qyr/drinking_with_datalog</a>
- <a href=“https://lobste.rs/s/ikcoiw/scryer_prolog_meetup_2025” rel=“ugc”>https://lobste.rs/s/ikcoiw/scryer_prolog_meetup_2025</a>
- <a href=“https://lobste.rs/s/rpz1fw/dyna_logic_programming_for_machine” rel=“ugc”>https://lobste.rs/s/rpz1fw/dyna_logic_programming_for_machine</a>
- <a href=“https://lobste.rs/s/0kvmb9/liveness_analysis_with_datalog” rel=“ugc”>https://lobste.rs/s/0kvmb9/liveness_analysis_with_datalog</a>
- <a href=“https://lobste.rs/s/btlkeb/datalog_rust” rel=“ugc”>https://lobste.rs/s/btlkeb/datalog_rust</a>
- <a href=“https://lobste.rs/s/3rujno/datalog_minikanren” rel=“ugc”>https://lobste.rs/s/3rujno/datalog_minikanren</a>
- <a href=“https://lobste.rs/s/pqggrh/minnowbrook_logic_programming_seminar” rel=“ugc”>https://lobste.rs/s/pqggrh/minnowbrook_logic_programming_seminar</a>
- <a href=“https://lobste.rs/s/4tmzdy/implementing_logic_programming” rel=“ugc”>https://lobste.rs/s/4tmzdy/implementing_logic_programming</a>
- <a href=“https://lobste.rs/s/jwyu1t/rediscovering_beauty_chemistry_through” rel=“ugc”>https://lobste.rs/s/jwyu1t/rediscovering_beauty_chemistry_through</a>
- <a href=“https://lobste.rs/s/7nniv9/prolog_notes” rel=“ugc”>https://lobste.rs/s/7nniv9/prolog_notes</a>
- <a href=“https://lobste.rs/s/txoqvc/clolog” rel=“ugc”>https://lobste.rs/s/txoqvc/clolog</a>
- <a href=“https://lobste.rs/s/ab6qap/obituary_for_cyc” rel=“ugc”>https://lobste.rs/s/ab6qap/obituary_for_cyc</a>
- <a href=“https://lobste.rs/s/hcudc8/potassco_answer_set_solving_collection” rel=“ugc”>https://lobste.rs/s/hcudc8/potassco_answer_set_solving_collection</a>
- <a href=“https://lobste.rs/s/xl1m2i/pyreason_explainable_inference_for” rel=“ugc”>https://lobste.rs/s/xl1m2i/pyreason_explainable_inference_for</a>
- <a href=“https://lobste.rs/s/gz90fx/answer_set_programming_01_just_facts” rel=“ugc”>https://lobste.rs/s/gz90fx/answer_set_programming_01_just_facts</a>
- <a href=“https://lobste.rs/s/thfpkj/adam_smith_on_answer_set_programming” rel=“ugc”>https://lobste.rs/s/thfpkj/adam_smith_on_answer_set_programming</a>
- <a href=“https://lobste.rs/s/ifbnmh/dusa_programming_language” rel=“ugc”>https://lobste.rs/s/ifbnmh/dusa_programming_language</a>
- <a href=“https://lobste.rs/s/wabdkx/baby_steps_into_genetic_programming” rel=“ugc”>https://lobste.rs/s/wabdkx/baby_steps_into_genetic_programming</a>
- <a href=“https://lobste.rs/s/dqhofu/simple_datalog_engine_rust_2018” rel=“ugc”>https://lobste.rs/s/dqhofu/simple_datalog_engine_rust_2018</a>
- <a href=“https://lobste.rs/s/g1xfen/generative_ai_servo” rel=“ugc”>https://lobste.rs/s/g1xfen/generative_ai_servo</a>
- <a href=“https://lobste.rs/s/odzx0k/curry_truly_integrated_functional_logic” rel=“ugc”>https://lobste.rs/s/odzx0k/curry_truly_integrated_functional_logic</a>
- <a href=“https://lobste.rs/s/arnhsd/how_average_prolog_2017” rel=“ugc”>https://lobste.rs/s/arnhsd/how_average_prolog_2017</a>
- <a href=“https://lobste.rs/s/v4cr5g/neurosymbolic_programming_with_scallop” rel=“ugc”>https://lobste.rs/s/v4cr5g/neurosymbolic_programming_with_scallop</a>
- <a href=“https://lobste.rs/s/angvuk/making_datalog_engine_clojure” rel=“ugc”>https://lobste.rs/s/angvuk/making_datalog_engine_clojure</a>
- <a href=“https://lobste.rs/s/wooe50/databases_are_endgame_for_data_oriented” rel=“ugc”>https://lobste.rs/s/wooe50/databases_are_endgame_for_data_oriented</a>
- <a href=“https://lobste.rs/s/i5yyks/writing_worst_datalog_ever_26loc” rel=“ugc”>https://lobste.rs/s/i5yyks/writing_worst_datalog_ever_26loc</a>
- <a href=“https://lobste.rs/s/agemff/using_answer_set_programming_solve” rel=“ugc”>https://lobste.rs/s/agemff/using_answer_set_programming_solve</a>
- <a href=“https://lobste.rs/s/akxfbm/c_plus_prolog” rel=“ugc”>https://lobste.rs/s/akxfbm/c_plus_prolog</a>
- <a href=“https://lobste.rs/s/qbyv1o/justified_smt_1_minikanren_inside_z3” rel=“ugc”>https://lobste.rs/s/qbyv1o/justified_smt_1_minikanren_inside_z3</a>
- <a href=“https://lobste.rs/s/qu379e/why_did_prolog_lose_steam_2010” rel=“ugc”>https://lobste.rs/s/qu379e/why_did_prolog_lose_steam_2010</a>
- <a href=“https://lobste.rs/s/angvuk/making_datalog_engine_clojure” rel=“ugc”>https://lobste.rs/s/angvuk/making_datalog_engine_clojure</a>
- <a href=“https://lobste.rs/s/duredh/ciao_prolog_system_prolog” rel=“ugc”>https://lobste.rs/s/duredh/ciao_prolog_system_prolog</a>
- <a href=“https://lobste.rs/s/zq1oph/inductive_logic_programming_at_30_new” rel=“ugc”>https://lobste.rs/s/zq1oph/inductive_logic_programming_at_30_new</a>
- <a href=“https://lobste.rs/s/jcsfbx/program_is_database_is_interface” rel=“ugc”>https://lobste.rs/s/jcsfbx/program_is_database_is_interface</a>
- <a href=“https://lobste.rs/s/aph7kn/poet_logic_programming_interview_with” rel=“ugc”>https://lobste.rs/s/aph7kn/poet_logic_programming_interview_with</a>
- <a href=“https://lobste.rs/s/jcjpnc/planning_weekly_workouts_100_lines” rel=“ugc”>https://lobste.rs/s/jcjpnc/planning_weekly_workouts_100_lines</a>
- <a href=“https://lobste.rs/s/j61hod/search_next_great_programming_language” rel=“ugc”>https://lobste.rs/s/j61hod/search_next_great_programming_language</a>
- <a href=“https://lobste.rs/s/db8wcx/eve_programming_language” rel=“ugc”>https://lobste.rs/s/db8wcx/eve_programming_language</a>
- <a href=“https://lobste.rs/s/ihhb3x/native_compilation_prolog_predicates” rel=“ugc”>https://lobste.rs/s/ihhb3x/native_compilation_prolog_predicates</a>
- <a href=“https://lobste.rs/s/d029dt/porting_pfp_from_haskell_ocaml” rel=“ugc”>https://lobste.rs/s/d029dt/porting_pfp_from_haskell_ocaml</a>
- <a href=“https://lobste.rs/s/h4ij6z/use_prolog_for_developing_new” rel=“ugc”>https://lobste.rs/s/h4ij6z/use_prolog_for_developing_new</a>
- <a href=“https://lobste.rs/s/grpayi/zest_programming_language_for_malleable” rel=“ugc”>https://lobste.rs/s/grpayi/zest_programming_language_for_malleable</a>
- <a href=“https://lobste.rs/s/huujww/use_prolog_improve_llm_s_reasoning” rel=“ugc”>https://lobste.rs/s/huujww/use_prolog_improve_llm_s_reasoning</a>
- <a href=“https://lobste.rs/s/ifbnmh/dusa_programming_language” rel=“ugc”>https://lobste.rs/s/ifbnmh/dusa_programming_language</a>
- <a href=“https://lobste.rs/s/nniiar/can_logic_programming_be_liberated_from” rel=“ugc”>https://lobste.rs/s/nniiar/can_logic_programming_be_liberated_from</a>
- <a href=“https://lobste.rs/s/eb8cgf/planner_programming_blows_my_mind” rel=“ugc”>https://lobste.rs/s/eb8cgf/planner_programming_blows_my_mind</a>
- <a href=“https://lobste.rs/s/r9xgu8/picat_3_6_released” rel=“ugc”>https://lobste.rs/s/r9xgu8/picat_3_6_released</a>
- <a href=“https://lobste.rs/s/mwsk2m/picat_logic_based_multi_paradigm_pl_for” rel=“ugc”>https://lobste.rs/s/mwsk2m/picat_logic_based_multi_paradigm_pl_for</a>
- <a href=“https://lobste.rs/s/wcddhk/programmation_par_contraintes” rel=“ugc”>https://lobste.rs/s/wcddhk/programmation_par_contraintes</a>
- <a href=“https://lobste.rs/s/cphnpr/minikanren_interactive_tutorial” rel=“ugc”>https://lobste.rs/s/cphnpr/minikanren_interactive_tutorial</a>
- <a href=“https://lobste.rs/s/aade0u/using_z3_solve_logic_puzzles” rel=“ugc”>https://lobste.rs/s/aade0u/using_z3_solve_logic_puzzles</a>
- <a href=“https://lobste.rs/s/jv0b2v/solving_math_problem_with_planner” rel=“ugc”>https://lobste.rs/s/jv0b2v/solving_math_problem_with_planner</a>
- <a href=“https://lobste.rs/s/uybgwr/unexpected_discovery_automated” rel=“ugc”>https://lobste.rs/s/uybgwr/unexpected_discovery_automated</a>
- <a href=“https://lobste.rs/s/glcgko/creusat_formally_verified_sat_solver” rel=“ugc”>https://lobste.rs/s/glcgko/creusat_formally_verified_sat_solver</a>
- <a href=“https://lobste.rs/s/ky4li4/simply_typed_lambda_calculus_datalog” rel=“ugc”>https://lobste.rs/s/ky4li4/simply_typed_lambda_calculus_datalog</a>
- <a href=“https://lobste.rs/s/kqsgmv/solving_miracle_sudoku_prolog” rel=“ugc”>https://lobste.rs/s/kqsgmv/solving_miracle_sudoku_prolog</a>
- <a href=“https://lobste.rs/s/hmgmq1/c_c_examining_hackage_logict” rel=“ugc”>https://lobste.rs/s/hmgmq1/c_c_examining_hackage_logict</a>
- <a href=“https://lobste.rs/s/vttflv/meta_programming_technique_for” rel=“ugc”>https://lobste.rs/s/vttflv/meta_programming_technique_for</a>
Unsure (I’m e.g. not sure where to draw the line between some applications or implementations of formal methods and this):
- <a href=“https://lobste.rs/s/xkynzw/what_declarative_languages_are_2013” rel=“ugc”>https://lobste.rs/s/xkynzw/what_declarative_languages_are_2013</a>
- <a href=“https://lobste.rs/s/isc1qn/stop_your_business_rules_engines” rel=“ugc”>https://lobste.rs/s/isc1qn/stop_your_business_rules_engines</a>
- <a href=“https://lobste.rs/s/dtbswk/unexplanations_query_optimization” rel=“ugc”>https://lobste.rs/s/dtbswk/unexplanations_query_optimization</a>
- <a href=“https://lobste.rs/s/d9eebx/democratizing_software” rel=“ugc”>https://lobste.rs/s/d9eebx/democratizing_software</a>
- <a href=“https://lobste.rs/s/qvhwss/quint” rel=“ugc”>https://lobste.rs/s/qvhwss/quint</a>
- <a href=“https://lobste.rs/s/qcppwf/llms_don_t_do_formal_reasoning_is_huge” rel=“ugc”>https://lobste.rs/s/qcppwf/llms_don_t_do_formal_reasoning_is_huge</a>
- <a href=“https://lobste.rs/s/pn7sq3/interfacing_mcp_with_combinatorial” rel=“ugc”>https://lobste.rs/s/pn7sq3/interfacing_mcp_with_combinatorial</a>

