Skip to content

Commit 158077f

Browse files
author
Don Syme
committed
simplification
1 parent 7cd3cbb commit 158077f

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

55 files changed

+64
-286
lines changed

_layouts/default.html

+1-4
Original file line numberDiff line numberDiff line change
@@ -57,10 +57,7 @@
5757
<a href="#" class="dropdown-toggle" data-toggle="dropdown">Learn <b class="caret"></b></a>
5858
<ul class="dropdown-menu">
5959
<li>
60-
<a href="/about/index.html">About F#</a>
61-
</li>
62-
<li>
63-
<a href="/about/learning.html">Learning F#</a>
60+
<a href="/learn/index.html">Learning F#</a>
6461
</li>
6562
<li>
6663
<a href="https://fsharp.github.io/fsharp-core-docs/">API Docs</a>

about/index.md

-45
This file was deleted.

videos/1.md archive/videos/1.md

videos/10.md archive/videos/10.md

videos/11.md archive/videos/11.md

videos/12.md archive/videos/12.md

videos/13.md archive/videos/13.md

videos/14.md archive/videos/14.md

videos/2.md archive/videos/2.md

videos/3.md archive/videos/3.md

videos/4.md archive/videos/4.md

videos/5.md archive/videos/5.md

videos/6.md archive/videos/6.md

videos/7.md archive/videos/7.md

videos/8.md archive/videos/8.md

videos/9.md archive/videos/9.md

File renamed without changes.

build.fsx

+1-1
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ let site = "_site"
2828
let port = 8080
2929

3030
/// Directories that should be copied to the output directory
31-
let dirsToCopy = [ "css"; "img"; "js"; "about/files" ]
31+
let dirsToCopy = [ "css"; "img"; "js"; "learn/files" ]
3232

3333
/// Directories and files that should be skipped (when looking
3434
/// for source files)

index.html

+5-113
Original file line numberDiff line numberDiff line change
@@ -58,9 +58,6 @@
5858
<li class="dropdown">
5959
<a href="#" class="dropdown-toggle" data-toggle="dropdown">Learn <b class="caret"></b></a>
6060
<ul class="dropdown-menu">
61-
<li>
62-
<a href="/about/">About F#</a>
63-
</li>
6461
<li>
6562
<a href="/learn/">Learning F#</a>
6663
</li>
@@ -85,9 +82,6 @@
8582
<li>
8683
<a href="/testimonials/">Testimonials</a>
8784
</li>
88-
<li>
89-
<a href="/videos/1">Videos</a>
90-
</li>
9185
<li>
9286
<a href="/teaching/research.html">Publications</a>
9387
</li>
@@ -244,7 +238,7 @@
244238
<div style="height: 10px;"></div>
245239
</div>
246240
<div class="col-lg-7 col-md-pull-5">
247-
<p class="lead">F# is a mature, open source, cross-platform, functional-first programming language. It empowers users and organizations to tackle complex computing problems with simple, maintainable and robust code.</p>
241+
<p class="lead">F# - Succinct, Performant, Robust.</p>
248242
<div class="text-left hidden-xs" id="social-btns">
249243
<a href="https://twitter.com/fsharporg" target="_blank" class="btn btn-social btn-default btn-circle"><img src="/img/Twitter.png" alt="F# Twitter" /></a>
250244
<a href="http://www.facebook.com/fsharp.org" target="_blank" class="btn btn-social btn-default btn-circle"><img src="/img/Facebook.png" alt="F# Facebook" /></a>
@@ -265,115 +259,18 @@
265259
<div class="container featured">
266260
<div class="row">
267261
<div class="col-md-4">
268-
<p class="featured">F# runs on Linux, Mac OS X, Android, iOS, Windows, GPUs, and browsers. It is free to use and is open source under an OSI-approved license. </p>
262+
<p class="featured">Free to use, cross-platform and open source.</p>
269263
</div>
270264
<div class="col-md-4">
271-
<p class="featured">F# is used in a wide range of application areas and is supported by both an active open community and industry-leading companies providing professional tools.</p>
265+
<p class="featured">The <b>succinctness</b> of Python with the <b>performance</b>> and <b>robustness</b> of C# and Java.</p>
272266
</div>
273267
<div class="col-md-4">
274-
<p class="featured">The mission of the F# Software Foundation is to promote and advance the F# programming language, including a diverse and international community of F# programmers.</p>
268+
<p class="featured">Professional tooling from major companies.</p>
275269
</div>
276270
</div>
277271
</div>
278272
</section>
279273

280-
<!--
281-
282-
<section class="home-section">
283-
<div class="container featured">
284-
<div class="row wow animated fadeIn">
285-
<ul class="nav nav-tabs nav-tabs-big hidden-xs" role="tablist">
286-
<li class="active"><a href="#concise" role="tab" data-toggle="tab">Concise</a></li>
287-
<li><a href="#correct" role="tab" data-toggle="tab">Correct</a></li>
288-
<li><a href="#concurrent" role="tab" data-toggle="tab">Concurrent</a></li>
289-
</ul>
290-
<ul class="nav nav-tabs visible-xs-block" role="tablist">
291-
<li class="active"><a href="#concise" role="tab" data-toggle="tab">Concise</a></li>
292-
<li><a href="#correct" role="tab" data-toggle="tab">Correct</a></li>
293-
<li><a href="#concurrent" role="tab" data-toggle="tab">Concurrent</a></li>
294-
</ul>
295-
296-
<div class="tab-content">
297-
<div class="tab-pane fade in active" id="concise">
298-
<div class="row">
299-
<div class="col-md-6">
300-
<p>F# is not cluttered up with coding "noise" such as curly brackets, semicolons and so on.</p>
301-
</div>
302-
<div class="col-md-6">
303-
<pre><code class="fsharp">// one-liners
304-
[1..100] |> List.sum |> printfn "sum=%d"
305-
306-
// no curly braces, semicolons or parentheses
307-
let square x = x * x
308-
let sq = square 42
309-
310-
// simple types in one line
311-
type Person = {First:string; Last:string}
312-
313-
// complex types in a few lines
314-
type Employee =
315-
| Worker of Person
316-
| Manager of Employee list
317-
318-
// type inference
319-
let jdoe = {First="John";Last="Doe"}
320-
let worker = Worker jdoe</code></pre>
321-
</div>
322-
</div>
323-
</div>
324-
<div class="tab-pane fade" id="correct">
325-
<div class="row">
326-
<div class="col-md-6">
327-
<p>F# has a powerful type system which prevents many common errors such as null reference exceptions.</p>
328-
</div>
329-
<div class="col-md-6">
330-
<pre><code class="fsharp">// strict type checking
331-
printfn "print string %s" 123 //compile error
332-
333-
// all values immutable by default
334-
person1.First &lt;- "new name" //assignment error
335-
336-
// never have to check for nulls
337-
let makeNewString str =
338-
//str can be concatted safely
339-
let newString = str + " new!"
340-
newString
341-
342-
// embed business logic into types
343-
emptyShoppingCart.remove // compile error!
344-
345-
// units of measure
346-
let distance = 10&lt;m&gt; + 10&lt;ft&gt; // error!</code></pre>
347-
</div>
348-
</div>
349-
</div>
350-
<div class="tab-pane fade" id="concurrent">
351-
<div class="row">
352-
<div class="col-md-6">
353-
<p>F# has a number of built-in libraries to help when more than one thing at a time is happening. Asynchronous programming is very easy, as is parallelism. F# also has a built-in actor model, and excellent support for event handling and functional reactive programming.</p>
354-
</div>
355-
<div class="col-md-6">
356-
<pre><code class="fsharp">// easy async logic with "async" keyword
357-
let! result = async {something}
358-
359-
// easy parallelism
360-
Async.Parallel [ for i in 0..40 ->
361-
async { return fib(i) } ]
362-
363-
// message queues
364-
MailboxProcessor.Start(fun inbox-> async {
365-
let! msg = inbox.Receive()
366-
printfn "message is: %s" msg
367-
})</code></pre>
368-
</div>
369-
</div>
370-
</div>
371-
</div>
372-
</div>
373-
</div>
374-
</section>
375-
-->
376-
377274
<section class="home-section light-gray">
378275
<div class="container featured">
379276
<div class="">
@@ -383,9 +280,7 @@ <h2 class="text-center section-header">Getting Started</h2>
383280
<div class="col-md-6">
384281
<h3><span class="glyphicon glyphicon-pencil"></span> Learn</h3>
385282
<ul class="">
386-
<li>Read <a href="/learn/index.html" onclick="_gaq.push(['_trackEvent', 'home-learn', 'clicked', 'books'])">F# books and tutorials</a></li>
387-
<li>Read the <a href="/about/index.html#documentation" onclick="_gaq.push(['_trackEvent', 'home-learn', 'clicked', 'documentation'])">documentation</a></li>
388-
<li>Watch <a href="/videos/1" onclick="_gaq.push(['_trackEvent', 'home-learn', 'clicked', 'videos'])">F# videos</a></li>
283+
<li>Read <a href="/learn/index.html" onclick="_gaq.push(['_trackEvent', 'home-learn', 'clicked', 'books'])">Learn F#</a></li>
389284
</ul>
390285
</div>
391286
<div class="col-md-6">
@@ -481,9 +376,6 @@ <h2 class="text-center section-header"><a href="https://foundation.fsharp.org/sp
481376
<div class="col-md-4">
482377
<img class="center-block img-responsive carousel-img" src="/img/sup/fsharpworks.png" alt="fsharpWorks" />
483378
</div>
484-
<div class="col-md-4">
485-
<img class="center-block img-responsive carousel-img" src="/img/sup/jet.png" alt="Jet" />
486-
</div>
487379
<div class="col-md-4">
488380
<img class="center-block img-responsive carousel-img" src="/img/sup/prolucid.png" />
489381
</div>
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.

0 commit comments

Comments
 (0)