K
Size: a a a
K
DP
¿a = a. Чтобы понимать, что это просто поле... А потом уже уточнять тонкости.МБ
let. Это самый let меня в окамле/F# просто достал, в т.ч., ограничениями на рекурсию значений. Когда я через F# computation expressions пытался сделать http://hackage.haskell.org/package/base-4.12.0.0/docs/Control-Monad-Fix.html#v:mfix, я проклял всё. В итоге, использование того, что получилось, выглядело как месиво из функций, lazy/force и было невместно для демонстрации в приличном обществе.fix должны быть. Z-комбинатор, например. Понятное дело, что дословно очень тяжело переписывать.K
K
МБ
{a = a} признак того, что, возможно, в scope-ах не всё гладко.K
YS
{a = a} признак того, что, возможно, в scope-ах не всё гладко.VK
use?letлибо
import data.list as { use sort, use group }
sort (group [1,2,3,3,2,1])
letлибо, для ненавидящих пунктуацию
import data.list as list
list.sort (list.group [1,2,3,3,2,1])
let?
import data.list as module
use sort
use group
sort (group [1,2,3,3,2,1])
from math import *
МБ
let в конструкторы структур. По идее, сама структура нового scope не создаёт. И когда мы пишем {foo = a}, то foo - это не имя переменной (как в let), а имя функции доступа к полю. Вероятно, если хочется рекурсии, должно быть так: let x = {a = a x, foo = b}, или что-то в этом роде.МБ
K
from math import *
foo - такое себе удовольствие.МБ
K
let ... in {...exported-names}, для унификации let-блока и "объектов"МБ
K
МБ
K
import (
. "foo/bar"
)
K
K