Size: a a a

Scala User Group

2020 February 11

ZH

Zeeshan Haider in Scala User Group
But How to call these functions?
источник

ZH

Zeeshan Haider in Scala User Group
Like I wanma call FriendOf() on runtime based on function match
источник

ZH

Zeeshan Haider in Scala User Group
Wanna*
источник

AT

Aλeksei Tereχin in Scala User Group
Zeeshan Haider
But How to call these functions?
person.friendOf(p: Person)
источник

ZH

Zeeshan Haider in Scala User Group
Aλeksei Tereχin
person.friendOf(p: Person)
I have to select the function dynamically based on a string I recieved as an input
источник

Oℕ

Oleg ℕizhnik in Scala User Group
Zeeshan Haider
But How to call these functions?
https://scalafiddle.io/sf/rFgtGPj/1

scastie does not respond unfortunately, so it's scalafiddle for now
источник

Oℕ

Oleg ℕizhnik in Scala User Group
Zeeshan Haider
I have to select the function dynamically based on a string I recieved as an input
you can store them as
funcs: Map[String, A => B]

and then
funcs(key)(a)
источник

ZH

Zeeshan Haider in Scala User Group
Oleg ℕizhnik
you can store them as
funcs: Map[String, A => B]

and then
funcs(key)(a)
Ok so number of arguments and for types as well I should be flexible here right?
источник

ZH

Zeeshan Haider in Scala User Group
Oleg ℕizhnik
you can store them as
funcs: Map[String, A => B]

and then
funcs(key)(a)
👍
источник

Oℕ

Oleg ℕizhnik in Scala User Group
Zeeshan Haider
Ok so number of arguments and for types as well I should be flexible here right?
It depends on what you consider flexible
источник

ZH

Zeeshan Haider in Scala User Group
Oleg ℕizhnik
It depends on what you consider flexible
Well ok
источник

ZH

Zeeshan Haider in Scala User Group
Actually I am building a dynamic compute model for apache spark
источник

ZH

Zeeshan Haider in Scala User Group
So ihave to parse a psude code dynamically on runtime in scala
источник

ZH

Zeeshan Haider in Scala User Group
That is my use case now if you have the better understanding of it you can suggest a better approach. Will be much appreciated :)
источник

Oℕ

Oleg ℕizhnik in Scala User Group
Well dynamic is dynamic, scala is for designing DSL with good static properties.
Dynamicity means you are responsible for error dispatching.
There are a lot of approaches applicable, but parsing lambdas means designing a new language.
So you probably need to read about functional language design.
Then you can formulate your langauge expressions in form of some recursive ADT or GADT and develop nice interpreter.
Scala can help you with parsing llibraries and data processing, but generally you are on your own here
источник

ZH

Zeeshan Haider in Scala User Group
Oleg ℕizhnik
Well dynamic is dynamic, scala is for designing DSL with good static properties.
Dynamicity means you are responsible for error dispatching.
There are a lot of approaches applicable, but parsing lambdas means designing a new language.
So you probably need to read about functional language design.
Then you can formulate your langauge expressions in form of some recursive ADT or GADT and develop nice interpreter.
Scala can help you with parsing llibraries and data processing, but generally you are on your own here
Thank you for your help :) any book suggestion?
источник

Oℕ

Oleg ℕizhnik in Scala User Group
Zeeshan Haider
Thank you for your help :) any book suggestion?
The very classic of this is https://ttic.uchicago.edu/~dreyer/course/papers/barendregt.pdf
But it isn't focused on technical details.
I'm not quite an expert in compiler books and all people I'd like to mention in this group are gone.
You can go https://t.me/CompilerDev there might me more help
источник

λ

λoλegΥch in Scala User Group
Oleg ℕizhnik
Не получается сохранить и запустить с таким ворнингом
редеплой походу был час назад
источник

P

Pavel in Scala User Group
Vitalii Honta
Спасибо❤️
единственное, что после выхода след релиз кандидата мне придется маленько подрихтовать статью. там некоторый синтаксис поменялся
источник

VH

Vitalii Honta in Scala User Group
Pavel
единственное, что после выхода след релиз кандидата мне придется маленько подрихтовать статью. там некоторый синтаксис поменялся
Просто версионируй её как сам zio: rc1, rc2, .. rc22
источник