Practical Metaprogramming: "Modeling Thought"

A session at Lone Star Ruby Conference V

Friday 12th August, 2011

1:45pm to 2:30pm (CST)

... Or, Lessons Learned While Using Ruby's MP System to Model a 2,500 Year-Old, Dead Language

During LSRC III's Reject Conf, I began a project to model the linguistic behavior of verbs in Classical Latin. Owing to the irregularity of human communication, modeling the provision of unambiguous answers (return values) to ambiguously asked things (flexible / incomplete method calls) might have required hundreds, if not thousands, of method definitions or static values entered in a database.

But what if heuristics could be given to a Ruby class such that it "thought" as language learners are taught to think? What if it could be taught to be flexible in respecting the ambiguous calls given and to still give precise, correct answers back - as human language learners are capable of doing? By adopting this design paradigm, code could become leaner and more reflective of human cognitive process.

Thankfully for Rubyists, this is not a dream, this is reality. Our programs can operate more intelligently, more heuristically, and more insightfully. We can save ourselves days of development time by integrating this next tier of metaprogramming patterns I propose to demonstrate. While I will demonstrate these patterns by modeling linguistics based on the LatinVerb library (https://github.com/sgharms/Latin...), these techniques have wider application across problem domains.

About the speaker

This person is speaking at this event.
Steven G. Harms

I like @laurennroth, Latin, Ruby, and Macbooks. At Cisco I build tools to build tools to build product. I also model linguistics in code. I'm meta. bio from Twitter

Coverage of this session

Sign in to add slides, notes or videos to this session

Tell your friends!


Time 1:45pm2:30pm CST

Date Fri 12th August 2011

Short URL


View the schedule



See something wrong?

Report an issue with this session