F# Shiva Srivastava David He Peter Bingel. Overview F# (pronounced "F sharp") is a functional and object oriented programming language for the Microsoft.NET.

Slides:



Advertisements
Similar presentations
.NET Technology. Introduction Overview of.NET What.NET means for Developers, Users and Businesses Two.NET Research Projects:.NET Generics AsmL.
Advertisements

Thomas Ball Microsoft Research. C# 3.0C# 3.0 Visual Basic 9.0Visual Basic 9.0 OthersOthers.NET Language Integrated Query LINQ to Objects LINQ to DataSets.
Windows Programming 1 Part 1 dbg --- Getting Acquainted with Visual Studio.NET and C#
By Neng-Fa Zhou Functional Programming 4 Theoretical foundation –Church’s -calculus expressions and evaluation rules 4 Characteristics –Single assignment.
Research Languages on the.NET Platform Nick Benton Microsoft Research, Cambridge UK.
The Microsoft’s solution for building cross-platform Rich Internet Applications.
Programming Languages Language Design Issues Why study programming languages Language development Software architectures Design goals Attributes of a good.
ISYS 512 Business Application Design and Development with.Net David Chao.
Kashif Jalal CA-240 (072) Web Development Using ASP.NET CA – 240 Kashif Jalal Welcome to week – 2 of…
Reasons to study concepts of PL
ISBN Chapter 1 Preliminaries. Copyright © 2004 Pearson Addison-Wesley. All rights reserved.1-2 Chapter 1 Topics Motivation Programming Domains.
ISYS 512 Business Application Design and Development with.Net David Chao.
Programming Languages Structure
What’s new in ASP.NET 3.5? Mike Ormond Developer & Platform Group Microsoft Ltd
Intro to C# Language Richard Della Tezra IS 373. What Is C#? C# is type-safe object-oriented language Enables developers to build a variety of secure.
ISBN Chapter 1 Topics Motivation Programming Domains Language Evaluation Criteria Influences on Language Design Language Categories Language.
Copyright © 1998 by Addison Wesley Longman, Inc. 1 Concepts of Programming Languages Chapter 1.
Creating and Running Your First C# Program Svetlin Nakov Telerik Corporation
Aptech Borivali(West) Hefin Dsouza. Agenda  What is.NET and What is Visual Studio? .NET Framework 3.5 Overview.  Visual Studio 2008 Enhancements. 
Platforms and tools for Web Services and Mobile Applications Introduction to C# Bent Thomsen Aalborg University 3rd and 4th of June 2004.
Object Oriented Software Development 1. Introduction to C# and Visual Studio.
From C++ to C#. Web programming The course is on web programming using ASP.Net and C# The course is on web programming using ASP.Net and C# ASP.Net is.
Python Introduction.
Windows Azure AppFabric Access Control Service (ACS) v.2 (Beta) Prerequisites.
CS 415: Programming Languages Chapter 1 Aaron Bloomfield Fall 2005.
© Paradigm Publishing Inc Chapter 12 Programming Concepts and Languages.
ISYS 350 Business Application Development
Introduction to Object-oriented Programming CSIS 3701: Advanced Object Oriented Programming.
Groovy WHAT IS IT? HOW DOES IT WORK? IS IT USEFUL?
ISYS 512 Business Application Design and Development with.Net David Chao.
Architecture of.NET Framework .NET Framework ٭ Microsoft.NET (pronounced “dot net”) is a software component that runs on the Windows operating.
Module 1: Introduction to C# Module 2: Variables and Data Types
F# Chris Mattera. Outline History of F# Resistance to F# Why use F#? Setting up Demonstration of F# F# for president 2008 F# takes over the world.
Session 1 - Introduction and Data Access Layer
Meir Botner David Ben-David. Project Goal Build a messenger that allows a customer to communicate with a service provider for a fee.
Creating and Running Your First C# Program Svetlin Nakov Telerik Corporation
CSC 494/594 C# and ASP.NET Programming. C# 2012 C# Object-oriented language with syntax that is similar to Java.
(1.1) COEN 171 Programming Languages Winter 2000 Ron Danielson.
COMPUTER PROGRAMMING Source: Computing Concepts (the I-series) by Haag, Cummings, and Rhea, McGraw-Hill/Irwin, 2002.
Chapter 1. Introduction.
C# Overview and Features. Content I.History of C# II.Architecture III.How to install IV.Features V.Code Sample VI.Microsoft.NET Platform VII.Why use C#
Programming Languages –14 David Watt (Glasgow) Steven Wong (Singapore) Moodle : Computing Science → Level 3 → Programming Languages 3 © 2012 David.
Programming language A programming language is an artificial language designed to communicate instructions to a machine,languageinstructionsmachine particularly.
Ch 1. A Python Q&A Session Spring Why do people use Python? Software quality Developer productivity Program portability Support libraries Component.
Copyright © 2007 Addison-Wesley. All rights reserved.1-1 Reasons for Studying Concepts of Programming Languages Increased ability to express ideas Improved.
C# AND ASP.NET What will I do in this course?. MAJOR TOPICS Learn to program in the C# language with the Visual Studio IDE (Interactive Development Environment)
ISYS 350 Business Application Development David Chao.
Getting Started with.NET Getting Started with.NET/Lesson 1/Slide 1 of 31 Objectives In this lesson, you will learn to: *Identify the components of the.NET.
Programming Languages
ISYS 512 Business Application Design and Development with.Net David Chao.
By: Chad Gallati, Melissa Plakyda, Jenny Wilkes References: /a-z_programming_languages_groovy/
Submitted by: Moran Mishan. Instructed by: Osnat (Ossi) Mokryn, Dr.
PowerBuilder is an integrated development environment (IDE) used to create applications. PowerBuilder 12.5 has good integration with the Microsoft.
JAVA TRAINING IN NOIDA. JAVA Java is a general-purpose computer programming language that is concurrent, class-based, object-oriented and specifically.
Intro to Programming STARS College of Communication and Information Florida State University Written by: Hannah Brock Alissa Ovalle Nicolaus Lopez Martin.
61% YoY Growth.NET Active Developers (VS 2012+) 40%.NET Core downloads by new developers 62% GitHub contributions from outside of Microsoft (corefx.
Programming Languages 2nd edition Tucker and Noonan
C# Diline Giriş.
Functional Programming
Part 1: Overview of LINQ Intro to LINQ Presenter: PhuongNQK.
CST 1101 Problem Solving Using Computers
DotNetSpider Editor Hefin Dsouza
Done By: Ashlee Lizarraga Ricky Usher Jacinto Roches Eli Gomez
Introduction Python is an interpreted, object-oriented and high-level programming language, which is different from a compiled one like C/C++/Java. Its.
1.1 Reasons to study concepts of PLs
Typescript Programming Languages
Web Development Using ASP .NET
Introduction to .NET By : Mr. V. D. Panchal Content :
Programming Languages 2nd edition Tucker and Noonan
Overview of Programming Paradigms
Presentation transcript:

F# Shiva Srivastava David He Peter Bingel

Overview F# (pronounced "F sharp") is a functional and object oriented programming language for the Microsoft.NET platformfunctionalobject oriented programming languageMicrosoft.NET A strength of F# is its setting within.NET The core language is similar to that of the Objective Caml language: both are members of the ML programming language family.Objective CamlML programming language Like the Scala programming language, it implements a functional programming language on top of a platform originally designed for object-oriented programming paradigm.Scala programming language The F# environment includes the ability to run interactive sessions, allowing users to run pieces of code at will, collecting and analyzing the results without having to compile whole programs.

Problem Domain The F# programming language has many applications ranging from scripting to cross-platform application development Ideal platform for scientific computing, filling the gap between low- level but high-performance numerical languages like Fortran and high-level but slow languages like MathematicaFortranMathematica Can be spawned from interactive sessions, giving F# the essential functionality of many expensive technical computing environments.

History F# was initially developed by Microsoft Research, but now is being developed by Microsoft developer division after it was announced on October 17, 2007 that F# will be productized as a fully integrated language in Visual Studio[1]. The latest released version, , was released on July 31, F# is derived from a series of different imperative and functional languages as are most modern languages (including Java and C). At the heart of F# lies Objective Caml, or OCaml, and the.NET language C#. So, let's leave it at this: F# is, in essence, another dialect, or "manifestation" as Microsoft calls it, of a functional ML-like language mixed with the power of C#.

Language Concepts interactive scripting like Python the foundations for an interactive data visualization environment like MATLAB the strong type inference and safety of ML easy access to the entire range of powerful.NET libraries and database tools The only language that is scripted/ functional /imperative/ object- oriented

Defining Variables let x = 3 + (4 * 5) let res = (if x = 23 then "correct" else "incorrect")

Hello World Program let x = "Hello World";; System.Console.WriteLine(x);;

Interesting features F# includes support for the foundational features of functional programming including tuples, lists, options, function values, local function definitions, pattern matching and sequence expressions. The powerful type inference mechanisms of F# allow code to be both succinct and yet fully type- checked. F# also includes support for advanced functional programming constructs such as active patterns and computation expressions. Computation expressions can be used to express data queries and client/server modalities in AJAX-style web programming. They enable programmers to write succinct and robust reactive agents through the use of asynchronous workflows. Computation expressions are related to ``monads'' in Haskell. F# embraces object-oriented programming and includes support for type-inferred, succinct descriptions of object types. F# allows types and values in an F# program to be accessed from other.NET languages in a predictable and friendly way. F# includes support for a form of meta-programming, inspired by LINQ. This allows data queries to be expressed and type-checked in F# code and then dynamically compiled and translated to target languages such as SQL using the LinqToSql framework. F# fully supports.NET generics and the language was designed partly with this in mind. Through.NET, F# supports advanced language and runtime features such as Unicode strings, dynamic linking, preemptive multithreading, and SMP support.

Comparison with OCML Some identifiers are now keywords. –null, inline Some operator names are used for quotations. – There are some minor parsing differences. –!x.y.z –!(x.y.z) –(!x).y.z. Two top-level definitions with the same name are not allowed within a module or a module type. –let x = 1 –let x = 3

F# Vs OCml

Similarities To Other Languages interactive scripting like Python, the foundations for an interactive data visualization environment like MATLAB, the strong type inference and safety of ML, a performance profile like that of C#, a foundational simplicity with similar roots to Scheme,

Sources Microsoft Wikipedia