Before we continue …
A Word from the Sponsor!
Don't Fear Monads
They are just a versatile abstraction, like map
or fold
.
Parsers
A parser is a function that
- converts unstructured data (e.g.
String
, array ofByte
,…) - into structured data (e.g. JSON object, Markdown, Video…)
type Parser = String -> StructuredObject
Every large software system contains a Parser
| System | Parses |
|---|---|
| Shell Scripts | Command-line options |
| Browsers | HTML |
| Games | Level descriptors |
| Routers | Packets |
| Netflix | Video |
| Spotify | Audio, Playlists… |
How to build Parsers?
Two standard methods
Regular Expressions
- Doesn’t really scale beyond simple things
- No nesting, recursion
Parser Generators
- Specify grammar via rules
Expr : Var { EVar $1 }
| Num { ENum $1 }
| Expr Op Expr { EBin $1 $2 $3 }
| '(' Expr ')' { $2 }
;
- Tools like
yacc
,bison
,antlr
,happy
- convert grammar into executable function
Grammars Don’t Compose!
If we have two kinds of structured objects Thingy
and Whatsit
.
Thingy : rule { action }
;
Whatsit : rule { action }
;
To parse sequences of Thingy
and Whatsit
we must duplicate the rules
Thingies : Thingy Thingies { ... }
EmptyThingy { ... }
;
Whatsits : Whatsit Whatsits { ... }
EmptyWhatsit { ... }
;
No nice way to reuse the sub-parsers for Whatsit
and Thingy
:-(
A New Hope: Parsers as Functions
Lets think of parsers directly as functions that
- Take as input a
String
- Convert a part of the input into a
StructuredObject
- Return the remainder unconsumed to be parsed later
data Parser a = P (String -> (a, String))
A Parser a
- Converts a prefix of a
String
- Into a structured object of type
a
and - Returns the suffix
String
unchanged
Parsers Can Produce Many Results
Sometimes we want to parse a String
like
"2 - 3 - 4"
into a list of possible results
Minus (Minus 2 3) 4), Minus 2 (Minus 3 4)] [(
So we generalize the Parser
type to
data Parser a = P (String -> [(a, String)])
EXERCISE
Given the definition
data Parser a = P (String -> [(a, String)])
Implement a function
runParser :: Parser a -> String -> [(a, String)]
= ??? runParser p s
QUIZ
Given the definition
data Parser a = P (String -> [(a, String)])
Which of the following is a valid oneChar :: Parser Char
that returns the first Char
from a string (if one exists)
-- A
= P (\cs -> head cs)
oneChar
-- B
= P (\cs -> case cs of
oneChar -> [('', [])]
[] :cs -> [c, cs])
c
-- C
= P (\cs -> (head cs, tail cs))
oneChar
-- D
= P (\cs -> [(head cs, tail cs)])
oneChar
-- E
= P (\cs -> case cs of
oneChar -> []
[] -> [(head cs, tail cs)]) cs
Lets Run Our First Parser!
>>> runParser oneChar "hey!"
'h', "ey")]
[(
>>> runParser oneChar "yippee"
'y', "ippee")]
[(
>>> runParser oneChar ""
[]
Failure to parse means result is an empty list!
EXERCISE
Your turn: Write a parser to grab first two chars
twoChar :: Parser (Char, Char)
= P (\cs -> ???) twoChar
When you are done, we should get
>>> runParser twoChar "hey!"
'h', 'e'), "y!")]
[((
>>> runParser twoChar "h"
[]
QUIZ
Ok, so recall
twoChar :: Parser (Char, Char)
= P (\cs -> case cs of
twoChar :c2:cs' -> [((c1, c2), cs')]
c1-> []) _
Suppose we had some foo
such that twoChar'
was equivalent to twoChar
twoChar' :: Parser (Char, Char)
= foo oneChar oneChar twoChar'
What must the type of foo
be?
A. Parser (Char, Char)
B. Parser Char -> Parser (Char, Char)
C. Parser a -> Parser a -> Parser (a, a)
D. Parser a -> Parser b -> Parser (a, b)
E. Parser a -> Parser (a, a)
EXERCISE: A forEach
Loop
Lets write a function
forEach :: [a] -> (a -> [b]) -> [b]
= ??? forEach xs f
such that we get the following behavior
>>> forEach [] (\i -> [i, i + 1])
[]
>>> forEach [10,20,30] (\i -> [show i, show (i+1)])
"10", "11", "20", "21", "30", "31"] [
QUIZ
What does quiz
evaluate to?
= forEach [10, 20, 30] (\i ->
quiz 0, 1, 2] (\j ->
forEach [+ j]
[i
) )
A. [10,20,30,0,1,2]
B. [10,0,20,1,30,2]
C. [[10,11,12], [20,21,22] [30,31,32]]
D. [10,11,12,20,21,22,30,31,32]
E. [32]
A pairP
Combinator
Lets implement the above as pairP
forEach :: [a] -> (a -> [b]) -> [b]
= concatMap f xs
forEach xs f
pairP :: Parser a -> Parser b -> Parser (a, b)
= P (\s -> forEach (runParser aP s) (\(a, s') ->
pairP aP bP ->
forEach (runParser bP s') (\(b, s'')
((a, b), s'')
) )
Now we can write
= pairP oneChar oneChar twoChar
QUIZ
What does quiz
evaluate to?
= pairP oneChar oneChar
twoChar
= runParser twoChar "h" quiz
A. [((
h,
h), "")]
B. [(
h, "")]
C. [("", "")]
D. []
E. Run-time exception
Does the Parser a
type remind you of something?
Lets implement the above as pairP
data Parser a = P (String -> [(a, String)])
data ST s a = S (s -> (a, s))
Parser
is a Monad!
Like a state transformer, Parser
is a monad!
We need to implement two functions
returnP :: a -> Parser a
bindP :: Parser a -> (a -> Parser b) -> Parser b
QUIZ
Which of the following is a valid implementation of returnP
data Parser a = P (String -> [(a, String)])
returnP :: a -> Parser a
= P (\s -> []) -- A
returnP a
= P (\s -> [(a, s)]) -- B
returnP a
= P (\s -> (a, s)) -- C
returnP a
= P (\s -> [(a, "")]) -- D
returnP a
= P (\s -> [(s, a)]) -- E returnP a
HINT: return a
should just
- “produce” the parse result
a
and - leave the string unconsumed.
Bind
Next, lets implement bindP
- we almost saw it as
pairP
bindP :: Parser a -> (a -> Parser b) -> Parser b
= P (\s ->
bindP aP fbP ->
forEach (runParser aP s) (\(a, s') ->
forEach (runParser (fbP a) s') (\(b, s'')
[(b, s'')]
)
) )
The function
- Builds the
a
values out ofaP
(usingrunParser
) - Builds the
b
values by callingfbP a
on the remainder strings'
- Returns
b
values and the remainder strings''
The Parser
Monad
We can now make Parser
an instance of Monad
instance Monad Parser where
>>=) = bindP
(return = returnP
And now, let the wild rumpus start!
Parser Combinators
Lets write lots of high-level operators to combine parsers!
Here’s a cleaned up pairP
pairP :: Parser a -> Parser b -> Parser (a, b)
= do
pairP aP bP <- aP
a <- bP
b return (a, b)
Failures are the Pillars of Success!
Surprisingly useful, always fails
- i.e. returns
[]
no successful parses
failP :: Parser a
= P (\_ -> []) failP
QUIZ
Consider the parser
satP :: (Char -> Bool) -> Parser Char
= do
satP p <- oneChar
c if p c then return c else failP
What is the value of
= runParser (satP (\c -> c == 'h')) "hellow"
quiz1 = runParser (satP (\c -> c == 'h')) "yellow" quiz2
quiz1 |
quiz2 |
|
|---|---|---|
| A | [] |
[] |
| B | [('h', "ellow")] |
[('y', "ellow")] |
| C | [('h', "ellow")] |
[] |
| D | [] |
[('y', "ellow")] |
Parsing Alphabets and Numerics
We can now use satP
to write
-- parse ONLY the Char c
char :: Parser Char
= satP (\c' -> c == c')
char c
-- parse ANY ALPHABET
alphaCharP :: Parser Char
= satP isAlpha
alphaCharP
-- parse ANY NUMERIC DIGIT
digitChar :: Parser Char
= satP isDigit digitChar
QUIZ
We can parse a single Int
digit
digitInt :: Parser Int
= do
digitInt <- digitChar -- parse the Char c
c return (read [c]) -- convert Char to Int
What is the result of
= runParser digitInt "92"
quiz1 = runParser digitInt "cat" quiz2
quiz1 |
quiz2 |
|
|---|---|---|
| A | [] |
[] |
| B | [('9', "2")] |
[('c', "at")] |
| C | [(9, "2")] |
[] |
| D | [] |
[('c', "at")] |
EXERCISE
Write a function
strP :: String -> Parser String
= -- parses EXACTLY the String s and nothing else strP s
when you are done, we should get the following behavior
>>> dogeP = strP "doge"
>>> runParser dogeP "dogerel"
"doge", "rel")]
[(
>>> runParser dogeP "doggoneit"
[]
A Choice Combinator
Lets write a combinator orElse p1 p2
such that
- returns the results of
p1
or, else if those are empty
- returns the results of
p2
:: Parser a -> Parser a -> Parser a
= -- produce results of `p1` if non-empty
orElse p1 p2 -- OR-ELSE results of `p2`
e.g. orElseP
lets us build a parser that produces an alphabet OR a numeric character
alphaNumChar :: Parser Char
= alphaChar `orElse` digitChar alphaNumChar
Which should produce
>>> runParser alphaNumChar "cat"
'c', "at")]
[(
>>> runParser alphaNumChar "2cat"
'2', "cat")]
[(
>>> runParser alphaNumChar "230"
'2', "30")] [(
QUIZ
orElse :: Parser a -> Parser a -> Parser a
= -- produce results of `p1` if non-empty
orElse p1 p2 -- OR-ELSE results of `p2`
Which of the following implements orElse
?
-- a
= do
orElse p1 p2 <- p1
r1s <- p2
r2s return (r1s ++ r2s)
-- b
= do
orElse p1 p2 <- p1
r1s case r1s of
-> p2
[] -> return r1s
_
-- c
= P (\cs ->
orElse p1 p2 ++ runParser p2 cs
runParser p1 cs
)
-- d
= P (\cs ->
orElse p1 p2 case runParser p1 cs of
-> runParser p2 cs
[] -> r1s
r1s )
An “Operator” for orElse
It will be convenient to have a short “operator” for orElse
<|> p2 = orElse p1 p2 p1
A Simple Expression Parser
Now, lets write a tiny calculator!
-- 1. First, parse the operator
intOp :: Parser (Int -> Int -> Int)
= plus <|> minus <|> times <|> divide
intOp where
= do { _ <- char '+'; return (+) }
plus = do { _ <- char '-'; return (-) }
minus = do { _ <- char '*'; return (*) }
times = do { _ <- char '/'; return div }
divide
-- 2. Now parse the expression!
calc :: Parser Int
= do x <- digitInt
calc <- intOp
op <- digitInt
y return (x `op` y)
When calc
is run, it will both parse and calculate
>>> runParser calc "8/2"
4,"")]
[(
>>> runParser calc "8+2cat"
10,"cat")]
[(
>>> runParser calc "8/2cat"
4,"cat")]
[(
>>> runParser calc "8-2cat"
6,"cat")]
[(
>>> runParser calc "8*2cat"
16,"cat")] [(
QUIZ
What will quiz
evaluate to?
calc :: Parser Int
= do x <- digitInt
calc <- intOp
op <- digitInt
y return (x `op` y)
= runParser calc "99bottles" quiz
A. Type error
B. []
C. [(9, "9bottles")]
D. [(99, "bottles")]
E. Run-time exception
Next: Recursive Parsing
Its cool to parse individual Char
…
… but way more interesting to parse recursive structures!
"((2 + 10) * (7 - 4)) * (5 + 2)"
EXERCISE: A “Recursive” String Parser
The parser string s
parses exactly the string s
- fails otherwise
>>> runParser (string "mic") "mickeyMouse"
"mic","keyMouse")]
[(
>>> runParser (string "mic") "donald duck"
[]
Lets fill in an implementation
string :: String -> Parser String
= ??? string s
Which library function will eliminate the recursion from string
?
QUIZ: Parsing Many Times
Often we want to repeat parsing some object
-- | `manyP p` repeatedly runs `p` to return a list of [a]
manyP :: Parser a -> Parser [a]
= m0 <|> m1
manyP p where
= return []
m0 = do { x <- p; xs <- manyP p; return (x:xs) } m1
Recall digitChar :: Parser Char
returned a single numeric Char
What will quiz
evaluate to?
= runParser (manyP digitChar) "123horse" quiz
A. [("" , "1234horse")]
B. [("1" , "234horse")]
C. [("1", "23horse"), ("12", "3horse"), ("123", "horse )]
D. [("123", "horse")]
E. []
Lets fix manyP
!
Run p
first and only return []
if it fails …
-- | `manyP p` repeatedly runs `p` to return a list of [a]
manyP :: Parser a -> Parser [a]
= m1 <|> m0
manyP p where
= return []
m0 = do { x <- p; xs <- manyP p; return (x:xs) } m1
now, we can write an Int
parser as
int :: Parser Int
= do { xs <- manyP digitChar; return (read xs) } int
which will produce
>>> runParser oneChar "123horse"
"123", "horse")]
[(
>>> runParser int "123horse"
123, "horse")] [(
Parsing Arithmetic Expressions
Now we can build a proper calculator!
calc0 :: Parser Int
= binExp <|> int
calc0
int :: Parser Int
= do
int <- many digitChar
xs return (read xs)
binExp :: Parser Int
= do
binExp <- int
x <- intOp
o <- calc0
y return (x `o` y)
Works pretty well!
>>> runParser calc0 "11+22+33"
66,"")]
[(
> doParse calc0 "11+22-33"
ghci0,"")] [(
QUIZ
calc0 :: Parser Int
= binExp <|> int
calc0
int :: Parser Int
= do
int <- many digitChar
xs return (read xs)
binExp :: Parser Int
= do
binExp <- int
x <- intOp
o <- calc0
y return (x `o` y)
What does quiz
evaluate to?
= runParser calc0 "10-5-5" quiz
A. [(0, "")]
B. []
C. [(10, "")]
D. [(10, "-5-5")]
E. [(5, "-5")]
Problem: Right-Associativity
Recall
binExp :: Parser Int
= do
binExp <- int
x <- intOp
o <- calc0
y return (x `o` y)
"10-5-5"
gets parsed as 10 - (5 - 5)
because
The calc0
parser implicitly forces each operator to be right associative
doesn’t matter for
+
,*
but is incorrect for
-
QUIZ
Recall
binExp :: Parser Int
= do
binExp <- int
x <- intOp
o <- calc0
y return (x `o` y)
What does quiz
get evaluated to?
= runParser calc0 "10*2+100" quiz
A. [(1020,"")]
B. [(120,"")]
C. [(120,""), (1020, "")]
D. [(1020,""), (120, "")]
E. []
The calc0
parser implicitly forces all operators to be right associative
doesn’t matter for
+
,*
but is incorrect for
-
Does not respect precedence!
Simple Fix: Parentheses!
Lets write a combinator that parses something within (...)
parensP :: Parser a -> Parser a
= do
parensP p <- char '('
_ <- p
x <- char ')'
_ return x
now we can try
calc1 :: Parser Int
= parens binExp <|> int
calc1
binExp :: Parser Int
= do
binExp <- int
x <- intOp
o <- calc1
y return (x `o` y)
now the original string wont even parse
>>> runParser calc1 "10-5-5"
[]
but we can add parentheses to get the right result
>>> runParser calc1 "((10-5)-5)"
0 ,"")]
[(
>>> runParser calc1 "(10-(5-5))"
10 ,"")]
[(
>>> runParser calc1 "((10*2)+100)"
120, "")]
[(
>>> runParser calc1 "(10*(2+100))"
1020, "")] [(
Left Associativity
But how to make the parser left associative
- i.e. parse “10-5-5” as
(10 - 5) - 5
?
Lets flip the order!
calc1 :: Parser Int
= binExp <|> oneInt
calc1
binExp :: Parser Int
= do
binExp <- calc1
x <- intOp
o <- int
y return (x `o` y)
But …
>>> runParser calc1 "2+2"
...
Infinite loop! calc1 --> binExp --> calc1 --> binExp --> ...
- without consuming any input :-(
Solution: Parsing with Multiple Levels
Any expression is a sum-of-products
10 * 20 * 30 + 40 * 50 + 60 * 70 * 80
=>
10 * 20) * 30) + (40 * 50)) + ((60 * 70) * 80))
((((=>
* base) * base) + (base * base)) + ((base * base) * base))
((((base =>
* base) + prod) + (prod * base))
(((prod =>
+ prod) + prod)
((prod =>
sum + prod)
(=>
sum
=>
expr
Parsing with Multiple Levels
So lets layer our language as
:== sum
expr sum :== (((prod "+" prod) "+" prod) "+" ... "+" prod)
:== (((base "*" base) "*" base) "*" ... "*" base)
prod :== "(" expr ")" ORELSE int base
that is the recursion looks like
= sum
expr sum = oneOrMore prod "+"
= oneOrMore base "*"
prod = "(" expr ")" <|> int base
No infinite loop!
expr --> prod --> base -->* expr
but last step
-->*
consumes a(
Parsing oneOrMore
Lets implement oneOrMore vP oP
as a combinator - vP
parses a single a
value - oP
parses an operator a -> a -> a
- oneOrMore vP oP
parses and returns the result ((v1 o v2) o v3) o v4) o ... o vn)
But how?
grab the first
v1
usingvP
continue by
- either trying
oP
thenv2
… and recursively continue withv1 o v2
orElse
(no moreo
) just returnv1
- either trying
oneOrMore :: Parser a -> Parser (a -> a -> a) -> Parser a
= do {v1 <- vP; continue v1}
oneOrMore vP oP where
= do { o <- oP; v2 <- vP; continue (v1 `o` v2) }
continue v1 <|> return v1
Implementing Layered Parser
Now we can implement the grammar
= sum
expr sum = oneOrMore prod "+"
= oneOrMore base "*"
prod = "(" expr ")" <|> int base
simply as
= sum
expr sum = oneOrMore prod addOp
= oneOrMore base mulOp
prod = parens expr <|> int base
where addOp
is +
or -
and mulOp
is *
or /
mulOp :: Parser (Int -> Int -> Int)
addOp,= constP "+" (+) <|> constP "-" (-)
addOp = constP "*" (*) <|> constP "/" div
mulOp
constP :: String -> a -> Parser a
= do { _ <- string s; return x } constP s x
Lets make sure it works!
>>> doParse sumE2 "10-1-1"
8,"")]
[(
>>> doParse sumE2 "10*2+1"
21,"")]
[(
>>> doParse sumE2 "10+2*1"
12,"")] [(
Parser combinators
That was a taste of Parser Combinators
- Transferred from Haskell to many other languages.
Many libraries including Parsec used in your homework - oneOrMore
is called chainl
Read more about the theory - in these recent papers
Read more about the practice - in this recent post that I like JSON parsing from scratch


This web site is under development.
I am able to read and interpret code in over few languages including modern dialects like JavaScript, Objective-C, C++ and Python.
While I don't have the full skills of a professional data scientist, I do have a strong background in mathematics, computer programming, and a knowledge of modern deep learning approaches.
If you're trying to contact me professionally, look me up on Linked In.
CONTACT ME


Performance test: Simulates a day's worth of 3 checks running at 30 second intervals.
Tests to perform:
-
Observe the console timer to determine the time taken for drawing the graph.
-
Get heap snapshot and check for memory leaks.
-
Take CPU profile.
-
Open Task Manager in Chrome and watch the memory/cpu, reload the page.


Automated Pill Dispenser for Seniors with Memory Loss
Overview
A Solution for Memory Loss
• • •
• • •
A common problem faced by aging citizens is memory loss. Regularly forgetting things can impair a person’s
ability to complete daily tasks done efficiently, if at all. Memory loss includes a wide spectrum of symptoms,
so for this project our group focused on assisting senior citizens with mild memory loss, who live in their personal
home and are still mostly mobile and able to communicate.
Our solution to address this problem consists of an automated pill dispenser. Family members and/or caretakers
are able to insert medicine bottles into the Pilltender machine, which then alerts the senior citizen and
dispenses pills into a specialized cup at the appropriate times.
Features
Automated Pill Dispensing
• • •
• • •
Easily scan and store up to 6 different
medications that are automatically
dispensed when needed
Navigate Pilltender's easy-to-use interface
with a few taps or voice commands to
complete any task
Taking medicine is one simple step with
our specialized mug that centralizes water
and appropriate medications
Video
See Pilltender in Action
• • •
• • •
Coming soon!
Team
Shadman Abedin
Senior, Computer Science
Allison Chou
Junior, Computer Science
Celina Hipolito
Junior, HCDE
Will Wang
MHCI+D
Documents
Initial Report
Download
Initial Presentation
Download
Final Report
Download
Final Presentation
Download


Hot-Air Balloon flights is the proud recipient of eight tourism awards.
AirVentures Hot Air Ballooning is a commercial air transport service that is registered with the South African Civil Aviation Authority. Our pilots are some of the most qualified and experienced in the country, ensuring a safe and memorable flight.


Ibtisam Alzahrani
Graduate studatent in Information Technology
Department of Computer Information Science
Minnesota State University Mankato
Wissink Hall
Ph:<PHONE_NUMBER>


About Us
WholeTone Music Academy is a nurturing and rad place to Grow in Self & Sound! Our teachers will help you to develop into a joyful, soulful, skillful musician.
Now accepting new students of all ages, abilities, types, & stripes.
We feel strongly about community involvement. Our school offers our students frequent performances in retirement centers, nursing homes, and other community venues. We are always working on making people of all types and stripes welcome, and consider ourselves an LGBTQA safe space.
Help Us Grow
We are poised and ready to for a growth spurt this Spring! We will be building a second room and a convenient bathroom! Wahoo! To support local music education and this beautiful creative space, please contribute here and/or share widely. Many Thanks!


Marine Markets West is a sales agency representing quality manufacturers since 1980 in the Marine, Sporting goods and trailer component industries for the western region of North America. Our team of three professionals has a combined industry experience of 70 years with the contacts, knowledge and market insight to provide the highest level of sales and service support for the quality manufacturers we represent. Our focus is to create, maintain, and strengthen relationships, helping to open new avenues and develop new products to maximize sales in the West while supporting present business. We deal on a daily basis with OEM's, distributors, retailers, chain stores and the end consumer throughout the West.
A lifelong boater since he was a kid running the family Bell Buoy runabout with a smoke belching 75 Hp Evinrude. Kurt is always enthusiastic about having fun on the water, whether it's fishing, scuba diving, water sports, or just plain cruising. He brings that same energy and enthusiasm to the business side of the marine industry, with extensive personal experience running everything on the water from inflatables to whitewater jet boats and offshore cruising.
Thirty plus years of sales and marketing experience, with twenty of those as a manufacturers representative for Marine Markets West, and a degree in finance from the University of Colorado complement his business experience.
Kurt travels the NW territory including British Columbia and Alaska calling on OEMs and distributors throughout the region, sometimes using his pilot's license to cover such a large geographic area. As owner of Marine Markets West, national accounts fall under his responsibility. Kurt resides just outside of Seattle, WA with his wife Mary and their furry, four legged children.
Bob has over 30 years of experience working in the Marine and Sporting goods industry. He joined a manufactures representative company in Seattle in 1984 after spending 7 years working for Eli Lilly and Co. Bob formed his own sales agency: the Bob Stoick Co. in 1990 and joined the Marine Markets West team in 2005. In addition to his strong sales background, he holds a bachelor’s degree in marketing and finance from Lewis and Clark College in Portland, Oregon.
A road junky at heart who racks up thousands of road and frequent flier miles working with dealers, distributors, OEMS and mass retailers out west. Engine service and repair dealers continue to be a strong focus of Bob’s sales efforts. The MMW agency has developed strong relationships with the distributors who service this market segment. Customers depend on the engine accessory expertise that Bob brings to the field.
Formally from Seattle he moved to Arizona 5 years ago to get back in the sun and uses this excellent air hub to easily reach customers.
Evelyn has over 20 years working for Marine Markets West while taking care of everything from office administration to customer service and providing support for Kurt and Bob while they are on the road. She has thorough knowledge of the business side working with our represented manufacturers, OEM and distribution customers.
When there are issues or problems Evelyn knows what to do and who to call to make sure it gets handled. She resides in Seattle.
Office:<PHONE_NUMBER> Cell:<PHONE_NUMBER>
<EMAIL_ADDRESS>PO Box 598 or 4240 326th PL SE Fall City WA 98024
Fax:<PHONE_NUMBER> Cell:<PHONE_NUMBER>
<EMAIL_ADDRESS>43367 N. Vista Hills Drive Anthem, AZ 85086
916-225-3501
<EMAIL_ADDRESS>Letters/Checks/Correspondence go to: P. O. Box 598 Fall City, WA 98024


| Total net profit | -4.98 | Gross profit | 1.43 | Gross loss | -6.41 |
| Profit factor | 0.22 | Expected payoff | -0.33 | ||
| Absolute drawdown | -4.98 | Maximal drawdown (%) | 4.4 (-758.62%) | ||
| Total trades | 15 | Profit trades (% of total) | 2 (13.33%) | Loss trades (% of total) | 13 (86.67%) |
| Long positions (won %) | 9 (11.11%) | Short positions (won %) | 6 (16.67%) | ||
| Largest | profit trade | 1.07 | loss trade | -0.99 | |
| Average | profit trade | 0.72 | loss trade | -0.49 | |
| Minimum | profit trade | 0.36 | loss trade | -0.17 | |
| Maximum | take profit in pips | 223.7 | stop loss in pips | -76.2 | |
| Average | take profit in pips | 90.8 | stop loss in pips | -42.1 | |
| Minimum | take profit in pips | -16.1 | stop loss in pips | -18.3 | |
| Maximum | Reward-Risk | 7.3 | Duration in minutes | 119 | |
| Average | Reward-Risk | 2.6 | Duration in minutes | 29.8 | |
| Minimum | Reward-Risk | 0.0 | Duration in minutes | 0 | |
| Maximum | consecutive wins (profit in money) | 1.0 (1.07) | consecutive losses (loss in money) | 6.0 (-3.14) | |
| Average | consecutive wins | 1.0 | consecutive losses | 5.0 |
| Total net profit | -3.47 | Gross profit | 1.07 | Gross loss | -4.54 |
| Profit factor | 0.24 | Expected payoff | -0.39 | ||
| Absolute drawdown | -3.47 | Maximal drawdown (%) | 2.89 (-498.28%) | ||
| Total trades | 9 | Profit trades (% of total) | 1 (11.11%) | Loss trades (% of total) | 8 (88.89%) |
| Largest | profit trade | 1.07 | loss trade | -0.99 | |
| Average | profit trade | 1.07 | loss trade | -0.57 | |
| Minimum | profit trade | 1.07 | loss trade | -0.17 | |
| Maximum | take profit in pips | 198.5 | stop loss in pips | -76.2 | |
| Average | take profit in pips | 91.1 | stop loss in pips | -49.9 | |
| Minimum | take profit in pips | -16.1 | stop loss in pips | -34.3 | |
| Maximum | Reward-Risk | 4.5 | Duration in minutes | 84.0 | |
| Average | Reward-Risk | 2.1 | Duration in minutes | 28.9 | |
| Minimum | Reward-Risk | 0.0 | Duration in minutes | 0.0 | |
| Maximum | consecutive wins (profit in money) | 1.0 (1.07) | consecutive losses (loss in money) | 4.0 (-2.37) | |
| Average | consecutive wins | 1.0 | consecutive losses | 4.0 |
| Total net profit | -1.51 | Gross profit | 0.36 | Gross loss | -1.87 |
| Profit factor | 0.19 | Expected payoff | -0.25 | ||
| Absolute drawdown | -1.61 | Maximal drawdown (%) | 1.31 (-436.67%) | ||
| Total trades | 6 | Profit trades (% of total) | 1 (16.67%) | Loss trades (% of total) | 5 (83.33%) |
| Largest | profit trade | 0.36 | loss trade | -0.47 | |
| Average | profit trade | 0.36 | loss trade | -0.37 | |
| Minimum | profit trade | 0.36 | loss trade | -0.26 | |
| Maximum | take profit in pips | 223.7 | stop loss in pips | -47.4 | |
| Average | take profit in pips | 90.4 | stop loss in pips | -30.4 | |
| Minimum | take profit in pips | 28.1 | stop loss in pips | -18.3 | |
| Maximum | Reward-Risk | 7.3 | Duration in minutes | 119.0 | |
| Average | Reward-Risk | 3.3 | Duration in minutes | 31.2 | |
| Minimum | Reward-Risk | Duration in minutes | 0.0 | ||
| Maximum | consecutive wins (profit in money) | 1.0 (0.36) | consecutive losses (loss in money) | 4.0 (-1.61) | |
| Average | consecutive wins | 1.0 | consecutive losses | 4.0 |


"As a Christ-centered congregation, we are called to teach, grow, and serve the people of God."
Welcome to the webpage of Antioch Lutheran Church located in Farmington Hills, Michigan!


Reveal Modal
Modal dialogs, or pop-up windows, are handy for prototyping and production. Foundation includes Reveal our jQuery modal plugin, to make this easy for you.
Basic
You can create a reveal modal using minimal markup. The anchor tag with the reveal-modal-id is what triggers the Reveal.
HTML
Click Me For A Modal

Awesome. I have it.

Your couch. It is mine.

I'm a cool paragraph that lives inside of an even cooler modal. Wins!

×

Rendered HTML
Click Me For A ModalIntermediate
You can create a reveal modal with another inside it. Setting reveal.multiple_opened
to true
will not close previously opened reveal modals. You can even put a video into a reveal.
HTML

Modal in a modal…
Example Modal with Video…

This is a modal.

Reveal makes these very easy to summon and dismiss. The close button is simply an anchor with a unicode character icon and a class of close-reveal-modal. Clicking anywhere outside the modal will also dismiss it.

Finally, if your modal summons another Reveal modal, the plugin will handle that for you gracefully.

Second Modal...

×

This is a second modal.

See? It just slides into place after the other first modal. Very handy when you need subsequent dialogs, or when a modal option impacts or requires another decision.

×

This modal has video

×

Advanced
Additional classes can be added to your reveal modal to change its appearance.
The class options:
tiny
: Set the width to 30%.small
: Set the width to 40%.medium
: Set the width to 60%.large
: Set the width to 70%.xlarge
: Set the width to 95%.full
: Set the width and height to 100%.
Note: Default on small is 100% (full) width.
Removing the Background
HTML

Firing a Reveal Modal
To launch a modal, just add a data-reveal-id
to the object which you want to fire the modal when clicked. The data-reveal-id
needs to match the id
of your reveal.
HTML
Click Me For A Modal
You can also open and close Reveal via Javascript:
// trigger by event
$('a.reveal-link').trigger('click');
$('a.close-reveal-modal').trigger('click');
// or directly on the modal
$('#myModal').foundation('reveal', 'open');
$('#myModal').foundation('reveal', 'close');
Or you can call one right after the other:

I'm the firstborn!
Click me!

I'm the secondborn!
Close modal

Click me!
// There's no need to close a previous modal before you
// open another one.
$('a.open-first').on('click', function() {
$('#first-modal').foundation('reveal','open');
});
$('a.open-second').on('click', function() {
$('#second-modal').foundation('reveal', 'open');
});
$('a.close').on('click', function() {
$('#second-modal').foundation('reveal', 'close');
});
Firing a Reveal Modal with Ajax Content
To launch a modal with content from another page, just add adata-reveal-ajax
attribute pointing to the url of that page. When clicked, the Reveal modal will be opened with a content from that page. Beware: content of the object from data-reveal-id
attribute will be overwritten as a result.
To use an url from href
attribute just add data-reveal-ajax="true"
instead.
JS
<button data-reveal-id="myModal" data-reveal-ajax="http://some-url">
Click Me For A Modal
</button>

Click Me For A Modal

Ajax-based Reveal modals can also be opened via Javascript:
JS
// just an url
$('#myModal').foundation('reveal', 'open', 'http://some-url');
// url with extra parameters
$('#myModal').foundation('reveal', 'open', {
url: 'http://some-url',
data: {param1: 'value1', param2: 'value2'}
});
// url with custom callbacks
$('#myModal').foundation('reveal', 'open', {
url: 'http://some-url',
success: function(data) {
alert('modal data loaded');
},
error: function() {
alert('failed loading modal');
}
});
Please refer to http://api.jquery.com/jQuery.ajax/ for a complete list of possible parameters.
Event Bindings
There are a series of events that you can bind to for triggering callbacks:
Deprecation Notice
Previous versions of the reveal plugin emitted un-namespaced open
, opened
, close
and closed
events, however, these have been replaced by the namespaced open.fndtn.reveal
, opened.fndtn.reveal
, close.fndtn.reveal
and closed.fndtn.reveal
events. The un-namespaced events have been fully deprecated.
$(document).on('open.fndtn.reveal', '[data-reveal]', function () {
var modal = $(this);
});
$(document).on('opened.fndtn.reveal', '[data-reveal]', function () {
var modal = $(this);
});
$(document).on('close.fndtn.reveal', '[data-reveal]', function () {
var modal = $(this);
});
$(document).on('closed.fndtn.reveal', '[data-reveal]', function () {
var modal = $(this);
});
Accessibility
This component is not yet fully accessible. While it is usable via the keyboard, it has to be checked if additional ARIA attributes can enhance the components accessibility.
Customize with Sass
Reveal modals can be easily customized using our Sass variables.
SCSS
$include-html-reveal-classes: $include-html-classes;
// We use these to control the style of the reveal overlay.
$reveal-overlay-bg: rgba($black, .45);
$reveal-overlay-bg-old: $black;
// We use these to control the style of the modal itself.
$reveal-modal-bg: $white;
$reveal-position-top: rem-calc(100);
$reveal-default-width: 80%;
$reveal-max-width: $row-width;
$reveal-modal-padding: rem-calc(20);
$reveal-box-shadow: 0 0 10px rgba($black,.4);
// We use these to style the reveal close button
$reveal-close-font-size: rem-calc(40);
$reveal-close-top: rem-calc(8);
$reveal-close-side: rem-calc(11);
$reveal-close-color: $base;
$reveal-close-weight: $font-weight-bold;
// We use this to set the default radius used throughout the core.
$reveal-radius: $global-radius;
$reveal-round: $global-rounded;
// We use these to control the modal border
$reveal-border-style: solid;
$reveal-border-width: 1px;
$reveal-border-color: $steel;
$reveal-modal-class: "reveal-modal";
$close-reveal-modal-class: "close-reveal-modal";
Semantic Markup With Sass
You can create your own reveal modals using our Sass mixins.
Setting the background
You can use the reveal-bg()
mixin to create your own reveal modal, like so:
.custom-reveal-class {
@include reveal-bg();
}
Creating the base structure
You can use this mixin to create the structure of a reveal modal
.custom-reveal-class {
@include reveal-modal-base(
// Provides reveal base styles, can be set to false to override.
$base-style:true,
// Sets reveal width Default: $reveal-default-width or 80%
$width:$reveal-default-width
);
}
Set Reveal Base Styles
You can use this mixin to style the reveal modal defaults
.custom-reveal-class {
@include reveal-modal-style(
// Sets background color of reveal modal. Default: $reveal-modal-bg or #fff
$bg:$reveal-modal-bg,
// Set reveal border style. Default: $reveal-border-style or solid
$border:true,
// Width of border (i.e. 1px). Default: $reveal-border-width.
$border-style:$reveal-border-style,
// Color of border. Default: $reveal-border-color.
$border-width:$reveal-border-width,
// Color of border. Default: $reveal-border-color.
$border-color:$reveal-border-color,
// Choose whether or not to include the default box-shadow. Default: true, Options: false
$box-shadow:true,
// Default: $reveal-position-top or 50px
$top-offset:$reveal-position-top
);
}
Add a close button
You can use this mixin to create a close button for the reveal modal
.custom-reveal-class {
@include reveal-close(
$color:$reveal-close-color
);
}
Note: rem-calc();
is a function we wrote to convert px
to rem
. It is included in _variables.scss.
Using the Javascript
foundation.min.js
are available on your page. You can refer to the Javascript documentation on setting that up.
If you are not using foundation.min.js and individually adding plugins, include foundation.reveal.js
AFTER the foundation.js
file. Your markup should look something like this:

...

Required Foundation Library: foundation.reveal.js
Optional Javascript Configuration
Reveal options can only be passed in during initialization at this time. However, you can bind to the open, opened, close, and closed events.
You can also specify an AJAX error callback with the option on_ajax_error.{
animation: 'fadeAndPop',
animation_speed: 250,
close_on_background_click: true,
dismiss_modal_class: 'close-reveal-modal',
multiple_opened: false,
bg_class: 'reveal-modal-bg',
root_element: 'body',
on_ajax_error: $.noop,
bg : $('.reveal-modal-bg'),
css : {
open : {
'opacity': 0,
'visibility': 'visible',
'display' : 'block'
},
close : {
'opacity': 1,
'visibility': 'hidden',
'display': 'none'
}
}
}
### Adding New Reveal Content After Page Load If you add new content after the page has been loaded, you will need to reinitialize the Foundation JavaScript by running the following:
$(document).foundation();
Reflow will make Foundation check the DOM for any elements and re-apply any listeners to them.
$(document).foundation('reveal', 'reflow');
*
Sass Errors?
If the default "foundation" import was commented out, then make sure you import this file:
SCSS
@import "foundation/components/reveal";


{% extends "layout.html" %} {% block page_title %} GOV.UK prototype - IIDB - Alpha 01 {% endblock %} {% block content %} Alpha 01 This version comprises the following Trello Cards There are reasons a user will not be allowed to claim. View prototype {% endblock %}
This version comprises the following Trello Cards
View prototype


Thank you for purchasing INSPINIA admin theme. If you have any questions about the template, please feel free to contact us via email<EMAIL_ADDRESS>Thanks very much!
INSPINIA has a clean and minimalistic design which helps you create an awesome and powerful project. It is perfectly designed and precisely prepared. Template was built based on the latest
standards and recommendations. INSPINIA theme
is powered by Twitter Bootstrap v3 - the most popular front-end framework.
Please note that this documentation is dedicated to the main element of the template. With each version, we will try to develop it. But if you have any questions going beyond what is described
here don't hesitate to write to us.
inspinia_admin_theme/
├── css/
├── email_templates/
├── font-awesome/
├── fonts/
├── img/
├── js/
├── 404.html
├── 500.html
├── agile_board.html
├── article.html
├── badges_labels.html
├── basic_gallery.html
├── blog.html
├── buttons.html
├── calendar.html
├── carousel.html
├── chat_view.html
├── clients.html
├── code_editor.html
├── contacts.html
├── css_animation.html
├── dashboard_2.html
├── dashboard_3.html
├── dashboard_4.html
├── dashboard_4_1.html
...
Theme files have almost unchanging structure consisting of:
#wrapper
main container of body elements.nav .navbar-static-side
left navigation menu.#page-wrapper
main container for page elements.nav .navbar-static-top
top navigation with second menu..page-heading
container with page title and breadcrumb.wrapper-content
main container for html elements..footer
main container for footer.Page
contains Metadata, CSS files.
<!DOCTYPE html>   <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>INSPINIA | Page</title>  <link href="css/bootstrap.min.css" rel="stylesheet"> <link href="font-awesome/css/font-awesome.css" rel="stylesheet"> <link href="css/animate.css" rel="stylesheet"> <link href="css/style.css" rel="stylesheet">
Navigation menu with profile submenu.

       Amelia Smith  Art Director

Profile

Contacts

Mailbox

Logout

 IN+

Menu for notifications and primary functions such as logout or global search.

   <form role="search" class="navbar-form-custom" method="post" action="search_results.html">
 <input type="text" placeholder="Search for something..." class="form-control" name="top-search" id="top-search">
 </form>

 Welcome to INSPINIA+ Admin Theme.

   16

 46h ago Mike Loreipsum started following Monica Smith.
 3 days ago at 7:58 pm - 10.06.2014

 5h ago Chris Johnatan Overtunk started following Monica Smith.
 Yesterday 1:21 pm - 11.06.2014

 23h ago Monica Smith love Kim Smith.
 2 days ago at 2:30 am - 11.06.2014

   Read All Messages

   8

  You have 16 messages 4 minutes ago

  3 New Followers 12 minutes ago

  Server Rebooted 4 minutes ago

  See All Alerts

   Log out

Main content wrapper with page heading and page content.

This is main title

 This is

 Breadcrumb

 This is action area

Inspinia provide few option for you layout app. There are:
Fixed sidebar is a sidebar that is sticked on screen.
To add fixed sidebar you need to add .fixed-sidebar class to body.

Be sure that you have included this files to your index.html file:

Fixed navbar is a top navbar that is sticked on screen.
To add fixed sidebar you need to add .fixed-nav class to body.

Next we will need to change navbar from static to fixed. Change .navbar-static-top class to navbar-fixed-top
Fixed navbar 2 is a top navbar that is sticked on screen and it's width is the same as the width of wrapper
To add fixed sidebar you need to add .fixed-nav class and .fixed-nav-basic class to body.

Next we will need to change navbar from static to fixed. Change .navbar-static-top class to navbar-fixed-top

Fixed navbar 2 works only on primary layout
Fixed footer is a bottom footer that is sticked on screen.
To add fixed bottom footer you just need to add .fixed class to footer class.

Adding support for language written in a Right-To-Left (RTL) direction.
To add RTL support you will need to add new .rtls class to body element

Next you will need to add new bootstrap rtl support library bootstrap-rtl. Add new link to css file just below the css from bootstrap in index.html page like this:
 <link href="css/bootstrap.min.css" rel="stylesheet"> <link href="css/plugins/bootstrap-rtl/bootstrap-rtl.min.css" rel="stylesheet">
After that you will have RTL support similar to this:
Layout 2 is a top navigation with centered content layout.
For layout 2 we prepared special example files dashboard_4.html
To use layout 2 all you need to do remove full nav
element (sidebar navigation). Add .top-navigation
class to body element and add .container
class with element after
.wrapper
class element. Please chcek teh example file Dashboard_4.html to see code of it.
Layout 2 with example code look like this:
Off canvas menu is a menu that not change the width of main wrapper page. It appear on top of the page.
To use off canvas menu you just need to add .canvas-menu
to body element:

And in navigation after element with class .sidebar-collapse
add special element to handle hide menu.

Inspinai theme has 3 diferent skins
To change skin you just have to add skin class to body element.
For example: to add skin Blue skin you just need to add .skin-1
class to body element.
In LESS files skins.less you can find style for the skin. Below is a representation of css classes demand color skin.
.skin-1
- Blue Light.skin-2
- Inspinia Ultra {for support with Inspinia Ultra please contact with<EMAIL_ADDRESS>- Yellow/purple.md-skin
- Material Design Skin (In demo Inspinia Material Design version has also fixed sidebar and fixed navbar option)Theme config is the configuration box for setting options in live preview. It is placed in the right side of page with green icon.
We did not want to add code to all pages so we just add js script to append the config box. The function is located in inspinia.js file with comment // Append config box / Only for demo purpose
If you want to remove the config box all you need to do is to remove function below this comment.
It is an application skeleton for a typical web app. You can use it to quickly bootstrap your webapp projects. It has all necessary resources/files to help you started new project. As your project will grow you will need to add new resources. Look at the full version to select the elements and resources you want to use.
File strucutre for Seed Project
Static_Seed_Project/
├── css/
├── font-awsome/
├── fonts/
├── img/
├── js/
├── index.html
├── minor.html
Please stay tuned for 2.2 version to get new features for HTML/JS version.
.faq-answer
before p
answer. Please stay tuned for 2.0 version to get new features.
Contact as with email: support@webapplayers.com


4 references to JobStateInfo
System.Management.Automation (4)
engine\remoting\client\Job.cs (1)
567
public JobStateInfo JobStateInfo { get; private set; } = new
JobStateInfo
(JobState.NotStarted);
engine\remoting\client\Job2.cs (1)
727
ParentJobStateCalculation(new JobStateEventArgs(childJobStateInfo, new
JobStateInfo
(JobState.NotStarted)));
engine\remoting\client\ThrottlingJob.cs (2)
387
newJobStateInfo = new
JobStateInfo
(JobState.Running);
620
finalJobStateInfo = new
JobStateInfo
(JobState.Completed);


--- title: To GWT or not to GWT tags: meta: GWT, SmartClient, SmartGWT, ExtJS, ExtGWT, Java, Javascript, Backbone.js, jQuery, RIA, Rich internet application, form builder, builder, GAE, google app engine, app, engine abstract: This post is about my experiences on GWT when I wrote this post and learning more on the framework. Here I also discuss ExtGWT, SmartGWT, SmartClient and references to practices on building larger GWT apps. thumbnail: date: 2011-02-06 ---
Since few days,I have been analyzing on how to write a rendering engine that uses the XML that comes from the server and renders a webpage-form or part of it. Well that should be simple …right? Define the XML, parse the XML and create DOM elements using one of the RIA libs like Ext, YUI, SmartClient ….
What if you are creating a lib for production ready applications with good or reasonable performance. The range of frameworks available kept confusing me for a while on what to use. I can write JavaScript code, but had to decide on the library to use. Finally it came down to two – Ext and SC(Smartclient-free-LGPL).. I like jQuery too, but it did not fit in very well in the core. I prefer SC over Ext due to its licensing and arguably its better performance while dealing with lots of data. (fyi… I am an Ext developer too)
When I started with SC, I needed a lot of patience to work with it. Getting started is difficult. The documentation isn’t so clear. I usually don’t read text but skim through it, so if there is some important point in the corner or in middle of lots of text, I would miss it. Additionally community interaction is more on smart-gwt (SC-GWT)… Mapping that gwt code to JavaScript code was sometimes painful. In the process, I always wanted to jump back to Ext. But later the patience paid off. In the end I came out more biased towards SC and still am. If you explore the not-free server features of SC, you’ll be further amazed.
So I decided on SC. But what about GWT, why not use it? I am not a java developer and in fact a better JavaScript dev. So the basic idea of writing java code to generate JavaScript eludes me. Plus java really means unnecessary lines of code to me. I am a .NET dev and then a fan of Ruby (and Rails) and then Python — so now you know what I mean. With those parameters, GWT wasn’t an attractive for me earlier.
That said, GWT isn’t just java to JavaScript. It goes well beyond that ..in minimizing multi-browser issues. Its easier to implement some of the best practices for Web 2.0. Its easier to unit-test too. Further, the road-map looks good too. But the UI is dull. I learnt that Google has hired good designers to make GWT look good and that further we may see better out-of-the-box UI. That’s future…so for now, I am looking into SC-GWT (smartgwt-LGPL)
Hey … wait … you might say… GWT has introduced UI binder which is almost similar to the thing you am trying to do…. so why re-invent the wheel? The answer for now is simple. GWT compiles the UI binder xmls and these are not available at runtime – i.e. the JavaScript does not deal with the xmls. One possible way to re-use it is to figure out a way to re-use the GWT compilation mechanism at runtime — it should be possible, but I haven’t tried it yet. And obviously GWT compilation is in itself a time-consuming process to be performed at runtime.
GWT obviously brings in few benefits but one big inconvenience for me…. writing lots of lines in java code and not using JavaScript and losing some of its flexibility. You can always mix stuff, but I think that should be avoided when possible.
You can achieve all the goodness of GWT in JavaScript (and beyond that) if you maintain good javascripting discipline….. how hard would it be?….really a lot harder when working in a team… If you have worked on writing enterpise web2.0 apps with large teams…everybody writing JavaScript at some point of time… where its hard to expect everybody to understand javascripting very well …. you’d know the scripting-disaster that comes with it….I think in that scenario, GWT helps minimizing the problem…obviously GWT cannot prevent somebody from writing bad code.
Another thing I like about GWT is its integrated development with Google App Engine. Although I am pretty new to both, I think it would result into better developer productivity. When I mention Google-app-engine, I must say that its easy to get lost into the different persistence techniques that come with it and you are likely to ask “Why? Google, Why?”. That’s when I miss the simplicity and certainty with MS technologies.. even if it means dealing with sub-standard at times.
(Update): After spending a lot of time on GWT, I am of the opinion that GWT is good for people who are better in Java and not JavaScript. It extends their ability. But myself being a fan of dynamic-interpreted languages - with little experience in Java - GWT is not a good fit there. I am better off writing JavaScript in combination with jQuery, jQueryUI, Backbone.js,HTML5, Python for Google App Engine...
References:
To get started with GWT, you can check the article below… it covers up a lot of stuff and I hope I knew about it earlier…
http://www.vogella.de/articles/GWT/article.html
To get started with SmartGWT) and AppEngine, check this video:
Article: http://jumanor.blogspot.com/2010/12/primeros-pasos-con-smartgwt.html (The article is in Spanish … use Chrome/Google translate for English)
In case you are interested more in architecting real world GWT apps… i.e. something beyond “Hello World” apps… check out these videos from Google IO:
Best Practices for Architecting GWT App
Architecting GWT apps


Caroline List’s work on first viewing seem to reference the tradition of romantic sublime landscape painting but not exclusively within the epic romantic tradition. These contemporary works explore formal juxtapositions of colour, space and light with reference to natural phenomena and sublime space. The materiality of surface and colour set up a spatial language, a visual tension between flatness, illusion and chromatic value. Colour gradients suggest light phenomena and atmospheric space, seen in contrast to flatness and blackness. Space is explored through the push and pull of the picture plane. Sprayed veils of paint are juxtaposed next to clean edges and formal shapes creating visual horizons.
The Tondo light boxes combine painting with the illusory space of photography, these mixed media works play with the virtual space of painting, the copy /reproduction and simulation of space. Through painting, print, light and colour Caroline List fuses the montage of the photographic with the physicality of painting creating surreal views which are hinged between memory, observation and artifice.
Worlds (2013)
Oil & acrylic on canvas
180 x 180 cm
Portals
Oil & acrylic on canvas
180 x 90 cm


- generateBaseCost(IGoapUnit) - Method in class javaGOAP.GoapAction
-
Defines the base cost of the action.
- generateCost(IGoapUnit) - Method in class javaGOAP.GoapAction
-
This function will be called for each GoapAction in the generation of
each Graph to determine the cost for each node in the graph.
- generateCostRelativeToTarget(IGoapUnit) - Method in class javaGOAP.GoapAction
-
Defines the relative cost of the action.
- generateGraphObject() - Method in class javaGOAP.DefaultGoapPlanner
-
- generateGraphObject() - Method in class javaGOAP.GoapPlanner
-
- generatePath(IGraph<VertexType, EdgeType>, VertexType, VertexType, List<VertexType>, List<EdgeType>) - Static method in class javaGOAP.graph.PathFactory
-
Function for generating a simple Path.
- generatePlannerObject() - Method in class javaGOAP.DefaultGoapAgent
-
- generatePlannerObject() - Method in class javaGOAP.GoapAgent
-
Function for subclasses to provide an instance of an planner which is
going to be used to create the action Queue.
- generateWeightedPath(IGraph<VertexType, EdgeType>, VertexType, VertexType, List<VertexType>, List<EdgeType>) - Static method in class javaGOAP.graph.PathFactory
-
Function for generating a WeightedPath.
- getAssignedGoapUnit() - Method in class javaGOAP.GoapAgent
-
- getAvailableActions() - Method in class javaGOAP.GoapUnit
-
- getAvailableActions() - Method in interface javaGOAP.IGoapUnit
-
- getCurrentActions() - Method in class javaGOAP.RunActionState
-
- getEdge(VertexType, VertexType) - Method in class javaGOAP.graph.DirectedGraph
-
- getEdge(VertexType, VertexType) - Method in interface javaGOAP.graph.IGraph
-
Function for retrieving a specific edge in the Graph.
- getEdgeList() - Method in class javaGOAP.graph.Path
-
- getEdges() - Method in class javaGOAP.graph.DirectedGraph
-
- getEdges() - Method in interface javaGOAP.graph.IGraph
-
Function for retrieving all edges inside the Graph.
- getEdgeWeight(WeightedEdge) - Method in class javaGOAP.graph.DirectedWeightedGraph
-
- getEdgeWeight(WeightedEdge) - Method in interface javaGOAP.graph.IWeightedGraph
-
Function for retrieving the weight of a specific edge inside the
IWeightedGraphs implementer.
- getEffects() - Method in class javaGOAP.GoapAction
-
- getEffectState(WeightedPath<GraphNode, WeightedEdge>) - Method in class javaGOAP.GraphNode
-
- getEndNodes() - Method in class javaGOAP.GoapPlanner
-
- getEndVertex() - Method in class javaGOAP.graph.Path
-
- getGoalState() - Method in class javaGOAP.GoapUnit
-
- getGoalState() - Method in interface javaGOAP.IGoapUnit
-
- getGoapUnit() - Method in class javaGOAP.GoapPlanner
-
- getPreconditions() - Method in class javaGOAP.GoapAction
-
- getStartNode() - Method in class javaGOAP.GoapPlanner
-
- getStartVertex() - Method in class javaGOAP.graph.Path
-
- getTotalWeight() - Method in class javaGOAP.graph.WeightedPath
-
- getVertexList() - Method in class javaGOAP.graph.Path
-
- getVertices() - Method in class javaGOAP.graph.DirectedGraph
-
- getVertices() - Method in interface javaGOAP.graph.IGraph
-
Function for retrieving all vertices inside the Graph.
- getWeight() - Method in class javaGOAP.graph.WeightedEdge
-
- getWorldState() - Method in class javaGOAP.GoapUnit
-
- getWorldState() - Method in interface javaGOAP.IGoapUnit
-
- goalState - Variable in class javaGOAP.GoapUnit
-
- GoapAction - Class in javaGOAP
-
GoapAction.java --- Superclass for all actions a unit can perform
- GoapAction(Object) - Constructor for class javaGOAP.GoapAction
-
- GoapAgent - Class in javaGOAP
-
GoapAgent.java --- The Agent which controls a units actions
- GoapAgent(IGoapUnit) - Constructor for class javaGOAP.GoapAgent
-
- goapPlanFailed(Queue<GoapAction>) - Method in interface javaGOAP.IGoapUnit
-
Gets called when a plan failed to execute.
- goapPlanFinished() - Method in interface javaGOAP.IGoapUnit
-
Gets called when a plan was finished.
- goapPlanFound(Queue<GoapAction>) - Method in interface javaGOAP.IGoapUnit
-
Gets called when a plan was found by the planner.
- GoapPlanner - Class in javaGOAP
-
GoapPlanner.java --- Class for generating a Queue of GoapActions.
- GoapPlanner() - Constructor for class javaGOAP.GoapPlanner
-
- goapPlanner - Variable in class javaGOAP.IdleState
-
- GoapState - Class in javaGOAP
-
GoapState.java --- States which the GoapActions use to build a graph
- GoapState(Integer, String, Object) - Constructor for class javaGOAP.GoapState
-
- goapUnit - Variable in class javaGOAP.GoapPlanner
-
- GoapUnit - Class in javaGOAP
-
GoapUnit.java --- The Superclass for a unit using the GoapAgent
- GoapUnit() - Constructor for class javaGOAP.GoapUnit
-
- graphContent - Variable in class javaGOAP.graph.DirectedGraph
-
- GraphNode - Class in javaGOAP
-
GraphNode.java --- Vertex on the used DefaultGraph / -Planner.
- GraphNode(HashSet<GoapState>, HashSet<GoapState>) - Constructor for class javaGOAP.GraphNode
-
- GraphNode(GoapAction) - Constructor for class javaGOAP.GraphNode
-


---
layout: default
title: Den Bonten Oss - BBQ Grill restaurant Lommel
path: home
---
BBQ Grill restaurant
den Bonten Oss
{% include './_includes/partials/cta-contact.njk' %} {% include
'./_includes/partials/welcome.njk' %}
{# {% include './_includes/partials/menu.njk' %} #}
{% include './_includes/partials/cta-reserveren.njk' %}
{#
Artsen
{% for doctor in collections.doctor %} {% include
"./_includes/partials/doctor.njk" %} {% endfor %}
#} {#
#} {#
#} {#
#} {# {% include './_includes/partials/moreinfo.njk' %} {% include
'./_includes/partials/gynaecologie.njk' %} #}


The form below can be used to send arbitary content to a URL using HTTP GET/POST/PUT/DELETE operations. The schemas understood by the endpoint can be found here Leaf.xsd


|
||||||||||
| PREV NEXT | FRAMES NO FRAMES |
| Packages that use Graph | |
|---|---|
| kdl.prox.datagen2.structure | |
| kdl.prox.nsi2.apps | |
| kdl.prox.nsi2.graph | |
| kdl.prox.nsi2.nsi | |
| kdl.prox.nsi2.search | |
| kdl.prox.nsi2.util |
| Uses of Graph in kdl.prox.datagen2.structure |
|---|
| Methods in kdl.prox.datagen2.structure with parameters of type Graph | |
|---|---|
void |
SyntheticGraphToroidalLattice.addLongRangeConnections(int q,
double alpha,
Graph graph)
|
| Uses of Graph in kdl.prox.nsi2.apps |
|---|
| Methods in kdl.prox.nsi2.apps with parameters of type Graph | |
|---|---|
static java.util.Map<java.lang.Integer,java.util.List<java.lang.Integer>> |
Clustering.reviseClustersModal(java.util.Map<java.lang.Integer,java.util.List<java.lang.Integer>> centroidToCluster,
Graph graph)
Performs modal cluster reassignment after an initial clustering. |
| Uses of Graph in kdl.prox.nsi2.graph |
|---|
| Classes in kdl.prox.nsi2.graph that implement Graph | |
|---|---|
class |
ArtificialGraph
A Graph that is not based on the Monet database, but on a small network that is passed in to the constructor |
class |
CachedOnDiskGraph
intermediate solution, keeps an in-memory cache of some of the links. |
class |
InMemoryGraph
Very fast and very simple graph, which pre-fetches all the links and keeps them in memory Of course it works when all the links fit in memory. |
class |
InMemoryWeightedGraph
Like the inMemory graph, but instead of setting the weight of the neighboring node to 1, it actually uses the 'weight' link attribute to get the weight of the connection to the neighbors |
class |
OnDiskGraph
This Graph implementation leaves everyting in the Monet side: for every call to getNeighbors, there is a read from Monet. |
class |
OnDiskWeightedGraph
This Graph implementation leaves everyting in the Monet side: for every call to getNeighbors, there is a read from Monet. |
| Uses of Graph in kdl.prox.nsi2.nsi |
|---|
| Methods in kdl.prox.nsi2.nsi with parameters of type Graph | |
|---|---|
protected java.util.Map<java.lang.Integer,java.lang.Integer> |
ZoneNSI.annotateDimension(int k,
int r,
Graph graph)
|
void |
DTZNSI.calculateDistances(int currDim,
Graph graph)
|
| Constructors in kdl.prox.nsi2.nsi with parameters of type Graph | |
|---|---|
APSPNSI(Graph graph)
|
|
DTZNSI(int k,
int d,
Graph graph)
|
|
GNPNSI(int numLandmarks,
Graph graph)
|
|
LandmarksNSI(int numLandmarks,
Graph graph)
|
|
MatrixFactorizationNSI(int numLandmarks,
Graph graph)
|
|
ZoneNSI(int k,
int d,
Graph graph)
|
|
ZoneNSI(int k,
int d,
int r,
Graph graph)
Create a Zone NSI |
| Uses of Graph in kdl.prox.nsi2.search |
|---|
| Methods in kdl.prox.nsi2.search with parameters of type Graph | |
|---|---|
void |
SearchUniformCost.setGraph(Graph graph)
|
void |
SearchBreadthFirst.setGraph(Graph graph)
|
void |
SearchBestFirst.setGraph(Graph graph)
|
void |
SearchAStar.setGraph(Graph graph)
|
void |
Search.setGraph(Graph graph)
|
| Constructors in kdl.prox.nsi2.search with parameters of type Graph | |
|---|---|
SearchAStar(NSI nsi,
Graph graph)
|
|
SearchBestFirst(NSI nsi,
Graph graph)
|
|
SearchBreadthFirst(Graph graph)
|
|
SearchUniformCost(Graph graph)
|
| Uses of Graph in kdl.prox.nsi2.util |
|---|
| Methods in kdl.prox.nsi2.util with parameters of type Graph | |
|---|---|
static java.util.Map<java.lang.Integer,java.lang.Integer> |
GraphUtils.flood(java.lang.Integer source,
int max,
Graph graph)
Floods the graph from a single source node and returns a map of distances (number of hops) for each node to the source |
static java.util.Map<java.lang.Integer,java.lang.Double> |
GraphUtils.floodWeighted(java.lang.Integer source,
Graph graph)
Dijkstra's algorithm Floods the graph from a single source node and returns a map of distances (shortest weighted path) for each node to the source |
static java.util.Map<java.lang.Integer,java.util.Map<java.lang.Integer,java.lang.Double>> |
GraphUtils.prims(Graph graph)
Compute the minimum spanning tree of the given graph using Prim's algorithm |
|
||||||||||
| PREV NEXT | FRAMES NO FRAMES |


Springbrook Family Dentistry will open our doors to the Guthrie Center Community in the Fall of 2018! We will provide the highest standard of care with professional team members that maintain the utmost ethical standards. We will value your oral health in conjunction with overall health.
Daniel Nelson graduated from Panorama High School in 2010 and always had a desire to return to Guthrie County. When the opportunity to start a dental practice in Guthrie Center was presented, it was simply too good to pass. While in dental school at the University of Iowa, Daniel created Springbrook Family Dentistry without losing focus on what really matters: the patient. Daniel is passionate about providing quality dental care in a calm, comfortable, and clean environment.
Stay connected by following us on Facebook for construction updates, new office features, grand opening, and more!


@ﾉ｣@ｦ巳塘@ｅ@｣ @当 ァ昧@｣ @ 覗ｦ侭叩抹鐙@△@｣
@当 ァ昧@ ｢鴛 薄賠淵@昧@｣ @ 覗ｦ侭談@昧@ 薄賠
淵@｣ ｣@刀｣ @ｦ遠邸ｅ@｢♂А楓｣@｣法ｅk@｢｣刮Ε鐙@
｢羅£鴛 @ 浴劵@昧@｣ @ 覗ｦ侭狸@ﾉ｣@欧@ 当 ァ昧
@｣ @ 幡侭叩｣ ｣@｢ ･ @吏 欧 ｨ@｣法ヶ父 邸｣ @遠当 ァ昧
@｣ @ 覗ｦ侭狸
Logical
Illogic
Move your cursor around
the page to explore more
The Paragraph here is a result of text
being decoded using an unintended
character encoding. Each character
and punctuation seems illogic and
non-sense, but the generating process
showcases a logic of schemata and
makes the absurdity has a meaning.


Class Query
- All Implemented Interfaces:
java.lang.Iterable<java.util.Map<java.lang.String,Term>>
,java.util.Iterator<java.util.Map<java.lang.String,Term>>
public class Query extends java.lang.Object implements java.lang.Iterable<java.util.Map<java.lang.String,Term>>, java.util.Iterator<java.util.Map<java.lang.String,Term>>
A Query is either open or closed: when closed, it has no connection to the Prolog system; when open, it is linked to an active goal within a Prolog engine.
The Query class implements the Enumeration interface, through which one can obtain successive solutions. The Enumeration hasMoreElements() method returns true if the call or redo succeeded (otherwise false), and if the call or redo did succeed, the nextElement() method returns a Map representing variable bindings; the elements in the Map are Terms, indexed by the (String) names of the Variables with which they are associated. For example, if p(a) and p(b) are facts in the Prolog database, then the following is equivalent to printing all the solutions to the Prolog query p(X):
Variable X = new Variable("X"); Term arg[] = { X }; Query q = new Query("p", arg); while (q.hasMoreElements()) { Term bound_to_x = ((Map) q.nextElement()).get("X"); System.out.println(bound_to_x); }Make sure to close the Query (using the close() method) if you do not need any further solutions which it may have. It is safe (although redundant) to close a Query whose solutions are already exhausted, or which is already closed. To obtain just one solution from a Query, use the oneSolution() method. To obtain all solutions, use the allSolutions() method. To obtain at most N solutions, use the nSolutions() method. To determine merely whether the Query is provable, use the hasSolution() method (i.e. has at least one solution).
Copyright (C) 2007 Paul Singleton
Copyright (C) 1998 Fred Dushin
Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
- Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
- Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.

-
Field Summary
Fields Modifier and Type Field Description protected java.lang.String
contextModule
protected Term
goal_
the Compound or Atom (but not Dict, Float, Integer or Variable) corresponding to the goal of this Queryprotected java.lang.String
hostModule
-
Constructor Summary
Constructors Constructor Description Query(java.lang.String text)
This constructor builds a Query from the given Prolog source text, "as is".Query(java.lang.String text, Term arg)
Query(java.lang.String text, Term[] args)
If text denotes an atom, this constructor is shorthand for new Query(new Compound(name,args)).Query(Term t)
This constructor creates a Query whose goal is the specified Term. -
Method Summary
Modifier and Type Method Description java.util.Map<java.lang.String,Term>[]
allSolutions()
calls the Query's goal to exhaustion and returns an array of zero or more Maps of zero or more variablename-to-term bindings (each Map represents a solution, in the order in which they were found).static java.util.Map<java.lang.String,Term>[]
allSolutions(java.lang.String text)
This static method creates a Query from the given Prolog source text fragment, calls it to exhaustion, and returns an array of zero or more Maps of zero or more variablename-to-term bindings (each Map represents a solution, in the order in which they were found).static java.util.Map<java.lang.String,Term>[]
allSolutions(java.lang.String text, Term[] params)
If text denotes (in traditional Prolog source syntax) a term containing N questionmark (?) symbols and there are N accompanying Term params, this static method replaces each questionmark symbol by its respective param, calls the resulting goal to exhaustion, and returns an array of zero or more Maps of zero or more variablename-to-term bindings (each Map represents a solution, in the order in which they were found).static java.util.Map<java.lang.String,Term>[]
allSolutions(Term goal)
This static method creates a Query whose goal is the given Term, calls it to exhaustion, and returns an array of zero or more Maps of zero or more variablename-to-term bindings (each Map represents a solution, in the order in which they were found).void
close()
This method can be used to close an open query before its solutions are exhausted.java.lang.String
getContext()
Returns the context module for this Querylong
getEngine()
Returns the engine attached to this queryjava.util.Map<java.lang.String,Term>
getSolution()
Deprecated.use nextSolution()java.util.Map<java.lang.String,Term>
getSolutionWithVarNames()
Deprecated.java.util.Map<java.lang.String,Term>
getSubstWithNameVars()
Deprecated.Term
goal()
Returns the Term (Atom or Compound) which is the goal of this Queryboolean
hasMoreElements()
This method implements part of the java.util.Enumeration interface.boolean
hasMoreSolutions()
This method returns true if JPL was able to initiate a "call" of this Query within a Prolog engine.boolean
hasNext()
This method is required by Iterator interface It is a wrapper forhasMoreSolutions()
boolean
hasSolution()
This method will attempt to call this Query's goal within an available Prolog engine.static boolean
hasSolution(java.lang.String text)
This static method creates a Query from the given Prolog source text and calls it at most once, returning true if a solution was found, else false.static boolean
hasSolution(java.lang.String text, Term[] params)
If text denotes (in traditional Prolog source syntax) a term containing N questionmark (?) symbols and there are N params, each questionmark symbol is replaced by its corresponding arg to provide the new Query's goal: the resulting Query is called as described above.static boolean
hasSolution(Term goal)
This static method creates a Query (whose goal is the specified Term) and calls it at most once, returning true if a solution was found, else false.boolean
isOpen()
Whether the query is open.java.util.Iterator<java.util.Map<java.lang.String,Term>>
iterator()
This method is required by Iterator interface a Query is its own Iteratorjava.util.Map<java.lang.String,Term>
next()
This method is required by Iterator interface It is a wrapper fornextSolution()
java.lang.Object
nextElement()
This method implements part of the java.util.Enumeration interface.java.util.Map<java.lang.String,Term>
nextSolution()
This method returns a java.util.Map, which represents a binding from the names of query variables to terms within the next solution.java.util.Map<java.lang.String,Term>[]
nSolutions(long n)
calls the Query's goal to exhaustion or until N solutions are found, whichever is sooner, and returns an array containing (as possibly empty Maps of variablename-to-term bindings) every found solution (in the order in which they were found).static java.util.Map<java.lang.String,Term>[]
nSolutions(java.lang.String text, long n)
This static method creates a Query from the given Prolog source text fragment, calls it to exhaustion or until N solutions are found, whichever is sooner, and returns an array containing (as possibly empty Maps of variablename-to-term bindings) every found solution (in the order in which they were found).static java.util.Map<java.lang.String,Term>[]
nSolutions(java.lang.String text, Term[] params, long n)
If text denotes (in traditional Prolog source syntax) a term containing N questionmark (?) symbols and there are N accompanying params, this static method replaces each questionmark symbol by its respective param, calls the resulting goal to exhaustion or until N solutions are found, whichever is sooner, and returns an array containing (as possibly empty Maps of variablename-to-term bindings) every found solution (in the order in which they were found).static java.util.Map<java.lang.String,Term>[]
nSolutions(Term goal, long n)
This static method creates a Query whose goal is the given Term, calls it to exhaustion or until N solutions are found, whichever is sooner, and returns an array containing (as possibly empty Maps of variablename-to-term bindings) every found solution (in the order in which they were found).java.util.Map<java.lang.String,Term>
oneSolution()
Returns the first solution, if any, as a (possibly empty) Map of variablename-to-term bindings, else null.static java.util.Map<java.lang.String,Term>
oneSolution(java.lang.String text)
This static method creates a Query from the given Prolog source text fragment, and calls it at most once, returning the first solution, if there is one, as a (possibly empty) Map, else null.static java.util.Map<java.lang.String,Term>
oneSolution(java.lang.String text, Term[] params)
If text denotes (in traditional Prolog source syntax) a term containing N questionmark (?) symbols and there are N params, each questionmark symbol is replaced by its respective param to provide the goal of this query: the resulting goal is then called (at most once) and the first solution, if there is one, is returned as a (possibly empty) Map, else null.static java.util.Map<java.lang.String,Term>
oneSolution(Term goal)
This static method creates a Query (whose goal is the specified Term) and calls it at most once, returning the first solution, if there is one, as a (possibly empty) Map, else null.void
open()
This method returns true if JPL was able to initiate a "call" of this Query within the Prolog engine.void
remove()
This method (required by Iterator interface) is a no-opvoid
reset()
Reset the query to its start: closed and no solution found so far.java.lang.String
toString()
Returns a crude String representation of a Query.
-
Field Details
-
goal_
the Compound or Atom (but not Dict, Float, Integer or Variable) corresponding to the goal of this Query -
hostModule
protected final java.lang.String hostModule- See Also:
- Constant Field Values
-
contextModule
protected final java.lang.String contextModule- See Also:
- Constant Field Values
-
-
Constructor Details
-
Query
This constructor creates a Query whose goal is the specified Term. The Query is initially closed. NB Creating an instance of the Query class does not result in a call to a Prolog engine. NB The goal can be a Compound or an Atom (Atom extends Compound), but cannot be an instance of jpl.Float, jpl.Integer or jpl.Variable.- Parameters:
t
- the goal of this Query; must be Atom or Compound- Throws:
JPLException
- if term provided is not of right sort Atom or Compound
-
Query
public Query(java.lang.String text)This constructor builds a Query from the given Prolog source text, "as is". Throws PrologException containing error(syntax_error(_),_) if text is invalid.- Parameters:
text
- the complete Prolog source text of this Query- Throws:
PrologException
- containing error(syntax_error(_),_) if text is invalid as a term.JPLException
- if term provided is not of right sort Atom or Compound
-
Query
If text denotes an atom, this constructor is shorthand for new Query(new Compound(name,args)). If text denotes a term containing N placehholder symbols ? and there are N args, each ? is replaced by its corresponding arg to provide the new Query's goal.- Parameters:
text
- the name of the principal functor of this Query's goalargs
- the arguments of this Query's goal
-
Query
-
-
Method Details
-
goal
Returns the Term (Atom or Compound) which is the goal of this Query- Returns:
- a Term representing the goal of this Query
-
getContext
public final java.lang.String getContext()Returns the context module for this Query- Returns:
- a String representing the context in which the goal will be run
-
iterator
This method is required by Iterator interface a Query is its own Iterator- Specified by:
iterator
in interfacejava.lang.Iterable<java.util.Map<java.lang.String,Term>>
- See Also:
Iterable.iterator()
-
hasNext
public boolean hasNext()This method is required by Iterator interface It is a wrapper forhasMoreSolutions()
- Specified by:
hasNext
in interfacejava.util.Iterator<java.util.Map<java.lang.String,Term>>
- See Also:
Iterator.hasNext()
-
next
This method is required by Iterator interface It is a wrapper fornextSolution()
- Specified by:
next
in interfacejava.util.Iterator<java.util.Map<java.lang.String,Term>>
- See Also:
Iterator.next()
-
remove
public void remove()This method (required by Iterator interface) is a no-op- Specified by:
remove
in interfacejava.util.Iterator<java.util.Map<java.lang.String,Term>>
- See Also:
Iterator.remove()
-
hasMoreElements
public final boolean hasMoreElements()This method implements part of the java.util.Enumeration interface. It is a wrapper forhasMoreSolutions()
.- Returns:
- true if the Prolog query yields a (or another) solution, else false.
-
nextElement
public final java.lang.Object nextElement()This method implements part of the java.util.Enumeration interface. It is a wrapper fornextSolution()
- Returns:
- A Map representing a substitution.
-
isOpen
public final boolean isOpen()Whether the query is open.- Returns:
- true if the query is open, otherwise false.
-
getEngine
public final long getEngine()Returns the engine attached to this query- Returns:
- a long number representing the id of the SWI Prolog engine used in this query
-
hasMoreSolutions
public final boolean hasMoreSolutions()This method returns true if JPL was able to initiate a "call" of this Query within a Prolog engine. It is designed to be used with the nextSolution() method to retrieve one or more substitutions in the form of Maps. To iterate through all the solutions to a Query, for example, one might writeQuery q = // obtain Query reference while (q.hasMoreSolutions()) { Map solution = q.nextSolution(); // process solution... }
- Returns:
- true if the Prolog query succeeds; otherwise false.
-
open
public final void open()This method returns true if JPL was able to initiate a "call" of this Query within the Prolog engine. It is designed to be used with the getSolution() and close() methods to retrieve one or more substitutions in the form of Maps.Query q = // obtain Query reference Map soln; q.open(); while ((soln = q.getSolution()) != null) { // process solution... }
If this method is called on an already-open Query, or if the query cannot be set up for whatever reason, then a JPLException will be thrown.
-
reset
public final void reset()Reset the query to its start: closed and no solution found so far. This will allow a query to re-start -
getSolution
Deprecated.use nextSolution()Returns the next solution of the query- Returns:
- the binding representing the next solution
-
getSubstWithNameVars
Deprecated.Used to be used only by Utils.textToTerm but code has been integrated there already- Returns:
- a substituion from variable names to terms
-
nextSolution
This method returns a java.util.Map, which represents a binding from the names of query variables to terms within the next solution.For example, if a Query has an occurrence of a jpl.Variable, say, named "X", one can obtain the Term bound to "X" in the solution by looking up "X" in the Map.
Variable x = new Variable("X"); Query q = // obtain Query reference (with x in the Term array) while (q.hasMoreSolutions()) { Map solution = q.nextSolution(); // make t the Term bound to "X" in the solution Term t = (Term) solution.get("X"); // ... }
Programmers should be careful to call this method after checking that there is indeed a solution, via method hasMoreSolutions().- Returns:
- A Map representing a substitution of the next solution.
- Throws:
JPLException
- if Query is not open.java.util.NoSuchElementException
- if there are no more new solutions.
-
getSolutionWithVarNames
Deprecated.Deprecated. Used to be used only in the context of Term.textToTerm() but a better solution has been implemented there and hence does not require this difficult method anymore. Left it for reference. This is called with query atom_to_term(Atom, Term, Bindings) https://www.swi-prolog.org/pldoc/doc_for?object=atom_to_term/3 and we aim to return the Term version of Atom but with the name of the variables inside, not thir anonymous _ references. To do so we extract the names from Bindings and we plugged them into the Term So, we assume the last argument of the current querry is a Binding list of the form [Name=Var,..], that is a list containing variable names to actual Prolog variable references, like ['S'=_4518, 'P'=_4520]. E.g., atom_to_term('hello(a, X, Y)', T, B) T = hello(a, _1, _2) B = [ 'X' = _1, 'Y' = _2] The whole point is to return a JPL Term but having NAMED variables, that is returning the Compound Term hello(a, X, Y) where X and Y are JPL Variables (with names "X" and "Y")- Returns:
- a Term with the variables with names
-
close
public final void close()This method can be used to close an open query before its solutions are exhausted. It is called automatically when solutions are exhausted. Calling close() on an already closed Query has no effect.Here is one way to get the first three solutions to a Query:
Query q = new Query(predicate, args); Map<String, Term> sub1 = q.nextSolution(); Map<String, Term> sub2 = q.nextSolution(); Map<String, Term> sub3 = q.nextSolution(); q.close();
-
allSolutions
calls the Query's goal to exhaustion and returns an array of zero or more Maps of zero or more variablename-to-term bindings (each Map represents a solution, in the order in which they were found).- Returns:
- an array of zero or more Maps of zero or more
variablename-to-term bindings (each Map represents a solution, in
the order in which they were found) NB in JPL 1.0.1, this
method (inconsistently) returned null when a Query had no
solutions; in JPL 2.x onwards it returns an empty array (thus the
length of the array is, in every case, the quantity of
solutions).
NB in JPL 1.0.1, bindings were keyed (awkwardly) by Variable instances; in JPL 2.x onwards they are keyed by the (String) names of variables, which is consistent with the Term type being just a concrete syntax for terms (and hence queries).
-
allSolutions
This static method creates a Query whose goal is the given Term, calls it to exhaustion, and returns an array of zero or more Maps of zero or more variablename-to-term bindings (each Map represents a solution, in the order in which they were found). Throws JPLException if goal is neither a jpl.Atom nor a jpl.Compound.- Parameters:
goal
- the goal of this Query- Returns:
- an array of zero or more Maps of zero or more variablename-to-term bindings (each Map represents a solution, in the order in which they were found)
-
allSolutions
This static method creates a Query from the given Prolog source text fragment, calls it to exhaustion, and returns an array of zero or more Maps of zero or more variablename-to-term bindings (each Map represents a solution, in the order in which they were found). Throws PrologException containing error(syntax_error(_),_) if text is invalid.- Parameters:
text
- a Prolog source text fragment denoting a goal- Returns:
- an array of zero or more Maps of zero or more variablename-to-term bindings (each Map represents a solution, in the order in which they were found)
-
allSolutions
public static final java.util.Map<java.lang.String,Term>[] allSolutions(java.lang.String text, Term[] params)If text denotes (in traditional Prolog source syntax) a term containing N questionmark (?) symbols and there are N accompanying Term params, this static method replaces each questionmark symbol by its respective param, calls the resulting goal to exhaustion, and returns an array of zero or more Maps of zero or more variablename-to-term bindings (each Map represents a solution, in the order in which they were found). Otherwise, if text denotes an atom, this static method creates a Query where text is the name of the goal and params are the args; the resulting goal is then called as above. This letter mode is redundant, deprecated (informally), and retained only for backward compatibility.- Parameters:
text
- the Prolog source text of a goal, in which questionmarks are regarded as substitutible parametersparams
- terms to be substituted for the respective questionmarks in the query text- Returns:
- an array of zero or more Maps of zero or more variablename-to-term bindings (each Map represents a solution, in the order in which they were found)
-
nSolutions
calls the Query's goal to exhaustion or until N solutions are found, whichever is sooner, and returns an array containing (as possibly empty Maps of variablename-to-term bindings) every found solution (in the order in which they were found).- Parameters:
n
- the number of solutions to cover- Returns:
- an array of Maps (possibly none), each of which is a solution (in
the order in which they were found) of the Query; at most 'n'
solutions will be found and returned. NB in JPL 1.0.1,
this method (inconsistently) returned null when a Query had no
solutions; in JPL 2.x onwards it returns an empty array (thus the
length of the array is, in every case, the quantity of
solutions).
NB in JPL 1.0.1, bindings were keyed (awkwardly) by Variable instances; in JPL 2.x onwards they are keyed by the (String) names of variables, which is consistent with the Term type being just a concrete syntax for terms (and hence queries).
-
nSolutions
This static method creates a Query whose goal is the given Term, calls it to exhaustion or until N solutions are found, whichever is sooner, and returns an array containing (as possibly empty Maps of variablename-to-term bindings) every found solution (in the order in which they were found). Throws JPLException if goal is neither a jpl.Atom nor a jpl.Compound.- Parameters:
goal
- the goal of this Queryn
- the number of solutions to cover- Returns:
- an array of up to the the first n binding solutions
-
nSolutions
public static final java.util.Map<java.lang.String,Term>[] nSolutions(java.lang.String text, long n)This static method creates a Query from the given Prolog source text fragment, calls it to exhaustion or until N solutions are found, whichever is sooner, and returns an array containing (as possibly empty Maps of variablename-to-term bindings) every found solution (in the order in which they were found). Throws PrologException containing error(syntax_error(_),_) if text is invalid.- Parameters:
text
- a Prolog source text fragment denoting a goaln
- the number of solutions to cover- Returns:
- an array of up to the the first n binding solutions
-
nSolutions
public static final java.util.Map<java.lang.String,Term>[] nSolutions(java.lang.String text, Term[] params, long n)If text denotes (in traditional Prolog source syntax) a term containing N questionmark (?) symbols and there are N accompanying params, this static method replaces each questionmark symbol by its respective param, calls the resulting goal to exhaustion or until N solutions are found, whichever is sooner, and returns an array containing (as possibly empty Maps of variablename-to-term bindings) every found solution (in the order in which they were found). Otherwise, if text denotes an atom, this static method creates a Query where text is the name of the goal and params are the args; the resulting goal is then called as above. This latter mode is redundant, deprecated (informally), and retained only for backward compatibility.- Parameters:
text
- the Prolog source text of a goal, in which questionmarks are regarded as substitutible parametersparams
- terms to be substituted for the respective questionmarks in the query textn
- the number of solutions to cover- Returns:
- an array of up to the the first n binding solutions
-
oneSolution
Returns the first solution, if any, as a (possibly empty) Map of variablename-to-term bindings, else null. This method will throw a JPLException if this Query is already open (and the Query will remain open as before). Otherwise, upon return, the Query will be closed.- Returns:
- the first solution, if the query has one, as a (possibly empty) Map. If the return value is null, this means that the Query has no solutions.
-
oneSolution
This static method creates a Query (whose goal is the specified Term) and calls it at most once, returning the first solution, if there is one, as a (possibly empty) Map, else null. The goal can be a jpl.Atom or a jpl.Compound, but cannot be an instance of jpl.Float, jpl.Integer or jpl.Variable.- Parameters:
goal
- the goal of this Query- Returns:
- binding of the first solution
-
oneSolution
This static method creates a Query from the given Prolog source text fragment, and calls it at most once, returning the first solution, if there is one, as a (possibly empty) Map, else null. Throws PrologException containing error(syntax_error(_),_) if text is invalid.- Parameters:
text
- a Prolog source text fragment denoting a goal- Returns:
- binding of the first solution
-
oneSolution
public static final java.util.Map<java.lang.String,Term> oneSolution(java.lang.String text, Term[] params)If text denotes (in traditional Prolog source syntax) a term containing N questionmark (?) symbols and there are N params, each questionmark symbol is replaced by its respective param to provide the goal of this query: the resulting goal is then called (at most once) and the first solution, if there is one, is returned as a (possibly empty) Map, else null. Otherwise, if text denotes an atom, this static method creates a Query where text is the name of the goal and params are the args; the resulting goal is then called as above. This latter mode is redundant, deprecated (informally), and retained only for backward compatibility.- Parameters:
text
- the Prolog source text of a goal, in which questionmarks are regarded as substitutible parametersparams
- terms to be substituted for the respective questionmarks in the query text- Returns:
- binding of the first solution
-
hasSolution
public final boolean hasSolution()This method will attempt to call this Query's goal within an available Prolog engine.- Returns:
- the provability of the Query, i.e. 'true' if it has at least one
solution, 'false' if the call fails without finding a solution.
Only the first solution (if there is one) will be found; any bindings will be discarded, and the Query will be closed.
This method will throw a JPLException if this Query is already open.
-
hasSolution
This static method creates a Query (whose goal is the specified Term) and calls it at most once, returning true if a solution was found, else false. The goal can be a jpl.Atom or a jpl.Compound, but cannot be an instance of jpl.Float, jpl.Integer or jpl.Variable.- Parameters:
goal
- the goal of this Query- Returns:
- true iff the query can be proved
-
hasSolution
public static final boolean hasSolution(java.lang.String text)This static method creates a Query from the given Prolog source text and calls it at most once, returning true if a solution was found, else false. Throws PrologException containing error(syntax_error(_),_) if text is invalid.- Parameters:
text
- the goal of this Query, as Prolog source text- Returns:
- true iff the query can be proved
-
hasSolution
If text denotes (in traditional Prolog source syntax) a term containing N questionmark (?) symbols and there are N params, each questionmark symbol is replaced by its corresponding arg to provide the new Query's goal: the resulting Query is called as described above. Otherwise, if text denotes an atom, this static method creates a Query where text is the name of its goal and args are its args; it then calls this goal (at most once) and returns true if a solution was found, else false. This latter mode is redundant, deprecated (informally), and retained only for backward compatibility.- Parameters:
text
- the Prolog source text of a goal, in which questionmarks are regarded as substitutible parametersparams
- terms to be substituted for the respective questionmarks in the query text- Returns:
- true iff the query can be proved
-
toString
public java.lang.String toString()Returns a crude String representation of a Query.- Overrides:
toString
in classjava.lang.Object
- Returns:
- a crude String representation of a Query
-


Sylvanian Families Periwinkle Milk Rabbit Family
UK Biography Information
Father Alex Periwinkle, the Sylvanian signwriter, has to be incredibly patient when he is working, because one mistake and he has to start all over again. His biggest job to date was preparing the signs and banners for the House of Brambles Department Store.
Mother Kate Periwinkle helps her husband, Alex, with the design and use of colour in his work as well as looking after the family. She gets very annoyed with Alex because he is always forgetting to change into his old work clothes for work and comes home with different coloured paw prints all over his trousers. This causes lots and lots of washing and ironing which Kate has little time for, being a very busy lady!
Brother Oliver Periwinkle is very good at tennis. When his grandfather, Mack, told him that one day he might become the Sylvanian Open Tennis Champion, he thought that he was joking and said: "You cannot be serious".
Sister Rebecca Periwinkle is an all-round athlete, playing rounders and hockey for the school and tennis with her brother, whom she just loves to beat. She is always hopping from one game to another.


| map_covid19 {tidycovid19} | R Documentation |
Provides a choropleth world map of the country-level Covid-19 spread. Uses data from the Johns Hopkins University CSSE team (https://github.com/CSSEGISandData/COVID-19) and the World Bank (https://data.worldbank.org). If called with multiple dates it uses the gganimate package to generate an ainmated display.
map_covid19( data = download_merged_data(cached = TRUE, silent = TRUE), type = "deaths", cumulative = FALSE, change_ave = 7, per_capita = FALSE, dates = max(data$date), diverging_color_scale = FALSE, region = "World", data_date_str = format(lubridate::as_date(data$timestamp[1]), "%B %d, %Y"), ... )
data |
The data frame to base the plot on. Should be a merged data
frame obtained by download_merged_data and defaults to
|
type |
The statistic that you want to plot. Needs to be either "confirmed", "deaths", "recovered" or "active", defined as the difference of "confirmed", "deaths" and "recovered". |
cumulative |
If |
change_ave |
Number of days to average over when you plot daily changes. |
per_capita |
If |
dates |
The data date to use for the plot. Defaults to the most current
date present in the data. If you provide a vector of dates, it will
use the |
diverging_color_scale |
Should be set to |
region |
Do you want to map the world (default) or focus on a certain region? Valid values are either 'World', 'Africa', 'Asia', 'Europe', 'North America', 'Oceania', 'South America' or a named list (x,y) containing longitude and latidtude limits. |
data_date_str |
A date string to include in the annotation of the plot giving the time when the data was pulled. Defaults to the timestamp of the data. Note that you might run into issues with the default when running this in a non-english locale. Consider setting it by hand then. |
... |
additional parameters that will passed on to
|
A ggplot2
or a
gganimate
object.
map_covid19() merged <- download_merged_data(cached = TRUE, silent = TRUE) map_covid19(merged, per_capita = TRUE, date = "2020-04-23") ## Not run: # Create animation - takes a while to process anim <- map_covid19(merged, per_capita = T, dates = unique(merged_df$date)) ## End(Not run)


Created by Jinan Raghavan / @mr_jinan
A group of students got together and decided to make a browser based on Tim Berners Lee's World Wide Web which supports
Added an Image tag in the browser
Tim Berners Lee didn't want it. But the students refused to pay attntion
Co-founder of Silicon Graphics,
pulled the students out of university and setup a new company.
Became more popular. They added few more features like
No thoughts involved in adding these features
Just doing a page replacement was not good enough.
Inspired by three different languages, he writes Live Script
Java + Scheme + Self ==> LiveScript
Netscape and Sun Microsystems decided to work together against Microsoft.
Sun offered to put Java in Netscape browser instead of Livescript.
Mark Andreessen (Citation needed) from Sun suggested, Lets change the name to Javascript
Reverse engineerd Javascript engine, and created JScript
EcmaScript


Pop-up Hotella Nutella offers a hazelnut-themed experience
by Ben HooperNov. 15 (UPI) -- The makers of popular sandwich spread Nutella announced a contest to win a two-night stay at a pop-up hotel themed around the hazelnut treat.
The Hotella Nutella will operate for only a single weekend in January, and the Napa Valley, Calif., accommodation will be open only to three contest winners and one guest each.
The contest, which calls on applicants to submit a one-minute video explaining why they should be chosen, offers prizes of two nights at the Hotella Nutella, round-tip airfare, transportation from the airport to the hotel and a Nutella "breakfast experience" each morning of the Jan. 10-12 stay.
The videos will be judged "based on creativity, passion for Nutella and connection to breakfast," the company said.
(0) Leave a comment
upi.com/6959577
Latest Headlines
Odd News // 1 day ago
Small alligator hiding under car gives Florida police a scare
Nov. 15 (UPI) -- A tiny alligator hiding under a Florida resident's car gave police a scare when it came bolting out from under the vehicle.
Odd News // 1 day ago
Parental pressure pays off for Missouri Lottery player
Nov. 15 (UPI) -- A woman visiting her family in Missouri said it was her mother who convinced her to buy the lottery ticket that earned her a prize of $25,000 a year for life.
Odd News // 2 days ago
Man walking dog encounters 6-foot-tall bird
Nov. 15 (UPI) -- A man taking his dog for a walk in Britain captured video of his unexpected encounter with a 6-foot tall rhea bird.
Odd News // 2 days ago
Modified Radio Flyer wagon sets speed record in Illinois
Nov. 15 (UPI) -- An Illinois company set a Guinness World Record by tricking out a motorized Radio Flyer Wagon to reach a top speed of 30 mph.
Odd News // 2 days ago
Customers, employees chase deer through Ohio Walmart
Nov. 15 (UPI) -- Workers and employees at a Walmart store in Ohio came to the rescue of a confused deer that made its way inside the store and couldn't find a way back out.
Odd News // 2 days ago
'Hallmark Dream Job' offers $1,000 to watch 24 Christmas movies
Nov. 15 (UPI) -- A website is offering a "dream job" for a holiday-loving person looking to make $1,000 watching 24 Hallmark Christmas movies.
Odd News // 2 days ago
Escaped kangaroo on the loose in Mississippi
Nov. 15 (UPI) -- The owner of a traveling petting zoo said a kangaroo is on the loose in Mississippi after escaping from her enclosure.
Odd News // 2 days ago
Lottery player wins $150,000 in New Jersey, $100,000 in Pennsylvania
Nov. 14 (UPI) -- A New Jersey man is a two-state lottery winner after winning $150,000 in his home state and $100,000 in Pennsylvania.
Odd News // 2 days ago
Guinness World Records Day sees new records for swimming, basetball
Nov. 14 (UPI) -- Guinness World Records celebrated the 16th annual Guinness World Records Day by announcing records including the oldest person to complete a series of swimming challenges and six new records by the Harlem Globetrotters.
Odd News // 2 days ago
Deer with three antlers caught on camera in Michigan
Nov. 14 (UPI) -- A Michigan photographer said he is not disclosing the Upper Peninsula location where he snapped a photo of a rare deer with three antlers.


KSh 20,999
The Hp 6460 Intel core i5 laptop delivers great performance in a patterned, textured cover that bespeaks modern style. A simple, clean design features a large, one-piece touchpad and hinges that open 180 degrees—perfect for collaborating. Powerful Intel® 8th Generation technology keeps you working productively, while enhanced security protects your critical data.Order this Lenovo V130 Laptop online from Comptech-Electronics Kenya and have it delivered to you.
| Description | Specification |
|---|---|
| SKU | HP246EL1A9U8NNAFAMZ |
| Weight | 2.3 kgs |
| RAM | (GB) 4 |
| Memory size | 500MB HDD |
| Processor | Intel Core i5 |
| Operating System | no OS |
| Product Warranty | 1 year |