Programming Languages
Languages
- J
A high-performance language for data processing and parallel computing. J implementation in Nim
- Z
A dialect for C that's immutable by default, resolves undefined behavior and uses an SMT solver to guarantee reference stability
- Chapel
A parallel programming language that claims to have some novel ideas.
- Catala
A DSL for representing laws by construction, designed to enable lawyers to certify laws. Interested in formal verification of legal documents, potentially.
- Raku
A descendent of Perl, it features lots of additional features including fun grammar specifications.
- Ante
'The compile-time language'. Made by a Northeastern undergraduate.
- Oak
Designed as a simple replacement for C.
- Topshell
A functional, reactive scripting language.
- Chef
An esoteric programming language designed to simultaneously represent recipes and programs.
- Fennel
Lisp for Lua.
- Whitespace
A programming language designed with only whitespace characters, ignoring all others. Any program that disregards whitespace can express a whitespace program within it. Fun to represent in laugnages that aren't indent-aware - these programs can also encode Whitespace within them!
- Lux
A statically typed Lisp-like language for the JVM.
- While
A language used in textbooks such as 'Principles of Program Analysis'.
- PolyRPC
A 'multi-tier' functional programming language.
- Steno
livecoding metalanguage
- Unlambda
A minimal functional programming language based on combinatory logic meant to be a demonstration of pure functional programming
- Vodka
A creative coding environment and language for structured editing for writers.
- Play
A statically typed Forth!
- Imba
A programming language for the web that finally handles full stack in all of the right waysLove the syntax!!! Great lessons from someone who knows how to teach as well - very easy to understand and get started with the language!
DSLs
- MLang
A DSL created to represent and calculate the French tax code.
langauge for system configuration
https://microformats.io/ html dsl in classes to add meaning
language for puzzles!
Make music!
Ahnfelt/funk: PROTOTYPE: A minimal scripting language - OOP via lambda func Programming Languages as Objects in Nature https://www.colm.net/open-source/ragel/ state machine compiler https://www.openpolicyagent.org/docs/latest/policy-language/ policy lang http://inform7.com/ dsl for text based adventures http://ebblang.org/ dsl for physical simulations http://terralang.org/ systems prog lang embedded in Lua http://optlang.org/ embedded lang for nonlinear least squares optimization https://hackage.haskell.org/package/accelerate embedded lang for array processing
also see https://jrslepak.github.io/publications/ https://tracery.io/ :: simple graphics programming language
- Unison
A distributed programming language and editing environment for the modern web. A major inspiration for the projectional Text Editors project.
https://faust.grame.fr/ https://en.m.wikipedia.org/wiki/Datalog http://pepijndevos.nl/2018/10/03/behavior-trees-are-concatenative-programs.html behavior trees http://coconut-lang.org/ https://www.dangermouse.net/esoteric/piet.html https://effekt-lang.org/ effekt polymorphism
Work
https://hmc-cs111-fall2016.github.io/ class on DSLs https://github.com/google/evcxr https://github.com/hengestone/lua-languages programming languages targeting lua https://github.com/jeanqasaur/dsl-syllabus-fall-2016 class on dsls
Research
https://github.com/jdublu10/icfp2020-papers ICFP 2020 conf https://github.com/melling/ComputerLanguages someone's notes on computer languages
Lean
This'll be factored out when I learn more about Lean. https://github.com/uwdb/Cosette automated sql solver https://github.com/ImperialCollegeLondon/group-theory-game group theory in lean
blurring the curry howard line
https://www.youtube.com/watch?v=jrVPB-Ad5Gc&t=1870s&app=desktop works on autonomous vehicles, fun stuff
typically using languages iwth proof assistants. however, actuation systems in carshave real time constraints, so lazy evaluation or nondeterministic memory management is not valid. this is typically done in c or cpp. pulling a c program from a coq proof ?
programs :: foramlized syntactically, but modeled semantically. denotational semantics map number to some set :: ie some u8 integer fits within one set. map syntactic objects to universal mathematics with such denotational semantics
typing rules: tau - a : A, f:A -> B
tau |- a
cannot capture everything with type theory? dependent types end up capturing everything. can provide complete specification of a program's behavior in the dependent type theory.
curry-howard correspondance :: a correspondence between program and proof! we know we can reason about our programs from a dependent type theory, but what is this gap called? specifying program in the types: can make assertions about the correctness of this code.
why dependent types matter paper. rust provides subset for representing dependent typed behavior in our programs. type level definition of the natural numbers, for example!
these programs can be fully represented in state machines! the entire system and communication protocols can be captured with such a state machine, and this state machine can be represented in a rust type system
state :: sum type. type family adjacency; types that are members of the type family are adjacent to each of these states.
can use demotational semantics to convert rust semantics to agda :: and as agda has full dependent types. using agda allows us to mechanize semantic function ! agda has a notion of proofs and may soon have a notion of tactics. proving things foundationally in agda could be doable once we have the specification of the program in its own domain
state machines :: behold the program counter as everything is tracked at compile time. not easy in this representation to track a state machine in terms of program handlers.
church numerals :: general way of using a function to produce numbers program that extracts information from a rust program and stick the semantics in agda
blurring the curry howard line
https://www.youtube.com/watch?v=jrVPB-Ad5Gc&t=1870s&app=desktop works on autonomous vehicles, fun stuff
typically using languages iwth proof assistants. however, actuation systems in carshave real time constraints, so lazy evaluation or nondeterministic memory management is not valid. this is typically done in c or cpp. pulling a c program from a coq proof ?
programs :: foramlized syntactically, but modeled semantically. denotational semantics map number to some set :: ie some u8 integer fits within one set. map syntactic objects to universal mathematics with such denotational semantics
typing rules: tau - a : A, f:A -> B
tau |- a
cannot capture everything with type theory? dependent types end up capturing everything. can provide complete specification of a program's behavior in the dependent type theory.
curry-howard correspondance :: a correspondence between program and proof! we know we can reason about our programs from a dependent type theory, but what is this gap called? specifying program in the types: can make assertions about the correctness of this code.
why dependent types matter paper. rust provides subset for representing dependent typed behavior in our programs. type level definition of the natural numbers, for example!
these programs can be fully represented in state machines! the entire system and communication protocols can be captured with such a state machine, and this state machine can be represented in a rust type system
state :: sum type. type family adjacency; types that are members of the type family are adjacent to each of these states.
can use demotational semantics to convert rust semantics to agda :: and as agda has full dependent types. using agda allows us to mechanize semantic function ! agda has a notion of proofs and may soon have a notion of tactics. proving things foundationally in agda could be doable once we have the specification of the program in its own domain
state machines :: behold the program counter as everything is tracked at compile time. not easy in this representation to track a state machine in terms of program handlers.
church numerals :: general way of using a function to produce numbers program that extracts information from a rust program and stick the semantics in agda
future reading
toy lang
powerful programming language type level programming aliasing and ownership the art of code prog synth at pldi
???
https://www.reddit.com/r/gorillaz/comments/g980ui/rock_the_house_animation_by_%E3%83%96%E3%83%AB%E3%83%BC%E3%83%8F%E3%83%A0%E3%83%8F%E3%83%A0/ -- how do i do animations like this?
https://www.linkedin.com/mwlite/in/christopher-choquette-choo who is this dude? https://copetti.org/projects/ -- does writing on console architecture https://pydanny.blogspot.com/2011/08/github-is-my-resume.html?m=1 -- making a resume for github http://mjb.io/ -- wild!
Programming Languages
useful resources: https://github.com/wilbowma/pl-thesaurus -- too advanced for me
Adjunction
Whnen categories are Posets, adjunction is a Galois connection
Strong Monad
Monad
Kleisli trible, s4 possibility mdality when category is defined as poset, monad is a closure operator
Reflection
when categories are posets, this is a galois surjection
Right Adjoint
In order theory, right adjoint of Galois connection is upper adjoint in abstract interpretation, this is Concretization function
Left Adjoint
in order theory: left adjoint of galois connection is lower adjoint in abstract interpretation, this is abstract function
Galois Connection
term rewriting
https://www21.in.tum.de/~nipkow/TRaAT/ -- book benjamin had, it's a description of term rewriting problems, universal algebra, unification theory https://en.wikipedia.org/wiki/Rewriting
pl random link spit
https://www.reddit.com/r/ProgrammingLanguages/comments/fzu00x/naming_functional_and_destructive_operations/ https://www.reddit.com/r/haskell/comments/60r9hu/proposal_suggest_explicit_type_application_for/ https://www.amazon.com/gp/product/1555580416?ie=UTF8&tag=ucmbread-20&linkCode=as2&camp=1789&creative=390957&creativeASIN=1555580416 https://felleisen.org/matthias/4400-s20/lecture27.html https://www.cambridge.org/core/journals/journal-of-functional-programming/article/effect-handlers-via-generalised-continuations/DF590482FEE2F6888CD68B4B446E31D5 https://www.reddit.com/r/ProgrammingLanguages/comments/f75y79/what_is_modal_logic_and_what_is_it_good_for_flash/ https://projectfluent.org/ https://arxiv.org/abs/1605.06640 https://brianmckenna.org/blog/ https://arxiv.org/abs/1905.09381 https://www.reddit.com/r/ProgrammingLanguages/comments/fp7sko/10_mostly_dead_influential_programming_languages/ https://www.reddit.com/r/ProgrammingLanguages/comments/fvx72d/i_analyzed_wikipedia_documents_of_programming/ https://www.reddit.com/r/ProgrammingLanguages/comments/fc274s/whats_your_favorite_programming_language_why/ http://journal.stuffwithstuff.com/2020/04/05/crafting-crafting-interpreters/ http://dot.planet.ee/yeti/intro.html#structures https://www.quantamagazine.org/formal-verification-creates-hacker-proof-code-20160920/ https://www.reddit.com/r/ProgrammingLanguages/comments/8ud5am/what_are_the_poison_pills_to_avoid_when_designing/ https://www.reddit.com/r/ProgrammingLanguages/comments/8vcrzb/what_are_some_interesting_language_features_that/ https://www.reddit.com/r/ProgrammingLanguages/comments/cuwy29/plam_now_supports_lists_with_list_library_check/ https://www.reddit.com/r/ProgrammingLanguages/comments/cx4hea/so_i_developed_an_interpreted_language_in_c/ https://www.reddit.com/r/ProgrammingLanguages/comments/dpnmzl/the_next_7000_programming_languages/ https://www.cis.upenn.edu/~bcpierce/courses/670Fall04/GreatWorksInPL.shtml -- overview of great works in pl to know before diving in! https://softwarefoundations.cis.upenn.edu/ -- software foundations https://plfa.github.io/ -- foundations in agda! for free! https://blog.janestreet.com/whats-in-a-name/ -- excellent essay on the importance of naming https://arxiv.org/abs/1809.10756 -- intro to probabilistic prgrammign ! https://www.defmacro.org/ramblings/lisp-in-haskell.html -- writing a quick lisp interpreter in haskell http://dev.stephendiehl.com/fun/ -- building modern functional compiler from first principles parsing https://golem.ph.utexas.edu/category/2020/05/in_further_praise_of_dependent.html https://stackoverflow.com/questions/232682/how-would-you-go-about-implementing-off-side-rule --basically indenting and dedenting with lexer just like any other parens https://en.wikipedia.org/wiki/Earley_parser -- context-free parsing of strings algorithm https://mitpress.mit.edu/books/little-prover -- introduction to writing proofs about computer programs https://en.wikipedia.org/wiki/Idris_(programminglanguage) -- haskell-inspired purely functional programming language with dependent types https://en.wikipedia.org/wiki/Brzozowski_derivative -- derivatives of language constructs - whoah! https://github.com/adjoint-io/bulletproofs -- proofs that require no trusted setup https://en.wikipedia.org/wiki/Titchmarsh_convolution_theorem designing a simple racket dsl https://course.ccs.neu.edu/cs2500accelf17/lab12.html https://felleisen.org/matthias/4620-s18/index.html -- hack your own language / building extensible systems : learn more about it! please! https://craftinginterpreters.com/ -- the book on crafting interpreters https://groups.google.com/forum/#!msg/racket-users/vN_1uUJZnXo/5bXiMEBvCgAJ -- arguments aboutsurface syntax of racket https://blog.racket-lang.org/2020/02/racket-on-chez-status.htmlhttps://blog.racket-lang.org/2020/02/racket-on-chez-status.html -- racket on chez scheme for performance optimizations! https://blog.acolyer.org/2020/01/17/synthesizing-data-structure-transformations/ synthesizing programs from input and output!! wow!! program synthesis looks like such a cool thing https://www.reddit.com/r/ProgrammingLanguages/comments/ev0zzv/growing_a_language_by_guy_steele/ https://www.youtube.com/watch?v=agw-wlHGi0E&app=desktop https://www.reddit.com/r/ProgrammingLanguages/comments/b2a61l/what_are_some_niche_features_youd_like_to_see_in/ https://thosakwe.com/blog/aot-compilation-and-other-dart-hackery/ https://www.reddit.com/r/ProgrammingLanguages/comments/dwt8xu/what_is_your_favourite_academic_paper_on/ http://craftinginterpreters.com/closures.html https://jadon.io/blog/row-polymorphism
fun languages
https://github.com/adam-mcdaniel/oakc fun alternative to c langauge https://github.com/psg-mit/smooth http://bloom-lang.net/ https://www.reddit.com/r/ProgrammingLanguages/comments/g2hhq0/statically_typed_language_with_a_flexible_macro/
https://www.reddit.com/r/ProgrammingLanguages/comments/ehqlay/announcing_the_frost_programming_language/ https://www.reddit.com/r/ProgrammingLanguages/comments/exl0h5/free_a_programming_language_with_an_unusual/ https://www.reddit.com/r/ProgrammingLanguages/comments/g0k14m/is_copyonmodify_semantics_for_variables_used_in/ https://quorumlanguage.com/evidence.html https://www.reddit.com/r/ProgrammingLanguages/comments/g0n2bd/from_scala_monadic_effects_to_unison_algebraic/https://www.reddit.com/r/ProgrammingLanguages/comments/g0n2bd/from_scala_monadic_effects_to_unison_algebraic/ https://v8.dev/ http://logitext.mit.edu/main http://yannesposito.com/Scratch/en/blog/Learn-Vim-Progressively/ https://www.sifive.com/ https://www.wolframphysics.org/ https://daniel.haxx.se/ http://matt.might.net/articles/ http://matt.might.net/articles/best-tools-for-using-and-learning-linux-and-unix/#wms https://dlang.org/ https://web.obarun.org/ https://en.m.wikipedia.org/wiki/Malbolge https://eta-lang.org/ https://www.scala-lang.org/ https://www.amazon.com/gp/product/1555580416?ie=UTF8&tag=ucmbread-20&linkCode=as2&camp=1789&creative=390957&creativeASIN=1555580416 https://www.reddit.com/r/ProgrammingLanguages/comments/f30wxi/github_marcpaqb1fipl_a_bestiary_of_singlefile/ https://www.reddit.com/r/ProgrammingLanguages/comments/elbt5u/introducing_the_beef_programming_language/ https://www.reddit.com/r/ProgrammingLanguages/comments/e8a42b/new_programming_language_concurnas/ https://www.reddit.com/r/ProgrammingLanguages/comments/ba9l0k/nomsu_a_dynamic_language_with_naturallanguagelike/ https://www.reddit.com/r/ProgrammingLanguages/comments/bcmhkn/ldpl_300_and_why_you_should_work_on_silly_things/ https://www.reddit.com/r/ProgrammingLanguages/comments/ez9k1g/zz_is_a_modern_formally_provable_dialect_of_c/ http://www.philipzucker.com/computational-category-theory-in-python-3-monoids-groups-and-preorders/ https://dl.acm.org/doi/10.1145/75277.75283 https://www.reddit.com/r/ProgrammingLanguages/comments/ftied4/idris_2_version_010_released/
https://www.reddit.com/r/ProgrammingLanguages/comments/avvma5/atto_an_insanely_tiny_selfhosted_functional/ https://www.reddit.com/r/haskell/comments/fz7heq/accidentally_exponential_in_a_compiler/ https://blog.josephmorag.com/posts/mcc2/ https://dl.acm.org/doi/abs/10.1145/301618.301637 https://github.com/mcoblenz/Obsidian https://adamant-lang.org/ http://www.mlton.org/ http://matt.might.net/articles/best-programming-languages/ https://chrisseaton.com/truffleruby/ https://futhark-lang.org/blog/2020-04-13-statically-linking-the-futhark-compiler.html https://www.reddit.com/r/ProgrammingLanguages/comments/awr3th/i_made_a_programming_language_based_on_cobol/ https://github.com/seanbaxter/circle http://blog.hydromatic.net/2020/02/25/morel-a-functional-language-for-data.html https://www.reddit.com/r/ProgrammingLanguages/comments/ecc1fo/design_flaws_in_futhark/ https://github.com/Storyyeller/IntercalScript https://vanemden.wordpress.com/2014/06/18/how-recursion-got-into-programming-a-comedy-of-errors-3/
haxe!
https://www.reddit.com/r/programming/comments/do220a/haxe_4_has_been_released/ cross platform language toolkit! https://www.reddit.com/r/ProgrammingLanguages/comments/eh1sfy/carpentry_compiler/ https://blog.darknedgy.net/technology/2020/05/02/0/
https://en.m.wikipedia.org/wiki/RenderMan_Interface_Specification https://en.m.wikipedia.org/wiki/RenderMan_Interface_Specification https://www.reddit.com/r/ProgrammingLanguages/comments/9esm8t/multiple_return_values_from_functions/ bytecode interpreter comments https://www.reddit.com/r/ProgrammingLanguages/comments/g2ae36/crafting_interpreters_vs_build_your_own_lisp_the/ https://www.reddit.com/r/algorithms/comments/fjock1/which_is_the_best_sat_solver/https://www.reddit.com/r/learnmath/comments/fo5itb/riemanns_functional_equation_new_solution_found/ https://www.reddit.com/r/learnmath/comments/fo5itb/riemanns_functional_equation_new_solution_found/ https://www.reddit.com/r/ProgrammingLanguages/comments/fxrmho/the_best_ways_to_compile_functional_programming/ https://www.reddit.com/r/ProgrammingLanguages/comments/g0j1um/simple_but_powerful_pratt_parsing/ https://www.reddit.com/r/ProgrammingLanguages/comments/g0j1um/simple_but_powerful_pratt_parsing/ https://www.reddit.com/r/ProgrammingLanguages/comments/fxrp6e/languages_with_structural_typing/ https://www.reddit.com/r/ProgrammingLanguages/comments/g0po6x/types_over_strings_extensible_architectures_in/ https://www.reddit.com/r/dartlang/comments/f4d07x/poll_should_the_angel_framework_be_merged_into_a/
verification
https://www.cs.princeton.edu/~appel/certicoq/ https://vst.cs.princeton.edu/ building verified software
parsing
https://www.reddit.com/r/ProgrammingLanguages/comments/dszj7b/parse_dont_validate/ https://nothings.org/computer/lexing.html -- lexing https://softwareengineering.stackexchange.com/questions/338665/when-to-use-a-parser-combinator-when-to-use-a-parser-generator https://www.reddit.com/r/perl6/comments/73tjdo/an_outline_of_federico_tomassettis_a_guide_to/ shunting yard algorithm : used to parse expressions in infix notation ! in parser generator: .mly file uses infix things with Shunting Yard Algorithm under the hood !!
type systems
https://www.typescriptlang.org/docs/handbook/advanced-types.html#index-types-and-index-signatures http://reasonableapproximation.net/2019/05/05/hindley-milner.html http://prl.ccs.neu.edu/gtp https://ncatlab.org/nlab/show/pure+type+system https://blog.sigplan.org/2019/10/17/what-type-soundness-theorem-do-you-really-want-to-prove/ great writeup about pa paper
redex
https://www.youtube.com/watch?v=BuCRToctmw0 -- run your research - talk on redex https://redex.racket-lang.org/ a dsl for specifying and debugging operational semantics
compilers
compiler neat thing improving compiler correctness using formal methods http://www.keystone-engine.org/ https://jamespackard.me/ https://ollef.github.io/blog/posts/speeding-up-sixty.html https://whalesalad.com/blog/doing-python-configuration-right https://en.m.wikipedia.org/wiki/Multi-pass_compiler https://en.m.wikipedia.org/wiki/Data-flow_analysis https://www.reddit.com/r/ProgrammingLanguages/comments/a60i0m/unlike_ordinary_jit_compilers_for_other_languages/
https://gist.github.com/cellularmitosis/1f55f9679f064bcff02905acb44ca510#simple-compiler-codebases-to-study crazy compilers good stuff
https://zserge.com/posts/jvm/ how to write a toy jvm -- try this and put it on github! fun small thing to mess around with. add more to it, add new things, mess aroundand have fun! https://www.cs.cmu.edu/~janh/courses/411/16/ compiler design course at cmu. supposedly good material
https://stackoverflow.com/questions/6264249/how-does-the-compilation-linking-process-work#6264256 https://www.cprogramming.com/compilingandlinking.html
https://www.youtube.com/watch?v=Os7FE3J-U5Q&app=desktop writing a nanopass compiler https://en.m.wikipedia.org/wiki/Intermediate_representation good reading https://en.m.wikipedia.org/wiki/Three-address_code https://en.m.wikipedia.org/wiki/Static_single_assignment_form https://catalog.princeton.edu/catalog/SCSB-8534958 -- benjamin's favorite compilers book http://www.ocamlpro.com/2020/03/23/ocaml-new-best-fit-garbage-collector/ http://www.aosabook.org/en/llvm.html -- on llvm https://en.wikipedia.org/wiki/Alan_Perlis -- pl research, won turing award or something type preserving compilation for large scale optimizing object oriented compilers how efficient can objects be? https://v8.dev/blog/pointer-compression -- pointer compression in v8 https://en.wikipedia.org/wiki/Optimizing_compiler https://dl.acm.org/doi/10.1145/1375581.1375604 https://gcc.gnu.org/onlinedocs/gcc/Optimize-Options.html https://www.cs.cornell.edu/courses/cs4410/2014fa/ https://www.reddit.com/r/ProgrammingLanguages/comments/fqt0fo/the_strange_case_of_dr_function_and_mr_type/fm0vurc/?context=1 http://prl.ccs.neu.edu/blog/2020/01/15/the-typed-racket-optimizer-vs-transient/ https://docs.racket-lang.org/ts-guide/index.html https://www.reddit.com/r/ProgrammingLanguages/comments/f3ekao/i_built_a_2d_gridbased_esoteric_language_with_a/ https://esolangs.org/wiki/2014 esolang only working in 2014 https://esolangs.org/wiki/Efghij esolang that interacts with the physical world via a jenga-based game, manually interpreted and executed by the programmer according to the specification https://esolangs.org/wiki/Ziim 2d language reliant entirely on unicode arrows https://matklad.github.io/2020/04/15/from-pratt-to-dijkstra.html https://www.reddit.com/r/ProgrammingLanguages/comments/e1vv55/c3_a_clike_language_now_has_a_domain/ https://www.reddit.com/r/ProgrammingLanguages/comments/a0yyfc/plam_for_anyone_exploring_%CE%BBcalculus/
https://blog.sigplan.org/2020/07/29/increasing-the-impact-of-pl-research/ a meta article on impactful pl research http://craftinginterpreters.com/ https://github.com/glaretechnologies/winter
https://www.zinkov.com/posts/2019-02-17-why-program-synthesis/ program synthesis why? https://loglo.app/ turn yaml into cnc https://tixy.land/ fun language for creative code golfing
run your research paper is probably cool! https://m.youtube.com/watch?v=jdn617M3-P4 hitchhiker trees: cool functional data structure https://wiki.xxiivv.com/site/fractran.html
https://ziglearn.org/ learn zig
Hobby kernel written in Zig https://malleable.systems/catalog/
On the expressive power of programming languages - ScienceDirect https://github.com/iitalics/Opal
single file implementations of various programming languages https://www.ponylang.io/
Contextual types meet mechanized metatheory! https://github.com/lasp-lang/lasp https://github.com/NicklasBoto/BruSKI debrujin to ski unlambda compiler https://github.com/Storyyeller/IntercalScript intercalscript programming language https://github.com/taichi-dev/taichi differentiable programming languages https://github.com/jasonhemann/microKanren https://github.com/mame/quine-relay https://github.com/lasp-lang/partisan distributed computing with Elixir
halide: language for fast and portable data parallel computation factor programming language: concatenative programming thats stack based https://github.com/Gwion/Gwion: strongly typedMusic programming language https://github.com/unisonweb/unison a friendly web programming language
https://github.com/thesephist/schrift an experimental runtime for ink lang alpaca:: ml style functional programming for the erlang vm self hosted forth implementation
bytecode interpreter in x86 asm multitasking Z81 forth pl thesaurus
evolved throughout the 60s, only a single programmer!
"unique combination of ingredients"
context free text based language combining words that have a variety of (arguably) advanced features, and runnable on small embedded systems with sufficient
atto:: super simple self hosted programming language BASIC interpreter in Go Eve, a 'human first' programming language SAIL: architecture definition language (inCoq) for describing ISAs of processors incremental parsing system for programming tools
https://github.com/meilisearch/MeiliSearch typo tolerant search engine https://github.com/Shen-Language/shen-sources shen programming language https://news.ycombinator.com/item?id=23252448 alloy - os lang and analyzer for software modeling
type level programming What is the Forth programming language? Total functional programming - Wikipedia
adam-mcdaniel/oakc: A portable programming language with an incredibly comp psg-mit/smooth: An arbitrary-precision differentiable programming language. on influential dead languages https://www.reddit.com/r/cscareerquestions/comments/9ujawa/programming_language_theory_jobs/ masaeedu/ulc: Untyped lambda calculus Let’s Build A Simple Interpreter. Part 1. William E Byrd - Relational Interpreters, Program Synthesis, and Barliman - Let’s Build A Simple Interpreter. Part 1. - Ruslan's Blog Which languages have weak references? - ProgrammingLanguages The Frink is Good, the Unit is Evil • Hillel Wayne A few questions about parser design - ProgrammingLanguages
Chapel: Productive Parallel Programming Jsoftware
DM's Esoteric Programming Languages - Piet
sarah jeong on Twitter: "If they think declaring code is creative enough to merit copyright protection, aren't we left with the conclusion that languages are protectable?" / Twitter gluon-lang/gluon: A static, type inferred and embeddable language written i
Seven Languages in Seven Weeks: A Pragmatic Guide to Learning Programming L
Underappreciated programming language concepts or features? : ProgrammingLa
Raku Programming Language https://www.classes.cs.uchicago.edu/archive/2020/spring/32001-1/ the death of prolog https://en.m.wikipedia.org/wiki/Simula Parsing with derivatives | Proceedings of the 16th ACM SIGPLAN international conference on Functional programming Robby Findler: Concolic Testing with Higher-Order Inputs - YouTube [1911.04523] A Simple Differentiable Programming Language The SLam calculus | Proceedings of the 25th ACM SIGPLAN-SIGACT symposium on Principles of programming languages Val on Programming: What makes a good REPL? on writing a pl
writing a toy jvm The Zephyr Abstract Syntax Description Language What is Zephyr ASDL? ICFP Contest 2019 Pharo - Welcome to Pharo! The expression problem
how to get a job in programming languages Employment
Programming Languages as Objects in Nature Daniel P. Friedman: A Celebration
jfecher/bidirectional jfecher/ante
simplelang ai dungeon dragon program https://amp.reddit.com/r/AIDungeon/comments/hpkqij/using_the_dragon_module_i_just_generated_what_is https://www.p-ai.org/ interdisciplinary applications of artificial intelligence https://www.reddit.com/r/ProgrammingLanguages/comments/hz2mcw/a_few_questions_about_parser_design/ https://github.com/Ahnfelt/funk a fun minimal scripting language programming with a differentiable forth interpreter
Effekt: A language with effect handlers and a lightweight effect system - P https://shriram.github.io/pl-hci-school-2020/
meta
increasing the impact of pl research, connecting it to reality!
http://www.alexwong.tech/projects/ Hardware dsls https://www.williamjbowman.com/#depmacros dependent type systems aas macros paper : ) https://koronkevi.ch/ cool phd student of will bowman! https://vale.dev/blog/zero-cost-refs-regions work on the Vale language https://sites.google.com/site/steveyegge2/tour-de-babel whirlwind tour of lagnauges with some opinions https://technomancy.us/185 Racket cool ideas, reducing the cost of structured data, etc. https://legacy.cs.indiana.edu/~dfried/mex.pdf Factor vs. Forth (from a Forth programmer) | Hacker News Joy (programming language) - Wikipedia Self (programming language) - Wikipedia https://chrisdone.com/posts/z/ simple and clever programming language https://github.com/pikelet-lang/pikelet Hazel: A live functional programming environment https://github.com/LeifAndersen/interactive-syntax-clojure history of dead languages pl programming with syntax highlighting https://news.ycombinator.com/item?id=24480504 parsing strategies https://news.ycombinator.com/item?id=24263117 test case generation https://www.reddit.com/r/compsci/comments/69h3vb/rank_polymorphism_for_array_languages/ !! https://www.cis.upenn.edu/~bcpierce/courses/670Fall04/GreatWorksInPL.shtml tons of great reading material. http://www.is.ocha.ac.jp/~asai/Black/ :: an extension of scheme that not only allows for metaprogramming, but also meta-modification of the interpreter it's running on! any program can modify the behavior of the interpreter. nuts!
Esolangs
typetheorypodcast.com probably a good podcast
https://mitpress.mit.edu/books/reasoned-schemer-second-edition: excellent book co authored by northeastern prof jason hemann https://abby.how/posts/cubical-type-theory.html: this is probably good but way too hard for me to understand