Hacker Newsnew | past | comments | ask | show | jobs | submit | tarmil's commentslogin

Actually, for the providers from FSharp.Data.TypeProviders, it's only necessary when you need to pull a schema change.

You can pass `LocalSchemaFile = "foo.ssdl", ForceUpdate = false` to the provider, and it will only try to connect to the database if the file foo.ssdl doesn't exist; if it does, then the provider just uses it to compute the schema. When the schema changes, you just need to set ForceUpdate to true, wait for the IDE to pull the changes from the server and write foo.ssdl, then set ForceUpdate back to false, and you can commit the changed file.


No you're right, partial classes are not supported.


Some are still pretty bullshit though.

> Why drop lambda? Most Python users are unfamiliar with Lisp or Scheme, so the name is confusing

To which I'd reply: Why drop class? Most Python users are unfamiliar with C++ or Java, so the name is confusing.


Are they? I'd probably argue just the opposite, that most python developers are very familiar with C++ or (most of them) Java.


WebSharper is completely agnostic in this regard, so the question boils down to what is available for F#.

The idiomatic way to deal with databases is using one of the available type providers. Basically, a TP generates types at compile time, in a way that actually plays quite nicely with IntelliSense [1]. In the case of db TPs, they're parameterized by a connection string and connect to the db to extract the schema and generate the appropriate types. Several exist [2]; SqlDataConnection and SqlEntityConnection are built-in, FSharp.Data.SqlClient and FSharp.Data.SqlProvider are community contributed. They all use query expressions (basically, F#'s extensible version of LINQ syntax) except SqlClient which directly uses SQL in a string (but still checks the query at compile time and passes arguments cleanly, thanks to the TP) and is therefore more like a (safer) micro-ORM.

[1]: http://msdn.microsoft.com/en-us/library/hh156509.aspx [2]: http://fsharp.org/guides/data-access/


ExtJS is GPL with paid commercial license, so essentially the same model as WebSharper. They even explicitly forbid to start developing a prototype in the open and then buy a license for it, which WS doesn't.


"Does it work with entity framework?" -> It works with whatever .NET db tool you want to use, it's entirely agnostic in this regard.

"OWIN?" -> It can, with WebSharper.WebAPI [1].

"What's the story with the F# to javascript compilation; did they invent that or is it another project?" -> It's an in-house developed compiler.

"Who are these people?" -> A Hungarian company called IntelliFactory.

(full disclosure, I work at IntelliFactory.)

[1] https://github.com/intellifactory/websharper.webapi


Methinks it lacks "Pascal -> Need contracts -> Eiffel"


I won't add everything everyone suggests, that's just silly, but I've added that. The whole thing is intended as a bit of fun and not to be taken seriously, but I thought that was worth adding, not least because it improved the layout 8-)


Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: