▶ No.985230
dunno, try explaining it first.
Faggot.
▶ No.985240
>designed for game development
CONFIRMED GARBAGE
▶ No.985249
>The Kit compiler, kitc, is written in Haskell. Building the compiler requires GHC; the easiest path is to install Stack and run:
▶ No.985256
▶ No.985314>>985325 >>985326 >>985339
A compiler that isn't self hosting isn't finished.
▶ No.985325
>>985314
Maybe that's why the language is advertised as pre-alpha
🤔
▶ No.985326>>985329 >>985337 >>985453
>>985314
Also, that's retarded anyway. Is awk self-hosting? Python isn't self-hosting (though it could be). JS definitely isn't.
▶ No.985329>>985336
>>985326
>heh I bet you didn't think about these pathetic abortions when you said that thing about programming language
▶ No.985336
>>985329
Just proving his point anon...
▶ No.985337>>985338 >>985343
>>985326
Python is not an interpreter, it's a language. Same thing for awk.
▶ No.985338>>987382
>>985337
'cept python is shit and awk actually has a use
▶ No.985339>>985383 >>985468 >>985482
>>985314
what does this even mean?
Turing complete?
▶ No.985340
>>985229 (OP)
>compiles to c
But C library is broken and ugly you can build a decent language on the top of that crap.
▶ No.985341
>>985229 (OP)
Well, at least it's not YALF (Yet Another LLVM Frontend), like most of the Xs in /tech/ "Why aren't you using X?" threads.
▶ No.985343
>>985337
Kit isn't an interpreter, it's a language.
▶ No.985383>>985483 >>985687
Nim is better and will hit 1.0 next year.
https://nim-lang.org/
>>985339
This better be bait.
▶ No.985453>>985455
>>985326
You do realize these languages don't officially use a compiler.
▶ No.985455
>>985453
And with that I mean ahead of time compilers.
Python uses an interpreter and JS takes advantage of advanced JIT shit.
▶ No.985468>>985480
>>985339
lurk for a minimum of 2 years
▶ No.985480>>985481
>>985468
You don't mean lurk on /tech/, right? The only thing he'd learn lurking here is that this board is mostly /pol/ shit and maybe 10 lines of code a week. He would learn maybe 90% of this board can't code for shit, or can't tell the difference between an interpreted language and an interpreter. He'd learn that everything is pwned and he should just use win10. He'd learn 1000 different ways to describe a project getting a CoC as cucked. But he wouldn't learn anything technical.
If you want to learn what a self-hosting language is, go to HN, lobste.rs, or even lainchain. But not here, not /tech/. The shitty moderation turned this board into a marginally more cringeworthy /g/.
▶ No.985481
>>985480
implication: he should not lurk for two years. He should open his mouth and ask questions, and talk about what he knows, and replies like 'lurk for 2 years' should be reserved for when that's actually good advice.
▶ No.985482
>>985339
it means that a preferred implementation of the language exists that is written in the language itself. Contrast, awk, a language that is written in C and that you would never even think of writing in awk itself because awk is a narrow utility language that just isn't suitable for implementing languages.
Or hell, SQL. You can do a whole lot in SQL but you would never implement SQL itself with it.
▶ No.985483>>985655 >>985687
>>985383
>garbage collection
Could you fuck off to where you came? India.
▶ No.985510>>985555 >>985559
>Kit has a strong, static type system to catch errors at compile-time.
>printf("%s\n", s);
lol
▶ No.985555
>>985510
that could be typechecked.
▶ No.985559>>985582
>>985510
>ignoring the previous line
<var s: CString = "Hello from Kit!";
So Kit provides safety fetures around the CString type. Stop giving your opinion on things. You don't have the attention span to know what you're talking about.
▶ No.985582>>985617
>>985559
><100 IQ
Imagine it would be printf("%s%s\n", s);
What happens then? Hopefully a runtime error. But definitely not a compile time error.
Runtime validated format strings are harmful. Any language that has shit like this in its std is garbage.
Look at rust to learn how it's done: https://doc.rust-lang.org/std/macro.format_args.html
▶ No.985610
>>985608
There's literally nothing wrong with that. That said, fuck off.
▶ No.985614
>oh, look, another programming language
▶ No.985617>>985619
>>985582
>definitely not a compile time error
are you sure? Zig can literally do that at compile-time. the "%s%s" is right there in the source where the compiler can see it. If you require that printf's first argument be knowable at compile-time, and can run other code at compile-time, then you can do better.
▶ No.985619>>985623
>>985617
>Zig
But this is Kit. Also I just realized that the printf function from the sample isn't a Kit function, but imported from stdio.h. Hello memory unsafety if you pass the wrong shit. Nice "type system" you got there.
▶ No.985623>>985624
>>985619
Are you choosing to be stupid?
▶ No.985624
>>985623
explain or kys yourself
▶ No.985629
>>985229 (OP)
>literally-who, the language
that's why.
▶ No.985655>>985700 >>985701
>>985483
>complaining about optional GC
LARP harder.
▶ No.985687
>>985383
This, I've been using nim quite a lot lately and it has actually been enjoyable. I haven't enjoyed programming this much since I used C, but now I can actually make things in less than a week. It has some problems for sure, the worst of which I've found to be the python-style clutter issue due to indentation-style scope rules, but offers c-style includes which let you break up a large file if you want. Nimble kinda sucks but nake was good enough that I stopped working on my own build system to use it.
>>985483
Nim offers multiple options for garbage collection along with the option to completely disable it. I will admit I haven't tested turning it off but I am pretty sure that it would still be easier to use without than D would. On top of this you can just compile C code into your project (see https://nim-lang.org/docs/manual.html#implementation-specific-pragmas-compile-pragma) which will let you fully control memory usage. It will simply be built by the nim compiler, or you can just build a lib and include it. You have to write a little bit of wrapper code admittedly, but there are even tools to automate this.
▶ No.985700>>985708
>>985655
Strings doesn't work with --gc:none at the moment, so shut your trap. If they really manage to make it GC less (with the stdlib not suffering a bit), I'll consider it. A GCC frontend would make it way more interesting, though.
▶ No.985701>>985708
>>985655
>optional meaning the entire language is fucked if you disable it
Look anon the D(ick) language said the same thing. Turns out if you design a language where almost all the code assumes GC it is fucked when you turn it off.
▶ No.985708
>>985700
>>985701
Real men write their own string handling. Yeah I agree they really need to sort out their stdlib so it doesn't rely on GC. Seems short sighted to me.
▶ No.986069
▶ No.987382
▶ No.987383
>for game development
>magic