OberonCore
https://forum.oberoncore.ru/

The F# 2.0 Language Specification (RC)
https://forum.oberoncore.ru/viewtopic.php?f=72&t=2506
Страница 1 из 1

Автор:  Geniepro [ Четверг, 01 Апрель, 2010 08:16 ]
Заголовок сообщения:  The F# 2.0 Language Specification (RC)

Спецификация языка F# обновилась:

HTML

PDF

Просматриваю методом случайного тыка, наткнулся на такие фишки:

6.5.7 Slice Expressions

Илья Ермаков как-то восхищался этими самыми slice'ами в языке Go, вот никак не могу понять, что такого в этой фишке? Отрезки массива, что ли? Так в "Адском программировании" это ещё описывалось:
А.Гавва писал(а):
4.1.5 Отрезки (array slices)
Для одномерных массивов Ада предусматривает удобную возможность указания нескольких последовательных компонент массива. Такая последовательность компонент массива называется отрезком массива (array slice).

В F#, правда, эти отрезки можно делать не только для одномерных массивов, но и для двумерных тоже. А как там у вас в Go?

6.5.8 Member Constraint Invocation Expressions

Ограничения на типы параметров функций, внешне похоже на утиную типизацию:
Код:
For example

let inline speak (a: ^a) =
    let x = (^a : (member Speak: unit -> string) (a))
    printfn "It said: %s" x

    let y = (^a : (member MakeNoise: unit -> string) (a))
    printfn "Then it went: %s" y

type Duck() =
    member x.Speak() = "I'm a duck"
    member x.MakeNoise() = "quack"

type Dog() =
    member x.Speak() = "I'm a dog"
    member x.MakeNoise() = "grrrr"

let x = new Duck()
let y = new Dog()
speak x
speak y

Outputs:

It said: I'm a duck
Then it went: quack
It said: I'm a dog
Then it went: grrrr

Автор:  Илья Ермаков [ Четверг, 01 Апрель, 2010 16:17 ]
Заголовок сообщения:  Re: The F# 2.0 Language Specification (RC)

Geniepro писал(а):
Илья Ермаков как-то восхищался этими самыми slice'ами в языке Go, вот никак не могу понять, что такого в этой фишке? Отрезки массива, что ли?


Всё бы Вам про высокоуровневые рюшки. :)

Слайс в Go - это двоичная область памяти, границы которой проверяются. Системное (практически машинное, если б процы лучше были) понятие.

Страница 1 из 1 Часовой пояс: UTC + 3 часа
Powered by phpBB® Forum Software © phpBB Group
https://www.phpbb.com/