LINUX.ORG.RU

Red/System v0.2.3

 , , , , , , , ,


0

1

В рамках разработки опенсорсной ОС Syllable создан еще один новый язык программирования, на этот раз компилируемый в ELF. В версии 0.2.3 доступной с сайта http://www.red-lang.org/ появилась поддержка процессоров архитектуры ARMv5+

Прототипом Red/System стал ЯП Rebol.
Создатели планируют доделать компилятор Red не только в формат x86 и ARM c Linux, но и в байткод ВМ таких как JVM, Dalvik and .Net.

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

★★★★★

Проверено: Shaman007 ()

я даже не знаю, что сказать, но запостить хочется.

Еще один покойник?

mikhalich ★★ ()

Вау, новый язык программирования!

thesis ★★★★★ ()

Я так понял, это HelloWorld:

Red/System [
Title: "Red/System small demo app"
Author: "Nenad Rakocevic"
File: %hello.reds
Rights: "Copyright (C) 2011 Nenad Rakocevic. All rights reserved."
License: "BSD-3 - https://github.com/dockimbel/Red/blob/master/BSD-3-License.txt"
]

#either OS = 'Windows [
#import [
"kernel32.dll" stdcall [
SetConsoleTextAttribute: "SetConsoleTextAttribute" [
handle [integer!]
attributes [integer!]
return: [integer!]
]
]
]

set-pen-color: func [color [integer!]][
SetConsoleTextAttribute stdout color
]

black: 0
blue: 1
green: 2
red: 4
][
set-pen-color: func [color [integer!]][
either color = white [
print "^[[0m"
][
print [
"^[[" either color >= 7 [1][0] ";3"
color and 7 "m" ;-- mask only right 3 bits for color
]
]
]

black: 0
red: 1
green: 2
blue: 4
]

cyan: blue or green
magenta: blue or red
yellow: green or red
white: blue or green or red

light-blue: blue or 8
light-green: green or 8
light-red: red or 8

print-logo: does [
set-pen-color light-red
print "R"
set-pen-color white
print "ed"
]

draw-hline: func [size [integer!] alt [integer!] /local c [integer!]][
c: size ;-- local variable is not necessary, just for the demo
until [
either positive? alt [ ;-- print * and - alternatively
alt: either alt = 1 [
print "*"
2
][
print "-"
1
]
][
print "-" ;-- print - only
]
c: c - 1
zero? c
]
print newline
]

draw-vline: does [print "|"]

pad: func [n [integer!]][
while [n > 0][print space n: n - 1] ;-- could have used UNTIL, just for the demo
]

banner: func [width [integer!]][
draw-hline width 1
draw-vline
pad (width - 16) / 2 - 1
print "Hello "
print-logo
print " World!"
pad ((width - 16) / 2) - 1 ;-- just showing nested parenthesis support
draw-vline
print newline
draw-hline width 0
]

print-logo
print ["/System v0.2.3 beta" lf lf]

size: 20
until [
banner size
size: size + 2
size = 40
]
Bad_ptr ★★★★ ()

http://www.red-lang.org/p/about.html

Red is a new programming language, strongly inspired by REBOL. Main characteristics are:

  • Functional, imperative and symbolic
  • Prototype-based object support
  • Homoiconic (Red is its own meta-language)
  • Both statically and JIT-compiled to native code
  • Concurrency and parallelism strong support (actors, parallel collections)
  • Low-level system programming abilities through the built-in Red/System DSL
  • High-level scripting and REPL console support
  • Highly embeddable
  • Low memory footprint, garbage collected
  • Low disk footprint (< 1MB)
Manhunt ★★★★★ ()

Любопытно... Посмотрим, как оно будет.

lmtea ()

Прототипом Red/System стал ЯП Rebol.

Ого.

Энтузиазма парням не занимать

yoghurt ★★★★★ ()

Ура! еще один велосипед с квадратными колесами )))))

anonymous ()

Напишите в теле новости, что это за Syllable. А то заставляете от Ъ-тизма отходить.

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

