Live data from Hacker News

Janet – a Lisp-like functional, imperative programming language

github.com

71–80 of 143 posts

Re: Janet – a Lisp-like functional, imperative programming language

#71
post #43

Earlier quoted context omitted.

Hey! It's nice to see someone using the stack! What's funny about tw is that it was kind of like a ghetto tailwind jit before it was released! Janet can really help you move fast

Haha, I like that description: "ghetto tailwind jit". From your blog it seems like you're not really using it yourself anymore, though? I tried to add a styling thingy (sorry, really not familiar with the terminology) to `tw` to add support for "print" media queries (like this: https://tailwindcss.com/docs/breakpoints#styling-for-print ), but didn't get it to work on the first try. If I do make it work I'll create a…

Oh yeah, that's a bit of journey, each variant is kind of annoying to handle manually.

I always look forward to any and all PRs!

Edit: Yeah I haven't used it lately, I currently use roda + sequel now (ruby libraries).

I have limited time after work and I really want to get some "SaaS apps" up and running, so the trade-off was spend less time on libraries and more time on applications.

Re: Janet – a Lisp-like functional, imperative programming language

#72
post #66
post #59

Earlier quoted context omitted.

> I have never been successful getting any of the UI or drawing libraries to work. Have you tried jaylib (built on top of raylib)? I have gotten that to work well on macos, linux and windows. :) > The main http server circlet is MIT licensed, but it is built on top of Mongoose, which is GPL/paid commercial. Something to be aware of if you want to distribute binaries made with this library. While I haven't used it out…

When I tried to use jaylib I was not able to get it to work at the time. Might have to give it another shot. The http server used in Chidi is actually fairly new and I was not aware of it. It is part of the spork package. About two months ago I chatted with the creator of Janet about whether or not an http server will be added. He said it would not be added to core, but it looks like he added to spork about a month a…

I know I had some trouble with raylib's dependencies on Linux. If you get stuck, feel free to at me at the janet gitter.

Re: Janet – a Lisp-like functional, imperative programming language

#73

Earlier quoted context omitted.

(Not a lisp guy). What is an image and why would I want to run one? My best guess is that an image would be platform independent bytecode vs compiled executable?

I think of it as one of the defining features of Smalltalk, not Lisp, although there is plenty of cross-pollination. https://en.wikipedia.org/wiki/Smalltalk#Image-based_persiste... Janet's object system seems to be modeled after ideas first popularized in the Self language -- a Smalltalk derivative -- so there could be some direct inspiration there. https://en.wikipedia.org/wiki/Self_(programming_language)

LISP I from 1960.

http://bitsavers.org/pdf/mit/rle_lisp/LISP_I_Programmers_Man...

page 67: SET card

'...the state of the memory as it stands is read out onto tape 8 as the new "base" image for the memory...'

Re: Janet – a Lisp-like functional, imperative programming language

#74
post #72
post #66

Earlier quoted context omitted.

When I tried to use jaylib I was not able to get it to work at the time. Might have to give it another shot. The http server used in Chidi is actually fairly new and I was not aware of it. It is part of the spork package. About two months ago I chatted with the creator of Janet about whether or not an http server will be added. He said it would not be added to core, but it looks like he added to spork about a month a…

I know I had some trouble with raylib's dependencies on Linux. If you get stuck, feel free to at me at the janet gitter.

Will do, thanks!

Re: Janet – a Lisp-like functional, imperative programming language

#75
post #52
post #21

Earlier quoted context omitted.

I wrote a few websites with it, notably: https://github.com/swlkr/janetdocs I also scraped together a large web framework and a small one: https://github.com/joy-framework/joy https://github.com/swlkr/osprey

Thanks for all of your work Sean. I've messed around a bit with Joy and have been keeping an eye on the development of the framework.

Hey no problem! It's always great when something I make for myself works out for someone else too!

Re: Janet – a Lisp-like functional, imperative programming language

#76
post #21

This looks really interesting, going to check this out later today. Anyone using Janet for anything that would care to comment on their experience?

I wrote a few websites with it, notably: https://github.com/swlkr/janetdocs I also scraped together a large web framework and a small one: https://github.com/joy-framework/joy https://github.com/swlkr/osprey

Because swlkr is a bit modest, I’ll take this opportunity to point out his Janet twitch streams on his behalf. Definitely check them out! (google for “twitch swlkr”)

Re: Janet – a Lisp-like functional, imperative programming language

#77
post #28
post #19

Earlier quoted context omitted.

I'm making an editor, Freja, which is like a tiny Emacs with graphical support. Makes it fun to create gui apps and games. :) Ultima Underworld inspired game I'm making for a game jam: https://youtu.be/1fWsV83P-S8 Demo of pixel editor: https://www.youtube.com/watch?v=KOBi805nxNc Freja: https://github.com/Saikyun/freja --- My experience has overall been very nice. I come from Clojure, and comparing to that: - so nice…

Why do you mean by ‘throw exceptions from C’? C has no exceptions.

That is like saying Scheme does not have exceptions, except in C, we have setjmp instead of call/cc. It is technically correct, but there is something more flexible that can be perverted into doing the same thing.

https://en.wikipedia.org/wiki/Setjmp.h#Exception_handling

Re: Janet – a Lisp-like functional, imperative programming language

#78
post #30

Off topic: Is it just me or are there any others who find naming programming languages with women's names a bit weird? Julia, Janet, Eve... I understand the guy referring to his car as his "girlfriend" and give it a women's name. I just can't feel the same about tech. I guess this may be the nerd's way of immortalizing their sweetheart, but if I was a woman I'd rather prefer to be a car and not a programming language…

> I understand the guy referring to his car as his "girlfriend" and give it a women's name. I just can't feel the same about tech. Why do you assume programming langauges with female coded names are because the creator is viewing it as a girlfriend? Not all creators are heterosexual males (or otherwise oriented toward females as preferred or even acceptable romantic partners), and even those that are don’t necessaril…

> Why do you assume programming langauges with female coded names are because the creator is viewing it as a girlfriend?

I am not assuming that. I was just comparing it to the situation with cars.

> Not all creators are heterosexual males (or otherwise oriented toward females as preferred or even acceptable romantic partners), and even those that are don’t necessarily view women exclusively through the lens of romantic involvement such that that would be the implication of a female name.

I wasn't implying such a thing. But I knew a woke person was going to point it out to me anyway. Funny.

> Janet is named after a character that is expressly not a woman

The logo of the programming language is the face of an attractive woman wearing a lipstick and a fancy hairdo. Also, Janet is portrayed by a woman in the Good Place. Don't tell me that the name of the language has nothing to do with a woman.

> Why are female-coded names a particular issue

I don't think it is an issue. I was just thinking out loud.

Take it easy.

Re: Janet – a Lisp-like functional, imperative programming language

#80
post #67

What's the advantage of not having lists? How does this affect one's programming style versus Scheme or Common Lisp (or Emacs Lisp, honestly the Lisp I'm most familiar with)?

Disclaimer: I've never used Janet, but I am pretty familiar with Clojure. In Clojure, there are lists, but the most common structure for sequential data is actually a vector [1], which works more-or-less as a slightly modified version of the Clojure version of a hashmap. Advantages of doing it this way is that you get log32 indexed lookup times (vs linear for lists), and you also get log32 [2] append-to-the-end seman…

Phil Bagwell's VList data structure seems really interesting as a way to avoid a bunch of the pitfalls of naive lists performance-wise - the paper's good fun and there seems to be an implementation in racket for anybody who wants to play with it.
Post reply on HN