Skip to content

Instantly share code, notes, and snippets.

@mamcx
Last active August 21, 2018 21:10
Show Gist options
  • Star 8 You must be signed in to star a gist
  • Fork 2 You must be signed in to fork a gist
  • Save mamcx/e1743571b9a1ea163a7f9f07aa6a8ae2 to your computer and use it in GitHub Desktop.
Save mamcx/e1743571b9a1ea163a7f9f07aa6a8ae2 to your computer and use it in GitHub Desktop.
Lista de recursos sobre crear lenguajes de programacion

General

http://blog.pluralsight.com/elixir-is-for-programmers #Idea assert, test http://www.q-lang.io/ #Definicion tipos como campos DB http://dlang.org/exception-safe.html #Alternativa try--except con scope http://floodyberry.com/noncryptohashzoo/ #Implementaciones de funcion HASH https://github.com/mikeash/MAObjCRuntime/blob/master/main.m #Mejor runtime obj-c, extendible https://github.com/jspahrsummers/libextobjc #Similar https://github.com/Midar/objfw/ #Implementacion de obj-c portable http://swtch.com/~rsc/regexp/regexp1.html #Mejor que regex http://swannodette.github.io/2013/07/12/communicating-sequential-processes/ #Fundamentos CSP http://www.di.unipi.it/europar04/ColePisa04.pdf #Arquitectura para apps distribuidas https://speakerdeck.com/trent/pyparallel-how-we-removed-the-gil-and-exploited-all-cores #Python multicore https://code.google.com/p/pycsp/wiki/Getting_Started_With_PyCSP #CSP en python http://www.dabeaz.com/coroutines/index.html #Tut en corutinas http://speleotrove.com/decimal/ #Decimal http://dave.cheney.net/2014/06/07/five-things-that-make-go-fast http://ios.devtools.me/ herramientas para apps ios http://okmij.org/ftp/papers/LL3-collections-enumerators.txt #COmo implentar generador/collecion http://www.fpgarelated.com/showarticle/44.php StrangeCPU #1. A new CPU http://java-is-the-new-c.blogspot.com/2014/01/comparision-of-different-concurrency.html #Comparar actores con CSP y threads http://www.more-magic.net/posts/internals-gc.html http://tratt.net/laurie/blog/entries/fast_enough_vms_in_fast_enough_time #Implementar JIT con PyPy http://scheme2006.cs.uchicago.edu/11-ghuloum.pdf #Compilador en forma incremental http://techblog.realestate.com.au/the-abject-failure-of-weak-typing/ #Antipatron en types y soluciones http://clojure.com/blog/2013/06/28/clojure-core-async-channels.html http://www.stefan-marr.de/2014/07/why-is-concurrent-programming-hard/ https://medium.com/@jlouis666/erlang-and-code-style-b5936dceb5e4 #Deja que falle, usar supervisor http://researcher.watson.ibm.com/researcher/files/us-bacon/Bacon03Pure.pdf # GC con RefCounting http://es.scribd.com/doc/123634185/data-structure #Libro sobre estructura de datos https://github.com/tomprimozic/type-systems #Inferencia de tipos, varios algoritmos en OCalm http://greentreesnakes.readthedocs.org/ #Docs sobre el AST python https://pypi.python.org/pypi/pyrsistent/ #Estr. persistentes en python http://swtch.com/~rsc/thread/ #CSP https://s3.amazonaws.com/erlang-in-anger/text.v1.0.2.pdf #Tutorial Erlang http://blog.andyet.com/2014/09/23/send-hints-not-data #Enviar solo hinst en apps tiempo real http://www.ccs.neu.edu/home/matthias/HtDP2e/index.html #Curso compiladores http://www.dataorienteddesign.com/dodmain/ #Data oriented design http://www.asawicki.info/news_1422_data-oriented_design_-_links_and_thoughts.html http://mortoray.com/tag/compiler/ #Como funciona un compilador http://business-programming.com/business_programming.html # Rebol como lenguaje negocios http://tech.adroll.com/blog/data/2014/11/17/d-is-for-data-science.html #Fast cargar archivo http://www.pvk.ca/Blog/2012/07/30/binary-search-is-a-pathological-case-for-caches/ http://www.acqualia.com/soulver/ #Calculador como frink http://www.slideshare.net/ScottWlaschin/fp-patterns-buildstufflt # Buena explicacion funcional http://marcofiset.com/programming-language-implementation/ http://matt.might.net/articles/writing-an-interpreter-substitution-denotational-big-step-small-step/

#Libs http://concurrencykit.org/ #Lib en C concurrencia http://0install.net/ #Instalador sin dependencias http://0install.net/0compile.html #Compilador sin dependencias

#Patter matching http://web.yonsei.ac.kr/yusong/lecture/data/BI/Materials/1.1.Rete%20-%20A%20Fast%20Algorithm%20for%20the%20Many%20Pattern,%20Many%20Object%20Pattern%20Match%20Problem.pdf #Patter matching alg http://l-lang.org/blog/Compiling-pattern-matching/ #Como hacer pattern matching https://github.com/frenchy64/Logic-Starter/wiki https://github.com/logpy/logpy https://github.com/silentbicycle/tamale #Pattern match lua http://kerflyn.wordpress.com/2012/05/09/towards-pattern-matching-in-java/ http://stackoverflow.com/questions/24822083/pattern-matching-rewrites-with-internal-dsl #Implementar un DSL, como cargar func host lang

#Ej en VB! http://trelford.com/blog/post/tuples.aspx https://github.com/hanazuki/miniml/blob/master/src/syntax.ml #Tiene pattern matching

#Parsing http://journal.stuffwithstuff.com/2011/03/19/pratt-parsers-expression-parsing-made-easy/ http://journal.stuffwithstuff.com/2011/02/13/extending-syntax-from-within-a-language/ #Implementar funcionalidad dentro lang http://javascript.crockford.com/tdop/tdop.html http://matt.might.net/articles/cesk-machines/ #Interprete continuation passing style http://matt.might.net/teaching/compilers/spring-2013/ #Articulos variados http://www.reddit.com/r/Compilers/ http://www.hokstad.com/writing-a-compiler-in-ruby-bottom-up-step-1 http://norvig.com/lispy.html #Lisp en python http://blog.reverberate.org/2012/12/hello-jit-world-joy-of-simple-jits.html http://eli.thegreenplace.net/2009/08/29/co-routines-as-an-alternative-to-state-machines/ http://gameprogrammingpatterns.com/bytecode.html hacer bytecode http://tdparser.readthedocs.org/en/latest/reference.html#exception-classes http://okmij.org/ftp/Haskell/AlgorithmsH.html #Inferencia de tipos http://journal.stuffwithstuff.com/2013/12/08/babys-first-garbage-collector/ hacer un VM http://kjetilvalle.com/posts/implement-a-programming-language.html #tutorial compilardor https://news.ycombinator.com/item?id=8130413 #Implementar un VM en C http://okmij.org/ftp/ML/generalization.html #OCal generalizacion de tipos http://jlongster.com/Taming-the-Asynchronous-Beast-with-CSP-in-JavaScript https://github.com/halst/mini #Interprete mini en python https://github.com/erikrose/parsimonious #PEG parser python http://doc.pypy.org/en/latest/rlib.html#parsing $Parser de rpython http://www.pixelmonkey.org/2013/10/20/singledispatch http://www.thefreecountry.com/compilers/miscellaneous.shtml http://dabeaz.blogspot.com/2012/01/compiler-experiment-begins.html http://nathansuniversity.com/ http://www.amazon.com/gp/product/3642149081?pldnSite=1 http://grenouille-bouillie.blogspot.fr/2010/06/xl-axioms-reconciling-lisp-and-c.html http://soft-dev.org/pubs/html/diekmann_tratt__eco_a_language_composition_editor/ # Algo indent http://www.greghendershott.com/fear-of-macros/Transform_.html #Macros como funcionan

#Multi-dispatch http://www.codeproject.com/Articles/242749/Multiple-dispatch-and-double-dispatch http://python-3-patterns-idioms-test.readthedocs.org/en/latest/MultipleDispatching.html http://withouttheloop.com/articles/2014-10-21-fsharp-adhoc-polymorphism/

