[a / b / c / d / e / f / g / gif / h / hr / k / m / o / p / r / s / t / u / v / vg / vm / vmg / vr / vrpg / vst / w / wg] [i / ic] [r9k / s4s / vip] [cm / hm / lgbt / y] [3 / aco / adv / an / bant / biz / cgl / ck / co / diy / fa / fit / gd / hc / his / int / jp / lit / mlp / mu / n / news / out / po / pol / pw / qst / sci / soc / sp / tg / toy / trv / tv / vp / vt / wsg / wsr / x / xs] [Settings] [Search] [Mobile] [Home]
Board
Settings Mobile Home
/g/ - Technology

Name
Options
Comment
Verification
4chan Pass users can bypass this verification. [Learn More] [Login]
File
  • Please read the Rules and FAQ before posting.
  • You may highlight syntax and preserve whitespace by using [code] tags.

08/21/20New boards added: /vrpg/, /vmg/, /vst/ and /vm/
05/04/17New trial board added: /bant/ - International/Random
10/04/16New board for 4chan Pass users: /vip/ - Very Important Posts
[Hide] [Show All]


πŸŽ‰ Happy Birthday 4chan! πŸŽ‰


[Advertise on 4chan]


File: hare_mascot.png (3 KB, 256x256)
3 KB
3 KB PNG
From what I heard it is essentially C but with tagged unions, no headers and much better error handling.
Has anyone tried Hare? It sounds promising to me.
>>
File: 1747833261400767.png (745 KB, 800x800)
745 KB
745 KB PNG
Use case for these threads?
>>
>>106792101
Buy an ad, Drew.
>>
File: 1746086548262300.png (44 KB, 1233x135)
44 KB
44 KB PNG
>>106792101
Rope, Drew
>>
kys drew
>>
It's okay, I guess. But what is the point when so many C alternatives already exist? I couldn't find an exact answer
>>
>>106792101
no one is using your malware you pedo drew
>>
>>106792700
>But what is the point when so many C alternatives already exist? I couldn't find an exact answer
youre not going to get one, there is zero effort made by their community to lower the barrier of entry to Hare
>>
>>106792123
ebussy... sex...
>>
File: 1564643914299.jpg (30 KB, 512x339)
30 KB
30 KB JPG
>>106792339
this is where he lost me
>>
File: 4chan ads.jpg (30 KB, 619x403)
30 KB
30 KB JPG
>>106792101
Hi Drew
>>
Stop the spam Drew OpenMediaVault
>>
drew might be even more well-known than mikee as a resident /g/ histrionic schizo, lmao.
>>
>>106792101
all that, and java tier performance. hey wait a moment, why not just use java at that point???
>>
>>106792101
Nobody cares if it's a good language or not (probably it's not) but, why in the fuck he is not using LLVM as backend? Is he retarded?
>>
>>106794579
have you ever made anything that used "LLVM" as a "backend"?
>>
>>106794611
Maybe.
>>
>>106792101
usecase for drew creating these threads?
>>
hare and a bunch of Drew's other projects were something I was really interested in before he outed himself. Really a shame how much of a homo that guy is and how untrustworthy he's proven to be. I got banned for 3 days last time I said something bad about Drew on here so I'll just leave it at that for today.
>>
File: 1759360581796.jpg (375 KB, 960x960)
375 KB
375 KB JPG
>>106793777
why do either of them care so much about spamming g anyways?
>>
hit me up when any of these meme langs reach 1.0
I don't want to rewrite everything each month
>>
Wake me up when I can use it on wangblows without a VM or WSL
>>
>>106792700
>But what is the point when so many C alternatives already exist
Maybe it's better than the other alternatives?

To be honest, hare is the only recent newlang that actually got "C with fixed warts " right from a C programmer view

Zig, Odin and such ended up being much more than that


Also there are some refreshing choices made by ddv (either by necessity or deliberately, doesn't matter in the end)
> Language freeze at 1.0. that means the language doesn't aim to be in an eternal catching up of features and when the technology gap will becomes too "obvious", another language will be developed
This has the pros of avoiding the shitfest that is programming right now (which C standard? What java version? What python version?). If you know hare, you can sit down and programming now, as you will be able to do maintaining sw written with hate in 2300 (if there will be any, of course)

> QBE instead of llvm
Dependability (readability, maintainability, extensibility) over performance
Newlang all use llvm because it's the "golden standard" of backbends. But that comes at a cost, that is it requires a lot of effort to maintain it and extending to new archs. Hare tries to grow by being easy to port. Nowadays languages like Odin are trying to move away from llvm because they realize that more than 50% of the effort in maintaining the language is keeping up to broken compatibilty between llvm releases

Long story short, aside from technical merits, ddv had the balls to make what seems "controversial" choices wrt modern standard language choices, because he want a simple, hackable, easy to extend language as a primary metrics and to be honest, they are quite refreshing
>>
>>106799388
>>106792700
He basically looked at C and see what are the problems that makes it anachronistic
> Text macros instead of modules system, hence even lacks of namespace
> Too primitive string implementation
> dangerous and error prone pointer arithmetics -> 90% of them can be avoided by implementing slices
> UB -> hare reduced UB casistics by a large margin
> Basically absent error handling capabilities, one of the most important programming language feature -> solved by anonymous tagged unions and pattern matching and error propagation operators (?, !)

And a couple of safety features like defer, non-nullable pointers and array access control + complete modern stdlib and a standard build system

These are unarguably not a matter of choices/preferences but objectively deficiency of a modern language
>>
>>106799388
True but imho, Odin ended up pretty close.
>>
>>106799388
>which C standard?
-std=c89
wow
much difficult
many hard
>>
>>106799388
>Odin are trying to move away from llvm because they realize that more than 50% of the effort in maintaining the language is keeping up to broken compatibility between llvm releases
writing a language backend is by far the most difficult part of making a language implementation which is why almost every programming language made in the last 10 years all use llvm. I think Zig managed to make their own backend last month and its benchmarking faster than llvm. I dont think Ginger Bill is able to make his own backend will have to hire someone to do it
>>
>>106799388
>Dependability (readability, maintainability, extensibility) over performance
Nobody cares about that. Modern software is build on layers and layers of technical debt.
>>
>>106799930
odin is nice but hare is even better on paper
still, I won't mind odin replacing C in the future

>>106800588
Are you dumb? I meant as a maintainer

>>106801054
>Nobody cares about that.
I care
> Modern software is build on layers and layers of technical debt.
That's something hare would have prevented
>>
>>106801776
>I care
You don't your software have the quality of all "suckless" projects, it's a featureless incomplete meme.
>>
>>106801927
> I only know /g/ meme
That tells more about you than me, loser
>>
>>106802294
I'm still having hair, chud.
>>
>>106802689
It's almost certain I have more hair than you
>>
File: 1758823699421.jpg (1.08 MB, 1025x943)
1.08 MB
1.08 MB JPG
>>106792101
dead nigger baby of a programming language made by obsessed commiepedotroon.
>>
>>106792101
I don't understand some design decisions of Hare. Why you can't for example do?:
type <block> 

Or something that can be more useful like:
defer <block>
>>
>>106800758
the new zig debug backend is also 50x slower than llvm
>>
File: kek.png (417 KB, 1250x1682)
417 KB
417 KB PNG
>>106799450
Buy an ad, Drew.
>>
>>106805482
>
type <block>

What's the point of that?
>>
Fuck off, drew.
>>
You all missed the whole point of hare
>Hare is a language that most of its experienced users should be able to understand in its entirety: it’s feasible that one person can read and understand the entire compiler, for example. This also becomes easier given that Hare is self-contained – it does not depend on libc.
>>
>>106803897
>loli
B A S E D
A S E D B
S E D B A
E D B A S
D B A S E
>>
>>106792101
>much better error handling
it doesn't have exceptions
some errors are best handled with tagged unions but others are better handled with exceptions
>>
>>106792101
fuck off drew
also buy an ad
>>
this thread needs more controversy
https://www.youtube.com/watch?v=c7WOrFcwF_k
>>
>>106813713
Exceptions can be implemented using tagged onions.
>>
>>106815126
yeah, using if (err) { return err } at each function call
the point of exceptions is that you don't have to do that
>>
>>106815432
What I mean is that exceptions can just be syntactic sugar for tagged unions.
>>
>>106816052
exceptions are a control flow primitive, they are as far as you can get from being syntactic sugar for anything
>>
File: 1759834895291613.jpg (296 KB, 800x800)
296 KB
296 KB JPG
>>106792101
use case for hare
>>
bump
>>
>>106817090
Generally exceptions are syntactic sugar for setjump and longjump but can also be implemented using tagged unions.
>>
>>106818567
computed gotos (+ resetting RSP and RBP essentially) are not syntactic sugar you imbecile

>Generally exceptions are syntactic sugar for setjump and longjump
I'd say that it's the opposite, setjump and longjump are bloated implementations of exceptions in that:you don't function calls and you don't need to save all the registers. I mean, at the core exceptions are as lightweigth as function calls and function returns. The whole saving/restoring the registers is done for the exact same reason than for function calls. The compilers could very well (if they don't do this already), have lightweight try/throw and the register allocator save as much/as little register it needs to, just like for function calls.

Also, setjump/longjump allows you do unwind the stack and go back to specific places in the function call stack, but there is another style of exceptions where they respect a strict stack discipline (pop the last setjump buffer from an exception stack and longjump to it). A language could also have both.

There are languages like Python that throws "specific exceptions" that must be catched by a catch with the right exception type but I'd argue that it's basically the setjmp/longjump variety implemented badly. You could very have a hashtable/ struct that would associate an exception type to a setjump buffer and the thrower could directly get it and longjump in O(1).
>>
>>106818947
>are bloated implementations of exceptions in that:you don't function calls
*dont need
>>
>>106818947 me
>The compilers could very well (if they don't do this already), have lightweight try/throw and the register allocator save as much/as little register it needs to, just like for function calls.
For example, concerning the code generation of a try block in a particular function, the compiler could do a function call graph analysis and determine that the called functions (and the function it calls) do not do floating point operations not vector operations, so it only needs to save the general purpose registers.

Even better. If the function does something like try { some_function(arg1, arg2) } catch { }, the call to "some_function" already save the caller-saved registers to the try block/setjump does need to save them itself. So if an exception is thrown, the code at the catch block can restore registers using the caller-saved registers, that would have been also restored after the function call (when the some_function returns normally).

Same thing concerning the scratch registers (callee-saved registers). Those would also have been saved at the function call site so again the try block/setjump doesn't need to save them again.
>>
>>106819102
>Same thing concerning the scratch registers (callee-saved registers).
that should be the caller-saved registers, so this is the same case as the previous paragraph I guess.
In general the try block/setjump should need to save the callee-saved registers.
>>
bump
>>
>>106796658
they're banned from everywhere else
hn, lobsters, reddit, all have banned drew and hare because of how much they spam
>>
File: 1759861475867.png (44 KB, 932x309)
44 KB
44 KB PNG
>>106820064
Drew was banned 5 years before Hare was even a thing. And he was only banned because pushcx is a malding middle age boomer who likes dressing up as a little girl and throw little girl tantrums
>>
>>106820101
lol ur banned drew
>>
>>106792101
I think the rat or whatever in the logo is pretty cute.
>>
bump
>>
>>106820064
is there anything that infuriates either of them? something that can be posted to drive them to further autism for deh lulz?
>>
bump
>>
File: kneel knight.gif (1.27 MB, 372x374)
1.27 MB
1.27 MB GIF
>>106820101
>red reddit banned drew
>>
BUY .

AND .

ADD .
>>
File: hare.png (4 KB, 1920x960)
4 KB
4 KB PNG
>>106792101
Hare stands proudly for trans rights.
>>
bump
>>
bump
>>
>>106792101
This post is advertising or begging.
>>
bump
>>
bump
>>
>>106820336
It's a rabbit (not a baby hare, as mistakenly advertised)
>>
>>106820905
Drew loves trannies & faggots so making fun of them would probably piss him off
>>
File: 1738627307525954.jpg (88 KB, 350x350)
88 KB
88 KB JPG
>>106821653
>>106824714
looks like ballsack lol
wonder how drew would feel is someone DREW him having balls like that
>>
File: 1740068462264796.jpg (183 KB, 548x508)
183 KB
183 KB JPG
>>106825064
alright heres the first version
>>
>>106825417
>shaw
>>
File: 115786 - SoyBooru.jpg (142 KB, 627x507)
142 KB
142 KB JPG
>>106825520
first time i ever do somethiing like this
sorry not sorry

also heres refernece
>>
File: 115786 - SoyBooru.png (15 KB, 627x507)
15 KB
15 KB PNG
>>106825613
uhh why is it black background lol
>>
bump
>>
It's C but slow, great.
>>
bump
>>
bump
>>
bump
>>
bump
>>
bump
>>
bump
>>
Drew, fuck off already.
>>
bump
>>
bump
>>
bump
>>
>>106831112
let inorganic threads die such is the nature of this site
>>
>>106792101
no thanks
>>
>>106792127
>>106792339
>>106792599
>>106792853
Isn't Drew a mastotranny? I don't believe he would be advertising on 4chan
>>
why bumping a thread where nothing happens?
>>
>>106792101
QBE is dumpster fire
>>
bump
>>
>>106792101
what is that little bunny logo from?/?
i have this already saved to my pc but have never heard of what OP is talking about



[Advertise on 4chan]

Delete Post: [File Only] Style:
[Disable Mobile View / Use Desktop Site]

[Enable Mobile View / Use Mobile Site]

All trademarks and copyrights on this page are owned by their respective parties. Images uploaded are the responsibility of the Poster. Comments are owned by the Poster.