sordina
sordina on Hacker News
Curry Howard shows that for a logical proposition (A) with corresponding constructive proof (B), there will be a type (A') with program (B'). It's not about proving desired properties of programs. However, you can use the CH principles to do this too, as long as you can encode the proposition about a program in its type. This will not often look like the dataflow type of the naive program though. Look at software foundations for real detail, I'm not expert at this stuff, just aware of the basics.
Mate, the point I was making is that 15 minutes is not a reasonable time frame to learn new programming concepts in.
You've got the right idea. A program is a proof for the proposition made by its type. Only for the right languages though, and not in the naive sense of `assert(1+1 == 2)` proves the assertion.
Well, I interpret that as the assertion that it's more opaque than other types of programming. But I disagree and think that it is actually simpler in terms of the syntax and amount of prior understanding required. My blunt reply is that to assert that a particular example is inaccessible but then only to have dedicated 15 minutes to prove so is silly. I'm sure most people who seem to suggest that this stuff is opaque had no problem learning PCRE or complicated SQL joins and also didn't complain that it took more than 15 minutes to do so. Of course TT is a deep field and there are many complicated parts of it, but the syntax, rules and the example given are not opaque and very understandable to anyone who can tackle languages and abstraction.
If someone can learn C type syntax this is MUCH simpler. That doesn't mean you don't have to spend a little bit of time learning how it works, but it is not some kind of number-theory level maths construction only accessible to savants.
15 minutes is not a long time. Easily understand doesn't mean instantly understand with no background reading.
Pithy but useless sentiment.
So if you implemented it with analog circuits that would satisfy your criteria?
So if you lost the weights how is that not killing the AI? Is it because it lacks the death experience? If so what about bitrotting the weights incrementally and degrading its inputs?
The HTTP examples are fine, but a lower-level network module would enable all sorts of amazing plugins like a JDBC style ecosystem (WDBC?).
> generates more than 20 million dollars a year of revenue
and
> team is 3 people
and
> post COVID, budget is really tight
Why? All technical details aside if this can't be addressed I wouldn't even bother trying unless I owned stock.
One of my favourite Haskell "one-liners" is combining the AD package with Number.Symbolic:
{-# LANGUAGE ImportQualifiedPost #-}
module Module_1663406024_9206 where
import Numeric.AD qualified as Ad
import Data.Number.Symbolic qualified as Sym
-- >>> f x = x^2 + 3 * x
-- >>> Ad.diff f 1
-- >>> Ad.diff f (Sym.var "a")
-- 5
-- 3+a+a
-- >>> Ad.diff sin pi
-- >>> Ad.diff sin (Sym.var "a")
-- -1.0
-- cos a
The package authors did not need to coordinate to make this possible which is pretty wild.
Saw it first here: https://twitter.com/GabriellaG439/status/647601518871359489
and https://www.reddit.com/r/haskell/comments/3r75hq/comment/cwm...
Yes, it would be interesting to see Apple's response. Now I remember what made me ask this line of questions in the first place.
In the release notes for J901 iOS I saw the following:
"it is legally impossible to release a J IDE for iOS as an open source project due to restrictions imposed on app developers by both Apple Inc and the Open Source community".
https://code.jsoftware.com/wiki/User:Ian_Clark/iOS/Review_No...
Although there was no justification for this comment, but maybe it's just true due to enforcement.
Thanks for responding! So if there was a quality OSS level pack that could be bundled then that would overcome the only obstacle?
Is there a technical reason why this couldn't be put on the app store? I've seen reference to Apple not allowing certain OSS code but never seen that confirmed so I'm curious!
Yep! The script was essentially:
* Invoke ruby program
* Find all in-memory dependencies
* Statically link ruby and the discovered dependencies
* Compile with an args interface with the Pascal compiler
* Spit out exe
This was for windows only if I recall correctly.
Around a decade ago I used a script called ruby2exe and diving into that was a truly magical journey of discovery - finding an embedded Pascal compiler was... Interesting.
Give them some meaningful compensation in options.
Please keep in mind, when Haskell introduced some of these features they decided to take existing terminology from theory rather than make something up. The big benefit from this is that people already with the theoretical terminology have an intuition to start from, plus, users of the language also build some intuition for the theory. Win win. Given that they often broke ground on the features and couldn't borrow from other languages can you say this was a bad decision?
It says it was a party piece for friends.
Is this a serious comment? Poaching is a pretty common term for actively hiring someone, especially groups of people from another position of employment. Similar to head hunting not referring to actual collection of heads.
I can't remember where I heard this, but I was told that the death of logic languages occurred due to the poaching of the majority of good active researchers and developers by the big database companies.
Sorry to contradict you, but we wrote an mvp in rails even though we have 3.5 experienced Haskell programmers on staff. We did this because we knew we could build some web stack apps with all the trimmings much faster in ror. So there is at least one counter example.