Zmiinyi/Snake Island, in antiquity:
"Exactly over against this mouth there lies an island, situated opposite to the course of those who sail with a North wind. Some call this the island of Achilles; others call it the chariot of Achilles; and others Leuce, from its colour"
Exponentials still have the capacity to shock me.
If mass wearing of masks make just 0.01 shift in the spread per day, from say 1.22x to 1.21x, there would now be ~20% fewer cases (and ~20% fewer deaths) in the UK since March 12.
I had to double check that multiple times.
A farewell to Simon Peyton Jones as he leaves Microsoft Research
Subject: RE: New horizon
I would like to add a few words to what Chris has written. I know I am also speaking for Mads, the current lead designer of C# (cc’d)
I'm very happy to announce I'm joining
@GitHubNext
, an exciting and new applied research group within GitHub and DevDiv at Microsoft.
My work will remain as before - 50%+ as F# BDFL contributing to language and tools, and 50%+ applied research in programming technology.
On July 29th I'll be joined at .NET Conf F# Day by very special guest
@gvanrossum
, the world famous designer of Python
Guido's chosen topic is that I teach him F# from scratch! Daunting or what!?
Save the date and join in the fun :)
#fsharp
#python
It's really strange what nonsense people put up with in C#.
This business where expression results are implicitly discarded from statements is just insane in the 21st century. So much information loss just waiting to happen without even a warning.
F# 5.0 is out!
I'm thrilled where this release has landed - both the evolution of the language and it's place within the .NET 5.0, Jupyter/.NET Interactive and Javascript/Fable/WebSharper ecosystems!
Thanks to all who've contributed. Happy programming!
@yokoono
As the original designer of F#, and occasional bass player, I commend all musicians and programmers to heed Yoko's advice here, especially those working in C, C#, D, plus everyone else too :)
#fsharp
Email from headhunter listing "Applied Quantum Computing" as a "Core AI skill" for a company doing "advance research in Robotics and Blockchain". The convergence of all hypes has begun.
In 2018-19 I'm excited to be continuing my F# language design, compiler and tools work while on secondment from Microsoft Research to the Xamarin team mobile+cloud tooling team .
Very excited to announce: For the next 2 years, Don Syme
@dsyme
from Microsoft Research will be with the Xamarin team on an assignment to help us make F# better for mobile and cloud users. Don will be continuing his F# language design and compiler work as a major part of this.
@davidfowl
What you desire - the longings inside you - they are natural and good young man.
Banish these demons that torture you. Come forward, your future awaits.
Many people are saying "If the UK hadn't left the EU it would be leading the way on the response to the invasion of Ukraine"
No. If the UK was still in the EU it would have stalled action, bringing all our venal oligarch-powered corruption to bear, ensuring no coherent response
The full version of "Don Teaches Guido F#" is now available!
Last week I had the honour of spending 1.5h with
@gvanrossum
, the world-famous designer of
#Python
, teaching Guido some
#fsharp
web dev and talking language principles. A real highlight for me!
On MVP programs… The majority of people I see making major community contributions in .NET/C#/F# world are not MVPs. You people are amazing. Don't ever stop what you're doing please.
If you are a modern programmer, Simon PJ owns your mind.
The way we think about programming is the way Simon thinks about programming. Except where it isn’t, in which case we’re probably wrong, or you're in for a fascinating and robust conversation with the gentle man.
This is one of the best live coding F# talks I've ever seen, I just watched it in full and I'll watch it again. Recommended for anyone doing web/mobile/server/cloud
This sort of result should have been hammered into our collective consciousness throughout February and early March. Every little effective intervention, widely adopted, saves many, many lives.
This is a fantastic development in UI at Microsoft.
The "MVU" archiecture here is Functional Views over mutable models using mutable update - mVu not MVU to be honest. That should be clarified but is huge progress over the vast complexity of Xaml.
Check out the post by
@coolcsh
that talks about the unification of the .NET platform, bringing .NET Core & Mono/Xamarin together in one base class library and toolchain. Introducing .NET Multi-platform App UI (.NET MAUI)
#dotnet
#MSBuild
Read more here:
@davidfowl
It's not about me, it's about telling the history properly.
F# and C#'s contributions to lang design are just nodes in a long history - along with many, many others. Just nodes in a big graph of influence.
Nothing is sacred here. Nothing is genesis. All must be told properly.
I've been using git a long time and never done a 'git rebase'. I checkout, clean, fetch, merge, push, pull, reset, stash, stash apply, diff, log, that's about it.
Am I missing something?
Easy to say "monomorphization is awful and Rust should never have done it", harder to say "I want all generic functions to be compiled to bytecode and to embed a Rust interpreter in every binary".
Incredible! Consistent, performant portable tailcall helpers for all platforms supported by .NET Core - a wonderful collaboration by the worldwide .NET community in support of F# and .NET generally - by
@jakobbotsch
,
@janvorli
,
@jashook
@erozenfeld
et al
Join Microsoft, live and work in beautiful Prague, and be a leading F# open source community tooling contributor, helping others across the world to contribute to the compiler, library and tools, and help Microsoft deliver these at high quality to users
My fellow geeks, do you dream about your trade?
Last night I dreamt I was in a worldwide race to allocate the largest object possible. Someone had allocated a 1PB object using Lisp on a supercomputer, and three of us were holed up in a Cambridge PhD room trying to do better.....
"I don’t know what’s the deal — if F# is a monumentally awesome technology, or if it simply fits me perfectly, or if it’s created for these tasks specifically...at that moment I was sinking and I needed a lifeboat. Life threw me F# and I pulled out of it"
I'm happy to finally get this sorted out. List/array comprehensions in F# are fantastically expressive and have good perf already, and will now be beautifully fast.
I'm deeply impressed by the work done on F# 8 by the F# community as a whole, including the wonderful contributions by those working at Microsoft and other companies. A HUGE congratulations to everyone involved.
#fsharp
In case you missed today's
#AmplifyingFSharp
session on
#fsharp
v8, here's the recording:
Kudos to all presenters and participants. It was a great session.
I've been working on a note clarifying how F# computation expressions can be configured for both monad and comprehension syntax, and whether each case is "more expressive" (in some sense) than the Haskell do-notation and list comprehensions
Just to say "Get Programming with F#" is a fantastic book. Highly practical, well balanced, nicely presented, thoughtful, based on real world experience. Highly recommended
Did you know 'dotnet fsi' for F# script execution comes standard with every install of the .NET SDK?
So it's as easy as
dotnet fsi script.fsx
to run your F# scripts, including
#r
"nuget: ..." support to access nuget packages.
It seems from antibody tests that I've recently had covid, as have my whole immediate family of four. In truth we barely noticed. We've nine vaccine shots between us.
Vaccines are great, a modern miracle. I'm grateful.
An F# 5.0 design note - Rethinking applicatives in F#
Shout out to
@NickBlair
for his talk at
@FSharpLondon
giving both the simple and practical sample to help me write this, and
@ScottWlaschin
for his material on F# for Fun and Profit.
Fabulous - the F# MVU App framework - now has support for iOS, Android, macOS, GTK and WPF applications in its template. Get started with
dotnet new -i Fabulous.Templates
dotnet new fabulous-app -n CatApp --WPF --macOS --GTK
To achieve "herd immunity" of 60% by Oct the UK would need a running average of around 2.8mil cases (if active cases last ~2 weeks, 6 mo). That's a running average of 140,00-280,000 critical ICU cases (if ICU cases last ~2 weeks)
The UK has 4,000 ICU beds.
cc
@RoryStewartUK
Happy to say the F# type provider mechanism is now supported by .NET Sdk/.NET Core tooling, and (containing the most commonly used type providers) has been updated to use it
I love that the F# community are completing all the features the community always, always wanted, but which I equivocated and procrastinated over. Wonderful! 💯💯💯
@scottgu
Here is the draft design specification for C# Generics that I put out on the coffee table at
@MSFTResearch
in Cambridge in ~2002 for researchers to comment on, with some hand-written notes from Sir Tony Hoare, "RC" and "RS" (need to look up who they were! my memory is fading!)
My son and I went to the Trafalgar Sq rally in support of 🇺🇦 today.
Despite Mr Putin's promises I failed to find a single Nazi. There were 🇷🇺 opposing the war - very many of them - and Belarus, Poles, English, Scots, and almost every nation. But no promised Nazis 😪
@mikehadlow
I contributed to C# 2.0 and helped lay the foundations for C# 3.0-8.0 and I can safely say C# is not crap.
F# offers many advantages - including functional-first methodology,
@FableCompiler
and less-is-more simplicity.
Two great languages for the 21st Century ❤️
I wrote up some notes on "pattern matching on arbitrary objects" and why it's de-emphasized to do this directly in F#. Instead we want people to learn to write active patterns. This puts you on a smooth, trajectory to simpler, more readable code
#fsharp
#fsharp
people
One simple way to help F# is to help us fill in basic F# code samples for all the F# core library functions. These should have been done long ago, but let's do them now!
Here's an example of the sort of thing that needs to be added:
If you're into F# defining computation expressions and need to eliminate nearly all of their overheads for perf reasons, please follow along with and give it a try. Experimental wet paint warning.
#fsharp
folk - I'd like to highlight the work of Albert Du, () who is systematically adding F# samples to the core docs for .NET
For example, go to , set your language as F# top right and scroll down to choose examples
It's been a long time coming, but RFC FS1001 for string interpolation is now merged to master
RFC:
Many thanks to everyone who has contributed so far including Yatao Li () at MSR Asia and
@v2_matveev
way back to 2014 and others
If you'd like string interpolation in F#, please have a play with the rough prototype implementation of RFC-0001 I completed today, based on a community contributed starting point. Read the RFC for design.
The work done over the last two years by the
@amplifyfsharp
core group has been utterly amazing. I have so much respect for how Edgar, Florian, David and Jimmy have gone about OSS Community, contribution and engineering.
#fsharp
The thing is, that 0.01 difference accrues every single day, afresh - and slightly compounded too. Every day we do a small, effective intervention, we accrue it's life saving effect all over again. Every single day. All over again.
The F# community has had many members from Belarus over the years, including some of the most consistent and steadfast contributors to the community.
The safety of these people, their families and those of many others I've come to know over the years is in serious jeopardy.
Learned today!
"runtime" (n) is an environment required to run programs not compiled to machine code
"Run time" (n) is the time during which an application is running
"run-time" (adj) describes something occurring at run time, as in "a run-time error"
One of F#'s huge advantages is its approach to reducing and removing nulls. However, some can come from .NET types.
I've been making progress on the extra nullness checking for F# 5.0, and the prototype feature now applies to the F# compiler itself, see
The UK government Coronavirus dashboard is implemented in F# using Giraffe as the server-side implementation.
Great work by
@Pouriaaa
and team! Please give a talk on this at
@FSharpLondon
, and add a testimonial at .
#fsharp
#fsharp
folk - At the .NET Conf Focus Day on Jul 29 I'll be doing a session called "F# Community Bonanza"
If your company is using F# and would like us to potentially include a mention of you, including logo etc, please DM or reply and I'll follow up
"Enjoy your trip!" they said. "Have a great time in Australia!" they said.
7 days in isolation near Brisbane Airport ahead. And this after having had it already in December...
The F# Weekly is just such an amazing resource. There's so many names there I'm only just learning, so many things going on with F# that I had no idea about
@davidfowl
@relizarov
@MadsTorgersen
Lord what is this.
Some of the **actual** history, peer-reviewed, is in . As indicated there that only touches on the many strands of prior history.
"Launch your journey into .NET's functional-first programming language"
This online course is by
@kitlovesfsharp
, the author of "Stylish F#" and comes highly recommended!!
Just noticed that “F# From the Ground Up“ just passed 1000 students taught! In 72 countries! 🇺🇸🇬🇧🇩🇪🇵🇹🇧🇷🇨🇦🇮🇳🇳🇱🇸🇪🇦🇺🇩🇰🇵🇱🇺🇦🇳🇴🇫🇷🇷🇺🇿🇦🇨🇭🇮🇹🇲🇽
#fsharp
#csharp
#python
/
@udemy
The F# TypeProvider SDK now has a template for creating a basic type provider and packaging it for all F# tooling including .NET SDK. Please test it out and report problems
💯 this. Features Aren't The Measure Of Progress.
Adding an endless stream of garbage new features to your near-perfect sleek racing car when your team are powering along at high speed going where you want to go is not progress.
Why do we still talk about the "adding language features is required" thing in 2023... haven't we all figured out that our current way of language evolution is the correct choice like 8 years ago...
#fsharp
I'm at
#hopl
and here is a potted history of the addition of what I call "computational modalities" to C# and F# - these include addition of new syntactic forms like comprehensions, or "modal" reinterpretation of existing syntactic forms.
I am finalising the final version of "The Early History of F#"
If you feel there's anything else or anyone (including yourself!) I should have mentioned please drop me a message with context, facts and reference
I will also check
I want to thank Simon for his influence on my own work - again sometimes indirect - also for his limitless personal kindness, and everything he has brought to Microsoft. His charitable giving has been an inspiration to many, and he is a man of dignity.
This is really an excellent post
"5 features of C# that F# doesn't have. And why it doesn't need them."
Less is more, from one of the industry's best practitioners of grounded, practical and clear applied programming.
From my perspective he has been a hugely valued asset to the company and it is deeply sad to have to say goodbye. I look forward to having him as a colleague in the world of open source and hope that our paths cross often.
With greatest fondness and deepest respect
Don
SkillsMatter are back and I'm pleased to mention that F# Exchange is returning as an online event in 2020!
This will be a one day, one track event with content from across the F# community.
Slots are open - please contribute your proposals!
Today at 5pm GMT: "F# Compiler Office Hours" on the
@fsharporg
Slack channel . Once per week, for an hour, I'll be available to chat, answer technical questions, stare at code, triage issues, crack jokes, plan the revolution etc.
From the archives... my homage to Xavier Leroy and OCaml when very, very early versions of F# were first launched and noticed by the industry press in mid 2002:
"And I'm even more grateful to Xavier and the team for doing such a great job with OCaml over the years..." 1/7
Just hit that part of a scrappy POC project where my pile of hard coded crap needs to turn into a beautiful, refactored parallel swan with CLI and docs etc. Refactoring in
#fsharp
is almost joyful. You break everything and type system just makes your todo list for you.
A woman is free, her body is her own.
Women must have the right to choose what is right for them, and we must support them in these most personal of choices.
Before I ever programmed in a functional language, while still a student, I worked as a C and Prolog programmer on a set of tools called STATUTE for modelling and automating adminstrative law
STATUTE eventually became Oracle Policy Modelling now Oracle Intelligent Advisor today