Why $\lambda$‽
A research blog about programming languages, databases, provenance, and other randomly-selected topics.
Tuesday, March 01, 2016
PhD studentships in programming languages, provenance, data management
I am currently advertising two PhD studentships, on topics spanning programming languages, provenance, and data management, to start in fall 2016.
Both of these studentships are fully funded for applicants of any
nationality (in contrast to many UK PhD studentships which are only
funded up to the UK/EU tuition level, and do not cover full tuition fees
for students from outside the European Union.)
Read more »
Labels: advertising, bidirectional computation, databases, functional programming, logic programming, programming languages, provenance
posted by Unknown @ 17:14 0 Comments
Friday, July 24, 2015
Call for participation: DBPL 2015
The 15th International Symposium on Database Programming Languages
http://2015.splashcon.org/track/dbpl2015
Pittsburgh, Pennsylvania, USA
October 27, 2015
hosted as part of SPLASH 2015
Call for Participation
DBPL has a long tradition of bringing databases and programming languages together. This year we continue this tradition by co-locating DBPL with SPLASH 2015, and presenting an interesting mix of papers with programming language and database aspects. In addition to these papers we have an excellent invited talk by Marko Rodriguez of DataStax about Gremlin: A Stream-Based Functional Language for OLTP and OLAP Graph Computing. We hope to see you in Pittsburgh!DBPL is held in cooperation with ACM SIGPLAN, and gratefully acknowledges support from LogicBlox, Inc.
Read more »
Labels: advertising, databases, programming languages
posted by Unknown @ 16:42 0 Comments
Monday, August 04, 2014
More on composing queries in F#
I ran across some StackOverflow questions from a couple of years ago asking about composing query expressions in F#, and gave answers showing how FSharpComposableQuery can help with this:
http://stackoverflow.com/questions/13826749/how-do-you-compose-query-expressions-in-f
http://stackoverflow.com/questions/10158512/dynamic-sql-queries-with-f-3-0
Tomas Petricek's previous posts on dynamic LINQ queries in C# and F# 2.0 were, of course part of the inspiration for our work. FSharpComposableQuery updates these ideas to F# 3.0 and, hopefully, makes them easily usable without the need for tricks.
I also ran across a more recent blog post by Loïc Denuziere that discusses the related issue of how to splice partial F# query expressions together to build more complex ones. His approach cleverly defines an alternative query operator, pquery, that can be used to define query snippets that don't get evaluated immediately. He suggests the following code (copied from the end of the post):
Read more »
Labels: databases, functional programming, programming languages
posted by Unknown @ 12:16 0 Comments
Monday, July 28, 2014
Composing queries in F#
In our ICFP 2013 paper last year, we introduced a formal model of Microsoft's "Language-Integrated Query", as implemented in F#. The basic idea is to allow programmers to write queries in a way that more closely resembles ordinary code, can be typechecked alongside ordinary code, but still (hopefully) generates reasonable SQL queries. For example, in F# one can write something like
query {
for student in db.Student do
where (student.Age.Value >= 10
&& student.Age.Value < 15)
select student
}
to select all students with ages in the interval $[10,15)$.
Observe that the above query does not depend on any data in the F# host language. There's a single SQL query that we can generate to answer this query on the database:
SELECT student
FROM Student student
WHERE student.Age >= 10 AND student.Age < 15
(here, I'm glossing over differences in SQL syntax between Microsoft SQL server and other DBMSs).
Read more »
Labels: databases, programming languages
posted by Unknown @ 14:44 0 Comments
Friday, June 27, 2014
SIGMOD 2014
I totally failed to post a trip report on POPL 2014, and I'm now attending SIGMOD/PODS 2014, in Snowbird, Utah, so I'm writing the post during the conference to ensure I don't forget later. This is the first time I've been to SIGMOD in a while. There are usually 4-5 parallel tracks so it is impossible to see more than a fraction of the talks, but fortunately the talks I was most interested in were usually in separate sessions, so there were only a few tough decisions. There were many good talks, but several stood out:
Read more »
Labels: databases, trip report
posted by Unknown @ 01:52 0 Comments
Thursday, May 01, 2014
Observing SQL queries in their natural habitat
Torsten Grust and Jan Rittinger. 2013. Observing SQL queries in their natural habitat. ACM Trans. Database Syst. 38, 1, Article 3 (April 2013), 33 pages.
This paper presents a system called Habitat, that allows highlighting a subexpression of an SQL query whose results are of interest (e.g. due to surprising/incorrect query results). The system then compiles it into another query whose results are rows containing the values of variables in the "closure" (that is, the values of variables bound outside the subexpression) and the associated values of the selected query.
Read more »
posted by Unknown @ 13:10 0 Comments
Monday, April 07, 2014
PhD studentship in data-centric programming at LFCS, University of Edinburgh
A fully-funded 3-year PhD studentship has become available in LFCS in data-centric programming. Applications and expressions of interest are welcome now, with a closing date of April 28, 2014.
This studentship is partly funded by a EU FP7 project (DIACHRON) and partly by a Google Research Award. The funding includes UK/EU tuition and fees, and a non-taxable stipend of approximately 13,800ドル per year for 3 years; a small amount of additional funding is available that may be used flexibly for equipment, travel or additional stipend support.
Read more »
Labels: advertising, databases, programming languages, provenance
posted by Unknown @ 18:40 0 Comments
Friday, November 22, 2013
More PhD opportunities: data science and pervasive parallelism
Another advertisement...
My department has been awarded two EPSRC Centres for Doctoral Training in the areas of:
- Data Science (machine learning, databases, algorithms and big data, and applications
- Pervasive Parallelism (architecture, parallel programming, agent-based systems, verification, concurrency, distribution)
These PhD programs are structured as 1 year of taught classes leading to a MSc, followed by a 3-year PhD project. Thus, they are suitable for well-prepared students with a strong undergraduate degree. Students already holding a MSc degree can potentially proceed directly to the PhD program. Both programs have numerous industry partners and offer many opportunities for career development for students interested in either an academic or industry career, including support from Edinburgh's commercialization team (the strongest in the UK measured in terms of number of startup companies).
Available funding covers fees for UK or EU students plus a stipend of approximately 13,700ドル/year for living expenses. Well-qualified applicants of other nationalities are welcome and can be considered for fully-funded positions, but are encouraged to investigate supplementary funding sources that would cover the difference in fees.
There are two deadlines for applications: for full consideration apply by 27 January 2014. (Any non-EU candidates must apply by this date, and also make a separate application for a Edinburgh Global Research Scholarship). Any remaining scholarships will be awarded after the second round deadline of 31 March 2014.
Application information is here:
Labels: advertising, compilers, databases
posted by Unknown @ 17:03 0 Comments
Thursday, November 07, 2013
PhD opportunities in data-centric programming at LFCS, University of Edinburgh
And now for a word from our sponsors...
I would like to recruit 1-2 PhD students, working on any of the following topics (with further details given at the associated links).
- Language-based provenance security: Provenance-based security and audit; applications to slicing, failure analysis for system configuration languages; information-flow and provenance-tracking for multi-tier programs; designing new [functional/declarative] languages or dynamic information flow analyses for secure, high-reliability datacenter programming
- Data-centric programming and provenance: Types and language design for integrating multiple data-centric programming models; language-integrated query; extending bidirectional programming for synchronizing data across data models; language-based techniques for data curation and preservation, provenance tracking, or archiving; query and update techniques for longitudinal or provenance-aware queries.
Applicants should have a good honors degree or equivalent in computer science, or a related discipline, and ideally familiarity with foundations of programming languages, security, or databases and interests in applications of these foundations to real systems.
Other PhD studentships are also available, including on topics related to types and programming languages. Please contact me (jcheney@inf.ed.ac.uk) or others in LFCS to discuss alternative project ideas.
Read more »
Labels: advertising, databases, functional programming, provenance
posted by Unknown @ 11:35 0 Comments
Sunday, September 01, 2013
DBPL 2013
DBPL 2013
I attended DBPL 2013 in Riva Del Garda, Italy - a very attractive venue. I was stupid and only came for the day of the workshop. There were a lot of interesting talks.
Read more »
Labels: databases, functional programming, trip report
posted by Unknown @ 21:24 0 Comments