Skip to content

Instantly share code, notes, and snippets.

@cartermp
Last active March 3, 2021 18:55
Show Gist options
  • Select an option

  • Save cartermp/6b91c3561c6a5efca4288dca37c15edc to your computer and use it in GitHub Desktop.

Select an option

Save cartermp/6b91c3561c6a5efca4288dca37c15edc to your computer and use it in GitHub Desktop.
Display the source blob
Display the rendered blob
Raw
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
@Kavignon

Kavignon commented Feb 13, 2020

Copy link
Copy Markdown

If you've used C#, you've likely foun use in nameof when doing things like logging or validating parameters to functions. It's now available as an intrinsic F# function.

You have a typo: should be 'found' instead of 'foun'

Other than that, thanks for the share! Your Jupyter NB is great :D

P.S I really like that we can finally reference a NuGet package from the interactive!

@cartermp

Copy link
Copy Markdown
Author

Thanks!

@nicolaiarocci

Copy link
Copy Markdown

Before, a built-in F# collection type may (or may not) through if you slice outside its bounds.

Should probably be throw.

@ArtemyB

ArtemyB commented Feb 14, 2020

Copy link
Copy Markdown

Features (so far):

  • Tolerant and consistent for lists, arrays, strings, 3D arrays, and 4d arrays

I suspect the word "slices" is missing there (so it should be: "Tolerant and consistent slices for lists, arrays, strings, 3D arrays, and 4d arrays").

@s952163

s952163 commented Feb 14, 2020

Copy link
Copy Markdown

Why is this a jupyter notebook? Noone uses it for F#. Can't it be markdown?

@s952163

s952163 commented Feb 14, 2020

Copy link
Copy Markdown

#r is great though

@goswinr

goswinr commented Feb 17, 2020

Copy link
Copy Markdown

Great news! Can I try this by building fsharp from master on https://github.com/dotnet/fsharp ? or another branch?

@spillsthrills

Copy link
Copy Markdown

Any performance improvements in the preview to look at?

@dharmaturtle

dharmaturtle commented Feb 18, 2020

Copy link
Copy Markdown

Why is this a jupyter notebook? Noone uses it for F#. Can't it be markdown?

I like using Jupyter for F#. Its cells allow for easily running a section of code vs F# scripts, where the options are selecting the code you want to run, or running the entire file.

Here's the youtube video of Phillip demoing it: https://www.youtube.com/watch?v=kKH8NzvtENQ&t=3057s

@cartermp

Copy link
Copy Markdown
Author

@goswinr yes, but Binder will be the easiest.

@spillsthrills There are performance improvements, but they're orthogonal to F# 5. We routinely do performance work, with a good set corresponding with the VS 16.5 release and another corresponding with the VS 16.6 release.

@amieres

amieres commented Feb 26, 2020

Copy link
Copy Markdown

There is a typo here:

Features (so far):
Tolerant and consistent for lists, arrays, strings, 3D arrays, and 4d arrays

it probably should say:

Tolerant and consistent slices for lists, arrays, strings, 3D arrays, and 4d arrays

These are fantastic improvements!

@cartermp

Copy link
Copy Markdown
Author

@amieres Thanks!

@anilmujagic

Copy link
Copy Markdown

#r "nuget" is definitely the one I'm looking forward to.

Without trying to diminish the work done by everyone involved, I'm wondering though are there more significant changes coming in v5.0?
The changes presented here don't feel like justifying the major version bump. It's more like incremental improvements similar to v4.5, 4.6, 4.7, which were very welcome of course (I love the anonymous records).

@cartermp

cartermp commented Mar 6, 2020

Copy link
Copy Markdown
Author

@anilmujagic Part of the challenge here is that no two developers share the same definition of what constitutes a major version bump. In addition to this, we're making FSharp.Core a .NET Standard 2.0-only component moving forward, and all new project templates in Visual Studio will be .NET SDK-style only (.NET Framework still supported, but no legacy project files). We're also planning on at least two more language features for F# 5. This is quite a lot more change than any of the 4.5/4.6/4.7 versions, hence the major version bump.

@anilmujagic

Copy link
Copy Markdown

Part of the challenge here is that no two developers share the same definition of what constitutes a major version bump.

I was secretly hoping that major version will bring Typeclasses :)

@SLAVONchick

Copy link
Copy Markdown

@cartermp Is there a way to specify source (e.g. MyGet) when using

#r "nuget: ..." 

?

@cartermp

Copy link
Copy Markdown
Author

@SLAVONchick we're planning on doing a #I "nuget:source" directive to specify that sort of stuff. probably by the next preview.

@SLAVONchick

Copy link
Copy Markdown

@cartermp Cool! Thanks!

@SLAVONchick

SLAVONchick commented Mar 3, 2021

Copy link
Copy Markdown

@cartermp Hello! I've read today about tooling improvements in VS 2019 16.9 Update and I was wondering, is it possible now to specify my own source while using #r "nuget: ..."? Thanks!

@cartermp

cartermp commented Mar 3, 2021

Copy link
Copy Markdown
Author

@SLAVONchick

Copy link
Copy Markdown

@cartermp Thank you! That’s great!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment