It is wonderful to have Idris 1.0 on the street. Idris is already fantastic for exploring programming with dependent types. But personally, I like Idris so much that I want to help it go mainstream.For Idris to go mainstream, I propose we need to do the following:- We need to decide that a near-future version of Idris will be a great tool for some particular kind of programming in some particular domain. (I say 1.5 above to be provocative.)- To do that, I think we almost certainly need to coopt some existing ecosystem. We need an excellent runtime environment and a big set of libraries that we don't have the manpower to build from scratch.
Thoughts?
SPARK, Ada, Notepad++, Atom b/c formal methods, provability, verification, types
On Thursday, April 13, 2017 at 12:07:19 PM UTC-6, john NeuMotiveLLC wrote:SPARK, Ada, Notepad++, Atom b/c formal methods, probability, verification, types
Sorry, reply should have been to Dean looking for compatible user base to leverage toward Idris.
--
You received this message because you are subscribed to a topic in the Google Groups "Idris Programming Language" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/idris-lang/xX5rUI1kKMM/unsubscribe.
To unsubscribe from this group and all its topics, send an email to idris-lang+...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
--
You received this message because you are subscribed to the Google Groups "Idris Programming Language" group.
To unsubscribe from this group and stop receiving emails from it, send an email to idris-lang+unsubscribe@googlegroups.com.
To unsubscribe from this group and stop receiving emails from it, send an email to idris-lang+...@googlegroups.com.
I’d be more interested however in an optimised backend and runtime for Idris which properly uses uniqueness and/or the information from linear types. Exploiting uniqueness to assure program’s will use less than a certain amount of memory or no heap at all would be amazing. Imaging the gains for embedded systems and the like!
--
--
You received this message because you are subscribed to the Google Groups "Idris Programming Language" group.
To unsubscribe from this group and stop receiving emails from it, send an email to idris-lang+unsubscribe@googlegroups.com.
Something that I would love to see, and that I think essentially demands a dependently-typed, purely-functional, total language, is a typed data frame library providing functionality that is akin to what is available in Python's "pandas" library, or the R and Julia languages.
--
You received this message because you are subscribed to the Google Groups "Idris Programming Language" group.
To unsubscribe from this group and stop receiving emails from it, send an email to idris-lang+...@googlegroups.com.
To unsubscribe from this group and stop receiving emails from it, send an email to idris-lang+unsubscribe@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
--
You received this message because you are subscribed to the Google Groups "Idris Programming Language" group.
To unsubscribe from this group and stop receiving emails from it, send an email to idris-lang+unsubscribe@googlegroups.com.
The principle reason I suggested the data science problem is that I'm currently responsible for maintaining a python/pandas codebase, and it'd be hard to describe it as anything other than a complete nightmare. The standard failure mode is throwing exceptions, nothing documents what exceptions it may throw, and even doing something as attempting to perform an operation on an empty data frame is likely to crash your program. There's a distinction between data science being done in an exploratory capacity, which is as you say relatively well-served by python, and "data science" operations being integrated into a production system with more stringent failure tolerance requirements; this latter space seems to me not at all well-served by any of the environments I'm aware of. In fact, one of the more common complaints I hear from organizations is the difficulty they have in "productionizing" the prototypes (usually written in R or python) that were built by their data science teams.You're right about momentum, for sure, and that it might be just too big of a hill to climb for the Idris community. However, I think that the rewards would also be huge, not merely for the users of such a set of libraries, but for the development of Idris itself; it's not an easy problem, and it would require both figuring out how to express the constraints on the types of such multidimensional data in a comprehensible fashion *and* starting to take a serious look at how to make programs written in Idris performant.
On Thu, Apr 20, 2017 at 5:55 AM, Dean Thompson <deansher...@gmail.com> wrote:
To me, it seems as though Python has an unassailable hold on data science. The Python data science ecosystem is immense and has huge momentum. Astoundingly, it seems poised to eclipse R and Matlab, which each have huge, older ecosystems and great momentum. It is hard for me to imagine Idris becoming the best tool for even a small slice of the data science audience.Also, I worry that most data science programmers wouldn't want to invest in learning how to use a fancy type system. I doubt they are our programmer audience.I lean against a frontal attack on a well-served problem domain. I feel as though we need to choose a poorly served problem domain and serve it well.Dean
On Wed, Apr 19, 2017 at 2:46 PM Gregg Reynolds <d...@mobileink.com> wrote:
On Apr 19, 2017 10:23 AM, "Kris Nuttycombe" <kris.nu...@gmail.com> wrote:Something that I would love to see, and that I think essentially demands a dependently-typed, purely-functional, total language, is a typed data frame library providing functionality that is akin to what is available in Python's "pandas" library, or the R and Julia languages.--+1
You received this message because you are subscribed to the Google Groups "Idris Programming Language" group.
To unsubscribe from this group and stop receiving emails from it, send an email to idris-lang+...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
--
You received this message because you are subscribed to the Google Groups "Idris Programming Language" group.
To unsubscribe from this group and stop receiving emails from it, send an email to idris-lang+...@googlegroups.com.
--
You received this message because you are subscribed to the Google Groups "Idris Programming Language" group.
To unsubscribe from this group and stop receiving emails from it, send an email to idris-lang+...@googlegroups.com.
Imagine being able to immediate query an sql database whose type is provided to you but with the convenience of doing the same in a pandas reply.
+1 to the data science idea. Trying to take over the world and displace Python/R would be pretty difficult; but I think there is a latent community out there who could coalesce around a sufficiently productive, safer option and would enjoy major benefits.
However, I think most languages that succeed in going mainstream are propelled by being the best way to do X:
- COBOL was the best way to build business applications.
- Fortran was the best way to build scientific applications.
- C was the best way to program on Unix.
- C++ was the best way to do OO programming in the C ecosystem.
- JavaScript was the best way to run code in the browser.
- Java was the best way to build large-scale distributed web and business applications.
- Ruby was the best way to build web apps.
There is some work on types for languages like APL and J that formalizes this sort of thing: http://www.ccs.neu.edu/home/jrslepak/typed-j.pdf …
On Thursday, April 13, 2017 at 12:16:16 PM UTC-6, john NeuMotiveLLC wrote:
SPARK, Ada, Notepad++, Atom b/c formal methods, provability, verification, types
On Thursday, April 13, 2017 at 12:07:19 PM UTC-6, john NeuMotiveLLC wrote:
SPARK, Ada, Notepad++, Atom b/c formal methods, probability, verification, types
Array programming ... is attractive, but [Haskell] can make it hard to know where to start. At some point, we, as a community, need to bring some order into this plethora of options, so that others who want to use [Haskell/Idris] for array programming will see a clear path ahead, but that is a story for another time.
http://www.tweag.io/posts/2017-08-09-array-programming-in-haskell.html
Idris 1.5: the best tool for high-assurance programming?
--
You received this message because you are subscribed to the Google Groups "Idris Programming Language" group.
To unsubscribe from this group and stop receiving emails from it, send an email to idris-lang+unsubscribe@googlegroups.com.
--
You received this message because you are subscribed to a topic in the Google Groups "Idris Programming Language" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/idris-lang/xX5rUI1kKMM/unsubscribe.
To unsubscribe from this group and all its topics, send an email to idris-lang+unsubscribe@googlegroups.com.
"dependently typed" is something internal for the programmers community. For the outer world however it's not so meaningful.
On Nov 2, 2017 8:34 AM, "Nickolay Platonov" <nick...@gmail.com> wrote:"dependently typed" is something internal for the programmers community. For the outer world however it's not so meaningful.best tool for blockchain smart contracts?
On Thu, Nov 2, 2017 at 6:06 PM, Gregg Reynolds <d...@mobileink.com> wrote:On Nov 2, 2017 8:34 AM, "Nickolay Platonov" <nick...@gmail.com> wrote:"dependently typed" is something internal for the programmers community. For the outer world however it's not so meaningful.best tool for blockchain smart contracts?And with that, we've successfully gone from something that had meaning only to the internal programming community, so something where no one knows what it means ;)
Nickolay's earlier suggestion of "high-assurance programming" registers with me, and is what drew me to Idris, along with programming as a dialogue with the machine.
With that, I'd revise the motto to "Idris is the best tool for experimenting with high-assurance program construction"
What I'm trying to see is if Idris would be useful in areas where they're making due with bug fixes and existing levels of testing, but it would be more profitable to use Idris.
--
You received this message because you are subscribed to the Google Groups "Idris Programming Language" group.
To unsubscribe from this group and stop receiving emails from it, send an email to idris-lang+...@googlegroups.com.
"dependently typed" is something internal for the programmers community. For the outer world however it's not so meaningful.
To unsubscribe from this group and stop receiving emails from it, send an email to idris-lang+...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
--
You received this message because you are subscribed to a topic in the Google Groups "Idris Programming Language" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/idris-lang/xX5rUI1kKMM/unsubscribe.
To unsubscribe from this group and all its topics, send an email to idris-lang+...@googlegroups.com.
--Nickolay