Murat Nakkaya

nakkaya.com · Personal blog · on HN since 2009

Murat Nakkaya, a developer who writes about Clojure and Lisp, and is the author of the Ferret Lisp compiler.

What HN saysHN links it for Ferret, a Clojure-like Lisp for real-time and embedded use, and for his micro-manual on implementing Lisp in C.
40HN people shared it
13linked it in comments
41stories submitted
520story points
1 year agolast shared
2009people per year2026

Most-shared posts

  1. 1
  2. 2
    A micro-manual for Lisp implemented in C
    5 people · 78 points · first shared 2010 · 6 comments on HN
  3. 3
    Alter-ego - A Reactive AI Library
    3 people · 23 points · first shared 2010 · 7 comments on HN
  4. 4
    Ferret: An Experimental Clojure Compiler
    2 people · 86 points · first shared 2011 · 11 comments on HN
  5. 5
    Clojure OpenCV Detecting Movement
    2 people · 6 points · first shared 2010 · discussion on HN
  6. 6
    Controlling an A.R. Drone with the Kinect and Clojure
    2 people · 6 points · first shared 2013 · discussion on HN
  7. 7
    Steganography with Clojure - Hiding Text in Images
    2 people · 6 points · first shared 2010 · 1 comments on HN
  8. 8
    Ferret Lisp FFI Notes
    2 people · 3 points · first shared 2017 · discussion on HN
  9. 9
    Net-eval - Dead Simple Distributed Computing for Clojure
    2 people · 3 points · first shared 2010 · discussion on HN
  10. 10
    Bare Metal Lisp: RC Controls in Clojure on Arduino
    2 people · 2 points · first shared 2017 · discussion on HN
  11. 11
    Java Native Access from Clojure
    2 people · 2 points · first shared 2009 · discussion on HN
  12. 12
    Visualising the Wikileaks war logs using Clojure
    1 people · 69 points · first shared 2010 · discussion on HN
  13. 13
    Fractals in Clojure: Buddhabrot Fractal
    1 people · 49 points · first shared 2011 · 8 comments on HN
  14. 14
    Lindenmayer System in Clojure
    1 people · 41 points · first shared 2010 · 4 comments on HN
  15. 15
    Consistent Hashing with Clojure
    1 people · 29 points · first shared 2013 · 1 comments on HN

What HN people wrote when they linked it

raju · 2011-07-06
One of my favorite resources is the #clojure tag on Twitter. I use Tweetie and have bookmarked a search on that. Here are a few sites from my GReader http://www.bestinclass.dk/blog.html http://nakkaya.com/ http://freegeek.in/blog/ https://groups.google.com/group/clojure And here are a few tabs that I currently have open (Maybe this weekend I will get to them :D) https://github.com/dbushenko/ClojureBlog http://skillsmatter.com/podcast/scala/talk-by-patrick-fredriksson http://brehaut.net/blog/2011/ring_introduction http://www.codequarterly.com/2011/rich-hickey/ (Interview with Rich) http://news.ycombinator.com/item?id=2682191 http://news.ycombinator.com/item?id=2709319 Hope these help :)
nanomonkey · 2025-07-12
Ferret is another Clojure implementation in C, that has a decent C/C++ interface: https://nakkaya.com/2017/06/24/ferret-lisp-ffi-notes/ I'm curious if the author of jank was aware of Ferret, and what was found lacking.
nakkaya · 2018-09-13
I maintain a programming language called Ferret [1]. You can read through the manual, it is a literate program, covers everything you need to implement your own lisp. Compiler, optimizations, runtime, garbage collection etc. [2] overlaps with [1] covers how to compile a restricted subset of Clojure to C++. If you are interested in interpreters [3] has an implementation of the "A Micro-Manual for Lisp - not the whole Truth" in C. [1] https://ferret-lang.org/ [2] https://nakkaya.com/2011/06/29/ferret-an-experimental-clojure-compiler… [3] https://nakkaya.com/2010/08/24/a-micro-manual-for-lisp-implemented-in-…
chipset · 2017-08-08
I'm not sure how it's implemented in Ferret but Clojure's data structures are implemented as trees so there's structural sharing that happens when a vector or hash map is updated or when a new version is produced. So the whole data structure isn't copied but only the relevant parts are added / updated in the tree and the rest is shared with the "new" data structure. Mutable data structures are still more memory effective but I'm assuming its fine since the author has a blog post on using ferret on an Arduino Uno which has 32k of ram. https://nakkaya.com/2017/02/15/bare-metal-lisp-rc-control-using-ferret… Clojure data Sturucture links: Persistent Vectors http://hypirion.com/musings/understanding-persistent-vector-pt-1 Video with Rick hick on them https://youtu.be/wASCH_gPnDw?t=1742
junke · 2016-09-26
You could use JNA (Java Native Access) with Clojure[0], exactly like ABCL does with the CFFI library. [0] https://nakkaya.com/2009/11/16/java-native-access-from-clojure/
616c · 2016-06-26
This was originally posted in 2011. The dev is STILL plugging away at this, with fresh commits and blog posts. http://nakkaya.com/2016/06/10/ferret-a-hard-real-time-clojure-for-lisp… Really shocked I had not picked up on this sooner!
andrewf · 2010-08-24
It's this: http://nakkaya.com/2010/08/24/a-micro-manual-for-lisp-implemented-in-c… I suspect Red Hat's gcc is aligning structure members on 64-bit boundaries.
dj-wonk · 2014-06-01
Some comments, which may be obvious: * I have not tested Kuzu in production yet. * It has a tiny fraction of the power of real projects like Hadoop, Storm, Spark, and so on. * I created it because I wanted a simple way to run maps, reduces, and filters over many machines without making big changes to my original Clojure code. For this simple use case, many distributed computation systems seem quite complicated, so I thought it would be fun to write something extremely simple. * I was inspired by how PigPen https://github.com/Netflix/PigPen offers a very natural interface to Clojure. I wondered if that could work on top of something simpler than Hadoop + Pig. * This isn't the first time something like this has been done. See net-eval for example http://nakkaya.com/2010/02/16/net-eval-dead-simple-distributed-computi… * Kuzu may or may not be useful to you, but I'd be interested in any and all commentary.

Keyboard shortcuts

/Search
j kNext / previous blog
EnterOpen selected blog
vVisit the blog site
fFollow / unfollow
lSwitch grid / list view
dSwitch dark mode
g hHome
g pTop posts
g tTopics
g fFollowing
g lLiked
g yHistory
g qFAQ
EscBack / close