Skip to content

Commit

Permalink
Merge pull request fsharp#876 from dsyme/gh-pages
Browse files Browse the repository at this point in the history
simplify learning pages
  • Loading branch information
dsyme authored Jul 24, 2021
2 parents cbac78d + fa0b143 commit 8933886
Show file tree
Hide file tree
Showing 10 changed files with 31 additions and 172 deletions.
7 changes: 2 additions & 5 deletions _layouts/default.html
Original file line number Diff line number Diff line change
Expand Up @@ -59,9 +59,6 @@
<li>
<a href="/learn/index.html">Learn F#</a>
</li>
<li>
<a href="/teaching/index.html">Teach F#</a>
</li>
<li>
<a href="/docs">Documentation</a>
</li>
Expand All @@ -72,7 +69,7 @@
<a href="https://www.youtube.com/results?search_query=learn+f%23">Videos</a>
</li>
<li>
<a href="/teaching/research.html">Academic publications</a>
<a href="/teaching/research.html">Publications</a>
</li>
</ul>
</li>
Expand Down Expand Up @@ -126,7 +123,7 @@
<a href="/guides/mobile-apps">Mobile Apps</a>
</li>
<li>
<a href="/guides/web">Web Programming</a>
<a href="/guides/web">Web</a>
</li>
</ul>
</li>
Expand Down
4 changes: 2 additions & 2 deletions guides/cloud/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -84,7 +84,7 @@ Some additional resources for using F# and .NET on Amazon's AWS service:

