Mads Torgersen, Microsoft.  Language INtegrated Query  An open multi-language query facility  Uses cool language stuff  Points into the future.

Slides:



Advertisements
Similar presentations
Developer Knowledge Sharing Eric Sun Dec, What programming language did you learn in school and since then? Now, its time to refresh …
Advertisements

Ofir Aspis 1/2010 VS 2010 Targets High Level - IDE New Features VS 2010 As Editor and Platform Demo Editor features Extending.
Ahead of Time Dynamic Translation PreJit/NGEN by any other name George Bosworth Microsoft MRE04 March 21, 2004.
Copyright 2001, ActiveState. XSLT and Scripting Languages or…XSLT: what is everyone so hot and bothered about?
Dynamic internals. Introductions  Alexandru Ghiondea  C# Compiler QA  
Database System Concepts and Architecture
C#/.NET 5/4/ Ian Cooper
Overview of.NET Framework Sanjay Vyas. Whats New In Base Class Library Declaration & consumption of extensibility points Monitoring for new runtime extension.
(1) ICS 313: Programming Language Theory Chapter 10: Implementing Subprograms.
The road to reliable, autonomous distributed systems
Chapter 7Louden, Programming Languages1 Chapter 7 - Control I: Expressions and Statements "Control" is the general study of the semantics of execution.
Copyright © 2011 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Chapter 13 Introduction to SQL Programming Techniques.
Aarhus University, 2005Esmertec AG1 Implementing Object-Oriented Virtual Machines Lars Bak & Kasper Lund Esmertec AG
C#.NET C# language. C# A modern, general-purpose object-oriented language Part of the.NET family of languages ECMA standard Based on C and C++
Chapter 10 Storage Management Implementation details beyond programmer’s control Storage/CPU time trade-off Binding times to storage.
Runtime Aspect Weaving Through Metaprogramming Jason Baker and Wilson Hsieh Handi-Wrap.
1 Pertemuan 20 Run-Time Environment Matakuliah: T0174 / Teknik Kompilasi Tahun: 2005 Versi: 1/6.
Jeremy Boyd Director – Mindscape MSDN Regional Director
A tour of new features introducing LINQ. Agenda of LINQ Presentation We have features for every step of the way LINQ Fundamentals Anonymous Functions/Lambda.
Introduction to PL/SQL Chapter 9. Objectives Explain the need for PL/SQL Explain the benefits of PL/SQL Identify the different types of PL/SQL blocks.
Gurinder CTO. Lisa Feigenbaum Microsoft Program Manager Visual Studio Languages
demo video demo Dynamic Languages Simple and succinctImplicitly typedMeta-programmingNo compilation Static Languages RobustPerformantIntelligent.
Louis de Klerk Consultant Inobits Consulting DTL308.
Developer Day Was ist neu in.NET 4.5? Ken Casada Technical Evangelist, Microsoft Switzerland
Advanced Database CS-426 Week 2 – Logic Query Languages, Object Model.
Introduction to .Net Framework
It’s always better live. MSDN Events INTRODUCTION TO SILVERLIGHT prepared by Joe Nov INTRODUCTION TO SILVERLIGHT prepared by Joe Nov
Object-Oriented Implementation of Reconciliations M.Sc. Seminar Talk by Costa Shapiro under supervision of Prof. Shmuel Katz Computer Science – Technion.
SALSA: Language and Architecture for Widely Distributed Actor Systems. Carlos Varela, Abe Stephens, Department of.
Computing with C# and the.NET Framework Chapter 1 An Introduction to Computing with C# ©2003, 2011 Art Gittleman.
Introduction to Java Server Pages (JSPs) Robert Thornton.
Putting it all together: LINQ as an Example. The Problem: SQL in Code Programs often connect to database servers. Database servers only “speak” SQL. Programs.
Reviewing Recent ICSE Proceedings For:.  Defining and Continuous Checking of Structural Program Dependencies  Automatic Inference of Structural Changes.
The Procedure Abstraction, Part VI: Inheritance in OOLs Comp 412 Copyright 2010, Keith D. Cooper & Linda Torczon, all rights reserved. Students enrolled.
Chapter 7 Runtime Environments. Relationships between names and data objects As execution proceeds, the same name can denote different data objects Procedures,
CSC 580 – Theory of Programming Languages, Spring, 2009 Week 9: Functional Languages ML and Haskell, Dr. Dale E. Parson.
COP 4620 / 5625 Programming Language Translation / Compiler Writing Fall 2003 Lecture 3, 09/11/2003 Prof. Roy Levow.
Review 1.Lexical Analysis 2.Syntax Analysis 3.Semantic Analysis 4.Code Generation 5.Code Optimization.
1 C# A brief overview by Jack Senechal and Bryan Powell.
Chapter 18 Object Database Management Systems. McGraw-Hill/Irwin © 2004 The McGraw-Hill Companies, Inc. All rights reserved. Outline Motivation for object.
PI Data Archive Server COM Points Richard Beeson.
Microsoft.NET Norman White Stern School of Business.
Declarative ConcurrentDynamic demo Code Like the Wind with Microsoft Visual Basic 2010 – Petree Hall D November 18, 13: :45 – Petree Hall.
CS536 Semantic Analysis Introduction with Emphasis on Name Analysis 1.
1 Enhancing Program Comprehension with recovered State Models Stéphane S. Somé Timothy C. Lethbridge SITE, University of Ottawa.
IronRuby for the.NET Developer Cory Foy - Cory Foy, LLC + + =
Andrew Peters Mindscape DEV321 The.NET Language Ecosystem Language Design Spectrums A Tour of Language Features Interoperability Driving the Future.
Other news? async and await Anonymous types (var, dynamic) Tuples Object instantiation Extension methods UCN Teknologi/act2learn1FEN 2014.
Parrot in a nutshell1 Parrot in a Nutshell Dan Sugalski
Chapter 18 Object Database Management Systems. Outline Motivation for object database management Object-oriented principles Architectures for object database.
LINQ Language Integrated Query LINQ1. LINQ: Why and what? Problem Many data sources: Relational databases, XML, in-memory data structures, objects, etc.
Nick Application Development for the Universal Windows Platform MOB225.
FUNCTIONAL PROGRAMING AT WORK - HASKELL AND DOMAIN SPECIFIC LANGUAGES Dr. John Peterson Western State Colorado University.
ECE 750 Topic 8 Meta-programming languages, systems, and applications Automatic Program Specialization for J ava – U. P. Schultz, J. L. Lawall, C. Consel.
Введение в DLR UNETA 16 апреля, 2010 Иван Колодяжный, Software Developer Teamdev Ltd.
5th MaCS Debrecen On the Turing-Completeness of Generative Metaprograms Zoltán Porkoláb, István Zólyomi Dept. of Programming.
Visual Studio 2010 and.NET Framework 4 Training Workshop.
Run-Time Environments Presented By: Seema Gupta 09MCA102.
Computer System Structures
Part 1: Overview of LINQ Intro to LINQ Presenter: PhuongNQK.
/* LIFE RUNS ON CODE*/ Konstantinos Pantos Microsoft MVP ASP.NET
Chapter 5 Remote Procedure Call
Spark Presentation.
C# and the .NET Framework
.NET and .NET Core 9. Towards Higher Order Pan Wuming 2017.
C# Today and Tomorrow Mads Torgersen,
1.2 Key Concepts and Walkthroughs
LINQ & ADO.NET Entity Framework
.NET and .NET Core 8. WPF Hierarchy Pan Wuming 2017.
UNIT V Run Time Environments.
Presentation transcript:

Mads Torgersen, Microsoft

 Language INtegrated Query  An open multi-language query facility  Uses cool language stuff  Points into the future

 Declarative  More “what”, less “how”  Higher order functions  Type inference  Comprehensions  Metaprogramming  Expression trees

 Language neutral  Expressions now  Statements soon  Declarations and programs later?  Strongly tied to reflection now  Runtime independent later?

 API for efficient dynamic lookup  No special CLR (it’s the VM ) support  Caching via ETs and runtime code generation

 Call sites cache a delegate which does the dispatch  Slow path is (caller) language specific. Typically 1) Ask the receiver object if it wants to lookup 2) If not, use language binding rules on runtime type 3) Either way, return rule and meaning ETs 4) Patch up dispatch ET with new case 5) Compile ET and install in call site

 Dynamic languages and features  IronPython, IronRuby  Dynamic lookup in other languages?  Functional languages and features  F#  Mutability tracking? Pattern matching?  Parallelism  Plinq, Parallel Extensions and beyond  Metaprogramming  More compiler in APIs?  More API in compilers?

?