text: Mango A General Purpose Programming Language Have Mercy First time talking about Mango Not good on my feet Not a good public speaker Never had any feedback I'm an idiot savant Don't stump the chump My Background Early experience on Apple II University of Illinois – Champaign – Urbana. Bachelor's degree in computer engineering Three years at Neoglyphics: software Three years at Alpha: hardware How Mango Got Started Frustrated with C/C++/Java There had to be a better way Foolishly began designing my own language Foolishness can be a virtue It's been a seven year voyage The Problem Common computing infrastructure is written in C/C++ C/C++ is inadequate Lack of higher level abstractions Programmers must use low level constructs Unsafe/unstable software Slower development times A lack of alternatives Java, Python, Pascal, Ada, Modula, C# Not viable replacements Lack C's virtues in performance and flexibility Dependent on C for core tasks Lack of widespread appeal (clumsy, i.e. Ada?) Not sufficiently different to switch The Solution: Core Goals Provide higher level abstractions Avoid low level constructs when not needed Make programming easier, more enjoyable Retain performance and flexibility Allow unrestricted operations as necessary Low overhead Overall: make a better experience for programmers Overview High level design goals and decisions Feature walk through Future directions Design Goals Design goals Syntax Static Typing vs. Dynamic Typing How Vs. What Large Languages Vs. Small Languages Object Orientation: Yes or No Goal #1: A Good Syntax Syntax is key It's underrated (focus on semantics) Makes the language easier to learn Makes it accessible to non-programmers Makes the language self-documenting Marketing versus engineering Bad marketing of a good product will fail Bad syntax around good semantics will have a harder time gaining acceptance Static versus Dynamic Typing Mango is statically typed Critical for performance Offers compiler hints for optimization Types act as documentation They catch many errors at compile time Types allows overloading of names How versus What CS fantasy to forget how and focus on what How is a hard problem Distinguish features that are theoretically equivalent but practically different Rich set of primitive and aggregate types Everything can be a list, but it'll be slow Side effects to use memory more effectively Reduce copying Manual memory management GC is not possible for some applications Done right beats a garbage collector Large Vs. Small Languages Small language Secondary features are in a standard library Advantages: easier to learn core features, make a compiler Large language First class treatment of secondary features Allows specialized operations, makes programs more readable Advantage: a smoother user experience Ease of learning is dependent on more than language size You still have to learn library API's Intangible quality: how the language corresponds to human cognition Open source makes compilers easier to write Open front end acts as the spec Object-Orientation: Yes or No? Stepanov's criticism programming = data structures + algorithms multi-sorted algebras Object orientation has shown itself useful in certain circumstances Offer OO as an option Leave inheritance behind Inheritance hierarchies are difficult to follow Fragile base class problem requires reanalysis of class behavior Mango walk through Influences Syntax plus some basic examples Module system + incremental compilation (Include requires clause, parameter and options) (platform and foundation files) Naming and overloading Literals (include string format) Primitive Types Memory model (include pointer/reference syntax) Records and Abstracts Procedures, functions, constants (pure functions?) Statements: Control flow Statements: I/O Abstract Data Type (objects) Iterators and iteration operators Mutexes Exception Handling Strings, arrays, buffers Collection Types Global variables/External symbols/Module Constructors Calling convention part of the type system Packet/Device types Development aids Genericity SETL - set operations ALGOL - imperative block structure and syntax C - low level ops, low overhead ML - type inference, type syntax ADA - fine grained control over primitives PYTHON - indentation based syntax JAVA - interfaces C++ - STL, operator overloading, IO syntax CLU - iterators PASCAL - sets (bit masks) PERL - richness of expressibility COBOL - readable syntax SIMULA - objects Syntax Mango's Syntax Mango looks like pseudo code Indentation based syntax Reduces clutter and typing Allows more code to be shown on the screen Blocks can be enclosed with begin/end delimiters if desired All directives, definitions, statements begin with a keyword Simple style that is easy to remember User's symbolic names cannot conflict with reserved words This makes the language easy to extend There are no exclusively reserved keywords Legacy of lex? program hello with args of args_string is print "hello world", eol; print "# args = ", args size, eol; foreach a in args over i do print "args[", i, "] = '", a, "'", eol; import std/io; program sort is declare list of integer list; repeat read [x of integer] from stdin; exit when x == 0; add x into list; repeat begin declare x of logical/boolean; foreach i in 1 to list size - 1 where list[i] > list[i+1] do swap list[i] with list[i+1]; set x; exit when x == false; end foreach x in list do print x, eol; module primes; import std/program, ascii/utils; procedure find_primes n of integer, primes of (integer list)& do exit when n == 0; add 2 into primes; declare z of integer where z = 3; while primes size < n do while some x in primes where z % x == 0 do incr z; add z into primes; program primes with args of args_string is eval args[1] with ascii_to_integer into &n when args size == 2 else 1000; declare primes of integer list; call find_primes with n, primes; foreach i in primes do print i, " "; print eol; module ackermann; import ascii/parse; function ack with m of integer, n of integer yielding integer is n+1 when m == 0, ack(m - 1, 1) when n == 0, ack(m - 1, ack(m, n - 1)) otherwise; program ackermann with args of args_string is declare n of integer where n = 1; eval args[1] with parse into n when args size > 0; call ack with 3, n into &result; print "Ack(3,", n, "): ", result", eol; module spell_check; import ascii/parse; literal dict_hash_size is 1079; program spell_check with args of args_string is declare dict of <ascii+ string> set {dict_hash_size}; open file of ascii text where path = "dictionary.txt"; foreach [word of ascii+ string] in file do add word into dict; close file; foreach [word of ascii+ string] in stdin do print word, eol when word not_in dict; literal z is 43.234i; program complex is declare x of number/32 complex; assign 1 + z into &p; 1.0 + 3.3i into x; print p, ":", x, eol; program set_example is declare s1 of <ascii+ string, integer> set; declare s2 of integer set; declare s3 of set<integer>; add 1 at "one" into s1; 2 at "two" into s2; fill s2 with x in 1 to 30 where x % 3 == 0 yielding x; extract z from x in s2 where x == 9 yielding x; print z, eol; print s1, eol; Modules and Naming Modules Module is a set of symbols Each file is a module Module name must correspond to pathname A modules symbols can be public or private Public: symbols are visible to other modules Private: symbols are invisible to other modules Modules may import and include other modules Import: foreign symbols are localized (private) Include: foreign symbols are exported (public) Incremental Compilation Mango supports incremental compilation Module has changed A dependency has changed Major or minor revision? Compares syntax trees Major revision: public change Minor revision: private change Comparing syntax Advantage: Eases implementation Disadvantage: Set of major revisions is obviously larger Naming Naming is not hierarchical, but geometric Symbol names exist within a four-d grid Namespace, keyword, extension, auxiliary Only namespace and keyword are mandatory Each module is part of a namespace Public symbols use declared namespace Private symbols use special namespace "local" Format: namespace::keyword@extension$auxiliary module test in system; enum color is red, blue, green; procedure do_it; object tst_obj is state a of integer; b of integer; method ppp of integer yielding integer; program test is print system::color@red; print system::color@blue; call system::do_it; declare record of system::tst_obj$record; declare method of <integer => integer, system::tst_obj> method; assign system::tst_obj@ppp into method; Shallow Overloading Overloading occurs for every imported or included module 4d namespace is collapsed into 1d namespace Utilizing keyword or extension Other partial namespaces as well Symbol can be access using proper name or alias Ensures all overloaded symbols have a unique name As a result, all overloading is superficial or shallow Operator overloading is also supported module test in system; enum color is blue, green; procedure test; -------------------------------------------------------------------------------------------------------------module io; ** part of namespace io import test; enum color is red, green, blue; procedure test; program doit is call test; ** this will cause a unresolvable symbol name conflict call system::test; ** this will work just fine print red; ** this will print the word 'red' print color@red; ** this will print the word 'red' print blue; ** this will an unresolvable symbol name conflict print io::color@blue; ** this will work module test in mango; ** ** Operator overloading ("+", add, mango:add) ** procedure add "+" with a of integer, b of integer yielding integer; ** ** Prefix overloading (parse, parse#integer, mango::parse, mango::parse#integer) ** procedure parse#integer with ascii string yielding integer; ** ** Package overloading ** package ops is procedure add "+"; procedure div "/"; procedure mul "*"; procedure sub "-"; ** ("+", add, @add, ops@add, mango::ops@add) ** ("/", div, @div, ops@div, mango::ops@div) ** ("*", mul, @mul, ops@mul, mango::ops@mul) ** ("-", sub, @sub, ops@sub, mango::ops@sub) Memory Model Mango's Memory Model Value semantics Put stuff on the stack, particularly primitives Key for performance Offers more flexibility Three types of memory Static: Compiled data, global variables Heap items that are never deleted Arbitrary: Heap items that are eventually deleted Local: Items that live on the stack Safe manual memory management Static datums Always safe to use Arbitrary datums Need to be guarded to avoid dangling pointer references Local datums Compiler must enforce restrictions to avoid dangling pointer references Sentries Pointer guards are called sentries Pointers to arbitrary datums are fat One address to the datum on the heap One address to the datum's sentry Sentries live on the heap too Have a static lifetime (i.e. never deallocated) They are very small ~= 5 bytes Sentry Performance When # sentries is small Good performance on modern hardware Sentries stay in the cache Half of the processor's time is spent waiting on memory As # sentries increases cache starts to overflow We need to reduce the number of sentries Arenas and Recycling Method #1: Allocate in pools A group of datums share a sentry Allocated arbitrarily, but deallocated at once Method #2: Recycling Use static datums instead When static datums are deleted Initialized to zero Stay on the heap until datum of the same type is requested Incorrect results are possible, catastrophic failures are not The program cannot break the type system variable x of integer; g1 of integer'; ** arbitrary g2 of {integer}' ** static program test is assign x into g1; ** legal assign x into g2; ** legal assign new integer into g1; ** legal declare z of integer; p1 of integer'; p2 of (integer)'; p3 of {integer}'; ** arbitrary ** local ** static assign z into p1; ** illegal assign z into p2; ** legal assign new integer into p2; **legal new integer into p3; **illegal get integer into p3; **legal Literals Literals Definition A value which is known at compile time Types Immediate values Numeric primitives and text Literal expressions Interpreted during compilation Parameters Values used to configure the compiler Options User supplied values to customize a build Literals can be named Numeric Literals Six types Integer, Decimal, Hex, Address, Binary, Signal Integers and decimals also include complex plane signifiers Can be anonymous Anonymous literals are stored as untyped strings Converted to a real value when type is known There are no constraints on range Can be typed Type is specified with value Converted immediately to the desire type value There are no constraints on range literal int_scalar is 100_000; literal int_real is 100_000_000_000_000_000_000_000_000_000_000r; Literal int_imag is 100_000i; Literal dec_scalar is 1.00E+5; Literal dec_real is 3.14r; Literal imag_imag is 123_456.56i; Literal hex is $ffff_ef1d; Literal addr1 is #ffee.0; Literal addr2 is #ffee.7; Literal binary is #1000_1001_0101; Literal signal is \10xz_xxzz_0101; Literal crdnl_100 is <100, cardinal/32> Literal intgr_100 is <-100, integer/32> Literal pi is <3.14, number/32> Text Literals Two types Characters and Strings Stored as untyped strings until desired type is known Characters enclosed with the back tick Text string enclosed with the double quote Literals can be inserted into characters and text strings Named literals Parameters Options Character codes Character aliases literal hello_word is "hello world!"; literal char_a is `a`; literal newline is `\n`; literal version is "*(major_version).*(minor_version).*(revision)"; literal abc is "$<64>$<65>$<66>"; literal char_b is `$<64>`; literal path_seperator is `#(path_seperator)`; literal home_path is "*(base_path)$(path_seperator)home"; Literal Expressions Two forms of literal expressions Normal literals: immediate evaluation Macro literals: deferred evaluation Macros are evaluated over arguments Result value is optionally typed Expressions can include Condition construct Conversion construct Local aliasing literal page_width is 80; literal seperator is (' ', page_width); ** creates a string of 80 spaces literal name is "joebob briggs"; macro pick with a, b, c is min(a,b) + max(b,c); literal test is pick(10,30,50); literal file_seperator is #operating_system such_that "linux_x86" yields '/', "windows_95" yields '\\', "solaris" yields '/', "windows_xp" yields '/', else '?'; literal version_string is *major_version & "." & *minor_version & "." & *program_revision; literal max_int of integer/32 is 2^32 - 1; literal seperator is (' ', page_width); ** creates a string of 80 spaces literal name of char/ascii(*) is "joebob briggs"; macro pick with a, b, c is min(a,b) + max(b,c); literal test is pick(10,30,50); literal file_seperator is #operating_system such_that "linux_x86" yields '/', "windows_95" yields '\\', "solaris" yields '/', "windows_xp" yields '/', else '?'; literal version_string is major & "." & minor & "." & revision where major = *major_version, minor = *minor_version, revision = *program_revision; Parameters and Options Changes cause recompilation of module Part of the public interface of the module Checked when comparing syntax Only options that are used included in dependency analysis Parameters included in dependency analysis Specified by user Have a major impact on compilation Core Types Core Types Primitives Tuples and Unions Addresses, Pointers, References Polymorphic Types Strings, Arrays and Buffers Collections Records and Abstracts Primitives Logicals 2 state binary [on/off] 3 state boolean [true/false/unknown] 4 state signals [1/0/x/z]) Ordinals Unsigned base (2^64-1 max) Range from 0 to N Characters ASCII, UTF8, UTF16, UTF32, etc Base 2 registers User specified size in bits Signal buses 4 state logic User specified range in bits Included for hardware modeling/simulations Primitives (cont'd) Cardinal numbers 1 bit to 64 bits Fractional precision Subranges Signed base (-2^62 to 2^62) upper bound, lower bound, and default are user specified Integer numbers 8 bits to 64 bits + unlimited precision Fractional precision Rational numbers ratio of 2 integers Fixed point decimals Floating point numbers Primitives (cont'd) Complex numbers Primitives qualified with units Enumerations Matrices Coordinates Primitive Modifiers Conversion Automatic, manual, none, universal Evaluation None, Fixed, Fluid Approximation Round, Truncate, Conserve Overflow Check, Limit, Wrap Byte Order Big, Little, Host, Network type boolean of logical/boolean; type addr of address {1}; type index of ordinal {1024} having overflow wrapped; type ascii of char/ascii having overflow checked; type reg_16 of register {15:0}; type upper_32 of signal {63:32}; type count of cardinal/32 having overflow checked, endian network; type fahrenheit of subrange {-100, 32, 212} having overflow limited; type int32 of integer/32 {4}; ** a fixed point integer with 4 bits of fractional precision type rat360 of rational {360}; ** rational number with base 360 type float_32 of number/32; type dollar of decimal {10:2}; type cmplx32 of number/32 complex; type speed of number/32 units miles per seconds; type point of integer/32 coordinate {x,y}; type matrix_2_2 is integer matrix {2:2}; Tuples and Unions Anonymous type products Fields can be labeled Unions Each term of product is overlapped Unsafe Elaborate types decompose into tuples Addresses, Pointers, References Addresses have bitwise resolution Address is 2 product tuple Upper value: byte count Lower value: bit count Addresses still optimal types with byte-wise alignment will drop bit count Pointers Address of type where address is significant References Address of type where type is significant Polymorphic Types Sums Superposition of multiple types Qualified with type tag to ensure safety Handle Anonymous pointer (points to anything) Anything Stores any type value type three_integers of [integer, integer, integer]; type three_names_integers of [a: integer, b: integer, c: integer]; type the_union of [i: integer/32, c: cardinal/64, b: logical/boolean] union; type bit_address of address {1}; type bit_address of address {8}; type integer_pointer of integer'; ** equiv to address {8}; type bit_pointer of [logical/bit]'; ** equiv to address{1}; type integer_reference of integer&; program test is declare the_sum of integer | cardinal | logical/boolean | rational/32; declare h of handle'; declare a of anything; declare p of integer'; declare i1, i2 of integer; delcare c1 of cardinal; assign i1 into the_sum; assign ^the_sum into i2; assign p into h; ** the handle absorbs the pointer assign i1 into a; ** a can hold anything assign c1 into a; Strings, Arrays, Buffers Arrays Dimension type can be customized Slices of arrays preserve range information Strings Array of items from 1 to x Dimension type can be customized Slices of strings begin at 1 Buffers Fixed length string that wraps around itself Varying start and end positions Dimension type can be customized type string_fixed of char/ascii(10); type string_variable of <char/ascii,cardinal/64> string; type array_fixed of <char/ascii, integer coordinate {x,y}>[[0,0] to [30,30]]; type array_variable of <char/ascii, integer coordinate {x,y}> array; type buffer_fixed of %(byte, 10); type buffer_variable of <char/ascii, cardinal/8> buffer; Collections Entry a node of a linked list a combination of string and pointer Segment List appends new data at the end elements allocated in pages Stack FIFO Can be prioritized Sequence inserts new data elements allocated in pages Queue LIFO Can be prioritized Collections (cont'd) Mask A bit mask Range A numeric range with upper and lower bounds Set A hashed set Doubles as a one-to-one map Table A hashed one-to-many mapping Group A special collected used for comparisons Graph Used for frequency tables type entry of integer entry; type segment of ascii segment {100}; type list of user_record list {256}; type stack of <user_record, cardinal> stack; type sequence of user_record sequence {32}; type queue of user_record queue; type mask of ascii mask; type range of number range; type set of ascii string set {19}; type table of <ascii string, cardinal> table {89}; type group of integer range group; type graph of <ascii string, number> graph; Type Qualifiers Immutable, Volatile Records Three visibility states Public: accessible anywhere Protected: accessible by modules that declare access Private: accessible within the module Two layout types Fixed: in order of declaration Packed: ordered to reduce record size Fields can be qualified to remove them from the build Abstracts Interface to multiple record types Records mapped to abstracts using link directive Gives more flexibility in mapping abstracts Mappings can occur after declaration i.e. library types can still be mapped to abstracts Simplifies remapping of fields Fields can be qualified to remove them from the build Medley: combines abstract with a group of records record user_data is name, surname of ascii+ string; address, town of ascii+ string; zip_code of ordinal {10_000} when *enable_zip; record payment_data having visibility protected is name, last_name of ascii+ string; code of ascii(3); abstract named_record is name of ascii+ string; surname of ascii+ string; link user_data to named_record; link payment_data to named_record is last_name => surname; record register_f1having layout fixed is count of register {3:0}; enable_1 of logical/bit; enable_2 of logical/bit; delay of register {5:0}; hold of regsiter {3:0}; medley Expression with unary, binary, ternary, postfix, literal is target of expression' for unary, postfix, ternary; left, right of expression' for binary, ternary; string of ascii+ string for literal; value of integer for postfix, literal; procedure print_it with e of Expression' is …; program test is let e1 = new Expression@unary; let e2 = new Expression@binary; call print_it with e1; call print_it with e2; Abstract Data Types Mango can bind any type to a class Objects: Classes + Record Properties getter/setter methods Parameters Properties that can only be set at instantiation Delegates Multiple dispatch for aspects and aggregates Normal classes do not support inheritence Object Construction Constructor (prelude) Destructor (finale) New style constructor Parameters and properties can be set before the constructor is called Only one constructor per class – no overloading Constructor spans entire object. Variable initialization at declaration class abc of integer is property value of integer is update assign operand into ^target; query assign ^target into result; method print is print "value=", ^target, eol; prelude assign 0 into ^target; finale call print with object user_obj with cnt of integer, nm of ascii string is state count of integer where count = cnt; name of ascii string where name = nm; letters of ascii mask; path, type of ascii string; ** request allocates at initialization request buffer of ascii buffer upto cnt; prelude fill .letters with x in name yielding x; finale print "Destroying object: ", name, eol; property path; ** automatically does getter and setter method parameter type of ascii string is update assign operand into .type; query return .type; Object Interfaces Interfaces (mixins) Separates sub typing concerns from implementation Interfaces are purely abstract. No associated code Uses link directive like record abstracts Bind operator links types to interfaces automatically Interface printable with method write with s of stream'; attribute default_format of io_format; attribute type_info of type'; class print_integer of integer is method write with s of stream'; property default_format of io_format; attribute type of type'; link print_integer to printable where type => type_info; program test is declare x of integer where x = 100; write log with "x =", %x, eol; ** write (log) takes printable interface only Aggregates Composition instead of hierarchical inheritance Flattens the hierarchy: easier to understand and maintain Overriding of methods is explicit Compiler can statically check for problems All publicly accessible methods must explicitly exported aspect general_motors method ghi; method abc; method def; aspect truck is method abc; virtual method def; aggregate general_motors_truck is inherit general_motors; inherit truck; override abc in truck with ghi in general_motors export abc in truck; export ghi in general_motors; export def in general_motors; aspect general_motors method ghi; method abc; method def; aspect truck with a of integer, b of integer is method abc; virtual method def; prelude ….; aggregate general_motors_truck with a of integer is inherit general_motors; inherit truck with a, 100; override abc in truck with ghi in general_motors export abc in truck; export ghi in general_motors; export def in general_motors; Built in I/O Devices Mango's built in I/O devices are typed Six types of I/O devices file: an operating system file text: a line oriented text file stream: an I/O stream port: a connection listener database: a database document: a document (XML) program test is open tx of ascii text where path = "test.txt"; foreach line in tx over i do print [width=5] -> i, ":", line; close tx; Procedures and Functions Procedures Multiple inputs and output Call by localized reference Compiler makes a duplicate of a value on the stack if necessary Nested procedures Can reference variables within parents scope Return values are held in a named variable Possible to return values with assignment Functions and Constants Real functions Essentially a single expression Extended with two case constructs Condition and conversion Constants Similar format to functions Evaluated only once, result is cached AKA Eiffel once function Clean way to instantiate global variables Procedures and Functions (cont'd) Mango supports function/procedure pointers Both global and local procedures Invokation through expressions or statements Statement invokations automatically infer return types Labeled arguments possible procedure test with a of integer, b of integer yielding c of integer, d of integer is assign a / b into c; assign a * b into d; Procedure yo_baby with a of integer, b of integer yielding integer is procedure assign of c of integer yielding integer is assign c into result; procedure compute with d of integer, e of integer yielding integer is return d / e; call assign with a + b into &d; call compute with a, b into &e; call compute with a = d, b = e into result; Function qvc with a of integer, b of integer yielding integer is a / b when b <> 0, a when b == 0 and a <> 0, b when b <> 0, 1 otherwise; Function fact with integer yielding integer is 1 when operand < 1, operand * fact(operand – 1) when operand >= 1; Function qvc with a of integer, b of integer yielding ascii+ string is a / b when b <> 0, a when b == 0 and a <> 0, b when b <> 0, 1 otherwise; such_that 1 yields "one", -1 yields "minus one", 2 to 50 yields "fiftey", 51 to 100 yields "one hundred", else "unknown"; constant total of integer is 1; constant arena of arena' is new general_arena; function test with ascii+ string string, integer/32 yielding logical/boolean is s[x] when x > 0, s[y] when y > 0, "x" otherwise of_type ascii+ string such_that "true" yields true, "false yields false else unknown where s = operand.1, x = operand.2, y = x + 100; constant global_arena of arena is get arena; procedure call_back_global with v of integer, p of integer -> void is call p with v; procedure call_back_local with v of integer, p of integer ->> void is call p with v; procedure dump_global with v of integer is print "value =", v, eol; procedure doit with v of integer is procedure dump_local with v of integer is print "value =", v, eol; call call_back_local with v, dump_local; call call_back_local with v, dump_global; call call_back_global with v, dump_local; call call_back_global with v, dump_global; ** compiles ** compiles ** fails ** compiles Method Pointers Method pointers combine class state with class method When a method is selected from a class Result is a method pointer Special attribute and receptor pointers Automatically evaluated Method pointers are a supertype of function pointers Will absorb function pointers class abc is method test1 with integer yielding boolean; parameter p1 of integer; attribute a1 of integer; receptor r1 of integer; procedure p1 with integer yielding boolean; procedure test with a of abc' is declare m1 of integer => boolean; declare m2 of integer => void; declare m3 of void => integer; assign a.test1 into m1; assign p1 into m1; assign a.r1 into m2 assign a.a1 into m3; Expressions Operator Precedence Arithmetic Comparison/Logical Casting Membership in, not_in is, is_not like, not_like Array ~=, /= for string comparisons Production Sequence Operators Generate sequence: pick, every Test sequence: some, all Compute sequence: product, sum Statements Basic Blocks Production Placement Arithmetic Invokations Control Flow Iteration Collection Add, replace, remove, take, trim, filter Find, extract, fill, compute, copy, modify Program test is declare s1, s2, s3 of integer set; assign [1,2,3,4,5] into s1; add 9 into s1; add 10 into s1; replace 5 with 6 within s1; remove 1,2,3 from s1; filter s1 with [2, 4, 6]; if 3 in s1 then print "3 is in the set"; fill s2 with x in 1 to 100 where x % 3 == 0 yielding x; assign every x in 1 to 100 where x %3 == 0 yielding x into s2; find [i of integer] with x in s2 where x == 33 yielding x; extract [I of integer] with x in s2 where x == 66; I/O Development Iterators Iterators Procedures to iterate through through collections Exceptions Exception Handling Global variables Variables Global Constructors Misc Mutexes Packets Devices Genericity Genericity Builds Builds Assemblies, Platforms, and Prologues Module Suffixes Runtime type identification Requests types that are used Therefore not all types need to be instantiated Future Directions Future Directions Finish the compiler Mango is the first in a family of languages Sharing type system and syntax Targeting a virtual machine Application Language In the spirit of C# or Java Reference semantics i.e. no user defined pointers Automated memory management With user intervention Less complicated type system More accessible language Functional Language Functional/Dataflow semantics Strong focus on doing distributed computations Gateway to bring functional programming to the masses Accessible because of shared syntax and types Record Processing Language Basically a replacement for COBOL "The use of COBOL cripples the mind" "working within the limitations of the original COBOL programming model can make for robust and maintainable code" Overlooked area by language designers Command Language Cross between TCL and LISP Can be used as OS shell Eliza – MIT LL4 conference Classification of Functions into 4 Types: <G> Generator <C> Concentrator <T> Transformer <F> Filter Connected with pipes (aka unix shells) Miscellaneous Standard Development Environment Text Editor, Debugger, Static Analysis, Etc. Programming is about community Programmers Organization Builds community Standards body Funds open source projects Earns revenue by supplying directory services The End Thanks for listening


text:
Winter Ski and Sport specializes in Ski Group Travel throughout North America for groups ranging in size from small ski clubs and family gatherings to large ski councils and university ski clubs. Experience, knowledge, easy access and personal attention are just a few of the attributes that have made Winter Ski & Sport the leader in group ski travel. We offer a wide range of great destination ski resorts and give you unbiased, straightforward information on any resort that is of interest to your group.
Posted by: winterskiandsport | May 3, 2012
Welcome to Winter Ski and Sport Blog
Posted in General News

subset: commoncrawl


text:
Armenian Armed Forces broke ceasefire with Azerbaijan in various directions throughout the day, Azerbaijan's Defense Ministry told SIA.
The Armed Forces of Armenia violated ceasefire in the positions of Azerbaijani Armed Forces located the positions near Shurabad village of Aghdam region, Tapgaragoyunlu village of Goranboy region.
The enemy was silenced by retaliation fire.


text:
ENGLAND v WALES
Possibly the key development of the weekend before the biggest match of the weekend to come concerned someone who didn't actually play – Luke Charteris is close to a return to fitness but he didn't make the Newport-Gwent Dragons' side for their win over Edinburgh on Saturday night. Warren Gatland, therefore, is most likely still to be without his World Cup locks when he takes his men to Twickenham, Alun Wyn Jones' return for the Ospreys on Friday notwithstanding.
England could welcome back two backs who didn't have quite as wretched a World Cup as everyone else – Toby Flood and Manu Tuilagi played in Leicester's win at Saracens. However, Charlie Hodgson and Owen Farrell, whom they could replace, have been key to the two wins so far. The No 8 Ben Morgan, favoured to displace Phil Dowson, came through the Scarlets' loss to Leinster unscathed.
IRELAND v ITALY
The fly-half Ronan O'Gara, who has lost his international starting spot to Jonny Sexton, made the most of a start for Munster in Italy, kicking 15 points in a 35-14 win over Treviso. One of Italy's two first-choice scrum-halves, Fabio Semenzato, scored one of Treviso's two tries; Willem de Waal, one of the southern hemisphere-born fly-halves dominating Italian club rugby without necessarily being good enough for Tests – remember the unfortunate Tobias Botes in Rome the other week – kicked a couple of conversions.
SCOTLAND v FRANCE
The match that meant France v Ireland could not be replayed at Stade de France on Saturday, Stade Français v Toulon, produced a 19-19 draw and what would have been, in any other year, the Six Nations story of the weekend: an injury for Jonny Wilkinson. The former England fly-half damaged his knee and his ankle and did not finish the game.
- More about:
- Fitness
- Italy
- Jonny Wilkinson
- Saracens (rugby)
- Southern Hemisphere (rugby)
- Stade De France


text:
A Dhow Dubai Cruise can be an ideal way to spend a holiday with your family, your partner and friends.
Believe Me. On several occasions, my family and I have spent a beautiful time on a Dubai Dhow Cruise.
We have presented information about The Dubai Dinner Cruise in a very friendly and easy-to-read manner.
Useful Tips, Do's and Dont's, and Important Information:
Receive the Best Deals on Hotels in Dubai, United Arab Emirates.
Timings: There are cruises throughout the day, however, the one that is most sought after starts at 8:00 pm. Hotel pick-up starts at 6:30 pm.
If you'd like to club packages like the Dubai sightseeing tour, the Dubai Desert Safari and the Dhow Dubai Cruise etc., please Contact Us & we'll customize it for you, for a special price.
Return to Things To Do In Dubai
Return to Dubai-Forever.Com Home Page
Return to Dubai-Forever.Com Home Page
Hatta Fort Hotel in Dubai is the best resort in the mountains of Hatta, near the Oman border.
Madinat Jumeirah - Al Qasr Pool View. Beautiful Hotel of the Jumeirah group.
Jumeirah Beach Hotel Beit Al Bahar Exclusive Pool...
Madinat Jumeirah Dubai - Souk - Noodle House. Some fine dining experiences...Click here to read more...
Search the best hotels at the best prices. Guaranteed. HotelsCombined searches 1000+ sites to give you the best rates...
Call abroad, and talk for hours with your loved ones. Presenting the best International call quality @ the cheapest rates. Click the banner below...


