A weekend with kids in the Sydney CBD: Where we stayed, played & ate.
Each Saturday morning my husband and I invariably ask each other the same question – "what should we do this weekend?" While various scenes of me enjoying a cocktail on the beach while being fanned by a giant palm, or going on an outrageous one woman shopping spree flood my head, reality soon sets in and I usually end up responding "I don't know". Inevitably we end up doing chores and taking the kids to the same park I've already been to ten times that week. So, you can imagine that, when I was asked to review the Mercure Sydney with the family, I jumped (or, as the case may be, vary carefully made my way through a lethal maze of lego pieces strewn across the floor) at the chance to play tourist in my own city for the weekend.
For our weekend away we stayed at The Mercure Sydney. At the risk of sounding like a real estate agent I want to say "location location location". It's right near Central station which, you guessed it, meant we were central to everything.
It's affordable and comfortable (when we asked my son what his favourite part of the weekend was he said "the hotel bed!") so it ticks a lot of the boxes for a family holiday in Sydney. The Mercure also scored major mum points with me given it has a really cool indoor pool on the 14th floor with great views of the city. They also provided us with a neat set of colouring/activity packs which made my 2 year old think it was Christmas. I can also highly recommend their room service desert board.
Like I said before, the Mercure Sydney is located just above Central Station so it's really easy to get around the city. During our stay though the weather was being particularly temperamental so we decided to not venture too far from the hotel.
The Chippendale area around Central Station in Sydney is full of memories for me of student life, sticky pub floors and junk food. But fast forward to the end of 2017 I look at the area with my "mum-lens" (you know the one – it's like what the terminator sees on his robot screen except the frame is constantly assessing potential ways my toddler might maim himself and ways to keep him entertained). I was excited to find that the streets are now full of vibrant eateries, family friendly entertainment, and stylish shops where you can find everything from designer backpacks to the world's best dumplings, making it a brilliant option for a weekend with the family either as a local staycation or for those who are from out of town.
The recently redeveloped Central Park area is part of the new wave of green design that means the building is covered in gorgeous greenery. Inside you'll find some cool shops and plenty of places to eat. Check out the gift shop Pigeonhole on level 1…although I say "gift shop" with a word of warning because I did find it quite difficult to walk out without buying a little reward/gift for myself too. There is also a Woolies downstairs (good for last minute forgotten supplies), as well a a Daiso – the Japanese store that is a bit like a $2 shop and a great spot to grab cheap and fast toys/bribes for the kids. There is also a cinema which, while we couldn't go to with our toddler and baby, we promised ourselves we would come back to to see a movie at some time. If the weather had been better it would have been nice to go do to Darling Harbour as well, but unfortunately by that time, the weather had really taken a turn for the worse. So we headed back to the hotel for dinner and more pool time (which suited the toddler just fine!).
Perri (aka Mummy) wears Spell Designs Top, Paige Jeans, and Fallen Broken Street Hat all from Casa Boheme.
On Sunday morning after breakfast we decided to quickly check out the markets at central park and play a quick game of giant chess. We then walked up along George street past Timezone for a cheeky game of Daytona car racing and skee ball before heading to the Australian Museum. The Australian Museum should have been a great place for a bit of family fun only the toddler decided to have a meltdown because he was scared of the dinosaurs so we spent most of the time in the kids play area rather than seeing the exhibits. From what I did see, the museum is definitely worth a visit though.
The Four Elements restaurant at The Mercure Sydney Hotel has a lot going for it. Unexpected, convenient and delicious, it is a great spot to grab dinner with the whole family without feeling like you have compromised on quality or your sanity. The portions are huge and great value for money and with lots of variety on the menu, there is something to please even the fussiest and smallest of eaters.
Perri (aka Mummy) wears Spell Designs Top and skirt from Casa Boheme.
Other options right on your doorstep are Din Thai Fung (once described by world renowned chef Ken Hom as the makers of the "world's tastiest dumpling") and the Anita Gelato bar with it's gorgeous patterned floors and huge selection of brightly coloured ice cream that will make even the biggest of kids weak at the knees.
I'd also highly recommend wandering around the brightly coloured area affectionally knowns as "Spice Alley" right behind The Old Claire Pub. It's full of delicious fragrant Pan-Asian food stalls, and frequent pop-ups mean there's always something new on. Buy a smorgasbord of options from a few vendors and then walk up and sit on the grass behind Central Park for a little Asian picnic.
Spice Alley is a cash-free zone so make sure you have your credit card with you.
If you're anything like me, even if your kids are fairly good sleepers at home, the thought of a hotel stay brings an element of fear. Will their usual sleeping habits go out the window? Will we all end up like sleep deprived zombies during our holiday bliss?
In this blog post, we show that sweet dreams can be achieved and these top five tips will help you on your way to a night of solid slumber.
With thanks to The Mercure Sydney for hosting us.
Also special thanks to Bugaboo, Next, and Casa Boheme.
Mum of a toddler and a newborn. Managing the mayhem.
1 Leave a review on "A Family weekend away in the heart of Sydney"


text:
Wingstop Inc. (NASDAQ:WING) Given Average Rating of "Moderate Buy" by Analysts
Wingstop Inc. (NASDAQ:WING – Get Rating) has earned a consensus recommendation of "Moderate Buy" from the twenty ratings firms that are presently covering the firm, MarketBeat reports. One investment analyst has rated the stock with a sell rating, two have assigned a hold rating and ten have assigned a buy rating to the company. The average twelve-month price objective among analysts that have updated their coverage on the stock in the last year is $156.00.
Several research firms have commented on WING. Royal Bank of Canada raised their price objective on Wingstop from $115.00 to $145.00 in a research report on Thursday, October 27th. Wedbush upped their price target on Wingstop from $157.00 to $177.00 and gave the stock an "outperform" rating in a report on Wednesday, October 26th. Robert W. Baird raised their target price on Wingstop from $150.00 to $175.00 in a research note on Thursday, October 27th. The Goldman Sachs Group lifted their price target on shares of Wingstop from $141.00 to $160.00 and gave the stock a "buy" rating in a research note on Thursday, October 27th. Finally, Cowen increased their price target on shares of Wingstop from $150.00 to $165.00 and gave the stock an "outperform" rating in a research report on Thursday, October 27th.
Get Wingstop alerts:
Insiders Place Their Bets
In other news, EVP Stacy Peterson sold 6,427 shares of Wingstop stock in a transaction that occurred on Thursday, November 17th. The stock was sold at an average price of $160.25, for a total transaction of $1,029,926.75. Following the sale, the executive vice president now owns 2,004 shares of the company's stock, valued at $321,141. The transaction was disclosed in a filing with the SEC, which is accessible through this link. In other news, EVP Stacy Peterson sold 6,427 shares of the firm's stock in a transaction on Thursday, November 17th. The stock was sold at an average price of $160.25, for a total transaction of $1,029,926.75. Following the transaction, the executive vice president now directly owns 2,004 shares of the company's stock, valued at $321,141. The sale was disclosed in a filing with the Securities & Exchange Commission, which is available through the SEC website. Also, CEO Michael Skipworth sold 3,827 shares of Wingstop stock in a transaction dated Monday, October 31st. The shares were sold at an average price of $158.98, for a total transaction of $608,416.46. Following the sale, the chief executive officer now owns 17,070 shares in the company, valued at $2,713,788.60. The disclosure for this sale can be found here. In the last 90 days, insiders sold 11,754 shares of company stock worth $1,877,998. Insiders own 0.64% of the company's stock.
Institutional Inflows and Outflows
Several institutional investors and hedge funds have recently made changes to their positions in the stock. James Investment Research Inc. acquired a new stake in Wingstop in the third quarter worth approximately $30,000. Public Employees Retirement System of Ohio raised its stake in shares of Wingstop by 39.9% in the 3rd quarter. Public Employees Retirement System of Ohio now owns 277 shares of the restaurant operator's stock worth $35,000 after buying an additional 79 shares in the last quarter. Castle Wealth Management LLC acquired a new stake in shares of Wingstop in the second quarter valued at $45,000. Wipfli Financial Advisors LLC bought a new position in Wingstop during the third quarter valued at about $47,000. Finally, IFP Advisors Inc grew its holdings in Wingstop by 535.0% during the third quarter. IFP Advisors Inc now owns 635 shares of the restaurant operator's stock worth $51,000 after acquiring an additional 535 shares during the period.
Wingstop Stock Performance
WING opened at $148.16 on Wednesday. Wingstop has a 1 year low of $67.67 and a 1 year high of $170.87. The firm has a 50 day moving average price of $150.18 and a 200 day moving average price of $136.39. The company has a market cap of $4.43 billion, a PE ratio of 105.08, a price-to-earnings-growth ratio of 6.15 and a beta of 1.62.
Wingstop (NASDAQ:WING – Get Rating) last released its quarterly earnings data on Wednesday, October 26th. The restaurant operator reported $0.45 earnings per share (EPS) for the quarter, topping the consensus estimate of $0.36 by $0.09. The company had revenue of $92.67 million during the quarter, compared to analyst estimates of $89.81 million. Wingstop had a net margin of 13.01% and a negative return on equity of 11.46%. On average, sell-side analysts predict that Wingstop will post 1.66 earnings per share for the current year.
About Wingstop
Wingstop, Inc is a franchisor and operator of restaurants, which engages in the provision of cooked-to-order, hand-sauced, and tossed chicken wings. It operates through Franchise and Company segments. The Franchise segment consists of domestic and international franchise restaurants. The Company segment comprises company-owned restaurants.
Get a free copy of the StockNews.com research report on Wingstop (WING)
Is It Time To Get Aggressive With Defense Stocks?
3 Retail Stocks Ringing the Register in 2023
When Will Crane Holdings Take Flight?
Qualcomm Gets a Boost from Analysts, but is it Time to Buy?
EVgo Stock is Charged Up to Ride the EV Adoption Wave
Receive News & Ratings for Wingstop Daily - Enter your email address below to receive a concise daily summary of the latest news and analysts' ratings for Wingstop and related companies with MarketBeat.com's FREE daily email newsletter.
Centrica plc (LON:CNA) Given Average Rating of "Moderate Buy" by Brokerages
St. James's Place (OTCMKTS:STJPF) Lowered to Hold at HSBC
Daily Ratings & News for Wingstop
Complete the form below to receive the latest headlines and analysts' recommendations for Wingstop with our free daily email newsletter:

redpajama_set_name: RedPajamaCommonCrawl


text:
Nissan Kicks News
2018+ Nissan Kicks News
Nissan Kicks May Be USA Bound
Nissan's Kicks crossover concept was first introduced at the Sao Paulo Motor Show and its production form debuted in Brazil last year. Now the automaker is thinking of adding it to their U.S. lineup, but no official decision has been made yet.
In an interview with WardsAuto, Michael Bunce (Vice President for Product Planning) said that he sees a future for the Kicks outside of Latin America.
"Certainly we see the opportunity for more mainstream crossovers that are less niche, and we see Honda and others in that space and are taking it very seriously", said Bunce.
If the Kicks does go on sale in the U.S., it'll most likely be less powerful than the outgoing Juke B-CUV but more affordable compared to its sibling's $20,250 price tag. That would put it in competition with the Honda HR-V, Chevy Trax and other models in the booming Small SUV segment.
Another unknown is if the Rio de Janeiro built CUV will outright replace the Juke or join Nissan's U.S. lineup as a separate model. Nissan may still be studying if the Juke "remains in the (U.S.) market or not."
When Nissan is ready, the Kicks nameplate will be waiting for them as the automaker has filed a trademark for it with the U.S. Patent and Trademark Office back in 2014.
Style wise, the Nissan Kicks could stand toe-to-toe with the Honda HR-V is the production model looks like the concept. But we could be waiting fro a while even with the trademark filed since those last a good 10 years before Nissan needs to renew it.
I can't see Nissan replacing the Juke with the Kicks, that model is just so iconic of the brand in NA.
KickBacks
I see a lot of back and forth on that online about if it will or if it won't. The Kicks does make more sense as it's more practical, lighter, etc. etc. we haven't even started on the looks department yet lol.
But I think it's a possibility. Why have two in the same segment?
The Juke is definitely a big staple for Nissan but I feel like it may have served a long enough stay. It definitely is a really awkward looking vehicle and it's for a very niche market. The Kicks looks much more mainstream in the sense and will appeal to a broader market.
KickBacks said:
It has and lucky for them they already established the fact they can create a great CUV. If the Kicks replaces the Juke, Kicks will get all the potential Juke buyers. All they won't get is some funky styling, but that funky styling only appealed to a small number of folks.
Nissan is setting them selves up right this time around
And then this thread pops up that says from sources familiar with Nissan's future product that the Juke will be getting killed off for the Kicks in North America after it's 2017 or 2018 model year
Nissan Will Kill Off Juke in North America, Get Its Kicks Elsewhere
Carpscoops is saying something similar, that the Juke will be phased out and get replaced by the Kicks, that means we won't see anymore after this year. Makes sense of they only sold 986 units in the United States last month. Good for anyone who was eyeing a Juke as I assume they'll be discounted.
Iconic or not, it has to make way for profitable models like the new Kicks.
It was easy to see that from the start. Doesn't make sense to have two models that do the same thing especially when one is well overdue for a change. Juke couldn't go on any longer and I bet sales numbers show this. Better they kill it off now than later.
But I thought that was a rumor and the sources aren't from Nissan themselves so I won't put too much thought into it.
According to two independent sources familiar with Nissan's future product plans who spoke with TTAC
Kicker Jun 3, 2017


Here are our favorite alternative wedding registry ideas, including honeymoon registries, charity registries, plus some of our favorite service providers.
If you're one of the many couples thinking about using your registry to make the world a better place through charity, allow us to introduce you to our newest sponsor, Power of Deduction.
My friend is planning a Greek honeymoon, and she's gotten lots of advice on many of the locations she's hitting up. But she's struggling to find honeymoon advice for Crete. Luckily for her, our sponsor Traveler's Joy lets me (and you!) in on all their honeymoon travel secrets.


text:
The Bedroom Tax Investigated
An Investigation into the upcoming Bedroom Tax in the Birmingham area.
BedroomTax in the News.
Campaigns.
Stats and Figures.
What is the Bedroom Tax?
Your Questions Answered.
Your Stories.
The Bedroom Tax: A perfectly mad system?
Posted on March 6, 2013 by enyaqj
Sharing a room with her four year old disabled son, Brenda (not her real name), a single mother from Ladywood, is just one among the 37,000 households in Birmingham living in congested conditions, making the West Midlands accountable for almost half of families living in overcrowded accommodation across the country.
Images from http://www.taxfix.co.uk
With an increasing demand for properties, combined with an acute shortage of social housing, the idea of taxing council tenants who maintain a spare room seems reasonable, but a closer investigation into the matter reveals that this taxation may be affecting societies most vulnerable whilst only adding to a worsening housing situation. John Cotton, Labour councillor and cabinet member for social cohesion and equalities in Birmingham regarded the policy as "flawed" when expressing his concerns with the new welfare reform and the repercussions it will have upon social housing tenants in Birmingham.
"This has been foisted on us by the central government who clearly do not understand the full implications of their own policies."
The under occupancy sanction, more commonly known as the Bedroom Tax, takes effect on April 1st 2013, as part of a larger reform of the traditional benefit system. The policy is an attempt by the Department of Work and Pensions (DWP) to encourage households to downsize if they have spare rooms, freeing up properties for larger families. This will see social housing tenants pay the price for maintaining a spare bedroom. However, what is deemed as a spare bedroom has become a controversial issue for many tenants and a talking point surrounding the policy, as many believe the guidelines to be unfair and dismissive towards certain groups within society.
With 10,000 council tenants estimated to be affected in Birmingham and a further 5,000 tenants from registered landlords, the West Midlands will make up 9% of Great Britain's affected claimants. Taking into account carers, children, spouses etc. it is estimated that around 60,000 people will be affected in total.
The government have highlighted the terms and conditions of the sharing requirements which gives disabled tenants needing a non-resident overnight carer to be allocated the rights to an extra room, whilst children under the age of 16 of the same gender and children under 10 years of age, regardless of gender are expected to share. This means that those not complying with the new guidelines may be unknowingly maintaining a spare bedroom – a spare room needed by individuals such as Brenda; but what about those who are in need of that extra bedroom but are no longer entitled?
One woman who is finding coming to terms with the policy difficult is a 59 year old scoliosis sufferer who after living under social housing within Birmingham for the past 31 years feels devastated to locate from her once family home.
"This is my home, my safe place. Words cannot express how upset I am and how this decision is affecting my illnesses."
The affect on foster carers
UK charity, The Fostering Network, have revealed the strain the Bedroom Tax is placing on foster carers as the policy originally failed to acknowledge the occupation of a room for a foster child, leaving carers vulnerable to the 'spare' bedroom tax.
A spokesperson for The Fostering Network appeared extremely concerned about the implications of the upcoming policy,
"These changes are causing some foster carers considerable anxiety and to wonder if they will be able to continue to foster."
According to Birmingham City Council approximately 2,000 children are in care within the city with 60% in foster care, housed across a number of in-house homes and private sector accommodation.
Emma, a Birmingham based foster carer said,
"My local authority required me to have a 'spare room' before I could even be considered for fostering. Now that very same authority wants to penalise me for having a 'spare room', even though it is not spare as there is a child in it! To me this makes no sense and is in fact very unjust."
However, work and pensions secretary Iain Duncan Smith, has recently announced that approved foster carers will now be exempt from the policy, a policy which once classed foster carers liable to the housing benefit taxation. As part of an introduction of new regulations surrounding the policy, Mr Duncan Smith aims to support "priority groups" giving concessions both to foster families and armed forces. Although little or no consideration is still been given to many other individual in particular, separated families.
Foster families were not the only group estimated to be affected by the policy, with little or no consideration originally being given to individual cases and exceptional circumstances of separated families, armed forces and the disabled.
Local housing authority statistics suggest that 1 in 5 council tenants work full time and it will be this demographic who will be most affected by the Bedroom Tax in the UK as over 22% of council tenants are looking for work whilst more than 20% of council tenants in the UK have a full time job.
The estimated impact of the policy has become a cause for concern among many registered charities, MP's, Councillors and campaign groups who have hit against the policy, with Birmingham Councillor John Cotton stating,
"This is exactly what happens when government makes policy to chase headlines, rather than to deal with the actual issue…they are avoiding the thorny issues around welfare reform."
David Barrie, Conservative Councillor for Social Cohesion and Community Safety in Birmingham, believes the Bedroom Tax is in the interests of the tax payer,
"As a hard working tax payer would you be happy to pay for someone else to live in expensive housing that you could not afford?"
The affect on the housing situation
Despite affecting a large proportion of society and causing distress to many, whether the implementation of the taxation will actually improve the social housing shortage within Birmingham is questionable. George Marshall, a research systems officer at the National Housing Federation, feels the housing crisis will make downsizing due to the taxation an issue for tenants as the need for two bedroom houses and single person flats increases while there is limited stock available, and this shortfall is unlikely to be met by the private sector as there is clear evidence where that private landlords are reluctant to take tenants from the social housing sector.
A spokesperson from Andrews in Great Barr said:
"We don't accept people receiving housing benefits. It's our policy because the DSS department will only correspond with the tenant, not the landlord or letting agency meaning that if the tenant forgets to pay, we have no way of gaining access to the money."
According to the National Housing Federation's 2012 Home Truths report, there is an urgent need for the construction of new build houses within the West Midlands. With 16, 629 people currently on the housing waiting list, Birmingham maintains the second largest housing waiting list within the West Midlands, an issue which both John Pierce, campaign officer at the National Housing Federation, and Councillor John Cotton, feel needs addressing in order to boost the economy whilst solving issues of homelessness and overcrowding within the city.
In their housing strategy published in November 2011 both Nick Clegg and David Cameron outlined the importance of building quality new homes to support future generations,
"One of the most important things each generation can do for the next is to build high quality homes that will stand the test of time."
However, David Orr, Chief Executive of the National Housing Federation, recently identified that although 390,000 new houses were built in the UK in 2011 only 110,000 were built in 2012, a decrease which David Orr finds distressing,
"One of the biggest constraints on growth is when businesses can't expand because there are no homes for the people they want to employ."
In an attempt to handle the housing crisis and frame a response to welfare reform in Birmingham, partnerships and campaigns such as 'Yes to Homes' and 'WMBUS' have been established within the region. Yes to Homes, aims to create more land for house building and therefore more homes for the people who are suffering from overcrowded conditions. The campaign recently found available land in Birmingham equivalent to two cities the size of Wolverhampton.
John Pierce, the Campaigns Officer for 'Yes to Homes' feels the project will be a more suitable solution than the enforcement of the Bedroom Tax,
"The answer is not to force families out of homes, where they have lived for years…but to build more affordable decent homes quickly."
Mike Sharpe, Labour councillor and chairman of Birmingham's planning committee, recently praised a developer on his plans to build eight new homes and six new workshops in Birmingham's Jewellery Quarter which offers six, four bedroom houses and two, two bedroom apartments. These smaller sized properties are what is needed to boost the economy and to solve the housing crisis; however, this is still a small proportion of a larger housing scheme which needs to take place within the city.
Councillor John Cotton identifies that the lack of new builds is something that only funding from central government will solve,
"We know what the issue is, we know what the solution is, but we need the resources."
With the City Council's limited resources and a lack of funding to finance these new builds, it appears that the Bedroom Tax will only be adding to a worsening housing situation as Councillor John Cotton states,
"You couldn't have designed a more perfectly mad system for dealing with this, it really is iniquitous."
Birmingham's reaction to the Bedroom Tax under the new welfare reforms have encouraged numerous protests within the city around the Council House to demonstrate people's dissatisfaction with the policy.
Stuart Richardson, Treasurer for the Trade Union Council, gave a speech outside Birmingham's Council House voicing his opposition to the proposed welfare cuts, referring to the policy as,
"A programme of starvation."
The Socialists Workers' Party, were also among the protests as Andrew Howard, a member from the party demonstrated that the Bedroom Tax would only increase issues within society.
"It is actually going to cost more money to implement than they're actually going to save."
However, Mr Tom, a representative of the campaign group 'Birmingham against the cuts' felt the policy was unfair.
"The Bedroom Tax is not feasible for the poor, unemployed and disabled."
The affect on the disabled
According to UK charity Scope, out of the 660,000 people estimated to be affected by the Bedroom Tax in Britain, 420,000 are disabled. Scope reveals this is due to individual cases with specialist needs who need a spare room for medical equipment or for when a carer stays, whilst some are simply too sick to move house and downsize.
Amisha Koria, Senior Media and PR Officer for Scope, expressed her concerns about the effects the Bedroom Tax will have on disabled people:
"Many families of disabled people tell us they are struggling to make ends meet. Multiple cuts to their benefits and services they rely upon have made things worse. Many have lost thousands of pounds in vital financial support."
With the Department of Work and Pensions making concessions to the original policy, the disabled are being given increasing awareness within the policies exemptions due to the press attention of individual cases. Richard Gorry father of five, appealed against the policy due to his concern about the discrimination the policy inflicted against the disabled as his two children were unable to share bedrooms due to their disabilities. Iain Duncan Smith has since gone on to highlight that those like Richard Gorry, whose children are severely disabled, will be exempt on loosing part of their housing benefit.
The taxation on the spare bedroom relies upon the number of spare bedrooms and the price of the property rental, although according to the government's impact assessment report the estimated average loss in benefits will be £14 a week.
With many unable to meet the financial demands of the taxation and with the limited housing stock availability to downsize, it is areas such as Ladywood that are most likely to feel the effects of the policy. Councillor John Cotton considers the Bedroom Tax to be "widening the gap of inequality" within the city effecting Birmingham's most deprived areas as Birmingham City Council revealed that almost half of residents in Ladywood are either council tenants or live in a Housing Association. With only 29% of Ladywood council tenants using just one bedroom, a potential of 71% may be affected by the Bedroom Tax whilst Erdington, Northfield and Hodge Hill are also expected to be highly affected by the policy.
What's being done?
In an attempt to support tenants and those estimated to be affected by the Bedroom Tax, Councillor John Cotton highlights the ways Birmingham City Council are attempting to handle the "consequences" of the policy. By setting up a multi-agency community with advice agencies, councils and housing associations, Councillor John Cotton attempts to frame a response to the welfare reform, where food banks, advice and support for social housing tenants can be accessed. Birmingham City Council also look to help tenants avoid the taxation by providing solutions to the policy through lodgers, downsizing and providing financial support with the help of the Citizens' Advice Bureau.
"We are trying to put all things we can in place to support tenants."
The overall effect of the Bedroom Tax will only increase problems to society's most vulnerable rather than solve and acknowledge the problem of overcrowding in the social housing sector. After recently receiving numerous letters of complaints surround the policy by registered charities, Iain Duncan Smith has ordered officials to look again at the policy and the implications it is causing upon society.
With recent concession made to the bedroom policy towards foster families, disabled and armed forces the enforcement of the policy clearly demonstrates the governments ill-thought out plans towards the policy. Whilst this review is progressing Birmingham is doing its best to deal with the current situation and support those who will be affected by the Bedroom Tax with websites offering support and guidance.
Posted in Who is affected?	| Tagged Birmingham, Birmingham Against The Cuts, Birmingham City Council, Coalition government, Councillor david Barrie, Councillor John Cotton, Councillor Mike Sharpe, David Cameron, David Orr, Disabled, Housing Benefits, housing crisis, Ian duncan Smith, John Pierce, National housing association, Nick Clegg, Scope, The department of Work and pensions, The Fostering Network, welfare reform, West Midl, WMBUS, Yes to Homes	| 3 Replies
No DSS signs may cause rise in homelessness
Posted on March 5, 2013 by emij2013
Tenants receiving benefits are being alienated by landlords in the Birmingham area through the use of "No Dss" signs on their properties.
Dss is an antiquated term referring to the department of social security and all those receiving government benefits from them.
It seems that these signs are more prolific in the most deprived areas of the city with the cheapest rental properties including Great Barr, Erdington and Quinton which will inevitably make it more difficult for people receiving housing and other forms of benefit to find somewhere to live.
As a result of this people who are being forced to downsize due to the bedroom tax, may be left homeless as the waiting list for local authority housing continues to grow, despite a lack of new houses being built.
"The stereotypical views held by landlords about people receiving benefits is what's lead us to this." Amy Clements, 20, Erdington.
"We shouldn't be made to feel unwanted by our own communities. My family have never been in any trouble with the law and the only reason I'm receiving benefits is because there just aren't any jobs out there. I want to work but there's just nothing for me and denying me a house simply because I can't find a job is so unfair" Ben Steel, 23, Great Barr.
There has been debate over whether or not landlords are indirectly discriminating against the disabled through the signs. This is because many people with disabilities are unable to work and are forced to claim incapacity benefits.
I contacted several estate agents in the Birmingham area to question them about what they mean by "No DSS" and why they don't accept it and received conflicting information from all of them.
"We don't accept people receiving housing benefits. It's our policy because the DSS department will only correspond with the tenant, not the landlord or letting agency meaning that if the tenant forgets to pay, we have no way of gaining access to the money. It's actually the policy of Anderson's who owns Andrew's."
A spokesperson from Anderson's in Erdington commented:
"It's down to the landlord's individual choice whether or not they accept people on DSS"
This statement clearly contradicts that of Andrew's who is a subsidiary of Anderson's.
A representative of Green and Co state in Great Barr stated:
"It's because of referencing affordability. Referencing companies won't accept people on DSS because they are unable to provide them with a reference".
However, when contacted for comment HomeLet, a referencing company authorised by the financial services department, stated:
"Referencing agencies will reference anyone. It's the estate agents decision."
I contacted a number of other letting agencies and was told the same thing by all of them. 'It's not the agency's responsibility; it's the landlord/referencing company's decision'.
Humberstone homes in Quinton will not accept housing benefits, even if the tenant is already working. Whilst Green estate agents in Erdington will consider disability living allowance but no incapacity benefits or housing benefits, as is the same for Maplewood lettings, Homes for rent and Home point lettings.
Alastair Brownlow, a local private landlord said:
"I've found in the past that DSS tenants are less reliable in terms of cleanliness, the upkeep of the house and require me to be called out to the property more because of complaints from the neighbours".
It is clear to see that landlords are basing their policies relating to DSS on misguided stereotypes of people receiving benefits however, in a time of triple dip recessions and of record numbers of unemployment, where university graduates who were once considered to be the most promising young minds in the country are coming straight out of university and into long term unemployment and more mature experienced workers are losing their jobs because it is no longer considered economical to employ them, the stereotypical 'lazy doll dosser' is no longer one that relates to our society. If discrimination against tenants receiving benefits continues, a rise in homelessness in the poorest areas of the country is unavoidable and once again, the most vulnerable of society will be worst affected.
Posted in Who is affected?	| 6 Replies
"What about the single mother living in a 1-bedroom flat with her 10 children?" says pensioner Pauline Carty
Posted on March 4, 2013 by kirank91
The Bedroom Tax has only reported about those who are going to be affected by this tax implemented within the next couple of weeks. However has anyone even considered who will benefit from the tax?
Pensioner, Carty feels that on the face of the tax introduction it is a good idea, it is something that needs looking at however is worried that the government has not given enough thought as to the best way to implement it. Alot of areas have been missed out such as disabled and foster carers who make up a huge number of people caught up in this bubble, they havent looked at how they are going to administrate this issue. The government has said they can apply for discretionary housing payment, however these are peoples homes and the DHP is only for 6 months.
The way DHP works is the government pay the excess between the contractual rent and the eligible rent using the Department of Social Development (DSD). However this budget is limited in funds thus can only support an individual for a maximum period of 6 months.
She feels something needs to be done as a person living in a two bedroom house on government funds, when they only need a one-bedroom house, to be asked to pay a little extra is acceptable and perfectly reasonable.
"I worked in a neighbourhood office where I can recall a woman living in a 1-bedroom flat with 10 children and that's not fair, not right and how can we have a person being paid by the government to chill and relax with her children in a 1-bedroom house. I can also recall coming across a case where a single mother was living in a 4-bedroom flat and her children had grown up and left home, the mother of 10 children would love to have 4-bedrooms – she needs four bedrooms."
"People's frustration is understandable" says Carty, having asked to pay a little extra may not be within ones capibilities to pay the excess "so I can understand. However where would you draw the line?" "The rules we lived by 20 years ago worked back then, and things have changed now. Like divorces were taboo in my mother's era however people splitting up much more so there's an increase in demand for more housing."
"People need to distinguish between a want and a need." the mother living in a 4-bedroom house does not need it and is a luxury itself. Whereas there are some people out there living under difficult circumstances who really and truly will benefit from this change.
"People can feel the pinch already with food and fuel prices increasing and can't feed themselves, especially if they have children." The current economic situation is difficult and some may not be able to afford the increased payments and shall be forced to have to be re-homed.
"Politicians don't live in the real world and don't feel the things we feel. They go home to their mansions so it easy for them to make changes but do not think it through or think about the the people they are ruling."
"Next we'll have the window tax," says Carty. She feels the government are desperate for cutting budgets that are inventing policies which on the surface are good, however lack of thinking them through has resulted in much destruction to certain individual's livelihood.
"Even if people under-occupying were willing to move to a smaller home, will not be able to as there are not enough homes to cater for." As a result she feels people will then be forced to pay these extra costs and eventually will lead to eviction and homelessness.
Homelessness is a serious issue within Britiain. Autum 2012, the estimated total of rough sleepers in England was 2309. This figure looks like it is only going to increase.
Academic Psychologists oblivious to The Bedroom Tax
After several phone conversations with different health/child psychologists I think I can conclude how there are people out there who don't watch the news to find out whats happening in the society around them.
Academic psychologists from and around Birmingham and some health psychologists were also unfamiliar with this term.
It was most shocking to find that people were unaware with the term 'Bedroom Tax,' and a reason for this could be that maybe as it doesn't affect them, it is of no interest to them, therefore they are unaware of how widely covered this topic is at the moment.
Due to them being unaware of these new cuts to benefits coming into effect over the next couple of weeks suggests that they will be unaware of the change of symptoms amongst patients. Also if they see an increase of medical health issues coming into their practice, again they will be ignorant as to why there is a boom in new cases.
It would have been interesting to find out if there was to be an increase in number of cases, whether they had the facilities to deal with them. Most importantly if a patients symptoms/condition got worse what effects would this have on them, so ultimately what would this additional stress cause to a patient who is already ill.
Not just physical, but the mental health of people would have been an interesting area to articulate, and if they were parents, what effect this would have on their children.
This area was a key part of the investigation by looking at the cognitive and health effects this policy was going to cause. This would have acted as a key angle and provided valuable data as to another professional organisation that would have been affected by this policy.
An interview with a landlord
This is an interview with a young landlord about his views on DSS tenants and the upcoming Bedroom Tax. Click on the link above to access the interview.
Posted on March 1, 2013 by emij2013	| Tagged Bedroom Tax, DSS tenants	| 1 Reply
Bedroom Tax will penalise disabled children
Posted on March 1, 2013 by natashaillidge
Doctors have now raised their disgust on the "astounding" Bedroom Tax as it will affect the lives of children with disabilities.
Families that have a spare room in order to take care of their disabled child's needs with be forced to pay the tax for the extra bed. As some families will not be able to support this tax, the disabled child will be forced to share a room with his/her other siblings or family members.
Doctors have argued that the implications of this new welfare reform are 'ludicrous', 'unfair', and 'appalling'.
They believe that forcing siblings to share with their disabled other may cause family ties to break and cause a lot of extra pressure on the parents.
"Children with significant disabilities have many medical problems and particularly at night, many have mobility problems, many have epilepsy and seizures can be particularly troublesome at night."
"For all these medical reasons disabled children often have discomfort during the night and they need much care and attention from their parents and that would be highly disruptive for any brother or sister that had to share the bedroom with them."
To read on the case study on a disabled child that will be affected by The Bedroom Tax, click here.
Posted in Who is affected?	| Tagged Bedroom Tax, Disabled children, Doctors	| 2 Replies
Mapped: Birmingham's highest areas of benefit claimants
Posted on February 28, 2013 by DannyJones2013
The map below shows Birmingham by its constituencies along with the levels of people who are claiming benefits, areas in red being the highest. Among the most affected areas Ladywood has the highest levels of people on housing benefits in all of Birmingham so it is here that the Bedroom Tax has the highest potential for affecting the most people. Alternatively Sutton Coldfield has least amount of benefit claimants and so stands to be the least affected.
Click on the map to show the full map, hover over each area to get the percentage of people claiming housing benefits.
Posted in Stats and Figures., Who is affected?	| Tagged Birmingham, Housing Benefits, Map	| 1 Reply
We have written up a full investigation of the affect of the Bedroom Tax in Birmingham, have a read bedroomtaxinvestigated.wordpress.com/wp-admin/post.… #Bedroomtax 6 years ago
Councillor John Cotton on the Bedroom Tax -Enya by Bedroomtaxinvestigated via #soundcloud soundcloud.com/bedroomtaxinve… 6 years ago
We spoke to Councillor John Cotton today, blog posts to follow on our website bedroomtaxinvestigated.wordpress.com what is he saying on the matter? enya 6 years ago
Updates made to blog posts: bedroomtaxinvestigated.wordpress.com/2013/02/22/eth… and bedroomtaxinvestigated.wordpress.com/2013/02/18/1-i… With comments from Councillor David Barrie. #BedroomTax ^Abbey 6 years ago
An interview with a campaigner expressing his views against Bedroom Tax. bedroomtaxinvestigated.wordpress.com/2013/02/24/bed… 6 years ago


text:
Courts & Cases
Legal Career Center & Legal Marketplace
Legal Career Center &
Legal Marketplace
Public Notice Network
Law Bulletin Media
Chicago Lawyer
ADR Guide
Lawyerport
Not a subscriber? Click here
Crime required for impeachment? Not so, say legal experts
AG Raoul files amicus brief to halt courthouse arrests
'Frivolous' lawsuit against Costco, Melrose Park officials dismissed
D.C. sues Trump inaugural committee over abuse of funds
Ex-student's claims against foreign veterinary school tossed again
Class certification denied in 'Empire' JTDC suit
For senators, being silent jurors is hard
#MeToo prosecutors deploy experts early to thwart Weinstein defense
Lawyers head to Miami for seminar on class actions, complex litigation
Trump defends Acosta but will look 'closely' at Epstein deal
By Jill Colvin and Alan Fram Associated Press
Posted July 10, 2019 11:36 AM
WASHINGTON — President Donald Trump says he'll be looking "very closely" at Labor Secretary Alex Acosta's handling of a sex trafficking case involving now-jailed billionaire financier Jeffrey Epstein. But he also seemed to stand by his Cabinet official, praising Acosta's performance on the job and saying he felt "very badly" for him.
As for Epstein, Trump — who had once praised the financier as "a terrific guy" — distanced himself from the hedge fund manager now charged with abusing minors, saying the two had had a falling-out 15 or so years ago.
"I was not a fan of his, that I can tell you," Trump said.
His comments on Tuesday came as a parade of Democratic presidential contenders and party leaders demanded that Acosta, a former federal prosecutor in south Florida, resign or be fired over his role in a secret 2008 plea deal that let Epstein avoid federal prosecution after allegations he molested teenage girls.
Epstein pleaded not guilty on Monday to new child sex-trafficking charges . Federal prosecutors in New York accuse him of abusing dozens of underage girls in the early 2000s, paying them hundreds of dollars in cash for massages and then molesting them at his homes in Florida and New York. He could face up to 45 years in prison if convicted.
Speaking to reporters Tuesday, Trump repeatedly praised Acosta, calling him a "really great secretary of labor" and "very good" at his job. He suggested it's not unusual to find past mistakes if you look hard enough.
"You know, if you go back and look at everybody else's decisions, whether it's a U.S. attorney, or an assistant U.S. attorney or a judge, if you go back 12 or 15 years ago or 20 years ago and look at their past decisions, I would think you would probably find that they would wish they'd maybe did it a different way," said Trump.
In sympathetic words that seemed to echo his statements of support for then-Supreme Court nominee Brett Kavanaugh, who had been accused of sexual misconduct as a young man, Trump also said he felt "very badly" for Acosta "because I've known him as being somebody that works so hard and has done such a good job."
Still, he said his administration would be going back to look "very closely" at the circumstances of the deal that allowed Epstein to avoid prosecution on federal charges, plead guilty to lesser state charges and serve 13 months in jail, during which he was allowed to leave to go to his office during the day.
Former Trump Press Secretary Sarah Sanders had said in February that the White House was looking into Acosta's role in the settlement. The White House has not responded to repeated questions about whether there ever was such an investigation, and, if there was, what it found.
Acosta himself weighed in Tuesday on Twitter, ignoring the calls for his resignation and crediting the charges brought against Epstein in New York to new evidence that "offers an important opportunity to more fully bring him to justice."
"The crimes committed by Epstein are horrific, and I am pleased that NY prosecutors are moving forward with a case based on new evidence," he tweeted.
On Capitol Hill, a slew of Democrats called for Acosta's resignation, including House Speaker Nancy Pelosi, who accused him on Twitter of having "engaged in an unconscionable agreement w/ Jeffrey Epstein kept secret from courageous, young victims preventing them from seeking justice."
She told reporters Tuesday that it was "no surprise" Trump was standing by Acosta. "He knew about this when he nominated him for the Cabinet," she said. "It just goes to show."
Senate Minority Leader Chuck Schumer said Trump should explain his previous comments praising Epstein.
"The president needs to answer for this, and 'I don't recall' is not an acceptable answer in this case," the New York Democrat said on the Senate floor.
Trump in 2002 told New York Magazine he'd known Epstein for 15 years, describing him as "a lot of fun to be with."
"It is even said that he likes beautiful women as much as I do, and many of them are on the younger side. No doubt about it - Jeffrey enjoys his social life," Trump was quoted saying. The two were also photographed together at parties in the 1990s and early 2000s.
Senate Republicans were critical of Epstein's alleged offenses, yet many were noncommittal about whether Acosta should retain his job.
Senate Majority Leader Mitch McConnell, R-Ky., said he was "inclined to defer to the president to make that decision." Senate Judiciary Committee Chairman Lindsey Graham, R-S.C., suggested his panel might examine Acosta's plea deal "to find out how it got off the rails."
Trump Organization attorney Alan Garten has since distanced Trump from Epstein, telling Politico in 2017 that Trump "had no relationship with Mr. Epstein and had no knowledge whatsoever of his conduct."
Epstein's personal address book, copies of which have been included in legal filings, lists multiple private numbers for contacting Trump, his wife Melania and daughter Ivanka, as well as Trump's butler, executive assistant and security staff.
Pressed on the nature of their relationship Tuesday, Trump said he'd known Epstein "like everybody in Palm Beach knew him," describing him as "a fixture" of the beachfront town where Trump spends many of his winter weekends at his private Mar-a-Lago club.
Trump went on to say that he'd had a falling-out with Epstein "a long time ago."
"I don't think I've spoken to him for 15 years. I wasn't a fan," Trump said.
The White House and Trump Organization did not immediately respond to questions about the nature of that conflict. But in court documents, a Florida lawyer representing several of Epstein's alleged victims contended the Wall Street financier was barred from Mar-a-Lago after an unspecified incident involving a teenage girl.
In a 2009 lawsuit filed by a different lawyer, a woman identified in legal filings as Jane Doe No. 102 claimed she was 15 and working a part-time job at Mar-a-Lago when she was recruited in 1998 to go to Epstein's Palm Beach mansion to provide him a massage. The woman, whose father was a maintenance manager at Trump's club, said she was then kept by Epstein as a sex slave for the next four years. The woman's case against Epstein was later settled for undisclosed terms.
As Trump campaigned for president in June 2016, a California woman filed suit against both Trump and Epstein, claiming she had sexual encounters with Trump at Epstein's sprawling New York mansion on at least four occasions in the summer of 1994, when she was 13 years old. Trump denied the allegations, and the woman's lawyer filed paperwork to voluntarily withdraw the lawsuit shortly before the November election.
That lawyer, Thomas Meagher of Princeton, N.J., declined Monday to comment about the case or say why it was withdrawn.
Associated Press writers Michael Biesecker, Darlene Superville and Kevin Freking contributed to this report.
Lawyer-To-Lawyer Referral
A digital version of the printed newspaper that's available exclusively to subscribers.
Chicago Lawyer Latest Edition
A digital version of our monthly magazine that examines the issues, trends, and people driving the profession.
Be in the know. These must-read insider briefings will keep you
informed of the latest legal developments in Chicago. Sign up today!
Afternoon Headlines Breaking News E-Edition Morning Lineup Weekly Jobs Alert - Attorneys Weekly Jobs Alert - Legal Professionals Weekly Jobs Alert - Roundup
$5.3M for golf cart rollover injury
A man who broke his right ankle after a golf cart he was a passenger in tipped over at a Galena golf course has settled his lawsuit for more than $5.3 million.
By Jordyn Reiland
Justices question when traffic stops proper under less-stringent pot law
While people stood in line Tuesday to purchase recreational marijuana from a dispensary, several blocks away the Illinois Supreme Court heard oral arguments in a criminal case addressing a state law that lessened the penalty for cannabis possession.
By Timothy Eggert
U.S. starts sending asylum-seekers across border
The U.S. government on Thursday began sending asylum-seekers back to Nogales, Mexico, to await court hearings that will be scheduled roughly 350 miles away in Juarez, Mexico.
By Astrid Galvan and Christopher Sherman
High court to hear four cases as justices start January term
Illinois' high court returns to Springfield this week to hear 10 cases in its first term of the new year.
The social media behemoth is in a well-publicized struggle to address hate speech, extremism, abuse and misinformation on its services — which together serve nearly 3 billion people worldwide. At the same time, it's been retooling its policies on nudity.
By Barbara Ortutay
$6M deal for fatal rear-end car crash
Two years after being found liable for $4.7 million in a wrongful-death lawsuit, Cutco Corp. agreed to end its appeal and settle the case for $6 million in exchange for a reduction in post-judgment interest.
By Jessie M. Molloy
Virginia moves to brink of becoming 38th state to ratify ERA
Virginia on Wednesday moved to the brink of becoming the crucial 38th state to ratify the Equal Rights Amendment in what was seen as a momentous victory for the women's rights movement even though it is far from certain the measure will ever be added to the U.S. Constitution.
By Sarah Rankin
Ski lift injury settles for $10M
A worker seriously injured by a conveyor ski lift has settled his case against lift designer Tramway Engineering for $10 million.
Photo gallery with Top Stories
Oak Park Democrat Harmon takes top Senate position
Study finds chaos in immigration courts
Pelosi warns Senate not to be Trump's 'henchmen' in trial
Litigaton financier sues lawyer over loans to NFL players
Subscribe to our headlines email.
Chicago Daily Law Bulletin
415 N. State Street, Chicago, Illinois
312-644-7800 – tel
Terms & Conditions — Privacy Policy
Copyright © 2020 Law Bulletin Media. All Rights Reserved.


"Spectacular Ocean View home in Avila Beach located in the private gated community of San Luis Bay Estates. Adjacent to 1,000 acres of open space. This Mediterranean Masterpiece has 3 bedrooms 3.5 baths, office, a game room or music room and 2500 sq. ft. of Saltillo tiled decks. The 20 x 52 foot great room has 3/4 inch hardwood floors and indoor-out door gas fireplace, 10 foot ceilings and custom tinted Pella sliding glass doors. There are two kitchens including a gourmet chef's kitchen with a Vi"
"Heron Crest Showplace! This extensively renovated 2,600 square foot, 4 bedroom, custom built residence features panoramic ocean views from its great room, kitchen and adjacent wrap-around upper level deck. This property has been meticulously reimagined with top quality, designer inspired materials, amenities and finishes throughout. The living room, dining room and kitchen are surrounded by walls of expansive windows creating a light and airy sourhwest facing environment. The wide plank Maple fl"
"Overlooking the oak covered rolling hills and open space of Avila Beach resides private oak forest and canyon view home in Kingfisher Canyon! 2,869 square foot piece of paradise is designed with living area's, dinning room, kitchen, master suite, laundry, powder bathroom and garage on the main level. This location is sitting in one of the most private lots in the development with open space across from the house and backing into over 89 acres of protected lands. Kingfisher canyon is home to beau"
"Charming ocean view private home backing into the enchanted forest of Kingfisher Canyon. This magnificent 2,934 square foot enhanced Del Mar floor plan overlooks the rolling coastal hills and Pacific Ocean with open space behind it for the utmost privacy in the neighborhood! Designed as the model, this house was finished with a lovely court yard hosting a fire pit, water fountain and green screening for private enjoyment. Walking into the primary level allows for single story living! Entry level"
"Astonishing NEWLY completed show home with builder UPGRADES backs to a oak forest and protected open space. It is designed in a perfect manor capturing views of mother nature, hill sides, and canyons. An open concept with large picture windows through out the Mediterranean-style home. Boasting stone veneer and stucco exterior with remarkable custom finishes: European white oak and travertine floors; select alder wood cabinets & 8 ft. interior doors; granite & marble slab counter tops in kitchen "
"Single Level Luxury Living in Downtown Avila Beach! This beautifully appointed 2 bedroom/2 full bath beach pad offers 1325 sqft with 9' high ceilings and an open concept floor plan. A Fully retractable 12' glass wall to the front patio offers the perfect flow from interior to exterior living spaces. Finishes are superb with Walnut flooring throughout, Sierra Pacific wood-clad windows, Espresso Stained Alder cabinetry, Quartz countertops, Professional-Grade Thermador Appliances, Farmhouse Kohler "
"Picturesque and poised among the protected oak trees, take in the beautiful views & surround yourself in the serenity of the open space from this lovely Treehouse home in Avila s coveted Kingfisher Canyon neighborhood. Situated on a corner lot, it s ultra private! This Del Mar plan has upgrades galore and one of the largest courtyards. The main entry level features a gourmet kitchen, breakfast nook, great room with fireplace & large pictu"
"This 2346 square foot, three story (lowest level is garage and one bathroom; middle level is Entry, Front Porch, Living Room, one bathroom, Kitchen, Family Room, Dining Room, View Balcony off Living Room; upper level is Master Suite, View Balcony off Master Suite, two other bedrooms, one other bathroom, office nook), three bedroom, four bathroom home with a beautiful view of the golf course, creek and hillside is located in Avila Oaks, a ten unit condominium complex built in 2005. Tucked away fo"
"Peaceful and serene in the Skylark Meadows development at San Luis Bay Estates, a gated community in Avila Beach! This meticulously cared for 1983 sq.ft 3 bedroom 2 bath home enjoys privacy with no neighbors on the back and south sides along with many coveted guest parking spaces. A wonderful home for entertaining with a large living room paired with dinning, high ceilings surround sound speakers, skylight and a fabulous Majestic heater rated gas fireplace. A sliding glass door opens onto a wond"
"Beautiful and extremely private single family home in the prestigious, gated community of San Luis Bay Estates. Have you been looking for your Central Coast Dream? These don't come on the market often. Upon entering you will notice hard wood floors , plantation shutters throughout, and nice high ceilings. The main level has 2 guest bedrooms, guest bathroom with decorative tile floors, living room with skylights and tiled fireplace, dining area and kitchen featuring Corian countertops, glass door"
"Rare SINGLE LEVEL Pelican Point Condo in the Prestigious San Luis Bay Estates!! Enjoy picturesque mountain views in front of the cozy fireplace with your morning coffee. Retreat to the tranquil garden and breathe in the fresh nature air while the humming birds visit for a snack. Immaculately cared for, this home shows deep Pride of Ownership and is move in ready. Vaulted ceilings, French Doors off Master Bedroom to backyard, Kitchen door to garden, New Oven, New Bathroom Faucets, loft/attic stor"
"Luxurious condos in the heart of Avila Beach! Take a stroll to the local coffee shop and enjoy a peaceful morning, gazing at the crashing waves and mountain ridge views on your rooftop deck. This 1 Bed/1.5 Bath condo is all new & never lived in, waiting for you to put your personal finishing touches on it and make it into your new home! Featuring Santa Barbra Stucco exterior, YOU get to choose your finishes on this great property! Do you love to explore and entertain? Enjoy top-tier golfing near"
"END UNIT AND ALREADY UPGRADED! Now is your chance to own a remodeled condo in the gated community of Pelican Point in San Luis Bay Estates. The superior location of this condo makes it one of the most private condos in the complex. It is nestled into the Avila oak tree forest w/ views of the surrounding hills from every window! You will love the well-kept hardwood floors and the light and bright feel. Cozy up to the fireplace in the living room or enjoy your morning coffee from not just 1 but 3 "
"Luxurious condos in the heart of Avila Beach! Take a stroll to the local coffee shop and enjoy a peaceful morning, gazing at the crashing waves and mountain ridge views on your rooftop deck. This 1 Bed/1.5 Bath condo is all new & never lived in, waiting for you to make it into your new home! Featuring Santa Barbra Stucco exterior, European appliances, stone countertops, luxury light fixtures, flooring & finishes through-out! Do you love to explore and entertain? Enjoy top-tier golfing nearby, in"
"** Wow! Welcome to this sought after Indian Hill 55+ Neighborhood, in San Luis Bay Estates a gated Community in Avila Beach This Craftsman Quality Hallmark Home Built in 2013 offers 3 Bed / 2 Bath, 1.600 S.F. single level 3 car attached garage, private clubhouse, pool, spa and quiet location ready to move-right-in. In addition, this Energy Star Certified home includes: over $25,750 in house upgrades alone, not including exterior yards etc. Features list on request. Walk to shops, re"
"Come home to your own zen retreat in Avila Beach. You own the land in the 55+ Indian Hills community behind the gates in San Luis Bay Estates, and this property includes a private garden with shade trees, footpath, drought-tolerant plants and fruit trees. The 1700-sq-ft, 2 bedroom, 2 bath home has been lovingly maintained, including beautiful remodels to the kitchen and baths. The open-concept floor plan is complemented by a dining area with built-in curio cabinet, spacious living room with fire"
"New Price! This sought after Indian Hill 55+ Neighborhood is located in San Luis Bay Estates a gated Community in Avila Beach This unique Indian Hill Home offers 2 Bed / 2 Bath, plus a bonus office, craft studio or 3rd guest bedroom. Single level living including an Attached oversize 2 car + Golf Cart garage, private deck, and private spa with panoramic views a quiet location ready to move in and call this unique property... Home. This active adult Indian Hill Community offers a pr"


The ratio of the current-dollar value of a series, such as GDP, to its corresponding chained-dollar value, multiplied by 100.
A group of establishments that produce similar products or provide similar services. For example, Manufacturing, Construction, Health Care.
Any notice of unemployment filed by an unemployed worker to request (1) a determination of entitlement to and eligibility for compensation or (2) a second or subsequent period of unemployment within a benefit year or period of eligibility.
The rate computed by dividing Insured Unemployed for the current quarter by Covered Employment for the first four of the last six completed quarters.


text:
<!DOCTYPE html>

  <title>eweda.js</title>
  <meta http-equiv="content-type" content="text/html; charset=UTF-8">
  <meta name="viewport" content="width=device-width, target-densitydpi=160dpi, initial-scale=1.0; maximum-scale=1.0; user-scalable=0;">
  <link rel="stylesheet" media="all" href="docco.css" />

eweda.js

                ¶

eweda.js 0.0.1
https://github.com/CrossEye/eweda
(c) 2013 Scott Sauyet and Michael Hurley
Eweda may be freely distributed under the MIT license.

                ¶

Eweda

A practical functional library for Javascript programmers.  This is a collection of tools to make it easier to
use Javascript as a functional programming language.  (The name is just a silly play on lambda, even though we're
not actually involved in lambda expressions.)

                ¶

Basic Setup

Uses a technique from the Universal Module Definition to wrap this up for use in Node.js or in the browser,
with or without an AMD-style loader.

(function (root, factory) {if (typeof exports === 'object') {module.exports = factory(root);} else if (typeof define === 'function' && define.amd) {define(factory);} else {root.eweda = factory(root);}}(this, function (global) {

                ¶

The basic implementation of lists is replaceable.  A default one based on arrays is supplied at the bottom.
bootstrap represents that implementation.  Descriptions of the required functions are in the Core Functions
section.

    var lib = function(bootstrap) {

                ¶

This function is what is actually returned, with all the exposed functions attached as properties.  That allows

var myLib = eweda({
    EMPTY: /* ... */,
    isAtom: /* ... */,
    /* ... */
});
var result = myLib.map(someFunction, someCollection);

where someCollection is built to match the style of collection described by the parameter to the first call.

        var E = function() {return lib.apply(this, arguments);};

                ¶

Internal Functions and Properties

        var undef = (function(){})(), EMPTY;

                ¶

Makes a public alias for one of the public functions:

        var aliasFor = function(oldName) {
            var fn = function(newName) {E[newName] = E[oldName]; return fn;};
            return (fn.is = fn.are = fn.and = fn);
        };

                ¶

Partial replacement for native bind.

        var bind = function(fn, context) {
            var args = Array.prototype.slice.call(arguments, 2);
            return function() {
                return fn.apply(context || this, args.concat(Array.prototype.slice.call(arguments)));
            };
        };

                ¶

Standard Array and Object methods implemented as pure functions

        var slice = bind(Function.prototype.call, Array.prototype.slice);
        var toString = bind(Function.prototype.call, Object.prototype.toString);
        var isArray = function(val) {return toString(val) === "[object Array]";};

                ¶

Fills out an array to the specified length

        var expand = function(a, len) {
            var arr = a ? isArray(a) ? a : slice(a) : [];
            while(arr.length < len) {arr[arr.length] = undef;}
            return arr;
        };

                ¶

Returns a curried version of the supplied function.  For example:

 var discriminant = function(a, b, c) {
     return b * b - 4 * a * c;
 };
 var f = curry(discriminant);
 var g = f(3), h = f(3, 7);
 g(7) ≅ h; g(7, 4) == h(4) == f(3, 7, 4) = 1;

 Almost all exposed functions of more than one parameter already have curry applied to them.

        var _ = E.curry = function(fn) {
            var arity = fn.length;
            var f = function(args) {
                return function () {
                    var newArgs = (args || []).concat(slice(arguments, 0));
                    if (newArgs.length >= arity) {
                        return fn.apply(this, newArgs);
                    }
                    else {return f(newArgs);}
                };
            };

            return f([]);
        };

                ¶

Internal version of forEach.  Possibly to be exposed later.

        var each = _(function(fn, arr) {
            for (var i = 0, len = arr.length; i < len; i++) {
                fn(arr[i]);
            }
        });

                ¶

Internal function used to simplify some calculations

        var addOne = function(n) {return n + 1;};

                ¶

Core Functions Supplied

Local copies of the basic list functions supplied in the initial parameter.  Almost all of these become
public.

                ¶

  Prototypical (or only) empty list

        EMPTY = bootstrap.EMPTY;

                ¶

Boolean function which reports whether a list is empty.

        var isEmpty = E.isEmpty = bootstrap.isEmpty;

                ¶

Returns a new list with the new element at the front and the existing elements following

        var prepend = E.prepend = bootstrap.prepend;
        aliasFor("prepend").is("cons"); // TODO: really?

                ¶

 Returns the first element of a list

        var head = E.head = bootstrap.head;
        aliasFor("head").is("car");  // TODO: really? sure! positively?

                ¶

Returns the rest of the list after the first element.

        var tail = E.tail = bootstrap.tail;
        aliasFor("tail").is("cdr");  // TODO: really? absolutely! without doubt?

                ¶

  Boolean function which is true for non-list, false for a list.

        var isAtom = E.isAtom = bootstrap.isAtom;

                ¶

Core Functions Derived

These functions are also considered part of the core, but can be derived from the primary ones.
However, if an implementation is supplied, it will be used instead.

                ¶

Returns a new list with the new element at the end of a list following all the existing ones.

        E.append = bootstrap.append || function(el, list) {
            return reverse(prepend(el, reverse(list)));
        };
        aliasFor("append").is("push");

                ¶

Returns a new list consisting of the elements of the first list followed by the elements of the second.

        var merge = E.merge = bootstrap.merge || _(function(list1, list2) {
            return (isEmpty(list1)) ? list2 :  prepend(head(list1), merge(tail(list1), list2));
        });
        aliasFor("merge").is("concat");

                ¶

Function functions :-)

These functions make new functions out of old ones.

                ¶

Creates a new function that runs each of the functions supplied as parameters in turn, passing the output
of each one to the next one, starting with whatever arguments were passed to the initial invocation.
Note that if var h = compose(f, g), h(x) calls g(x) first, passing the result of that to f().

        var compose = E.compose = function() {  // TODO: type check of arguments?
            var fns = slice(arguments);
            return function() {
                return foldr(function(fn, args) {return [fn.apply(this, args)];}, slice(arguments), fns)[0];
            }
        };
        aliasFor("compose").is("fog"); // TODO: really?

                ¶

Similar to compose, but processes the functions in the reverse order so that if if var h = pipe(f, g),
h(x) calls f(x) first, passing the result of that to g().

        var pipe = E.pipe = function() { // TODO: type check of arguments?
            return compose.apply(this, slice(arguments).reverse());
        };
        aliasFor("pipe").is("sequence");

                ¶

Returns a new function much like the supplied one except that the first two arguments are inverted.

        var flip = E.flip = function(fn) {
            return _(function(a, b) {
                return fn.apply(this, [b, a].concat(slice(arguments, 2)));
            });
        };

                ¶

Creates a new function that acts like the supplied function except that the left-most parameters are
pre-filled.

        var lPartial = E.lPartial = function (fn) {
            var args = slice(arguments, 1);
            return function() {
                return fn.apply(this, args.concat(slice(arguments)));
            };
        };
        aliasFor("lPartial").is("applyLeft");

                ¶

Creates a new function that acts like the supplied function except that the right-most parameters are
pre-filled.

        var rPartial = E.rPartial =function (fn) {
            var args = slice(arguments, 1);
            return function() {
                return fn.apply(this, slice(arguments).concat(args));
            };
        };
        aliasFor("rPartial").is("applyRight");

                ¶

Creates a new function that stores the results of running the supplied function and returns those
stored value when the same request is made.  Note: this really only handles string and number parameters.

        E.memoize = function(fn) {
            var cache = {};
            return function() {
                var position = foldl(function(cache, arg) {return cache[arg] || (cache[arg] = {});}, cache,
                        slice(arguments, 0, arguments.length - 1));
                var arg = arguments[arguments.length - 1];
                return (position[arg] || (position[arg] = fn.apply(this, arguments)));
            };
        };

                ¶

Wraps a function up in one that will only call the internal one once, no matter how many times the outer one
is called.   Note: this is not really pure; it's mostly meant to keep side-effects from repeating.

        E.once = function(fn) {
            var called = false, result;
            return function() {
                if (called) {return result;}
                called = true;
                return (result = fn.apply(this, arguments));
            }
        };

                ¶

Wrap a function inside another to allow you to make adjustments to the parameters or do other processing
either before the internal function is called or with its results.

        E.wrap = function(fn, wrapper) {
            return function() {
                return wrapper.apply(this, [fn].concat(slice(arguments)));
            };
        };

                ¶

List Functions

These functions operate on lists.  The implementation of lists is not specified here, although a default
implementation based on arrays is supplied at the bottom.  Almost all of these are curried, and the list
parameter comes last, so you can create a new function by supplying the preceding arguments, leaving the
list parameter off.  For instance:

// skip third parameter
var checkAllPredicates = reduce(andFn, alwaysTrue);
// ... given suitable definitions of odd, lt20, gt5
var test = checkAllPredicates([odd, lt20, gt5]);
// test(7) => true, test(9) => true, test(10) => false,
// test(3) => false, test(21) => false,

                ¶

Returns a single item, by successively calling the function with the current element and the the next
element of the list, passing the result to the next call.  We start with the acc parameter to get
things going.  The function supplied should accept this running value and the latest element of the list,
and return an updated value.

        var foldl = E.foldl = _(bootstrap.foldl || function(fn, acc, list) {
            return (isEmpty(list)) ? acc : foldl(fn, fn(acc, head(list)), tail(list));
        });
        aliasFor("foldl").is("reduce");

                ¶

Much like foldl/reduce, except that this takes as its starting value the first element in the list.

        var foldl1 = E.foldl1 = _(bootstrap.foldl1 || function (fn, list) {
            if (isEmpty(list)) {
                throw new Error("foldl1 does not work on empty lists");
            }
            return foldl(fn, head(list), tail(list));
        });

                ¶

Similar to foldl/reduce except that it moves from right to left on the list.

        var foldr = E.foldr =_(bootstrap.foldr || function(fn, acc, list) {
            return (isEmpty(list)) ? acc : fn(head(list), foldr(fn, acc, tail(list)));
        });
        aliasFor("foldr").is("reduceRight");

                ¶

Much like foldr/reduceRight, except that this takes as its starting value the last element in the list.

        var foldr1 = E.foldr1 = _(bootstrap.foldr1 || function (fn, list) {
            if (isEmpty(list)) {
                throw new Error("foldr1 does not work on empty lists");
            }
            var rev = reverse(list);
            return foldr(fn, head(rev), reverse(tail(rev)));
        });

                ¶

Builds a list from a seed value, using a function that returns undefined to quit and a pair otherwise,
consisting of the current value and the seed to be used for the next value.

        var unfoldr = E.unfoldr = _(bootstrap.unfoldr || function(fn, seed) {
            var pair = fn(seed);
            return pair ? prepend(head(pair), unfoldr(fn, head(tail(pair)))) : EMPTY;
        });

                ¶

Returns a new list constructed by applying the function to every element of the list supplied.

        var map = E.map = _(bootstrap.map || function(fn, list) {
            return reverse(foldl(function(acc, x) { return prepend(fn(x), acc); }, EMPTY, list));
        });

                ¶

Reports the number of elements in the list

        var size = E.size = bootstrap.size || foldl(addOne, 0);

                ¶

Returns a new list containing only those items that match a given predicate function.

        var filter = E.filter = _(bootstrap.filter || function(fn, list) {
            return foldr(function(x, acc) { return (fn(x)) ? prepend(x, acc) : acc; }, EMPTY, list);
        });

                ¶

Similar to filter, except that it keeps only those that don't match the given predicate functions.

        E.reject = _(bootstrap.reject || function(fn, list) {
            return filter(notFn(fn), list);
        });

                ¶

Returns a new list containing the elements of the given list up until the first one where the function
supplied returns false when passed the element.

        var takeWhile = E.takeWhile = _(bootstrap.takeWhile || function(fn, list) {
            return (isEmpty(list) || !fn(head(list))) ? EMPTY : prepend(head(list), takeWhile(fn, tail(list)));
        });

                ¶

Returns a new list containing the first n elements of the given list.

        var take = E.take = _(bootstrap.take || function(n, list) {
            return takeWhile((function() {var count = 0; return function(x) {return count++ < n;};}()), list);
        });

                ¶

Returns a new list containing the elements of the given list starting with the first one where the function
supplied returns false when passed the element.

        var skipUntil = E.skipUntil = _(bootstrap.skipUntil || function(fn, list) {
            return isEmpty(list) ? EMPTY : fn(head(list)) ? list : skipUntil(fn, tail(list));
        });

                ¶

Returns a new list containing all but the first n elements of the given list.

        var skip = E.skip = _(bootstrap.skip || function(n, list) {

                ¶

return isEmpty(list) ? EMPTY : (n > 0) ? skip(n - 1, tail(list)) : list;

            return skipUntil((function() {var count = 0; return function(x) {return count++ >= n;};}()), list);
        });
        aliasFor('skip').is('drop');

                ¶

Returns the first element of the list which matches the predicate, or false if no element matches.

        var find = E.find = _(bootstrap.find || function(fn, list) {
            var h = head(list);
            return (isEmpty(list)) ? false : fn(h) ? h : find(fn, tail(list));
        });

                ¶

Returns true if all elements of the list match the predicate, false if there are any that don't.

        var all = E.all = _(bootstrap.all || function (fn, list) {
            return (isEmpty(list)) ? true : fn(head(list)) && all(fn, tail(list));
        });
        aliasFor("all").is("every");

                ¶

Returns true if any elements of the list match the predicate, false if none do.

        var any = E.any = _(bootstrap.any || function(fn, list) {
            return (isEmpty(list)) ? false : fn(head(list)) || any(fn, tail(list));
        });
        aliasFor("any").is("some");

                ¶

Returns true if the list contains the sought element, false if it does not.  Equality is strict here,
meaning reference equality for objects and non-coercing equality for primitives.

        var contains = E.contains = _(bootstrap.contains || function(a, list) {
            return (isEmpty(list)) ? false : head(list) === a || contains(a, tail(list));
        });

                ¶

Returns a new list containing only one copy of each element in the original list.  Equality is strict here,
meaning reference equality for objects and non-coercing equality for primitives.

        var uniq = E.uniq = bootstrap.uniq || function(list) {
            return foldr(function(x, acc) { return (contains(x, acc)) ? acc : prepend(x, acc); }, EMPTY, list);
        };

                ¶

Returns a new list by plucking the same named property off all objects in the list supplied.

        E.pluck = bootstrap.pluck || function(p) {return map(prop(p));};

                ¶

Returns a list that contains a flattened version of the supplied list.  For example:

flatten([1, 2, [3, 4], 5, [6, [7, 8, [9, [10, 11], 12]]]]);
// => [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12];

        var flatten = E.flatten = function(list) {
            var h = head(list), t = tail(list);
            return isEmpty(list) ? EMPTY : (isAtom(h)) ? prepend(h, flatten(t)) : merge(flatten(h), flatten(t));
        };

                ¶

Creates a new list out of the two supplied by applying the function to each equally-positioned pair in the
lists.  For example,

zipWith(f, [1, 2, 3], ['a', 'b', 'c'])
//    => [f(1, 'a'), f(2, 'b'), f(3, 'c')];

        var zipWith = E.zipWith = _(bootstrap.zipWith || function(fn, a, b) {
            return (isEmpty(a) || isEmpty(b)) ? EMPTY : prepend(fn(head(a), head(b)), zipWith(fn, tail(a), tail(b)));
        });

                ¶

Creates a new list out of the two supplied by yielding the pair of each equally-positioned pair in the
lists.  For example,

zip([1, 2, 3], ['a', 'b', 'c'])
//    => [[1, 'a'], [2, 'b'], [3, 'c']];

        var zip = E.zip = bootstrap.zip || zipWith(prepend);

                ¶

Creates a new list out of the two supplied by applying the function to each possible pair in the lists.
 For example,

xProdWith(f, [1, 2], ['a', 'b'])
//    => [f(1, 'a'), f(1, 'b'), f(2, 'a'), f(2, 'b')];

        var xprodWith = E.xprodWith = _(bootstrap.xprodWith || function(fn, a, b) {
            return (isEmpty(a) || isEmpty(b)) ? EMPTY : foldl1(merge, map(function(z) {return map(_(fn)(z), b);}, a));
        });

                ¶

Creates a new list out of the two supplied by yielding the pair of each possible pair in the lists.
For example,

xProd([1, 2], ['a', 'b'])
//    => [[1, 'a'], [1, 'b')], [2, 'a'], [2, 'b']];

        E.xprod = bootstrap.xprod || xprodWith(prepend);

                ¶

Returns a new list with the same elements as the original list, just in the reverse order.

        var reverse = E.reverse = bootstrap.reverse || foldl(flip(prepend), EMPTY);

                ¶

// Returns a list of numbers from from (inclusive) to to (exclusive).
For example,

range(1, 5) // => [1, 2, 3, 4]
range(50, 53) // => [50, 51, 52]

        var range = E.range = _(bootstrap.range || function(from, to) {
            return from >= to ? EMPTY : prepend(from, range(from + 1, to));
        });

        var indexOfIt = function(obj, list, acc) {
           return isEmpty(list) ? -1 :
             head(list) === obj ? acc + 1 : indexOfIt(obj, tail(list), acc + 1);
        };

                ¶

Returns the first zero-indexed position of an object in a flat list

        E.indexOf = _(bootstrap.indexOf || function(obj, list) {
            return indexOfIt(obj, list, -1);
        });

        var lastIndexOfIt = function(obj, list, currPos, lastPos) {
            if(isEmpty(list)) {
                return lastPos;
            }
            if (head(list) === obj) {
                lastPos = currPos;
            }
            return lastIndexOfIt(obj, tail(list), currPos + 1, lastPos);
        };

                ¶

Returns the last zero-indexed position of an object in a flat list

        E.lastIndexOf = _(bootstrap.lastIndexOf || function(obj, list) {
            return lastIndexOfIt(obj, list, 0, -1);
        });

                ¶

join

        E.join = _(bootstrap.join || function(sep, list) {
            return foldl(function(acc, el) { return (acc !== "") ? acc + sep + el : el; }, "", list);
        });

        E.splice = _(bootstrap.splice || function(start, len, list) {
            return merge(take(start, list), skip(start + len, list));
        });

                ¶

Object Functions

These functions operate on plain Javascript object, adding simple functions to test properties on these
objects.  Many of these are of most use in conjunction with the list functions, operating on lists of
objects.

                ¶

Runs the given function with the supplied object, then returns the object.

        var tap = E.tap = _(function(x, fn) {
            if (typeof fn === "function") {
                fn(x);
            }
            return x;
        });
        aliasFor("tap").is("K"); // TODO: are we sure?

                ¶

Tests if two items are equal.  Equality is strict here, meaning reference equality for objects and
non-coercing equality for primitives.

        E.eq = _(function(a, b) {
            return a === b;
        });

                ¶

Returns a function that when supplied an object returns the indicated property of that object, if it exists.

        var prop = E.prop = function(p) {return function(obj) {return obj[p];};};

                ¶

Returns a function that when supplied an object returns the result of running the indicated function on
that object, if it has such a function.

        E.func = function(n) {return function(obj) {return obj[n].apply(obj, slice(arguments, 1));};};

                ¶

Returns a function that when supplied a property name returns that property on the indicated object, if it
exists.

        var props = E.props = function(obj) {
            return function(prop) {return obj && obj[prop];};
        };

                ¶

Returns a function that always returns the given value.

        var identity = E.identity = function(val) {
            return function() {return val;};
        };

        var anyBlanks = any(function(val) {return val === null || val === undef;});

                ¶

Returns a function that will only call the indicated function if the correct number of (defined, non-null)
arguments are supplied, returning undefined otherwise.

        E.maybe = function (fn) {
            return function () {
                return (arguments.length === 0 || anyBlanks(expand(arguments, fn.length))) ? undef : fn.apply(this, arguments);
            };
        };

                ¶

A functional version of Object.keys, returning a list containing the names of all the enumerable own
properties of the supplied object.

        var keys = E.keys = function(obj) {
            var results = EMPTY;
            for (var name in obj) {if (obj.hasOwnProperty(name)) {
                results = prepend(name, results);
            }}
            return reverse(results);
        };

                ¶

Returns a list of all the enumerable own properties of the supplied object.

        E.values = function(obj) {
            return map(props(obj), keys(obj));
        };

        var partialCopy = function(test, obj) {
            var copy = {};
            each(function(key) {if (test(key, obj)) {copy[key] = obj[key];}}, keys(obj));
            return copy;
        };

                ¶

Returns a partial copy of an object containing only the keys specified.

        E.pick = _(function(names, obj) {
            return partialCopy(function(key) {return contains(key, names);}, obj);
        });

                ¶

Returns a partial copy of an object omitting the keys specified.

        E.omit = _(function(names, obj) {
            return partialCopy(function(key) {return !contains(key, names);}, obj);
        });

                ¶

Logic Functions

These functions are very simple wrappers around the built-in logical operators, useful in building up
more complex functional forms.

                ¶

A function wrapping the boolean && operator.  Note that unlike the underlying operator, though, it
aways returns true or false.

        var and = E.and = _(function (a, b) {
            return !!(a && b);
        });

                ¶

A function wrapping the boolean || operator.  Note that unlike the underlying operator, though, it
aways returns true or false.

        var or = E.or = _(function (a, b) {
            return !!(a || b);
        });

                ¶

A function wrapping the boolean ! operator.  It returns true if the parameter is false-y and false if
the parameter is truth-y

        E.not = function (a) {
            return !a;
        };

                ¶

A function wrapping calls to the two functions in an && operation, returning true or false.  Note that
this is short-circuited, meaning that the second function will not be invoked if the first returns a false-y
value.

        E.andFn = _(function(f, g) { // TODO: arity?
           return function() {return !!(f.apply(this, arguments) && g.apply(this, arguments));};
        });

                ¶

A function wrapping calls to the two functions in an || operation, returning true or false.  Note that
this is short-circuited, meaning that the second function will not be invoked if the first returns a truth-y
value. (Note also that at least Oliver Twist can pronounce this one...)

        E.orFn = _(function(f, g) { // TODO: arity?
           return function() {return !!(f.apply(this, arguments) || g.apply(this, arguments));};
        });

                ¶

A function wrapping a call to the given function in a ! operation.  It will return true when the
underlying function would return a false-y value, and false when it would return a truth-y one.

        var notFn = E.notFn = function (f) {
            return function() {return !f.apply(this, arguments);};
        };

                ¶

Arithmetic Functions

These functions wrap up the certain core arithmetic operators

                ¶

Adds two numbers.  Automatic curried:

var add7 = add(7);
add7(10); // => 17

        var add = E.add = _(function(a, b) {return a + b;});

                ¶

Multiplies two numbers.  Automatically curried:

var mult3 = multiply(3);
mult3(7); // => 21

        var multiply = E.multiply = _(function(a, b) {return a * b;});

                ¶

Subtracts the second parameter from the first.  This is automatically curried, and while at times the curried
version might be useful, often the curried version of subtractN might be what's wanted.

var hundredMinus = subtract(100);
hundredMinus(20) ; // => 80

        var subtract = E.subtract = _(function(a, b) {return a - b;});

                ¶

Reversed version of subtract, where first parameter is subtracted from the second.  The curried version of
this one might me more useful than that of subtract.  For instance:

var decrement = subtractN(1);
decrement(10); // => 9;

        E.subtractN = flip(subtract);

                ¶

Divides the first parameter by the second.  This is automatically curried, and while at times the curried
version might be useful, often the curried version of divideBy might be what's wanted.

        var divide = E.divide = _(function(a, b) {return a / b;});

                ¶

Reversed version of divide, where the second parameter is divided by the first.  The curried version of
this one might be more useful than that of divide.  For instance:

var half = divideBy(2);
half(42); // => 21

        E.divideBy = flip(divide);

                ¶

Adds together all the elements of a list.

        E.sum = foldl(add, 0);

                ¶

Multiplies together all the elements of a list.

        E.product = foldl(multiply, 1);

                ¶

Miscellaneous Functions

A few functions in need of a good home.

                ¶

Expose the functions from eweda as properties on another object.  If this object is the global object, then
it will be as though the eweda functions are global functions.

        E.installTo = function(obj) {
            each(function(key) {
                (obj || global)[key] = E[key];
            })(keys(E));
        };

                ¶

A function that always returns 0.

        E.alwaysZero = identity(0);

                ¶

A function that always returns false.

        E.alwaysFalse = identity(false);

                ¶

A function that always returns true.

        E.alwaysTrue = identity(true);

                ¶

Concatenates together all the elements of a list.
E.join = foldl(add, '');

        return E;
    };

    return lib(function() {
        var EMPTY = [];

                ¶

Default Core Functions

The default core uses simple arrays for its lists

        return {
            EMPTY: EMPTY,
            isEmpty: function(arr) {
                return !arr || !arr.length;
            },
            prepend: function(el, arr) {
                return [el].concat(arr);
            },
            head: function(arr) {
                arr = arr || EMPTY;
                return (arr.length) ? arr[0] : EMPTY; // TODO: shouldn't head(EMPTY) return null?
            },
            tail: function(arr) {
                arr = arr || EMPTY;
                return (arr.length > 1) ? arr.slice(1) : EMPTY;
            },
            isAtom: function(x) {
                return (x !== null) && (x !== undefined) && Object.prototype.toString.call(x) !== "[object Array]";
            },
            size: function(arr) {
                return arr.length;
            }
        };
    }());
}));

redpajama_set_name: RedPajamaGithub