Thanks for the answer. I think you'll need a reply from Chouser or
Rich (or someone alike) when they wake up. The best I can give you is
this part of the source, where (I think) it is defined how clojure is
build upon java.

http://code.google.com/p/clojure/source/browse/trunk/src/?r=1205#src/jvm/clojure



On Jan 13, 9:41 am, HB <hubaghd...@gmail.com> wrote:
> >Not sure what you want to achieve by studying the source code. I think
> >the answer that I can give to what works best for you will depend on
> >what you want to study the source code for.
>
> I want to be familiar with a language design in general and how it
> integrates with Java Platform.
>
> >I'm also not sure what you mean by 'what is the best place to start reading.
>
> What I mean is which file in the source code I have to read in order
> to start mining.
> This depends on why I'm reading the source code, right?
>
> On Jan 13, 10:19 am, bOR_ <boris.sch...@gmail.com> wrote:
>
>
>
> > Not sure what you want to achieve by studying the source code. I think
> > the answer that I can give to what works best for you will depend on
> > what you want to study the source code for.
>
> > I'm also not sure what you mean by 'what is the best place to start
> > reading..' The link that I gave before is a direct link to the source
> > code of clojure. That is the source.
>
> >http://code.google.com/p/clojure/source/browse/trunk/src/clj/clojure/...
>
> > On Jan 13, 9:04 am, HB <hubaghd...@gmail.com> wrote:
>
> > > Do you suggest that I read "Programming Clojure" first and then trying
> > > to study the source code?
> > > What is the best place (file, package or what ever) to start reading
> > > the source code?
>
> > > On Jan 13, 10:01 am, bOR_ <boris.sch...@gmail.com> wrote:
>
> > > > Here you can peek at the source code of clojure.
>
> > > >http://code.google.com/p/clojure/source/browse/trunk/src/clj/clojure/...
>
> > > > It is about 3700 lines, and although you have to get used to a few new
> > > > functions and names that are normally not exposed when you use
> > > > clojure, it looks fairly simple.
>
> > > > Here is the function that defines defn itself. Most functions in the
> > > > source are a magnitude easier than this one for us newbies =).
>
> > > > (def
>
> > > >  #^{:doc "Same as (def name (fn [params* ] exprs*)) or (def
> > > >     name (fn ([params* ] exprs*)+)) with any doc-string or attrs added
> > > >     to the var metadata"
> > > >     :arglists '([name doc-string? attr-map? [params*] body]
> > > >                 [name doc-string? attr-map? ([params*] body)+ attr-
> > > > map?])}
> > > >  defn (fn defn [name & fdecl]
> > > >         (let [m (if (string? (first fdecl))
> > > >                   {:doc (first fdecl)}
> > > >                   {})
> > > >               fdecl (if (string? (first fdecl))
> > > >                       (rest fdecl)
> > > >                       fdecl)
> > > >               m (if (map? (first fdecl))
> > > >                   (conj m (first fdecl))
> > > >                   m)
> > > >               fdecl (if (map? (first fdecl))
> > > >                       (rest fdecl)
> > > >                       fdecl)
> > > >               fdecl (if (vector? (first fdecl))
> > > >                       (list fdecl)
> > > >                       fdecl)
> > > >               m (if (map? (last fdecl))
> > > >                   (conj m (last fdecl))
> > > >                   m)
> > > >               fdecl (if (map? (last fdecl))
> > > >                       (butlast fdecl)
> > > >                       fdecl)
> > > >               m (conj {:arglists (list 'quote (sigs fdecl))} m)]
> > > >           (list 'def (with-meta name (conj (if (meta name) (meta name)
> > > > {}) m))
> > > >                 (cons `fn fdecl)))))
>
> > > > On Jan 13, 8:51 am, HB <hubaghd...@gmail.com> wrote:
>
> > > > > Hey,
> > > > > How much Clojure source code is complicated?
> > > > > I'm not a programming Godfather but I would like to study Clojure
> > > > > source code.
> > > > > Could an intermediate programmer like me grasp the source code?
> > > > > Thanks.
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"Clojure" group.
To post to this group, send email to clojure@googlegroups.com
To unsubscribe from this group, send email to 
clojure+unsubscr...@googlegroups.com
For more options, visit this group at 
http://groups.google.com/group/clojure?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to