Hacker News new | past | comments | ask | show | jobs | submit login
Dogelang (pyos.github.io)
179 points by alipang on April 24, 2015 | hide | past | favorite | 39 comments



I was expecting dogescript: https://dogescript.com/

Love the fake O'Reilly book and "NOT'REALLY®" joke.


This is what I was hoping for. Thank you! lol


>plz console.loge

lmao


>shh example http server

>so http

Ha!


Disappointed because any language based on doge should have these keywords: wow, so, such, very, much, many.


Oh, missed the comment by BFay. It was also what I expected: https://dogescript.com/


Hmm. Beginner developer and long-time lover of sarcasm. So I read your home page list of cool features.

> Overthrow the oppressive dictatorship!

> Guido rejecting your awesome syntactic proposals? He's not in charge anymore. Annoy advocates of the category theory!

> With Haskell's syntax but none of its type system, dg is the best way to make fans of static typing shut up already. Be on the verge of progress!

> Syntactic sugar is the most important thing nowadays. And don't let those Java guys tell you otherwise. Add one more language to your résumé!

I learn most of what is hip in language design from articles posted here. Is "Haskell syntax without the types" something in demand by programmers, Pythonista or not? I am just curious if this is full-on sarcasm or I completely misread the trends I frequently see on HN. These points made me laugh, but I have no idea what to think.


You're reading too much into it. This is just someone's fun side project.

I'd say Haskell/ML/functional language-style syntax is polarizing; people who write code in functional languages seem to like it because currying, but it can seem pretty foreign to outsiders.

Personally, I think leaving out the parens around function call arguments makes them harder to read and so does currying, so even though I think Elm is pretty cool, the syntax is a drawback for me.


Currying is only one aspect of it. "Everything is an expression" (meaning custom control structures are a breeze), custom infix operators, custom operator precedence (like the silent application operator vs $), layout [1], ...

[1] http://en.wikibooks.org/wiki/Haskell/Indentation#Layout_in_a...


Currying is weird, it completely changes how you handle functions.

It allows some incredibly powerful concepts to be expressed unambiguously with little syntax.

However I certainly agree that the lack of obvious markers for what a function call involves is painful. (For instance `$` is nonsensical in a C-like language but very useful in Haskell)


Actually, $ would sort-of make sense in C, if you have otherwise nested calls.


So you mean like Haskell's `.`? That would be interesting.


Expressing Haskell's (.) in C is much, much harder. ($) is almost trivial.


I don't think it's in demand at all but I would love "Python syntax with Haskell typing".


Not 100% accurate answer, but I think they call Python with Haskell typing Nim (formerly Nimrod).

http://nim-lang.org/


Which part of Nim reminds you of Haskell, exactly?


A user-extensible type system is closer to Haskell than Python.

Again, I said not 100% accurate. I knew someone would say something like you did. No way Nim can compete with Haskell's type system.


The ML parts, I presume.


I would love Haskell (or ML) like syntax for Python and JavaScript!


The Haskell syntax thing, I believe, has to do with this: https://ep2014.europython.eu/en/schedule/sessions/121/


Haskell syntax is nice and clean and awesome

Haskell types are ... hard. Imagine a Ruby or JS programmer trying to use Haskell and getting frustrated when they have to, you know, actually care what they're doing.

Spoken as a user of all three/four languages mentioned.


> Haskell types are ... hard. Imagine a Ruby or JS programmer trying to use Haskell and getting frustrated when they have to, you know, actually care what they're doing.

IME -- and I used Ruby and JS a long time before starting Haskell -- you have to care about types in Ruby and JS, too, and, if anything, its more mental load in the dynamic languages, because you don't have a compiler pointing out your mistakes for you, you just have to reason through things manually when your code doesn't work as expected -- or think things through very carefully on your own so it doesn't break unexpectedly.

Though some of the error messages produced by Haskell compilers -- well, GHC in particular, don't know as much about others -- can be downright cryptic, but usually they'll at least point in you in the right direction.


This, for me, is one of the biggest selling points of Go. Say what you like about the language being dull or missing modern features, my debugging time has been drastically reduced thanks to the finickiness of the compiler and it's meaningful error messages.

Sadly Haskell is still on my "todo" list though. One day, I'll get round to learning it....


This is my big problem when I'm working in Ruby or JS and it's someone else's code. Every time I look at a new function I have no clue what the parameters actually are without spelunking around to figure it out. I always feel like I'm wading through a big grey morass with no discernible form.


Looks interesting, but personally, I prefer https://github.com/justinmeza/doge.


Kind of disappointed that there's nothing relevant to Doge in the language itself.


It does feel like a stunt to promote a language that has nothing to do with dogecoin.


I didn't expect it to have anything to do with Dogecoin. I expected it to have to do with the Doge meme

http://en.wikipedia.org/wiki/Doge_%28meme%29


such lang. very python. wow.

The tutorial is great, too: http://pyos.github.io/dg/tutorial/

Now we just need a Dogecoin implementation written in Dogelang and the world will be complete.


Even though the name is kinda unrelated, I still think it's a cool idea :D


Not very shiby


    And doge said,
    Let there be parody programming languages

    And there were parody programming languages
If even one person picks up "A Shorter Model Theory" because of this, much wow


The tutorial took a long time to write and is a great tongue-in-cheek read. Thanks for that, @pyos!

> Q: F# is better than Haskell.

> In that case, use <| or |> instead.

> Objects and types

> Wait, no. Gotta show you something else first.


When approaching a new language, I love to read the learnxinyminutes.com page for that language.

Would be awesome if you had that kind of tutorial page, or even just added it to the website.


The tutorial page on their site is actually quite short and sweet like learnxinyminutes.


What the next PHP could look like. I love the slogans and emphasis on selecting popular memes at random.)


How is it pronounced, Doggielang?


Dohj-lang


dough-ghie-lang

ˈdoʊgiːlæŋ




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: