Feb. 25th, 2019

juan_gandhi: (Default)
1. If in your trait MyTrait you have val x: String = "This is my string", and refer this x from something that extends MyTrait, you can easily get AbstractMethodError during runtime. If you make it lazy val x..., it'll work. If you make it def x..., it'll work even better.

2. Similar things may happen if you extend a trait e.g. trait MyTrait[C] { val dom: C; def op(x: dom.X): String} and have
class Z[D] extends MyTrait[D] { 
  override def op(x: dom.X): String { println("hi") }
  def doit(z: dom.X) = { op(x)  }
}


and then have val sample = new Z[Int](){ override def op(x: dom.X): String { println("wow") }},
and then call sample.doit(42), you can have either AbstractMethodException or have the op called that is not defined in your instance.

3. The argument type of MyTrait.op(dom.X) is, according to reflection, is java.lang.Object.

The latter is kind of obvious, since, well, what is it. But it makes everything just fake.

And I wonder, is it Scala, is it JVM, or is it Curry Type System?

Fuck, in short.

дыбр

Feb. 25th, 2019 09:21 pm
juan_gandhi: (Default)
 Ну главная проблема у меня, что AbstractMethodError в моих скальных штуках проявляется почти случайным образом, и там, и там. Пока что не вижу правильного ответа. Обойти, конечно, можно, но это будет адхок. Не пора ли уже на Rust перекатываться.

В пятницу, договорились с Валерией, она докладывать будет, про линейную логику, на нашем семинаре. Это типа как-то связано, евпочя.

Французский надо бы сделать, сейчас уже почти полдесятого. Но я занят сортировкой заявок на доклады на одну там конференцию. Половина прекрасна, половина написана явно ебанатами, еще половина лохами, которые себя считают знатоками всего. Ну эх. А иной раз не определиться. A heauie svmmons lyes like lead vpon me - цитируя одного мертвого персонажа известной пьесы.

Это я обратно с работы ехал, так модерировал. Фильтровал базар.

Так, а что еще-то. Подруга наготовила всякой еды. Но она разбила чайный термос, и я привез ей новый, с двумя кнопками.

Ну ладно, план такой - сделать сейчас французский, потом потыкать в скальный код. 25 февраля 2019-го года. Чота я скалу немножко разлюбил, да. Аяяй. Нехорошо. Ну... ничто не вечно. Вон Женя Бурмако тоже положил, и пошел в Гугл делать "язык, подходящий для машинного лернинга". Вы будете смеяться, ха-ха-ха, новый язык - но это Женя Бурмако. https://xeno-by.livejournal.com У него есть vision. 


Profile

juan_gandhi: (Default)
Juan-Carlos Gandhi

November 2025

S M T W T F S
       1
23456 7 8
9 1011 12 1314 15
16171819202122
23242526272829
30      

Most Popular Tags

Page Summary

Style Credit

Expand Cut Tags

No cut tags
Page generated Nov. 19th, 2025 05:38 am
Powered by Dreamwidth Studios