Я правильно понял, что это конкурент Хайку?

hobbit ★★★★★ ()
Ответ на: Я так понял, это HelloWorld: от Bad_ptr

Re: Я так понял, это HelloWorld:

«kernel32.dll» детектед. И при чем здесь тогда ELF?

По теме: закопать.

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

Я уже нагуглил. Очень порадовали в Вики строки о наличии сотни нативных приложений и возможности работы на различном оборудовании. Запилите это в текст новости :)
Ах да, высокая скорость отклика тоже понравилась.
[сарказм]Нафига после этого ваш линукс нужен?[/сарказм]

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

Я правильно понял, что это конкурент Хайку?

Хайку по сравнению с этим почти мэйнстрим :)

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

Я правильно понял, что это конкурент Хайку?

Не совсем. Они может и претендуют на то, чтобы конкурировать с хайку, но в Хайку уже портировали Qt, а Syllable...

Изначально Sylalble был только десктопным, и именно с этим вариантом название Syllable и ассоциируется. Но теперь он состоит из двух вариантов: десктопного и серверного. Десктопный - это своя операционка, а серверный вариант сделан на основе Linux. И вот для того, чтобы унифицировать оба варианта, они решили придумать новый язык - Red. В результате все силы брошены на то, чтобы писать этот Red (никому кроме них не нужный), чуток развивают серверный вариант (именно для него Red и разрабатывают), ну а на десктопный Syllable совсем забили.

anonymous ()

Rebol неплохой язычок, со гуем из каропки (привет васикоделфидрочерам). Только вот с документацией беда, особенно этого самого гуя. А как у сабжа с гуем?

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

Если он потомок Ребола, то шапку надо

Red/System[]
print "Hello World!"

anonymous ()

Маньяки делают систему. Квадратные скобочки вместо фигурных им явно не привлекут много новых людей.

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

Десктопный - это своя операционка, а серверный вариант сделан на основе Linux.

o_O «Вопросов больше не имею» (c) О.Бендер

hobbit ★★★★★ ()

Сходил на сайт Syllable и их форум, а также посмотрел список ПО. Всё это, к большому сожалению, выглядит как труп и никакой новый язык программирования их не спасёт :(

densss ★★★ ()

Syllable

Оно ещё живо(я не слышал никаких новостей об этой оси с 2009)?

PoZorro ()

Святые линусоторвальдсы, НУ ЧТО ЭТО И НАХЕРА?!!

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

На хаскеле можно писать читабельно. Можно сокращять код. Что в этом плохого?

loz ★★★★★ ()

Я думал, Syllable вообще забросили. Неужели еще разрабатывают?

anonymous ()

Такой же тормоз, как Rebol?

anonymous ()

Поддержка андроида и ИОС. Вот чем теперь отличаются новые велосипеды.

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

Lisp с квадратными скобочками?

Да, очередной «лисп для бедных»

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

Что какбэ намекает на ущербность и никчемность «лиспа для богатых».

anonymous ()

Забавный язык. Синтаксис конечно дикий, с трудом понял о чем там вообще речь:) Операторы any и all ничего так. Доступ к системному стеку, к регистру eip прямо из программы. Я правда из заявленных фич - functional, imperative and symbolic, prototype-based object support, concurrency and parallelism strong support, garbage collected - в описании ничего не нашел:) Low-level да, есть немного.

x-code ()
Ответ на: комментарий от x-code

Доступ к системному стеку, к регистру eip прямо из программы.

И на арме? А как сие на мипсы перетащить?

yyk ★★★★★ ()
Ответ на: комментарий от x-code

Синтаксис конечно дикий

Угу, перефорт-недохаскель-полулисп.

anonymous ()

ура, давно ждал этого релиза

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

Зачем?

на данный момент это самый приятный из (известных мне) системных языков, который при этом активно развивается

а с этого релиза - ещё и с поддержкой армов

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

это самый приятный из (известных мне) системных языков

/me медленно выпал в осадок

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