-
Notifications
You must be signed in to change notification settings - Fork 33
Open
Labels
Description
The question recently was asked at work:
Have you considered putting the select at the end instead of the beginning? C#βs LINQ ended up making that change in its approach to a SQL-like DSL. Not sure it would help but I was curious if you considered that approach or not.
I hadn't considered it at all but in fact, with more thorough use of the reverse function application operator (&), Squeal already supports this LINQ style:
-- LINQ style
from (table #scores)
& where_ (#score .> 80)
& groupBy #winner
& select_
( #winner :*
max_ #score `as` #best_score
)
-- SQL style
select_
( #winner :*
max_ #score `as` #best_score
)
( from (table #scores)
& where_ (#score .> 80)
& groupBy #winner
)simfleischman