[ / / / / / / / / / / / / / ] [ dir / ausneets / choroy / dempart / dumpit / hypno / imouto / jenny / pdfs ][Options][ watchlist ]

/tech/ - Technology

You can now write text to your AI-generated image at https://aiproto.com It is currently free to use for Proto members.
Email
Comment *
File
Select/drop/paste files here
Password (Randomized for file and post deletion; you may also set your own.)
* = required field[▶ Show post options & limits]
Confused? See the FAQ.
Expand all images

[–]

 No.952400>>952421 >>952449 >>952462 >>952533 >>952580 >>952598 >>952676 >>953463 >>986063 >>986110 >>994008 >>998633 >>1040609 [Watch Thread][Show All Posts]

If Lisp is so good, how come nobody has even made a text editor with it? No, Emacs doesn't count, it's not pure lisp. Neither does DrRacket, you need to install entire Racket language for it. Same applies to Edwin which requires installing Scheme to use it. Climacs neither, there are no binaries, it apparently doesn't even work and is basically just a joke. Zmacs is 1980's history, no binaries, no source, can't verify anything, so no.

Requirements in plain English are on picture there, and those requirements translate basically just to "make a usable open-source desktop application that can be distributed like any other desktop application", no miracles required.

Previous thread: >>923254

Its archive: http://archive.is/mnbNo

 No.952411>>952416 >>952601 >>952747

You don't need to install entire Racket. Read the docs dumbass. That's like saying you need GCC to run a C program. Of course you do, dumbass.


 No.952416>>952418 >>952428

File (hide): 522f7ad8b17fdbd⋯.png (49.73 KB, 992x404, 248:101, try again.PNG) (h) (u)

>>952411

Let the great kvetching begin!


 No.952418>>952493

>>952416

https://docs.racket-lang.org/raco/

Now kill yourself, and go back to /g/, winshill.


 No.952421>>952424 >>952437 >>952461 >>952493 >>952589 >>1038487

File (hide): 57fcc68e2e3cb75⋯.png (126.35 KB, 958x1029, 958:1029, 2018-08-07-141940_1920x108….png) (h) (u)

>>952400 (OP)

>If Lisp is so good, how come nobody has even made a text editor with it?

Because creating yet another text editor is a fucking waste of time. Every idiot can make text editor in Lisp, pic related is the proof. I've only read first chapter of SICP along with some pages of racket documentation and managed to create a working text editor. To be honest, it was the one of the most pleasant GUI development experiences I've ever had.


 No.952424

>>952421

If you have some spare time give CL's native GUI, McClIM a spin. It's a recreation of Genera's toolkit and a pure joy to use.


 No.952428>>952432 >>952493

File (hide): 125e33d0a732f4c⋯.webm (286.34 KB, 960x720, 4:3, Data_Says_Jew.webm) (h) (u) [play once] [loop]

>>952416

Wow. You need an interpreter to interpret a language. How shocking.


 No.952432>>952437

>>952428

It's a fucking compiler also. It's like he's arguing that to run a C program you need to download a compiler.


 No.952435>>952493

File (hide): f60bd56e8d062a6⋯.jpg (48.88 KB, 402x604, 201:302, 1501082901661.jpg) (h) (u)

Is clojure an accepted language for this challenge ?


 No.952437>>952443 >>986110

>>952421


import textEditor
textEditor.run()

>>952432

It's like the opposite.


 No.952443>>952447 >>952455

>>952437

Yes, keep moving the goalposts. This is racket's standard library. Do you want me to write a GUI toolkit from scratch? But why stop there, should I also rewrite Xorg in lisp? While I'm at it why not also rewrite the whole userspace and the kernel? Oh so now the BIOS is not written in lisp, let me also rewrite that. What is this? Firmware of NIC is written in lisp? And what is this? A LCD controller with firmware written in C? Hahaha lispfags can't even write text editor in pure lisp. I bet you would still complain that electricity from power grid uses PLCs and other hardware that has firmware written in C or something. Then you would complain that trucks used to deliver the hardware also run C in their ECUs. Every GUI toolkit has some sort of text-editor widget, look at Qt or GTK. Editing text is a common task and reimplementing widget from scratch every time is counterproductive. Do you think notepad doesn't use a widget of whatever toolkit windows uses to enable text editing?


 No.952447>>952455

>>952443

can we end these fucking threads now?


 No.952449>>952491 >>952493

>>952400 (OP)

Oh my God you're even spamming your threads to halfchan.

Imagine being so assblasted by LispMfag shitting on Unix that you go on a months-long autistic meltdown about a meme language


 No.952454>>986196


 No.952455>>952456 >>952491 >>952493 >>986110

>>952443

>moving the goalposts blah blah blah

The challenge has been clear for 100s of posts now.

>>952447

>11 posts in

>shut it down

what a gommunity


 No.952456

>>952455

>le jew ecks dee

>>>/cliff/


 No.952461

>>952421

>shalompad

gas.png


 No.952462>>952493

>>952400 (OP)

>[autistic screeching]


 No.952464

>ask question expecting to not get answer

>get answer

UH WHAT I MEANT IS HOW COME THERE ISN'T AN iOS APP FOR IT


 No.952491

File (hide): ae7a7fc2a017427⋯.jpg (57.78 KB, 603x398, 603:398, jeps.jpg) (h) (u)

>>952449

He might just be the most pathetic poster this board has ever seen.

>>952455

pic related


 No.952493>>952495 >>952496 >>953467 >>986110

File (hide): f933d6817cd0388⋯.jpg (33.19 KB, 451x442, 451:442, kizuna sigh.jpg) (h) (u)

>>952418

What part of "executable binary providing usable editor must be provided" you don't understand?

>>952421

Now all you need to do is provide sources and binary so people can use it.

>>952428

It is when it has been time and time again been said that you must provide executable binary. Shocking because lispfags are demonstrably not only utterly incompetent, but likely don't even understand what executable binary is.

>>952435

No. It needing JRE to run unfortunately doesn't fill requirements for rule one.

>>952449

Oh, why aren't you rejoicing that more and more people learn of wonderful, smart and very competent lisp community whose super language accomplishes pleb challenges like this easier than any other language? Oh wait...

>>952455

Nope, it's not.

>>952462

Try stronger medication, it might help.


 No.952495


 No.952496>>952498 >>952528 >>952534 >>952539 >>952553 >>952563 >>952581 >>952584 >>958895 >>960811 >>984955 >>985053

>>952493

>Now all you need to do is provide sources and binary so people can use it.

Here you go:

#lang racket/gui

(define frame (new frame% [label "Shalompad - Ver 0.1 (OP is a faggot)"] [width 640] [height 480]))
(define editor-canvas (new editor-canvas%
(parent frame)
(label "Editor Canvas")))

(define text (new text%))
(send editor-canvas set-editor text)

(define menu-bar (new menu-bar%
(parent frame)))

(define file-menu (new menu%
(label "&File")
(parent menu-bar)))

(define edit-menu (new menu%
(label "&Edit")
(parent menu-bar)))

(define search-menu (new menu%
(label "&Search")
(parent menu-bar)))

(define help-menu (new menu%
(label "&Help")
(parent menu-bar)))

