HackerTrans
TopNewTrendsCommentsPastAskShowJobs

curryhoward

no profile record

Submissions

WASM interpreter fits in a QR code

purplesyringa.moe
11 points·by curryhoward·2 miesiące temu·1 comments

comments

curryhoward
·2 lata temu·discuss
You can inspect the styles with browser dev tools. It's IBM Plex Mono.
curryhoward
·2 lata temu·discuss
Ah, I think your clarification makes a lot more sense than your original phrasing, because Haskell's position is indeed that side effects are bad, not that effects are bad. The bad thing is "side", not "effects".
curryhoward
·2 lata temu·discuss
The suggestion is to use pure Haskell for the rules DSL only. The surrounding system that applies any side effects would presumably not be written in that language.

It's a good idea, and Facebook actually does something like this for their spam filtering rules: https://engineering.fb.com/2015/06/26/security/fighting-spam...
curryhoward
·2 lata temu·discuss
Citation needed on "well-established". I find myself often benefiting from Haskell's disciplined approach to effects.
curryhoward
·2 lata temu·discuss
For one, Rust's "trait" system, which is a foundational part of the language that enables a lot of Rust's expressivity, is a limited imitation of Haskell's "type classes". Rust would be a very different language without it.
curryhoward
·3 lata temu·discuss
The Y combinator is not the same as λ calculus. The Y combinator is an expression in λ calculus.
curryhoward
·3 lata temu·discuss
> Even more beautiful than the y combinator

That's a bit of a strange statement. The Y combinator is an expression in λ calculus. It's like saying French is even more beautiful than the phrase "nouveau départ".
curryhoward
·3 lata temu·discuss
> Comic Sans is perfect for setting children’s activity timetables that are displayed in a school playground. It’s perhaps not as appropriate for announcing scientific breakthroughs.

Simon Peyton Jones would beg to differ. :)
curryhoward
·3 lata temu·discuss
> and why they are so absolutely lost when it comes to creating successful languages

They aren't lost—they're just more interested in actually good ideas than in popularity. Popular languages must appeal to all kinds of programmers with varying backgrounds, so they are heavily constrained. Your argument is basically that mathematicians don't know what they're doing because their most advanced theories aren't used by mechanical engineers.
curryhoward
·3 lata temu·discuss
Most of the functional programmers I know have a deeper understanding of OOP than the OOP programmers I know. For example, most of the OOP programmers I know do not understand covariance and contravariance (whereas just about every functional programmer I know has mastered them), even though those concepts frequently come up in the context of OOP. People who study programming language theory tend to gravitate toward the functional paradigm, but it's not because they don't understand OOP.
curryhoward
·3 lata temu·discuss
That's what (4) is for. Time out after some duration.
curryhoward
·3 lata temu·discuss
> Code has limited CPU available as well - if it tries to use too many cycles it quits with an error

That's a pretty strange failure mode. Usually you'd just throttle the sandboxed application (e.g., give it a CFS quota with a CPU cgroup) or give it a limited number of vCPUs.
curryhoward
·8 lat temu·discuss
This is actually the Z combinator, which is the eta expansion of the Y combinator. The Y combinator only works in languages with non-strict semantics, but JavaScript is call-by-value.
curryhoward
·10 lat temu·discuss
I think you are interpreting it as "Major libraries are allowed to do it sometimes."

I think what he meant to say is "Even major libraries do it sometimes." It is already understood that minor libraries do it.