Cambridge, MA
November 5, 2010
F# in Education
Workshop
F# in Academia
Going cross-platform with F# for MonoDevelop
Tomas Petricek
tomas@tomasp.net
http://tomasp.net/blog
F# doesn’t work
on Mac & Linux
F# doesn’t work well
on Mac & Linux
F# developer tools don’t work
on Mac & Linux
F# has great developer tools
on Mac & Linux
Introducing F# add-in
for MonoDevelop
F# in Academia
• Good cross-platform developer tools for F#
– Using cross-platform MonoDevelop IDE for Mono
– F# add-in provides IntelliSense and F# interactive
– Not aimed at large-scale business applications
• Demonstration – how can universities use F#?
– Teaching (functional) programming
– For statistics and data analysis
– Functional programming research
Teaching (functional)
programming with F#
F# for Teaching
• F# is a great language for teaching
– Practical functional programming
– Programming language concepts and principles
– Introducing computer programming
• Introduction to (functional) programming
– Solid and useful mathematical foundations
– Gives students practical experience
– Intriguing examples are a great motivation
Composing 3D objects in a
functional way
Demonstration
Processing scientific
data with F#
F# for Data Processing
• What makes F# great for working with data?
– Productive and efficient language
– F# Interactive environment
– Useful features such as units of measure
• Many scientists use F# already
– Genome sequencing, Machine learning
– Can be used on multiple platforms now…
Downloading and
analyzing stock data
Demonstration
Programming language
research with F#
F# for Language Research
• Building the open-source version of F#
– Release contains command line tools
– Integrates into MonoDevelop with no effort
– Auto-completion & tool-tips “just work”
• Examples of existing F# extensions
– Joinads: Language extension for reactive,
concurrent and parallel programming
– F7: Refinement Types for F#
Adding “joinads” to
F# in MonoDevelop
Demonstration
Functional Variations & Teaching
• Web sites for F# in Academia
– Teaching, Working, Research
– Home for the MonoDevelop plug-in
– Personal community project
• If you’re interested, please get in touch!
• Two addresses to remember
www.functional-teaching.net
www.functional-variations.net
Summary
• F# is a great language for Academia
– Consistent cross-platform feel with MonoDevelop
– Lightweight, but with all modern features
• Uses of F# in Academia
– Teaching (functional) programming
– Data analysis and statistics
– Programming language research
Links
Contact: Tomas Petricek
Mail: tomas@tomasp.net
Web: http://tomasp.net/blog
Get involved!
http://functional-variations.net
http://functional-teaching.net

Academia

  • 1.
    Cambridge, MA November 5,2010 F# in Education Workshop F# in Academia Going cross-platform with F# for MonoDevelop Tomas Petricek tomas@tomasp.net http://tomasp.net/blog
  • 2.
  • 3.
    F# doesn’t workwell on Mac & Linux
  • 4.
    F# developer toolsdon’t work on Mac & Linux
  • 5.
    F# has greatdeveloper tools on Mac & Linux Introducing F# add-in for MonoDevelop
  • 6.
    F# in Academia •Good cross-platform developer tools for F# – Using cross-platform MonoDevelop IDE for Mono – F# add-in provides IntelliSense and F# interactive – Not aimed at large-scale business applications • Demonstration – how can universities use F#? – Teaching (functional) programming – For statistics and data analysis – Functional programming research
  • 7.
  • 8.
    F# for Teaching •F# is a great language for teaching – Practical functional programming – Programming language concepts and principles – Introducing computer programming • Introduction to (functional) programming – Solid and useful mathematical foundations – Gives students practical experience – Intriguing examples are a great motivation
  • 9.
    Composing 3D objectsin a functional way Demonstration
  • 10.
  • 11.
    F# for DataProcessing • What makes F# great for working with data? – Productive and efficient language – F# Interactive environment – Useful features such as units of measure • Many scientists use F# already – Genome sequencing, Machine learning – Can be used on multiple platforms now…
  • 12.
  • 13.
  • 14.
    F# for LanguageResearch • Building the open-source version of F# – Release contains command line tools – Integrates into MonoDevelop with no effort – Auto-completion & tool-tips “just work” • Examples of existing F# extensions – Joinads: Language extension for reactive, concurrent and parallel programming – F7: Refinement Types for F#
  • 15.
    Adding “joinads” to F#in MonoDevelop Demonstration
  • 16.
    Functional Variations &Teaching • Web sites for F# in Academia – Teaching, Working, Research – Home for the MonoDevelop plug-in – Personal community project • If you’re interested, please get in touch! • Two addresses to remember www.functional-teaching.net www.functional-variations.net
  • 17.
    Summary • F# isa great language for Academia – Consistent cross-platform feel with MonoDevelop – Lightweight, but with all modern features • Uses of F# in Academia – Teaching (functional) programming – Data analysis and statistics – Programming language research
  • 18.
    Links Contact: Tomas Petricek Mail:tomas@tomasp.net Web: http://tomasp.net/blog Get involved! http://functional-variations.net http://functional-teaching.net