Clojure или Scala?

apl13

Кто выиграет в соревновании по минимизации по матожиданию выпуклой комбинации двух интегралов на одной и той же машине: суммарного размера исходных файлов и времени выполнения вычислений?
Извините за неровный вопрос.

karkar

Scala

apl13

Спасибо.

apl13

Но это ты ведь говоришь, как человек, который умеет много монад.
А панки от функционального программирования чаще больше любят лисп.

yroslavasako

А панки от функционального программирования чаще больше любят лисп.
лисп нечист.

apl13

LISP IS UNHOLY ==> TRUE

karkar

Не, я из банальных соображений статика vs. динамика и откликов от пользующих те языки, кложа она в целом потормознее. А по лаконичности они близки должны быть.
панки от функционального программирования чаще больше любят лисп

На то они и панки - застряли в конце 70-х. Слушают себе Sex Pistols и пишут на лиспе. :)

Ivan8209

> На то они и панки - застряли в конце 70-х. Слушают себе Sex Pistols и пишут на лиспе.
Вам просили передать, что мы просто смеёмся над вами.
---
...Я работаю антинаучным аферистом...

Ivan8209

Недавно в сообщество ABCL пришёл человек, который что-то усиленно
ваяет с привлечением кофеина и прочих атрибутов. На вопрос, почему
он, собственно, так озабочен ABCL, ответил как-то в духе "потому
что я не готов бороться с Clojure."
---
...Я работаю антинаучным аферистом...

yroslavasako

когда я сравниваю работу питона со скалой, мне сильно не достаёт статической типизации в питоне. Причём не простых случае вроде утка - это то, что имеет метод duck, а типов высшего порядка, где duck должен работать с подтипом типа T и т.п.
Лисп - это как процедурный питон, только лаконичнее и нормальные лямбды, но скобки. Зато умеет в скрипты, а статическая скала их не поддерживает и вроде как не собирается

Ivan8209

> мне сильно не достаёт статической типизации
SBCL или Typed Racket не помогают?
---
...Я работаю антинаучным аферистом...

stm5872449

когда я сравниваю работу питона со скалой, мне сильно не достаёт статической типизации в питоне.
Ты про хинты для типов знаешь? Они конечно полноценную статическую типизацию не заменяют, но некоторые ошибки помогают ловить.

yroslavasako

Неплохо, но до скаловских имплиситов далеко.

apl13

В федоре скала как-то больно уж прекрасна:
$ scala
Welcome to Scala version 2.9.2-unknown-unknown (OpenJDK 64-Bit Server VM, Java 1.7.0_25).
Type in expressions to have them evaluated.
Type :help for more information.

scala> println("Hello, world!")
java.lang.IllegalArgumentException: !"): event not found
at jline.console.ConsoleReader.expandEvents(ConsoleReader.java:426)
at jline.console.ConsoleReader.finishBuffer(ConsoleReader.java:311)
at jline.console.ConsoleReader.readLine(ConsoleReader.java:1216)
at jline.console.ConsoleReader.readLine(ConsoleReader.java:1051)
at scala.tools.nsc.interpreter.JLineReader.readOneLine(JLineReader.scala:76)
at scala.tools.nsc.interpreter.InteractiveReader$class.readLine(InteractiveReader.scala:44)
at scala.tools.nsc.interpreter.JLineReader.readLine(JLineReader.scala:19)
at scala.tools.nsc.interpreter.ILoop.readOneLine$1(ILoop.scala:533)
at scala.tools.nsc.interpreter.ILoop.loop(ILoop.scala:550)
at scala.tools.nsc.interpreter.ILoop.process(ILoop.scala:822)
at scala.tools.nsc.MainGenericRunner.runTarget$1(MainGenericRunner.scala:67)
at scala.tools.nsc.MainGenericRunner.process(MainGenericRunner.scala:80)
at scala.tools.nsc.MainGenericRunner$.main(MainGenericRunner.scala:89)
at scala.tools.nsc.MainGenericRunner.main(MainGenericRunner.scala)

That entry seems to have slain the compiler. Shall I replay
your session? I can re-run each line except the last one.
[y/n]
Abandoning crashed session.

scala> println("WAT")
java.lang.IllegalArgumentException: !")println("WAT"): event not found
at jline.console.ConsoleReader.expandEvents(ConsoleReader.java:426)
at jline.console.ConsoleReader.finishBuffer(ConsoleReader.java:311)
at jline.console.ConsoleReader.readLine(ConsoleReader.java:1216)
at jline.console.ConsoleReader.readLine(ConsoleReader.java:1051)
at scala.tools.nsc.interpreter.JLineReader.readOneLine(JLineReader.scala:76)
at scala.tools.nsc.interpreter.InteractiveReader$class.readLine(InteractiveReader.scala:44)
at scala.tools.nsc.interpreter.JLineReader.readLine(JLineReader.scala:19)
at scala.tools.nsc.interpreter.ILoop.readOneLine$1(ILoop.scala:533)
at scala.tools.nsc.interpreter.ILoop.loop(ILoop.scala:550)
at scala.tools.nsc.interpreter.ILoop.process(ILoop.scala:822)
at scala.tools.nsc.MainGenericRunner.runTarget$1(MainGenericRunner.scala:67)
at scala.tools.nsc.MainGenericRunner.process(MainGenericRunner.scala:80)
at scala.tools.nsc.MainGenericRunner$.main(MainGenericRunner.scala:89)
at scala.tools.nsc.MainGenericRunner.main(MainGenericRunner.scala)

That entry seems to have slain the compiler. Shall I replay
your session? I can re-run each line except the last one.
[y/n]
Abandoning crashed session.

scala> println("WAT")
WAT

scala> exit
warning: there were 1 deprecation warnings; re-run with -deprecation for details

apl13

У меня создается впечатление, что авторы скалы в своей Швейцарии очень много пьют.
Вот, например, самое невинное, что можно найти в документации:
Changes in Version 2.3 (23-Nov-2006)
.......
Standard Types
The recommended names for the two bottom classes in Scala’s type hierarchy have
changed as follows:
All ==> Nothing
AllRef ==> Null
The old names are still available as type aliases.
Но это ладно, это еще в состоянии хоть какой-то но памяти написано. Просто такой программисты-шутят.
А вот:
The companion object for prefix maps:
.......
object PrefixMap extends {
.......
def newBuilder[T]: Builder[(String, T PrefixMap[T]] =
new MapBuilder[String, T, PrefixMap[T]](empty)
.......

Note that there is no newBuilder method defined in PrefixMap.
И действительно, только что был, а теперь вот нет!
Оставить комментарий
Имя или ник:
Комментарий: