1. 


2. 


3. 
 Jansson, Patrik, 1972, et al.
(författare)

Functional Pearl: Polytypic Unification
 1998

Ingår i: Journal of Functional Programming.  14697653 . 09567968. ; 8:5, s. 527536

Tidskriftsartikel (refereegranskat)abstract
 Unification, or twoway pattern matching, is the process of solving an equation involving two firstorder terms with variables. Unification is used in type inference in many programming languages and in the execution of logic programs. This means that unification algorithms have to be written over and over again for different term types. Many other functions also make sense for a large class of datatypes; examples are pretty printers, equality checks, maps etc. They can be defined by induction on the structure of userdefined datatypes. Implementations of these functions for different datatypes are closely related to the structure of the datatypes. We call such functions polytypic. This paper describes a unification algorithm parametrised on the type of the terms, and shows how to use polytypism to obtain a unification algorithm that works for all regular term types.


4. 
 Jansson, Patrik, 1972, et al.
(författare)

PolyLib  a polytypic function library
 1998

Ingår i: Workshop on Generic Programming.

Konferensbidrag (refereegranskat)abstract
 A polytypic program is a program that behaves uniformly over a large class of datatypes. For functional polytypic programming this uniformity is achieved by parameterizing functions over type constructors to obtain polytypic functions. A polytypic function is defined either by induction on the structure of regular type constructors or in terms of other polytypic functions. PolyP is an extension of the functional programming language Haskell with a construct for defining polytypic functions. PolyP is a type guided preprocessor that generates instances of polytypic functions and inserts applications of these instances where needed.During the last few years we have used PolyP to construct a number of polytypic programs, for example for unification, parsing, rewriting, pattern matching, etc. These polytypic programs use several basic polytypic functions, such as the relatively wellknown cata and map, but also less wellknown functions such as propagate and thread. We have collected these basic polytypic functions in the library of PolyP: PolyLib. This paper describes the polytypic functions in PolyLib, motivates their presence in the library, and gives a rationale for their design. Thus we hope to share our experience with other researchers in the field. We will assume the reader has some familiarity with the field of polytypic programming.Of course, a library is an important part of a programming language. Languages like Java, Delphi, Perl and Haskell are popular partly because of their useful and extensive libraries. For a polytypic programming language it is even more important to have a clear and welldesigned library: writing polytypic programs is difficult, and we do not expect many programmers to write polytypic programs. On the other hand, many programmers use polytypic programs such as parser generators, equality functions, etc.This is a first attempt to describe the library of PolyP; we expect that both the form and content of this description will change over time. One of the goals of this paper is to obtain feedback on the library design from other researchers working within the field. At the moment the library only contains the basic polytypic functions. In the future we will develop special purpose sublibraries for polytypic functions with more advanced functionality, for example for parsing and the other programs mentioned above.


5. 
 Jansson, Patrik, 1972, et al.
(författare)

PolyP  a polytypic programming language extension
 1997

Ingår i: Principles of Programming Languages. ; POPL97, s. 470482

Konferensbidrag (refereegranskat)abstract
 Many functions have to be written over and over again for different datatypes, either because datatypes change during the development of programs, or because functions with similar functionality are needed on different datatypes. Examples of such functions are pretty printers, debuggers, equality functions, unifiers, pattern matchers, rewriting functions, etc. Such functions are called polytypic functions. A polytypic function is a function that is defined by induction on the structure of userdefined datatypes. This paper extends a functional language (a subset of Haskell) with a construct for writing polytypic functions. The extended language type checks definitions of polytypic functions, and infers the types of all other expressions using an extension of Jones' theories of qualified types and higherorder polymorphism. The semantics of the programs in the extended language is obtained by adding type arguments to functions in a dictionary passing style. Programs in the extended language are translated to Haskell.


6. 
 Jansson, Patrik, 1972, et al.
(författare)

Polytypic Compact Printing and Parsing
 1999

Ingår i: European Symposium on Programming. ; 1576, s. 273287

Konferensbidrag (refereegranskat)abstract
 A generic compact printer and a corresponding parser are constructed. These programs transform values of any regular datatype to and from a bit stream. The algorithms are constructed along with a proof that printing followed by parsing is the identity. Since the binary representation is very compact, the printer can be used for compressing data  possibly supplemented with some standard algorithm for compressing bit streams. The compact printer and the parser are described in the polytypic Haskell extension PolyP.


7. 
 Jeuring, Johan, 1965, et al.
(författare)

Polytypic Programming
 1996

Ingår i: Advanced Functional Programming. ; , s. 68114

Bokkapitel (övrigt vetenskapligt)abstract
 Many functions have to be written over and over again for different datatypes, either because datatypes change during the development of programs, or because functions with similar functionality are needed on different datatypes. Examples of such functions are pretty printers, debuggers, equality functions, unifiers, pattern matchers, rewriting functions, etc. Such functions are called polytypic functions. A polytypic function is a function that is defined by induction on the structure of userdefined datatypes. This paper introduces polytypic functions, and shows how to construct and reason about polytypic functions. A larger example is studied in detail: polytypic functions for term rewriting and for determining whether a collection of rewrite rules is normalising.


8. 


9. 
 Svensson, Johan, 1964, et al.
(författare)

Treatment of obese subjects with the oral growth hormone secretagogue MK677 affects serum concentrations of several lipoproteins, but not lipoprotein(a).
 1999

Ingår i: The Journal of clinical endocrinology and metabolism.  0021972X. ; 84:6, s. 202833

Tidskriftsartikel (refereegranskat)abstract
 Obesity is associated with blunted GH secretion and an unfavorable lipoprotein pattern. The objective of this study was to investigate the effects of treatment with the oral GH secretagogue MK677 on lipoproteins in otherwise healthy obese males. The study was randomized, double blind, and parallel. Twentyfour obese males, aged 1850 yr, with body mass index greater than 30 kg/m2 and waist/hip ratio above 0.95 were treated with 25 mg MK677 (n = 12) or placebo (n = 12) daily for 8 weeks. MK677 treatment did not significantly change serum lipoprotein(a) [Lp(a)] levels. Serum apolipoprotein AI and E (apoAI and apoE) were increased at 2 weeks (P < 0.001 and P < 0.01 vs. placebo, respectively), but were not changed at study end. Serum total cholesterol and low density lipoprotein (LDL) cholesterol (LDLC) levels were not significantly changed by MK677 treatment. Serum high density lipoprotein (HDL) cholesterol (HDLC) was increased at 2 weeks of MK677 treatment (P < 0.01 vs. placebo), but not at 8 weeks. The LDLC/HDLC ratio was reduced after 8 weeks of MK677 treatment (P < 0.05 vs. placebo). Mean LDL particle diameter was decreased at 2 weeks (P < 0.05 vs. placebo), but was unchanged compared with baseline values at 8 weeks (P = NS vs. placebo). The level of serum triglycerides was increased at 2 (P < 0.05 vs. placebo), but not at 8, weeks. Lipoprotein lipase activity in abdominal and gluteal sc adipose tissue was not affected by active treatment. In conclusion, treatment with the oral GH secretagogue MK677 affected circulating lipoproteins. The effects on serum apoA1, apoE, triglycerides, and mean LDL particle diameter were transient. At study end, the LDLC/HDLC ratio was decreased. MK677 treatment did not significantly affect serum Lp(a) concentrations at the present dose and administration protocol.


10. 
 Svensson, Johan, 1964, et al.
(författare)

Treatment with the oral growth hormone secretagogue MK677 increases markers of bone formation and bone resorption in obese young males.
 1998

Ingår i: Journal of bone and mineral research : the official journal of the American Society for Bone and Mineral Research.  08840431. ; 13:7, s. 115866

Tidskriftsartikel (refereegranskat)abstract
 The effect of 2 months of treatment with the oral growth hormone (GH) secretagogue MK677 on markers of bone metabolism was determined in healthy obese male subjects. This was a randomized, doubleblind, parallel, placebocontrolled study. Twentyfour healthy obese males, 1949 years of age, with body mass index > 30 kg/m2 were treated with MK677 (25 mg/day; n = 12) or placebo (n = 12) for 8 weeks. MK677 increased markers of bone formation; a 23% increase in the carboxyterminal propeptide of type I procollagen levels and a 28% increase in procollagen III peptide levels were seen with as little as 2 weeks of MK677 treatment (p < 0.01 and p = 0.001 vs. placebo, respectively) while a 15% increase in serum levels of osteocalcin was not detected until 8 weeks of treatment (p < 0.01 vs. placebo). Markers of bone resorption were induced within 2 weeks of treatment with MK677; serum levels of the carboxyterminal crosslinked telopeptide of type I collagen were increased 26% at 8 weeks (p = 0.001 vs. placebo), and urine hydroxyproline/creatinine and calcium/creatinine ratios at 8 weeks were increased by 23% (p < 0.05 vs. placebo) and 46% (p < 0.05 vs placebo), respectively, MK677 increased serum insulinlike growth factor binding protein5 (IGFBP5) by 4344% after 28 weeks of treatment (p < 0.01 vs. placebo). Serum IGFBP4 was increased by 25% after 2 weeks of treatment (p < 0.001 vs. placebo) but no significant change from baseline was observed after 8 weeks of treatment. Plasma interleukin6 was not significantly changed by active treatment. In conclusion, shortterm treatment of healthy obese male volunteers with the GH secretagogue MK677 increases markers of both bone resorption and formation. Large increases in serum levels of IGF1 and IGFBP5 and a transient increase in serum IGFBP4 were found. Future longterm studies are needed to investigate if prolonged treatment with MK677 increases bone mass.

