306 research outputs found

    Stream Fusion, to Completeness

    Full text link
    Stream processing is mainstream (again): Widely-used stream libraries are now available for virtually all modern OO and functional languages, from Java to C# to Scala to OCaml to Haskell. Yet expressivity and performance are still lacking. For instance, the popular, well-optimized Java 8 streams do not support the zip operator and are still an order of magnitude slower than hand-written loops. We present the first approach that represents the full generality of stream processing and eliminates overheads, via the use of staging. It is based on an unusually rich semantic model of stream interaction. We support any combination of zipping, nesting (or flat-mapping), sub-ranging, filtering, mapping-of finite or infinite streams. Our model captures idiosyncrasies that a programmer uses in optimizing stream pipelines, such as rate differences and the choice of a "for" vs. "while" loops. Our approach delivers hand-written-like code, but automatically. It explicitly avoids the reliance on black-box optimizers and sufficiently-smart compilers, offering highest, guaranteed and portable performance. Our approach relies on high-level concepts that are then readily mapped into an implementation. Accordingly, we have two distinct implementations: an OCaml stream library, staged via MetaOCaml, and a Scala library for the JVM, staged via LMS. In both cases, we derive libraries richer and simultaneously many tens of times faster than past work. We greatly exceed in performance the standard stream libraries available in Java, Scala and OCaml, including the well-optimized Java 8 streams

    Membrane traffic and turnover in TRP-ML1–deficient cells: a revised model for mucolipidosis type IV pathogenesis

    Get PDF
    The lysosomal storage disorder mucolipidosis type IV (MLIV) is caused by mutations in the transient receptor potential–mucolipin-1 (TRP-ML1) ion channel. The “biogenesis” model for MLIV pathogenesis suggests that TRP-ML1 modulates postendocytic delivery to lysosomes by regulating interactions between late endosomes and lysosomes. This model is based on observed lipid trafficking delays in MLIV patient fibroblasts. Because membrane traffic aberrations may be secondary to lipid buildup in chronically TRP-ML1–deficient cells, we depleted TRP-ML1 in HeLa cells using small interfering RNA and examined the effects on cell morphology and postendocytic traffic. TRP-ML1 knockdown induced gradual accumulation of membranous inclusions and, thus, represents a good model in which to examine the direct effects of acute TRP-ML1 deficiency on membrane traffic. Ratiometric imaging revealed decreased lysosomal pH in TRP-ML1–deficient cells, suggesting a disruption in lysosomal function. Nevertheless, we found no effect of TRP-ML1 knockdown on the kinetics of protein or lipid delivery to lysosomes. In contrast, by comparing degradation kinetics of low density lipoprotein constituents, we confirmed a selective defect in cholesterol but not apolipoprotein B hydrolysis in MLIV fibroblasts. We hypothesize that the effects of TRP-ML1 loss on hydrolytic activity have a cumulative effect on lysosome function, resulting in a lag between TRP-ML1 loss and full manifestation of MLIV

    The constrained-monad problem

    Get PDF
    In Haskell, there are many data types that would form monads were it not for the presence of type-class constraints on the operations onthat data type. This is a frustrating problem in practice, because there is a considerable amount of support and infrastructure for monads that these data types cannot use. Using several examples,we show that a monadic computation can be restructured into a normal form such that the standard monad class can be used. The technique is not specific to monads, and we show how it can also be applied to other structures, such as applicative functors. One significant use case for this technique is domain-specific languages,where it is often desirable to compile a deep embedding of a computation to some other language, which requires restricting the types that can appear in that computation

    Современные методы предотвращения выкатываний воздушных судов за пределы взлетно-посадочной полосы

    Get PDF
    The landing of the aircraft has always been the most challenging and dangerous stage of the flight. In order to make a safe landing, the aircraft (A/C) requires reducing the vertical (at the stage of flare-out) and horizontal (prior to touchdown) components of the aircraft's flight speed vector, which in turn reduces the capabilities to increase lift and limits the crew's ability to perform maneuvers. At the same time, during landing the crew must align the aircraft with the runway (RW) and make a touchdown, subsequent A/C landing roll and stop within a rather limited area, which eventually and particularly, under the effect of contributing adverse factors (piloting errors, wind shear, icing, engine failure, aquaplaning, etc.) can cause the aircraft to overshoot and overrun the RW. Currently, as the analysis of aviation accidents statistics shows, the issue of preventing and alerting aircraft overrun is quite relevant. The search for a solution, in terms of preventing aircraft overrunning the runway (RW), is conducted as at the level of aviation authorities as among aircraft manufacturers, operators. Within the framework of this review, an attempt is made to identify and analyze the key factors affecting the dynamics of aircraft motion during landing, using information about aviation accidents that have occurred over the past few years. Notably, such aspects as a human factor and technical features of the operation of modern jet aircraft, influencing the A/C landing roll, are considered. In addition, special attention is paid to consider the methods of prevention and warning of A/C overrun with highlighting the approaches of passive and active protection. Within the framework of the analysis of active protection techniques, the principles of on-board avionic systems operation of the most major aircraft manufacturers, such as Boeing and Airbus, are considered. As an example of the passive protection, the experience of using special energy-absorbing destructible blocks installed next to the runway threshold, is analyzed.Посадка воздушного судна была и остается наиболее сложным и опасным этапом полета. Для совершения безопасной посадки воздушному судну (ВС) необходимо уменьшить вертикальную (на этапе выравнивания)и горизонтальную (на этапе выдерживания) составляющие вектора скорости полета ВС, что в свою очередь уменьшает возможности по увеличению подъемной силы и ограничивает экипаж в возможностях совершения маневров. Также экипаж во время посадки должен подвести ВС к взлетно-посадочной полосе (ВПП) и совершить касание, последующие пробег и остановку ВС в пределах довольно ограниченной по своим размерам площадки, что в конечном итоге, в частности при воздействии сопутствующих неблагоприятных факторов (ошибки пилотирования, сдвиг ветра, обледенение, отказ двигателя, гидроглиссирование и др.), может привести к перелету и выкатыванию самолетов за пределы ВПП. В настоящее время вопрос возможности предотвращения и предупреждения выкатываний ВС, как показывает анализ статистики авиационных происшествий, достаточно актуален. Поиск решения в части предотвращения выкатываний ВС за пределы ВПП ведется как на уровне авиационных властей, так и на уровнях производителей и эксплуатантов ВС. В рамках данной обзорной статьи предпринята попытка выделить и проанализировать ключевые факторы, влияющие на динамику движения ВС при посадке, используя информацию об авиационных происшествиях, произошедших за последние несколько лет. В частности, рассмотрены такие аспекты, как человеческий фактор и технические особенности работы современных реактивных ВС, влияющие на пробег самолета по полосе. Кроме того, особое внимание в статье уделено рассмотрению методов предотвращения и предупреждения выкатываний ВС с выделением методов пассивной и методов активной защиты. В рамках анализа методов активной защиты рассмотрены принципы работы бортовых электронных систем крупнейших авиапроизводителей, таких как Boeing и Airbus. В качестве примера пассивной защиты проанализирован опыт использования специальных энергопоглощающих разрушаемых блоков, размещаемых после торца ВПП

    МЕТОДИКА И АППАРАТНЫЕ СРЕДСТВА ОПРЕДЕЛЕНИЯ ЧАСТОТЫ СВОБОДНЫХ КОЛЕБАНИЙ СТРЕЛЫ МОДЕРНИЗИРОВАННОЙ РАСПИЛОВОЧНОЙ СЕКЦИИ

    Get PDF
    Basic points of the developed technique are stated and the description of hardware and measuring fasilities for determination of oscillation frequency of modernized sawing unit arrow is provided. The sequence of measurements for determination of the free oscillation frequency of the arrow, and also coefficient of rigidity of elastic subweight is described. On the basis of experimentally evaluated values of the free oscillation frequency of the arrow and coefficient of rigidity of its subweight parameters of excitement of oscillatory system are established. These parameters includs the forced oscillation frequency and amplitude which provide an underresonfnt mode of the system performance.Изложены основные положения разработанной методики и приведено описание аппаратно-измерительных средств для определения частоты свободных колебаний стрелы модернизированной распиловочной секции. Описана последовательность выполнения измерений по определению частоты свободных колебаний стрелы, а также коэффициента жесткости упругого подвеса. На основании экспериментально полученных значений частоты свободных колебаний стрелы и коэффициента жесткости ее подвеса установлены параметры возбуждения колебательной системы, включая частоту вынужденных колебаний и их амплитуду, обеспечивающие дорезонансный режим ее работы

    COMPARISON OF ACE INHIBITOR (FOSINOPRIL) AND Β-ADRENOBLOCKER (ATENOLOL) EFFECTS ON AUTONOMIC REGULATION OF THE HEART IN PATIENTS WITH ARTERIAL HYPERTENSION

    Get PDF
    Aim. To estimate effects of fosinopril and atenolol on autonomic regulation of heart in patients with arterial hypertension (HT) on the basis of spectral characteristics of heart rate variability (HRV).Material and methods. 49 patients (46±7 y.o.) with untreated or inadequately treated HT without end organ damages and associated clinical conditions were involved in the study. Heart rhythm was registered during passive orthostatic test with spontaneous breath within 10 min for each stage of the test. HRV was estimated by parametrical method based on autoregression model. Frequency power of HRV spectrum (ms2 ) in high-frequency (HF: 0,15-0,4 Hz) and low-frequency (LF: 0,04-0,15 Hz) ranges was calculated as well as the total power of a spectrum (ТР).Results. Fosinopril and atenolol reduced in blood pressure levels similarly, atenolol as well reduced in heart rate. Fosinopril and atenolol changed power of LF-range in comparable decreasing manner in upright position. Fosinopril therapy resulted in the same changes with power of HF-range. Atenolol increased power of HF-range in horizontal position and had no effect in upright position. There were not dynamic in TP during treatments.Conclusion. Fosinopril and atenolol have similar effects on the central mechanisms of autonomic heart regulation and HRV, though atenolol effect on sympathetic-parasympathetic balance is more prominent

    The HERMIT in the machine: a plugin for the interactive transformation of GHC core language programs

    Get PDF
    The importance of reasoning about and refactoring programs is a central tenet of functional programming. Yet our compilers and development toolchains only provide rudimentary support for these tasks. This paper introduces a programmatic and compiler-centric interface that facilitates refactoring and equational reasoning. To develop our ideas, we have implemented HERMIT, a toolkit enabling informal but systematic transformation of Haskell programs from inside the Glasgow Haskell Compiler’s optimization pipeline. With HERMIT, users can experiment with optimizations and equational reasoning, while the tedious heavy lifting of performing the actual transformations is done for them. HERMIT provides a transformation API that can be used to build higher-level rewrite tools. One use-case is prototyping new optimizations as clients of this API before being committed to the GHC toolchain. We describe a HERMIT application - a read-eval-print shell for performing transformations using HERMIT. We also demonstrate using this shell to prototype an optimization on a specific example, and report our initial experiences and remaining challenges
    corecore