LINUX.ORG.RU

Релиз Clojure 1.4

 , ,


1

2

Вышла новая версия языка программирования Clojure — современного диалекта Лиспа с поддержкой разработки в интерактивном режиме, поощряющего функциональное программирование и упрощающего поддержку многопоточности. Clojure работает на платформах JVM и CLR.

Среди изменений:

  • Расширяемая процедура чтения. Теперь разработчик может указывать функцию для чтения своих типов данных. Для этого необходимо указать метку для своего типа данных и соответствующую функцию чтения, которая будет вызвана после того, как следующая за меткой форма будет считана стандартным reader. Пример:
    #foo/bar [1 2 3] 
    ;;после чтения метки reader сначала считает форму [1 2 3], затем осуществит вызов процедуры, связанной с этой меткой, и передаст ей считанные данные.
    
  • Новый синтаксис для доступа к полям записей. Теперь можно писать так:
    (defrecord Foo [x]) ;=> user.Foo
    (.-x (Foo. 10)) ;=> 10
    
  • Возможность контролировать поведение компилятора, задавая опции в переменной *compiler-options*.
  • Исправлены некоторые ошибки.

>>> Полный список изменений

★★★★★

Проверено: mono ()
Последнее исправление: CYB3R (всего исправлений: 4)

Отлично. А то я только что скачал Clojure in Action. Кто нибудь может рассказать, как вообще язык, стоит того?

anonymous
()
Ответ на: комментарий от anonymous

Мне кажется кложура больше для тех кто знает/любит cl, чем для тех кто знает джаву и хочет получить мощь лиспа и фп.

loz ★★★★★
()
Ответ на: комментарий от loz

Нет нет. Ты не понял. Сейчас становится просто дико популярным направление связанное с big data. Такие языки как Scala/Clojure, просто созданы для того, чтобы их использовали в этой области. Но скала слишком сложна, а кложура вот в самый раз. Ребята из твиттера даже написали storm, аналог хадупа, только эта штука может обрабатывать «бесконечный» поток информации, в отличии от конечного «задания» для хадупа.

anonymous
()
Ответ на: комментарий от ymn

Рынок слишком перегрет. Оба языка так или иначе используются для веба, только первый для домашних страничек, а второй для транснациональных корпораций, т.н. энтепрайзный веб. А вот область big data еще мало освоена и тот, кто успеет туда попасть, будет очень обеспеченным человеком.

anonymous
()
Ответ на: комментарий от anonymous

как вообще язык, стоит того?

Нет. Сам подумай, «крутой» ЛИСП где сейчас используется? Вот в том же отверстии и Кложжжупе. :)
Но если тебе нравится программировать в стиле мастер Йода....... :))))

matumba ★★★★★
()
Ответ на: комментарий от anonymous

Но скала слишком сложна

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

RedPossum ★★★★★
()
Ответ на: комментарий от anonymous

Нет нет. Ты не понял. Сейчас становится просто дико популярным направление связанное с big data.

Похоже я не понял что ты из тех для кого популярность определяющий фактор.

loz ★★★★★
()
Ответ на: комментарий от anonymous

Сейчас становится просто дико популярным направление связанное с big data.

Опять местечковые революции? Какие биг дата, милейший! Весь мир держится на «ферме» и «ангри бёрдс». :))
Это конечно шутка, но не надо мир своей скорлупы распространять на остальное. «Мода» в ИТ - это развод для лохов, обычный же бизнес решает обычные проблемы - автоматизация и оптимизация.

matumba ★★★★★
()
Ответ на: комментарий от loz

Ты путаешь лисп и форт.

Форт я не видел вообще. А в лиспе точно по Йоде:

(сложить не хочешь ли ты «два» и «четыре»)

:)))

matumba ★★★★★
()
Ответ на: комментарий от buddhist

Была бы у него нативная версия...

...она была бы никому не нужна, потому что не было бы библиотек.

Но, возможно, будет версия для Python VM (и PyPy).

tailgunner ★★★★★
()
Ответ на: комментарий от matumba

На лиспе это скорее (when (не (хочешь 'ты (сложить «два» «четыре»))) ...), а вот на форте что-то типа «два» «четыре» сложить ты хочешь не if ...

loz ★★★★★
()
Ответ на: комментарий от anonymous

Ты не понял. Сейчас становится просто дико популярным направление связанное с big data.

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

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

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

anonymous
()
Ответ на: комментарий от anonymous

в скале с кложурой ничего нового и революционного нет. Все это уже десятилетями используется.

Где использовалась STM 20 лет назад?

tailgunner ★★★★★
()
Ответ на: комментарий от anonymous

То что тебе не повезло с ВУЗом и с дальнейшим трудоустройством - это твои личные половые трудности. Я очень сожалею что ты рассматриваешь такие языки как джава и шарп, орудие предназначено для клепание формочек.

anonymous
()
Ответ на: комментарий от tailgunner

в скале с кложурой ничего нового и революционного нет. Все это уже десятилетями используется.

Где использовалась STM 20 лет назад?

концептуально нового ничего нет. STM придумали 17 лет назад.

ymn ★★★★★
() автор топика

Тяжело ему прийдется, есть получше языки для JVM

vertexua ★★★★★
()
Ответ на: комментарий от ymn

STM придумали 17 лет назад.

Или даже раньше. Но меня удивило, что «используется десятилетиями» (т.е. не менее 20 лет). Может, ты знаешь, где именно используется?

tailgunner ★★★★★
()
Ответ на: комментарий от matumba

Хорош флуд разводить. Прочитайте «How to design programs» (Scheme) и «Practical Common Lisp», чтобы знать, о чём говорите; обе книги бесплатно доступны онлайн в HTML.

А в лиспе точно по Йоде

(+ 1 2) = сложить 1 и 2
Остальное - домыслы.

burjui
()
Ответ на: комментарий от anonymous

лисп на джаве! о боги, что может быть хуже?!

Пых на джаве?

anonymous
()
Ответ на: комментарий от tailgunner

с «используется десятилетиями» анон загнул конечно.

ymn ★★★★★
() автор топика
Ответ на: комментарий от anonymous

Ты наверное о тех владельцах бизнеса где кложурзики будут пахать обычной рабсилой?:)

r ★★★★★
()
Ответ на: комментарий от r

Ты наверное о тех владельцах бизнеса где кложурзики будут пахать обычной рабсилой?:)

Нафиг рабсила? Пару PhD достаточно будет. Это же не тысячу формочек в день штамповать на Java.

anonymous
()
Ответ на: комментарий от anonymous

Нафиг рабсила? Пару PhD достаточно будет.

Я про то что ты наверное думаешь что они будут получать что-то отличное от зарплаты?

r ★★★★★
()
Ответ на: комментарий от r

Я про то что ты наверное думаешь что они будут получать что-то отличное от зарплаты?

Я не тот аноним, я уже Clojure выучил :)

В стартапе будут. Меньше народу, больше кислороду.

anonymous
()
Ответ на: комментарий от anonymous

В американском. Там даже пехепешникам будут. А в нашем родном постсовецком ты одинаковая негра.

r ★★★★★
()
Ответ на: комментарий от anonymous

Scala я ещё сильно не смотрел. Clojure - Лисп, а это интерактивная разработка и метапрограммирование. После Common Lisp и Scheme осиливается в лёгкую.

Советую начать с первых трёх глав Practical Common Lisp, на досуге почитать эссе Пола Грэма и обсуждения с участием VSL.

А как на этом деньги зарабатывать, сам думай :)

anonymous
()

Теперь можно писать так:

(defrecord Foo [x]) ;=> user.Foo
(.-x (Foo. 10)) ;=> 10

Во это я понимаю! Это даже круче плюснутого 0xC++11 или как он там.

Xintrea ★★★★★
()
Ответ на: комментарий от fang

Исключительно для срачей на лоре он его использует.

Я бы с удовольствием, только вот настоящие срачи на ЛОРе закончились много лет назад. А нынешний детский лепет местных анимешников весьма скучен.

anonymous
()
Ответ на: комментарий от anonymous

Мне же деньги зарабатывать впоследствии а не кичиться тем, что я знаю CL.

Программист деньги зарабатывает головой, я не инструментом. Общелисп для просветления подходит лучше, ибо Ъ-вее.

mv ★★★★★
()
Ответ на: комментарий от mv

Там аппаратное расширени. И я знаю, что идеям STM уже более 20 лет, но первая практически используемая реализация, о которой я слышал - для Haskell, меньше 10 лет назад. Естественно, мне хочется узнать больше.

tailgunner ★★★★★
()
Ответ на: комментарий от anonymous

коммон лисп к функциональному программированию относистся слабо. по книгам: см. статью алекса отта в первом номере ПФП.

ymn ★★★★★
() автор топика
Ответ на: комментарий от tailgunner

Там аппаратное расширени.

Я бы не сказал, что там что-то особенное по сравнению с механизмами cache coherency в современных штеудах.

mv ★★★★★
()
Ответ на: комментарий от mv

Я бы не сказал, что там что-то особенное по сравнению с механизмами cache coherency в современных штеудах.

Особенно если «современный штеуд» - это Haswell :)

tailgunner ★★★★★
()
Ответ на: комментарий от tailgunner

Особенно если «современный штеуд» - это Haswell :)

У этого товарища хотят сделать внутренности межядерных/процессорных линков торчащими наружу. С когерентным кэшем волей-неволей TM изобретёшь.

mv ★★★★★
()
Ответ на: комментарий от mv

хотят сделать внутренности межядерных/процессорных линков торчащими наружу. С когерентным кэшем волей-неволей TM изобретёшь.

Я нифига не понял, но твои слова тронули мое сердце %) Речь об Intel TSX?

tailgunner ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.