Angel \”Java\” Lopez on Blog

April 10, 2012

Lisp: Links, News And Resources (2)

Filed under: AjLisp, Functional Programming, Links, Lisp, Programming Languages — ajlopez @ 1:23 pm

Previous Post

More links and resource about one my favorites programming languages:

My implementations
http://ajlopez.wordpress.com/category/ajlisp/
http://code.google.com/p/ajlisp/ in C#, three flavors (classic, scheme-like, clojure-like (WIP))
https://github.com/ajlopez/AjLispRb in Ruby
https://github.com/ajlopez/AjLispJs in JavaScript
https://github.com/ajlopez/AjLispJv in Java

Ruby talks to AutoLISP · davidbl/acadhelper Wiki
https://github.com/davidbl/acadhelper/wiki/Ruby-talks-to-AutoLISP

The Emacs Problem | Irreal
http://irreal.org/blog/?p=384

How Emacs changed my life
http://www.slideshare.net/yukihiro_matz/how-emacs-changed-my-life
By Yukihiro "Matz", Ruby creator

cl-dcf – Common Lisp DSL Compiler Framework – Google Project Hosting
http://code.google.com/p/cl-dcf/

Clojure inventor Hickey now aims for Android
http://www.techworld.com.au/article/419328/clojure_inventor_hickey_now_aims_android/?fp=16&fpid=1 In an interview, Clojure founder Rich Hickey discusses future of the functional JVM language, including his mobile aspirations

BiwaScheme Blackboard
http://blackboard.biwascheme.org/
BiwaScheme Blackboard is a sandbox for BiwaScheme, a R6RS Scheme interpreter written in JavaScript.
You can edit, run and save Scheme code in your browser.

Can Your Programming Language Do This? – Joel on Software
http://www.joelonsoftware.com/items/2006/08/01.html
…Without understanding functional programming, you can’t invent MapReduce, the algorithm that makes Google so massively scalable. The terms Map and Reduce come from Lisp and functional programming. …

mtravers / heroku-cl-example
https://github.com/mtravers/heroku-cl-example
Example use of Heroku Common Lisp Buildpack

AI Algorithms, Data Structures, and Idioms in Prolog, Lisp, and Java
http://www.amazon.com/dp/0136070477

Calico Scheme – IPRE Wiki
http://calicoproject.org/Calico_Scheme
Calico Scheme is a new implementation of a Scheme-based language for Calico. It implements many core Scheme functions, but also adds some functionality to bring it into line with the other modern languages like Python and Ruby.

Multics Emacs History/Design/Implementation
http://www.multicians.org/mepap.html

Lisp REPL in Vendetta Online
http://www.a1k0n.net/2005/11/04/lisp-repl-vendetta-online.html
Vendetta Online has a Lisp environment (using SBCL) which controls much of its NPC behavior and will soon be in charge of generating player and NPC missions. Partly in order to get around some thread-safety issues, and partly for convenience we built an REPL into a secret chat channel. (it only responds to developer accounts)
See http://www.vendetta-online.com/
http://www.vendetta-online.com/h/help.html
Vendetta Online is a MMORPG (massively multiplayer online role-playing game) from Guild Software Inc

European Lisp Symposium
http://european-lisp-symposium.org/

IT Software Community – John W. Verity – LISP Is Back, and It’s Baaaaad!
http://www.itsoftwarecommunity.com/author.asp?doc_id=238067&section_id=1624

Why I love Common Lisp and hate Java « Piece of mine
http://kuomarc.wordpress.com/2012/01/27/why-i-love-common-lisp-and-hate-java/

Why I love Ruby (Part 1)
http://duckpunching.github.com/2011/02/26/why-i-love-ruby-part-1.html
Ruby was also developed slowly, and thoughtfully, from the ground up, using the best-of-the-best from multiple programming paradigms, and from the best-of-breed languages from each of those paradigms … (Smalltalk, Lisp, Perl)

What I want from my Common Lisp vendor and the Common Lisp community
http://groups.google.com/group/comp.lang.lisp/msg/4563e504dba92253?pli=1

fogus: Lisp in 32 lines of Ruby
http://blog.fogus.me/2012/01/25/lisp-in-40-lines-of-ruby/

ahefner: Fun with Lisp: Just Intonation and Microtonality
http://ahefner.livejournal.com/19604.html

ahefner: Lispm archaeology: Compiler Protocols
http://ahefner.livejournal.com/19280.html

Web, games, languages ~ jlongster.com
http://jlongster.com/2012/01/16/outlet-gets-a-personality.html

luciolang/lucio – GitHub
https://github.com/luciolang/lucio
Lucio is a Lisp-like language running on Ruby
for those of you younger readers or find lisp exotic and never know anything about it, you might try
https://plus.google.com/113859563190964307534/posts/Xw8M6WMeaDn

Emacs Lisp Basics
http://xahlee.org/emacs/elisp_basics.html
A guide to the CHICKEN compilation process – The Chicken Scheme wiki

http://wiki.call-cc.org/chicken-compilation-process
Homoiconic and “unrestricted” self modifying code + Is lisp really self modifying?

http://stackoverflow.com/questions/8490616/homoiconic-and-unrestricted-self-modifying-code-is-lisp-really-self-modifyin
Readable s-expressions and sweet-expressions home page: Infix and fewer parentheses in Lisp-like languages

http://www.dwheeler.com/readable/index.html
Many people find Lisp s-expressions hard to read as a programming notation. I’ve developed Lisp programs for decades, and though I can read s-expressions well, I remain dissatisfied with their syntactic limitations.

Eleven Theses on Clojure
http://www.tbray.org/ongoing/When/200x/2009/12/01/Clojure-Theses

M-expression – Wikipedia, the free encyclopedia
http://en.wikipedia.org/wiki/M-expression
In computer programming, M-expressions (or meta-expressions) were intended to be the expressions used to write functions in the Lisp programming language. Data to be manipulated using M-expressions was to be written using S-expressions. M-expressions were used for the original theoretical language in early papers about Lisp, but the first working implementation of Lisp interpreted encodings of M-expressions as S-expressions, and M-expressions were never actually implemented.

My Links
http://delicious.com/ajlopez/lisp

Keep tuned!

Angel “Java” Lopez
http://www.ajlopez.com
http://twitter.com/ajlopez

March 31, 2012

Lisp: Links, News and Resources (1)

Filed under: Functional Programming, Links, Lisp, Programming Languages — ajlopez @ 7:26 pm

Next Post

If you usually read this blog, you should know about my interest in Lisp programming languages. This is the first post on a series with my collected links.

Structure and Interpretation of Computer Programs
http://mitpress.mit.edu/sicp/full-text/book/book-Z-H-4.html

