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

September 2025

S M T W T F S
 1 2345 6
78 9 10 111213
14151617181920
21222324252627
282930    

Most Popular Tags

Page Summary

Style Credit

Expand Cut Tags

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