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

min creator here :)

min does not have a C FLI essentially because it has a "Nim FLI". It is really easy to add new symbols to the language using a Nim API (which is also used internally to define all symbols of the language).

See https://min-lang.org/learn-extending/ for more info. Maybe I should generate some Nim docs for the public API though... but it's really easy to use, and you can check the lib folder of the repo for examples: https://github.com/h3rald/min/tree/master/minpkg/lib


Wow! Your web site changed a bit since last time I saw it, congratulations Yanis! It's great to see a programming language implemented in Nim to look so polished!


Fabio, Hi! Really nice to see you around! And thanks a lot for your very kind words - I'm doing my best to find the time needed and do anything! Definitely, Arturo's is in my priority list! (Big update coming very soon!)

Also, don't think that I have forgotten about Min either. I do keep track of its progress as well! Well done to you as well! :)


Nice project! It looks pretty similar to my own LiteStore: https://h3rald.com/litestore/

The feature set is pretty similar, but I focused mainly on the free form/nosql-ish aspect of it, and although I added support for server-side JavaScript middleware I didn't include authentication OOTB (although it could be implemented or you can integrate with an OAuth2 system - it can validate JWT tokens).

And yes, LiteStore's web app hasn't been updated in years and overall your project looks much more polished than mine.

Good job! Bookmarking ;)


I notice that it has full text search support, too, which pocketbase doesn't seem to.


I am "eating my own dog food" in the sense that I am currently using two projects that I developed specifically for that:

- HastyScribe[1] -- an opinionated markdown compiler that supports advanced features for technical writing like macros, fields and transclusion. - HastySite[2] -- a highly customizable static site generator based on HastyScribe and min[3], another project of mine (and a pretty deep rabbit hole to go into, if you like unusual programming languages)

Examples can be found in the docs listed for most of my with my projects, here:

https://h3rald.com/projects

The only thing missing from those is search, but I could plug in LiteStore[4] and be done with it. OK, I think that's enough self-promotion for one comment, but you did ask...

[1] https://h3rald.com/hastyscribe/

[2] https://h3rald.com/hastysite/

[3] https://h3rald.com/min/

[4] https://h3rald.com/litestore/


Can you link me or explain some more what you mean by macros, fields, and transclusions? Your project makes it easy to document these aspects of a programming language? Or these are features of your documentation system itself?


They are features of the documentation system itself, here's a simple example of macros:

https://h3rald.com/hastyscribe/HastyScribe_UserGuide.htm#Mac...

Basically it's like defining simple functions with parameters.

And here is a section about transclusion, which is a fancy tech writing word to say "include text from another file":

https://h3rald.com/hastyscribe/HastyScribe_UserGuide.htm#Tra...


Uhm... expensive?! ;)

The municipality of Triora, a beautiful historical town now nearly abandoned, very close to the Ligurian coast in Italy, is selling houses as low as 1 (one!) euro, in an attempt to re-populate the area and get someone to invest in restoring the historical landmarks...

https://1eurohouses.com/triora-imperia-liguria/

Honestly, this is a real bargain considering what this place is like and its historical significance.

Granted, you have to commit to restoring the place, but still!


Here's most of the stuff that I built myself (and that I still use on a regular basis):

- fae [https://h3rald.com/fae] · a minuscule find and edit utility

- h3 [https://h3.js.org] · an extremely simple javascript microframework

- hastyscribe [https://h3rald.com/hastyscribe] · a professional markdown compiler

- hastysite [https://hastysite.h3rald.com] · a high-performance static site generator

- herald [https://h3rald.com/herald-vim-color-scheme] · a well-balanced vim color scheme

- litestore [https://h3rald.com/litestore] · a minimalist nosql document store

- min [https://min-lang.org] · a small but practical concatenative programming language

- mn [https://h3rald.com/mn] · a truly minimal concatenative programming language

- nifty [https://h3rald.com/nifty] · a tiny (pseudo) package manager and script runner

- nimhttpd [https://h3rald.com/nimhttpd] · a static file web server


Well damn!


Looks very similar to something I made a while ago[1]. SQLite is an awesome piece of software, and with JSON and Fulltext search baked in is ideal for these kind of things. Glad to see that people are finally realizing it!

[1]: https://h3rald.com/litestore


Thanks for sharing! This is great work. Cool to see it's written in Nim!


Interesting project! I recently created something similar[1] because I wanted a simple, easy to use, bloat-free micro framework to create single page applications. I also wanted it to be somewhat "battery-included" and provide things like routing and state management out of the box.

I think skruv comes with even bigger batteries (SVG support, Shadow Dom integration and additional vdom related apis), and I am curious to see how they all play together. The one thing that does seem a bit weird is the html helper functions... like Mithril, I went straight for hyperscript: I think it is very underrated right now but it is actually a good way to write a dom tree -- and you also get JSX support (nearly) for free.

Anyhow, keep up the good work, I think the world needs more micro frameworks like these: powerful but simple enough to be understood and extended easily if needed.

[1]: https://h3.js.org


Thanks! I haven't built in a router yet, but I'll publish the one in the Tutorial as a separate package as soon as I feel it covers enough use-cases.

On hyperscript: I prefer to keep the tag name separated from selectors, to me stuff like element type and classes/id's belong in different places and with css scoping built in I think you won't need as many classes so hopefully it won't be a big issue. In general I want the vDOM/HTML stuff to be a pretty direct abstraction on the HTML/DOM in the browser.

On JSX: There is a generic `h` function builtin that can be used as a target for JSX. I'll put together an example of it in the coming days. I still want the recommended way to use the framework to be without build steps, parsing or dependencies though.


For my personal projects I find particularly satisfying using my own stack:

- https://h3rald.com/litestore if I need a RESTful searchable data store and some relatively simple middleware logic.

- https://h3.js.org if I need to write a single-page application and I just want to get things done fast.

- https://hastysite.h3rald.com if I need a static site generator.

- https://min-lang.org for more complex things. It took a bit to get used to it, but I managed to get quite productive with it in the end.

I do occasionally try out more traditional things or the latest stuff but... using my own code feels a lot more gratifying. If I needed something different, I found myself building it from scratch exactly like I wanted it.


Now I really want to know which operating system you use.


Neat! I was playing around with min a while ago and it was fun.


I have been using Mithril.js for a while and never ran into problems, but admittedly I only used it for small, personal project.

What I liked about Mithril was its simplicity: a clean API with a handful of methods but batteries-included at the same time, and very easy to learn, too!

Eventually I decided to write my own micro framework which borrows heavily from Mithril in terms of api design and approach (https://h3.js.org) -- basically, like Mithril, it comes with its own Virtual DOM implementation, hyperscript syntax (imho the best way to write a view, once you get used to it), a minimal router but also more obvious ways to manage local and global state.

Yeah, I am not even thinking about competing with React or other frameworks, as long as it works for me. I have learnt more building a micro framework from scratch about how single page application work than from using React or Angular and constantly checking stack overflow and other docs to make sure I was doing stuff "in the right way".

I would however be curious at what are the limits of such frameworks. Real-time dom updates... depends how complex I guess, and how fast. It would be nice to have a way to benchmark this properly...


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

Search: