ЙажаСценарий / Говнокод #27538 Ссылка на оригинал

0

  1. 1
  2. 2
  3. 3
  4. 4
  5. 5
  6. 6
  7. 7
  8. 8
  9. 9
  10. 10
  11. 11
  12. 12
  13. 13
  14. 14
  15. 15
  16. 16
  17. 17
  18. 18
  19. 19
  20. 20
  21. 21
  22. 22
  23. 23
namespace Ifaces {
    interface IFoo {
        foo(): number;
    }
}

class Cls1 implements Ifaces.IFoo
{
	foo(): number
	{
		print("Hello");
		return 1;
	}
}

function main()
{
	const cls1 = new Cls1();
	cls1.foo();

	const ifoo: Ifaces.IFoo = cls1;
	ifoo.foo();
}

Алилуя. я вам интерфейсы принес... узрите теперь дампик

Запостил: ASD_77 ASD_77, (Updated )

Комментарии (28) RSS

  • и результат работы тем кто не в теме

    C:\temp>C:\dev\TypeScriptCompiler\__build\tsc\bin\tsc.exe --emit=jit C:\temp\1.ts 
    Hello
    Hello
    Ответить
    • будут во второй инкарнации. если до этого меня не зае..т это все....
      Ответить
      • хотя нет. я хочу сделать что бы любой класс можно было к интерфейсу приравнять и и прога сама сделает инплементацию интерфейса
        Ответить
  • Добавляй ссылки на своё репо. Будет хоть какое-то SEO. Можно даже что-то писать как перекатный_петух.
    Ответить
  • Ну вот, настал момент, когда я уже не могу сказать: «И в „Nim“ такое есть»...
    Ответить
    • с этим надо что-то делать и добавить интерфесы в "ним"
      Ответить
      • Добавишь?

        Кстати, там, наверное, уже такое добавили, ведь там такая метушня есть!
        Ответить
          • Я не знаю ни «Nim», ни языка, на котором написан комплиятор «Nim»...

            Надо бы подучить и сделать абстрактный класс.
            Ответить
      • Зато в "D" нельзя пижнять «AST», там надо пижняться с миксинами (черви такие). А в «Nim» можно писать новые части «Nim» на «Nim».
        Ответить
        • Чтобы нормально ебаться с AST, нужен однородный синтаксис, типа скобочной хуйни из (LISP), а в этом вот "Nim" я такого синтаксиса не наблюдаю.

          > https://nim-lang.org/faq.html

          > Nim provides memory safety by not performing pointer arithmetic

          Для системного языка это из серии "сразу нахуй". https://nim-lang.org/docs/gc.html к тому же там GC есть, а это анскильно.
          Ответить
          • Ну, что ж, видно придётся мне ещё раз разрушить аргументы анскильных лалок в пух и прах. Сектанты вообще много аргументов приводят, но я их все загружаю в массив и помножаю на ноль. Начнём-с, так уж и быть.

            > Чтобы нормально ебаться с AST, нужен однородный синтаксис, типа скобочной хуйни из (LISP), а в этом вот "Nim" я такого синтаксиса не наблюдаю.

            В «Nim» AST представлено нодами, которые някают мокросы и что-то там высирают. А в твоей сиштушне так можно?? А??? А???? Ну вот и всё, первый аргумент я с лёгкостью слил.

            > > Nim provides memory safety by not performing pointer arithmetic
            > Для системного языка это из серии "сразу нахуй".

            Вообще-то это наоборот круто и классно. Если нужно подрочить поинтер, то просто скастуй его в int и делай с ним что хочешь. Это правильный подход.

            В крайнем случае просто определи оператор `+` для поинтера и наклади его в «poleznyi_funkcyi.nim».

            > к тому же там GC есть, а это анскильно

            Это мы уже обсирали: Гц можно отключить и вручную управлять памятью «как в сишке», Но тогда отвалится половина стандартной библиотеки, которая использует всякие там слайсы и что-то типа того. Но они там, где вручную управляют памятью, и не нужны.
            Ответить
            • > В «Nim» AST представлено нодами, которые някают мокросы и что-то там высирают.

              Это хуйня. Надо чтоб синтаксис напрямую как AST был.

              > А в твоей сиштушне так можно??

              Сишка - говно. Надо чтоб гомоиконность. Но и Nim тоже говно

              > Если нужно подрочить поинтер, то просто скастуй его в int и делай с ним что хочешь.

              А не нарушает ли это правила strict aliasing? А что там по перфомансу будет? Вот например если у меня поинтер на double и поинтер на int, из-за этого strict aliasing-а компилятор предполагает, что указатели эти не указывают на один регион памяти, и за счет этого можно делать оптимизацию. Nim так может оптимизировать? Думаю, вряд ли, если надо что-то в int кастовать. Кстати, что еще за "int" такой? У него на 32-битной платформе будет размер 32 бит, а на 64 - 64 бит? Может тут нужен какой-то uintptr_t?

              > Это мы уже обсирали: Гц можно отключить и вручную управлять памятью «как в сишке»

              А если мне надо чтоб вообще без хипа? Так можно?
              Ответить
              • > А если мне надо чтоб вообще без хипа? Так можно?

                Можно свой аллокатор написать, вроде бы.

                А в остальном ты меня разъебал.
                Ответить

Добавить комментарий

Из-за тебя ушел bormand, guest!

    А не использовать ли нам bbcode?


    8