LINUX.ORG.RU

Избранные сообщения TCHK

Форум — Development

Изучая Rust...

Здравствуйте. Пытаюсь реализовать список на Rust. Вот что у меня получилось:

use std::fmt;

struct Node {
    value: i32,
    link: Option<Box<Node>>,
}

impl Node {
    fn new(value: i32) -> Node {
        Node { value: value, link: None, }
    }

    fn append(&mut self, value: i32) {
        match self.link {
            Some(ref mut node) => node.append(value),
            None => self.link = Some(Box::new(Node::new(value))),
        }
    }

    fn length(&self) -> i32 {
        match self.link {
            Some(ref node) => node.length() + 1,
            None => 1,
        }
    }

    fn insert_after(&mut self, value: i32, after: i32) -> bool {
        if self.value == after {
            self.link = Some(Box::new(Node { value: value, link: self.link.take() }));
            true
        }
        else {
            match self.link {
                Some(ref mut node) => node.insert_after(value, after),
                None => false,
            }
        }
    }
}

impl fmt::Display for Node {
    fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
        write!(f, "{}", self.value)
        while
    }
}

fn main() {
    let mut stack = Node::new(1024);

     stack.append(67);

     println!("{}", stack);
}

Подскажите, как можно напечатать все элементы списка? В текущей реализации выводится только первый элемент.

 , ,

paret
()
Форум — General

emacs: как настроить выход из emacs без запроса на сохранение буферов?

Как настроить выход из emacs без запроса на сохранение буферов?

 

alien308
()
Галерея — Скриншоты

ArchLinux KDE

Решил примерно полгода назад пересесть с Xfce на KDE. И в общем-то доволен. Занимает немного больше памяти, а без эффектов работает почти так же быстро, как Xfce.

Тема - QtCurve (Square-LifeStyle)
Цвета - SquareLifestyle
Значки - KFaenza
Шрифты - Ubuntu (патчи freetype-ubuntu и прочее)
GTK - QtCurve-GTK
Plasma - E-plasma

 ,

RevenantX
()
Форум — Development

Homoiconic C

Я тут упоролся и подумал, а что если бы у нас был ЯП уровня Си с гомоиконным синтаксисом в стиле Io или Julia. То есть — у нас есть интерпретатор гомоиконного языка, который работает как макропроцессор, и результат трансформаций исходного кода скармливается затем компилятору языка с Си-подобной семантикой. И у нас будет нормальный тьюринг-полный макроязык, который позволит бескостыльно расширять возможности ЯП неограниченно. Компилирующаяя же часть будет по сути обычным компилятором Си (просто читающим входные данные в неСишном синтаксисе).

Это ж кайф. Выражения типа regexp(«^[a-z][a-z0-9]») или format(«%s - %s (%d)», bla1, bla2, i) можно будет автоматически обрабатывать макропроцессором и отправлять компилятору оптимизированный вариант. Это значит, регулярка, например, будет скопилирована в конечный автомат при компиляции программы, а не при выполнении.

Вот эта вот странная задачка, на которой dr_jumba проверял лаконичность языков, записывалась бы как-то вот так:

sample_function := fn(a(iterable(T))) to(T) {
    a select(match(regexp(/^J[a-z]+/))) each_chunk(3) map(format_with("~1 and ~2 follow ~3")) join("\n")
}

Дискас.

 homoiconicity,

geekless
()
Форум — Multimedia

Банк звуков (midi) в ubuntu

Доброго времени! Подскажите пожалуйста-можно ли улучшить звук миди файлов? pykaraoke звук ужасный. Есть ли какой нибудь програмный синтезатор типа roland vsc или Yamaha XG WDM. (виндовые). Или можно как нибудь засунуть другой банк звуков? Спасибо.

 , pykaraoke,

AleksandrArkhipov
()
Форум — Talks

Статья по гуглежу людей - надо?

Очень часто приходится гуглить некоторых личностей, которые указывают в контактах только никнейм. Выработал несколько уже привычных приемов, результативность примерно процентов 60-80. Могу в принципе описать это в виде статьи на ЛОР-вики, что даст каждому возможность что-то добавить.

Вопрос - оно кому-нибудь нужно?

 

AlexCones
()
Новости — Open Source

Сегодня языку Perl исполнилось 25 лет!

Группа Open Source

25 лет назад, 18 декабря 1987г., программист и лингвист Ларри Уолл выпустил первую версию языка программирования Perl.

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

 , , ларри уолл

VeroLom
()
Форум — Development

Какие ЯП вас в своё время впечатлили и чем?

С кратким комментарием — что именно произвело впечатление. Вот меня, например, в следующем порядке поразили:

1) Haskell в институте — системой типов, по сравнению с другими языками казалось неземной красотой, что можно написать всякие Show a, Num a.

2) Prolog тоже в институте — первый опыт настоящей декларативности — пишешь не то, что нужно делать, а что нужно получить и доступные для этого действия. Описал задачу, а система сама все решила.

3) Forth — тем, что самый мощный язык может быть написан в несколько сотен строк.

4) Io и Lua — Io чистотой и элегантностью концепции, а Lua тем, что интерпретатор мощного (на уровне JS) и простого языка может ещё и быстро работать.

5) Lisp — дата-код-дата, полноценная среда для вычислений в компайл-тайме и рантайме.

Ну и по-мелочи:

1) Python — 2D-синтаксисом.

2) colorForth — цветной синтаксис.

3) Katahdin — тем, что можно не очень сложно объединить кучу языков под крышей одного рантайма в пределах одного файла или строки.

4) D — тем, что из C++, в принципе, мог получиться нормальный язык.

5) Pascal ещё в школе, тем что можно было работать с динамической памятью, использовать арифметику указателей и вообще все эти двусвязные списки и т.п.

Может потом ещё что вспомню...

 

y-combinator
()
Форум — Talks

Почтовые сервера без требования номера телефона

Достало это вымогательство, требуют либо второй мейл, либо мобильник. Не могу нормально нагуглить список обычных почтовых серверов, всюду херота про обход анального гмыла и проч. Вэбморда не обязательна. Сервер не в США/России. Локалхост не предлагать, i2p и торы - тоже.

 , ,

FiXer
()
Форум — Desktop

Корректировка шрифта в fontforge

Есть такой шрифт - PlumbMediumC, medium шрифт с классическим начертанием. Мне он нравится, если в нем подправить начертания некоторых символов в fontforge. Но есть одно «но», с этим шрифтом получается слишком маленькое расстояние между строками при больших размерах шрифта. Если в браузере это можно легко откорректировать при помощи css, то в обычном текстовом редакторе сделать такое средствами самого редактора вообще то нельзя. Отсюда вопрос - как в fonrforge увеличить расстояние между символами по вертикали?
ЗЫ Любимые «ШГ» и «ставь нормальные 9 пунктов» сразу идут фтопку

nirolov
()