Size: a a a

Язык программирования Julia / Julia programming language

2021 June 15

P

PS in Язык программирования Julia / Julia programming language
Интересно. Но, кажется, в таком случае DAG не построить.
источник

P

PS in Язык программирования Julia / Julia programming language
или построить...
источник

АО

Андрей Оськин... in Язык программирования Julia / Julia programming language
Тут нужна наверное какая-то картинка, что в данном случае является DAGом.
источник

АО

Андрей Оськин... in Язык программирования Julia / Julia programming language
Что у него в нодах и что является связями между ними.
источник

AP

Alexander Plavin in Язык программирования Julia / Julia programming language
да, я сходу по этому коду как-то недопонял момент про dag
источник

P

PS in Язык программирования Julia / Julia programming language
потому, что его сейчас нет :) но хотелось бы
источник

P

PS in Язык программирования Julia / Julia programming language
В узлах — числа, либо элемент из Account, либо результат вычисления. Связи — функции
источник

AP

Alexander Plavin in Язык программирования Julia / Julia programming language
с построением графа конечно сложнее, но сложность именно в доставании переменных из выражения
этот этап в любом случае будет, хоть строками передавать хоть как

нужно написать макрос, который из выражения достаёт зависимости - в таком духе:
macro extract(expr)
   deps = .....
   expr = replace(expr, :_ => :m)
   return :($deps, m -> $expr)
end
потом его использовать:
deps, func = @extract _.a[-1] + 1
...
func(model1)
```
источник

АО

Андрей Оськин... in Язык программирования Julia / Julia programming language
Кстати, я не пробовал, но может ли макрос возвращать функцию? В смысле анонимную функцию.

Тогда можно было бы в макросе строить выражение, а в коде уже просто вызывать результирующую функцию.

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

P

PS in Язык программирования Julia / Julia programming language
Макрос может произвольное выражение возвращать. Хрупкое выходит, да :)
источник

P

PS in Язык программирования Julia / Julia programming language
Спасибо всем за помощь и идеи
источник

AP

Alexander Plavin in Язык программирования Julia / Julia programming language
макрос что угодно может возвращать, в том числе функцию
в моём примере так и сделано: второй возвращаемый элемент - функция
если с выражением ничего не делать кроме запихивания в функцию, то особой хрупкости не вижу...
источник

AP

Alexander Plavin in Язык программирования Julia / Julia programming language
вот парсинг выражения чтобы по нему найти зависимости - тут может и хрупко получиться :)
мб в pluto что-то есть на эту тему, что можно достать
источник

АО

Андрей Оськин... in Язык программирования Julia / Julia programming language
Да, я парсинг и имел в виду.
источник

IY

Igor Yegin in Язык программирования Julia / Julia programming language
Здравствуйте! Я новый в Julia, так что прошу прощения за нубский вопрос.

Есть ли в Julia пакеты, аналогичные data.table в R? Чтобы можно было обрабатывать датафреймы через индексы, а не функциями а-ля dplyr?
источник

АО

Андрей Оськин... in Язык программирования Julia / Julia programming language
DataFrames.jl

А вообще любую структуру можно обрабатывать через индексы.

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

AP

Alexander Plavin in Язык программирования Julia / Julia programming language
Можно пример, как вообще выглядит это «через индексы»? Для тех кто data.table не видел.
источник

IY

Igor Yegin in Язык программирования Julia / Julia programming language
Например, вместо
summarize (group_by(dataframe, by = id, how = sum))

dataframe[, sumRub = sum(Rub), by = id]

То есть, агрегация, и вообще большинство функций, применяемых к конкретному датафрейму, прописываются внутри конструкции [, ]
источник

AP

Alexander Plavin in Язык программирования Julia / Julia programming language
хм, интересно
я вообще сомневался сначала о каких индексах речь - то ли индексы как в БД для скорости, то ли что :)
источник

AP

Alexander Plavin in Язык программирования Julia / Julia programming language
а собственно профит тут в чём? первый способ кажется понятнее...
источник