(new menu-item%
(label "Open")
(parent file-menu)
(callback (lambda (item event)
(define file (get-file))
(if file
(let ()
(define in (open-input-file file))
(send text insert (port->string in))
(close-input-port in))
#f))))

(new menu-item%
(label "Save As...")
(parent file-menu)
(callback (lambda (item event)
(define file (put-file))
(if file
(let ()
(define out (open-output-file file #:mode 'binary #:exists 'replace))
(display (send text get-text) out)
(close-output-port out))
#f
))))

(new separator-menu-item% (parent file-menu))
(new menu-item%
(label "Oy Vey, shut it down!")
(parent file-menu)
(callback (lambda (item event)
(exit)
)))

(send frame show #t)

Linux binary:

https://a.cockfile.com/MR0OcP.

SHA1 sum: 7536a1c8b14102be7aeb8a09e3448a6bdd1d92ad

Or compile with "raco exe --gui filename.rkt" if you think I put something harmful in the binary.

Now off to >>>/g/ you go.


 No.952498

>>952496

you are a terrorized member of the lisp computer-god memefaggotry


 No.952509>>952512 >>952514

Good lord why do you people fight over programming languages of all things? This is the equivalent of fighting over construction tools

Programming languages are just tools, nothing else


 No.952512

>>952509

>not fighting over tools

faggot, there are clear differences in quality between tools


 No.952514>>952528

>>952509

No one (hopefully) takes this seriously, we're just having fun.

>This is the equivalent of fighting over construction tools

I bet he bought his angle grinder at harbor freight.


 No.952528

>>952514

>He probably buys Festool which is only marginally better constructed at trice the price.

Also good on >>952496 for delivering.


 No.952533


 No.952534

>>952496


(define search-menu (new menu%
(label "&Search")
(parent menu-bar)))

(define help-menu (new menu%
(label "&Help")
(parent menu-bar)))

Is this a reverse troll? You tricking the LARPers?


 No.952539>>952542

>>952496

>Linux binary

404


 No.952542>>952543

>>952539

Does Java need a binary to run on Linux (or Windows/Mac), other than the JRE?


 No.952543>>952547

>>952542

>other than the JRE

That's a pretty big "other than". Somehow even .NET on Linux requires less.


 No.952545

File (hide): 0726ba3f02c86a8⋯.png (1.28 KB, 91x24, 91:24, racket.png) (h) (u)

Why is everything to do with lisp so Jewish?


 No.952547>>952548 >>952550 >>994049

>>952543

Doesn't matter. Tons of android phones run Java stuff. If it fits on a phone, it will run on a desktop.


 No.952548>>952551

>>952547

>who cares about bloat XD


 No.952550>>952552

>>952547

>Tons of android phones run Java

You sound like Oracle. In the real world, almost nothing on your desktop is in Java despite 20+ years of Java, and Java on Android is considered to be a tragic mistake. Apple avoided lagdroid's garbage collection stutter with Swift, and Google is trying to develop an Android replacement which will only have Java for backwards compatibility.


 No.952551

>>952548

Everything is already bloated. I used to run Slackware with kernel 1.2.8 on a 486 with 4 megs ram. Not possible anymore with modern kernel and hardware. I could even run a slim X11 setup called TinyX on that computer. Granted, I couldn't run heavy clients, but it was enough for twm, rclock, and a few rxvts, and even Mosaic.


 No.952552>>952555

>>952550

So what? You don't have a problem running bloated GUI programs, if you're an average Linux user. So a JRE or other runtime isn't going to mean jack in the overall footprint of your OS.


 No.952553>>952554 >>952561 >>952691 >>958895 >>986110

>>952496

So I compiled this on Windows. It took 10 seconds despite being just a few lines of code, and the executable is a massive 13 megs. It looks like it bundled the entire racket interpreter in the executable. If I run strings on the executable, it clearly contains the racket interpreter (all these commandline options can't actually be used, it's showing their method of making a "stand-alone" executable is just shipping the whole runtime with the code and using the exe like a zip file).


%sgracket [<option> ...] <argument> ...
File and expression options:
-e <exprs>, --eval <exprs> : Evaluate <exprs>, prints results
-f <file>, --load <file> : Like -e '(load "<file>")' without printing
-t <file>, --require <file> : Like -e '(require (file "<file>"))' [*]
-l <path>, --lib <path> : Like -e '(require (lib "<path>"))' [*]

SBCL does the same bullshit. What a joke.


 No.952554>>952556

>>952553

You might as well try to compile Perl programs. It wasn't designed for making binaries.


 No.952555>>952557 >>962995

>>952552

Apparently it does mean jack as there are so few Java programs on the desktop. That's some real-world objective proof to counter your bullshit. Java programs are also difficult to distribute, much like lisp.


 No.952556>>952558 >>986110

>>952554

Maybe that's why perl is a dead language.


 No.952557>>952560

>>952555

Not really, since a Java program can be bundled with what libraries it needs. All you have to install is the JRE, via your package manager.


 No.952558>>952560

>>952556

It's not any different with Python and Ruby. They're VM languages.


 No.952560>>952570

>>952557

Have you ever tried to make standard packages for Windows, Linux, and Mac for a Java program that work just like any other package for that platform, to the point the user is unaware that your program is in Java? Try it. That's why Java failed on the desktop.

>>952558

Okay, and how many cross-platform desktop apps are you using written in python or ruby? Like lisp and Java they also have deployment issues which is why they got pigeon-holed as web and scripting languages despite being designed as "general-purpose".

Meanwhile, I can write C++ code for literally anything and know that it will run and work the way the user is accustomed to and not force them to do things any different.


 No.952561>>952563

>>952553

That is true. As seen in the racket docs.

Homever, you can compile Racket into C and get smaller binaries, if you are able to read documentation and use a search engine (which you've proven to be unable to do).

Anyways, the simple text editor is done, you have a binary that runs across systems, so shut the fuck up and go back to /g/.


 No.952563>>952564

>>952561

>if you are able to read documentation and use a search engine

How about you just provide a proper fucking executable rather than continue to make excuses? I ran the exact command as given in >>952496


 No.952564>>952565

>>952563

It's a proper fucking executable, retard. It runs everywhere, and runs exactly like intended.


 No.952565>>952568

>>952564

>proper executable

>it's an executable zip file with the entire interpreter included

wew


 No.952568>>952574

>>952565

everything that was asked is done, so stfu and go back to leddit


 No.952570>>953423

>>952560

I've come across plenty of games and emulator front-ends made in Java, so apparently it's useful enough to work on Windows/Linux/Mac desktops. Here's a few I happened to like:

http://flapp.sourceforge.net/

http://crossfire.real-time.com/

http://sourceforge.net/projects/jflagcap/


 No.952574>>952582

>>952568

Yeah, you met the requirements in the most pajeet way possible by bundling the whole interpreter rather than compile it.


 No.952580>>958895 >>986198

>>952400 (OP)

>Zmacs is 1980's history, no binaries, no source, can't verify anything, so no.

I have the source. You could look up a video of it though.


 No.952581>>952604 >>964584 >>964670 >>986110

>>952496

>binary 404'd

>save source code

>install racket to get the compiler

>compile

>run

>works

>uninstall racket

>stops working as soon as you uninstall racket

It was stated pretty clearly in OP that it doesn't count if you need to install the entire language just to run the executable.


 No.952582>>952599

>>952574

if you were using a Scheme machine he could've given you a binary that uses the local Scheme runtime, same as a bare C binary would do.


 No.952584>>952602 >>952610

>>952496

>binary 404

<command bundles the whole goddamn interpreter in it

I can't take a language that can only produce 32 MB "Hello world" executables seriously.


 No.952589>>960754

>>952421

> I've only read first chapter of SICP

Stop shilling that overrated piece of garbage.


 No.952598

>>952400 (OP)

I fucking love these threads, please keep going at it sweet Kizuna.


 No.952599

>>952582

Good to know that it'd have worked were we living in an alternate universe.


 No.952601

>>952411

>That's like saying you need GCC to run a C program.

But you don't. Once you've compiled it and created an executable binary, you can uninstall gcc and your program will still work.


 No.952602>>952605

>>952584

well....

tbh I can't either.

abandon your lisp fetishism and take up ML.

apart from being too cowardly to become an American, he was pretty cool: https://en.wikipedia.org/wiki/Robin_Milner


 No.952604>>985053

>>952581

I forgot to mention that you have to also use "raco distribute" in the build process to make it portable https://docs.racket-lang.org/raco/exe-dist.html

To my defense It's the first time I've used racket to make something with it.


 No.952605

>>952602

ML-based languages are really nice, variant types in OCaml for example are the one thing I really miss when writing Haskell.

There is nothing cowardly, however, in not becoming an American, since it's impossible in the first place. Actual Americans are almost extinct.


 No.952610>>952614 >>958895

>>952584

Notice the "#lang racket/gui" line. There is a whole GUI toolkit included in that executable. Hello world would only take about 1M with base language only which could be brought down even more to about 300K.


 No.952611>>952615 >>952628 >>952632

Is there something about lisp that makes it impossible to compile for real? It seems like all the "compilers" we've seen just bundle the whole intetpreter. What aspect of the language is crippling it?


 No.952614>>952624

>>952610

A win32 or GTK Hello, World text widget would be under 10k, and almost all of that would be ELF and PE header bloat. Compiled more carefully, could get it down to 1k.


 No.952615

>>952611

>What aspect of the language is crippling it?

The programmers.


 No.952624>>952629 >>952630

>>952614

1k is a lot for just "hello world". Some computers in the 80's came with only 1k memory stock.


 No.952628>>993813

>>952611

Well when a program crashes you enter the debugger and from there you can eval anything, so that means you need to bundle all of common lisp too. Most people bundle a bloated interpreter though. A basic ECL binary is only like 13 KiB. Proprietary implementations have proper tools for making small binaries that free ones do not offer.


 No.952629>>952659

>>952624

and 40 years have passed since. we should aspire to move forward and innovate instead of getting stuck in the past.

40 years until kernels written in javascript


 No.952630>>954700

>>952624

I know, I used to do 1k intros for DOS complete with a limited s3m player. If you look at the text segment it'd be like 100 bytes most of which is 64 bit bloat (never test errors with == -1, by the way). The rest is one-time setup for various modern bullshit that is hard to remove via compiler options. Thread-local support, mmapped stringtable hash, etc..


 No.952632>>986179 >>986182

>>952611

I'm not a lispfag, but I feel like playing devil's advocate right now.

Due to its intrinsic dynamic properties, like dynamic typing, macros, symbolic evaluation and being able to treat code itself as data and vice versa, Lisp basically requires an highly capable runtime environment to actually do all of those things. The same can be said, to a lesser extent, for Python.

It's not about being "high level": Haskell and ML can be compiled without issues to native code that doesn't need an additional runtime to be executed, just like C can. Even Java can be easily compiled to native code that doesn't need the JVM to run if you use a compiler such as GCJ, although that kinda defeats the point of using Java. It's still quite interesting to do, though, and the performance is surprisingly good, although not on par with C++ or C.

Notice one thing all these languages have in common: they feature a *static* type system.

This is by far the most important kind of information to give to the compiler. By knowing what kind of data functions take in, what they return and having all operations among types unambiguously defined, the compiler can easily generate code that assumes some properties about the data it manipulates (Integers of a certain size? Strings? Lists?) without needing to check at runtime if those operations are permitted, since static analysis has guaranteed that function f will receive, say, an integer and a string every time it is invoked. You can't do the same with dynamic typing.

The often mentioned property about static typing catching compile-time type errors is really just a happy side effect, it's not, in my opinion, the most important thing about it.

Now, theoretically, even highly dynamic (not only with respect to typing) languages like the Lisps could theoretically be compiled down to a standalone binary, but it would pretty much require a massive amount of additional code you didn't write yourself to support its full functionality. And often, the easiest solution is to just bundle the interpreter with it.


 No.952659

>>952629

Too late.


 No.952676

>>952400 (OP)

>If Lisp is so good, how come nobody has even made a text editor with it?

Probably because Lisp is a commie language.


 No.952691>>952695 >>952698 >>952777 >>954643 >>958895 >>993978

>>952553

Nobody cares about binary sizes in 2018 when the average hard drive has 500 gigs or more, anon. This isn't the 70s anymore.


 No.952695>>952699

>>952691

The problem is that the program isn't doing anything fundamentally different from what it did back in the 70s, but it has a way higher binary size for no good reason.


 No.952698>>952699

>>952691

I've got over a thousand executables in my bin directories of a basic Debian install. After doing "raco distribute", the racket text editor is 27M. If everything was made this way with racket, you'd make a basic Debian install weigh in at 30 gigs. I don't think people would be pleased, especially the cloud guys who pay per gigabyte. That you see nothing wrong with bloat this extreme is why people make fun of lispfags and why no one writes anything in it.


 No.952699

>>952698

>>952695

protip: If you assume the Racket interpreter is installed as a prerequisite, then there is no need to statically link the interpreter into the program. If you remove that assumption away, then your Racket program will need to bundle the interpreter functions by default


 No.952747>>952792

>>952411

Yeah sure so when I call eval in racket the whole thing just explodes? O wait it actual bundles all of fucking racket into the executable. When you run a c program it sure as fuck does not include gcc in the bundle.


 No.952777

>>952691

Holy shit, lispfags are now on the same level as webdevs.


 No.952792>>952796

>>952747

When you run a C program, the standard C library is preinstalled on your system to make it work.


 No.952796>>952801

>>952792

Dynamic linking has nothing to do with requiring a compiler for basic runtime functionality.


 No.952801>>952810

>>952796

Runtime interpretation is not an inherent property of any programming language, it is an implementation detail. There's no theoretical reason why a Racket program cannot be translated into machine code. It doesn't happen because nobody has made an implementation to make it work that way.


 No.952809>>952810 >>952837 >>962769

I don't get OP's binary obsession. People don't wail and scream that python isn't compiled. Why would one do the same about scheme? Most scheme implementations aren't compiled, they're interpreted. Even the ones that can be compiled come with an interpreter.


 No.952810>>952817 >>986110

>>952801

> it is an implementation detail.

There is no theoretical reason brainfuck cant beat out a highly tuned c or assembly program.

>It doesn't happen because nobody has made an implementation to make it work that way.

Well mr lispfag come back when you get that magical sufficiently advanced compiler that will never exist for non trivial use cases.

>>952809

>People don't wail and scream that python isn't compiled.

Yes they do. It being a slow as fuck global interpreter lock piece of shit is one of the primary complaints.

>Most scheme implementations aren't compiled, they're interpreted

Only the bad ones are interpreted. Chez is godly.


 No.952817>>952818

>>952810

I though Chez decided on jit compilation or I terpretation depending g on which would be faster?


 No.952818

>>952817

Yes Chez is amazing


 No.952826>>952827 >>952830

you have 10 minutes to convince me to use a lisp dialect over rust. i'm a beginner programmer, i can make a text based adventure and maybe a gtk-based calculator. rust has done pretty well for me and looking at C or C++ they look more complicated even with small programs. will *lisp make my life easier? how and why?


 No.952827

>>952826

You will waste your life implementing new lisps inside lisp and never actually write a program.


 No.952830>>952831 >>958895

>>952826

>i'm a beginner programmer

>rust

I see the Klabnik's propaganda is working splendidly. Lisp is the language for the beginner programmer. Syntax is very minimal and very easy to learn which means you won't be wasting time figuring out what all of the

impl<T> AsRef<T> system.sjwlib::out>>faggot->OP.is()
means, without having a slight idea about reasons behind those abstractions and data structures you're trying to use. Rust is probably the worst possible language for a beginner.


 No.952831>>952832 >>952838

>>952830

could you give me some examples on why?


 No.952832>>952833

>>952831

op thinks that having less syntax makes it easier instead of just making it impossible to tell anything apart


 No.952833>>952834

>>952832

efficiency at the expense of readability?


 No.952834


 No.952837>>987548

>>952809

The thing is that Python users rarely if ever go around boasting about their favorite language's superiority, unlike lispfags. Not to mention that, unlike Lisp, there is quite a lot of useful software out there written entirely in Python.


 No.952838>>952841 >>952851 >>954097

>>952831

Let's take a basic example of implementing newton's method of calculating square roots. In lisp, when you start learning you would do something similar to

(define (sqrt-iter guess x)
(if (good-enough? guess x)
guess
(sqrt-iter (improve guess x)
x)))

(define (improve guess x)
(average guess (/ x guess)))

(define (square n)
(* n n))

(define (good-enough? guess x)
(< (abs (- (square guess) x)) 0.001))

(define (average x y)
(/ (+ x y) 2))

(define (sqrt n)
(sqrt-iter 1.0 n))

Now if you take same problem and apply Rust you will get a mess of code that even author himself does not completely understand what exactly it does.

...
/// Safe solver hybidizes iterative method to ensure convergence.
///
/// Do not use this!
///
/// The code is both messy and untrustworthy. I had to tighten to convergence
/// criteria to get expected results, for reasons I don't yet understand.
///
pub fn safe_iterative_root_find<F, I, C>(
f: &F,
iterate: &I,
bounds: &Bounds,
finish: &C,
max_iter: usize,
) -> Result<f64, RootError>
where
F: RealFnEval,
I: Fn(&F, f64, f64) -> Result<f64, RootError>,
C: IsConverged,
{
// solver always kept in window
let mut window = bounds.clone();
let mut f_a = f.eval_f(window.a);
assert!(is_sign_change(f_a, f.eval_f(window.b)));
... What follows is several lines of rust mess that nobody understands.

I actually couldn't find a simple implementation of that algorithm, closest to it would be something like (not actually what I wanted and uses external module)

extern crate num;

use num::FromPrimitive;
use num::bigint::BigInt;
use num::rational::{Ratio, BigRational};

fn approx_sqrt(number: u64, iterations: usize) -> BigRational {
let start: Ratio<BigInt> = Ratio::from_integer(FromPrimitive::from_u64(number).unwrap());
let mut approx = start.clone();

for _ in 0..iterations {
approx = (&approx + (&start / &approx)) /
Ratio::from_integer(FromPrimitive::from_u64(2).unwrap());
}

approx
}

fn main() {
println!("{}", approx_sqrt(10, 4)); // prints 4057691201/1283082416
}
I therefore invite all rust code artisans to create simple implementation of Newton's algorithm for finding square roots that a beginner could understand.


 No.952841>>952842

>>952838

>lispfag trying to slide by turning this into an anti-rust thread


 No.952842>>952912

>>952841

hes not fucking wrong though holy shit

i really thought on settling down on some c-like language but clisp looks great rn


 No.952847>>952859 >>952861 >>958895

It's amusing. OP's threads trying to shit on lisp has only convinced me to work through SICP and learn scheme. Decided to go with gambit-c.


 No.952851>>952854 >>954883

File (hide): 77f45247e0dd8a3⋯.jpg (260.95 KB, 1200x1200, 1:1, Dco1FSnW4AIbAaP.jpg) (h) (u)

>>952838

>Compares Lisp to two examples of code that are not actually the same thing as evidence


 No.952853

>unix.haters autist has single-handedly turned the whole board against lisp

What are some ironic moments in tech history?


 No.952854>>952855 >>952860 >>958895

>>952851

I know that your but hurts a bit already, but please prove us wrong by providing a mentioned algorithm written in the "correct way" so that we can make a proper comparison and determine what is best for a beginner. I honestly can't find a simple example on the internet.


 No.952855

>>952854

Hey lispfag I hate Rust. I'm just making sure you know your place.


 No.952859

>>952847

You must be a special kind of retard then.


 No.952860>>952872 >>986110

>>952854

The thing is that, just like other memelangs, Lisp looks pretty in these toy examples, but it's proven incapable of making actual software.


 No.952861>>952873

>>952847

Don't bother, the last exercise is literally

<lmao just use c for this, we were joking the whole book


 No.952872>>952882 >>952885 >>952910 >>958895

File (hide): 0d47fc5c76143b5⋯.jpeg (11.32 KB, 259x194, 259:194, images.jpeg) (h) (u)

File (hide): 85334754d4db497⋯.png (405.11 KB, 640x815, 128:163, comic_20x_10.png) (h) (u)

>>952860

>but it's proven incapable of making actual software

I think that is just a result of years of programming in AGOL descendants. But your claims are invalid anyways. Lisp is used for making actual software: https://en.wikipedia.org/wiki/ITA_Software Autocad uses it, Maxima, a ton of EDA software relies on lisp...

The main problem with lisp is:

>Imagine adding object orientation to the C and Scheme programming languages. Making Scheme object-oriented is a sophomore homework assignment. On the other hand, adding object orientation to C requires the programming chops of Bjarne Stroustrup.

>The consequences of this divergence in needed talent and effort cause The Lisp Curse:

>Lisp is so powerful that problems which are technical issues in other programming languages are social issues in Lisp.


 No.952873

>>952861

Lol. I'm sure it's worth it. They say it's worth learning lisp even if you never actually use it again. I've done some reading about it here and there and I believe it.


 No.952882>>952890

>>952872

>Lisp is used for making actual software...

>Autocad uses it

LOL. Autocad uses it as an optional user facing scripting interface. It's not like the program is written in it.

>The main problem with lisp is ... that lisp is just too great thats why its not used for anything

yeah faggot its such an amazing language its impossible to write anything real in it


 No.952885>>952890

>>952872

>Imagine adding object orientation to the C and Scheme programming languages. Making Scheme object-oriented is a sophomore homework assignment. On the other hand, adding object orientation to C requires the programming chops of Bjarne Stroustrup.

Borderline retarded quote, making C OO is piss easy unless you're mentally deficient.


 No.952890

>>952882

>uses lisp to write complex ticket pricing system for airlines

>sells the company to google for $700M

>reeeeeeee, you can't use lisp to write real software

>>952885

>look mom I learned how to use structs

>we OOP now

Tell me again how can I implicitly pass self reference to the class methods?


 No.952910>>952944

>>952872

>Lisp is used for making actual software

Have you made a GUI app with Lisp? Have you made utility scripts with Lisp? Do you use Lisp every day, every week?

And no ricing emacs does not count.


 No.952912>>952918 >>952924 >>952944

>>952842

You'll almost always get a desk calc example from a lispfag or lisp book as it's one of the only examples they can give that isn't obviously a disaster in lisp.

Here's setting O_NONBLOCK on a fd in lisp, from Woo:


(defun set-fd-nonblock (fd enabled)
(declare (optimize (speed 3) (safety 0)))
(let ((current-flags (%fcntl/noarg fd F-GETFL)))
(declare (type fixnum current-flags))
(if (< current-flags 0)
-1
(let ((new-flags
(if enabled
(logxor current-flags O-NONBLOCK)
(logand current-flags (lognot O-NONBLOCK)))))
(declare (type fixnum new-flags))
(if (= new-flags current-flags)
(%fcntl/int fd F-SETFL new-flags)
0)))))

Here's that in C:


fcntl(fd, F_SETFL, fcntl(fd, F_GETFL) | O_NONBLOCK);

lisp is a meme.


 No.952918>>952921 >>952924

>>952912

Thats a retarded comparison. You can do same thing as in C in Scheme.

(fcntl fd F_SETFL (logior O_NONBLOCK
(fcntl fd F_GETFL)))


 No.952921>>952922 >>952924

>>952918

Is the solution to each lisp problem to change lisp dialect?


 No.952922>>952923

>>952921

how is it a change of lisp dialect? it's just normal lisp functional syntax


 No.952923>>952930

>>952922

Is scheme common lisp?


 No.952924>>952927

>>952921

Obviously not. First of all lisp example in >>952912 is _not_ functionally equivalent to C example. Secondly, you can just replace "fcntl" in >>952918 with "%fcntl/noarg" or whatever syscall interface your CL distribution implements.


 No.952927

>>952924


int set_fd_nonblock(int fd, int enabled) {
return fcntl(fd, F_SETFL, (fcntl(fd, F_GETFL) & ~O_NONBLOCK) | (enabled ? O_NONBLOCK : 0));
}

Happy?


 No.952930


 No.952944

>>952910

> Have you made a GUI app with Lisp?

I have made a small GUI app for my own use with Racket once. That said, I don't make GUI apps generally.

> Have you made utility scripts with Lisp?

Yes. Racket has a decent set of libraries, not as many as Python, but for processing JSON and turning it into something that can be passed on it's perfectly adequate.

> Do you use Lisp every day, every week?

No, but there is no single language I use every day, I will be stuck for a time with one particular language, then I'll have to juggle languages around on some days.

>>952912

Are you seriously comparing calling a pre-existing function with defining a new function?


 No.953145

How's your school break? Yeah, it's probably over by now.

Your homework's not gonna do itself.


 No.953404>>960106

Bump because this thread produces lulz


 No.953423>>953536

>>952570

>JaFL.bat

>java -jar flands.jar

Yeah, that's not a native binary.

>Crossfire

>client.c

>gtk2, written in c

>c files everywhere

Whoops, thats not Java!

As for the Jxclient, thats distributed as a jar alone.

>jflagcap

>launcher.c

>server.c

I'm assuming that's how they made the windows .exe for it.

Also

[code]

#include <windows.h> // Mmmm.

int main( int argc, char *argv[] )

{

SHELLEXECUTEINFO ExecuteInfo;

memset(&ExecuteInfo, 0, sizeof(ExecuteInfo));

ExecuteInfo.cbSize = sizeof(ExecuteInfo);

ExecuteInfo.lpVerb = "open";

ExecuteInfo.lpFile = "jre\\bin\\java.exe";

ExecuteInfo.lpParameters = "-jar JFlagCap.jar";

ExecuteInfo.nShow = SW_HIDE; // No dos box anymore!

if(ShellExecuteEx(&ExecuteInfo) == FALSE) {

MessageBox(NULL, (LPCTSTR)GetLastError(), "Error!", MB_OK);

}

return 0;

}

[​/code]


 No.953463

>>952400 (OP)

i wanna f*** kizuna ai with a strong nerve


 No.953467>>953602 >>986052

>>952493

i want to blast her with my load all over her face and down her chest


 No.953536>>954646

>>953423

The java client is the most recent version on the main page. I guess you're just born retarded.


 No.953602

>>953467

That's kinda rude.


 No.953603>>953607 >>953644 >>953648

Languages like Lisp dialects and Haskell are not for actually programming in, they are for learning new and interesting techniques that carry over well into other programming paradigms. There are many uses to map/reduce/filter style functions and applying lambdas. Immutability is also extremely useful in writing code with less bugs.


 No.953607

>>953603

>they are for learning techniques that will never be used to write a program

Watch closely, ladies, as I unwrap my monad thus creating a bijective map which I will homomorphise into a text editor.


 No.953644

>>953603

Please don't conflate the two. At least I know that Haskell won't do dumb shit like adding an integer and a string once it runs.


 No.953648>>953649

>>953603

These languages made me appreaciate, longjmp, goto and macros.


 No.953649>>953651

>>953648

Lisp has real goto and real macros. C (since you mentioned longjmp) doesn't have either. C longjmp is a broken, hacky version of the goto of a real programming language.


 No.953651

>>953649

PLs are only as real as the software that is written on it.


 No.953740>>953744 >>953762

Why do angry lisp men and unix haters have to be synonymous? I love Lisp, and I love the Unix philosophy. Neither are perfect of course, but what do the angry lisp men actually dislike about the unix philosophy?


 No.953744

>>953740

also, hating unix just puts angry lisp men in an even worse position.


 No.953762>>954465

>>953740

>Why do angry lisp men and unix haters have to be synonymous?

They aren't synonymous, but the two often coincide.


 No.953798

Just finished chapter 1 of sicp, and so far I'm really liking scheme.


 No.953871>>953880 >>953909 >>953986

File (hide): ddabf57b56c1ad4⋯.jpg (49.89 KB, 750x1000, 3:4, flat,750x1000,075,t.u1.jpg) (h) (u)

If making a text editor is such a difficult task that noone in two threads by now has done it properly, how come it is so frequently featured in the "programming challenge" charts?


 No.953880>>953908 >>958895

>>953871

What's the proper way, then? So far all we've seen is goalpost moving.


 No.953908>>953957

>>953880

>asking for the same thing over and over again is moving the goalposts


 No.953909

>>953871

Because it's doable unless using a toy language.


 No.953957>>953969 >>954003

>>953908

Yes, asking for something, getting it, then claiming it's not good enough or doesn't count for whatever bullshit reason is exactly moving the goalposts.


 No.953969>>953972 >>953999

>>953957

Well for a start the very first post says no DrRacket and then you give an answer with DrRacket.

>Neither does DrRacket, you need to install entire Racket language for it.


 No.953972>>953976

>>953969

I didn't realize Anonymous was one person


 No.953976

File (hide): a9f1017418bcefc⋯.jpg (89.47 KB, 960x960, 1:1, DaiRC9cUQAAYkvm.jpg) (h) (u)

>>953972

oh no you got me it could not possibly be multiple people


 No.953986>>953994

>>953871

It's a challenge because it's beyond I'm a hacker I've been reading SICP for a week.

In fact Bill Gates used to say that if you can write a text editor at all after reading SICP you should send him your CV.


 No.953994

>>953986

>In fact Bill Gates used to say that if you can write a text editor at all after reading SICP you should send him your CV.

big news if true


 No.953999>>954003

>>953969

You can also make DrRacket a standalone program, but there is no point in shipping a Racket IDE without having Racket installed. And yes, a standalone Racket program does bundle the interpreter, just like any other interpreted language does. If you need small binaries don't use Lisp. Use the right tool for the job.


 No.954003>>954009

File (hide): e2b541d41a0675d⋯.jpg (48 KB, 365x309, 365:309, 1471461793759-4.jpg) (h) (u)

>>953999

>If you need small binaries don't use Lisp.

and they wonder why no one sane uses it

>>953957

These are pajeet/weddev tier excuses.


 No.954009>>954020 >>954035

>>954003

>These are pajeet/weddev tier excuses.

No u. Goalpost moving is pajeet streetshit.


 No.954020

>>954009

A white man would have produced a simple self contained application by now. You've taken a pre-existing framework and bundled it with some hacky code. Literally pajeet-tier.


 No.954035

>>954009

>Clearly list constraints in first post

>Post answer that breaks constraints

>Complain about goal post moving because you cant read English


 No.954097>>954111 >>954396

>>952838

> I therefore invite all rust code artisans to create simple implementation of Newton's algorithm for finding square roots that a beginner could understand.

Are you retarded?








fn main() {
println!("{}", sqrt(783295.0));
}

fn sqrt(v: f64) -> f64 {
assert!(v > 0.0);

let mut x = 1.0;

while (v - (x * x)).abs() >= 0.001 {
x = 0.5 * (v / x + x);
}

x
}
https://play.rust-lang.org/?gist=db6aa33a8e5b83b7482e2da6f431d550

Glad to see /tech/ is still a shithole full of LARPers.


 No.954111>>954351

>>954097

>panic when argument is 0.0

>Glad to see /tech/ is still a shithole full of LARPers.


 No.954351

>>954111

>lispfag panics when the posted example is SIMPLER than his in a BLOATED language like rust.


 No.954396>>954397 >>954433

>>954097

>assert!

Why does assert shout? Can it also ask questions? Same goes for println.

>let mut

>mut meant mother in the ancient Egyptian language

This makes no sense whatsoever, do you mean mutable? Why wouldn't it be mutable. If you want a constant x, just say constant x.


 No.954397>>954435 >>954503

>>954396

>Things should be mutable by default

you are fucking retarded


 No.954433

>>954396

XDDDDDDDDDDDDDDDDDDDDDDDDDD

ebin. Anyways I'm gone for good now. I've wasted enough time on /tech/ already. Continue LARPing.


 No.954435

>>954397

What the mut did you mut about me, you fucking mut. I'll have you mut that I graduated mut of my mut at mut. I also have over 9000 confirmed mut's on muthub.

You're fucking mut mut.


 No.954465>>954708

>>953762

what do angry lisp men find fundamentally wrong about unix? Unfortunately I can't really compare it to Genera, and although Genera sounds extremely comfy, unix still has solid principles imo.


 No.954503>>954658 >>954838 >>954906

>>954397

They should be. A good language should be able to determine when something is used immutably and optimize it transparently and not need all that syntax gore. Rust however, is not a good language.


 No.954643

>>952691

>ha ha fuck it man! It's 2018 after all.

Never was, and still isn't an argument as to why we shouldn't be efficient where possible. Doing anything else is legitimately a waste in every regard.

This may not be a problem for say, a lisp compiler, and may be more of an issue of filesystems, but even if it falls into that case, it's still A problem that should be solved and not simply ignored. Why not put forth the effort to make it as good as it possibly could be, why half ass it? We need to identify and solve these problems, not ignore them.

Especially in a world where portable, battery powered devices, with a large range of hardware including low spec, are basically the norm. A place where efficiency is needed for practical reasons, that could be solved now. There's no reason to wait for hardware to advance when you could just make better, more optimal, software. Utilize the hardware better, don't fucking waste it, for you and all your users.


 No.954646

>>953536

They're all jars, so Java wouldn't win any made up competition invented by the OP.


 No.954658>>954698

>>954503

>A good language should be able to determine when something is used immutably

Yeah a good language should just recognize when a data structure is actually being used and optimize accordingly. Everything should just default to void* without the syntax gore. C however is not a good language.


 No.954698

>>954658

I'm not defending how C is largely blind to what happens to data. Just pointing out languages like Rust copied their mistakes but with more syntax.


 No.954700>>954713

>>952630

>never test errors with == -1

I'm a dumbfuck python programmer. can some1 explain to me why?


 No.954708>>954783

>>954465

>find fundamentally wrong about unix

The idea that it's okay to write shit software as you can just write a better version later. The problem is that it remains Good Enough (tm), so it never gets rewritten. There's a bunch of stuff that should be cleaned up, but no one is ever going to do it. This is similar to the idea that "worse is better", which is also a cancerous part of the UNIX philosophy.


 No.954713>>954725

>>954700

It frees up the compiler to optimize more by not being unnecessarily specific and on some archs uses shorter instructions too. Stupid contrived example:


extern int foo2();
int foo() {
if (foo2() == -1) return 123;
return 321;
}


0: 48 83 ec 08 sub $0x8,%rsp
4: e8 00 00 00 00 callq 9 <_Z3foov+0x9>
9: ba 41 01 00 00 mov $0x141,%edx
e: 83 f8 ff cmp $0xffffffff,%eax
11: b8 7b 00 00 00 mov $0x7b,%eax
16: 0f 45 c2 cmovne %edx,%eax
19: 48 83 c4 08 add $0x8,%rsp
1d: c3 retq


extern int foo2();
int foo() {
if (foo2() < 0) return 123;
return 321;
}


0: 48 83 ec 08 sub $0x8,%rsp
4: e8 00 00 00 00 callq 9 <_Z3foov+0x9>
9: c1 f8 1f sar $0x1f,%eax
c: 48 83 c4 08 add $0x8,%rsp
10: 24 3a and $0x3a,%al
12: 05 41 01 00 00 add $0x141,%eax
17: c3 retq

Also impressive how far gcc has come to be able to do optimizations like that.


 No.954725>>954727

>>954713

>compiling wirth g++


 No.954727

>>954725

>4 CYE

>not using C++


 No.954783

>>954708

>The idea that it's okay to write shit software as you can just write a better version later.

This wouldn't be so much a problem if the Good Enough solution didn't make it into production. Once other people start depending on its quirks you can no longer change the shitty implementation without breaking backwards compatibility.


 No.954838>>954948

>>954503

That's part of the implementation, not the language itself.


 No.954883

File (hide): 30584f694b54434⋯.jpg (400.08 KB, 598x651, 598:651, [sexy] grimes.jpg) (h) (u)

>>952851

>Elon Musk partners with Legolas this summer in I'm Using My Tesla Money To Make 'Lord of the Rings' Real: part 2


 No.954898

Mezzano has a text editor written entirely in Lisp.


 No.954906

>>954503

> A good language should be able to determine when something is used immutably and optimize it transparently and not need all that syntax gore.

Annotations are not just for the compiler, but also for the programmer. Declaring a variable immutable is like saying "don't mutate this down the line, you fucking idiot". Why would you do that? Because the validity of your code might rely on the assumption that a variable is never mutated. Without such a declaration another programmer might mutate the value and break things.


 No.954948>>955241

>>954838

No, it's part of the language.


 No.955241>>955266 >>955959

>>954948

No, it's not.


 No.955266>>955560

>>955241

When they have a keyword called "mut" and other languages have things like "const" it sure as fuck is part of the language.


 No.955560>>955567

>>955266

That simply enforces immutability in the program, it doesn't guarantee optimizations per se.


 No.955567>>955958

>>955560

It's almost like mut and const are actually parts of the language and not optimization details.


 No.955958

>>955567

Thanks for proving my point.


 No.955959

>>955241

Yes it is. Aliasing in C isn't an implementation issue, you can't solve it without changing the language as the type system is inadequate for the language to know how the memory is being used.


 No.955962>>955971 >>955978

Question, what does Lisp provide compared to a C-like language?

Why are there so many parenthesis? How does it improve computing? Is it faster?


 No.955971>>955978

>>955962

>Lisp provide compared to a C-like language

simplicity

better error / warning handling

no undefined behaviour

>Why are there so many parenthesis

Because of the language's homoiconicity. LISP code can be represented as a list. The macro system let's you essentially create a function which takes in code as one of its inputs and then outputs code as its output. Additionally when comparing it to a C based language there really aren't that many if you think how much brace spam C has. The difference is that C's brame spam contains {([])} instead of just ().

>How does it improve computing

Big nums are built in.

>Is it faster

Depends


 No.955978>>955983 >>955984

>>955962

>what does Lisp provide compared to a C-like language?

smug

>Why are there so many parenthesis?

autism

>How does it improve computing?

It had no effect on computing.

>Is it faster?

There are few languages slower.

>>955971

>simplicity

As we've seen, even making a proper executable is a research-tier task in lisp.

>better error / warning handling

Implementation-specific and subjective. SBCL spits out a massive amount of worthless noise just by typing 1 character:


0] ~

; in: LAMBDA (#:G394)
; (SYMBOL-MACROLET ((SB-DEBUG::ARG-0
; (SB-DI:DEBUG-VAR-VALUE
; '#<SB-DI::COMPILED-DEBUG-VAR SB-DEBUG::ARG-0 0 {1001E1D863}>
; #:G394))
; (SB-DEBUG::ARG-1
; (SB-DI:DEBUG-VAR-VALUE
; '#<SB-DI::COMPILED-DEBUG-VAR SB-DEBUG::ARG-1 0 {1001E1D8C3}>
; #:G394)))
; ~)
;
; caught WARNING:
; undefined variable: ~
;
; compilation unit finished
; Undefined variable:
; ~
; caught 1 WARNING condition

debugger invoked on a UNBOUND-VARIABLE in thread
#<THREAD "main thread" RUNNING {1001E06493}>:
The variable ~ is unbound.

Type HELP for debugger help, or (SB-EXT:EXIT) to exit from SBCL.

restarts (invokable by number or by possibly-abbreviated name):
0: [ABORT] Reduce debugger level (to debug level 1).
1: Exit debugger, returning to top level.

((LAMBDA (#:G394)) #<unavailable argument>)

>no undefined behaviour

In common lisp, setq on an undefined variable is undefined behavior.


 No.955983

>>955978

setq can define shit, dumbass


 No.955984>>956052 >>958914

>>955978

also, if you can read through lines, you can see that error handling is perfect. ~ isn't a Lisp word, so you get an error saying the variable is undefined. then you're put into the debug shell, which i presume you cannot use.

just get good, faggot, I'm sure your C-loving ass can't even use GDB


 No.956052

>>955984

>UB means there is no behaviour or it crashes

wrong


 No.958895>>959055 >>965772 >>986110

File (hide): 9bcb85abad6d9b8⋯.jpg (86.15 KB, 1030x720, 103:72, maxresdefault.jpg) (h) (u)

>>952496

Wow, it's another toy program, complete with empty stub menu's that do nothing at all. Well, congratulations anyways, you accomplished a textbox. Something every 6 year old HTML super hacker can accomplish in one minute, but in case of entire lispfag community it took over two months. Okay, it can save too, clap clap. Then there is this >>952553 and this >>952610 which makes it ridiculous, but I'm not moving goalposts, just pointing out it's shoddy design and lisps were supposed to be super elegant.

>>952580

Oh yes, why have usable real-world application when I could just watch video of it instead, absolutely genius, if only non-lispers were so enlightened, software demand and production costs would be radically reduced.

>>952691

I don't even...

>>952830

>Syntax is very minimal and very easy to learn

but hard enough to prevent creation of simple real-world applications, really activates almonds, maybe simple syntax attracts simple people.

>>952847

Well, you gotta learn what makes Lisp so shit first-hand I think, I can respect that.

>>952854

RosettaCode has plenty code examples.

>>952872

>I think that is just a result of years of programming in AGOL descendants

What absolute shocker, people ditch Lisp when given a choice.

>>953880

The rules are screencaped in two threads and have been for duration of weeks and hundreds of posts now you kvetching lying motherfucker. All you incompetent brainless shits do is kvetch, lie and dodge.


 No.958914>>958925

>>955984

>I'm sure your C-loving ass can't even use GDB

I'm highly skilled at reverse engineering. I'm on a level you can't even comprehend.


 No.958925>>958927

>>958914

i'll have you know I graduated top of my class navy seals.


 No.958927>>958935

>>958925

I'll do one better, I debugged a stuck battleship once.


 No.958935

File (hide): 7ee4dd5eddd1ac8⋯.jpg (172.21 KB, 1024x1024, 1:1, Dae0bpmU8AAYhH1.jpg) (h) (u)


 No.959055

>>958895

>Oh yes, why have usable real-world application when I could just watch video of it instead,

Feel free to buy OpenGenera for several thousands of dollars to experience it yourself.


 No.960106

>>953404

This. This thread's great. But now I'm seriously tempted to take a go at it and try OP's challenge. My mathematical background is pitiful and my programming experience is hello world. If I win you're all Pajeets of the highest caliber.

HOW HARD COULD IT POSSIBLY BE? 2 MONTHS. 2 FUCKING MONTHS.


 No.960752

stevelosh.com/blog/2018/08/a-road-to-common-lisp/


 No.960754

>>952589

>I couldn't understand SICP, the post


 No.960811

>>952496

wait these dumbasses are actually trying to download that and run it? that sounds like a great way to get reminded to read your sicp every day with every spare mb of ram not dedicated to mining altcoins for this guy.


 No.962237>>962245 >>962735 >>962757

<But Lisp doesn't have static typing!

Common Lisp has strong static typing if you want it. Then there's Typed Racket and even stuff like Shen.

<Macros are useless! Show me where they are useful!

Pretty much any Lisp codebase, examples from On Lisp.

<Lisp can't be compiled to a standalone binary!

Consider the Chicken Scheme compiler.

<No one uses Lisp!

Macsyma/Maxima (early influential CAS)

Remote Agent (JPL)

N-World, Mirai (graphics)

Lisp has had (and still has) a far larger presence in the industry than ML or Haskell. Not surprising, since it originates from pragmatic American academia, as opposed to European academia, which is obsessed with PLT metamathematics wankery and all that. Moldbug BTFO all those wankers already: https://www.unqualified-reservations.org/2007/08/whats-wrong-with-cs-research/


 No.962245

>>962237

>Common Lisp has strong static typing if you want it.

Every time any language tries to hack in static typing into their dynamic POS system it never works

>Pretty much any Lisp codebase, examples from On Lisp.

One of the reasons lisp programmers can never build up complex software

>Consider the Chicken Scheme compiler.

They either ban eval and cripple the language or bundle a compiler and call it an executable. It's like including the JVM.

>list of lisp companies

Yes anon you have to list them. That's how few use it.

>than ML or Haskell

Wrong. Haskell is used for all of facebooks spam prevention. Handles literally trillions of requests a day.


 No.962735

>>962237

> Not surprising, since it originates from pragmatic American academia, as opposed to European academia, which is obsessed with PLT metamathematics wankery and all that

t. I have no idea how research works


 No.962757

>>962237

>Common Lisp has strong static typing if you want it.

Not really. In SBCL type declarations are assertions, basically just an implicit runtime type check. That is, if you optimize for safety instead of speed, if you optimize for speed then SBCL will just assume that the argument has the type you suggested and happily chug along, throwing any safety out of the window.

Typed Racket does have actual static typing, and it will get pretty anal when types don't match at compile time. But even TR has problems because it is built on top of dynamic programming. If you want to import an untyped module you have to declare the types of its procedures, and there is again no checking that your manual declarations are actually true.


 No.962769>>962819 >>964547

>>952809

Python is compiled into bytecode you fucking LARPers. Get your facts straight.


 No.962819

>>962769

>bytecode

Yes this is surely what people mean when they complain that it isn't compiled.


 No.962995

>>952555

>Apparently it does mean jack as there are so few Java programs on the desktop. That's some real-world objective proof to counter your bullshit.

*insert literally any ERP/organization management system*

If it's not written in C# it's written in Java.


 No.964547

>>962769

Byte code? Oh you mean something my machine cant execute without an interpreter / compiler.


 No.964584>>964594

>>952581

I don't get it. Then that would mean that Python (CPython), Java (JVM), C# (.NET), JS (V8) aren't valid. inb4


 No.964594>>964647

>>964584

Yes anon because none of those languages generate an executable.


 No.964647

>>964594

Some processors can run java bytecode natively


 No.964670>>964722 >>964739

>>952581

C:

>save source code

>install gcc (and its dependency hell) to get the compiler

>compile

>run

>works

>uninstall glibc

>stops working as soon as you uninstall glibc

It was stated pretty clearly in OP that it doesn't count if you need to install the entire language just to run the executable.


 No.964722

>>964670

glibc isn't part of gcc. You also don't need to depend on glibc. Dynamic linking is entirely optional.


 No.964739>>964878

>>964670

>what is static linking

look faggot dynamic linking is an optimization not a requiment


 No.964878>>964888 >>964907

>>964739

Your argument is pointless in the first place, you're asking a managed interpreter language to run without its runtime. What you're asking for is not possible without bundling the VM in the executable.


 No.964888>>964900

>>964878

>to run without its runtime

A runtime is one thing, plenty of languages just require a garbage collector and what not. Having to include an entire compiler is the retarded part (eval).


 No.964900>>964904

>>964888

eval is not a compiler, it is the interpreter. An interpreter is not a compiler, this is the fundamental difference you are struggling to understand


 No.964904>>964908

>>964900

eval requires including a full compiler in languages that compile to an intermediate. That's why SBCL and Racket copy fucking everything into your executable.


 No.964907

>>964878

That makes the language shit, unless the runtime can be exceptionnaly tiny (see awk or sh).


 No.964908>>964921

File (hide): a0b2ec092976a39⋯.png (231.35 KB, 500x281, 500:281, ClipboardImage.png) (h) (u)

>>964904

>compiler


 No.964921>>964925

>>964908

They're compiled before they're interpreted, faggot. We've come a long way since TCL.


 No.964925>>964926 >>965181

>>964921

Racket, Chiken, Guile etc are not JIT


 No.964926>>964939


 No.964934

>>using outdated complex techniques that were replaced in modern compilers

and this is why LISP isnt mainstream


 No.964939

>>964926

My mistake


 No.965181>>965230

>>964925

Racket is JIT-compiled on some architectures:

https://docs.racket-lang.org/guide/performance.html#%28part._.J.I.T%29

A native JIT-compiler is also planned for Guile 3.0, whenever that might happen.

https://lists.gnu.org/archive/html/guile-devel/2018-06/msg00026.html


 No.965230>>965324

>>965181

>planned is the same as having

Every shitty language PLANS to do tons of things


 No.965324>>965359

>>965230

They're LISPers so they have to write papers for a decade or two before they just write a 1k line backend to LLVM.


 No.965359>>965378

>>965324

It's called clasp.


 No.965378

>>965359

>we complain about 2 scheme implementations

>he brings up common lisp

LOL


 No.965772

>>958895

>RosettaCode

lol. do your homework next time.


 No.965773

I'd bet the OP won't be around after he gets the solution to his homework.


 No.965929

File (hide): acc845ca556a111⋯.jpg (123.11 KB, 333x500, 333:500, cadr.jpg) (h) (u)

here you go OP buy this and install whatever OS it needs to work and you'll probably have an text editor in lisp with gui and stuff


 No.965933>>966115

Lispers are so cool they're like pfft I can make like 50 text editors an hour but I don't because it's babby tier and beneath me. You want that kiddy shit go play with a toy lisp machine because I'm a pro. I have no time for editing text or whatever shit you think is important. So get out of my face before I drop an xkcd on you, fool.


 No.966115>>966160 >>966334 >>966347

>>965933

Nobody's going to make a program to sate some random anon's thinly veiled trolling in any language.


 No.966160

>>966115

Actually asking Lisp LARPers to program something? Truly outrageous. Sage it down anon it's the only way to take the moral high ground.


 No.966334

>>966115

He did not ask anyone to make anything. Even literally copy pasting an example. This is too much for lispfags though who don't actually have any software they can paste.


 No.966347>>966933

>>966115

>the reason almost no lispfag in the entire world has attempted this in the last 60 years is because of a post made in 2018

>watch as I continue the time-honored tradition in my community of making excuses


 No.966933>>966956 >>984951

>>966347

>the reason almost no lispfag in the entire world has attempted this in the last 60 years is because of a post made in 2018

>the reason almost no lispfag in the entire world has attempted this in the last 60 years is because they have, succeeded, and it's not really worth it because better editors already exist, and most lispfags use emacs anyway


 No.966956

>>966933

>watch as I continue the time-honored tradition in my community of making excuses


 No.975176

<after nearly 3 months, lispfags still were unable to deliver a program fulfilling all of op's criteria

The absolute state.


 No.984948>>984955

Any progress?


 No.984951>>984955

>>966933

>because they have, succeeded

And yet you have wasted this entire thread not being able to post a single example of a trivial program


 No.984955>>984957 >>984959

>>984948

>>984951

>>>>> >>952496 <<<<<

you acknowledged it.

you said it's shit.

"write an editor to my satisfaction" is a separate task.

for a fresh mock-the-lispfags thread subject, how about a nice roguelike game?


 No.984957

>>984955

>post program

>it's does not meet the basic requirements

>I DID IT GUYS I SWEAR UR CHEATING!

okay bud


 No.984959>>984960 >>985052

File (hide): 8819d95826e7c9c⋯.png (116.07 KB, 271x291, 271:291, 1471461910242-1.png) (h) (u)

>>984955

>He bundled the entire racket interpreter for a textbox

I hope you aren't proud of this. So you've basically proven the point that LISP isn't elegant nor is it any better than using C. Thanks.

Anyone else want to take a crack a making a proper text editor? Preferably one that isn't HTML form tier with dependency hell included?


 No.984960>>984961 >>984962

>>984959

>LISP isn't elegant

you're talking about tooling, not the language. There's certainly no Lisp with tooling comparable to all that C has. Although I don't actually know about any tree-shakers for C; some commercial CLs have those.

if you want to know how elegant Lisp can be, check out https://letoverlambda.com/


 No.984961>>1020748

>>984960

>just read the propaganda

No thanks. I'm asking why all the anons that talk about how great LISP is on /tech/ can't deliver a simple text editor. The one posted doesn't meet the requirements. Surely something as elegant and easy to use as LISP doesn't require this much dev time to get a simple text editor up and running.

OP was right you guys are just a bunch of LARPers


 No.984962>>984964

>>984960

You're text editor was not even capable of saving anything, a basic requirement.

>you're talking about tooling, not the language

And the language is incapable of developing basic tooling as shown for the last 60 years. Especially scheme.

>some commercial CLs have those. if you want to know how elegant Lisp can be

Ah you just have to use proprietary shit to know the true joy!


 No.984964>>984970

>>984962

>the language is incapable of developing basic tooling

basic tooling for a Lisp is precisely what Racket has. In Lisp, the model is that you have the language even at runtime. Not only that: you have the debugger at runtime. When Lisp programs crash, you should be able to fix them back up without ever stopping them, and you should be able to look at the data structures that led to the crash without resort to something like a core dump.

it's a nice system. It's an investment of effort comparable to one where you get neat little minimal-VM binaries like C will give you. It's an additional investment to have a Lisp *also* support neat little minimal-VM binaries.

also, languages don't develop stuff. people do. that lisp is relatively poor in human investment isn't something anyone's going to dispute. You want popularity, only? OK, go wallow in shit and Python.

>racket editor couldn't save anything

it's obvious that that's going to be only a little bit of work on top of what's already there.

not a racketfag though if I ever want to do anything in Lisp, I'll split the difference and do it in Erlang


 No.984970>>984974

>>984964

>basic tooling for a Lisp is precisely what Racket has

And yet you could not make a basic text editor in it. How funny.

>only a little bit of work

So trivial and yet you make so many excuses


 No.984974>>984976 >>985038

>>984970

*shrug*

So for the record, you will stop making this exact thread if someone posts a variant of the racket code that also saves files, or some other Lisp editor with just its features plus file saving?


 No.984976

>>984974

I'm not op so no guarantees :^). I think the base line for a text editor would be:

- can open files

- can create new files

- can save files

- can copy and paste

no need for any fancy key bindings though.

Ops post also states

>make a usable open-source desktop application that can be distributed like any other desktop application

And they clearly want just a binary that can be run and distributed (find a way to make one :^] ).


 No.985038>>985053 >>986110

>>984974

>everyone that disagrees is OP

The absolute state of LISPfags. The OP has stated the requirements for months. All the features in notepad excluding printing distributed as a user friendly binary. Why do you keep attempting to weasle out of them?


 No.985052>>985064 >>993633

>>984959

Not even C compiles into truly independent binaries. Go ahead and tell us what happens to your C programs after you do a rm -rf /lib. Making "no dependencies allowed" a requirement is stupid because assembly is the only language in the world where that's possible.


 No.985053>>985113 >>985145

>>985038

>The OP has stated the requirements for months.

Requirements have been met by >>952496 with clarifications in >>952604.

Posting smug anime faces while shifting goalposts doesn't make you any less of a nigger, even if you are not OP but merely acting in his place.


 No.985064

>>985052

I don't have any bones to pick with Lisp, but what you're saying is wrong. There's not even a /lib directory on OpenBSD. All the stuff in /bin and /sbin is static binaries. They did it that way so you can still have a working system in single-user mode ("boot -s" at the boot loader prompt) even if the linker is hosed.


 No.985113>>985124

File (hide): 31b2a9fa9be8f3c⋯.gif (761.49 KB, 500x500, 1:1, turn heart eyes.gif) (h) (u)

>>985053

It doesn't meet the requirements though half the options are just stubs that don't do anything at all. It isn't moving goalposts when you didn't even submit something that met all the requirements.


 No.985124>>985145 >>985168 >>985170 >>985201

>>985113

It's a fully functional text editor which can open and save files. Adding other non-essential features is left as an exercise for the reader. Nobody is going to waste time writing software that nobody will use, just to please some faggot on some obscure imageboard, that just can't refrain from sperging out about the details of the implementation. Even if someone decides to add more features you faggots will still complain that it's not really pure lisp because firmware of LCD controller was written in C and not in lisp.


 No.985145>>985149

>>985124

>>985053

Op in the very first post says "no racket" and you post in racket. Good job faggot.


 No.985149>>985153

>>985145

>Neither does DrRacket, you need to install entire Racket language for it.

>let me just omit Dr from DrRacket

>look guys it says no Racket

Holy shit the amount of goalpost moving is hitting levels never before thought possible. Racket is a scheme dialect so it fulfills the requirements. DrRacket is an IDE for Racket language, you don't need it to write and execute Racket programs. Learn to read faggot.


 No.985153>>985158

>>985149

>requirement mentioned in very first post is goal posting

okay anon


 No.985158

>>985153

>Invalidating solution on bogus claims is not moving goalposts.

And where exactly is this requirement? Could you please show us where it says "no racket"?

>inb4 it's in the first post m8

You need to be more specific.


 No.985168>>985170

>>985124

The OP states all the features of notepad sans printing. Just admit your pajeet tier project didn't meet the requirements or better yet finish the damn job since you care so much to reply every time this thread gets bumped


 No.985170>>985177 >>986110

File (hide): 0f04c6e4d608fd9⋯.png (599.62 KB, 887x535, 887:535, forlispfag.png) (h) (u)

>>985124

>Adding other non-essential features is left as an exercise for the reader.

See:

>>985168

and pic related. You failed to meet the requirements.


 No.985177

>>985170

They literally have to duplicate the most out dated pos featureless text editor and they cant do it.


 No.985201>>985207

>>985124

>I could do it but I won't because reasons, so I win

What a slimy, worthless cunt you are.


 No.985207>>985213 >>985657

>>985201

>resorting to personal insults

Yes, keep it coming, these (you)'s are very delicious.

>so I win

This is now kids-at-playground tier debate.

>I wanted a lemon flavored ice cream with a cherry on top.

>but I only got ice cream without the cherry

>the ice cream I got is not ice cream

>REEEEEEEEEEEEEEEEEEE

<kid proceeds to calls an ice cream man a slimy worthless cunt


 No.985213>>985214

>>985207

>specifies ice cream with cherry

<gets ice cream without cherry

>sir this does not meet the requirements

<I GAVE ICE CREAM WITH A CHERRY

>sir there is no cherry

<YOU CHANGED THE REQUIREMENTS

lispfags really are the worst


 No.985214

>>985213

Did you expect anything else? I'm going to keep bumping this thread to remind him of his shame. Any anons worth their salt want to take a crack at it? This faggot is making you LISPfags look bad.


 No.985657>>985676 >>1040552

>>985207

>now he's resorting to food analogies


 No.985676

>>985657

>REEEEEEEEEEEE


 No.986052

>>953467

Ditto.


 No.986063>>986098

>>952400 (OP)

I thought anon from the pic related was based until

>Text editor must have graphical user interface

What a kike


 No.986098

>>986063

making it graphical means you can have an editor without doing any actual work or asking serious questions like "how should I represent files in memory?"

You just use an editor widget and get all that for free. Which, at least, makes this an easy challenge for anyone using pretty much any language.


 No.986110>>986115 >>986116 >>986127

File (hide): ddaa2ae2942ac2c⋯.jpg (44.36 KB, 960x540, 16:9, 2.jpg) (h) (u)

>>952400 (OP)

>>952437

>>952455

>>952493

>>952553

>>952581

>>958895

>>952556

>>952810

>>952860

>>985038

>>985170

Nice bait, but I will bite.

I was going to make a post to call you out for being a nigger. But I decided to see a tiny bit more effort because a couple of fellow /tech/nicians actually fell for the crappy bait.

You provided 0 reasons why lisp (or some implementation or dialect) is bad. This is either because you have never even tried lisp, or because you are a /g/ay Nigger who can't program at all. If you truly were the master programmer that you claim to be, you would have listed at least some points, but you didn't because you couldn't.

>Racket doesn't count

>Clojure doesn't count

>Emacs doesn't count

In the thread's subject you talk about lisp, but then you add arbitrary rules that ban all lisp dialects except CommonLisps and Schemes. Why do you complaint about fact that you need the language runtime to be able to run programs written in the language? Are you retarded or something? You need the C runtime to be able to run C programs, so how is lisp any different? Also, why exactly doesn't Emacs count? In the op you demanded a compiled binary, but lisp programs are usually either interpreted or compiled just-in-time. And when an anon actually delivers, you keep on making up BS and whining that it doesn't count. Again this just proves that you are a /g/ay Nigger with zero skill.

If you fail to reply to this post and address all of these points, you are a fag. Also, I am relieving you from those Kizuna AI pics, because a fag who lusts so much after a black cock doesn't deserve them.


 No.986115>>986127

File (hide): 3ea98a6aa738034⋯.jpg (17.57 KB, 414x246, 69:41, DkP1-HJUYAAtr3d.jpg) (h) (u)

>>986110

lisp fags making excuses for their shitty family of languages number 546543. Even absolute shit like python is capable of making a simple binary.


 No.986116>>986127

>>986110

>You provided 0 reasons why lisp (or some implementation or dialect) is bad

Well anon for literally months you have been unable to present a simple text editor that has been made in literally every other language.


 No.986127>>986128 >>986129

File (hide): 141725e9639f420⋯.webm (616.69 KB, 1694x720, 847:360, Sheev_laugh.webm) (h) (u) [play once] [loop]

>>986116

>>986115

<Didn't address any of the points

<Just some shitty damage control and samefagging

I knew from the very beginning that you are a faggot. The completed text editor is posted in this thread and your "challenge" has been completed. Now, I am asking you again to reply to >>986110 If you truly know wtf you are talking about, then you shouldn't have any issues with this. But you are glowing in the dark so hard atm because you keep on talking as if making a fucking Notepad.exe clone would be the most challenging programming task ever. Why do you keep on evading the fact that you are the only one who has been unable to respond (gee, I wonder why)

Now you have exactly three (3) options:

1) Prove that you actually know something

2) Go back to >>>/reddit/ or >>>/cuckchan/

3) Perish


 No.986128>>986132

>>986127

>The completed text editor is posted in this thread

Yeah you mean the one that was unable to follow the basic requirements that have not changed for months. How about you learn to fucking read you retard.


 No.986129>>986132

>>986127

>because you keep on talking as if making a fucking Notepad.exe clone would be the most challenging programming task ever

It is specifically trivial intentionally. Yet you can make nothing but excuses.


 No.986132>>986133

File (hide): 6a937b07fe14c0c⋯.jpg (69.42 KB, 638x746, 319:373, 7fa94a44d73895eb1864.jpg) (h) (u)

>>986129

>>986128

>>986129

>>986128

>>986129

>>986128

>>986129

>>986128

>>986129

>>986128

>and the damage control and samefagging continues

Well, at least you didn't deny the fact that you are a fag.


 No.986133>>986135

>>986132

Nice try lispcuck. Keep your damage control up. You need it.


 No.986135>>986137

File (hide): 3188be9a448d362⋯.jpg (38.6 KB, 504x415, 504:415, criticism.jpg) (h) (u)

>>986133

This is getting really embarrassing... For you (see pic related). Well, I am glad that this thread gets filled up quickly.


 No.986137

>>986135

>lispfags stalling post 765733


 No.986139

>emacs nigger starts randomly quoting everyone and saging

fuck off back to your retarded board you cancerous shit


 No.986179

>>952632

Thanks a lot for the explanation. This board has some nice contribution, funny thing that only garbage get answers.


 No.986182

>>952632

>Python executable don't exist


 No.986183

overengineering

nothing quite like it heheh


 No.986191>>986200

>Edwin which requires installing Scheme

And Python programs requires Python.

Who will have thought...


 No.986196>>986240

>>952454

That's a win.

https://github.com/LightTable/LightTable/releases

I guess OP just religiously opposes Lisp.


 No.986198

>>952580

Post source


 No.986200>>986214

>>986191

except python can produce executables


 No.986214>>986239

>>986200

By bundling the runtime in the binary.

Something possible with every serious Lisp implementation.

Both fail the requirement "no miracles required."


 No.986239>>986357

>>986214

>Both fail the requirement "no miracles required."

As long as you can do it in a couple bash commands it's no miracle


 No.986240

>>986196

>The best lisp program you faggots can come up with is an Electron app

nice web browser faggot


 No.986357

>>986239

Do it.


 No.987548>>1031751

>>952837

Nothing in Python is written entirely in Python


 No.990904>>993560

Any progress?


 No.993560>>993664

>>990904

Guess the LISPfags gave up. Thanks for admitting you're LARPers


 No.993633

>>985052

You do know that you can compile with the -S option to show the assembly generated by the Compiler?

C is in no way dependent on dynamic linking (that fad started later due to the bloat of xlib) or the C library for that matter (although you then have to do raw syscalls).


 No.993655>>993661 >>993668

OP, I think the problem wasn't necessarily with Lisp, but rather that you challenged a board of people who don't know any programming at all


 No.993661

>>993655

lol somehow I doubt it


 No.993664>>993665

>>993560

You basically asked them to build a Lisp executable without a Lisp runtime, I think they're just sick of your bullshit


 No.993665

>>993664

This. He's like a deliberately obnoxious version of the fags that come on /fit/ and want to know how they can get big without eating more.


 No.993668>>993678

>>993655

>pretending the issue is not OP engaging in bad faith from the start


 No.993678>>1040554

>>993668

>faith

oy vey it's anti-lispetic


 No.993679>>993686 >>993696 >>993704 >>994022

Just tried out the editor, creating an executable takes 19 SECONDS!

What is it doing, after all it is just bundling the interpreter.

Executable is 13M big (at least it only needs pthreads and libc).

Then came the program, it seems it has NO copy/paste (right-click does nothing,

Edit just hast a bunch of empty entries).

Loading files is REALLY slow!

Tested on the King James Bible from Project Gutenberg in txt format which can

be found here: http://www.textfiles.com/etext/FICTION/bible10.txt

Shalompad takes 16-21 Seconds to load the File when opened!!!

(I tried multiple times, via "racket pad.rkt" and also using an executable

generated via "raco exe pad.rkt")

Every other Editor I tried showed something in ~1 Second (heany/scite/vim/nano)

even though I these editors were not already running (since shalompad also does

not support command line arguments).

Except for VSCode: although it neede ~3 Seconds to Load after about 8 Seconds

I could scroll through the Testfile. Congratulations you have coded an editor

that is SLOWER THAN VSCODE!

Additionally: Open does NOT open a file, it just appends the selected File to

the current buffer.

Ctrl-C does not work, instead it just replaces the current selection with a 'c'.

Double clicking a word does not select a word. And Triple clicking of course

does not select a line.

Also: at the start it starts toasting my cpu but quickly drops down to 0 cpu

usage after allocation 173MB of Memory. After opening the above testfile

memory usage went up to 451MB... even firefox uses less.

Congratulations to you anonymous lispfag, you have truly opened my eyes to how

completely and utterly useless every single of you is!


 No.993686>>993689 >>993696

>>993679

Another fun addition: When saving files Shalompad inserts empty lines, just try opening a file and saving it again, it will not be the same.


 No.993689>>993696

>>993686

So to summarize:

- The editor can NOT open files, only append.

- The editor seems to replace 1 empty line with 3 after saving, meaning it can

NOT reliably save files.

- NO copy/paste/search/replace

- No keyboard shortcuts

- Static executable is 13MB since it bundles the interpreter.

- Startup time is atrocious.

- Appending a file takes forever (at least saving is fast...).

What a victory for the lisp community.


 No.993696>>993714 >>993781 >>993913

>>993686

>>993679

>>993689

> Write me an editor!

< *throws some quick & dirty code together* Here you go

> Why is your editor not on par with decades old projects? REEEEEE

You asked on an image board for a working editor, and people delivered. Now you sperg out because the editor cobbled together to placate an autist is not production ready? Gee, what a surprise.

Let's turn this around: pick your favorite meme language and write an editor yourself, I'll be waiting.


 No.993704>>993714 >>993807

>>993679

It's a bad editor, sure, but it's an editor.

The bad editor is not a virctory for the lisp community as much as a defeat for OP.


 No.993714

>>993704

>it's an editor.

>>993696

Check out my shell editor

echo "Imma editor" >> text.txt


 No.993781>>993785 >>994080

>>993696

>You asked on an image board for a working editor, and people delivered.

You failed point 3 in the OP

>feature parity with notepad excluding print and page set-up

and instead of fixing your own abomination you blame the rest of the board for your incompetence. I'll keep bumping the thread because I want to see someone actually complete the task. Feel free to fuck off and allow someone else to set-up to the task.


 No.993785>>993807

>>993781

the task has been complete a while ago. now, stop being so butthurt over this.


 No.993807>>994008 >>994080

>>993704

>>993785

What part of "you have failed to achieve point 3" do you not get? Notepad is trash but even it can generally save a file correctly, ignoring pozblows having to have its special-snowflake line endings. On top of that, it's to the point where your editor runs so poorly that it is more damning than if you all had just simply admitted to lisp being useless for any real-world purposes outside of autistic "hurr durr I'm smart" math toys or mere configuration formats, which even for the latter it is not proven to be superior to something such as lua or even a plain-text format like toml or something. Either be men and admit you failed or deliver the damn editor already.


 No.993812>>993813 >>994008

>can't build a simple binary without bundling in the entire interpreter

Truly the superior language. How will C ever recover?


 No.993813


 No.993913

File (hide): 6802337eb0e4cf1⋯.gif (159.62 KB, 340x340, 1:1, shoahpad.gif) (h) (u)

>>993696

Used the opportunity to fumble around with c++/qt5, leaves a lot to be desired but went better than expected.

I used this: http://doc.qt.io/qt-5/qtwidgets-richtext-syntaxhighlighter-example.html

as a startingpoint, since I last did GUI development a decade ago with gtk+2.0.

Suck it down.

(What is wrong with 8ch lately? I always get an Unknown file extension warning when I try to upload the tarball, well, a gif/zip combination file it is)


 No.993978

>>952691

I've got to store my dank anime somewhere, and useless bloat taking up space is not something i want on my drive


 No.994008>>994022 >>994164

File (hide): 9d9a7cd1b95155b⋯.gif (340.41 KB, 722x720, 361:360, karen_laughs.gif) (h) (u)

>>952400 (OP)

>>993812

>>993807

Are you seriously this oblivious to your own ignorance? That's the worst kind of ignorance. Secondly, wtf are you complaining about a programming language needing its runtime? Even your ANSI C programs need the C runtime (If you don't implement it yourself from scratch. You can go ahead and do it, mister big brain) And the fact that you couldn't list even 1 point of criticism against lisp speaks volumes. If you truly were the "master programmer" that you try to appear as, then you could at least list what's wrong with the completed implementations (Emacs and the Racket program in this thread, for example) but you couldn't. You just keep on referring to your points from the pic in OP. I can't help but laugh at you.


 No.994022>>994041 >>994090 >>1010302

>>994008

>wtf are you complaining about a programming language needing its runtime?

He's complaining that you need to bundle the entire interpreter in the program to make it work. That's retarded. As seen above, >>993679 a tiny, barely functioning text editor ends up being 13MB. Let's explore, shall we?

Geany, a lightweight and portable IDE-style editor, is only 10.8MB. With plugins, it's only barely bigger than the lisp editor.

https://www.archlinux.org/packages/community/x86_64/geany/

vi, the text editor that is ubiquitous throughout the *nix world, is 293KB

https://www.archlinux.org/packages/core/x86_64/vi/

nano, often considered to be a noob-friendly alternative to vi, is 2.3MB

https://www.archlinux.org/packages/core/x86_64/nano/

leafpad, a notepad clone, is 306KB

https://www.archlinux.org/packages/extra/x86_64/leafpad/

notepadqq, a notepad++ clone, is 10.4MB

https://www.archlinux.org/packages/community/x86_64/notepadqq/

YOU

LOST,

LISPFAG.


 No.994041>>994066

>>994022

>321 replies

>runtime bitching

Erlang has a big runtime too--it has its own operating system, complete with rsh, job management, and a 'ps' command so that you can find processes to kill. But that runtime is obviously a benefit, so people don't complain except to understand that Erlang isn't appropriate for everything.

With Lisps the runtime benefits are a little less obvious, but they're still there. Alternately Lisps can be appropriate in more areas than Erlang.

If you wanted to start a thread about how CL can't into small binaries, you could've done that 321 replies ago and we could've let that shit thread fall off the catalog already after someone linked you to Chicken Scheme.


 No.994049

>>952547

But never on the Oracle JVM, but originally on the much slimmer Dalvik VM, and now on the Android Runtime.


 No.994066>>994090

>>994041

>link to a programming language

>claim to be finished

Classic lisp niggers. muh trivial implementation and all that.


 No.994080>>994094

>>993807

>>993781

Satisfying point 3 takes time, and OP has not proven enough good faith for anyone to invest said time.

Any feature addition would be met with hundreds of posts lying about what Notepad can do and shifting goalposts, see the whole back and forth about runtimes.

Same goes for performance, optimization is for things more serious than a quick proof of concept.

Bue keep encouraging OP, bad faith discussion has never hurt anybody after all.


 No.994090>>994092

File (hide): c227315028c198d⋯.png (546.83 KB, 500x500, 1:1, Shicchan.png) (h) (u)

>>994022

Again, you just aren't able to understand what a language runtime is. You don't have to bundle everything into one executable BUT this was one of your retarded rules, as a matter of fact. Make up your mind, and stop bitching about your own rules.

>>994066

It's very ((convenient)) for you to ignore all requests for more info (especially if it something remotely technical in nature!) Why you can't provide any arguments against lisp? Is it because you are nigger monkey who can't even program? All you could do was to come up with those vague "rules" in the op, and then getting increasingly butthurt over your own little challenge. Top Fucking Kek.


 No.994092>>994093 >>994846

>>994090

>Why you can't provide any arguments against lisp?

You are arguing in bad faith. I already made and won all the arguments against lisp. It's your problem if you keep shifting the goalposts.


 No.994093

>>994092

>You are arguing in bad faith.

Hello lainchan.


 No.994094>>995284 >>1040558

>>994080

Why are you just shifting the blame instead of improving the editor?

So you have to bundle the whole interpreter to produce a self-sufficient binary, a lot of other languages do that as well and still produce usable software.

This still is no excuse for your inability to acknowledge the problems in anon's editor and instead of fixing them to produce a nice editor you just keep whining about the goals not being clear, is it that hard to understand saving/loading files?


 No.994164

>>994008

I for one am complaining about the fact that the editor that was provided (emacs is not pure lisp, so I refer to shalom ad) is incapable of properly saving files, and on top of that the required features of the GUI are not even implemented. I am NOT complaining about the lisp runtime because I realize that is unavoidable, which is why I did not cite the size of your bloated monstrosity in my post.


 No.994292>>994430

File (hide): a8ad174ba5c8a02⋯.png (308.84 KB, 624x633, 208:211, c95a8e8c8dd4a96e82aa95ac4c….png) (h) (u)

>LISPfags think every reply is the same person.


 No.994424>>994431

Why write a simple text editor, when a full blown operating system entirely written in Lisp exists? https://github.com/froggey/Mezzano

Of course, here is a text editor that runs on it: https://github.com/froggey/med

OP btfo.


 No.994430

>>994292

I want to look EXACTLY like that.


 No.994431>>995841

>>994424

>OP btfo.

No, here is how OP will respond:

>but muh rule 5

>but muh challenge

>but muh executable for Ghanoo plus Linugs

>picture of smug Ai

>lispfags


 No.994846>>995089

>>994092

>implying this whole thread isn't made in bad faith

also, I am not shifting any goalposts, unlike you op. Op is faggot, like usual.


 No.995089>>995759

>>994846

>NOOO U

you are the faggot that has not been able to post a notepad tier piece of shit for the last 6 months


 No.995284>>995348 >>995349

>>994094

>Why are you just shifting the blame instead of improving the editor?

What benefit comes from improvements to the editor?

I think no benefit at all, since it's a proof of concept and at best it will become a toy project that stands no chance against any semi-serious text editor developed in the last decade.

See, I don't care about the text editor, and I don't care much about lisp either: what I care about is getting faggots like OP to be shunned, to keep the discussion quality here from lowering even further.

>This still is no excuse for your inability to acknowledge the problems in anon's editor

I acknowledge the issues in anon's editor, but I think they are to be expected from a quick proof of concept and the repeated attempts to completey ignore it indicate that this thread is pointless jerking.


 No.995348>>995500

>>995284

>proof of concept

lmao you are a child


 No.995349

>>995284

>why bother writing any software when it won't get as popular as some other software?

What a faggot.


 No.995500

>>995348

lmao keep posting anime girls


 No.995759>>995768 >>995841

>>995089

But it has been posted.


 No.995768>>995841

>>995759

>proof of concept = concept of proof

checkmate lisp haters


 No.995841>>996319

File (hide): b9ec42398865105⋯.jpg (67.72 KB, 600x737, 600:737, op.jpg) (h) (u)

>>994431

>>995759

>>995768

Shut up, stupid goyim! Your pathetic "proof of concept" doesn't count because you didn't fulfill the rule number 9 as listed in my op. lisp is not a real programming language because you can't do my homework in it. If you had a job, you would use a productive programming language like Visual C++ or Visual Basic and superior proprietary programming environments, like Visual Studio Ultimate. You lispfags are jealous because you can't compile your code into an Universal Windows Platform App. You can't win my challenge, just give up already!!!!


 No.996319

>>995841

Bait. Lisp is the Jew language.


 No.996327>>997244 >>1040558

Still spending more time avoiding the work instead of improving what you've already done I see. How many months are we up to now? Four?


 No.997244

>>996327

i'm bumping this to see lispfags suffer


 No.997988>>997989 >>997997


 No.997989>>997997

>>997988

also this one https://github.com/soegaard/remacs check out those dubs btw


 No.997997

File (hide): 75867927d7ebbd9⋯.png (249.39 KB, 416x409, 416:409, topsmug.png) (h) (u)

>>997988

>>997989

>four months of excuses

>they just end up posting Emacs

LISPfags never change.


 No.998342>>998384 >>998633 >>999320

File (hide): 24847dc82a0a1a5⋯.mp4 (8.17 MB, 1280x720, 16:9, simplescreenrecorder-2018-….mp4) (h) (u) [play once] [loop]

This is hilarious. I regret not reading this thread sooner. The lisp faggot bundling the whole interpreter and making the exe 13mb and slow as shit made my sides hurt, but it reminded me of a small cute language I used few years ago when I was just starting with programming.

It is also interpreted and can be "compiled" to .exe by bundling the interpreter with your script, but I was sure as fuck the executables were below 1 MB. So I downloaded the AutoIt and tried to make the editor...

I have to admit, that there's barely any code in it, as the language's GUI library just has an edit box which supports copy-paste, selecting etc. I only had to write little logic to load and save files. Maybe for the next post I'll try to write such editor in C/C++ (but no promises).

Well, my editor can load and save files, is fast, is under 1mb. LISPfags, watch and learn, everyone else, just watch and laugh at the faggots.


 No.998384>>998633

>>998342

This thread is hilarious. They're convinced every anon that doesn't jump on the LISP bandwagon is the OP. They've posted a editor that doesn't even work or come close to meeting the requirements. They've claimed anons are moving goalposts when the requirements have been the same for months. They claim bundling racket is the issue when the OP himself stated it was fine but just lazy. They've resorted to posting emacs implementations that someone else wrote in an attempt to save face.

I was really interested in seeing someone with a LISP background step up to the challenge and make something on par with notepad. I've toyed with LISP myself but I don't claim it to be the end all be all of programming. This simple challenge seemed like the perfect chance for the LISPfags that infest this board to show everyone how simple it is to write an application like this and they've squandered it. At this point it's obvious most of them are LARPers that don't do any programming work at all.

We're halfway into November and half a month past the deadline and they're still in here attempting to save face. The OP doesn't seem to have posted in awhile but I'm sure he'll be back at some point to laugh assuming the BO or vol hasn't banned him. I'm too lazy to check the logs but it is suspect that he hasn't been around in some time.


 No.998633

>>998342

>>998384

>>952400 (OP)

Can we archive/sticky the entire thread, as an eternal reminder

that LISP users are incompetent fucks who will never make it in

programming/computers in general?


 No.998992>>999356

I can guarantee that 90% of this thread is samefagging

At least fourchinz bans avatarposters

t. Haskell fag


 No.999027>>999039 >>1008071

>demand of a fish to fly to show it is a feasible creature

A language doesn't need to do everything. It needs to be able to do one thing better to have value. So the question should be if lisp has a place where it outshine the rest.


 No.999039>>999044

>>999027

The answer is no. LISP is based on a radical concept: zero syntax. We've discovered in the intervening years that syntax is actually a good thing. If ever there was something that LISP was better than all existing languages at, someone would write a new language that does it just as well, but also with special syntax to support it. In this way, LISP is beaten in any niche it tries to fill.


 No.999044>>999047

>>999039

Other languages have copied the good parts, such as first-class functions and higher order functions. And that's good, isn't it? The only thing that sets LISPs apart from other languages in these days is the S-expression syntax and homoiconicity.


 No.999047

>>999044

Heh, you said homo.


 No.999320>>999344

>>998342

Let me guess, your "editor" source looks something like this:

var textField;

function Save() {
var outFile = FileOpenDialogue();
WriteToFile(outFile, textField.GetContent());
}

function Open() {
var inFile = FileOpenDialogue();
var content = ReadFromFile(inFile);
textField.SetContent(content);
}

Good job anon, you figured out babby's first GUI framework project. You sure have stuck it to the LISPfags.


 No.999344

>>999320

that's what I said in the post anf i shoe the source code in the video, so you dont have to guess, retard. God you fags are stupid. My point was that even though this language also includes a whole interpreter into the executable it's still under 1mb, it's much faster and seems like it's gui library is much better than lisp one.


 No.999356>>999380 >>1002078

File (hide): 23e97772efa3641⋯.gif (21.73 KB, 200x152, 25:19, 200w_s.gif) (h) (u)

>>998992

Where's your text editor Haskellfag?


 No.999380>>1002078


 No.1002032>>1009177

Any progress?


 No.1002062>>1002076

use C++ and make things dammit instead of "debating" things that dont matter for your project or you wont personally will fix in time youve been given i guess


 No.1002076

>>1002062

Even better -- use C++ and Guile


 No.1002078

>>999380

>>999356

Hahahahaha. Haskell fags answer in the very next post while lispfags stall for months.


 No.1003167

File (hide): 1039342277150e6⋯.jpg (109.89 KB, 522x522, 1:1, 1538349962425.jpg) (h) (u)

Why isn't Common Lisp being used as a stand-in for docker and configuration managers?

Like seriously everyone says "use le right tool for le job" but that is objectively one area where Common Lisp would kick ass. Think about it, you have some cluster of VM's you're using for testing/building/etc, you want these to be agile and respond to changes quickly, and you also want to be able to modify the parameters easily.

I imagine in three parts you could have a...

-- Docker replacement in CL handling running the VM's themselves (probably with an LXC backend)

-- Kubernetes replacement in CL handling orchestrating the DockerCL

-- Some glue library that helps push code/binaries/etc to the VM's and ensures bit for bit reproducibility perhaps. Essentially the Configuration Engine.

Where the magic would really come in is...

-- You could design a DSL for each layer or simply have each layer running as a CL image you can hack when you need to change something. Parameters change? "slime-connect" and update that shit you've had running for a year to use the new stuff you want. DSL's that aren't hacked together to be some pseudo-ruby or ad-hoc implementation? Sweet got it covered!

-- You could save these images so if at any point you update and something goes strange, or you change your mind and simply reload the old image with everything back in place.

-- CL is already battle tested for long running data like this.

-- You'd be able to interactively view the system as it runs to figure out better optimizations/etc.

-- You'd probably have a much easier time abstracting backends, "Hurpdedoo we want to try using rumpkernels to test everything", ok no problem just write some macros to integrate rumpkernels instead of lxc while the system is still running.

I get why they're using docker and kubernetes in Go because most of that shit is backed by google, but if CL hackers want a good project I could really see something like that taking off.


 No.1003274

>EXPECTING jEW LANGUAGES TO DO

>WORK

>FOR

>YOU

>==jEWS==

>==WORKING==

>==EVER==


 No.1003671>>1038750

File (hide): 7951ae422173dbf⋯.jpg (90.63 KB, 1266x905, 1266:905, FWeXJc5a.jpg) (h) (u)

How feasible would a simple text editor written in Scheme for the NES be?


 No.1008071

>>999027

Demanding basic a basic piece of software and build process doesn't seem out of place for a programming language.


 No.1009177>>1009245

>>1002032

>expecting progress from Lispniggers.


 No.1009245

>>1009177

I expect nothing, I just enjoy bumping this thread.


 No.1009443

i want to fuck kizuna poster anon


 No.1009447>>1015443

https://github.com/cxxxr/lem

https://youtu.be/YkSJ3p7Z9H0

Here's your text editor, bro. You're welcome. Compliments of the Japanese.


 No.1010302

>>994022

Leafpad depends on GTK2 and Notepadqq on Qt widget toolkit. That is you're relying on preinstalled libraries. Instead of making bundled binaries you should make bytecode modules considering Racket a preinstalled package.


 No.1013937

Bump


 No.1015443>>1015454

File (hide): eb2750e20579cf1⋯.png (20.89 KB, 304x276, 76:69, Untitled.png) (h) (u)

>>1009447

It doesn't count if it's Japanese. You are all posers. No one here can do it in any language.


 No.1015454>>1015455

>>1015443

I'm not a Lispfag, but your OP requirements are lame. It should have just been "write a basic text editor", and not make it into some Windows GUI clone.


 No.1015455

>>1015454

You don't get the context also you're responding to some le ebin troll.


 No.1015609>>1017535

I got OP's dox. What do I do.


 No.1017535>>1020807

>>1015609

post it to /cow/ and /baphomet/


 No.1020748>>1020752

>>984961

Why do you put two spaces after your sentences? Are you a retard?


 No.1020752

>>1020748

Why did you bump this shitty thread just to post that? Are you a retard?


 No.1020807

>>1017535

>fucking some random stranger

Would be fun if you also complained about the evil jews.


 No.1031749>>1031750

bump


 No.1031750>>1031757

>>1031749

but why?


 No.1031751>>1031819

>>987548

This. Mostly useful shit inevitably boils down to CPython extensions or Cython (which is p. cool)

Notice the useful. And to pre-empt any GIL claim, that resolves locking issues and if you really need per core threads just use multithreading instead of threading lib (or gevent, asyncio, coroutines, tornado, etc)


 No.1031757

>>1031750

Because it was close to being bumped off.


 No.1031819

>>1031751

>language is good when it's not used


 No.1038457

If your programming language is so good, how come no one has ever written a program in it? No, your programming language doesn't count, it relies on machine code xd


 No.1038487>>1038493

>>952421

Looks nice. should share it somewhere anon


 No.1038493>>1038494

>>1038487

He can't share it because he didn't write any code. Otherwise he'd have dropped the source and a bin to prove the OP wrong.

This thread is months old and still causing massive butthurt every time it gets bumped


 No.1038494>>1038496 >>1038499

>>1038493

>if I say that they are butthurt often enough it will become true

Sorry, kid. There is already a text editor written in LISP. It's called GNU Emacs. It's the best text editor btw.

Anyways before you demand that others write a text editor how about you do it first? You won't though because you're a LARPer.


 No.1038496

>>1038494

haha jk


 No.1038499>>1038789 >>1040559

>>1038494

>doesn't post source

>calls other anons LARPer

>using emacs as example when OP clearly stated he wanted LISPfags to write a new editor.

You seem pretty butthurt anon.


 No.1038707>>1038751

Should I learn Lisp if I hate Jews?


 No.1038750

>>1003671

NES games are written in ASM, 6502 is so fucking primitive that C compilers produce completely shit code.


 No.1038751>>1038755

>>1038707

sure. use this implementation: https://clisp.sourceforge.io/


 No.1038755

>>1038751

Dropped.


 No.1038774>>1038789

I have a proposal. Since there's also that Nvidia Ada thread around, why not ask for an editor made with either in Lisp or Ada?


 No.1038789>>1038812 >>1038886 >>1039142

>>1038499

>thinks I'm a LISP fag

>LARPs

>hurr durr disregard THE text editor

LARPer

>>1038774

I have a proposal. Since there are so many Cniles/LARPers on this board, why not ask for an editor written in C?


 No.1038812>>1038816 >>1039016 >>1039141

File (hide): bebb921fcfb4b63⋯.png (5.72 KB, 1012x675, 1012:675, sam.png) (h) (u)

>>1038789

>why not ask for an editor written in C?

Sure:

ed, vi, nvi, vim, vis, nano, mg, GNU Zile, sam, acme...


 No.1038816>>1038887

>>1038812

>ed, vi, nvi, vim, vis, nano, mg, sam

no gui. If an ed clone counted, the lisps fags could have done it easily

>GNU Zile is a text editor development kit

nope

>acme

only runs under plan9

>400 replies

is op gonna make a part 3, I wonder?


 No.1038886>>1038917 >>1039016

>>1038789

>LARPer

Says the faggot LARPing on /tech/ all day.


 No.1038887

>>1038816

>is op gonna make a part 3, I wonder?

He will I'm sure


 No.1038917


 No.1039016

>>1038812

>LARPer can't write a simple text editor yet expects others to do it

jej

>>1038886

Wrong. I'm not LARPing. I'm calling out LARPers.


 No.1039141>>1039142 >>1039220

>>1038812

Windows Notepad. Isn't it?


 No.1039142


 No.1039220>>1039748

>>1039141

post source or GTFO, LARPer


 No.1039748>>1039829

>>1039220

It's older than C++, so it had to be C.

The entire Windows API consists of C, so the only logical choice for a small program on Windows is C.


 No.1039829

>>1039748

Are you retarded? Windows is written in C++. Notepad most likely too.

Anyways where is the source code?

Kill yourself, cnile LARPer


 No.1040552

File (hide): 6067152552a55af⋯.png (147.85 KB, 485x441, 485:441, 1498294000005.png) (h) (u)

>>985657

>no he's resorting to complaining about food analogies

>"The Icecream man cannot make Icecream!"

> "It must be rocky road with cashews! People have been making rocky road with cashews for years. There is no excuse!"

>"What's this, he gave me just chocolate, where are my fucking demands."

>"I want my rocky road ice cream and I want it for free!"

>"The ice cream man can't make icecream!"


 No.1040554

>>993678

>He doesn't know what engaging in bad faith means

Typical for a mental midget.


 No.1040558

File (hide): dce83d802115739⋯.png (302.09 KB, 680x680, 1:1, PATHETIC.png) (h) (u)

>>994094

>OP is an asshole

>Nobody wants to work for an asshole for free

>"Hah, you should just work for the asshole instead instead of blaming the op for being an asshole."

Do your own homework.

>>996327

"You should improve work that nobody wants or needs for autists you don't even like."

Someone already posted an operating system written in lisp. Are you too retarded to believe that a text editor isn't possible? It is, but you retards don't deserve the time it takes to make it.


 No.1040559

File (hide): 9de816bfebe02bf⋯.jpg (166.08 KB, 849x1200, 283:400, ok.jpg) (h) (u)

>>1038499

>You can't write a text editor in lisp.

>A text editor already exists, but it doesn't count, I want a new one!

>Don't want to make a new one!? That means lisp can't make a text editor!

Wew


 No.1040609

File (hide): fa2719ba2fd3428⋯.jpg (167.21 KB, 1200x846, 200:141, 1.jpg) (h) (u)

>>952400 (OP)

A text editor written in lisp isn't a text editor because I will pull conditions out of my ass to push a dishonest narrative.

By the way, you are a poor hobo who begs on the streets. This will be true until you mail me cold, hard carh. If you don't give me free money, you accept that you are some sort of beggar.

Any attempt to weasel out of the challenge of giving me free money will be interpreted as surrender and silent admittance that you are a useless shit human being, and anyone associated with you is a retard.

That is all. Think you can do that much with your deep pockets? Too difficult? At least try.




[Return][Go to top][Catalog][Screencap][Nerve Center][Cancer][Update] ( Scroll to new posts) ( Auto) 5
416 replies | 58 images | Page ?
[Post a Reply]
[ / / / / / / / / / / / / / ] [ dir / ausneets / choroy / dempart / dumpit / hypno / imouto / jenny / pdfs ][ watchlist ]