text:
Other hotels in this area can be found on the map. Or have a look at one of these hotels:
Francisco Vidal Sureda, 24, 07015 Palma de Mallorca Show map
Set on pretty grounds in the residential area of La Bonanova, this hotel features an outdoor swimming pool. Each air-conditioned room includes a balcony, satellite TV and free Wi-Fi.
Hesperia Ciutat de Mallorca is just 10 minute drive from the center of Palma de Mallorca. It is half a mile from Bellver Castle and Bellver Forest, and Cala Mayor Beach is half a mile away.
Rooms at the hotel feature soft colors and simple, modern design. They include a safe, a minibar and a private bathroom with amenities.
The Hesperia Mallorca's restaurant is open for buffet breakfast and Mediterranean cuisine is served for dinner. In spring and summer, guests can enjoy a snack bar service on the terrace by the pool.
The hotel can organize bike and car rental for guests. It can also help to plan excursions in Palma de Mallorca.
Rooms: 60
Hotel Chain: NH Hotels
WiFi is available in public areas and is free of charge.
Free public parking is available at a location nearby (reservation is not needed).
These are general hotel policies for NH Ciudad de Mallorca. As they may vary per room type, please also check the room conditions.
From 15:00 hours
06:00 - 12:00 hours
There is no capacity for extra beds in the room.
Pets are not allowed.
When booking more than 9 rooms, different policies and additional supplements may apply.
The hotel reserves the right to pre-authorize credit cards prior to arrival.
Any type of extra bed or child's cot/crib is upon request and needs to be confirmed by management.
Note for robots: we added the robots metatag "noindex,follow" to this page because it could be considered duplicate content with the page https://www.booking.com/hotel/es/hesperiaciutatdemallorca.en-us.html which should be in the index.


text:
David Moyes snapped up the Scotland striker on a free transfer and the 25-year-old claims he did all he could to try and help save the club from administration
New Everton signing Steven Naismith does not regret opting out of transferring to newco Rangers, insisting the players have done all they can to help the financially-stricken club.
The Scotland international moved to Goodison Park on a free transfer on Wednesday amid criticism for failing to generate any income for new Gers owner Charles Green.
|Moyes key to move - Naismith
But, Naismith believes there is not much more he could have done for the club, claiming that he and his team-mates faced their "hardest decision" in choosing whether to leave or transfer over to the new-look Rangers side.
"It hasn't been nice, first of all from a fans' point of view, because the club was in such a mess, and from a footballing point of view, none of the squad were prepared for what we had to go through," he told the Guardian.
"It was to the squad's credit the way it did turn out and the players can hold their heads up high and say that they have done everything they could to try and pull the club out of administration.
"The outcome wasn't great but you move on from that and hence the reason I have come to the decision I have.
"We couldn't do much more but there is going to be a degree of disappointment from a lot of people with the way the players have left, but it has been the hardest decision for a lot of them, whether to leave or transfer over."
|Everton are 20/1 to finish in the top four of the Premier League with bet365
Toffees boss David Moyes sympathised with Rangers' plight, but admitted the ongoing problems at Ibrox helped them capture one of their transfer targets.
"Everyone knows Rangers' situation and we have had our eye on Steven for a long time," he added.
"The situation at Rangers gave us an opening.


text:
- Last login Nov 12, 14 @ 6:25 am
Street Fighter x Tekken Official Discussion Thread
[Quote] its not like this game is ready to be released. Read all the stuff on it and you will see they keep mentioning its not coming for awhile i doubt we will even see this next year.2 Weeks ago in Gaming
Modern Warfare 2 Official Discussion Thread
[Quote] fourzerotwo had an interview and he said there is gonna be way more maps in the high 20s so more map packs they are really trying to take our money from us2 Weeks ago in Gaming
Modern Warfare 2 Official Discussion Thread
[Quote] i saw fourzerotwo posted that on twitter. a big wtf? thats gonna be 30 dollars spent on map packs its a good thing i got the first one for free.2 Weeks ago in Gaming
Modern Warfare 2 Official Discussion Thread
[Quote] i thought that you couldn't get nukes in care packages?2 Weeks ago in Gaming
What Video Game are You Playing
marvel vs capcom 2 (just bought it off psn) and like always mw22 Weeks ago in Gaming
Modern Warfare 2 Official Discussion Thread
[Quote] nice i did this in a super quick match of demolition we won both rounds back to back super quick they never destroyed a bomb site when it was there turn. [URL]2 Weeks ago in Gaming
Sneak Peak Of New Blackberry 6
im excited for this os release im a huge blackberry fan and dont see myself giving up my phone for anything else right now. im currently using the bb bold 9700. i dont understand why people are always trying to compare iphones to blackberry's. There 2 completely different phones used for different things. im a huge blackberry fan and always come back to a bb and i admit the iphone is the best phone on the market for web surfing/videos but you dont get a blackberry for that you get a blackberry for a nice physical keyboard, push email, push notifications and for bbm haha. i enjoyed my iphone 3g for the 6 months i had it but honestly i just couldnt stick with it. its annoying how you have to jailbreak it to customize it in any way and always have to dodge os upgrades until a new jailbreak shows up. i also like how you can permanently unlock a blackberry as opposed to having to worry about updating your os cause there might be no unlock for the newest iphone baseband.2 Weeks ago in Gaming
Jail Break or be Safe
[Quote] uhhm no your wrong I jailbroke my phone and unlocked it also many times before when i had an iphone took it to the apple store twice and never got called out on it i just restored and they never asked any questions. its honestly not that hard.2 Weeks ago in Gaming
[Quote] i bought my refurbed d60 from adorama and i have never had any problems with it. honestly there wasnt even a scratch on it it looked brand new. and i also chose the d60 over the 30002 Weeks ago in Visual Arts
Modern Warfare 2 Official Discussion Thread
anybody play demolition that wants to setup a good team on psn? I am tired of randoms that play demolition like its team death match and don't even care about planting/diffusing/protecting bombs. just hit me up on psn EggyStaysFresh just mention your from hb.2 Weeks ago in Gaming
do any of you have experience with lomography cameras? i was gonna pick up the lomo fisheye 2 and maybe one other camera. ive looked em up and they seem pretty cool and fun to use. i have my dslr but these would be for when i dont wanna carry around my d60. Plus i wanna shoot on film sometimes.2 Weeks ago in Visual Arts
Modern Warfare 2 Official Discussion Thread
[Quote] Thats what i do. i use predator harrier chopper when i run n gun snipe. Intervention FTW. Im better at free for all when im doing this. TDM i do it a bit but chill more in the back.2 Weeks ago in Gaming
Curren$y - Where Is Smokey Robinson?
anybody got a download link? ive been looking around i cant find one.2 Weeks ago in Music Discussion
What Video Game are You Playing
saboteur and AC22 Weeks ago in Gaming
Modern Warfare 2 Official Discussion Thread
Man i just unlocked the ak and im in love to bad im gonna prestige its way better the mw4s less kick. Now i gotta wait a whole 70 more ranks to use it again.2 Weeks ago in Gaming


text:
– Monday's WWE RAW Supershow from Cleveland drew a sellout of 18,289 announced fans with 15,000 of those paid. – WWE's most recent DVD set on The Rock is already the best selling sports DVD...Read More →
– Shawn Michaels was announced as the guest referee for The Undertaker vs. Triple H in a Hell in a Cell match at Wrestlemania XXVIII on Raw. – Santino Marella beat Jack Swagger on Raw...Read More →
— Through the Make-A-Wish Foundation, Kelly Kelly granted her first wish backstage at Monday's Raw SuperShow. She wrote, "Just did my first ever @makeawish, it was an amazing honor, and Jerry is such an incredible...Read More →
— John Cena expects The Rock to bury him this Monday on Raw. He wrote on Twitter, "Flying to LA for fri night at staples. Then back to Daytona for green flag @ 500. Then...Read More →
– The 2012 Elimination Chamber pay-per-view opens up with a video package for the Chamber matches. – We're live from the Bradley Center in Milwaukee, Wisconsin as Michael Cole, Jerry Lawler and Booker T talk...Read More →
WWE Superstars (Airing Thursday on WWE.com): * Jack Swagger b. Mason Ryan * WWE Tag Team Champions Epico & Primo b. Alex Riley & Satino Marella * Aksana b. Maxine via pinfall...Read More →
– WWE Superstar Zack Ryder did a Q&A session with The Topeka Capital-Journal this week. Here are highlights: Q: In the recently released "WWE12" video game, I can pound on Zack Ryder with Ricky Steamboat,...Read More →
– Thanks to Paul Barkley for the following 2012 WWE Royal Rumble stats: Order of entrances: 1) The Miz 2) Alex Riley 3) R-Truth 4) Cody Rhodes 5) Justin Gabriel 6) Primo 7) Mick Foley...Read More →
– Tonight's WWE RAW Supershow kicks off with the normal opening video before Michael Cole welcomes us to Phoenix, Arizona. Cult of Personality hits as the WWE Champion CM Punk makes his way out to...Read More →
– Tonight's WWE RAW Supershow opens up with a video of Martin Luther King Jr. We go to the usual RAW opener. – We're live from the Honda Center in Anaheim, California as the pyro...Read More →
— Following Monday's Raw SuperShow broadcast, Dolph Ziggler cut a promo in which he claimed to have beaten John Cena. Kane then appeared, prompting Ziggler to run off. CM Punk then appeared, but was attacked...Read More →
Booker T was interviewed in-ring by Josh Matthews. Says he's ready for the match at TLC and teases returning to active competition if he wins the IC Title. Booker says he won't be Cody's legitimizer...Read More →
After Monday's RAW from Tampa went off the air, there was a 41-man battle royal with the winner getting a WWE Championship match against CM Punk immediately. Dolph Ziggler appeared to be eliminated early in...Read More →
WWE's annual Survivor Series takes place tonight at Madison Square Garden in New York City. It will be the 25th annual Survivor Series event and the first one to take place in Madison Square Garden...Read More →
Christian was replaced in the Traditional Survivor Series Elimination Tag Team match by WWE United States Champion Dolph Ziggler. The bout now looks like this: Wade Barrett, Cody Rhodes, Jack Swagger, Hunico & Dolph Ziggler...Read More →
We are live on tape from Liverpool, United Kingdom and your announcers are Michael Cole and Jerry Lawler. Things start off with John Cena and the fans of the United Kingdom sound a lot like...Read More →
-We are TAPED! from Liverpool, England (home of bad teeth and REALLY bad teeth) -Of course, John Cena kicks us off and pimps WrestleMania like it's a local show at a VFW. Hey, here's a...Read More →
Announced exclusively on WWE.com, Survivor Series will feature one of its signature bouts when Team Orton takes on Team Barrett inside the World's Most Famous Arena, Madison Square Garden, on Sunday, Nov. 20. Orton will...Read More →
Tonight's RAW SuperShow was taped on Saturday night, the first-ever RAW taping from Mexico. Here's a preview for tonight: Randy Orton, Sheamus & John Morrison vs. Mark Henry, Cody Rhodes & Christian Eve Torres vs....Read More →
– It was announced at Saturday's WWE RAW Supershow tapings in Mexico City that Kofi Kingston and Evan Bourne would be defending the WWE Tag Team Titles against Dolph Ziggler and Jack Swagger at the...Read More →


text:
Poll: New Yorkers Support Bike Share, 72 to 23
In a city where you can have four people and five opinions, three in four support the city's proposed bike share program, according to a Quinnipiac University poll.
Pollsters asked "New York City is starting a program to rent bicycles. This will add 10,000 bicycles to New York City streets and create park lots for bicycles. Do you support or oppose this program allowing people to rent bicycles in New York City?"
Among young people, the number supporting bike share rises to 87 percent, as close to unanimity as you'll ever see in a poll. Bike share is the least popular in Staten Island, but even there, bike share is supported 52 to 42 percent.
Republicans, Democrats, Independents, Men, Women, Whites, Blacks, and Hispanics said they would want "bike rental lots" (presumably bike share stations) in their neighborhoods, as did residents of all the boroughs except Staten Island, and ,members of all age groups except for those above 50.
However, only 45 percent said they'd used the bike share, compared to 53 percent who said they wouldn't.
The poll found support for bike lanes overall holding steady at 58 to 37 percent. But when asked if they wanted more bike lanes in their neighborhoods, New Yorkers were divided, with 46 percent saying yes and 48 percent saying no.
The poll of 1,068 registered voters was taken October 12-16, and has a margin of error of 3 percentage points.


text:
Need an online lab test in Bethalto, IL? Simply order the online lab test you want and get tested at a lab in Bethalto, IL (Find More Locations):
How much does an Online Lab Test cost?
Our Online Lab Test prices include the doctor's order that you need to get tested in Bethalto, IL, all lab fees and taxes, and a pdf copy of your results. For current prices in Bethalto, IL, please CLICK HERE.
What does a report for your Online Lab Test look like?
For a sample report of one of our popular panels, please CLICK HERE.
We are glad we can help people in Bethalto, IL get an Online Lab Test.
Online Lab Test in other cities near Bethalto, IL:Alton | Brighton | Bunker Hill | Cottage Hills | Dorsey | East Alton | Edwardsville | Glen Carbon | Godfrey | Hartford | Moro | Roxana | South Roxana | Wood River | Worden


text: The Duplicated Gene Database website has been released! This database provides a simple way to quickly and easily select groups of tandem duplicate or large groups of multigene family by gene identifier, chromosomal location and/or keywords. This database could be useful for various fields of applications (structural genomic, gene expression profiling, gene mapping, gene annotation) and could be expanded to others genomes as genomic annotations and peptide sequences are available.


text:
Acne on face
I am having acne on face so i consulted doctor and doctor suggested for Blood test of Acne Profile test and when i went to lab they told they want more details like for which hormone or something i want to do test can you please suggest for which test i should go since doctor is on leave till monday so want to confirm this as soon possible and go for test
Answers (1)
Like the answers? Chat privately for 24 hours with the doctor of your choice
There is no test called acne profile test. Usually few hormonal tests are done for resistant acne in females to rule out hormonal imbalances and may be those are called collectively as acne profile test by some labs. It is better to reconfirm the exact names of your blood tests from your dermatologist. But those tests are done in females usually. Wait for your dermatologist's confirmation.
Flag this answer
1/1 people found this helpful
Was this answer helpful?


text: Fresh Advertising CampaignThis week BISSELL will launch a television advertising campaign that marks the first time the company has highlighted its legacy of family ownership. The new ad series features testimonials from Cathy Bissell, Director of Corporate Affairs for BISSELL, founder of the BISSELL Pet Foundation, and wife of CEO Mark Bissell. A primary goal of the campaign is to demonstrate that BISSELL understands and respects the role of women as the heartbeat of the home. BISSELL's campaign takes a practical, woman-to-woman approach using realistic situations with kids and pets, including Cathy's black labs KC and Roxy, to demonstrate that it's easy to let life in when you're at ease because the clean-up will be simple. Launching March 4, the spring ads focus on four of BISSELL's upright and portable deep cleaning machines, including the new DeepClean Premier™ and SpotClean as well as the Lift-Off® Deep Cleaner and SpotBot® Pet. The spots will air in 15- and 30-second variations. The television spots were directed by Pam Thomas of Community Films. The campaign was created by Cramer-Krasselt, BISSELL's advertising agency of record. About BISSELL Homecare, Inc. For 137 years and counting, Michigan-based BISSELL Homecare, Inc. has developed innovative floor care solutions that make cleaning easier. As the top-selling brand in floor care appliances, BISSELL understands that fuller lives often mean more messes, and that convenient cleaning tools help us embrace life's messier moments. Now in its fourth generation of family leadership, the company supplies households across the globe with vacuums, sweepers, deep-cleaning machines, hard surface cleaners and cleaning formulas. For more on BISSELL's complete line of floor care products, visit www.bissell.com. SOURCE BISSELL Homecare, Inc.


text:
It only takes a minute to get started. Fill out our uncomplicated sign up form and login to the site.
This step is noncompulsory but will dramatically increase your chances of your profile getting read by other members. Write a little about yourself, your interests and attach a nice photograph of yourself.
Utilise our website's advanced search to discover members who are up to your requirements. Or just leaf through listings and discover singles that seem interesting.
Identified someone who looks like a good match? Drop them a line or just a wink and see how you get along. With a little luck you'll be on your way to uncover your proper date.
And start dating


text:
skip to main
skip to sidebar
Thorvir's Hobby Dumpster
Friday, December 16, 2016
Geigor Fell-Hand, Space Wolf Champion
Another Horus Heresy plastic model finished! Not as easy to paint as my Ultramarines Captain, but still very good and very satisfying in the end. Still eluding perfection, but, meh, it is a good mini regardless.
I should get better pics when the weather improves.
Posted by
Thorvir Hrothgaard
Email This
Share to Twitter
Share to Facebook
Share to Pinterest
No comments:
Post a Comment
Older Post
Subscribe to:
Post Comments (Atom)
My Links
Age of Sigmar
All Scale Trek
Armchair General
Games Workshop
Gruntz 15mm
Hickok45 on Youtube
Mantic Games
Mechwarrior Online
National Rifle Association
One Page Rules
Onslaught Miniatures
Osprey Games
Privateer Press
Star Wars Armada
Starship Combat Forum
Studio Bergstrom
Tactical Command
The Grand Alliance
Thorvir's Hobby Dumpster
Unexplained Myseries
War Thunder
Warhammer TV on Youtube
World War Two forums
Popular Posts
More miniatures
GHQ 1/285 scale German E-75 heavy tanks. Practically just a test to see how these small models work. GHQ has the best miniatures on th...
Epic 40K/Armageddon Space Ork Fighta-Bommer Scratch-build
Patience. I had quite a bit of the last couple of days. That's good, because I didn't have much skill, or eyesight, but my little ...
Horus Heresy models, yay!
Model done of the Ultramarines Captain from the Betrayal at Calth boxed set. Equipped with Cataphractii pattern Terminator armor, wielding ...
Off on another tangent...
...but at least I am painting minis. Not as fast as I'd like. Clan War miniature. Crab Clan Samurai Kaiu Kenru. First painted Clan...
Epic Armageddon again
Did some more E:A models. Hope I can stick with this for once, instead of losing interest and moving on to other things. (left to righ...
Age of Sigmar
Well, I recall posting earlier about liking what I was seeing about the newest edition of WHFB coming out. It's been out for a couple ...
More stuff again...
More Clan War miniatures. Crab Heavy Elite. 1/7000 scale Dominion Strike Force (Star Trek)
And Right After I Cry "Retirement"....
http://www.manticgames.com/ Kings of War is a wargames from Mantic Games, which is a miniatures and now wargaming company that is consid...
Geigor Fell-Hand, Space Wolf Champion
Another Horus Heresy plastic model finished! Not as easy to paint as my Ultramarines Captain, but still very good and very satisfying ...
The Return of the Ethereal Legion (Mantic Kings of War)
My newest attempt at a ghostly host. The previous one was a more vibrant green color, and I liked it, but it is hard to replicate for lar...
Total Pageviews


text:
This paper has been added to your cart ($35.00)
You may also Subscribe for unlimited downloads of all papers and abstracts on www.scientific.net ($135.00 per month)
The aim of the study was to obtain a ferritic-austenitic stainless steel through sintering of the mixture of austenitic steel AISI 316L powders with silicon in the amount ranging from 1 to 7%. The pressed mixtures were sintered at 1240oC for 60 minutes under hydrogen atmosphere. The results of the silicon admixture on the density, porosity, microstructure and mechanical properties of the sintered specimens are discussed.


text:
Nainital (Uttarakhand), Aug. 9 (ANI): Civic authorities in Naintal launched a fresh demolition drive of illegal buildings and structures, which were posing a threat to the fragile landscape and environment of the region, on Sunday.
The natural beauty of Nainital that attracts hordes of tourists every year is gradually fading away with the coming up of several concrete structures, both legal and illegal.
The Supreme Court also had taken a serious view of such developments, forcing the Nainital Development Authority to knock down all these illegal structures.
"We had sealed this building in January. But, despite that, they carried on construction activities. An FIR (First Information Report) has also been lodged against this person. But, still he continued constructing. So, in the end, we had to demolish the building," said Dheeraj Gabryal, Secretary of Nainital Development Authority.
However, one of the building owners complained that he was not given any prior notice.
"They did not give us notice. If they had given us a notice, we would not have built this," said Ajiz Ahmed, owner of an unauthorised building.
Environmentalists have maintained that the rapid illegal construction were responsible for the decline of greenery in the city.
"The natural beauty of Nainital is extraordinary. In order to protect its beauty, we should have put a check on construction of several buildings. But, unfortunately, building after building was constructed, both legal and illegal. You can see many unauthorised buildings being demolished," said Navin Verma, an environmentalist.
Situated at an altitude of 1,938 metres above sea level, Nainital is surrounded by mountains and boasts of a world famous lake named Naini, which is the prime attraction of the city.
Tourists in large numbers throng the city every year to catch a glimpse of its natural beauty, which unfortunately has been marred by the illegal construction activities. (ANI)


text:
Info & Phones News Reviews › Forum
SCH-A610 Speculation
http://www.circuitcity.com/cs_contentdisplay.jsp?c=1 ... »
Anyone got any LG-VX10's ?
Verizon Service in NYC
What is your experience with the service of Verizon? how is it in the tunnels of NYC - Midtown, LIRR, etc. How is it in the malls of Long island, Queens, Manhattan, etc.
What phones of Verizon get the best reception?
Sorry if this has been covered before, but I'm new to the forum.
TIA, for your input!
I have heard a lot of bad things, like ATTWS doesn't have coverage in these areas. And T-Mobile is okay along I-75, Cingular lost a law suit for 12 million dollars. And Sprint has the worst costumer service.
That leaves me with Verizon. If you can help me in this matter, I would be grateful.
Also can you recommend a good phone that has great reception that includes Analog?
AD discussions continues below...
Verizon in Ohio/Michigan
I wanted to let you all know that I am employed with an Agent for Verizon Wireless in the Ohio/Michigan areas. So if any of you have any questions, and you are in the Michigan or Ohio areas, please email me or let me know as to how I can help.
Verizon Guy In Ohio
Verizon New Phones ?
1) Camera Phone with Flash
2) Speakerphone and or push to talk combined
I know Sprints coming out with push to talk which has a camera phone with it but not sure of Verizons. Im holding out as long as I can but need to buy one soon to replace my Nextel contract which ends in Jan.
ATTN: Verizon1
ATTN: vzwdwt
LG 5450 Information.
I am looking at getting a new phone. I currently have Verizon service. I need to have analog support and I was looking at the LG 5450, which I saw on this site and at www.lg.ca. This phone however is not available in the United States as of yet.
Does anyone have any information at all regarding this phone.
Any Verizon Reps here? Please Help
Someone here told me to try Nextel, I haven't heard good things about them and I don't or want PTT.
Need to know about how their service is in north central florida and I need one of the better new phones that has a camera, with great signal reception. If you can recommend a phone with these qualities I would be grateful. Thanks!
difference in prices throughout the country
i600 Documentation
I600 Sales Pitch
I600 SpecSheet
I600 Training Guide
Check it out:
http://www.brewbackups.com/forum_viewtopic.php?34.2176 »
sch-a610 - no 2nd display?
What about the Motorola phone?
http://news.com.com/2100-1037_3-5082934.html »
Samsung SPH-i600 Now Available from VZW Site!
The lower end models have all dropped in price. Cheapest phone is now $19.99.
The Nokia 3589i is now $49.99 with no rebate. I think this will help verizon corner the lower end market.
The rest of the phones prices have stayed the same...unless they will drop later.
I heard that the VX6000 will price drop...it was supposed to happen when the i600 launched...but it didn't. Any one know why?


text:
Salt Lake City Adult Open Classes
Class Days and Times
Adult classes are held five times each week through-out the year beginning on Monday, August 29, 2016.
Monday: 9:00-10:30 am – Trolley Square (600 S. 650 E., SLC, UT)
Tuesday: 7:00-8:30 pm – Trolley Square
Thursday: 7:00-8:30 pm – Trolley Square
Friday: 9:00-10:30 am – Trolley Square
Saturday: 9:00-10:30 am – Jessie Eccles Quinney Ballet Centre Location (52 w. 200 S., SLC, UT)
Drop-in class price:
$12 for adults
$10 for students and seniors
If you think you may be coming on a more regular basis, you may be interested in purchasing a pass card.
Pass card:
5 classes $57 ($47.50 for students and seniors) `
10 classes $114 ($95 for students and seniors)
Pass cards expire one year from date of purchase and are non-transferable.
Ballet West Academy accepts cash, check or all major credit cards.
Class Description
Classes are drop-in classes which means you do not need to pre-register to take class. You can start at any time. No audition required. Just show up as often as you like. 5 times a week, every other week, once a month, or once a year…whatever works for you! If you arrive late for class, please check with the teacher to determine whether it is still possible to join class.
Classes are given at a high Intermediate/low advanced level, but we have all different levels of dancers attending, from a more beginner/elementary dancer to professional dancers during their time off! We do have both men and women attending these classes. The atmosphere is very welcoming… most of our attendees are dancers who have studied dance at some point earlier in life and are coming back because they miss having dance in their life. Starting back can take time, so be gentle with your first classes back, if it hasn't been a while and enjoy the experience once again! You can push yourself as hard or as easy as you like in these classes to make your time with us as enjoyable as you want!
Unfortunately, we do not offer a beginning adult level. If you have had no training at all, please contact us for other options (801-869-6912)… we may be able to help you find a place to begin your studies.
About the Studio
These studios are also used by the Ballet West Company dancers and other levels of the Academy. Please be respectful of the activities going on in the studios as you wait for your class to begin.
Directions into Trolley Square to find the Studio
The best entrance to enter is at 650 East 600 South, SLC UT 84102. As you enter the mall from 600 south, you will walk into a large amphitheater. Elevated on your left will be Sam Weller's Book Store and on your right will be the Ballet West Administrative Offices. Walk up the short stairway and head to your left past Sam Weller's and you'll see the Ballet West Academy Office directly ahead. Head down the Hallway between Sam Weller's and the Ballet West Academy office and the entrance to the studios will be around the corner on your left.
Restroom/dressing-rooms for men and women are located inside the entrance to the studios through the lounge on your right. It is a small space, shared by company dancers and Academy students.We recommend coming underdressed whenever possible. Additional restrooms are located outside of the Academy offices. Lockers are not available for use. Please take all personal belongings (Including shoes) into the studio contained in your dance bag.
There is free parking at Trolley Square on the south side of 600 South directly across from the south entrance. There is also covered parking on the Westside entrance. Metered parking is also available Parking on the street is two hours free on Saturdays.
Directions into the Jessie Eccles Quinney Ballet Centre
The access door is off of 200 south at 52 west. There is a large sign with the words "Ballet West." Enter the door next to this sign. Take the stairs to the second floor to sign-in with the receptionist. Dressing rooms are also located on the second floor. The receptionist will then direct you to the correct studio where class will take place. The exact studio within the Jessie Eccles Quinney Ballet Center will rotate.
Dress Code
Our dress code for classes is quite flexible. You can come in full ballet attire (leotards and tights) or sweats and a t-shirt. What ever you feel most comfortable in.
The only thing we require is ballet shoes.
Pointe classes are not offered, but if you have trained en pointe and want to take class in pointe shoes, you may at your own choosing.
We request that you do not wear strong perfumes or colognes as some people do have allergies.
Food, Drinks and Gum are not allowed in the studio. You may bring a water bottle that closes tightly. We encourage you to go green and use a reusable water bottle.
We do not hold classes on the following holidays:
Memorial Day: Mon. May 30, 2016
Independence Day: Mon. July 4, 2016
Labor Day: Mon. Sept 5, 2016
Thanksgiving: Thurs. Nov. 24, 2016
Christmas Eve: Sat. Dec. 24, 2016
New Year's Eve: Sat. Jan 31, 2016
Martin Luther King Jr. Day: Mon. Jan 16, 2017
President's Day: Mon. Feb. 20, 2017