Structure and Interpretation of Computer Programs, Video Lectures
http://groups.csail.mit.edu/mac/classes/6.001/abelson-sussman-lectures/

Beating the Averages
http://www.paulgraham.com/avg.html

What Made Lisp Different
http://www.paulgraham.com/diff.html

Lisp for the Web
http://www.adampetersen.se/articles/lispweb.htm

L-99: Ninety-Nine Lisp Problems
http://www.ic.unicamp.br/~meidanis/courses/mc336/2006s2/funcional/L-99_Ninety-Nine_Lisp_Problems.html

Growing a Language
http://www.cs.virginia.edu/~evans/cs655/readings/steele.pdf

Getting Started | Lambda the Ultimate
http://lambda-the-ultimate.org/node/492

Lisp Isn’t Really a Programming Language « Learning Lisp
http://lispy.wordpress.com/2007/10/24/lisp-isnt-really-a-programming-language/

Common Lisp – Myths and Legends
http://www.lispworks.com/products/myths_and_legends.html

msnyder.info — Lisp for the Web, Part II
http://msnyder.info/posts/2011/07/lisp-for-the-web-ii/

Automata via Macros
http://www.cs.brown.edu/~sk/Publications/Papers/Published/sk-automata-macros/paper.pdf

Hedgehog
http://hedgehog.oliotalo.fi/
Hedgehog is a very concise implementation of a Lisp-like language for low-end and embedded devices.

Stylish Lisp programming techniques
http://www.ccs.neu.edu/home/shivers/newstyle.html

The Rebirth of Lisp
http://silversmalltalk.wordpress.com/2011/01/31/the-rebirth-of-lisp/

Lisp machine
http://en.wikipedia.org/wiki/Lisp_machine

YouTube – Practical Common Lisp
http://www.youtube.com/watch?v=VeAdryYZ7ak

Primacy of syntax
http://fexpr.blogspot.com/

Programing Language: The Glory of Lisp’s cons
http://xahlee.org/UnixResource_dir/writ/lisp_cons.html

YouTube – Land of Lisp- The Music Video!
http://www.youtube.com/watch?v=HM1Zb3xmvMc

Beginning LISP Programming in Ubuntu
http://easyybloger.blogspot.com/2011/06/beginning-lisp-programming-in-ubuntu.html

Investing with lisp
http://www.findinglisp.com/blog/2004/11/investing-with-lisp.html

Review of Structure and Interpretation of Computer Programs
http://www.adampetersen.se/reviews/sicp.htm

Review of Let Over Lambda
http://www.adampetersen.se/reviews/letoverlambda.htm

Make macros and functions integrate more seamlessly
http://www.nujk.com/make-macros-and-functions-integrate-more-seamlessly

Pharen: Lisp -> PHP
http://scriptor.github.com/pharen/index.html

Lisp: Common Lisp, Scheme, Clojure, Emacs Lisp – Hyperpolyglot
http://hyperpolyglot.org/lisp

Social Problems Of Lisp
http://c2.com/cgi/wiki?SocialProblemsOfLisp

Monad Macros in Common Lisp
http://common-lisp.net/project/cl-monad-macros/monad-macros.htm

Lisk – Lisp and Haskell
http://chrisdone.com/posts/2010-11-25-lisk-lisp-haskell.html

The Little Schemer
http://www.ccs.neu.edu/home/matthias/BTLS/

Common Lisp Extensions – Common Lisp Extensions
http://www.chemie.fu-berlin.de/chemnet/use/info/cl/cl_1.html

The Common Lisp Cookbook
http://cl-cookbook.sourceforge.net/

Zach’s Journal
http://xach.livejournal.com/tag/lisp

Arc Tutorial
http://ycombinator.com/arc/tut.txt

And my implementations
http://ajlopez.wordpress.com/category/ajlisp/

More links about Lisp and similar programming languages are coming.

Keep tuned!

Angel “Java” Lopez
http://www.ajlopez.com
http://twitter.com/ajlopez

March 15, 2012

Erlang: Links, News And Resources (2)

Filed under: Erlang, Functional Programming, Links, Programming Languages — ajlopez @ 1:44 pm

Previous Link

Learning Erlang
http://20bits.com/articles/learning-erlang/
Last week I decided to learn Erlang, a functional programming language developed by Ericsson in 1987 for use in telecommunications environments. It’s probably the strangest non-toy programming language I’ve ever tried to learn…

Long rant on Erlang-style Actors: Lost Dimension | Lambda the Ultimate
http://lambda-the-ultimate.org/node/4453
This post is follow up to my previous post about programming languages. If we apply the conceptual framework that was discussed in the post we will see that modern event-driven programs designed in OO paradigm (but not necessary in OO-language) has the following dimensions of analysis and …

Erlang Web
http://www.erlang-web.org/
The Erlang Web is an open source framework for applications based on HTTP protocols, giving the developer better control of content management. With Erlang Web’s simple but extensible concept of including dynamic content in pages, libraries of reusable components can be built. Currently it supports …

PlanetErlang
http://www.planeterlang.org/

Erlang Solutions – Your Scalability Architects
http://www.erlang-solutions.com/

Erlide – the Erlang IDE. Powered by Eclipse.
http://erlide.org/
We are proud to announce the latest version that is 0.13.9 and offers the following features:For those that have been using our unstable releases, there are only few new things…

ejabberd Community Site | the Erlang Jabber/XMPP daemon
http://www.ejabberd.im/
ejabberd 2.1.9, ejabberd 3.0.0-alpha-4, and exmpp 0.9.8 have been released, after several months of development. They contain a lot of bugfixes, improvements and some new features.This release includes a lot of bugfixes and improvements.

Erlang Factory
http://www.erlang-factory.com/

YOW! 2011: Steve Vinoski – Riak Core, Erlang and Frisbee Freestyle
http://channel9.msdn.com/Blogs/Charles/YOW-2011-Steve-Vinoski-Riak-Core-Erlang-and-Frisbee-Freestyle

josevalim/elixir – GitHub
https://github.com/josevalim/elixir
Elixir is a programming language built on top of Erlang. As Erlang, it is a functional language with strict evaluation and dynamic typing built to support distributed, fault-tolerant, non-stop applications with hot swapping.

LFE – Lisp Flavoured Erlang
http://forum.trapexit.org/viewtopic.php?p=43950
This is LFE, Lisp Flavoured Erlang, which is a lisp syntax front-end to the Erlang compiler. Code produced with it is compatible with "normal" Erlang code. Most things seem to work but some things have not been done yet..

Erlang Programming for Multicore
http://ulf.wiger.net/weblog/2009/01/23/erlang-programming-for-multicore/

The cutting edge of VM design
http://www.unlimitednovelty.com/2009/01/cutting-edge-of-vm-design.html