#F-Sharp http://fsharpforfunandprofit.com/ http://fsharpforfunandprofit.com/posts/recipe-part2/ #Railways: COmo se usa un Option(Valor, Resultado) en F# http://msdn.microsoft.com/en-us/library/dd547125.aspx #Patter matching en F# http://www.fincher.org/tips/Languages/fsharp.shtml http://timjones.tw/blog/archive/2014/09/13/writing-a-minic-to-msil-compiler-in-fsharp-part-5-code-generation http://www.trelford.com/blog/post/interpreter.aspx http://fssnip.net/snippet/l7 #Full interprete basic http://bluemountaincapital.github.io/Deedle/index.html #Dataframes, similar Tablam http://tomasp.net/blog/fsharp-dynamic-lookup.aspx/ #Como implementar acceso dinamico a campos en record http://tomasp.net/blog/dynamic-flinq.aspx/ #Generando LINQ en runtime! http://www.itu.dk/~sestoft/plc/ #Libro implementar lenguajes en F# https://stackoverflow.com/questions/9055837/difference-between-fold-and-reduce #Implementar todo en base a fold

Invocar .net

#Langs http://nice.sourceforge.net/language.html #Lenguaje multimetodo tipo java https://github.com/richardhundt/shine/blob/master/src/lang/parser.lua #Dialecto lua https://github.com/akeep?tab=repositories #Varios http://www.ceu-lang.org/index.html #Lang concurrente https://bitbucket.org/pypy/example-interpreter #Interpreter en pypy https://github.com/hippyvm/hippyvm/tree/master/hippy #Php en python https://github.com/alcides/pascal-in-python https://github.com/bevacqua/contra?1 #Asincronico https://github.com/dropbox/pyston #Python en python http://futureboy.us/frinkdocs/ #Calculadora potente https://github.com/elixir-lang/ecto #ORM db en elixir http://www.mypy-lang.org/ #Python http://kmkeen.com/tiny-code/2009-02-20-12-00-00.html #Mini compilafores https://github.com/vladfolts/oberonjs https://github.com/ikotler/pythonect https://github.com/ltratt/converge/ http://www.cs.bell-labs.com/who/rsc/thread/newsquimpl.pdf #Implemntando Newsqueak http://c.learncodethehardway.org/book/ https://github.com/i2y/mochi/tree/master/mochi #Python Dynamically typed functional https://github.com/Underflow/blaise-interpreter/blob/master/ast.mli https://github.com/hanazuki/miniml/blob/master/src/syntax.ml #Tiene pattern matching https://github.com/artagnon/rhine/blob/master/ast.mli https://github.com/protz/mezzo

#Relacional http://www.try-alf.org/blog/2013-10-21-relations-as-first-class-citizen #Relacional http://www.quicksort.co.uk/DeeDoc.html #Relacional https://github.com/jtauber/Rel #Relacional en python http://www.gregreda.com/2013/10/26/intro-to-pandas-data-structures/ http://dataframesjl.readthedocs.org/ http://c2.com/cgi/wiki?BusinessSystemTwelve http://sblom.github.io/openj-core/ioj.htm #Implementar lenguaje J http://blog.jooq.org/2015/02/13/10-sql-articles-everyone-must-read/ https://highlyscalable.wordpress.com/2012/02/01/mapreduce-patterns/ #Rel operators con map/reduce!

#Lua https://github.com/starwing/luautf8 #UTF8 http://metalua.luaforge.net/quicktour.html http://luaforge.net/docman/83/98/ANoFrillsIntroToLua51VMInstructions.pdf https://github.com/franko/luajit-lang-toolkit http://lua-users.org/wiki/FunctionalLibrary https://github.com/fperrad/tvmjit https://gist.github.com/jzrake/4410474 #Object model tipo Python lua

Como hacer macros

Nota = ATOM == SYMBOL! (if true == :if true)

http://www.partario.com/blog/2009/06/lisp-compiler-in-f-expression-trees-and-net-methods.html http://calculist.org/blog/2012/04/17/homoiconicity-isnt-the-point/ http://elixir-lang.org/getting-started/meta/quote-and-unquote.html http://docs.julialang.org/en/latest/manual/metaprogramming/

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment