Skip to end of metadata
Go to start of metadata

Part 18 - Duck Typing

Definition: Duck Typing

Icon

Duck typing is a humorous way of describing the type non-checking system. Initially coined by Dave Thomas in the Ruby community, its premise is that (referring to a value) "if it walks like a duck, and talks like a duck, then it is a duck".

Even though Boo is a statically typed language, Duck Typing is a way to fake being a dynamic language. Duck typing allows variables to be recognized at runtime, instead of compile time. Though this can add a sense of simplicity, it does remove a large security barrier.

Duck Typing Example
Output
5
15
Hi there
HI THERE

Duck typing is very handy if you are loading from a factory or an unpredictable dynamic library.

Recommendation

Icon

Do not enable duck typing by default. It should only be used in a few situations.

On a side note, The booish interpreter has duck typing enabled by default. This can be disabled by typing in interpreter.Ducky = false

Here is a practical example of where duck typing is useful.

Practical Duck Typing

Exercises

  1. Come up with another good example where duck typing is effective.

Go on to Part 19 - Using the Boo Compiler

  • No labels