metaclass: (Default)
[personal profile] metaclass
Scala - это Haskell в жабьей шкуре?

Если кложура сразу видна как лисп и не совсем мейнстримный язык, то скала замаскирована жабьей шкуркой от зоркого ока менеджеров, чтобы к тому времени, как до них дойдет, во что они вляпались - было уже поздно.

Язык знатно безумный, я почти Programming in Scala дочитал. И кое-какие вещи там сильно похожи на решение некоторых проблем с наследованием и зависимостями типов друг от друга, которых мне не хватало в дельфи и дотнетах :)

Date: 2013-01-15 11:54 pm (UTC)
From: [identity profile] isorecursive.livejournal.com
@ App :: (a :-> b) -> a -> Term b
А подразумевал
App :: (a :-> b) -> Term a -> Term b

, конечно.

@ class MkT a
@ b <- mkTerm
@ ...
Пока не представляю, что Вы хотели этим показать. С inventVar всё понятно - это такой gensym в state-монаде,
а вот mkTerm - это какой-то конструктор канонических термов для заданных типов.
Непонятно, как он поможет погружать хаскельные лямбда-абстракции в лямбда-абстракции подъязыка.
Даже пофантазировать на эту тему особо не получается, потому что ясно, что, например, для типа Double,
mkTerm будет возвращать какой-то один и тот же терм. Как, например, это соотносится с
test $ \x -> add x 0.5 -- > outputs Abs (Var "x") (Sum (Var "x") (Num 0.5))
test $ \x -> add (add x 0.5) 0.5 -- >  outputs Abs (Var "x") (Sum (Sum (Var "x") (Num 0.5)) (Num 0.5))

?
Похоже, что этот вот "MkT b => MkT (a -> b)" в "b <- mkTerm" вообще опирается исключительно на тип тела лямбда-абстракции. Как он будет погружать тело хаскельной лямбда-абстракции в подъязык, если он даже ничего о нём кроме типа не осознаёт? Для одного только типа тела Double у нас бесконечно разных термов, которые мы хотели бы погрузить в разные термы подъязыка.

Date: 2013-01-15 11:55 pm (UTC)
From: [identity profile] thesz.livejournal.com
У вас и в test неправильная сигнатура.

Date: 2013-01-16 12:58 am (UTC)
From: [identity profile] isorecursive.livejournal.com
Решить другую задачу и сказать, что постановщик ошибся в условии. Каков трюк!

Date: 2013-01-16 12:59 am (UTC)
From: [identity profile] thesz.livejournal.com
Ничем не могу помочь.

Profile

metaclass: (Default)
metaclass

April 2017

S M T W T F S
      1
2345678
9101112 131415
16171819202122
23242526272829
30      

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Sep. 14th, 2025 10:44 am
Powered by Dreamwidth Studios