# Grokking the C code

**URL:** <https://rubytalk.org/t/grokking-the-c-code/42100>\
**Category:** ruby-talk\
**Created:** [11 November 2007 19:03 UTC](https://rubytalk.org/t/grokking-the-c-code/42100 "2007-11-11T19:03:52Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![Stefan\_Kanev](https://avatars.discourse-cdn.com/v4/letter/s/7feea3/32.png) [@Stefan\_Kanev](https://rubytalk.org/u/Stefan_Kanev)\
**Post date:** [11 November 2007 19:03 UTC](https://rubytalk.org/t/grokking-the-c-code/42100/1 "2007-11-11T19:03:52Z")

</div>

Hello.

Last few days I've been spending parts of the evenings digging into  
Ruby's C code. I'm trying to get a basic idea of how everything works,  
both to learn and to introduce some tweaks in the language (just for  
my personal enjoyment). I'm finding that as a big bite, though. Can  
you guys recommend me how to tackle the whole thing? And is there some  
basic overview of how the code works (for example, how eval.c works  
and what are the frame, tag, iter and so on structs) from which I get  
get the big idea?

---

<div class="post-metadata">

**Author:** ![Brad\_Ediger](https://avatars.discourse-cdn.com/v4/letter/b/7feea3/32.png) [@Brad\_Ediger](https://rubytalk.org/u/Brad_Ediger)\
**Post date:** [11 November 2007 19:10 UTC](https://rubytalk.org/t/grokking-the-c-code/42100/2 "2007-11-11T19:10:11Z")

</div>

Definitely start out with the Ruby Hacking Guide:

[http://rhg.rubyforge.org/](http://rhg.rubyforge.org/)

Only a few chapters have been translated into English so far, but it should be more than enough to get you started.

-be

> **···**
>
> On Nov 11, 2007, at 1:03 PM, Stefan Kanev wrote:
> 
> > Last few days I've been spending parts of the evenings digging into  
> > Ruby's C code. I'm trying to get a basic idea of how everything works,  
> > both to learn and to introduce some tweaks in the language (just for  
> > my personal enjoyment). I'm finding that as a big bite, though. Can  
> > you guys recommend me how to tackle the whole thing? And is there some  
> > basic overview of how the code works (for example, how eval.c works  
> > and what are the frame, tag, iter and so on structs) from which I get  
> > get the big idea?

---

<div class="post-metadata">

**Author:** ![Jan\_Svitok](https://avatars.discourse-cdn.com/v4/letter/j/cab0a1/32.png) [@Jan\_Svitok](https://rubytalk.org/u/Jan_Svitok)\
**Post date:** [12 November 2007 15:59 UTC](https://rubytalk.org/t/grokking-the-c-code/42100/3 "2007-11-12T15:59:32Z")

</div>

[http://eigenclass.org/hiki/ruby+internals+guide](http://eigenclass.org/hiki/ruby+internals+guide)

> **···**
>
> On Nov 11, 2007 8:03 PM, Stefan Kanev \<stefan.kanev@gmail.com\> wrote:
> 
> > Hello.
> > 
> > Last few days I've been spending parts of the evenings digging into  
> > Ruby's C code. I'm trying to get a basic idea of how everything works,  
> > both to learn and to introduce some tweaks in the language (just for  
> > my personal enjoyment). I'm finding that as a big bite, though. Can  
> > you guys recommend me how to tackle the whole thing? And is there some  
> > basic overview of how the code works (for example, how eval.c works  
> > and what are the frame, tag, iter and so on structs) from which I get  
> > get the big idea?

---

<div class="post-metadata">

**Author:** ![Mohit\_Sindhwani1](https://avatars.discourse-cdn.com/v4/letter/m/dbc845/32.png) [@Mohit\_Sindhwani1](https://rubytalk.org/u/Mohit_Sindhwani1)\
**Post date:** [11 November 2007 19:32 UTC](https://rubytalk.org/t/grokking-the-c-code/42100/4 "2007-11-11T19:32:12Z")

</div>

Brad Ediger wrote:

> > Last few days I've been spending parts of the evenings digging into  
> > Ruby's C code. I'm trying to get a basic idea of how everything works,  
> > both to learn and to introduce some tweaks in the language (just for  
> > my personal enjoyment). I'm finding that as a big bite, though. Can  
> > you guys recommend me how to tackle the whole thing? And is there some  
> > basic overview of how the code works (for example, how eval.c works  
> > and what are the frame, tag, iter and so on structs) from which I get  
> > get the big idea?
> 
> Definitely start out with the Ruby Hacking Guide:
> 
> [http://rhg.rubyforge.org/](http://rhg.rubyforge.org/)
> 
> Only a few chapters have been translated into English so far, but it should be more than enough to get you started.
> 
> -be

Thanks for the link!! It makes extremely interesting reading 🙂  
...and very distracting too!

Cheers,  
Mohit.  
11/12/2007 | 3:31 AM.

> **···**
>
> > On Nov 11, 2007, at 1:03 PM, Stefan Kanev wrote:
