Oct. 26th, 2014

xacid: (Default)
Оригинал взят у [livejournal.com profile] novyj_swit в Звернення до вільного людства
Благородство!

Прошу небайдужих читачів, володіючих іноземними мовами, у коментарях написати переклад цього звернення на інші мови! За що дуже вдячний!

Боги (люди, які розуміють/знають/усвідомлюють себе частиною Абсолюту), прошу вас всіх пробачити росіян, які підтримують дії Путіна, та пробачити самого Путіна! Прошу вас, боги, проявити свою причетність до Абсолюту, припиненням опіру російській агресії! Прошу вас, боги, прийняти свободу вибору росіян та Путіна, як Абсолют приймає нашу свободу вибору! Прошу вас, боги, довести, що тіло ніщо, а головне Дух, який тимчасово мешкає в тілі, шляхом сприяння просування росіян за межі Російської Федерації! Прошу вас, боги, приймати чемно та шановно з терпінням та любов'ю ''ввічливих чоловічків'' та інших незваних гостей на вашій землі! Прошу вас, боги віддавати російським гостям навіть останнє, пам'ятаючи, що будь-яка істота - це частина Абсолюту, наша частина, частина нас! Прошу вас, боги, від щирого серця надавати росіянам допомогу, яка не протиречить заповітам Творця! Прошу вас, боги, спілкуватися з російськими гостями лише вашою рідною мовою й твердо усвідомлювати, що кожна істота має право на помилки! Прошу вас, боги, любити росіян як самих себе i тільки на рідній для вас мові! Пам'ятайте, боги, що Творець прагне вільної, а не примусової, любові до Себе! Любіть росіян як рідних малюків! Пам'ятайте, боги, що Абсолют прагне єдності та любові, й допомагає прагнучим до втілення Його Волі! Пам'ятайте, боги, що сила не в змушенні, а в любові! Пам'ятайте, що росіянин - це той, хто спілкується й пише російською на вашій землі! А в інших країнах самі спілкуйтеся мовами цих країн!

Там!


Запись сделана с помощью m.livejournal.com.


xacid: (Default)
как это уже известно, в хаскеле всё по умолчанию ужасно ленивое до такой степени что иногда, в редких к счастью случаях, приходится даже строго форсить вычисление (это в хаскеле так, понятно вобщем наверное :)

в скале же ситуация полностью наоборот противоположная - по умолчанию все вычисления строгие и привычные среднему интеллекту, но при остром желании конечно можно сделать вычисление достаточно ленивым с помощью некоторых нехитрых в принципе механизмов (это так в скале конечно же).

это вобще к чему я повторяю такие известные всем трюизмы? сравнительно недавно прочитал в списке рассылки такие вот примерно слова нашего уважаемого runarorama:

The problem with this kind of thing is almost always that something is too strict. In this case there are a few places where we are not quite lazy enough. One of those is the (,) Tuple2 constructor in unfold.

When we say (x, y) in Scala, both x and y are evaluated strictly, because this constructor is strict in both of its arguments.

A solution here is to use a lazy pair data type:

case class LazyPair[A,B](a: () => A, b: () => B)

ну и так далее (там дальше Рунар развивал эту тему, и правильно вобщемто делал). Мне с одной стороны это напомнило мои недавние развлечения с прямо противоположной задачей в хаскеле - нужно было сделать строгой операцию пары (,) которая в хаскеле как раз ленивая.

но в данном случае я хотел сказать немного другое (это всё было как бе предисловие). я вот о чем на досуге подумал както - а почему собственно нужно определять LazyPair? то есть вопрос собственно в том что если делать всё таким образом то получится нужно для каждого отдельного случая (структуры данных) определять отдельную ленивую версию. и действительно - я посмотрел scalaz и вижу что там много таких ленивых структур данных:

object LazyEither extends LazyEitherInstances with LazyEitherFunctions
object LazyEitherT extends LazyEitherTInstances with LazyEitherTFunctions with Serializable
object LazyOption extends LazyOptionInstances with LazyOptionFunctions with Serializable
object LazyOptionT extends LazyOptionTInstances with LazyOptionTFunctions with Serializable
object LazyTuple extends LazyTupleFunctions
object LazyTuple2 extends LazyTuple2Instances
object LazyTuple3 extends LazyTuple3Instances
object LazyTuple4 extends LazyTuple4Instances

с одной стороны конечно в этом возможно и есть какойто глубокий смысл, но с другой стороны а что если мне нужно еще что нибудь сделать ленивым? мне что полностью переопределять весь тип заново чтобы создать его ленивый вариант? а что если вместо этого просто определить следующий тип:

class Lazy[T](f: => T) {
  lazy val get = f
  def apply() = get
}
object Lazy {
  def apply[T](f: => T) = new Lazy(f)
}


и тогда например можно так написать (ну это только пример для аналогии с тем что Рунар показывал, думаю понятно конечно):
type LazyPair[A,B] = (Lazy[A],Lazy[B])

будет ли это чем нибудь плохо? ну есть конечно определенный недостаток - меняется тип: вместо просто T он становится уже Lazy[T]. но даже если считать это и недостатком (что еще не факт но допустим) то есть зато другое серьезное преимущество - мы можем делать ленивой вообще любую существующую уже в скале структуру данных. то есть мы можем произвольным образом в любой момент перейти от строгих вычислений к ленивым - и даже в типе данных этот факт будет отражен, что на самом деле может быть даже очень и полезно (факт отражения ленивости в типе).

написать что ли им об этом в это их спортлото?

это ж монада получается даже:
  implicit val m = new Monad[Lazy] {
    def point[A](a: => A) = Lazy(a)
    def bind[A, B](fa: Lazy[A])(f: A => Lazy[B]) = Lazy(f(fa())())
  }
xacid: (Default)
Оригинал взят у [livejournal.com profile] irena_mishina в "Русская дура".

Я редко езжу в метро, поэтому не помню, сколько стоят сейчас поездки - тем более, что стоимость их все время повышается. Сегодня мне надо было позарез воспользоваться метро, я опаздывать не могла. На станции "Славянский бульвар" я выбрала кассу, в которой практически не было народу. В окошке сидела азиатского вида женщина. Спросила, сколько стоят 4 поездки и 5 поездок. Ответа не получила. После этого  попросила на 5 и для верности показала 5 пальцев. Кассирша швырнула 2 талона и сдачу 40 рублей с двухсот. И тут черт меня дернул проверить эти брошенные мне талоны у валидатора. Дернул оттого, что на станции метро "Славянский бульвар" меня часто обсчитывали. То есть вместо талона на 2 поездки давали талон на 1, вместо 5  на 4. Оказалось, что восточная женщина продала мне талон не на 5 поездок, как я просила, а на 4. Подошла к ней снова и сказала, что она ошиблась. В ответ на меня обрушился поток брани, смысл которой был в том, что я сошла с ума и она менять мне ничего не будет, потому что талон на 4 и на 5 поездок стоят одинаково - 160 рублей, и вообще тут очередь.

Если бы кассирша не начала на меня кричать, я бы, наверное ушла. Но то, что меня обсчитали, а потом обругали, было как-то уж слишком. Я попросила вызвать начальника кассиров. А дальше произошло самое интересное. Восточная дама продолжала орать на меня, выкрикивая  "Дура, русская дура!", а начальница, вполне русская женщина лет 50-и, стояла рядом и защищала азиатскую кассиршу. В виде одолжения мне швырнули талон на 5 поездок , крикнув что-то оскорбительное.

Я подошла к дежурившей рядом девушке-милиционеру )

xacid: (Default)
Оригинал взят у [livejournal.com profile] vitaliiskoray03 в Влиятельные люди и "скорая"
Я уже делал записи, про разные социальные группы с которыми сталкивается фельдшер «скорой» медицинской помощи, выполняя свою работу: Бомжи и Цигане.
Сегодня пишу о людях, которые вызывают нас в богатые дома, ездят на очень дорогих машинах, работают в министерствах и "газпромах", заседают на депутатских собраниях, о тех кто имеют власть и деньги, о тех кто считает себя влиятельными людьми.

Read more... )

цирк

Oct. 26th, 2014 03:50 pm
xacid: (Default)
со всеми этими национальностями - не понимаю
дураки есть в любой национальности
каждый день вижу примеры

Profile

xacid: (Default)
xacid

April 2021

S M T W T F S
    123
45678910
11121314151617
18192021222324
252627282930 

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Jul. 28th, 2025 04:26 am
Powered by Dreamwidth Studios