66,770 research outputs found
Program representation size in an intermediate language with intersection and union types
The CIL compiler for core Standard ML compiles whole programs using a novel typed intermediate language (TIL) with intersection and union types and flow labels on both terms and types. The CIL term representation duplicates portions of the program where intersection types are introduced and union types are eliminated. This duplication makes it easier to represent type information and to introduce customized data representations. However, duplication incurs compile-time space costs that are potentially much greater than are incurred in TILs employing type-level abstraction or quantification. In this paper, we present empirical data on the compile-time space costs of using CIL as an intermediate language. The data shows that these costs can be made tractable by using sufficiently fine-grained flow analyses together with standard hash-consing techniques. The data also suggests that non-duplicating formulations of intersection (and union) types would not achieve significantly better space complexity.National Science Foundation (CCR-9417382, CISE/CCR ESS 9806747); Sun grant (EDUD-7826-990410-US); Faculty Fellowship of the Carroll School of Management, Boston College; U.K. Engineering and Physical Sciences Research Council (GR/L 36963, GR/L 15685
Minimally Invasive Mitral Valve Surgery III: Training and Robotic-Assisted Approaches.
Minimally invasive mitral valve operations are increasingly common in the United States, but robotic-assisted approaches have not been widely adopted for a variety of reasons. This expert opinion reviews the state of the art and defines best practices, training, and techniques for developing a successful robotics program
Continuation-Passing C: compiling threads to events through continuations
In this paper, we introduce Continuation Passing C (CPC), a programming
language for concurrent systems in which native and cooperative threads are
unified and presented to the programmer as a single abstraction. The CPC
compiler uses a compilation technique, based on the CPS transform, that yields
efficient code and an extremely lightweight representation for contexts. We
provide a proof of the correctness of our compilation scheme. We show in
particular that lambda-lifting, a common compilation technique for functional
languages, is also correct in an imperative language like C, under some
conditions enforced by the CPC compiler. The current CPC compiler is mature
enough to write substantial programs such as Hekate, a highly concurrent
BitTorrent seeder. Our benchmark results show that CPC is as efficient, while
using significantly less space, as the most efficient thread libraries
available.Comment: Higher-Order and Symbolic Computation (2012). arXiv admin note:
substantial text overlap with arXiv:1202.324
Trade-Offs Between Size and Degree in Polynomial Calculus
Building on [Clegg et al. \u2796], [Impagliazzo et al. \u2799] established that if an unsatisfiable k-CNF formula over n variables has a refutation of size S in the polynomial calculus resolution proof system, then this formula also has a refutation of degree k + O(?(n log S)). The proof of this works by converting a small-size refutation into a small-degree one, but at the expense of increasing the proof size exponentially. This raises the question of whether it is possible to achieve both small size and small degree in the same refutation, or whether the exponential blow-up is inherent. Using and extending ideas from [Thapen \u2716], who studied the analogous question for the resolution proof system, we prove that a strong size-degree trade-off is necessary
Liveness-Based Garbage Collection for Lazy Languages
We consider the problem of reducing the memory required to run lazy
first-order functional programs. Our approach is to analyze programs for
liveness of heap-allocated data. The result of the analysis is used to preserve
only live data---a subset of reachable data---during garbage collection. The
result is an increase in the garbage reclaimed and a reduction in the peak
memory requirement of programs. While this technique has already been shown to
yield benefits for eager first-order languages, the lack of a statically
determinable execution order and the presence of closures pose new challenges
for lazy languages. These require changes both in the liveness analysis itself
and in the design of the garbage collector.
To show the effectiveness of our method, we implemented a copying collector
that uses the results of the liveness analysis to preserve live objects, both
evaluated (i.e., in WHNF) and closures. Our experiments confirm that for
programs running with a liveness-based garbage collector, there is a
significant decrease in peak memory requirements. In addition, a sizable
reduction in the number of collections ensures that in spite of using a more
complex garbage collector, the execution times of programs running with
liveness and reachability-based collectors remain comparable
Common Subexpression Elimination in a Lazy Functional Language
Common subexpression elimination is a well-known compiler optimisation that saves time by avoiding the repetition of the same computation. To our knowledge it has not yet been applied to lazy functional programming languages, although there are several advantages. First, the referential transparency of these languages makes the identification of common subexpressions very simple. Second, more common subexpressions can be recognised because they can be of arbitrary type whereas standard common subexpression elimination only shares primitive values. However, because lazy functional languages decouple program structure from data space allocation and control flow, analysing its effects and deciding under which conditions the elimination of a common subexpression is beneficial proves to be quite difficult. We developed and implemented the transformation for the language Haskell by extending the Glasgow Haskell compiler and measured its effectiveness on real-world programs
Hiatoplasty with crura buttressing versus hiatoplasty alone during laparoscopic sleeve gastrectomy
Introduction. In obese patients with hiatal hernia (HH), laparoscopic sleeve gastrectomy (LSG) with cruroplasty is an option but use of prosthetic mesh crura reinforcement is debated. The aim was to compare the results of hiatal closure with or without mesh buttressing during LSG. Methods. Gastroesophageal reflux disease (GERD) was assessed by the Health-Related Quality of Life (GERD-HRQL) questionnaire before and after surgery in two consecutive series of patients with esophageal hiatus ≤ 4 cm2. After LSG, patients in group A (12) underwent simple cruroplasty, whereas in group B patients (17), absorbable mesh crura buttressing was added. Results. At mean follow-up of 33.2 and 18.1 months for groups A and B, respectively (p = 0 006), the mean preoperative GERD-HRQL scores of 16.5 and 17.7 (p = 0 837) postoperatively became 9.5 and 2.4 (p = 0 071). In group A, there was no difference between pre- and postoperative scores (p = 0 279), whereas in group B, a highly significant difference was observed (p = 0 002). The difference (Δ) comparing pre- and postoperative mean scores between the two groups was significantly in favor of mesh placement (p = 0 0058). Conclusions. In obese patients with HH and mild-moderate GERD, reflux symptoms are significantly improved at medium term follow-up after cruroplasty with versus without crura buttressing during LSG.Introduction. In obese patients with hiatal hernia (HH), laparoscopic sleeve gastrectomy (LSG) with cruroplasty is an option but use of prosthetic mesh crura reinforcement is debated. The aim was to compare the results of hiatal closure with or without mesh buttressing during LSG. Methods. Gastroesophageal reflux disease (GERD) was assessed by the Health-Related Quality of Life (GERD-HRQL) questionnaire before and after surgery in two consecutive series of patients with esophageal hiatus ≤ 4 cm2. After LSG, patients in group A (12) underwent simple cruroplasty, whereas in group B patients (17), absorbable mesh crura buttressing was added. Results. At mean follow-up of 33.2 and 18.1 months for groups A and B, respectively (p = 0 006), the mean preoperative GERD-HRQL scores of 16.5 and 17.7 (p = 0 837) postoperatively became 9.5 and 2.4 (p = 0 071). In group A, there was no difference between pre- and postoperative scores (p = 0 279), whereas in group B, a highly significant difference was observed (p = 0 002). The difference (Δ) comparing pre- and postoperative mean scores between the two groups was significantly in favor of mesh placement (p = 0 0058). Conclusions. In obese patients with HH and mild-moderate GERD, reflux symptoms are significantly improved at medium term follow-up after cruroplasty with versus without crura buttressing during LSG
Minimally Invasive Mitral Valve Surgery II: Surgical Technique and Postoperative Management.
Techniques for minimally invasive mitral valve repair and replacement continue to evolve. This expert opinion, the second of a 3-part series, outlines current best practices for nonrobotic, minimally invasive mitral valve procedures, and for postoperative care after minimally invasive mitral valve surgery
- …