SlideShare a Scribd company logo
Dynamic Language Runtime
(DLR)
What’s Dynamic
Object Type isn’t known
until runtime
Which Means
Member names and
signatures aren’t known
until runtime
Therefore
Calls are dispatched
dynamically
Call can fail dynamically
That’s too boring to deal
with !!
Dynamic Objects around
us
Dynamic Structures
such as XML or HTML
DOM
Remember the c++
concept
Dynamic Language
A high level language which, at
runtime, execute many common
programming behaviors that static
programming languages perform
during compilation
Dynamic languages
such as Python and Ruby
Introducing a new
Keyword in c#
Dynamic
Dynamic is a Type
Dynamic Ranguage Runtime (DLR)
Statically declares an
object to be dynamic
Replace compile-time type
check with writing metadata
about the call
Use metadata at runtime to
resolve the call
Dynamic dispatch
or
runtime error
Dynamic Ranguage Runtime (DLR)
Dynamic Ranguage Runtime (DLR)
Dynamic Ranguage Runtime (DLR)
Dynamic Ranguage Runtime (DLR)
Dynamic != var
C# dynamic
implementation
DLR is a normal assembly
hosted on the CLR
Dynamic Language
A high level language which, at
runtime, execute many common
programming behaviors that static
programming languages perform
during compilation
CLR & DLR
CLR: The CLR is the core set of services offered by
.Net - a type system, JIT, a garbage collector.
DLR: builds atop of this and offers services for
dynamic languages: dynamic types, dynamic
method dispatch, code generation
How is it Helpful
• Provides support for dynamic features in
statically typed languages.
• Facilitates sharing of libraries and objects.
• Provides support for dynamic method
dispatch and invocation.
The DLR subsystem
• Expression Trees  To represent language
semantics
• Call site caching  Method calls using dynamic
objects are cached in the memory for faster
dispatch.
• Dynamic object interoperability  The DLR
enables interoperability between statically and
dynamically typed languages.
The Dynamic Language Runtime
includes a collection of types–
classes and interfaces in the
System.Dynamic.namespace
Language Binders
The language binders in the DLR help it to talk to other
languages.
.Net Binder -- this is used to talk to .Net objects
JavaScript Binder -- this is used to talk to objects created
in JavaScript objects
IronRuby Binder -- enables the DLR to talk to IronRuby
objects
IronPython Binder -- helps the DLR to talk to IronPython
objects
COM Binder -- this helps the DLR to talk to COM objects
Dynamic Ranguage Runtime (DLR)
Thank you for watching!!

More Related Content

PDF
LIL Presentation
PDF
Create Your Own Language
PPTX
Week 8 intro to python
PPTX
Introduction to C# - Week 0
PPTX
Programming Paradigm & Languages
PPTX
Dynamic languages for .NET CLR
PPTX
Ruby programming
PPTX
Languages formanandmachine
LIL Presentation
Create Your Own Language
Week 8 intro to python
Introduction to C# - Week 0
Programming Paradigm & Languages
Dynamic languages for .NET CLR
Ruby programming
Languages formanandmachine

What's hot (8)

PPT
Building scalable and language independent java services using apache thrift
PPS
Ruby Introduction
PPTX
Programming languages
PPTX
C# basics...
PPT
Internationalisation And Globalisation
PDF
Jax keynote
PPTX
C sharp
PDF
Beyond JSON - An Introduction to FlatBuffers
Building scalable and language independent java services using apache thrift
Ruby Introduction
Programming languages
C# basics...
Internationalisation And Globalisation
Jax keynote
C sharp
Beyond JSON - An Introduction to FlatBuffers
Ad

Similar to Dynamic Ranguage Runtime (DLR) (20)

PPTX
Dynamic language
PPTX
sl slides-unit-1.pptx
PDF
Lecture - The .Net Technology and Framework
PDF
The Ring programming language version 1.2 book - Part 4 of 84
PPT
lect1-introductiontoprogramminglanguages-130130013038-phpapp02.ppt
PDF
Iron* - An Introduction to Getting Dynamic on .NET
PPTX
Xml & scripting
PPTX
Intro to Programming Lang.pptx
PPTX
Jaoo irony
PPTX
Programming language
PPT
Modified.net overview
PPT
High level languages representation
PDF
The Ring programming language version 1.7 book - Part 6 of 196
PDF
Programming Languages Categories / Programming Paradigm By: Prof. Lili Saghafi
PPTX
Lecture 1 introduction to language processors
PPT
Presentation on Programming Languages.
PPT
Introduction to .Net
PPT
Lect 1. introduction to programming languages
PDF
The Ring programming language version 1.5.2 book - Part 5 of 181
Dynamic language
sl slides-unit-1.pptx
Lecture - The .Net Technology and Framework
The Ring programming language version 1.2 book - Part 4 of 84
lect1-introductiontoprogramminglanguages-130130013038-phpapp02.ppt
Iron* - An Introduction to Getting Dynamic on .NET
Xml & scripting
Intro to Programming Lang.pptx
Jaoo irony
Programming language
Modified.net overview
High level languages representation
The Ring programming language version 1.7 book - Part 6 of 196
Programming Languages Categories / Programming Paradigm By: Prof. Lili Saghafi
Lecture 1 introduction to language processors
Presentation on Programming Languages.
Introduction to .Net
Lect 1. introduction to programming languages
The Ring programming language version 1.5.2 book - Part 5 of 181
Ad

Recently uploaded (20)

PDF
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
PDF
Reach Out and Touch Someone: Haptics and Empathic Computing
PPTX
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
PDF
cuic standard and advanced reporting.pdf
PDF
Encapsulation_ Review paper, used for researhc scholars
PDF
Approach and Philosophy of On baking technology
PPTX
Spectroscopy.pptx food analysis technology
PPT
Teaching material agriculture food technology
PDF
Advanced methodologies resolving dimensionality complications for autism neur...
DOCX
The AUB Centre for AI in Media Proposal.docx
PDF
Agricultural_Statistics_at_a_Glance_2022_0.pdf
PPTX
sap open course for s4hana steps from ECC to s4
PPTX
Cloud computing and distributed systems.
PDF
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
PDF
Electronic commerce courselecture one. Pdf
PDF
Mobile App Security Testing_ A Comprehensive Guide.pdf
PPTX
ACSFv1EN-58255 AWS Academy Cloud Security Foundations.pptx
PDF
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
PPTX
20250228 LYD VKU AI Blended-Learning.pptx
PPTX
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
Reach Out and Touch Someone: Haptics and Empathic Computing
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
cuic standard and advanced reporting.pdf
Encapsulation_ Review paper, used for researhc scholars
Approach and Philosophy of On baking technology
Spectroscopy.pptx food analysis technology
Teaching material agriculture food technology
Advanced methodologies resolving dimensionality complications for autism neur...
The AUB Centre for AI in Media Proposal.docx
Agricultural_Statistics_at_a_Glance_2022_0.pdf
sap open course for s4hana steps from ECC to s4
Cloud computing and distributed systems.
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
Electronic commerce courselecture one. Pdf
Mobile App Security Testing_ A Comprehensive Guide.pdf
ACSFv1EN-58255 AWS Academy Cloud Security Foundations.pptx
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
20250228 LYD VKU AI Blended-Learning.pptx
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy

Dynamic Ranguage Runtime (DLR)