OberonCore

Библиотека  Wiki  Форум  BlackBox  Компоненты  Проекты
Текущее время: Вторник, 15 Октябрь, 2019 02:55

Часовой пояс: UTC + 3 часа




Начать новую тему Ответить на тему  [ Сообщений: 2 ] 
Автор Сообщение
 Заголовок сообщения: The F# 2.0 Language Specification (RC)
СообщениеДобавлено: Четверг, 01 Апрель, 2010 08:16 

Зарегистрирован: Четверг, 12 Июль, 2007 23:18
Сообщения: 1982
Откуда: Узбекистан, Чирчик
Спецификация языка 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


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: The F# 2.0 Language Specification (RC)
СообщениеДобавлено: Четверг, 01 Апрель, 2010 16:17 
Модератор
Аватара пользователя

Зарегистрирован: Понедельник, 14 Ноябрь, 2005 18:39
Сообщения: 9147
Откуда: Россия, Орёл
Geniepro писал(а):
Илья Ермаков как-то восхищался этими самыми slice'ами в языке Go, вот никак не могу понять, что такого в этой фишке? Отрезки массива, что ли?


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

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


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 2 ] 

Часовой пояс: UTC + 3 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Вся информация, размещаемая участниками на конференции (тексты сообщений, вложения и пр.) © 2005-2019, участники конференции «OberonCore», если специально не оговорено иное.
Администрация не несет ответственности за мнения, стиль и достоверность высказываний участников, равно как и за безопасность материалов, предоставляемых участниками во вложениях.
Без разрешения участников и ссылки на конференцию «OberonCore» любое воспроизведение и/или копирование высказываний полностью и/или по частям запрещено.
Powered by phpBB® Forum Software © phpBB Group
Русская поддержка phpBB