Вниз  OwnLang
- 20.02.2016 / 18:57
aNNiMON
  Супервизор

aNNiMON 
Сейчас: Offline
Oak, я тебе и без бенчмарков скажу, что работает медленно. Корень рантайма - хэшмапы с переменными и функциями, это и тормозит работу.
В 20-30 раз медленнее питона. http://i.imgur.com/xz4viNd.png
__________________
 let live
- 20.02.2016 / 21:45
aNNiMON
  Супервизор

aNNiMON 
Сейчас: Offline
Вот примерчик запроса к API сайта и парсинга JSON.
  1. use "std"
  2. use "http"
  3. use "json"
  4. use "functional"
  5.  
  6. thread(::http, "http://annimon.com/json/forum/last_posts",
  7.     combine(::jsondecode, ::output))
  8.  
  9. def output(posts) {
  10.   // Сортируем от старых к новым
  11.   //posts = sortby(posts, def(p) = p.time)
  12.   // Либо по названию темы
  13.   posts = sortby(posts, def(p) = p.title)
  14.   foreach(posts, def(post) {
  15.     line = sprintf("%s: %s", post.user, post.title)
  16.     println line
  17.     println "-" * length(line)
  18.     println post.text + "\n"
  19.   })
  20. }

thread(::http, ... создаёт новый поток, в котором вызовет функцию http и передаст в неё остальные параметры:
  1. http("http://annimon.com/json/forum/last_posts", ...)
combine - комбинирует функции. Аналогично:
  1. def func(r) = output(jsondecode(r))
Выведет

__________________
 let live
- 21.02.2016 / 18:15
aNNiMON
  Супервизор

aNNiMON 
Сейчас: Offline
Добавил для ПК-версии модуль canvasfx, который взаимодействует с Canvas JavaFX.
Есть эффекты (тень, свечение, размытие и т.д.), полноценные события (мышь, клавиатура), векторные path, полигоны и т.д.

Этот код рисует такую вот вещь (взято отсюда).
  1. use "canvasfx"
  2. use "std"
  3.  
  4. def randomColor() = Color.rgb(rand(255), rand(255), rand(255), 0.9)
  5.  
  6. width = 800    height = 600
  7. window("JavaFX Rotation example", width, height)
  8. translate(width / 2, height / 2)
  9. for i = 0, i < 60, i++ {
  10.   rotate(6.0)
  11.   setFill(randomColor())
  12.   fillOval(10, 60, 30, 30)
  13.   setStroke(randomColor())
  14.   strokeOval(60, 60, 30, 30)
  15.   setFill(randomColor())
  16.   fillRoundRect(110, 60, 30, 30, 10, 10)
  17.   setFill(randomColor())
  18.   fillPolygon([105, 117, 159, 123, 133, 105, 77, 87, 51, 93],
  19.           [150, 186, 186, 204, 246, 222, 246, 204, 186, 186], 10)
  20. }

Постоянная ссылка на последнюю версию для ПК тут.
__________________
 let live
- 21.02.2016 / 18:17
HeWeD
  Пользователь

HeWeD 
Сейчас: Offline
Где учебные пособия по языку?
- 21.02.2016 / 18:20
Magatino
  Администратор

Magatino 
Сейчас: Offline
Где IDE для :nokia: ? :dum:

Изменено Magatino (21.02 / 18:21) (всего 1 раз)
- 21.02.2016 / 18:23
HeWeD
  Пользователь

HeWeD 
Сейчас: Offline
Magatino, Зачем? Яп же медленный.
- 21.02.2016 / 18:26
Magatino
  Администратор

Magatino 
Сейчас: Offline
Цитата HeWeD:
Magatino, Зачем? Яп же медленный.
Пусть оптимизирует :gg:
- 21.02.2016 / 18:29
HeWeD
  Пользователь

HeWeD 
Сейчас: Offline
Кстати, витек, это компилируемый или интерпретируемый яп?
- 21.02.2016 / 19:24
ДубоХирург
  Пользователь

ДубоХирург 
Сейчас: Offline
Цитата Magatino:
Где IDE для :nokia: ? :dum:
Кстати, если такое будет, заделитесь кодогенератором?
- 21.02.2016 / 19:47
kalterfive
  Пользователь

kalterfive 
Сейчас: Offline
Я не Витёк, но это интерпретатор.

А IDE для телефона зачем, если язык интерпретируется малость на другой джавке? =)
__________________
 Homo homini penis est.
Наверх  Всего сообщений: 594
Фильтровать сообщения
Поиск по теме
Файлы топика (60)