Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Activity
  • Oct 27 2018 13:57

    nau on master

    Default to O1 to enable tail ca… Fix make-release.sh. Update doc… Show simple GC statistics in ve… and 5 more (compare)

  • Oct 07 2018 20:19

    nau on v0.0.2

    (compare)

  • Oct 07 2018 20:14

    nau on master

    Fix Lasca compilation on Ubuntu… (compare)

  • Oct 07 2018 18:09

    nau on master

    Use version from Cabal file. Create make-release.sh Fix Json.lasca example and 7 more (compare)

  • Sep 30 2018 21:20

    nau on v0.0.1

    (compare)

  • Sep 30 2018 21:11

    nau on master

    Update Readme.md (compare)

  • Sep 30 2018 15:55

    nau on master

    Template Haskell doesn't work o… (compare)

  • Sep 29 2018 10:28

    nau on master

    Fix Linux build. Generate PIC c… Use version 0.0.1. Enable testi… Fix tests in nix build. and 5 more (compare)

  • Sep 24 2018 00:06

    nau on master

    Simplify hello example. Use runtimeCompare for binary o… Fix String literals in patterns. (compare)

  • Sep 23 2018 13:53

    nau on master

    Fix tests in nix build. (compare)

  • Sep 20 2018 17:57

    nau on master

    Use version 0.0.1. Enable testi… (compare)

  • Sep 19 2018 22:39

    nau on master

    Fix Linux build. Generate PIC c… (compare)

  • Sep 19 2018 16:36

    nau on master

    Fix Linux build. Generate PIC c… (compare)

  • Sep 19 2018 00:26

    nau on master

    Add Hex and octal literals. Add… (compare)

  • Sep 18 2018 21:07

    nau on master

    Add nix build expressions. Fix nix build on Travis CI #1. Add Hex and octal literals. Add… (compare)

  • Sep 18 2018 20:27

    nau on master

    Add Hex and octal literals. Add… (compare)

  • Sep 16 2018 20:08

    nau on master

    Fix nix build on Travis CI #1. (compare)

  • Sep 16 2018 15:00

    nau on master

    Upgrade stack resolver to 12.9,… Add nix build expressions. (compare)

  • Sep 13 2018 23:51

    nau on master

    Remove obsolete TODO/FIXME. Add ArrayBuffer.lasca. (compare)

  • Sep 12 2018 21:44

    nau on master

    Unify LaType generation for use… (compare)

nponeccop
@nponeccop
c сетжампом не интересно
Ruslan Shevchenko
@rssh
@nponeccop - а чем плох setjump ? (в ранние времена он плохо сочетался с thread-ами, но сейчас уже все научились) и какие альтернативы кроме stackless компиляции в принципе существуют ?
@nau - как я понял - это как раз из Frankа выдранная функциональность, собранная в либу
Ruslan Shevchenko
@rssh
(точнее koka. То есть Daan Leijen - это автор коки)
nponeccop
@nponeccop

про setjmp это богатая тема. Если TL;DR - то setjmp медленный, потому что на оптимизацию кода с setjmp тратится меньше миллиардов

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

Ruslan Shevchenko
@rssh
Ну, imho, вариантов не так уже и много. "медленность" setjump - это плата за "быстрость" native stack. Тут или native-stack или уровень эмуляции. Авторы libdill (http://libdill.org/) с setjump/longjump подходом приводят вполне приличные цифры [точнее у них для x86 ассемблерные вставки, но с той-же семантикой].
А какой вариант переключения контекстов тебе кажется более правильным ?
nponeccop
@nponeccop
Я и не говорил что setjmp это неправильно. Просто заголовок и абстракт получились излишне завлекательными, в духе желтой прессы.
Namdak Tonpa
@5HT
Приведи Кожаева блядь
Там в форуме твоем йобаном похожий персонаж
Чем то тебя напоминает по успешности в продвижении языков, бгг
С языком 42
Я бы вообще забанил человека который приводит Кожаева на лекции по языкам программирования :-)
Этот позор Руслан не смоет с себя никогда
Ещё сетджампы эти
Точно ебанат!
nponeccop
@nponeccop
продуктивненько
Namdak Tonpa
@5HT
:-) ну а чо
Ruslan Shevchenko
@rssh
@5HT - кстати, интересно, а что ты скажешь: как возможно переключение контекстов в native-stack без чего-то типа setjmp ?
Namdak Tonpa
@5HT
platform.rs
Не благодари
Закапывайся в прошлое, динозавр
Ruslan Shevchenko
@rssh
то есть свой ось. Ну, определенный смысл есть, но благодарить не буду ;)
nponeccop
@nponeccop

то есть нет. Идея в том чтобы структурировать код в виде последовательности коротких функций, а потом шедулить эти функции чем-то средним между эвентлупом и кооперативным шедулером. Идея достаточно известная - можно посмотреть на https://www.microsoft.com/en-us/research/wp-content/uploads/2016/07/lw-conc.pdf (спарки в GHC)

То есть не своя ОС, а либо специфические задачи (platform.rs), либо свой язык (GHC)

Ruslan Shevchenko
@rssh
ну так люди все-равно же думают в терминах "длинных контекстов". Слой эмуляции может такое нарезать, но это уже тут было.
nponeccop
@nponeccop
пейтону-джону это напиши :)
Ruslan Shevchenko
@rssh
?
nponeccop
@nponeccop
все претензии к авторам пейпера. Я за что купил за то и продаю.
Вопрос был "как возможно переключение контекстов в native-stack без чего-то типа setjmp ", на него дан чёткий ответ, после чего началось no true scotsman fallacy.
а сетджампы ваши кто вставляет, если не "слой эмуляции". Пушкин, что ли.
nponeccop
@nponeccop
и что значит "люди мыслят"? вы лично мыслите? люди разные, вы не можете утверждать, не проведя соц.исследования :)
Ruslan Shevchenko
@rssh
я спрашивал о "переключение контекстов".
nponeccop
@nponeccop
расскажите мне про перекличение контекство с чем-то типа setjmp
Ruslan Shevchenko
@rssh
Структрировать код в виде коротких функций и отсылка их екзекьюторам - не является ответом на вопрос.
Сам смысл переключение контекстов -- что бы код структрировать не надо было.
nponeccop
@nponeccop
это совершенно равнозначно решению с setjmp
только без setjmp
(ну не то чтобы совершенно равнозначно, но для целей данной дискуссии)
там тоже надо структурировать код
чтобы в нем появллялись эти setjmp
только там CPS
а у нас евентлуп
там Cont монада, а у нас Async. >>= и там и там нужны
nponeccop
@nponeccop
там куча говна в виде контекстов лежит в куче (притом в таком виде что ничем кроме трассирующего коллектора не собрать), а у нас остался стек
setjmp не переключает контексты, если что. Т.е. если вы использовали переключение контекстов и setjmp в одном предложении - то вы явно имели ввиду не https://en.wikipedia.org/wiki/Context_switch а его аналог в кооперативной многозадачности.
nponeccop
@nponeccop
я кончил (с) Домнин Ф.А.
Namdak Tonpa
@5HT
Кожаева када пригласим на канал? :-)