← Home ← Back to /g/

Thread 106319676

45 posts 14 images /g/
IvyMyceliaMyco353 No.106319676 >>106319748 >>106320276 >>106320449 >>106322383 >>106322718 >>106323460 >>106324391 >>106324552 >>106326903
Myco Programming Language: AMA / Feedback
Hey /g/, I’m the developer of the Myco programming language.
I saw some discussion earlier on the 14th from the Daily Programming Thread and reckoned I’d open a thread here for questions, feedback, or roasting.
Here's the repo for those who don't know: https://github.com/IvyMycelia/Myco
Anonymous No.106319748 >>106319806
>>106319676 (OP)
13 years of dev experience in C++, C#, php + webshit here

>let
Go fuck yourself

>func instead of return type
A big nono in my book

>end
I prefer blocks of { }, it looks cleaner instead of this vb bullshit
Anything not strong typed is not to be taken seriously.

So basically i hate your syntax, but I also hate python so yeah...


At this point beef is a lot better.

what else...
How's the performance ?
Any benchmarks ?
IvyMyceliaMyco353 No.106319806
>>106319748
That's fair. I was thinking of adding support to curly brackets, but thought it might be too much to have in one language? Could revisit!

Performance is really good actually, and I do have some benchmarks! I'm trying to find them right now, I don't know if I saved them or not, but from what I recall it performs around 8-10x faster then Python (differs between tests).

I'm looking to record and upload a video of my testing it somewhere eventually once I can.
Anonymous No.106319945 >>106319995
type inference or it's shit
IvyMyceliaMyco353 No.106319995
>>106319945
Implicity is actually planned in v1.2.0!
https://github.com/IvyMycelia/Myco/discussions/3
Anonymous No.106320192 >>106320233
buy an ad, faggot
nigger nigger nigger nigger
IvyMyceliaMyco353 No.106320233
>>106320192
I won't, but thanks <3
Anonymous No.106320276 >>106320578
>>106319676 (OP)
your approach to channing criticism is heartwarming

what front end frameworks do you support? can i put in a ticket to support flutter?
Anonymous No.106320449 >>106320604 >>106320662
>>106319676 (OP)
- Please don't download and execute random files from the internet like in "src/eval.c" line 469. That's virus behavior. If you have to just print the download for the user and exit with an error explaining the issue and why you'd need that file.
- What is the point of this programming language? Is it easy to make game with? Web servers? Run on embedded hardware with low resources? Teach middle schoolers programming? I don't see why you'd use that instead of Lua right now. If you want your language to be used it'll most likely need a killer feature/library/app.
- Don't worry about the "13 years of dev experience" syntax guy too much, people will always want their syntax to be the one everybody uses. As long as it looks somewhat familiar and isn't lisp-like you'll be good :)
IvyMyceliaMyco353 No.106320578
>>106320276
I always try to be wholesome!!

Sadly there's no frontend for Myco (yet?). The scope is mostly core language, networking, string handling, and CLI-level code, not really Web-Dev. HOWEVER, that being said, v3.0.0 is aiming to be completely web compatible for web development, with some caveats!
IvyMyceliaMyco353 No.106320604 >>106324822
>>106320449
- I thought it'd be fine to download official functionality for websockets, but I'll look into doing it myself instead <3

- The point is basically to be a C-level performant version of Python. Though that's a very oversimplified explanation. In reality I love the syntax and easy readability of Lua and Python, but don't enjoy it's lack of built in compilation as well as performance issues. Myco is very general purpose, can be used for almost anything, but I am targeting specific things such as networking. Guess we'll see how it evolves over time!

- It's all good, I found his response quite funny, and the question valuable :>

Thanks for the thoughtful questions!
IvyMyceliaMyco353 No.106320662 >>106324822
>>106320449
Forgot to add, since Myco is really new, young, and not fully functional, there's no flutter request you can make for it haha. Feel free to make a PR on the GitHub Repo though!
Anonymous No.106322383 >>106323388
>>106319676 (OP)
what kind of type system the language has ?
Anonymous No.106322718 >>106323443
>>106319676 (OP)
do you plan on writing a real back-end eventually, instead of transpiling to c?
IvyMyceliaMyco353 No.106323388 >>106323909
>>106322383
>what kind of type system the language has ?
Right now variables are inferred, and return types are explicit, but in v1.2.0 I'm aiming to start adding implicity to functions as well as optional explicit type definitions to variables.

https://github.com/IvyMycelia/Myco/discussions/3
IvyMyceliaMyco353 No.106323443
>>106322718
Right now Myco transpiles to C for simplicity and portability, and C compilers exist everywhere and give you optimizations for free. A native backend is on the roadmap, but stability and language features come first. Once those are solid, a direct codegen pass could make sense.

And in all honesty, I’m still new to this, so compiling directly to ASM/machine code will be something I’d have to learn, and I think it’s be better if I try to tackle that once Myco is solid <3
Anonymous No.106323460 >>106323520
>>106319676 (OP)
You're not supposed to include the .exe in the repo. Besides what's this? https://github.com/IvyMycelia/Myco/blob/main/.DS_Store
IvyMyceliaMyco353 No.106323520 >>106323890
>>106323460
My bad, I forgot to include those in my .gitignore. The executables were for my friends/testers to download easily, and the .DS_STORE is MacOS‘s annoying metadata file that sneaks up on you. I’ll add those to the .gitignore next time I commit a version, thanks!
Anonymous No.106323890 >>106323903
>>106323520
can you include support for calling api's like gemini? both through rest and ws
IvyMyceliaMyco353 No.106323903 >>106325307
>>106323890
Im not very familiar with how LLMs work nor how to access them.. but I’m assuming generic cURL and requests/JSON is what’s needed? If so then that’s already planned + was in an earlier experimental version of Myco!
Anonymous No.106323909 >>106323975
>>106323388
so nothing fancy like linear types, affine types or dependant types ?

so it just a C with different syntax ?
IvyMyceliaMyco353 No.106323975 >>106324006
>>106323909
Though that’s not the plan for the future, yes, it’s essentially C with a friendlier syntax, memory safety, and some convenience features. No exotic type systems yet, just straightforward and predictable syntax.

Eventually as I get better at this and Myco evolves I hope it’ll start to become its own language :>
Anonymous No.106324006 >>106324021
>>106323975
good luck then
i wont use it because there is odin, but good luck
IvyMyceliaMyco353 No.106324021 >>106324148
>>106324006
Completely fair! Odin is nice, though I haven’t used it much. I’m always open to suggestions if you have any, thanks for stopping by even if only for the discussion <3
Anonymous No.106324148 >>106324255
>>106324021
no problems man, making your own lang is a monumental task and a very cool one

i wanted to make one myself, but i dont have time because of my job, and i was looking towards using a virtual machine and a binary lambda calculus for the language, because of how small it will be in size
IvyMyceliaMyco353 No.106324255 >>106324342
>>106324148
Thanks! That’s exactly why I wanted to experiment with Myco, memory-safe, lightweight, and easy to extend. A virtual machine + binary lambda calculus sounds fascinating; I can see how that’d keep things tiny and elegant. Maybe one day you’ll get the chance, and I’d love to see it!
Anonymous No.106324342
>>106324255
thanks man
Anonymous No.106324391 >>106324432
>>106319676 (OP)
>end
End your carreer faggot
Anonymous No.106324407 >>106324413
all fields
Anonymous No.106324413 >>106324687
>>106324407
she's trans not a jeet, dummy
IvyMyceliaMyco353 No.106324432
>>106324391
It’s only just getting started! I’ll keep at it as long as it’s enjoyable, thanks for your opinion <3
Anonymous No.106324552 >>106324654
>>106319676 (OP)
I like the theme of the project, and the grounded approach of transpiling to C, so many language projects fail from trying to make "show-off" features like self-hosting instead of stability
IvyMyceliaMyco353 No.106324654
>>106324552
That‘s the focus. I want a stable, memory-safe base first. Show-off features can come later once the foundation is solid :>
Anonymous No.106324687
>>106324413
I was more talking to the other jeets who want to steal whatever the dude is making.
Anonymous No.106324822 >>106324883
>>106320604
>>106320662
>Myco is very general purpose, can be used for almost anything, but I am targeting specific things such as networking. Guess we'll see how it evolves over time!
That's a good approach! It's better to design things for your personal usage first. Maybe having easy and safe ways to describe network interactions could be your killer feature eventually? With how much Go is used in microservices it wouldn't be crazy to see your lang gaining a bit of traction as a potential Go replacement over there ;)
Unrelated but you may want to check out Nelua which is a Lua-like language which compiles down to C. Maybe it could give you some inspiration
Oh and if you want to replace your C codegen backend with a asm/.o backend you should definitely try out libgccjit! It describes IR code in a C-like manner and can output GCC-optimized assembly and object files
IvyMyceliaMyco353 No.106324883
>>106324822
Hey, thanks for the really supportive reply! I do want to hone into networking eventually, since that’s a major focus for me outside of this project, among other things such as bioinformatics. Somewhere down the road I reckon I’ll have to sacrifice something to have Myco accomplish more then be my little toy, but I’ll get to that when it’s time haha.

I’ll look into that!! I already know 86 as well as ARM64, or well enough I reckon(?), but I feel like it’d be helpful to have a tool streamline the process. We’ll see how it goes!

Thanks <3
Anonymous No.106324909 >>106324949
I'm too dumb/uneducated to understand but props for the project
IvyMyceliaMyco353 No.106324949
>>106324909
Lmao so real. Half the time when I’m working on it I don’t even know what’s going on
Anonymous No.106325307 >>106325357
>>106323903
#!/bin/bash
set -e -E

GEMINI_API_KEY="$GEMINI_API_KEY"
MODEL_ID="gemini-2.5-pro"
GENERATE_CONTENT_API="streamGenerateContent"

cat << EOF > request.json
{
"contents": [
{
"role": "user",
"parts": [
{
"text": "INSERT_INPUT_HERE"
},
]
},
],
"generationConfig": {
"thinkingConfig": {
"thinkingBudget": -1,
},
},
}
EOF

curl \
-X POST \
-H "Content-Type: application/json" \
"https://generativelanguage.googleapis.com/v1beta/models/${MODEL_ID}:${GENERATE_CONTENT_API}?key=${GEMINI_API_KEY}" -d '@request.json'


here's an example, if you had this then you could use the lang for basic ai scripting.
IvyMyceliaMyco353 No.106325357
>>106325307
You can already do this in Myco actually! I forget which version it was, but since I got a discord bot with websocket working I’m assuming this would work too.. though I don’t know how practical it would be currently
Anonymous No.106325989 >>106326056
Type code
IvyMyceliaMyco353 No.106326056
>>106325989
Comparing it to JavaScript, interesting.
Anonymous No.106326903 >>106327299
>>106319676 (OP)
>not maid themed
IvyMyceliaMyco353 No.106327299
>>106326903
It's enchantress and fungi themed!!
Anonymous No.106329063
bump