[Docker](https://www.docker.io/) automates the deployment of applications inside [software containers](http://en.wikipedia.org/wiki/Operating_system%E2%80%93level_virtualization), by providing an additional layer of abstraction and automation of operating system–level virtualization on Linux.

F# is available by default in [the Docker official images for Mono](https://github.com/docker-library/official-images/blob/master/library/mono). There is also an [official Docker image for F#](https://hub.docker.com/r/fsharp/), [source](https://github.com/fsprojects/docker-fsharp).
F# is available in the [official Docker images for the .NET SDK](https://hub.docker.com/_/microsoft-dotnet-sdk).

### Scalable Distributed Programming and Messaging

Expand All @@ -100,7 +100,7 @@ The [F# Mailbox Processor](http://blogs.msdn.com/b/dsyme/archive/2010/02/15/asyn

#### Akka.NET

The [Akka.NET](http://akkadotnet.github.io/) framework is an open source toolkit and runtime for building highly concurrent, distributed, and fault-tolerant event-driven applications on .NET and Mono. It is used in production systems by its own contributors.
The [Akka.NET](http://akkadotnet.github.io/) framework is an open source toolkit and runtime for building highly concurrent, distributed, and fault-tolerant event-driven applications. It is used in production systems by its own contributors.

* [General information](http://akkadotnet.github.io/)

Expand Down
17 changes: 3 additions & 14 deletions guides/data-science/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,6 @@ effortlessly using .NET Core. Use .NET Interactive to build .NET Jupyter noteboo
* [Use Locally](https://github.com/dotnet/interactive/blob/master/docs/NotebooksLocalExperience.md)

* ![logo](../../images/thumbs/jupyter.png)&nbsp;[IfSharp](https://github.com/fsprojects/IfSharp) implements F# for Jupyter notebooks.
On Linux, Mono is used as the .NET implementation.

* [Getting Started](https://github.com/fsprojects/IfSharp#getting-started/)
* [Feature Notebook](https://github.com/fsprojects/IfSharp/blob/master/FSharp_Jupyter_Notebooks.ipynb)
Expand All @@ -57,8 +56,7 @@ On Linux, Mono is used as the .NET implementation.
maintains mathematical data structures like BigRational that originated in the F# PowerPack.
If a performance boost is needed, the managed-code provider backing its linear algebra routines
and decompositions can be exchanged with wrappers for optimized native implementations such as
Intel MKL. Supports Mono and .NET 4.0 on Linux, Mac and Windows. The portable version also SL5
and .NET for Windows Store apps.
Intel MKL.

License: MIT/X11

Expand Down Expand Up @@ -122,22 +120,14 @@ If a resource specific to F# can't be found, then search for C# instead and adju
## Commercial packages
{: #commercial-packages .anchor }

* [Alea GPU](http://www.aleagpu.com/) - a framework for
developing GPU-accelerated algorithms in F# on .NET and Mono.

Utilizing F# quotations and the
LLVM compiler it is able to compile GPU kernels on-the-fly and schedule them on one or
more nVidia GPU's. Advanced GPU features such as textures and shared memory are
supported. Available from [Quantalea](http://www.quantalea.net/).

* [ILNumerics](http://ilnumerics.net/) - an open- or closed-source library offering high-
performance numerical algorithms as well as charting and plotting capabilities.

The library is based on efficient, general-purpose array classes implementing vectors, matrices, and
n-dimensional arrays. Provided algorithms include standard linear algebra transforms,
a high-performance Fast Fourier Transform (FFT) library, and a collection of sorting
and machine learning algorithms. Plotting is based on OpenGL and supports both 2D and 3D
plots. ILNumerics supports .NET 4.0 as well as Mono (recommend 2.10 or above).
plots.

License: GPLv3 or commercial (paid) license.

Expand All @@ -149,8 +139,7 @@ If a resource specific to F# can't be found, then search for C# instead and adju
standard algorithms from matrix factorization, function optimization, numerical integration,
K-means clustering, and PCA (principal component analysis). Options are provided to run
using pure managed code for portability or to utilize highly tuned native code for
additional performance. Extreme Optimization supports .NET 3.5 and 4.0 (2.0 version
available) and execution on Mono.
additional performance.

* [NMath, NMath Stats](https://www.centerspace.net/nmath/) -
a suite providing core math and statistics functions.
Expand Down
2 changes: 1 addition & 1 deletion guides/web/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -147,7 +147,7 @@ It's heavily inspired by Elixir's [Phoenix](http://phoenixframework.org/).
#### ServiceStack
{: #service-stack .anchor }

[ServiceStack](https://servicestack.net/) is a framework for simple and fast web services on .NET and Mono.
[ServiceStack](https://servicestack.net/) is a framework for simple and fast web services on .NET.

<br />

Expand Down
6 changes: 3 additions & 3 deletions index.html
Original file line number Diff line number Diff line change
Expand Up @@ -58,9 +58,6 @@
<li>
<a href="learn/">Learn F#</a>
</li>
<li>
<a href="teaching/">Teaching F#</a>
</li>
<li>
<a href="docs/">Documentation</a>
</li>
Expand Down Expand Up @@ -147,6 +144,9 @@
<li>
<a href="https://community.fsharp.org/user_groups">Join User Groups</a>
</li>
<li>
<a href="https://community.fsharp.org/speakers">F# Speakers Program</a>
</li>
<li>
<a href="https://twitter.com/search?q=%23fsharp">F# on Twitter</a>
</li>
Expand Down
4 changes: 0 additions & 4 deletions sitemap.xml
Original file line number Diff line number Diff line change
Expand Up @@ -8,10 +8,6 @@
<loc>https://fsharp.org/testimonials/index.html</loc>
<priority>0.6</priority>
</url>
<url>
<loc>https://fsharp.org/teaching/index.html</loc>
<priority>0.6</priority>
</url>
<url>
<loc>https://fsharp.org/foundation/index.html</loc>
<priority>0.6</priority>
Expand Down
55 changes: 7 additions & 48 deletions teaching/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,57 +4,16 @@ title: Teaching F# | The F# Software Foundation
headline: Using F# for teaching
---

This page lists some resources for teaching F# in formal settings.

F# is a simple and expressive programming language. It can be described as statically typed
impure functional language that supports functional, imperative and object-oriented paradigm
and also several other programming styles including data-driven, event-driven and parallel
programming. This makes it an excellent tool for introducing programming as well as programming
paradigms. Using F# for teaching has several advantages:
#### [Teaching programming language concepts with F#](http://channel9.msdn.com/Tags/peter-sestoft)


* **Simplicity and mathematical elegance.** The functional paradigm allows starting with
very simple concepts and gradually introducing advanced programming techniques. The
language is theoretically well-founded, which helps students grasp many mathematical ideas.
It can be also used to introduce theories such as lambda calculus.

* **Real-world libraries.** When using the language, students have access to a wide range of
Mono and .NET libraries that can be easily used to create impressive and entertaining
applications. Learning how to use some of these libraries is also an important practical
skill valued by the industry.

* **Explorative, data-rich environment.** Thanks to a large number of libraries, it is easy
to load data from various data sources. F# Interactive and language features such as
units of measure make it easy to explore, analyze and structure the data. The data can
be visualized using several .NET cross-platform charting libraries as well as by calling gnuplot.

The F# compiler and tools are cross-platform and run using .NET on Windows and using Mono on
Mac OS and Linux. F# language is supported in several editors. Aside from the commercial Visual
Studio and JetBrains Rider tools, there is an F# mode for Emacs and open-source language binding for MonoDevelop.

<h2 id="video-lectures" class="anchor">Video lectures</h2>

* **[Teaching programming language concepts with F#](http://channel9.msdn.com/Tags/peter-sestoft)**
Peter Sestoft, IT University of Copenhagen, Denmark

This is a two-part video lecture by Peter Sestoft, professor from the IT University of Copenhagen,
Denmark. In the lecture, Peter introduces the curriculum, lecture plan and lecture notes
for the course "Programs as data" that uses the functional programming concepts in F# to
teach students language concepts and implemen­tation details.

* **[C9 Lectures - Introduction to F#](http://channel9.msdn.com/Shows/Going+Deep/C9-Lectures-Dr-Don-Syme-Introduction-to-F-1-of-3)**
Don Syme, Microsoft Research, Cambridge, UK

Three part series of introductory video lectures by Don Syme, the designer of the F#
language. Don introduces functional concepts such as functional data structures and pattern
matching, imperative features of F# as well as the F# object model.

* **[F# in Education](http://research.microsoft.com/en-us/events/fsharpined/)**
Peter Sestoft, IT University of Copenhagen, Denmark

F# in Education was a one-day workshop for educators and industrialists, held in Cambridge,
Massachusetts, U.S., on November, 2010. The workshop investigated F# as a possible teaching
language, as well as its use in industry. Developments in cross-platform issues were highlighted.

<h2 id="textbooks-for-teaching-f" class="anchor">Textbooks for Teaching F#</h2>
This is a two-part video lecture by Peter Sestoft, professor from the IT University of Copenhagen,
Denmark. In the lecture, Peter introduces the curriculum, lecture plan and lecture notes
for the course "Programs as data" that uses the functional programming concepts in F# to
teach students language concepts and implemen­tation details.

<a href="http://www.imm.dtu.dk/~mire/FSharpBook"><img src="files/fpbook.jpg" style="float:right;margin:15px;border-style:none;" /></a>

Expand Down
19 changes: 10 additions & 9 deletions teaching/research.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,18 +4,22 @@ title: F# Publications | The F# Software Foundation
headline: Publications related to F#
---

F# is about clarity of thinking and expression - "computational thinking made manifest" - and is loved by academics and researchers
for bringing clear, concise problem solving techniques developed in academia into practice.
F# is acts as an inspiration for thousands of
F# is about clarity of thinking and expression - "computational thinking made manifest" - and is loved by researchers
for bringing clear, concise problem solving techniques developed in academia into practice.
F# is acts as an inspiration for thousands of
students and researchers worldwide. Many standard F# features (including _active patterns_ and _asynchronous workflows_)
have been described in academic literature, and many
have been described in publications, and many
research projects build on top of F#.

<a href="http://blogs.msdn.com/b/dsyme/archive/2012/07/11/how-to-reference-for-f-in-a-research-paper.aspx">How to reference F# in a research paper</a>.

To add a paper to this list [edit this page](https://github.com/fsharp/fsfoundation/edit/gh-pages/teaching/research.md) and submit a pull request.

* **[F# Books](../learn/index.html#books)** - books about the F# language, including practical guides for using F# in practice.

* **[The F# Language - History and Design](#history)** - a publication
about the history and design of the F# language.

* **[Information-rich programming](#information-rich-programming)** - publications related to F# type providers, a novel mechanism
that integrates large-scale data into statically typed function programming language.

Expand All @@ -27,10 +31,6 @@ To add a paper to this list [edit this page](https://github.com/fsharp/fsfoundat
* **[Parallel, Distributed and Cloud programming](#distributed-and-parallel-programming)** - publications
related to parallel and distributed programming using F#.

* **[Functional programming](#functional-programming)** - publications
about core F# language features including _active patterns_ and intialization of
mutually recursive values.

* **[DSLs and Meta-programming](#dsls-and-meta-programming)** - publications related to DSL and
meta-programming in F#.

Expand All @@ -40,12 +40,13 @@ To add a paper to this list [edit this page](https://github.com/fsharp/fsfoundat

* **[Security and Verification Research](#security-and-verification-research)** - variations of F# and their use in security and verification research.

* **[Applications](#applications)** - publications and academic presentations describing applications of F#.
* **[Applications](#applications)** - publications and presentations describing applications of F#.


--------------

## The History of F#
{: #design .anchor }

### [The Early History of the F# Language](https://dl.acm.org/doi/pdf/10.1145/3386325)

Expand Down
6 changes: 3 additions & 3 deletions testimonials/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -1236,8 +1236,8 @@ With Units of Measure I started labelling the coordinates as one or zero based a
I am involved in bioinformatics and computational genomics as a faculty member at the
University of Nebraska Medical Center (UNMC). In an academic medical center like UNMC there
are heavy demands on my time and a wide range of different types of research projects that
I can end up working on. I have used the F# programming language on both the .NET and Mono
frameworks for several of these projects, including one that involved a very productive
I can end up working on. I have used the F# programming language
for several of these projects, including one that involved a very productive
collaboration with IntelliFactory and the use of WebSharper.
You can visit the resulting [web site](http://app1.unmc.edu/fgx) and read the freely
available peer-reviewed scientific publication that describes the important
Expand Down Expand Up @@ -1361,7 +1361,7 @@ Language features like record types, discriminated unions and type inference als

Vector code is a code generator for iOS and OsX generating code in Objective C, Swift and C#. It works with vector graphics, parses and runs SVG. It is developed with F# on a Mac.

F# is a first class language for Mac OsX. Thanks to the open source compiler, Mono and Xamarin, I was able to build a vector drawing, code generator software with F#. It is really amazing experience! The tooling is great and keeps improving. The compiler and the language are basically the same which is fantastic!
F# is a first class language for Mac OsX. Thanks to the open source compiler, I was able to build a vector drawing, code generator software with F#. It is really amazing experience! The tooling is great and keeps improving. The compiler and the language are basically the same which is fantastic!

F# is a powerful language and it is great to do cross platform development with it. I used heavily quotations for generating code in different languages on vector code. Powerful type system and static compilation meant that, once the application compiled without errors and warnings, it will just work and generate complete code. It did, and now at the App Store.

Expand Down
83 changes: 0 additions & 83 deletions use/freebsd/index.md

This file was deleted.

0 comments on commit 8933886

Please sign in to comment.