HNHacker News
TopNewBestAskShowJobs

Yahivin

797 karma · joined March 14, 2010

Some things I done did:

New Programming Language https://civet.dev

Apps for everyone https://glitch.com

Zine based operating system https://whimsy.space

Pixel editing community https://pixieengine.com

Email me: daniel@danielx.net

submissionscomments
Yahivin··on F-Zero X on Nintendo 3DS
I’ve found that subscription is ~98% cheaper than API pricing.
Yahivin··on Show HN: Nutshot Simulator – 31 days, 59K prompts, 142M tokens, ~$23K of Claude
Uh oh
Yahivin··on Civet: A Superset of TypeScript
I was pleasantly surprised with how well Copilot picked it up. Civet doesn't have that many truly new language features, most of them are from existing languages and used in a similar way. Copilot is really good at matching what you are doing near the completion so I was impressed with how well it did with a new language.
Yahivin··on Civet: A Superset of TypeScript
The built in browser debugger is incredibly good. As long as the transpilation is simple and matches JS semantics you can still use the debugger. I haven't seen good debugging tools when using languages more distant from JS but I'd love to know if they've become viable.
Yahivin··on Civet: A Superset of TypeScript
We ship
Yahivin··on Civet: A Superset of TypeScript
The GWT approach has its own downsides as well.
Yahivin··on Civet: A Superset of TypeScript
Something interesting I've found while designing Civet is that TypeScript actually mitigates in a lot of the downsides of CoffeeScript.

Types help quite a bit with implicit returns so you don't accidentally return an iteration results array from a void function.

They also help reduce the downsides of terse syntax, just hover over things in the IDE and see what they are. Missed a step in a pipeline? The IDE will warn you if there's a mismatch.

Yahivin··on Civet: A Superset of TypeScript
Nailed it
Yahivin··on Civet: A Superset of TypeScript
This is pretty neat but I wonder how it compares to Arc...
Yahivin··on Awesome Engineering Games
- Patrick's Parabox
Yahivin··on Pentagon fails audit for sixth year in a row
I can imagine the opposite.
Yahivin··on Worst Examples of Meta's Dystopian AI Influencers
> No one in this world has ever lost money by underestimating the intelligence of the great masses of the plain people.
Yahivin··on Imba – A friendly full-stack language
That's why I created https://civet.dev as a personal slight against chaptrick.
Yahivin··on Imba – A friendly full-stack language
Civet[1] is a similar idea for a programming language based off of TypeScript and 99% ES compatibility.

[1]: https://civet.dev

Yahivin··on Imba – A friendly full-stack language
It seems to make sense with the example. The `tag` keyword defines a tag that is used the same as HTML tags to create an element.

    tag Box
 css pos:relative
 x = 0
 y = 0
 <self[x:{x}px y:{y}px] @touch.moved.sync(self)> <slot> "box"

    tag app
 <self[inset:0 d:hflex ja:center]>
  <Box[hue:blue]> 'One'
Yahivin··on The Kentucky Derby is decadent and depraved (1970) [pdf]
Brandon Buckingham is a modern day Hunter S. Thompson. There are probably hundreds of other YouTubers doing similar things but we haven't heard about them yet because they are at the beginning of their career and Hunter is past the end.
Yahivin··on There is no A.I.
Or peyote.
Yahivin··on Why Janet?
Ok, the shell scripting DSL has got me interested.
Yahivin··on Java 20 / JDK 20: General Availability
Check out Civet https://civet.dev/#pattern-matching
Yahivin··on Trouble with Erythritol
Carbonated water plus orange or lemon peel is great!
Yahivin··on ChatGPT powered GitHub code review app
Maybe people have finally realized that code is not an asset.
Yahivin··on Dragon Programming Language
Maybe "The modern way to write TypeScript"?
Yahivin··on CoffeeScript for TypeScript
DALL-E 2
Yahivin··on CoffeeScript for TypeScript
There are dozens of us! :)
Yahivin··on CoffeeScript for TypeScript
Thanks! Sounds like a good idea and a nice way to make it easier for people to get started playing around with Civet.
Yahivin··on CoffeeScript for TypeScript
We often add promising TC39 proposals into Civet so people can experiment without waiting.

We've added https://github.com/tc39/proposal-pipeline-operator, a variant of https://github.com/tc39/proposal-pattern-matching, a variant of https://github.com/tc39/proposal-string-dedent and others.

Since our goal is to be 99% compatible with ES we'll need to accommodate any proposals that become standard and pick up anything TC39 leaves on the table (rest parameters in any position, etc.)

Yahivin··on CoffeeScript for TypeScript
That's awesome to hear! There's still a lot of improvements we want to add to the LSP so it's only going to get better from here.
Yahivin··on CoffeeScript for TypeScript
We trust people to make their own mistakes :)
Yahivin··on CoffeeScript for TypeScript
I like the documentation that TypeScript types provide but I'm always running into lots of small quality of life issues that wear me down.

- Rest in any position

- Dedented block strings

- Default to const in for loops

- Lack of -> function shortand

- Everything is an expression

- Implicit returns

- Chained comparisons

- Nested unbraced object literals

- Optional trailing commas in arrays

- Optional trailing commas in objects

- x.map .name function shorthand

Each one is a fairly minor concern but they all add up. I'm sure different people will have a different list of favorite features as well. One of my goals in creating Civet was to fix my top 100 issues with TS syntax while being 99% backward compatible. The ultimate goal being: TS with my top 100 issues fixed will be the best language I have ever used.

Yahivin··on CoffeeScript for TypeScript
Civet aims to be 99% compatible with existing TypeScript so it could be considered an experimental TypeScript. With any luck Civet catches on and does to TS what CoffeeScript did to ES and all the best features trickle into the standard eventually.

The difficult part for TS/JS is they can't easily opt into some of the more whitespace/context sensitive features without breaking changes to existing code or forcing people to opt in with a "jsNext" directive or something.

Page 1 of 7Next →