LINUX.ORG.RU

Clojure


70

1

Всего сообщений: 17

CIDER 1.0

CIDER 1.0
Группа Open Source

Вышла первая мажорная версия CIDER – cреды интерактивной разработки на языке Clojure в Emacs, аналогичной SLIME для Common Lisp.

Список изменений невелик, однако это очень важная веха в развитии проекта, который также начиная с этой версии переходит на SemVer.

( читать дальше... )

>>> Подробности

 , ,

Princesska
()

Clojure 1.9

Группа Java

Clojure 1.9 наконец-то вышел.

Версия 1.9 содержит две главные новые возможности — интеграция с spec и cli-утилиты.

spec — это библиотека для описания структур данных и функций с поддержкой валидации, деструктурирования, документации, отчета об ошибках, генерации тестовых данных и обобщенной генерации тестов.

spec интегрируется в Clojure через две новые библиотеки:

Такая модуляризация облегчает обновление spec независимо от релиз-цикла Clojure.

Инструменты командной строки предоставляют быструю и лёгкую установку, Clojure REPL (!!!), использование Maven и локальных зависимостей, функциональный API для управления classpath.

Полный список изменений можно найти тут.

>>> Оригинал новости

 , hickey,

slaykovsky
()

Clojure 1.8

Группа Open Source

Свершилось! Под бурные аплодисменты состоялся новый релиз этого замечательного языка.

Основные новшества:

  • Функции index-of, last-index-of, starts-with?, ends-with? добавлены в clojure.string.
  • Сокет-сервер с REPL
    -Dclojure.server.repl="{:port 5555 :accept clojure.core.server/repl}"
    
    $ telnet 127.0.0.1 5555
    Trying 127.0.0.1...
    Connected to localhost.
    Escape character is '^]'.
    user=> (println "hello")
    hello
    
  • Direct linking

Большое количество улучшений и исправлений

>>> А ещё у них обновился сайт :-)

 , ,

Debasher
()

ki - смешиваем Clojure и JavaScript

Группа Open Source
var nums = ki (take 6 (map (fn [x] (js x * 2)) (range 1000)));

Идёт разработка ещё одного языка программирования, транслируемого в JavaScript: ki. ki дополняет JavaScript приёмами функционального программирования и неизменяемыми структурами данных. На ki можно писать целые приложения, отдельные компоненты или просто функциональные «однострочники».

Синтаксис, семантика и структуры данных языка вдохновлены Clojure и ClojureScript.

>>> Подробности

 , ,

vi0
()

Релиз языка программирования Clojure 1.6

Группа Open Source

Состоялся очередной релиз функционального языка программирования с интеграцией в Java платформу, спроектированного для поддержки concurrency и базирующегося на Lisp — Clojure 1.6.

Основные изменения по сравнению с версией 1.5.1:

  • Генерация байткода для JDK версии 1.6 (ранее генерировался байт-код, совместимый с 1.5). Библиотека ASM обновлена до версии 4.1;
  • Добавлено API, упрощающее вызов Clojure-кода из Java и других JVM языков
  • Операция деструктурирования хеш-мапов стала еще удобнее;
  • Добавлен синтаксический сахар в виде операции (some? x), эквивалентной вызову (not (nil? x)), а так же if-some и when-some;
  • Новые алгоритмы хеширования для примитивов и коллекций;
  • Добавлена операция битового сдвига >>>;
  • Так же целый ряд улучшений и багфиксов.

>>> Подробности

 

Hrenomoto
()

Курсы по программированию на языке Clojure

Группа Интернет

3 марта 2014 года стартуют курсы про программированию на языке Clojure.

Предварительный план занятий:

  • Основы языка Clojure и инструменты работы с ним.
  • Интеграция с Java.
  • Параллельное программирование.
  • Метапрограммирование.
  • Доступ к данным (SQL и NoSQL).
  • Веб-приложение на Clojure.
  • ClojureScript для разработки Single-Page Application.

>>> Подробности

 ,

ymn
()

Встреча функциональных программистов в Санкт-Петербурге

Группа Конференции и встречи

25 октября в Санкт-Петербурге состоится очередная встреча функциональных программистов.

Темы докладов:

  • Обзор Clojure. Доклад рассматривает Clojure с практической точки зрения: основы синтаксиса, нужные утилиты и библиотеки, подводные камни. Предварительное знание Clojure не требуется.
  • Зачем нужны зависимые типы. В докладе будут рассмотрены теоретические аспекты систем зависимых типов на примере системы Мартина-Лёфа. Также будут даны примеры использования зависимых типов: изоморфизм Карри-Ховарда, вычисления во время компиляции, инварианты, проверяемые во время компиляции, безопасный printf.

Участие бесплатное. Необходима предварительная регистрация.

>>> Подробности

 , ,

ymn
()

Релиз Clojure 1.4

Группа Open Source

Вышла новая версия языка программирования 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*.
  • Исправлены некоторые ошибки.

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

 , ,

ymn
()

Анонс библиотеки Avout

Группа Open Source

Несколько дней назад вышла библиотека Avout он небезызвестной команды clojure/core. Библиотека представляет собой реализацию Distributed Software Transactional Memory. На сайте проекта доступна документация и примеры кода, исходный код самой библиотеки доступен на гитхабе и распространяется на условиях лицензии Eclipse Public License.

Напоминаю, что clojure - это современный диалект лиспа, поощряющий функциональный стиль программирования и упрощающий разработку многопоточных программ. Clojure работает на платформах JVM и CLR. Руководит разработкой языка Рич Хикки (Rich Hickey), который ранее трудился над javac.

>>> Подробности

 

ymn
()

JavaFX 2.0

Группа Java

После разработки, длившейся больше года, вышла вторая версия платформы для создания интернет-приложений JavaFX. Эта технология имеет давнишнюю историю: будучи созданной в 2007 году под названием «F3», успела претерпеть несколько релизов, а также поменять название и хозяев. Сегодняшний JavaFX - достойный ответ Oracle таким технологиям как Adobe AIR и Microsoft Silverlight. Это подразумевает быструю и эффективную 2D- и 3D-графику, использующую аппаратное ускорение; векторную анимацию, построенную на принципах keyframe и tweening; эргономичный набор виджетов; запуск как в браузере, так и через Java Web Start; возможность инсталляции в качестве desktop-приложения; возможность использовать современные мощные языки программирования.

Ключевым моментом версии 2.0 является то, что вся функциональность JavaFX доступна теперь в виде обычных Java API. Если раньше единственным языком для JavaFX являлся FXScript, то теперь платформа JavaFX открыта для всего спектра JVM-языков: Java, Scala, Groovy, JRuby, Jython, Clojure, Mirah, Fantom и другие; почетное место в списке занимает Visage - достойный наследник FXScript. Авторы JavaFX надеются, что этим списком будут удовлетворены сторонники даже самых экзотических тенденций в программировании. Остальные важные моменты релиза 2.0 вкратце перечислены ниже; подробнее ознакомиться с ними можно по ссылке.

( читать дальше... )

О выходе JavaFX 2.0 было объявлено вчера на конференции JavaOne'2011 в Сан-Франциско. Разработчики пообещали в скором времени открыть исходные тексты всей платформы JavaFX в рамках проекта OpenJDK. Помимо этого, были озвучены небезынтересные идеи касательно будущей Java 9, такие как реификация, оптимизация хвостовых вызовов, продолжения (continuations) и метаобъектный протокол (MOP).

В данный момент доступна стабильная версия под Windows, Developer Preview под Mac OS и альфа версия под Linux. Стабильная Linux версия ожидается в 2012.

>>> Подробности

 , , , , , ,

Kuka
()

Clojure 1.3

Группа Java

Состоялся релиз Clojure 1.3, динамического языка для JVM. Clojure можно использовать в проектах любого рода, при этом важной его особенностью является сочетание удобства скриптового языка с эффективностью многопоточного программирования. Как любой динамический язык, Clojure компилируется в байт-код для JVM непосредственно на этапе выполнения. В то же время Clojure является диалектом Lisp, предоставляя вам все преимущества функционального программирования.

Изменения в новой версии:

  • Монолитная система дополнений clojure-contrib.jar заменена на полностью модульную структуру, что позволяет, во-первых, не включать в готовые приложения код неиспользуемых библиотек, а во-вторых, иметь собственный цикл разработки для каждой отдельной библиотеки. При этом для обновления с Clojure 1.2 рекомендуется сначала обновить библиотеки, а затем уже обновиться до Clojure 1.3;
  • Улучшенная поддержка примитивов для арифметических расчетов;
  • Изменения в определении записей (defrecord) и типов (deftype);
  • Улучшена система оповещения об исключениях и ошибках;
  • Несколько новых функций в clojure.core, clojure.data, clojure.pprint, clojure.repl;
  • clojure.java.shell/sh теперь поддерживает в качестве источника данных объекты типов InputStream, Reader, File, byte[];
  • Поддержка Maven для компиляции и развертывания приложений;
  • Улучшения в плане производительности скомпилированных приложений;
  • Множество устраненных ошибок.

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

 , , ,

ins3y3d
()

Clojure 1.2

Группа Java

После 8 месяцев напряжённой работы вышла новая версия языка Clojure — 1.2. Clojure — Lisp'образный язык общего назначения, работающий на платформах JVM и .Net и отличающийся более функциональным подходом и специальными средствами для упрощения разработки параллельного кода.

В новой версии очень много изменений, из которых особо стоит отметить следующие:

  • Введены протоколы (protocols) и типы данных (datatypes), позволяющие создавать новые абстракции и полиморфные функции. При этом производительность гораздо выше, чем при использовании мультиметодов;
  • Расширена деструктуризация структур данных, о которой я уже писал;
  • В составе языка введено несколько новых пространств имен, функции которых были перенесены из clojure-contrib. Сюда относятся функции для работы со строками, repl, pretty printer, ввод/вывод Java, и т.д.;
  • Расширен набор функций для работы с последовательностями;
  • Добавлена поддержка аннотаций Java, что позволяет использовать соответствующий функционал различных фреймворков;
  • Много изменений, связанных с улучшением производительности кода;
  • Для указания метаданных теперь вместо #^ используется просто ^.

Статья Введение в Clojure была частично обновлена описанием новых возможностей (кроме протоколов, которые будут чуть позже).

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

 , , ,

ott
()

Новый номер журнала «Практика функционального программирования»

Группа Документация

Вышел в свет четвертый выпуск журнала «Практика функционального программирования». В новом номере опубликованы следующие статьи:

  • Лисп — абстракции на стероидах. Виталий Маяцких.
  • Clojure, или «Вы все еще используете Java? тогда мы идем к вам». Алекс Отт.
  • Пределы выразительности свёрток. Виталий Брагилевский.
  • Сечения композиции как инструмент бесточечного стиля. Денис Москвин.
  • Мономорфизм, полиморфизм и экзистенциальные типы. Роман Душкин.

Обсуждение номера и отдельных статей

>>> Новый номер в разных форматах

 , , , , ,

ott
()

Clojure 1.1

Группа Open Source

Вышла новая версия языка программирования Clojure. Clojure является динамически типизируемым и компилируемым языком общего назначения для JVM и CLR. Изменений много. Среди них:

  • поддержка примитивных массивов (primitive array generators)
  • chunked-последовательности
  • futures, предназначенные для асинхронных вычислений
  • promises для обмена данными между тредами
  • pre- и post условия для функций
  • новое пространство имён

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

>>> Подробности

 , ,

cab
()

Lisp завтрашнего дня это Clojure

Группа Java

Daniel Weinreb, "один из пяти" авторов книги Common Lisp: The Language, высказал свой прогноз относительно развития своего любимого инструмента. Он считает, что в будущем диалект Clojure вытеснит Common Lisp

>>> Подробности

 , , ,

Karapuz
()

Clojure 1.0

Группа Open Source

4 мая вышла версия 1.0 языка программирования Clojure, представляющего собой функциональный диалект Lisp для JVM. Язык впитал в себя идеи из Lisp, ML, Haskell.
Основные возможности языка

  • Динамическая типизация
  • полиморфизм времени исполнения (Runtime Polymorphism)
  • паралелизм (Concurrent Programming)
Эта версия позиционируется автором, как стабильная и содержит, в основном, багфиксы.

Сайт проекта

>>> Подробности

 , , ,

cab
()

Scala vs Clojure - чья возьмет?

Группа Java

Небезызвестные Daniel Spiewak и Stephan Schmidt обсуждают перспективы двух динамических языков платформы JVM, Scala Clojure и их перспективы стать "следующим языков платформы JVM после Java"

>>> Подробности

 , , ,

anonymous
()