The Trouble with Erlang (or Erlang is a ghetto)
http://www.unlimitednovelty.com/2011/07/trouble-with-erlang-or-erlang-is-ghetto.html

The Trouble with Erlang
http://lambda-the-ultimate.org/node/4350

Reia
http://reia-lang.org/
Reia is a Ruby-like scripting language for the Erlang virtual machine.

Erlang actors – some newbie thoughts/doubts.
https://plus.google.com/u/0/109924404877416820675/posts/5Fn5iBuqwvg

ferd / erlang-history
https://github.com/ferd/erlang-history
Hacks to add shell history to Erlang’s shell

Erlang, the big switch in social games
http://www.slideshare.net/wooga/erlang-the-big-switch-in-social-games

Dart: An Erlanger’s Reflections
http://dartinside.com/2011/dart-an-erlangers-reflections/

Functional Programming Doesn’t Work (and what to do about it)
http://prog21.dadgum.com/54.html

Mike Williams on the History of Erlang, Modeling and Large Scale Design
http://www.infoq.com/interviews/williams-erlang
Mike Williams, co-creator of Erlang discusses the history of and influences on Erlang as well as languages and paradigms used at Ericsson for large scale development and embedded programming.

One million!
http://blog.whatsapp.com/index.php/2011/09/one-million/
We usually don’t use this blog to talk about the technology stack behind WhatsApp, but today we wanted to share with you an awesome milestone we have reached…
…For those curious how we did it, the technology on the backend is simple: FreeBSD + Erlang

Let It Crash … Except When You Shouldn’t
http://www.infoq.com/presentations/Let-It-Crash
Steve Vinoski explains how to avoid some of the Erlang errors that can bring down a system starting from the premise that not all the crashes are welcome as the “Let It Crash” philosophy might suggest.

Simon Thompson and Huiquing Li on Refactoring in Functional Languages Like Haskell or Erlang
http://www.infoq.com/interviews/thompson-li-refactoring
Simon Thompson and Huiqing Li explain refactoring with functional languages and Wrangler (Erlang) and HaRe (Haskell). Also: how Wrangler’s ad-hoc mode allows everyone to write custom refactorings.

Functional Programming at
Facebook
http://cufp.galois.com/2009/slides/PiroLetuchy.pdf
Erlang
▪ Chat backend (channel servers)
▪ Chat Jabber interface (ejabberd)
▪ AIM presence: a JSONP validato
Spooky
https://github.com/flashingpumpkin/spooky
Minimum viable Erlang web framework

Contrasting Performance : Languages, Styles and VMs – Java, Scala, Python, Comments: True Erlang, Clojure, Ruby, Groovy, Javascript
http://blog.dhananjaynene.com/2011/08/cperformance-comparison-languages-styles-and-vms-java-scala-python-erlang-clojure-ruby-groovy-javascript/

My Links
http://delicious.com/ajlopez/erlang

More links about Erlang, functional programming, and programming languages, are coming.

Keep tuned!

Angel “Java” Lopez
http://www.ajlopez.com
http://twitter.com/ajlopez

February 19, 2012

Scala: Links, News and Resources (1)

Filed under: .NET, Functional Programming, Java, Links, Programming Languages, Scala — ajlopez @ 7:43 pm

These are my first Scala programming language links.

http://en.wikipedia.org/wiki/Scala_%28programming_language%29

Scala (play /ˈskɑːlə/ skah-lə) is a multi-paradigm programming language designed to integrate features of object-oriented programming and functional programming.[3] The name Scala is aportmanteau of "scalable" and "language", signifying that it is designed to grow with the demands of its users. James Strachan, the creator of Groovy, described Scala as a possible successor to Java.[4]

The design of Scala started in 2001 at the École Polytechnique Fédérale de Lausanne (EPFL) by Martin Odersky, following on from work on Funnel, a programming language combining ideas from functional programming and Petri nets.[5][not in citation given] Odersky had previously worked on Generic Java and javac, Sun’s Java compiler.[5]

Scala was released late 2003 / early 2004 on the Java platform, and on the .NET platform in June 2004.[3][5][6] A second version of the language, v2.0, was released in March 2006.[3]

On 17 January 2011 the Scala team won a 5 year research grant of over €2.3 million from the European Research Council.[7] On 12 May 2011, Odersky and collaborators launched Typesafe, a company to provide commercial support, training, and services for Scala. Typesafe received $3 million investment from Greylock Partners.[8][9][10][11]

Scala comes to .Net | The Scala Programming Language
http://www.scala-lang.org/node/10299

Scala In 5 Years – My Prediction « GridGain – High Performance Cloud Computing
http://gridgaintech.wordpress.com/2011/06/28/scala-in-5-years-my-prediction/

Why Java Folks Should Look Forward to Scala | Javalobby
http://java.dzone.com/articles/why-java-folks-should-look

Scala eXchange opening
http://www.slideshare.net/Odersky/scala-exchange-opening

Ruminations of a Programmer: Composing Heterogeneous DSLs in Scala
http://debasishg.blogspot.com/2011/06/composing-heterogeneous-dsls-in-scala.html

Scala Labs – Home
http://scala-labs.github.com/

Spark Cluster Computing Framework
http://www.spark-project.org/
Spark is an open source cluster computing system that aims to make data analytics fast — both fast to run and fast to write.

Along Came Betty » Clojure and Akka: A match made in …
http://blog.darevay.com/2011/06/clojure-and-akka-a-match-made-in/?utm_source=twitterfeed&utm_medium=twitter

Scala: The Static Language that Feels Dynamic
http://www.artima.com/weblogs/viewpost.jsp?thread=328540

Compiling Scala to LLVM
https://days2011.scala-lang.org/sites/days2011/files/ws3-2-scalallvm.pdf

Why Java folks should look forward to Scala | /var/log/mind
http://blog.dhananjaynene.com/2011/05/why-java-folks-should-look-forward-to-scala/

Functional Languages will Rule (but not this year) – Good Stuff
http://goodstuff.im/functional-languages-will-rule-but-not-this-y

Scala: A Better Java for Android
http://robots.thoughtbot.com/post/5836463058/scala-a-better-java-for-android

Ruminations of a Programmer: Combinators as the sublanguage of DSL syntax
http://debasishg.blogspot.com/2011/05/combinators-as-sublanguage-of-dsl.html

Typesafe
http://typesafe.com/
Typesafe makes it easy to build web-scale software based on the open source Scala programming language and Akka middleware. From multicore to cloud computing, it’s purpose built for scale.

The Pragmatic Bookshelf | Programming Concurrency on the JVM
http://pragprog.com/titles/vspcon/programming-concurrency-on-the-jvm

InfoQ: Actor Thinking
http://www.infoq.com/presentations/Actor-Thinking

Clojure or Scala for bioinformatics/biostatistics/medical research – Stack Overflow
http://stackoverflow.com/questions/5250459/clojure-or-scala-for-bioinformatics-biostatistics-medical-research

InfoQ: Guardian.co.uk Switching from Java to Scala
http://www.infoq.com/articles/guardian_scala

Asynchronous Event Sourcing using Actors
http://jonasboner.com/2009/02/12/event-sourcing-using-actors.html

Functional Scala: Expressions, Extensions and Extractors « brain driven development
http://gleichmann.wordpress.com/2011/03/13/functional-scala-expressions-extensions-and-extractors/

iWork.com – JVM Languages
http://public.iwork.com/document/?d=JVM_Languages.key&a=p1045023190

Scala Team Wins ERC Grant | The Scala Programming Language
http://www.scala-lang.org/node/8579

Ruminations of a Programmer: Monads – Another way to abstract computations in Scala
http://debasishg.blogspot.com/2008/03/monads-another-way-to-abstract.html

Monads Are Not Metaphors – Code Commit
http://www.codecommit.com/blog/ruby/monads-are-not-metaphors

Algorithmically challenged: Sieve of Eratosthenes (the real one) Scala One-Liner
http://dcsobral.blogspot.com/2010/12/sieve-of-eratosthenes-real-one-scala.html

Code Monkeyism: Singletons without Singletons: Scala Type Classes
http://codemonkeyism.com/singletons-singletons-scala-type-classes/?utm_source=feedburner&utm_medium=feed&utm_campaign=Feed%3A+stephansblog+%28Code+Monkeyism+%7C+Stephans+Blog%29

Erik Engbrecht’s Blog: Higher-Level versus Higher-Order Abstraction
http://erikengbrecht.blogspot.com/2010/07/higher-level-versus-higher-order.html

Ruminations of a Programmer: Scala – To DI or not to DI
http://debasishg.blogspot.com/2008/02/scala-to-di-or-not-to-di.html

Real-World Scala: Introduction
http://jonasboner.com/2008/10/01/real-world-scala-introduction.html

Tom Morris’ wiki » Scala for Hackers
http://tommorris.org/wiki/Scala_for_Hackers

Scala Style Guide
http://davetron5000.github.com/scala-style/

Monads in Scala
http://lamp.epfl.ch/~emir/bqbase/2005/01/20/monad.html

Building Distributed Systems in Scala
http://www.slideshare.net/al3x/building-distributed-systems-in-scala

James Carr » Blog Archive » Learning Scala: Factorials and foldRight
http://blog.james-carr.org/2010/05/31/learning-scala-factorials-and-foldright/

Scala Beauty – Fun with Logic « Thinkmeta
http://thinkmeta.wordpress.com/2010/03/25/scala-beauty-fun-with-logic/

Beyond Mere Actors
http://docs.google.com/present/view?id=ddmk3f43_63zpg3jcgz&ncl=true

My Links
http://www.delicious.com/ajlopez/scala
http://www.delicious.com/ajlopez/scala+tutorial
http://www.delicious.com/ajlopez/scala+presentation
http://www.delicious.com/ajlopez/scala+video

More Scala links are coming.

Keep tuned!

Angel “Java” Lopez
http://www.ajlopez.com
http://twitter.com/ajlopez

October 1, 2011

Functional Programming: Links, News and Resources (1)

Filed under: Functional Programming, Links — ajlopez @ 10:49 am

You know, Functional Programming is one of my favorite topic. See posts:

Closures: Links, News and Resources (1)

Lambda Calculus: Links, News and Resources (1)

Erlang: Links, News and Resources (1)

Haskell: Links, News and resources (1)

These are some of the relevant links I have collected about Functional Programming in general:

http://en.wikipedia.org/wiki/Functional_programming
In computer science, functional programming is a programming paradigm that treats computation as the evaluation of mathematical functions and avoids state and mutable data. It emphasizes the application of functions, in contrast to the imperative programming style, which emphasizes changes in state.[1] Functional programming has its roots in lambda calculus, a formal system developed in the 1930s to investigate function definition, function application, and recursion. Many functional programming languages can be viewed as elaborations on the lambda calculus.[1]

Functional Programming for the Rest of Us
http://www.defmacro.org/ramblings/fp.html

Why Functional Programming Matters
http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.100.8004&rank=1
See the cites
http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.63.7911&rep=rep1&type=pdf
http://en.wikipedia.org/wiki/John_Hughes_%28computer_scientist%29

John Hughes on Why Functional Programming Matters!
http://www.infoq.com/interviews/john-hughes-fp

VIDEOS – Code & Beyond Talk: Programación Funcional
http://www.codeandbeyond.org/2010/11/videos-code-beyond-talk-programacion.html

DevHawk Functional Programming Post
http://devhawk.net/tag/functional-programming

Functional Understanding
http://devhawk.net/2007/12/04/functional-understanding/

Tangible Functional Programming
http://www.youtube.com/watch?v=faJ8N0giqzw

The expression lemma
http://www.uni-koblenz.de/~laemmel/expression/long.pdf
FP and OOP

On being stateful
http://www.bluebytesoftware.com/blog/2008/09/13/OnBeingStateful.aspx

You Could Have Invented Monads! (And Maybe You Already Have.)
http://blog.sigfpe.com/2006/08/you-could-have-invented-monads-and.html

Are FP and OO Incompatible Syntactic Styles?
http://michaelfeathers.typepad.com/michael_feathers_blog/2008/05/are-fp-and-oo-i.html

frege – Frege Programming Language – Google Project Hosting
http://code.google.com/p/frege/

Kazimir Majorinc’s Lisp Notes.: Alan Kay on Lisp and Fexprs.
http://kazimirmajorinc.blogspot.com/2010/02/alan-kay-on-fexprs.html

Validating with applicative functors in F#
http://bugsquash.blogspot.com/2011/08/validating-with-applicative-functors-in.html

Good article on Functional Programming #FunctionalProgramming #Scala #ErLang
http://vikasgoel.tumblr.com/post/8369381751/good-article-on-functional-programming

The implementation of the Gofer functional programming system
http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.117.5058

Functional reactive programming
http://en.wikipedia.org/wiki/Functional_reactive_programming

Functional thinking: Thinking functionally, Part 1
http://www.ibm.com/developerworks/java/library/j-ft1/index.html

Functional thinking: Thinking functionally, Part 2
http://www.ibm.com/developerworks/java/library/j-ft2/?ca=drs-

Functional Languages will Rule (but not this year) – Good Stuff
http://goodstuff.im/functional-languages-will-rule-but-not-this-y

Ruminations of a Programmer: Combinators as the sublanguage of DSL syntax
http://debasishg.blogspot.com/2011/05/combinators-as-sublanguage-of-dsl.html

Nemerle programming language official site
http://nemerle.org/About/

Acceptance of APL and J in the World at Large
http://www.jsoftware.com/pipermail/chat/2007-December/000833.html

My links:
http://www.delicious.com/ajlopez/functionalprogramming

 

Other posts about Functional Programming: http://ajlopez.wordpress.com/category/functional-programming/

More posts are upcoming.

Keep tuned!

Angel “Java" Lopez
http://www.ajlopez.com
http://twitter.com/ajlopez

September 21, 2011

Closures: Links, News and Resources (1)

Filed under: Functional Programming, JavaScript, Links, Lisp — ajlopez @ 10:35 am

Continuing with the study of functional programming, these are my recent links about closures:

http://en.wikipedia.org/wiki/Closure_%28computer_science%29

In computer science, a closure (also lexical closure, function closure or function value) is a function together with a referencing environment for the nonlocal names (free variables) of that function.[1] Such a function is said to be "closed over" its free variables. The referencing environment binds the nonlocal names to the corresponding variables in scope at the time the closure is created, additionally extending their lifetime to at least as long as the lifetime of the closure itself.

The concept of closures was developed in the 1960s and was first fully implemented as a language feature in 1975 in the programming language Scheme to implement lexically-scoped first-class functions. Since then, many languages have been designed to support closures.

Closures – A Simple Explanation (Using Ruby)
http://www.skorks.com/2010/05/closures-a-simple-explanation-using-ruby/

Javascript Closures
http://jibbering.com/faq/notes/closures/

Cerraduras: clojure en español: Qué es una closure
http://javierneirasanchez.blogspot.com/2009/06/que-es-una-closure.html

Yes! AjSharp has closures
http://ajlopez.wordpress.com/2010/02/05/functional-values-in-ajsharp/

AjLisp, too! ;-)
http://ajlopez.wordpress.com/2008/07/30/ajlisp-a-lisp-interpreter-in-net/

InfoQ: Lambdas in Java: An In-Depth Analysis
http://www.infoq.com/articles/lambdas-java-analysis

Closures – lambdaj – How lambdaj 2.0 brings (almost) real closures to Java
http://code.google.com/p/lambdaj/wiki/Closures

Closures, Javascript And The Arrow Of Time
http://gen5.info/q/2009/06/23/closures-javascript-and-the-arrow-of-time/

Scala function objects from a Java perspective
http://creativekarma.com/ee.php/weblog/comments/scala_function_objects_from_a_java_perspective/

Javascript Closures
http://www.jibbering.com/faq/faq_notes/closures.html

newLISP – Closures
http://www.newlisp.org/index.cgi?Closures

Tailcall anyone ? | Java.net
http://weblogs.java.net/blog/forax/archive/2009/12/18/tailcall-anyone

Groovy Goodness: Splitting with Closures – Messages from mrhaki
http://mrhaki.blogspot.com/2009/12/groovy-goodness-splitting-with-closures.html

Adequately Good – JavaScript Module Pattern: In-Depth – by Ben Cherry
http://www.adequatelygood.com/2010/3/JavaScript-Module-Pattern-In-Depth

Private Members in JavaScript
http://javascript.crockford.com/private.html

Tennent’s Correspondence Principle and Returning From a Closure
http://gafter.blogspot.com/2006/08/tennents-correspondence-principle-and.html

Code rant: C# Closure Constructors
http://mikehadlow.blogspot.com/2010/12/c-closure-constructors.html

Groovy vs. Scala – We Need a Closure… « GridGain – Cloud Development Platform
http://gridgaintech.wordpress.com/2010/02/09/groovy-vs-scala-we-need-a-closure/

Techniques, Strategies and Patterns for Structuring JavaScript Code – Dan Wahlin’s WebLog
http://weblogs.asp.net/dwahlin/archive/2011/07/31/techniques-strategies-and-patterns-for-structuring-javascript-code.aspx

InfoQ: Mark Reinhold on Closures for Java
http://www.infoq.com/news/2009/11/reinhold_closures_update
I should review the current state

Closures as a Response to Multi-core Processors? | Java.net
http://weblogs.java.net/blog/editor/archive/2009/11/25/closures-response-multi-core-processors

Closures are back again!
http://blogs.tedneward.com/2009/11/19/Closures+Are+Back+Again.aspx

Explaining JavaScript scope and closures – Robert’s talk
http://robertnyman.com/2008/10/09/explaining-javascript-scope-and-closures/

C# in Depth: The Beauty of Closures
http://csharpindepth.com/Articles/Chapter5/Closures.aspx

Functional programming in the Java language
http://www.ibm.com/developerworks/java/library/j-fp.html

Inheritance Patterns in JavaScript
http://bolinfest.com/javascript/inheritance.php

RE: What’s so cool about Scheme?
http://people.csail.mit.edu/gregs/ll1-discuss-archive-html/msg03277.html

InfoQ: Language Parity: Closures and the JVM
http://www.infoq.com/presentations/gafter-jvm-closures

JavaScript, time to grok closures – Sergio Pereira
http://devlicio.us/blogs/sergio_pereira/archive/2009/02/23/javascript-time-to-grok-closures.aspx

Practically Groovy: Functional programming with curried closures
http://www.ibm.com/developerworks/java/library/j-pg08235/index.html

Closures + Lambda = The key to OOP in Lisp « Learning Lisp
http://lispy.wordpress.com/2007/07/18/closures-lambda-the-key-to-oop-in-lisp/

Did it with .NET – What’s In A Closure?
http://diditwith.net/PermaLink,guid,235646ae-3476-4893-899d-105e4d48c25b.aspx

Did it with .NET – Fibonacci Numbers, Caching and Closures
http://diditwith.net/2007/02/08/FibonacciNumbersCachingAndClosures.aspx

Closures and Continuations
http://www.pluralsight.com/blogs/dbox/archive/2005/04/27/7780.aspx

My Links
http://www.delicious.com/ajlopez/closures
http://www.delicious.com/ajlopez/closure

Keep tuned, more to come!

Angel “Java” Lopez
http://www.ajlopez.com
http://twitter.com/ajlopez

September 5, 2011

AjLisp in Javascript (Part 3) Define, Lambda and Closures

Previous Post

Lets review the new forms definition in AjLisp, my Lisp interpreter written in Javascript (github repository). A key special form in AjLispJs, is define form:

var defineForm = new SpecialForm();
defineForm.eval = function eval(list, env)
{
	var name = list.first().name();
	var value = list.rest().first();
	var body = list.rest().rest();
		
	if (isNil(body)) {
		value = evaluate(value, env);
	}
	else {
		value = new Closure(value, env, body);
	}		
		
	environment[name] = value;
	return value;
}

You can use to define simple global data. My initial tests:

test("Evaluate Simple Expression with Atoms", function() {
	eval("(define one 1)");
	eval("(define two 2)");
	eval("(define three 3)");
	equal(eval("one"), 1);
	equal(eval("(quote one)").asString(), "one");
	equal(eval("(list one two three)").asString(), "(1 2 3)");
	equal(eval("(first (list one two three))"), 1);
	equal(eval("(rest (list one two three))").asString(), "(2 3)");
	equal(eval("(cons one (list two three))").asString(), "(1 2 3)");
});
		

But define is prepared to accept three parameters:

(define mapfirst (fn lst)
  (if (nilp lst)
    nil
    (cons
      (fn (first lst))
      (mapfirst fn (rest lst))
    )
  )
)

The first parameter is the name of the global environment property. The second is a list of parameters. The third is the form to apply. Define is used to define new functions. It’s equivalent to

(define mapfirst (lambda (fn lst)
    (if (nilp lst)
      nil
      (cons
        (fn (first lst))
        (mapfirst fn (rest lst))
      )
    )
  )
)

Note the lambda. It is an special form:

var lambdaForm = new SpecialForm();
lambdaForm.eval = function eval(list, env)
{
    var argnames = list.first();
    var body = list.rest();
    return new Closure(argnames, env, body);
}

Both define (with three parameters) and lambda create a Closure. The closure receives a list of argument names, a closure environment and a body. Then, when a closure is evaluated:

function Closure(argnames, closureenv, body) {
	body = new List(doForm, body);
	
	this.eval = function(args, environment) {
		var newenv = makeEnvironment(argnames, args, closureenv);
		return evaluate(body, newenv);
	};
}
	
Closure.prototype.evaluate = Form.prototype.evaluate;
Closure.prototype.apply = Form.prototype.apply;

The key part is the .eval: closure evaluation employs a new environment, based not in the current environment, but in the closureenv, the environment received in the constructor when the closure was created. This is a typical implementation in Lisp interpreter.

Next topics to discuss in upcoming posts: flambda, mlambda, macro evaluation, parser.

Keep tuned!

Angel “Java” Lopez

http://www.ajlopez.com

http://twitter.com/ajlopez

August 29, 2011

Lambda Calculus: Links, News and Resources (1)

Filed under: Functional Programming, Lambda Calculus, Links, Lisp, Programming — ajlopez @ 9:52 am

"Everything is a lambda in the end" ajlopez (past century)

http://en.wikipedia.org/wiki/Lambda_calculus

In mathematical logic and computer science, lambda calculus, also written as λ-calculus, is a formal system for function definition, function application and recursion. The portion of lambda calculus relevant to computation is now called the untyped lambda calculus. In both typed and untyped versions, ideas from lambda calculus have found application in the fields of logic, recursion theory (computability), and linguistics, and have played an important role in the development of the theory of programming languages (with untyped lambda calculus being the original inspiration for functional programming, in particular Lisp, and typed lambda calculi serving as the foundation for modern type systems).

Closures + Lambda = The key to OOP in Lisp « Learning Lisp
http://lispy.wordpress.com/2007/07/18/closures-lambda-the-key-to-oop-in-lisp/

Papers | Lambda the Ultimate
http://lambda-the-ultimate.org/papers

Notas sobre el Cálculo Lambda
http://ajlopez.zoomblog.com/archivo/2009/04/14/notas-sobre-el-Calculo-Lambda.html

Presenting AjLambda, lambda calculus in C#
http://ajlopez.wordpress.com/2009/02/25/presenting-ajlambda-lambda-calculus-implementation-in-c/

Funarg problem
http://en.wikipedia.org/wiki/Funarg_problem

The lambda calculus
http://faculty.knox.edu/dblaheta/research/lambda.pdf

Fixed point combinator
http://en.wikipedia.org/wiki/Y-combinator

Introducction to Lambda Calculus
http://www.cs.chalmers.se/Cs/Research/Logic/TypesSS05/Extra/geuvers.pdf

Introduction to Lambda Calculus
http://citeseer.ist.psu.edu/barendregt94introduction.html

Lambda Calculus
http://www.cs.bham.ac.uk/~axj/pub/papers/lambda-calculus.pdf

A Tutorial Introduction to the Lambda Calculus
http://www.utdallas.edu/~gupta/courses/apl/lambda.pdf

Knights of the Lambda Calculus
http://en.wikipedia.org/wiki/Knights_of_the_Lambda_Calculus

A Hacker’s Introduction to Partial Evaluation | The Lambda meme – all things Lisp, and more
http://www.ymeme.com/hackers-introduction-partial-evaluation.html

To Dissect a Mockingbird: A Graphical Notation for the Lambda Calculus with Animated Reduction
http://users.bigpond.net.au/d.keenan/Lambda/index.htm

http://www.defmacro.org/

λProlog Home Page
http://www.lix.polytechnique.fr/Labo/Dale.Miller/lProlog/

Church’s Type Theory
http://plato.stanford.edu/entries/type-theory-church/

Lambda Calculus Schemata
http://cs-www.cs.yale.edu/homes/fischer/pubs/lambda.pdf

Lambda Animator : animated reduction of the lambda calculus
http://thyer.name/lambda-animator/

Peter Selinger: Papers
http://www.mscs.dal.ca/~selinger/papers.html

Mike Taulty’s Blog : Anonymous Methods, Lambdas, Confusion
http://mtaulty.com/CommunityServer/blogs/mike_taultys_blog/archive/2009/01/28/anonymous-methods-lambdas-confusion.aspx

Lecture Notes on the Lambda Calculus (pdf)
http://www.mscs.dal.ca/~selinger/papers/lambdanotes.pdf

A Security Kernel Based on the Lambda-Calculus
http://mumble.net/~jar/pubs/secureos/

System F: Second-order lambda calculus
http://en.wikipedia.org/wiki/System_F

(Mis)using C# 4.0 Dynamic – Type-Free Lambda Calculus, Church Numerals, and more
http://community.bartdesmet.net/blogs/bart/archive/2009/08/17/mis-using-c-4-0-dynamic-type-free-lambda-calculus-church-numerals-and-more.aspx

Type-Free Lambda Calculus in C#, Pre-4.0 – Defining the Lambda Language Runtime (LLR)
http://community.bartdesmet.net/blogs/bart/archive/2009/08/30/type-free-lambda-calculus-in-c-pre-4-0-defining-the-lambda-language-runtime-llr.aspx

Jim McBeath: Practical Church Numerals in Scala
http://jim-mcbeath.blogspot.com/2008/11/practical-church-numerals-in-scala.html

My Links
http://www.delicious.com/ajlopez/lambda

Angel "AjLambda" Lopez

August 24, 2011

Erlang: Links, News and Resources (1)

Filed under: Erlang, Functional Programming, Links, Programming Languages — ajlopez @ 9:45 am

Next Post

Recently I published a post about Haskell. Now, it’s time to visit Erlang programming languages. My links and discoveries:

http://en.wikipedia.org/wiki/Erlang_%28programming_language%29

Erlang is a general-purpose concurrent, garbage-collected programming language and runtime system. The sequential subset of Erlang is a functional language, with strict evaluation, single assignment, and dynamic typing. For concurrency it follows the Actor model. It was designed by Ericsson to support distributed, fault-tolerant, soft-real-time, non-stop applications. It supports hot swapping, so that code can be changed without stopping a system.[1]

While threads are considered a complicated and error-prone topic in most languages, Erlang provides language-level features for creating and managing processes with the aim of simplifying concurrent programming. Though all concurrency is explicit in Erlang, processes communicate using message passing instead of shared variables, which removes the need for locks.

The first version was developed by Joe Armstrong in 1986.[2] It was originally a proprietary language within Ericsson, but was released as open source in 1998.

Erlang Programming Language
http://www.erlang.org/

YouTube – Erlang: The Movie
http://www.youtube.com/watch?v=uKfKtXYLG78

Invited Tutorial Erlang
http://www.erlang.org/workshop/armstrong.pdf

Brief History of Erlang
http://www.erlang.org/course/history.html

Notes on A History of Erlang
http://www.sauria.com/blog/2008/05/28/notes-on-a-history-of-erlang/

HOPL-III: A History of Erlang
http://lambda-the-ultimate.org/node/2811

http://www.scribd.com/doc/3405806/Erlanghistory

A history of Erlang
http://dl.acm.org/citation.cfm?id=1238850

CiteSeerX — Use of Prolog for developing a new programming language
http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.34.3972
This paper describes how Prolog was used for the development of a new concurrent realtime symbolic programming language called Erlang.

Welcome to Erjang! – GitHub
https://github.com/trifork/erjang/wiki
Erjang is a virtual machine for Erlang, which runs on Java(tm).

InfoQ: Beam.js: Erlang Meets JavaScript
http://www.infoq.com/presentations/Beamjs-Erlang-Meets-JavaScript

Erlang User Group Argentina
http://erlang.org.ar/P%C3%A1gina_Principal

LangDay – ErlangAr
http://erlang.org.ar/LangDay

InfoQ: Testing for the Unexpected
http://www.infoq.com/presentations/Testing-for-the-Unexpected

InfoQ: Ville Tuulos on Big Data and Map/Reduce in Erlang and Python with Disco
http://www.infoq.com/interviews/tuulos-erlang-mapreduce

Functional Languages will Rule (but not this year) – Good Stuff
http://goodstuff.im/functional-languages-will-rule-but-not-this-y

InfoQ: Francesco Cesarini and Simon Thompson on Erlang
http://www.infoq.com/interviews/cesarini-thompson-erlang

Table of Contents | Learn You Some Erlang for Great Good!
http://learnyousomeerlang.com/content

The Next Drupal? Zotonic: A Modern CMS Written in Erlang
http://www.readwriteweb.com/hack/2011/05/the-next-drupal-zotonic.php

Computer Language Design: What’s List Comprehension and Why is It Harmful?
http://xahlee.org/comp/list_comprehension.html

Node.js vs Erlang: SyncPad’s Experience
http://blog.mysyncpad.com/post/2073441622/node-js-vs-erlang-syncpads-experience

Hacker News | They’re so different and yet so similar it’s probably best taking them one topic…
http://news.ycombinator.com/item?id=2414035

9 Programming Languages To Watch In 2011 | Regular Geek
http://regulargeek.com/2010/12/11/9-programming-languages-to-watch-in-2011/

InfoQ: Scala, Erlang, F# Creators Discuss Functional Languages
http://www.infoq.com/interviews/functional-langs

InfoQ: Computation Abstraction: Going Beyond Programming Language Glue
http://www.infoq.com/presentations/Computation-Abstraction

Write A Template Compiler For Erlang
http://evanmiller.org/write-a-template-compiler-for-erlang.html

Erlang | September 2010 | Communications of the ACM
http://cacm.acm.org/magazines/2010/9/98014-erlang/fulltext

Ebot | Matteo Redaelli
http://www.redaelli.org/matteo-blog/projects/ebot/
Erlang Bot (Ebot) is an opensource web crawler written on top of Erlang,

The Lisp Before the End of My Lifetime
http://metalinguist.wordpress.com/2007/08/04/the-lisp-before-the-end-of-my-lifetime/
Networked & Concurrent Programming: Leaders in this area: Erlang

InfoQ: Steve Vinoski on Erlang and Rest
http://www.infoq.com/interviews/steve-vinoski-erlang-rest

Try Erlang
http://www.tryerlang.org/

String Calculator – Erlang » Software Craftsmanship – Katas
http://katas.softwarecraftsmanship.org/?p=96

InfoQ: Kresten Krab Thorup on Erjang, JVM Languages, Kilim
http://www.infoq.com/interviews/thorup-erjang

Avoiding Erlang deadlocks – Embrace change
http://mue.tideland.biz/avoiding-erlang-deadlocks

InfoQ: Horizontal Scalability via Transient, Shardable, and Share-Nothing Resources
http://www.infoq.com/presentations/Horizontal-Scalability

Tidier: A refactoring tool for Erlang
http://tidier.softlab.ntua.gr:20000/tidier/getstarted

The Pragmatic Bookshelf | Seven Languages in Seven Weeks
http://pragprog.com/titles/btlang/seven-languages-in-seven-weeks

Parsing SPARQL in Erlang with a monadic combinatory parser
http://antoniogarrote.lacoctelera.net/post/2009/11/01/parsing-sparql-in-erlang-with-monadic-combinatory-parser

Lisp Flavored Erlang
http://metajack.im/2009/01/09/lisp-flavored-erlang/

InfoQ: RPC and its Offspring: Convenient, Yet Fundamentally Flawed
http://www.infoq.com/presentations/vinoski-rpc-convenient-but-flawed

10 programming languages worth checking out – H3RALD
http://www.h3rald.com/articles/10-programming-languages/

The Pragmatic Bookshelf | What’s all this fuss about Erlang?
http://pragprog.com/articles/erlang

Jim McBeath: Actor Exceptions
http://jim-mcbeath.blogspot.com/2008/07/actor-exceptions.html

InfoQ: John Hughes Contrasts Erlang and Haskell
http://www.infoq.com/interviews/Erlang-Haskell-John-Hughes

InfoQ: Systems that Never Stop (and Erlang)
http://www.infoq.com/presentations/Systems-that-Never-Stop-Joe-Armstrong

The “Anti-For” Campaign – Matthew Podwysocki – CodeBetter.Com – Stuff you need to Code Better!
http://codebetter.com/blogs/matthew.podwysocki/archive/2009/06/26/the-anti-for-campaign.aspx

Luke Galea on Ruby and Erlang
http://www.infoq.com/interviews/galea-ruby

Functional programming in the Java language
http://www.ibm.com/developerworks/java/library/j-fp.html

Contrasting Performance : Languages, styles and VMs – Java, Scala, Python, Erlang, Clojure, Ruby, Groovy, Javascript
http://blog.dhananjaynene.com/2011/08/cperformance-comparison-languages-styles-and-vms-java-scala-python-erlang-clojure-ruby-groovy-javascript/

State You are doing wrong
http://www.slideshare.net/jboner/state-youre-doing-it-wrong-javaone-2009

Erlang vs. Scala – PlanetErlang
http://www.planeterlang.org/en/planet/article/Erlang_vs._Scala/

Minimal Erlang SMTP, POP3 server code « LShift Ltd.
http://www.lshift.net/blog/2007/09/20/minimal-erlang-smtp-pop3-server-code

PubSub is taking off – ProcessOne
http://www.process-one.net/en/blogs/article/pubsub_is_taking_off/

Humanist → Scalable Web Apps: Erlang + Python
http://humani.st/scalable-web-apps-erlang-python/

InfoQ: CouchDB From 10,000 Feet
http://www.infoq.com/presentations/couchDB-from-10K-feet

Erlang Factory London 2009
http://www.erlang-factory.com/conference/London2009/talks

InfoQ: Domain Specific Languages in Erlang
http://www.infoq.com/presentations/dsl-erlang-dennis-byrne

Tic-tac-toe in Erlang — smart game space
http://nealabq.com/blog/2009/03/06/tic-tac-toe-erlang-smart-game-space/

The State of Axum
http://blogs.msdn.com/b/maestroteam/archive/2011/02/28/the-state-of-axum.aspx
How new C# features were influenced by Erlang
“I see axum as erlang done right and for the CLR, coouldnt be better!”

My links:
http://www.delicious.com/ajlopez/erlang

More links about functional programming are coming.

Keep tuned!

Angel “Java” Lopez
http://www.ajlopez.com
http://twitter.com/ajlopez

August 22, 2011

Haskell: Links, News and resources (1)

Filed under: Functional Programming, Haskell, Links, Programming Languages — ajlopez @ 3:41 pm

I’m interested in programming languages and in functional programming. Haskell study and practice is a good step towards grasping functional ideas. These are my links about this language:

http://en.wikipedia.org/wiki/Haskell_%28programming_language%29

Haskell (pronounced /ˈhæskəl/)[3][4] is a standardized, general-purpose purely functional programming language, with non-strict semantics and strong static typing.[5] It is named after logician Haskell Curry. In Haskell, "a function is a first-class citizen" of the programming language.[6] As a functional programming language, the primary control construct is the function. The language is rooted in the observations of Haskell Curry and his intellectual descendants, that "a proof is a program; the formula it proves is a type for the program".

Learn You a Haskell for Great Good! – Higher Order Functions
http://learnyouahaskell.com/higher-order-functions

Haskell :: Functional Programming with Types
http://en.wikibooks.org/wiki/Haskell

How to learn Haskell – Stack Overflow
http://stackoverflow.com/questions/1012573/how-to-learn-haskell

Try Haskell! An interactive tutorial in your browser
http://tryhaskell.org/

A Neighborhood of Infinity: The Infinitude of the Primes
http://blog.sigfpe.com/2011/07/infinitude-of-primes.html

InfoQ: Multicore Programming in Haskell
http://www.infoq.com/presentations/Multicore-Programming-in-Haskell

Yesod :: Enumerator Package
http://www.yesodweb.com/book/enumerator

The implementation of the Gofer functional programming system
http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.117.5058

I1M2010: Operaciones con el TAD de los polinomios en Haskell | Vestigium
http://www.glc.us.es/~jalonso/vestigium/i1m2010-operaciones-con-el-el-tad-de-los-polinomios-en-haskell/

Un problema de las olimpiadas rusas en Haskell | Vestigium
http://www.glc.us.es/~jalonso/vestigium/un-problema-de-las-olimpiadas-rusas-en-haskell/

Applicative Programming with Effects
http://www.soi.city.ac.uk/~ross/papers/Applicative.html

Arrows: A General Interface to Computation
http://www.haskell.org/arrows/

Haskell/Understanding arrows – Wikibooks, open books for an open world
http://en.wikibooks.org/wiki/Haskell/Understanding_arrows

Haskell :: Functional Programming with Types
http://www.cse.chalmers.se/~rjmh/Papers/whyfp.html

Functional Languages will Rule (but not this year) – Good Stuff
http://goodstuff.im/functional-languages-will-rule-but-not-this-y

Ruminations of a Programmer: Combinators as the sublanguage of DSL syntax
http://debasishg.blogspot.com/2011/05/combinators-as-sublanguage-of-dsl.html

The Algebra of Data, and the Calculus of Mutation » Lab49 Blog
http://blog.lab49.com/archives/3011

Type inference – Wikipedia, the free encyclopedia
http://en.wikipedia.org/wiki/Type_inference

The Joy of Haskell, parte 1 – Introdução « Ars Physica
http://arsphysica.wordpress.com/2011/04/18/haskell1/

A Neighborhood of Infinity: Generalising Gödel’s Theorem with Multiple Worlds. Part II.
http://blog.sigfpe.com/2010/12/generalising-godels-theorem-with_24.html

The Arrows Calculus
http://homepages.inf.ed.ac.uk/wadler/papers/arrows-jfp/arrows-jfp.pdf

Wadler’s Blog: The Arrow Calculus
http://wadler.blogspot.com/2010/11/arrow-calculus.html

Program Haskell with Lisp Syntax Using Liskell or Lisk
http://www.readwriteweb.com/hack/2010/11/haskell-with-lisp-syntax.php

Lisk – Lisp and Haskell
http://chrisdone.com/posts/2010-11-25-lisk-lisp-haskell.html

johang88′s haskellinjavascript at master – GitHub
http://github.com/johang88/haskellinjavascript

Conal Elliott » “Everything is a function” in Haskell?
http://conal.net/blog/posts/everything-is-a-function-in-haskell/

Haskell: The Confusing Parts
http://echo.rsmw.net/n00bfaq.html

Video presentations – HaskellWiki
http://www.haskell.org/haskellwiki/Video_presentations

A Neighborhood of Infinity: Products, Limits and Parametric Polymorphism
http://blog.sigfpe.com/2010/03/products-limits-and-parametric.html

My Links
http://www.delicious.com/ajlopez/haskell

Angel “Java” Lopez
http://www.ajlopez.com
http://twitter.com/ajlopez

Older Posts »

Theme: Shocking Blue Green. Blog at WordPress.com.

Follow

Get every new post delivered to your Inbox.