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

This is needless fearmongering. F* looks a lot like F# code with semantics you should be familiar with if you've worked with other proof oriented languages. The website design is dated is all. The book gives exactly what the OP wants in the introductory chapter.


Fearmonger? Me? Well I never.

Also

> if you've worked with other proof oriented languages.

That's doing a lot of heavy lifting.


Fearmonger is a little heavy handed but the comparison to Dwarf Fortress is probably too strong.

I don't find F* syntax anymore intimidating than Haskell, Scala, Mercury, Prolog, etc. aka the hard languages. I love Ruby and I didn't find it intuitive when I first began learning it (specifically, the block/lambda passing mechanism).


Meanwhile I'm sure there's people out there baffled that anyone finds dwarf fortress challenging to get into.

I'm old enough that I've had the pleasure of handholding software engineers through their first anonymous function usage. Effect system, refinement types, totality checker? The best I get is blank stares before they go back to C# and JavaScript. These days I'm just glad they tolerate linq expressions and typescript.

It matters where you're standing for what feels incomprehensible. But then again, you can say the same thing about dwarf fortress.


> These days I'm just glad they tolerate linq expressions and typescript

If it walks like a duck, farts like a dog, and flies like a fish - it's Java$cript.

TypeScript is used by the pious - they think it will bring them closer to God.

> dwarf fortresses that prove code with math

And then there's you guys.

Gattir allar,

aþr gangi fram,

vm scoðaz scyli,

vm scygnaz scyli;

þviat ouist er at vita,

hvar ovinir sitia

a fleti fyr


Breathes there the man, with soul so dead,

Who never to himself hath said,

This is my own, my native land!

Whose heart hath ne’er within him burn’d,

As home his footsteps he hath turn’d,

From wandering on a foreign strand!

If such there breathe, go, mark him well;

For him no Minstrel raptures swell;

High though his titles, proud his name,

Boundless his wealth as wish can claim;

Despite those titles, power, and pelf,

The wretch, concentred all in self,

Living, shall forfeit fair renown,

And, doubly dying, shall go down

To the vile dust, from whence he sprung,

Unwept, unhonour’d, and unsung.


How does this relate to the topic? I'm willing to assume it does, I just don't get it. I'm probably overreacting because when Scott was writing this, tens of thousands of Scots living in poverty were being evicted via arson from their land and country. Saying they were dead in spirit is very elitist as he sat in comfort.


I'm curious, why isn't the the free version of the game on steam? It'd be a lot easier to get my friends to try it, and setup parties if it used steam friends.


Speaking as an occasional contributor: there's a roadmap towards that, but there's a few components that need to finish baking before we release on Steam. e.g. the current lobby protocol isn't capable of handling Steam levels of traffic, so we are working on replacing it.

You only get one chance to make a good first impression, and if the server melts on release day, that's not a good first impression. :)

The Hooded Horse deal is expected to provide some professional development time to help knock out these blocking items.

https://www.beyondallreason.info/development/steam-release#M...

https://www.beyondallreason.info/news/beyond-all-reason-and-...


The current version isn't on steam due to a variety of (mostly infrastructure related) issues, the free version _will_ be on steam in the future though you will still be able to get the free version from the website for those who want to avoid steam.


While I agree that it isn't revolutionary that it could implement this from a single prompt, what's surprising to see is how well done this one is compared to the other tries. The controls and movement are smooth, the animations aren't jittery, the ui makes sense, there's a clear progression in difficulty. This model clearly "understands" the implementation of this game far better than the others did.


Yes, this subtly seems worth noting. That smoothness suggests that even if many of the concepts are common/non-original, the bringing together of various pieces in a form that works well on modern mobile browsers is still impressive - browsers are moving targets and even if there are open source versions of this, it's comparatively rare they'd get continual care and attention to stay fully current (unless implemented via an o/s engine)


Still, if the code for multiple similar games is in the training data, then that's worth thinking about.


Does anyone know what's up with ocaml on windows? I haven't used it in a while. Trying to install utop on 5.x compiler and quite a few packages need a downgrade to 4.x? I've tried with both mingw and system-msvc. Same behavior.


Installing via opam and using the cygwin method is supported and should be working fine (cygwin is just used for build - binaries still just link with mingw).

That specific combination (ocaml + mingw) has a known problem with ocamlfind that's still awaiting a new release (see https://github.com/ocaml/ocamlfind/pull/112). ocamlfind underpins quite a bit of the package ecosystem, so this one is annoying, as the mingw workflow is otherwise quite good.


It's incredibly painful working with OCaml and dune on Windows, unfortunately. Docs are insufficient and there is little information online :/, wish it was not the case.


They are far from regexes. I feel like you're equating something you don't understand to something else you find difficult. It's a language like any other. Infact it's far less verbose and shorter to read. If you've spent enough time with an arraylang you start to recognize "words" or sequences of glyphs as some complex function[1].

You might have a better time trying something like Uiua[2] or BQN.

[1] https://aplcart.info/

[2] https://www.uiua.org/tour


> It's a language like any other. Infact it's far less verbose and shorter to read. If you've spent enough time with an arraylang you start to recognize "words" or sequences of glyphs as some complex function[1].

Like regexes!


> to something else you find difficult

I didn't say I find regexes difficult. I don't.


It's alright as a dropin sqlite replacement. I ran into a bunch of problems with libsql on windows a year or two ago when I tried it but I'd assume it's fixed now. They also offer turso db as service with a very generous free plan which was my main reason to try it.


What do you mean? It has to mirror the behavior of the hardware pretty closely otherwise... well... the games don't run.


F# is a good language, but I feel like it's forever stuck in C#'s shadow. A lot of the library code is C# and .NET handmedowns. Not interfaces or libraries crafted with F# in mind, often having no explicit documentation for use with F# either.


Translating library usage from C# to F# is pretty mechanical so not sure if specific docs are needed.

The larger issue is the C# community loves OOP so you often have to wrap these libraries into something more “FP” if that’s how you want to work.

Overall it’s far better than having nothing (looking at Haskell, OCaml as much as I enjoy them!)


Yeah there is some degree of awkwardness created by the interaction, but I think it’s less about needing specific libraries to map well and more about getting a good understanding of what the interop rules are, and what the shape of the underlying generated output actually looks like.

C# interoperability loosens guarantees (particularly immutability) that F# code normally relies on. There are surprising limits that come up in generics because of how they map to C#.


was LeanB4


Are there any plans to add syntax sugar for interacting with vtables?


Wish we could bribe Andrew Kelley to add a built-in for this. There are only a couple of regular ways that everyone creates these vtables. Might as well just standardize it.


I feel like a std lib module would be sufficient.


Sadly no, as fas as I'm aware. I can't think of creating vtables manually every time I need to create interfaces, I guess Zig is not for me.


Yeah I don't understand why a language cannot automate something that routine and boilerplate-y.

Oh well, people like it so I won't judge, I'm happy we have choices for what languages we use. Just wish people would choose safe ones :/


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

Search: